Article:
Bài học Fujifilm - Từ phân tích nhu cầu đến thiết kế tính năng
1714
nguoitapdich.myopenid.com 35Updated over 4 years ago |
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. Đội ngũ làm phần mềm của Fujifilm ở Nhật cỡ hơn trăm người. 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) .
Trong khi IBM Nhật, Fujitsu... đã đạt CMMI cấp 5, Fujifilm chỉ mới đạt CMMI cấp 3 vào năm ngoái, đang cố gắng chuẩn hóa qui trình làm phần mềm trong nội bộ công ty, dự định năm sau sẽ đạt cấp 4, rồi năm tới nữa sẽ đạt cấp 5. Mặc dù vậy, 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 (Bắc kì gọi là bàn là, sao không gọi xe ủi là xe là nhỉ
) cho cụ thể dễ hiểu.
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 |
Đơ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í
1 2 
35
over 4 years ago
over 4 years ago