Bài giảng Chương 2: Thu thập và mô hình yêu cầu nêu lên mục đích của thu thập và mô hình yêu cầu, định nghĩa yêu cầu, phát hiện yêu cầu (Requirements Elicitation), đàm phán và phê chuẩn yêu cầu (Requirements Negotiation and Validation).
Chương 2: THU THẬP MƠ HÌNH U CẦU THU THẬP YÊU CẦU (Requirement Capture) 1/12/2017 Nội dung Mục đích thu thập mơ hình u cầu Định nghĩa yêu cầu Phát yêu cầu (Requirements Elicitation) Đàm phám phê chuẩn yêu cầu (Requirements Negotiation and Validation) 1/12/2017 Requirements in Context The purpose of Requirements is to: Establish and maintain agreement with the customers and other stakeholders on what the system should Give system developers a better understanding of the requirements of the system To define the boundaries of (delimit) the system Provide a basis for planning the technical contents of the iterations Provide a basis for estimating cost and time to develop the system Define a user interface of the system 1/12/2017 Định nghĩa yêu cầu "A requirement is a condition or capability to which a system must conform" Yêu cầu dịch vụ (services) mong đợi hệ thống ràng buộc (constraints) mà hệ thông phải tuân theo 1/12/2017 Phân loại yêu cầu Yêu cầu chức (Function requirements): hành động mà hệ thống thực mà khơng xem xét ràng buộc vật lý Các dịch vụ hệ thống (System services): chức mà hệ thống cung cấp Yêu cầu liệu (Data requirements): liệu mà hệ thống phải xử lý Yêu cầu phi chức (Non-Function Requirements): ràng buộc hệ thống, thuộc tính mơi trường hệ thống Yêu cầu giao diện (Look and Feel), Yêu cầu thực (Performance), Yêu cầu bảo mật (Security), … 1/12/2017 Các hành động bước yêu cầu Requirements discipline Project Initiation Document Elicit requirements Glossary Candidate Requirements Select requirements Develop use cases 1/12/2017 Requirements List Use Case Model Các kỹ thuật kết Các kỹ thuật Requirements Elicitation: Phát yêu cầu Use Case Modelling: Lập mơ hình usecase Prototyping: Tạo mơ hình phác thảo ban đầu cho chức giao diện người dùng hệ thống 1/12/2017 Artifact: Kết Glossary: Bảng giải Requirements List: Danh sách u cầu Use Case Model: mơ hình usecase Prototypes: phác thảo giao diện người dùng Phát yêu cầu Mục đích: Nhận diện cá nhân liên quan (stakeholders) tới dự án Tập hợp yêu cầu mà hệ thông phải thực Sắp thứ tự ưu tiên yêu cầu Các bước thực hiện: Xác định nguồn yêu cầu Thu thập thông tin Hội thảo để phát yêu cầu (Conduct Requirements Workshops) Prototyping Đánh giá kết 1/12/2017 Xác định nguồn yêu cầu Các cá nhân stakeholder Stakeholder cá nhân có ảnh hưởng tới kết dự án, đối tượng làm việc để thu thập thông tin Một nguồn thông tin quan trọng khác tài liệu tồn tổ chức mô tả hoạt động hệ thống sử dụng Có thể mơ hình nghiệp vụ (business models) Hoặc biểu mẫu thương mại khác Xác định thứ tự ưu tiên nguồn thông tin yêu cầu 1/12/2017 Thu thập thơng tin Mục đích: Xác định câu hỏi cần trả lời Thu thập viết tài liệu cho thông tin thu thập Các phương pháp truyền thống để thu thập thông tin Interviewing: Phỏng vấn khách hàng chuyên gia lĩnh vực liên quan Questionnaires: Bảng câu hỏi Observation: Quan sát Background reading: Nghiên cứu tài liệu tổ chức tài liệu hệ thống phần mềm tồn 1/12/2017 10 Use-Case Flows of Events Là dãy hành động mà hệ thống phải thực tương tác vói actor để thực Use case Has one normal, basic flow (Main Flow or Happy Path) Several alternative flows Các biến thể thường gặp (Regular variants) Các trường hợp bất thường (Odd cases) Exceptional flows xử lý tình lỗi “Happy Path” 1/12/2017 45 Scenarios ? Scenario thể use case, dòng kiện qua use case Mỗi use case có nhiều kịch thực Phải tìm kịch tiêu biểu giải chung cho hầu hết trường hợp Dòng kiện (Main Flow) Các trường hợp thay đổi khác xử lý riêng Dòng lựa chọn hay dòng ngoại lệ (Alternative Flow) 1/12/2017 46 Đặc tả use case: Select Courses to Teach Tóm tắt Actor Professor Điều kiện tiên Use case cho phép giáo sư chọn từ danh mục học phần lớp học mà minh dạy muốn dạy học kỳ tới Giáo sư phải đăng nhập vào hệ thống trước use case bắt đầu Post-Conditions 1/12/2017 Nếu use case thành công, lớp mà giáo sư chọn dạy cập nhật Ngược lại, trạng thái hệ thống vãn không đổi 47 Đặc tả use case: Select Courses to Teach Dòng kiện Use case bắt đầu giáo sư muốn đăng ký dạy số lớp học kỳ tới Hệ thống truy xuất hiển thị danh sách lớp mà giáo sư dạy học kỳ Hệ thống truy xuất hiển thị lớp học mà giáo sư đăng ký dạy Giáo sư chọn thêm/bỏ bớt lớp mà minh muốn dạy học kỳ tới Hệ thống xóa giáo sư khỏi lớp bị giáo sư bỏ bớt Hệ thống kiểm tra lớp học chọn xem có mâu thuẫn với hau khơng (ví dụ có ngày, dạy) Nếu khong có mâu thuẫn, hệ thống cập nhật thông tin lớp học cho lớp học giáo sư chọn (ví dụ ghi nhận giáo sư người giảng dạy cho lớp này) 1/12/2017 48 Đặc tả use case: Select Courses to Teach Dòng kiện khác Khơng có lớp học Nếu Dòng kiện chính, giáo sư khơng chọn dạy môn mở học kỳ tới hệ thống hiển thị thông báo lỗi Giáo sư xác nhận thông báo use case kết thúc Mâu thuẫn lịch dạy Nếu hệ thống tìm thấy mâu thuẫn lịch dạy giáo sư đăng ký lớp dạy, hệ thống hiển thị thông báo lỗi Hệ thống lớp học gây mâu thuẫn Giáo sư giải mâu thuẫn (ví dụ hủy dạy số lớp) hủy thao tác Trong trường hợp này, chọn lựa giáo sư bị usee case kết thúc Hệ thống Danh mục học phần không sẵn sàng Nếu hệ thống kết nối với Hệ thống Danh mục học phần, hệ thống hiển thị thông báo lỗi Giáo sư xác nhận thông báo lỗi use case kết thúc Đăng ký học phần bị đóng Nếu use case bắt đầu, xác đinh q trình đăng ký cho học kỳ bị đóng, thơng báo hiển thị cho giáo sư use case kết thúc Giáo sư thay đổi lớp dạy sau trình đăng ký cho học kỳ bị đóng Nếu thay đổi giáo sư cần thiết xảy sau trình đăng ký bị đóng, xử lý bên ngồi phạm vi hệ thống 1/12/2017 49 Đặc tả use case: Rent Video Brief Description Use case cho phép nhân viên cửa hàng xử lý yêu cầu thuê băng đĩa video khách hàng Actors Nhân viên (Employee), Thiết bị quét (Scanning Device) Preconditions Không Postconditions Videos cho khách hàng thuê sở liệu cập nhật tương ứng 1/12/2017 50 Đặc tả use case: Rent Video (tt) Main Flow Nhân viên dùng thiết bị quét thẻ thành viên khách hàng Hệ thống kiểm tra băng đĩa video thuê hạn mức độ 1/12/2017 đáng tin khách hàng Nhân viên quét mã vạch video khách hàng muốn thuê Nếu số lượng băng đĩa khách hàng thuê nhỏ 8, hệ thống chọn video tương ứng có sẵn cho khách hàng Nhân viên nhập ngày thuê hạn trả cho ghi th video Hệ thống tính tốn hiển thị lệ phí thuê video Sau khách hàng toán, nhân viên in biên nhận thuê video chọn chức Save Hệ thống cập nhật ghi thuê video 51 Đặc tả use case: Rent Video (tt) Alternative Flows Khách hàng có video hạn 1/12/2017 Hệ thống hiển thị nhắc nhở ghi “quá hạn” tới khách hàng use case kềt thúc Nếu video không trả vòng ngày kể từ hạn trả, ghi khác khởi tạo khách hàng bị ghi nhận “đã vi phạm” (không đáng tin) Khách hàng không đáng tin Nhân viên yêu cầu khách hàng đóng tiền chấp cho video thuê Khách hàng khơng có thẻ thành viên Nhân viên kích hoạt use case Maintain Customer để đăng ký cấp thẻ cho khách hàng Nếu nhiều video thuê, hệ thống hiển thị nhắc nhở Nếu không video thuê, hệ thống hiển thị nhắc nhở Thẻ thành viên video bị hư, máy quét nhận được, hệ thống hiển thị nhắc nhở 52 Viết kịch use case dạng cột Employee Video Store System Nhân viên dùng thiết bị quét thẻ thành viên khách hàng Hệ thống kiểm tra băng đĩa video thuê hạn mức độ đáng tin khách hàng Nhân viên quét mã vạch video khách hàng muốn thuê Nếu số lượng băng đĩa khách hàng thuê nhỏ 8, hệ thống chọn video tương ứng có sẵn cho khách hàng Nhân viên nhập ngày thuê hạn Hệ thống tính tốn hiển thị trả cho ghi thuê video lệ phí thuê video Sau khách hàng toán, Hệ thống cập nhật ghi nhân viên in biên nhân thuê video thuê video chọn chức Save 1/12/2017 53 What Is an Activity Diagram? An activity diagram in the Use-Case Model can be used to capture the activities in a use case It is essentially a flow chart, showing flow of control from activity to activity Flow of Events This use case starts when the Registrar requests that the system close registration The system checks to see if registration is in progress If it is, then a message is displayed to the Registrar and the use case terminates The Close Registration processing cannot be performed if registration is in progress For each course offering, the system checks if a professor has signed up to teach the course offering and at least three students have registered If so, the system commits the course offering for each schedule that contains it 1/12/2017 54 Example: Activity Diagram 1/12/2017 55 UI Prototype Prototype chương trình với chức giới hạn xây dựng để kiểm tra hệ thống làm việc Prototype xây dựng cho giao diện người dùng (User interface – UI) để hỗ trợ viết kịch use case cách hiệu Ví dụ: Renting Video prototype 1/12/2017 56 Glossary Bảng giải Giới thiệu Tài liệu dùng để định nghĩa thuật ngữ đặc thù lĩnh vực tốn, giải thích từ ngữ khơng quen thuộc người đọc mô tả use case tài liệu khác dự án Thường tài liệu dùng từ điển liệu khơng thức, ghi lại định nghĩa liệu để mơ tả use case tài liệu khác tập trung vào hệ thống phải thực Các định nghĩa Bảng giải bao gồm định nghĩa cho khái niệm Hệ thống đăng ký học phần Course (Học phần): Một môn học dạy trường Course Offering (Lớp): Một lớp cụ thể mở cho học phần học kỳ cụ thể – học phần mở song song nhiều lớp học kỳ Thông tin bao gồm ngày học tuần Course Catalog (Danh mục học phần): Danh mục đầy đủ tất học phần dạy trường 1/12/2017 57 Supplementary Specification Include the nonfunctional requirements and functional requirements not captured by the use cases Include constraints on the implementation Functionality (Chức năng) Usability (Tính dễ dùng) Reliability (Tính đáng tin) Performance (Hiệu suất) Supportability (Tính hỗ trợ Design constraints (Ràng buộc thiết kê) 1/12/2017 58 Chức Supplementary Specification Hỗ trợ nhiều người dùng làm việc đồng thời Nếu lớp bị hết chỗ sinh viên đăng ký học lớp sinh viên phải thơng báo Tính dễ dùng Tính ổn định Giao diện nguời dùng tương thích Windows 95/98 Hệ thống phải hoạt động liên tục 24 giờ/ngày, ngày/tuần, với thời gian ngừng hoạt động không 10% Hiệu suất Hệ thống phải hỗ trợ đến 2000 người dùng truy xuất CSDL trung tâm đồng thời lúc nào, đến 500 người dùng truy xuất server cục Hệ thống phải truy xuất đến CSDL danh mục học phần cũ với độ trễ không 10 giây Hệ thống phải có khả hồn tất 80% giao dịch vòng phút Sự hỗ trợ Khơng có Các ràng buộc thiết kế Hệ thống tích hợp với Hệ thống danh mục học phần có sẵn, CSDL RDBMS Hệ thống phải cung cấp giao diện dựa Web 1/12/2017 59 ...Nội dung Mục đích thu thập mơ hình yêu cầu Định nghĩa yêu cầu Phát yêu cầu (Requirements Elicitation) Đàm phám phê chuẩn yêu cầu (Requirements Negotiation and Validation)... phát yêu cầu Một GUI, mà mô ứng xử hệ thống 15 Hội thảo phát yêu cầu Mục đích Tạo điều kiện cho nhóm dự án gặp stakeholder dự án Để thu thập yêu cầu tinh tế từ stakeholder Để thứ tự yêu. .. nằm điều khiển hệ thống phần mềm 1/12/2017 20 Chương 2: THU THẬP MƠ HÌNH U CẦU MƠ HÌNH U CẦU HỆ THỐNG 1/12/2017 21 Nhắc lại: Các hành động bước yêu cầu Requirements discipline Project Initiation