Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 54 trang
THÔNG TIN TÀI LIỆU
Cấu trúc
Công nghệ phần mềm
Mục tiêu
Các chủ đề
Requirements engineering
Thế nào là một yêu cầu?
Requirements abstraction (Davis)
Các loại yêu cầu
Định nghĩa và đặc tả
Những người đọc tài liệu yêu cầu
Yêu cầu chức năng và phi chức năng
Yêu cầu chức năng
Hệ thống LIBSYS
Ví dụ về các yêu cầu chức năng
Sự thiếu chính xác của các yêu cầu
Tính đầy đủ và nhất quán của yêu cầu
Yêu cầu phi chức năng
Các phân loại phi chức năng
Các loại yêu cầu phi chức năng
Ví dụ về yêu cầu phi chức năng
Ví dụ
Mục tiêu và yêu cầu
Các phép đo đạc yêu cầu
Tương tác giữa các yêu cầu
Domain requirements
Yêu cầu miền của LIBSYS
Rắc rối của các yêu cầu miền
Đặc điểm của yêu cầu người dùng tốt
Rắc rối với ngôn ngữ tự nhiên
Yêu cầu của LIBSYS
Yêu cầu về editor grid
Các rắc rối về yêu cầu
Trình bày có cấu trúc
Hướng dẫn viết tài liệu yêu cầu
Yêu cầu hệ thống
Yêu cầu và thiết kế
Rắc rối với đặc tả bằng ngôn ngữ tự nhiên
Các lựa chọn khác cho đặc tả
Các lựa chọn khác cho đặc tả (2)
Đặc tả bằng ngôn ngữ có cấu trúc
Đặc tả theo form
Form-based node specification
Đặc tả bằng bảng
Slide 43
Mô hình đồ họa
Biểu đồ tuần tự - Sequence diagram
Biểu đồ tuần tự cho việc rút tiền tại ATM
Đặc tả giao diện
PDL interface description
Tài liệu yêu cầu
Ai dùng tài liệu yêu cầu?
Chuẩn yêu cầu IEEE
Cấu trúc tài liệu yêu cầu
Tổng kết
Tổng kết (tiếp)
Nội dung
Công nghệ phần mềm Yêu cầu phần mềm 9/3/2010 Mục tiêu • Giới thiệu khái niệm yêu cầu người dùng yêu cầu hệ thống • Miêu tả yêu cầu chức (functional) yêu cầu phi chức (non-functional) • Giải thích cách tổ chức yêu cầu phần mềm mội tài liệu phần mềm Tr n Minh Châu d ch t nguyên b n Software Engineering 8th Ed c a Ian Sommerville Các chủ đề Khái niệm phân loại yêu cầu – Các yêu cầu chức phi chức – Yêu cầu người dùng yêu cầu hệ thống Quy trình kỹ nghệ yêu cầu Đặc tả u cầu – Mơ hình hố hệ thống – Tài liệu yêu cầu phần mềm Tr n Minh Châu d ch t nguyên b n Software Engineering 8th Ed c a Ian Sommerville Requirements engineering • The process of establishing the services that the customer requires from a system and the constraints under which it operates and is developed • The requirements themselves are the descriptions of the system services and constraints that are generated during the requirements engineering process Tr n Minh Châu d ch t nguyên b n Software Engineering 8th Ed c a Ian Sommerville Thế yêu cầu? • Yêu cầu (requirement) có nhiều mức – Một mơ tả trừu tượng dịch vụ hệ thống phải chịu ràng buộc – Một đặc tả chi tiết tốn học chức • Các u cầu phục vụ hai nhiệm vụ – Cơ sở để thương lượng hợp đồng • Khi phải viết cách trừu tượng cần giải nghĩa thêm; – Cơ sở để viết hợp đồng • Khi phải định nghĩa chi tiết; – Cả hai trường hợp gọi requirement Tr n Minh Châu d ch t nguyên b n Software Engineering 8th Ed c a Ian Sommerville Requirements abstraction (Davis) “Nếu cơng ty muốn có hợp đồng cho dự án phát triển phần mềm lớn, phải định nghĩa nhu cầu cách đủ trừu tượng để không xác định giải pháp cho nhu cầu Các yêu cầu phải viết cho người đấu thầu khác đề xuất cách khác để đáp ứng nhu cầu tổ chức mời thầu Một thắng thầu, người đấu thầu phải viết cho khách hàng định nghĩa hệ thống đủ chi tiết để khách hàng hiểu thẩm định hoạt động mà phần mềm thực Cả hai tài liệu gọi tài liệu Tr n Minhcầu Châu d ch(t requirement nguyên b n Software Engineering Ed c a Ian Sommerville yêu document) hệ thống.” th Các loại yêu cầu • Yêu cầu người dùng - User requirements – Các phát biểu ngôn ngữ tự nhiên cộng với sơ đồ dịch vụ mà hệ thống cung cấp ràng buộc vận hành – Được viết cho khách hàng • Yêu cầu hệ thống – System requirements – Một tài liệu có cấu trúc bao gồm mô tả chi tiết chức dịch vụ hệ thống với ràng buộc vận hành – Định nghĩa cần cài đặt • Có thể phần hợp đồng khách hàng người nhận thầu Tr n Minh Châu d ch t nguyên b n Software Engineering 8th Ed c a Ian Sommerville Định nghĩa đặc tả Định nghĩa yêu cầu người dùng – User requirement definition Phần mềm phải cung cấp phương tiện để biểu diễn truy nhập file bên ngồi tạo cơng cụ khác Đặc tả yêu cầu hệ thống – System requirement specification 1.1 Người dùng cần cung cấp tiện ích để định nghĩa kiểu file 1.2 Mỗi kiểu file biểu diễn dạng biểu tượng phần hiển thị người dùng 1.3 Mỗi kiểu file ngồi có cơng cụ dùng cho loại file 1.4 Cần cung cấp tiện ích để người dùng định nghĩa biểu tượng cho file 1.5 Khi người dùng chọn biểu tượng đại diện cho file ngoài, hiệu ứng việc chọn gọi cơng cụ tương ứng với kiểu file để chạy Tr n Minh Châu d ch t nguyên b n Software Engineering 8th Ed c a Ian Sommerville 88 Những người đọc tài liệu yêu cầu User requirements System requirements Software design specification Client managers System end-users Client engineers Contractor managers System architects System end-users Client engineers System architects Software developers Client engineers (perhaps) System architects Software developers Tr n Minh Châu d ch t nguyên b n Software Engineering 8th Ed c a Ian Sommerville Yêu cầu chức phi chức • Yêu cầu chức – Functional requirements – Phát biểu dịch vụ mà hệ thống cần cung cấp, • Hệ thống cần phản ứng với input cụ thể • Hệ thống cần ứng xử tình cụ thể • u cầu phi chức – Non-functional requirements – Ràng buộc dịch vụ hay chức hệ thống • Chẳng hạn ràng buộc thời gian, quy trình phát triển, chuẩn v.v • Yêu cầu miền – Domain requirements – Các yêu cầu phản ánh đặc điểm miền ứng dụng Tr n Minh Châu d ch t nguyên b n Software Engineering 8th Ed c a Ian Sommerville 10