Trước khi bắt tay vào phát triển sản phẩm thì việc phân tích yêu cầu phần mềm là bước vô cùng quan trọng. Xác định rõ ràng, chính xác các yêu cầu đặt ra sẽ giúp quá trình phát triển phần mềm suôn sẻ và sản phẩm cuối cùng được hoàn thiện ở mức cao nhất.
Mục lục
Yêu cầu phần mềm là gì?
Định nghĩa yêu cầu phần mềm là tất cả những nhu cầu tính năng sản phẩm mà người dùng muốn, bao gồm chức năng, hiệu năng, giao diện,… Các yêu cầu thường xoay quanh 4 nhóm sau: yêu cầu về phần cứng; yêu cầu về phần mềm, yêu cầu về data (dữ liệu) và cuối cùng là những yêu cầu về con người. Khi nhận các brief từ khách hàng, đội phát triển phần mềm phải tiến hành tìm hiểu, phân tích yêu cầu phần mềm để cuối cùng lập ra một bản đặc tả chuẩn chỉnh nhất.
5 giai đoạn trong quá trình phân tích yêu cầu phần mềm
Xuất phát từ những yêu cầu của khách hàng, quá trình phân tích gồm có 5 giai đoạn như sau:
Giai đoạn 1. Trước khi phân tích
Khó khăn lớn nhất trong việc xác định yêu cầu đó chính là khách hàng thường không thể cụ thể hóa được những tính năng của sản phẩm mà mình muốn có. Do vậy, các kỹ sư phát triển phần mềm phải tiến hành phỏng vấn, rà soát và thậm chí phân tích, định hướng chuyên môn để xác định chính xác nhu cầu khách hàng là gì. Từ đó, họ mới có thể bắt tay vào giai đoạn tiếp theo: phân tích yêu cầu phần mềm đúng với mong muốn thực sự của khách hàng.
Giai đoạn 2. Phân tích yêu cầu phần mềm và thảo luận với khách hàng
Sau khi tìm hiểu sơ bộ những ý tưởng về sản phẩm, nhóm phát triển phần mềm cần phân loại và sắp xếp các yêu cầu thành các nhóm chức năng. Tiếp theo cần thẩm định các yêu cầu xem tính khả thi, rủi ro và mức chi phí cũng như thời gian hoàn thành cho từng yêu cầu.
Cuối cùng cần thảo luận với khách hàng để xác định chính xác những yêu cầu sản phẩm. Giai đoạn phân tích yêu cầu phần mềm này đòi hỏi cả khách hàng và đội ngũ phát triển sản phẩm phải trao đổi tích cực trên cơ sở thương lượng nhằm xác định được bộ yêu cầu chính xác nhất
Giai đoạn 3. Mô hình hóa các yêu cầu phần mềm
Sau khi thống nhất với khách hàng, đội dev cần mô hình hóa các yêu cầu phần mềm. Những phương pháp phổ biến để mô hình hóa có thể kể đến như Data flow diagram (Biểu đồ luồng dữ liệu) và Entity Relationship model (Mô hình thực thể quan hệ). Data flow diagram biểu diễn luồng thông tin đầu vào và đầu ra (input – output) của một chức năng. Còn việc sử dụng Entity Relationship model là để thiết kế database ở cấp độ khái niệm.
Giai đoạn 4. Đặc tả yêu cầu phần mềm
Trước khi đặc tả, các yêu cầu phần mềm, chúng cần được phân loại thành các nhóm: nhóm chức năng, nhóm phi chức năng, nhóm yêu cầu về tiến trình phát triển,…Tài liệu đặc tả yêu cầu phần mềm cần phải được xây dựng theo hướng của developers. Do đó, tính rõ ràng, chính xác là yếu tố được đặt lên cao nhất nằm tránh sự không rõ ràng giữa yêu cầu khách hàng và định hướng của người phát triển.
Giai đoạn 5. Định dạng đặc tả yêu cầu
Sau các bước phân tích yêu cầu phần mềm kể trên, cuối cùng, đội nhóm phát triển phải đưa ra được bản đặc tả yêu cầu phần mềm (SRS – viết tắt của Software Requirement Specification). Bản đặc tả phải thể hiện được phạm vi sản phẩm, hệ thống các chức năng, đối tượng sử dụng và cuối cùng là các ràng buộc trong khi vận hành.
Quá trình phát triển một sản phẩm phần mềm đòi hỏi sự kết hợp chặt chẽ giữa đội ngũ developers và khách hàng, nhằm đảm bảo sản phẩm cuối cùng hoàn thiện ở mức cao nhất. Bởi vậy, khâu phân tích yêu cầu phần mềm càng được thực hiện chặt chẽ, kỹ càng bao nhiêu, việc phát triển sản phẩm sẽ càng suôn sẻ và hoàn chỉnh bấy nhiêu.