Bài học Fujifilm - Từ phân tích nhu cầu đến thiết kế tính năng
Software Engineering
36
White

Ngoc Dao viết ngày 20/03/2016

Trong mắt người thường, hình ảnh của Fujifilm là hãng chuyên sản xuất giấy in ảnh và máy ảnh. Tuy nhiên, Fujifilm là tập đoàn lớn sản xuất rất nhiều thứ, và tất nhiên có cả phần mềm. Phần mềm có thể là phần mềm nhúng để điều khiển máy ảnh, máy in, có thể là phần mềm dùng trên PC.

Bài viết này trình bày một best practice mà kĩ sư cao cấp của Fujifilm bảo là họ thường áp dụng, để phân tích nhu cầu (có thể là của khách hàng, có thể là của chính họ) đến thiết kế tính năng sản phẩm (có thể là phần cứng hoặc phần mềm). Hi vọng bài học ngắn dưới đây sẽ giúp nhiều bạn nhập môn được cái gọi là software engineering (công nghệ phần mềm).

Khách hàng trình bày ý muốn như hình 1, project leader hiểu thành hình 2, chuyên viên phân tích thành hình 3, lập trình viên chế thành hình 4, bộ phận quảng cáo lại bắn thành hình 5. Thế nhưng sản phẩm mà khách hàng thực sự muốn lại là hình cuối cùng.

Do đó để đơn giản, xin đưa ra ví dụ về thiết kế cái bàn ủi, còn gọi là bàn là cho cụ thể dễ hiểu (sao không gọi xe ủi là xe là nhỉ!?).

Bước 1. Vẽ use case

Mục đích của việc vẽ use case là giúp khách hàng trực quan hóa và xác định rõ được nhu cầu của chính mình. Trong 99% trường hợp, khách hàng không thể trình bày rõ ràng nhu cầu của chính mình, chỉ có thể trình bày đại khái: tôi muốn cái đó đó, chứ ít khi trình bày được: tôi muốn cái này này. Như vậy làm sao có thể kí kết hợp đồng?!

Vẽ use case là thao tác căn bản nhất của software engineering. Bạn nào chưa quen, xin tìm đọc các sách căn bản về UML. Chỉ xin nhấn mạnh 1 điều: vẽ use case là để xác định what chứ không để xác định how. Rất dễ nhầm lẫn hai cái này, vì trong ngữ cảnh này thì xxx có thể là what, nhưng trong bối cảnh khác thì xxx lại có thể là how.

Bước 2. Xác định yếu tố chức năng

Bước 3. Xác định yếu tố phi chức năng

Có những yếu tố không phải là chức năng, mà chỉ đóng vai trò tính từ bổ nghĩa. Ví dụ khi nói "cái bàn ủi này an toàn đối với trẻ em", thì "an toàn" là yếu tố phi chức năng, vì chẳng thể mang cái "an toàn" đấy ra mà sử dụng được. Tuy nhiên những yếu tố này lại làm nên giá trị, đẳng cấp của sản phẩm. Ví dụ cùng là xe máy, về chức năng thì như nhau, nhưng xe máy Nhật được coi là "an toàn", còn xe máy Trung Quốc bị coi là "kém an toàn".

Vài yếu tố phi chức năng thường gặp:

Yếu tố tin cậy Yếu tố sử dụng Yếu tố hiệu quả
Undo/Redo
An toàn
Bảo mật
Dễ hiểu
Dễ thao tác
Dễ định hướng
Đơn giản
Tốn ít năng lượng (điện, nước...)

Ghi chú

  • Bản thiết kế cuối cùng sẽ có dạng cây
  • Không có thiết kế đúng tuyệt đối, chỉ có thiết kế hợp lí hay không hợp lí
Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Ngoc Dao

102 bài viết.
284 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
62 8
Làm thế nào để nâng cấp trang web mà không làm gián đoạn dịch vụ? Đây là câu hỏi phỏng vấn các công ty lớn thường hỏi khi bạn xin vào vị trí làm lậ...
Ngoc Dao viết hơn 2 năm trước
62 8
White
40 1
Bài viết này giải thích sự khác khác nhau giữa hai ngành khoa học máy tính (computer science) và kĩ thuật phần mềm (software engineering), hi vọng ...
Ngoc Dao viết hơn 2 năm trước
40 1
White
34 1
Nếu là team leader, giám đốc công ty hay tướng chỉ huy quân đội, vấn đề cơ bản bạn gặp phải là “hướng mọi người đi theo con đường bạn chỉ ra”. Thử...
Ngoc Dao viết hơn 2 năm trước
34 1
Bài viết liên quan
White
1 1
Lập trình đôi (pair programming) là hình thức lập trình trong đó 2 người cùng hợp tác làm việc trên cùng màn hình (có thể khác bàn phím v.v.). Bài ...
Ngoc Dao viết hơn 2 năm trước
1 1
White
7 1
Trong quyển sách Beyond Java, xuất bản vài năm trước có đoạn:Java has characteristics that many of us take for granted. You can find good Java deve...
Ngoc Dao viết hơn 2 năm trước
7 1
White
5 0
Lập trình viên quá cố người Mỹ Phil Karlton có câu nổi tiếng: There are only two hard things in Computer Science: cache invalidation and naming th...
Ngoc Dao viết hơn 2 năm trước
5 0
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
102 bài viết.
284 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!