Vinova tuyển lập trình viên Mobile & Web ở Hà Nội, lương $300-1000

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 35
Updated 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ỉ{#emotions_dlg.laughing}) 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
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í

1 2 

Editors
ngocdaothanh.myopenid.com 172
nguoitapdich.myopenid.com 35

Comments

phananhvu.myopenid.com 125
over 4 years ago

Đính chính với tác giả chút xíu là "Bắc kì" gọi là xe lu chứ không gọi là xe ủi nhé {#emotions_dlg.cool}

nguoitapdich.myopenid.com 35
over 4 years ago

Xe ủi là xe này nè:

You must login to be able to comment

Uploaded files

No file uploaded yet

You must login to be able to upload

Nhà tài trợ:

Mọi người đều tự do viết bài, sửa bài của người khác, và bình luận ở trang web này. Bạn muốn chủ động tạo bài mới để chia sẻ kinh nghiệm với mọi người? Xin click link ở dưới.

Create new content