Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 31 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
31
Dung lượng
1,11 MB
Nội dung
Công nghệ phần mềm Bài 05: Thu thập phân tích u cầu (phần 1) Nội dung • • • • • • • Các khái niệm yêu cầu phần mềm Tài liệu yêu cầu Đặc tả yêu cầu Quy trình kỹ nghệ yêu cầu Thu thập phân tích yêu cầu Hợp lệ yêu cầu Quản lý yêu cầu Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN Thu thập phân tích u cầu • Mục đích thu thập phân tích u cầu • Kỹ nghệ u cầu (requirements engineering) quy trình xác định dịch vụ hệ thống mà khách hàng yêu cầu, với ràng buộc để phát triển vận hành dịch vụ • Các u cầu (requirements) mô tả dịch vụ ràng buộc Bộ mơn Cơng nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN Yêu cầu: khái niệm, phân loại đặc điểm • Yêu cầu (requirements): mô tả (từ mức chung chung đến chi tiết) dịch vụ hệ thống với ràng buộc • Mục đích yêu cầu (requirements) – – Cơ sở cho đề xuất/ đấu thầu hợp đồng Cơ sở cho lập hợp đồng (mức đặc tả chi tiết) Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN Ví dụ phát biểu yêu cầu mức cao Hệ thống quản lý phòng khám: Người dùng tìm kiếm lịch hẹn khám phòng khám Hệ thống cho phép tạo danh sách bệnh nhân có lịch khám phòng khám Mỗi nhân viên phòng khám hệ thống định danh thông qua mã nhân viên gồm ký tự Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN Các dạng yêu cầu • u cầu người dùng – – Ngơn ngữ tự nhiên Viết cho khách hàng • Yêu cầu hệ thống – – Đặc tả chi tiết Xác định cần phát triển/cài đặt (một phần nội dung hợp đồng) Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN Ví dụ yêu cầu người dùng yêu cầu hệ thống Hệ thống khám bệnh Yêu cầu người dùng Hệ thống sinh báo cáo hàng tháng giá thuốc kê phòng khám Yêu cầu hệ thống 1.1 Vào ngày làm việc cuối tháng, báo cáo thuốc kê, giá thuốc, thơng tin phịng khám tạo 1.2 Sau 17h30 vào ngày làm việc cuối tháng, hệ thống in tự động báo cáo tổng hợp thuốc Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN Phân loại yêu cầu • Yêu cầu chức – – Các phát biểu dịch vụ hệ thống cung cấp, cách hệ thống phản ứng với môi trường hoạt động quan sát hệ thống tình Có thể bao gồm phát biểu hệ thống khơng thực • Yêu cầu phi chức – – Ràng buộc dịch vụ hay chức hệ thống, chẳng hạn, ràng buộc thời gian hay ràng buộc quy trình phát triển Thường áp dụng cho tổng thể hệ thống, thay dịch vụ cụ thể • u cầu miền – Các ràng buộc hệ thống xuất phát từ miền hoạt động Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN Yêu cầu chức • Mơ tả chức hay dịch vụ hệ thống • Yêu cầu chức mức người dùng thường bao gồm phát biểu chung (ở mức cao) hệ thống cần làm • Yêu cầu chức mức hệ thống tập trung mô tả mức chi tiết dịch vụ hệ thống Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN Ví dụ yêu cầu chức Hệ thống quản lý phòng khám: Người dùng tìm kiếm lịch hẹn khám phòng khám Hệ thống cho phép tạo danh sách bệnh nhân có lịch khám phịng khám Mỗi nhân viên phòng khám hệ thống định danh thông qua mã nhân viên gồm ký tự Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 10 Yêu cầu miền • Miền hoạt động hệ thống thường đặt thêm ràng buộc cho hệ thống – Chẳng hạn, hệ thống điều khiển phanh tàu phải cân nhắc đặc điểm phanh điều kiện thời tiết khác • Các yêu cầu miền đặt yêu cầu chức hay ràng buộc phi chức cho hệ thống • Khi yêu cầu miền khơng thỏa, hệ thống khơng thể hoạt động Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 17 Tài liệu yêu cầu phần mềm • Tài liệu yêu cầu phần mềm phát biểu thống cần phải đạt cho việc phát triển phần mềm • Thường bao gồm (1) định nghĩa yêu cầu người dùng (2) đặc tả yêu cầu hệ thống • Đây khơng phải tài liệu thiết kế Nội dung thường tập trung vào câu hỏi “Cái gì” thay “Như nào” Bộ mơn Cơng nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 18 Các đối tượng sử dụng tài liệu yêu cầu • Với tài liệu yêu cầu người dùng • Với tài liệu yêu cầu hệ thống – Người quản lý khách hàng – Người dùng cuối – Người dùng cuối – Kỹ sư khách hàng – Kỹ sư khách hàng – – Người quản lý hợp đồng Người phát triển phần mềm – Kiến trúc sư hệ thống – Kiến trúc sư hệ thống Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 19 Tầm ảnh hưởng tài liệu yêu cầu Mời thầu, đánh giá đề xuất Hợp đồng dự án Kế hoạch dự án Ước lượng dự án Bản mẫu phần mềm Giám sát dự án Kiến trúc phần mềm Tài liệu yêu cầu Hướng tiến hóa phần mềm Dữ liệu kiểm thử chấp nhận Danh mục kiểm tra Các hướng Hướng dẫn sử dụng (Đảm bảo chất lượng) cài đặt Tài liệu phần mềm Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 20 20 Các dạng tài liệu yêu cầu phần mềm • Phụ thuộc vào kiểu hệ thống phương pháp tiếp cận hệ thống • Tài liệu yêu cầu chi tiết với hệ thống phát triển tăng dần • Chuẩn tài liệu yêu cầu IEEE thường phù hợp cho hệ thống lớn Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 21 Cấu trúc tài liệu yêu cầu • Lời tựa • Đặc tả yêu cầu hệ thống • Giới thiệu • Các mơ hình hệ thống • Từ điển thuật ngữ • Tiến hóa hệ thống • Định nghĩa yêu cầu người • Các phụ lục dùng • Chỉ mục • Kiến trúc hệ thống Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 22 Đặc tả yêu cầu • Là trình tổng hợp đưa yêu cầu người dùng hệ thống vào tài liệu yêu cầu • Yêu cầu người dùng phục vụ người dùng cuối khách hàng • Yêu cầu hệ thống chi tiết nhiều thơng tin kỹ thuật • Là phần hợp đồng phát triển hệ thống Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 23 Phân biệt đặc tả yêu cầu thiết kế • Đặc tả yêu cầu tập trung vào câu hỏi (what) làm rõ hệ thống cần làm • Thiết kế tập trung vào câu hỏi (how), cách tổ chức thực để đáp ứng yêu cầu • Trong thực hành, hai hoạt động thường đan xen nhau: – – – Các yêu cầu phát biểu dựa kiến trúc đề xuất Thiết kế cho hệ thống tương tác với hệ thống phát sinh thêm yêu cầu Việc sử dụng kiến trúc đặc thù để đáp ứng yêu cầu phi chức thuộc yêu cầu miền nghiệp vụ Bộ mơn Cơng nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 24 Một số dạng đặc tả u cầu • Ngơn ngữ tự nhiên: yêu cầu diễn đạt • • • • ngôn ngữ tự nhiên gắn với số Ngôn ngữ tự nhiên cấu trúc: Yêu cầu viết ngôn ngữ tự nhiên, dựa định dạng Ngơn ngữ mơ tả thiết kế: Sử dụng ngơn ngữ tựa ngơn ngữ lập trình để mô tả hoạt động hệ thống Các ký pháp đồ họa: Sử dụng biểu đồ đồ họa để bổ trợ cho diễn đạt ngôn ngữ tự nhiên Đặc tả hình thức (tốn học): Sử dụng ngơn ngữ, mơ hình tốn học để đặc tả hoạt động hệ thống Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 25 Đặc tả ngôn ngữ tự nhiên • Dùng ngơn ngữ tự nhiên với biểu đồ, bảng biểu • Ưu điểm: dễ dùng, tự nhiên phổ biến • Hạn chế: – – – nhập nhằng, hỗn tạp khó tách biệt yêu cầu chức phi chức khó đảm bảo đồng thời tính xác dễ đọc • Một số dẫn – – – – Sử dụng form/định dạng chuẩn Sử dụng thuật ngữ quán Làm rõ (highlight) điểm Tránh sử dụng thuật ngữ kỹ thuật Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 26 Ví dụ đặc tả ngôn ngữ tự nhiên Hệ thống điều khiển tiêm thuốc tiểu đường insulin: 3.2 Hệ thống đo đường huyết truyền insulin (nếu cần thiết) sau khoảng thời gian 10 phút (Sự thay đổi đường huyết diễn chậm khơng cần thiết phải đo thường xuyên Tuy nhiên, đo sau khoảng thời gian giãn dẫn đến mức đường huyết tăng cao) 3.6 Hệ thống chạy chức tự kiểm tra sau phút với điều kiện kiểm tra hành động tương ứng mô tả Bảng (Tự kiểm tra cho phép phát lỗi phần cứng phần mềm để gửi cảnh báo cho người dùng) Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 27 Ví dụ đặc tả có cấu trúc Hệ thống điều khiển tiêm thuốc tiểu đường insulin (đặc tả sử dụng tiếng Anh) Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 28 Ví dụ đặc tả có cấu trúc (tiếp) Hệ thống điều khiển tiêm thuốc tiểu đường insulin: Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 29 Ví dụ đặc tả với bảng biểu Hệ thống điều khiển tiêm thuốc tiểu đường insulin: Điều kiện Hành động Mức đường thấp (r2 < r1) CompDose = Mức đường huyết ổn định (r2 = r1) CompDose = Mức đường huyết tăng giảm dần ((r2 – r1) < (r1 – r0)) CompDose = Mức đường huyết tăng tăng dần ((r2 – r1) ≥ (r1 – r0)) CompDose = round ((r2 – r1)/4) If rounded result = then CompDose = MinimumDose Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 30 Tổng kết • Khái niệm thu thập phân tích u cầu • Khái niệm, phân loại, tính chất yêu cầu • Tài liệu yêu cầu • Đặc tả yêu cầu Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 31