Kỹ thuật yêu cầu
1 Chương 3 Kỹ thuật yêu cầu (Requirement Engineering) 2 Nội dung 1. Kỹ thuật yêu cầu là gì 2. Xác định yêu cầu hệ thống là gì 3. Các loại yêu cầu hệ thống 4. Quy trình RE 3 1. Kỹ thuật yêu cầu là gì (Requirement Engineering) • Ta dùng Requirement Engineering thay cho Requirement Analysis • RE là quá trình lặp bao gồm 3 hoạt động: – Rút ra yêu cầu từ thực tế (Elicitation) – Đặc tả yêu cầu (Specification) – Xác thực (Validation) • Kết quả của quá trình RE là những đặc tả về hệ thống phần mềm 4 2. Yêu cầu (Requirement ) là gì? Requirements described the “what” of a system, not the “how” Mô tả cái gì cần cho hệ thống Mô tả cái gì cần cho hệ thống 5 Yêu cầu phần mềm • Phản ánh sự hiểu biết lẫn nhau về vấn đề giữa người phân tích và khách hàng • Nền tảng để xây dựng hợp đồng • Là sự chuẩn bị cho giai đoạn tiếp theo (giai đoạn phân tích) • Là tài liệu để kiểm tra hệ thống khi được phát hành 6 Input/ Output của xác định yêu cầu • Input: – Các yêu cầu từ khách hàng (Problem statement prepared by the customers) • Output: – Tài liệu đặc tả yêu cầu ( Software requirements specification – SRS) 7 Mức độ mô tả yêu cầu • Yêu cầu người dùng: – Chủ yếu dành cho người dùng – Viết bằng ngôn ngữ tự nhiên và biểu đồ – Mô tả dịch vụ và ràng buộc hoạt động • Yêu cầu hệ thống: – Tài liệu có cấu trúc mô tả chức năng, dịch vụ và ràng buộc hoạt động của hệ thống – Có thể là một phần của hợp đồng 8 Người đọc 9 3. Các loại yêu cầu hệ thống • Các yêu cầu của hệ thống phần mềm thường được chia thành ba loại: – Yêu cầu chức năng – Yêu cầu phi chức năng – Yêu cầu miền ứng dụng • Thực tế khó phân biệt ba loại yêu cầu này một cách rõ ràng. 10 03/12/13 10 Yêu cầu chức năng • Yêu cầu chức năng mô tả hệ thống sẽ làm gì. Nó mô tả các chức năng hoặc các dịch vụ của hệ thống một cách chi tiết. • Đặc điểm của yêu cầu chức năng: – Tính mập mờ, không rõ ràng của các yêu cầu: • Vấn đề này xảy ra khi các yêu cầu không được xác định một cách cẩn thận. – Tính hoàn thiện và nhất quán: • Về nguyên tắc, yêu cầu phải chứa tất cả các mô tả chi tiết và không có sự xung đột hoặc đối ngược giữa các yêu cầu. [...]... các yếu tố kỹ thuật hơn là mục tiêu tổng thể của hệ thống 2 Khó khăn về hiểu biết khách hàng: khách hàng không biết họ cần gì, có ý kiến trái ngược nhau về hệ thống cần xây dựng, ít hiểu biết về kỹ thuật, thời gian giao tiếp với kỹ sư hệ thống thường rất hạn chế 3 Khó khăn về tính ổn định: yêu cầu thường thay đổi theo thời gian 24 Các kỹ thuật thu thập yêu cầu • Các kỹ thuật thu thập yêu cầu: – Phỏng... tư 13 Lý do xuất hiện yêu cầu phi chức năng • • • • • Yêu cầu của người sử dụng Ràng buộc về ngân sách Các chính sách của tổ chức sử dụng hệ thống Yêu cầu tương thích giữa phần cứng và phần mềm Các tác nhân ngoài khác 14 03/12/13 14 Ví dụ về yêu cầu phi chức năng • Xác định các yêu cầu phi chức năng của Hệ thống đặt vé tàu trước – Yêu cầu về sản phẩm: phải xây dựng website – Yêu cầu về mặt tổ chức: mạng... 03/12/13 16 Yêu cầu miền ứng dụng • Yêu cầu miền ứng dụng được xác định từ miền ứng dụng của hệ thống và phản ánh các thuộc tính và ràng buộc của miền ứng dụng • Nó có thể là yêu cầu chức năng hoặc phi chức năng • Nếu yêu cầu miền ứng dụng không được thoả mãn thì có thể hệ thống sẽ không làm việc được • Một số vấn đề liên quan đến yêu cầu miền ứng dụng: – Khả năng có thể hiểu được: các yêu cầu được biểu... hệ thống phải hồi đáp 18 4 Quy trình RE • • • • Thu thập yêu cầu (Requirement Elicitation) Phân tích yêu cầu (Requirement Analysis) Tạo tài liệu đặc tả yêu cầu (Requirement Documentation) Đánh giá yêu cầu (Requirement Review) 19 20 Bước 1: Thu thập yêu cầu (Requirement Elicitation) • • • • Mục đích Nội dung cần thu thập Những khó khăn Các kỹ thuật 21 Mục đích • Tiếp cận với nghiệp vụ, chuyên môn, môi... trình …) • Các yêu cầu phi chức năng có thể hạn chế những yêu cầu chức năng Nhưng nếu nó không được thoả mãn thì hệ thống sẽ không sử dụng được 12 03/12/13 12 3 yêu cầu phi chức năng cơ bản • Yêu cầu về sản phẩm: – Hiệu năng – Khả năng sử dụng – Độ tin cậy … của sản phẩm • Yêu cầu về mặt tổ chức: – Cơ cấu tổ chức; Chính sách của tổ chức – Thời gian bàn giao – Tương thích với hệ thống cũ • Yêu cầu ngoài:... đích Nguyên lý phân tích Hướng phân tích Các mô hình phân tích Các bước phân tích yêu cầu theo hướng dòng dữ liệu Nội dung chính của RSC 26 Mục đích • Phân tích yêu cầu nhằm phân loại và tổ chức các yêu cầu thành các tập con có liên quan nhau • Xếp loại các yêu cầu theo nhu cầu của người dùng • Tổng hợp, điều chỉnh yêu cầu theo hướng tổng quan nhất • Chỉ ra được hệ thống làm việc gì, làm với dữ liệu... thể được cấp một vùng riêng để lưu dữ liệu 11 Yêu cầu phi chức năng • Yêu cầu phi chức năng không đề cập trực tiếp tới các chức năng cụ thể của hệ thống • Yêu cầu phi chức năng thường định nghĩa các thuộc tính như: – độ tin cậy, thời gian đáp ứng, các yêu cầu về lưu trữ … – các ràng buộc của hệ thống (khả năng của thiết bị vào/ra, giao diện …) • Một số yêu cầu phi chức năng còn có liên quan đến quy trình... não ( brainstorm session): kỹ thuật thảo luận nhóm giúp tìm ra nhanh chóng những ý tưởng mới – Sử dụng kịch bản (scenario) để phát hiện các yêu cầu của hệ thống • Tạo các kịch bản (scenario) để giúp khách hàng/người dùng xác định tốt hơn các yêu cầu chính của hệ thống • Một tập hợp các use case sẽ mô tả tất cả các tương tác có thể trong hệ thống 25 Bước 2: Phân tích yêu cầu (Requirement Analysis) •... mạng máy tính nối tất cả các trạm xe lửa với nhau – Yêu cầu ngoài: Hệ thống phải bảo mật 15 15 Ví dụ về yêu cầu phi chức năng • Các mục tiêu và yêu cầu phi chức năng có thể thẩm định được của Hệ thống đặt vé tàu trước – Mục tiêu của hệ thống là dễ sử dụng đối với nhân viên cũng như hành khách và được tổ chức để sao cho tối thiểu hoá được lỗi – Các yêu cầu phi chức năng có thể thẩm định được: Những người... 22 Nội dung cần thu thập • Đánh giá tính khả thi về nghiệp vụ và kỹ thuật của hệ thống • Nhận biết xem ai sẽ giúp xác định yêu cầu và hiểu biết thực chất của tổ chức – Operation manager, product manager – Makerting people – Internal/external customer – End-users – Consultant – Product engineer, Software engineer • Xác định môi trường kỹ thuật • Nhận biết các ràng buộc nghiệp vụ (domain constraint) 23 . Chương 3 Kỹ thuật yêu cầu (Requirement Engineering) 2 Nội dung 1. Kỹ thuật yêu cầu là gì 2. Xác định yêu cầu hệ thống là gì 3. Các loại yêu cầu hệ thống. Các loại yêu cầu hệ thống • Các yêu cầu của hệ thống phần mềm thường được chia thành ba loại: – Yêu cầu chức năng – Yêu cầu phi chức năng – Yêu cầu miền