Giới thiệu tài liệu
Tài liệu này trình bày về phân tích yêu cầu phần mềm, một giai đoạn quan trọng trong quy trình phát triển phần mềm. Nó bao gồm các chủ đề như nguồn gốc của yêu cầu, quy trình phát hiện yêu cầu, các kỹ thuật thu thập yêu cầu, tổng hợp và phân tích yêu cầu, cũng như thương lượng và thỏa thuận các yêu cầu này.
Đối tượng sử dụng
Tài liệu này dành cho sinh viên, kỹ sư phần mềm và các nhà phân tích yêu cầu, cung cấp kiến thức và kỹ năng cần thiết để thu thập, phân tích và quản lý yêu cầu phần mềm một cách hiệu quả.
Nội dung tóm tắt
Tài liệu này bao gồm các nội dung chính sau:
1. **Nguồn gốc yêu cầu phần mềm:**
* Yêu cầu từ người sử dụng (khách hàng): Phân loại khách hàng thành hai nhóm: nhóm cung cấp business requirement (thông tin tổng quan về công ty, hệ thống) và nhóm cung cấp user requirement (thông tin chi tiết về nhiệm vụ cụ thể).
* Các khó khăn thường gặp: Sự tham gia quá mức của người sử dụng, số lượng yêu cầu quá lớn, yêu cầu mơ hồ, đặc tính thừa, đặc tả quá ít, không lưu ý đến người sử dụng, kế hoạch sai.
* Quyền và trách nhiệm của khách hàng: Các quyền như yêu cầu sử dụng ngôn ngữ dễ hiểu, được giải thích rõ ràng và các trách nhiệm như đào tạo PTV về công việc, cung cấp yêu cầu cụ thể và chính xác.
2. **Quy trình phát hiện yêu cầu phần mềm:**
* Xác định quá trình phát triển yêu cầu, xây dựng tầm nhìn và phạm vi của phần mềm, xác định nhóm người sử dụng và đặc tính của họ.
* Phân tích và xác định yêu cầu dựa trên đại diện của các nhóm người sử dụng, xây dựng đặc tính xác định chất lượng yêu cầu.
3. **Các kỹ thuật phát hiện yêu cầu phần mềm:**
* Phương pháp phỏng vấn: Sử dụng câu hỏi mở và câu hỏi đóng.
* Phương pháp bảng hỏi: Xây dựng bảng hỏi với các dạng câu hỏi khác nhau.
* Phương pháp quan sát: Quan sát trực tiếp và gián tiếp.
* Phương pháp nghiên cứu tài liệu và phần mềm tương ứng.
* Các kỹ thuật nâng cao: Phương pháp nguyên mẫu, Brainstorming, Joint Application Development (JAD), Rapid Application Development (RAD).
4. **Tổng hợp và phân tích yêu cầu phần mềm:**
* Sử dụng UML (Unified Modeling Language) để mô hình hóa hệ thống. Các loại biểu đồ UML bao gồm: Use case diagrams, Class diagrams, Sequence diagrams, Statechart diagrams, Activity diagrams.
5. **Thương lượng và thỏa thuận yêu cầu phần mềm:**
* Giải quyết xung đột giữa các bên liên quan, ưu tiên yêu cầu dựa trên giá trị, chi phí và rủi ro.
* Sử dụng các kỹ thuật như Prioritization Scales, Wiegers’ Prioritization, Volere Prioritisation, Analytic Hierarchy Process (AHP) để xác định mức độ quan trọng của yêu cầu.