Bạn có chắc chắn muốn xóa bài viết này không ?
Bạn có chắc chắn muốn xóa bình luận này không ?
Bài học Fujifilm - Từ phân tích nhu cầu đến thiết kế tính năng
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í







