Giới thiệu tài liệu
Tài liệu này là bài giảng về phân tích yêu cầu phần mềm, thuộc chương trình học năm 2013-2014, được giảng dạy bởi PGS. Huỳnh Quyết Thắng thuộc BM Công nghệ phần mềm, Khoa CNTT, ĐHBK Hà Nội. Nội dung tập trung vào việc duyệt và kiểm soát các yêu cầu phần mềm, bao gồm các khái niệm liên quan đến Verification và Validation, cùng các kỹ thuật tiêu biểu được sử dụng.
Đối tượng sử dụng
Bài giảng này dành cho sinh viên ngành Công nghệ thông tin, những người cần nắm vững kiến thức về phân tích yêu cầu phần mềm, đặc biệt là các kỹ thuật duyệt và kiểm soát yêu cầu để đảm bảo chất lượng phần mềm.
Nội dung tóm tắt
Bài giảng trình bày chi tiết về quy trình duyệt và kiểm soát các yêu cầu phần mềm, một bước quan trọng để đảm bảo chất lượng và sự phù hợp của sản phẩm phần mềm với mong đợi của khách hàng và các bên liên quan.
1. **Khái niệm Verification và Validation:**
- *Verification* (kiểm chứng) tập trung vào việc đảm bảo rằng sản phẩm được xây dựng đúng cách (building the product right), kiểm tra tính nhất quán giữa các thành phần của đặc tả yêu cầu và các sản phẩm phát triển khác (thiết kế, triển khai,...).
- *Validation* (xác nhận) tập trung vào việc đảm bảo rằng sản phẩm phù hợp với nhu cầu thực tế (building the right product), xác minh đặc tả yêu cầu phần mềm đáp ứng mục tiêu và yêu cầu của các bên liên quan.
2. **Các kỹ thuật duyệt và kiểm soát yêu cầu:**
- *Simple checks:* Sử dụng các kỹ thuật theo dõi để đảm bảo rằng tất cả các ghi chú thu thập được đều được đề cập trong tài liệu yêu cầu, và theo dõi giữa các cấp độ yêu cầu khác nhau.
- *Prototyping:* Xây dựng các bản mẫu để người dùng và khách hàng có thể xác nhận và khám phá các vấn đề tiềm ẩn trong yêu cầu.
- *Functional test design:* Thiết kế các kiểm thử chức năng từ đặc tả yêu cầu để phát hiện lỗi trước khi xây dựng hệ thống.
- *User manual development:* Phát triển tài liệu hướng dẫn sử dụng để kiểm tra tính đầy đủ và rõ ràng của các yêu cầu.
- *Reviews and inspections:* Tổ chức các buổi đánh giá và kiểm tra yêu cầu bởi một nhóm người để tìm kiếm các vấn đề tiềm ẩn.
- *Model-based (formal) Verification and Validation:* Sử dụng các mô hình hình thức (ví dụ: máy trạng thái, logic vị từ) để kiểm chứng và xác nhận các yêu cầu.
3. **Reviews and Inspections (Đánh giá và Kiểm tra):**
- Là một kỹ thuật quan trọng, bao gồm việc đọc, phân tích yêu cầu để tìm các vấn đề tiềm ẩn. Cần có kế hoạch và chuẩn bị kỹ lưỡng, bao gồm kiểm tra trước và sử dụng checklist phù hợp. Các bước bao gồm lập kế hoạch đánh giá, phân phối tài liệu, chuẩn bị đánh giá, tổ chức cuộc họp đánh giá, thực hiện các hành động tiếp theo, và sửa đổi tài liệu.
4. **Fagan Inspection:**
- Là một quy trình kiểm tra chính thức và có cấu trúc, với các quy tắc về người tham gia và vai trò của họ. Moderator chịu trách nhiệm điều hành cuộc họp và đảm bảo các vấn đề được giải quyết.
5. **Model-based (formal) Verification and Validation:**
- Sử dụng các mô hình để biểu diễn hệ thống và các yêu cầu, sau đó sử dụng các kỹ thuật hình thức để kiểm tra tính nhất quán, đầy đủ và chính xác của các yêu cầu. Các mô hình có thể bao gồm Entity-Relationship, Workflow, State machines, và First-order logic. Các kỹ thuật và công cụ V&V bao gồm kiểm tra tính đầy đủ, tính nhất quán, tinh chỉnh, kiểm tra mô hình, tạo thiết kế hệ thống hoặc nguyên mẫu, tạo test case và đánh giá hiệu suất.