Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 104 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
104
Dung lượng
1,33 MB
Nội dung
Công nghệ Phần mềm XácđịnhYêucầu Giảng viên: Lê Nguyễn Tuấn Thành Nguyễn Văn Đồng Email: thanhlnt@tlu.edu.vn nvdong@tlu.edu.vn Bộ Môn Công Nghệ Phần Mềm – Khoa CNTT Trường Đại Học Thủy Lợi Nội dung Yêucầu Phần mềm Quy trình Kỹ thuật tạoYêu cầu Bài giảng có sử dụng hình vẽ sách “Software Engineering, Ian Sommerville, 8th Edition, 2007” Yêucầu Phần mềm (Software Requirements) Mục tiêu Giới thiệu khái niệm yêucầu người dùng hệ thống Miêu tả yêucầu chức phi chức (functional & non-functional requirements) Giải thích cách yêucầu phần mềm tổ chức tài liệu yêucầu Những chủ đề đề cập (Topics covered) Yêucầu chức phi chức Yêucầu người dùng Yêucầu hệ thống Đặc tả giao diện (interface specification) Tài liệu yêucầu phần mềm (the software requirements document) Kỹ thuật yêucầu (Requirements engineering) Là trình thành lập dịch vụ mà khách hàng yêucầu từ hệ thống buộc hệ thống vận hành phát triển Những yêucầu tự thân chúng miêu tả dịch vụ hệ thống buộc sinh trình kỹ thuật yêucầu (requirements engineering process) Một yêucầu gì? (A Requirement?) Nó dao động từ phát biểu trừu tượng mức cao dịch vụ buộc hệ thống đến đặc tả chức toán học cụ thể Điều khơng tránh khỏi u cầu miêu tả chức kép (dual function): Nó sở cho việc đấu thầu hợp đồng – phải dễ diễn giải (interpretation); Bản thân sở cho hợp đồng – phải định nghĩa cụ thể; Cả hai phát biểu gọi yêucầuYêucầu trừu tượng (Requirements abstraction ) “ Nếu công ty mong muốn ký hợp đồng (contract) cho dự án phát triển phần mềm lớn, phải định nghĩa yêucầu theo cách đủ trừu tượng giải pháp không định nghĩa trước Những yêucầu phải viết cho nhiều nhà thầu đấu thầu hợp đồng, cung cấp, có thể, cách khác để đáp ứng nhu cầu tổ chức khách hàng Khi hợp đồng ký kết, nhà thầu phải soạn thảo định nghĩa hệ thống cho khách hàng chi tiết để khách hàng hiểu xác nhận điều mà phần mềm làm Cả hai tài liệu gọi tài liệu yêucầu (requirements document) cho hệ thống ” Kiểu yêucầu (Types of requirement) Yêucầu người dùng Những phát biểu ngôn ngữ tự nhiên cộng với sơ đồ (diagram) dịch vụ hệ thống cung cấp buộc vận hành Được viết cho khách hàng Yêucầu hệ thống Một tài liệu có cấu trúc đưa mơ tả chi tiết chức hệ thống, dịch vụ buộc vận hành Định nghĩa nên thực thi, phần hợp đồng khách hàng (client) nhà thầu (contractor) Định nghĩa Đặc tả (Definitions and Specifications) Định nghĩa yêucầu người dùng Phần mềm phải cung cấp cách thức để biểu diễn truy cập tệp bên ngồi tạo cơng cụ khác Đặc tả yêucầu hệ thống Người dùng nên cung cấp phương tiện (facilities) để định nghĩa kiểu tệp tin (external files) Mỗi kiểu tệp tin ngồi nên có cơng cụ kèm áp dụng cho kiểu tệp tin Mỗi kiểu tệp tin ngồi nên biểu diễn biểu tượng cụ thể (specific icon) hình người dùng Các phương tiện nên cung cấp cho biểu tượng biểu diễn kiểu tệp tin định nghĩa người dùng Khi người dùng chọn biểu tượng biểu diễn tệp tin ngồi, hiệu ứng việc lựa chọn sử dụng cơng cụ liên kết với kiểu tệp ngồi cho tệp tin biểu diễn công cụ lựa chọn 10 Kiểm tra việc đánh giá lại (Review checks) Khả kiểm chứng (Verifiability) Liệu yêucầu kiểm thử thực tế khơng? Tính hiểu (Comprehensibility) Liệu u cầu có hiểu không? Khả truy vết (Traceability) Liệu nguồn gốc yêucầu có phát biểu rõ ràng? Khả thích nghi (Adaptability) Liệu u cầu thay đổi mà không ảnh hưởng lớn tới yêucầu khác không? 90 Quản lý yêucầu (Requirements management) Yêucầu quản lý trình quản lý thay đổi yêucầu trình kỹ thuật tạo yêucầu phát triển hệ thống Yêucầu khó tránh khỏi việc khơng đầy đủ không quán Các yêucầu xuất trình nhu cầu kinh doanh thay đổi hiểu biết tốt hệ thống phát triển; Các quan điểm khác có yêucầu khác điều thường mâu thuẫn (contradictory) 91 Thay đổi yêucầu (Requirements change) Mức độ ưu tiên yêucầu từ quan điểm khác thay đổi trình phát triển Khách hàng hệ thống xácđịnhyêucầu từ quan điểm kinh doanh mà mâu thuẫn với yêucầu người dùng cuối Môi trường kinh doanh kỹ thuật hệ thống thay đổi q trình phát triển 92 Tiến hóa u cầu (Requirements evolution) 93 Yêucầu ổn định không ổn định (Enduring and volatile requirements) Yêucầu ổn định (Enduring requirements) Yêucầu ổn định bắt nguồn từ hoạt động cốt lõi tổ chức khách hàng Ví dụ Một bệnh viện ln ln có bác sĩ, y tá, v.v Có thể bắt nguồn từ mơ hình miền u cầu khơng ổn định (Volatile requirements) Yêucầu thay đổi trình phát triển hệ thống vào sử dụng Ví dụ bệnh viện, yêucầu bắt nguồn từ sách chăm sóc sức khoẻ 94 Phân loại yêucầu (Requirements classification) Kiểu yêucầu Miêu tả Yêucầu thay đổi (Mutable requirements) Những yêucầu thay đổi thay đổi môi trường mà công ty hoạt động Ví dụ, hệ thống bệnh viện, quỹ kinh phí chăm sóc bệnh nhân thay đổi cần phải thu thập thơng tin điều trị khác Yêucầu khẩn cấp (Emergent requirements) Những yêucầu lên hiểu biết khách hàng hệ thống phát triển trình phát triển hệ thống Q trình thiết kế bộc lộ yêucầu khẩn cấp Yêucầu hệ (Consequential requirements) Những yêucầu kết từ giới thiệu hệ thống máy tính Giới thiệu hệ thống máy tính thay đổi quy trình tổ chức mở cách làm việc để tạo yêucầu hệ thống Yêucầu tương thích (Compatibility requirements) Những yêucầu phụ thuộc vào hệ thống trình kinh doanh cụ thể công ty Khi điều thay đổi này, yêucầu tương thích hệ thống ủy thác phân phối phải tiến hóa theo 95 Lập kế hoạch quản lý yêucầu (Requirements management planning) Trong trình kỹ thuật tạo yêu cầu, bạn phải lên kế hoạch cho việc sau: Nhận dạng yêucầu (Requirements identification) Quy trình quản lý thay đổi Q trình phân tích u cầu thay đổi; Chính sách truy xuất nguồn gốc (Traceability policies) Cách yêucầu nhận dạng riêng biệt; Số lượng thông tin mối quan hệ yêucầu trì; Cơng cụ hỗ trợ CASE Công cụ hỗ trợ cần thiết để giúp quản lý thay đổi yêu cầu; 96 Khả truy vết (Traceability) Khả truy vết liên quan đến mối quan hệ yêu cầu, nguồn gốc chúng thiết kế hệ thống Khả truy vết nguồn (Source traceability) Khả truy vết yêucầu (Requirements traceability) Liên kết yêucầu với bên liên quan đề xuất yêucầu này; Liên kết yêucầu phụ thuộc; Khả truy vết thiết kế (Design traceability) Liên kết yêucầu với thiết kế; 97 Ma trận truy vết (Traceability matrix) 98 Công cụ hỗ trợ CASE (CASE tool support) Lưu trữ yêucầu Quản lý thay đổi Yêucầu nên quản lý kho liệu an toàn Quá trình quản lý thay đổi trình luồng cơng việc (workflow ) giai đoạn định nghĩa luồng thơng tin giai đoạn tự động phần Quản lý truy vết Việc thu hồi tự động liên kết yêucầu 99 Quản lý thay đổi yêucầu (Requirements change management) Nên áp dụng với tất thay đổi đề xuất cho yêucầu Các giai đoạn Phân tích vấn đề Thảo luận vấn đề yêucầu đề xuất thay đổi; Thay đổi phân tích tính chi phí Đánh giá tác động thay đổi yêucầu khác; Thực thay đổi Sửa đổi tài liệu yêucầu tài liệu khác để phản ánh thay đổi 100 Quản lý thay đổi (Change management) 101 Tóm tắt điểm (1/2) (Key points) Quy trình kỹ thuật tạo yêucầu bao gồm: nghiên cứu khả thi, khai phá phân tích yêu cầu, đặc tả yêucầu quản lý yêucầu Khai phá phân tích u cầu q trình lặp liên quan đến hiểu biết miền, thu thập yêu cầu, phân loại, cấu trúc, ưu tiên xác thực Hệ thống có nhiều bên liên quan với yêucầu khác 102 Tóm tắt điểm (2/2) (Key points) Các yếu tố xã hội tổ chức ảnh hưởng đến yêucầu hệ thống Xác thực yêucầu liên quan đến việc kiểm tra: tính hợp lệ, tính quán, tính đầy đủ, tính thực khả kiểm chứng Những thay đổi kinh doanh chắn dẫn đến thay đổi yêucầu Quản lý yêucầu bao gồm lập kế hoạch quản lý thay đổi 103 Tài liệu Tham khảo Giáo trình chính: Software Sommerville, 8th Edition, 2007 Tham khảo: Engineering, Ian Object-Oriented Software Engineering Practical Software Development using UML and Java, Lloseng.com, Lethbridge/Laganièr,2001 Bài giảng & Tài liệu môn Nhập Môn Công Nghệ Phần Mềm, Phạm Thị Quỳnh 104 ... Đâu yêu cầu quan trọng nhất? 25 Yêu cầu miền (Domain requirements) Xuất phát từ ứng dụng miền miêu tả đặc điểm tính hệ thống mà phản ánh miền Yêu cầu miền yêu cầu chức mới, buộc yêu cầu. .. Requirements) Những yêu cầu phi chức khó để phát biểu cách xác Những u cầu khơng xác khó để xác thực (verify) Mục tiêu Yêu cầu phi chức xác thực Một ý định (intention) chung người... Yêu cầu chức phi chức Yêu cầu người dùng Yêu cầu hệ thống Đặc tả giao diện (interface specification) Tài liệu yêu cầu phần mềm (the software requirements document) Kỹ thuật yêu cầu (Requirements