1. Trang chủ
  2. » Công Nghệ Thông Tin

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM- Chương 1. Tổng hợp và phân tích các yêu cầu phần mềm doc

34 670 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 34
Dung lượng 433,89 KB

Nội dung

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM (SOFTWARE DESIGN AND CONSTRUCTION) Năm học 2007-2008 Giáo viên: TS.Huỳnh Quyết Thắng BM Công nghệ phần mềm Khoa CNTT, ĐHBK HN Chương Tổng hợp phân tích yêu cầu phần mềm Các vấn đề khái niệm yêu cầu phần mềm Phát yêu cầu phần mềm (Software Elicitation) Xây dựng đặc tính xác định chất lượng yêu cầu yêu cầu khác Đặc tả yêu cầu phần mềm Xác định nguồn gốc yêu cầu ma trận theo dõi yêu cầu phần mềm Thẩm định xác minh yêu cầu phần mềm (verification requirement) Chương Tổng hợp phân tích yêu cầu phần mềm 1 Các vấn đề khái niệm yêu cầu phần mềm (1) Các định nghĩa, khái niệm vấn đề (2) Các khó khăn xác định yêu cầu phần mềm (3) Các đặc tính yêu cầu phần mềm (4) Quá trình phát triển quản lý yêu cầu phần mềm 1.1 Các vấn đề khái niệm yêu cầu phần mềm Yêu cầu phần mềm gì: [Dean Leffingwell, Don Widrig] • The goal of software development is to develop quality • • • software—on time and on budget—that meets customers real needs Project success depends on good requirements management Requirements errors are the most common type of systems development error and the most costly to fix A few key skills can significantly reduce requirements errors and thus improve software quality 1.1 Các vấn đề khái niệm yêu cầu phần mềm Yêu cầu phần mềm gì: • Trên thực tế vấn đề cơng • • nghiệp phần mềm: thiếu định nghĩa xác yêu cầu phần mềm Các yêu cầu xuất phát từ người sử dụng chương trình người phát triển phần mềm thông thường trừu tượng, mức cao Ngược lại mơ tả từ phía người phát triển người sử dụng lại mức thấp, chi tiết người sử dụng lại không hiểu hết 1.1 Các vấn đề khái niệm yêu cầu phần mềm Yêu cầu phần mềm gì: [Dean Leffingwell, Don Widrig] • • • A study by The Standish Group (1994) reported: In the United States, we spend more than $250 billion each year on IT application development of approximately 175,000 projects The average cost of a development project for a large company is $2,322,000; for a medium company, it is $1,331,000, and for a small company, it is $434,000… The Standish Group research shows a staggering 31% of projects will be canceled before they ever get completed Further results indicate 52.7% of projects will cost 189% of their original estimates… 1.1 Các vấn đề khái niệm yêu cầu phần mềm Yêu cầu phần mềm gì: [Dean Leffingwell, Fig1-1] 1.1 Các vấn đề khái niệm yêu cầu phần mềm IEEE 1997 định nghĩa yêu cầu phần mềm: • (1) Điều kiện hay khả cần thiết để người sử • • dụng giải vấn đề mục tiêu hay đơí tượng họ (2) Điều kiện hay khả hiểu đáp ứng hệ thống hay thành phần hệ thống thoả mãn hợp đồng, tiêu chuẩn, đặc tả văn bắt buộc khác (3) Văn thể điều kiện khả thể (1) (2) 1.1 Các vấn đề khái niệm yêu cầu phần mềm Tính chất hai mặt yêu cầu phần mềm: cách nhìn suy nghĩ phần mềm từ phía người sử dụng cách nhìn suy nghĩ phần mềm từ phía người phát triển Một điều kiện quan trong định nghĩa tính đặc tả nó: phải đúc kết lại văn Có tham gia xác nhận hai phía: người sử dụng người phát triển Quá trình phát triển cách hiểu yêu cầu phần mềm cho thấy tính đầy đủ định nghĩa thêo IEEE 1.1 Các vấn đề khái niệm yêu cầu phần mềm Tính chất hai mặt yêu cầu phần mềm: [Dean Leffingwell, Fig2-1] 10 1.1.1 Các khó khăn xảy xây dựng yêu cầu phần mềm (4) Các đặc tính thừa: • Thơng thường người phá triển theo thói quen nghề nghiệp thêm vào yêu cầu phần mềm chức không cần thiết cho phần mềm • Tương tự người sử dụng đưa số yêu cầu phụ cho phần mềm Các u cầu địi hỏi tốn mặt xây dựng mà thực tế hồn tồn khơng cần thiết • Cần đánh giá đặc tính tính cần thiết phần mềm Những đặc tính phụ xem xét kỹ xem khả đáp ứng mặt kỹ thuật có đáng giá hay khơng 20 1.1.1 Các khó khăn xảy xây dựng yêu cầu phần mềm (5) Đặc tả ít: • NSD chuyên viên lĩnh vực có thói quen nghĩ tất PTV chun viên lĩnh vực • NSD đưa yêu cầu ngắn gọn mà khơng miêu tả kỹ lưỡng chúng • Cần hỏi rõ NSD tranh thủ kiến thức họ (6) Không lưu ý tới người sử dụng phần mềm: • Thơng thường phần mềm làm cho tập hợp đối tượng sử dụng • Cần quan tâm tới đặc điểm đối tượng 21 1.1.1 Các khó khăn xảy xây dựng yêu cầu phần mềm (7) Kế hoạch sai • Các PTV đánh giá sai mức độ phức tạp vấn đề dẫn tới lập kế hoạch sai thời gian hoàn thành • Cần lưu ý đánh giá thật chắn đặc tính phần mềm lập kế hoạch xây dựng phần mềm • Nên trả lời cho khách hàng câu trả lời dạng “gần xác”: trường hợp xấu , 22 1.1 Các đặc điểm yêu cầu phần mềm tốt Các đặc điểm yêu cầu phần mềm: • (1) Hồn thiện (complete) • (2) Chính xác (correct) • (3) Khả thi (feasible) • (4) Cần thiết (necessary) • (5) Được xếp theo thứ tự ưu tiên yêu cầu • (6) Rõ ràng • (7) Kiểm tra được, xác minh 23 1.1 Các đặc điểm yêu cầu phần mềm tốt Các đặc điểm tài liệu đặc tả yêu cầu phần mềm: • (1) Hồn thiện (complete) • (2) Phù hợp (consistent) • (3) Sửa đổi (modifiable) • (4) Theo dõi (traceable) 24 1.1 Các đặc điểm yêu cầu phần mềm tốt Các kỹ cần thiết để thực xây dựng yêu cầu phần mềm [Dean Leffingwell] • (1) Analyzing the Problem • (2) Understanding User Needs • (3) Defining the System • (4) Managing Scope • (5) Refining the System Definition • (6) Building the Right System 25 1.1 Quá trình phát triển yêu cầu quản lý yêu cầu Requirement Engineering Requirement Development Requirement Elicitation Requirement Analysis Requirement Management Requirement Specification Requirement Verification 26 1.1.3 Quá trình phát triển yêu cầu quản lý yêu cầu Requirement Development: (Phát triển yêu cầu phần mềm • Phát u cầu (Requirement Elicitation) • Phân tích u cầu (Requirement Analysis) • Đặc tả yêu cầu (Requirement Specification) • Kiểm thử yêu cầu (Requirement Verification) 27 1.1.3 Quá trình phát triển yêu cầu quản lý yêu cầu Requirement Management: Quản lý yêu cầu phần mềm thực giao tiếp thoả thuận với NSD yêu cầu phần mềm cần thực (CMU/SEI 1995) • Xác định giới hạn phần mềm (Requirement baseline) • Duyệt lại giới hạn phần mềm • Quản lý thay đổi yêu cầu phần mềm (Requirement Changes) 28 Marketing Customer Management [Wiegers K E ] Requirement Development Requirement Analyze Document Review, Negotiate Base Line Requirement Requirement Management Requirement Marketing changes Customer Management Project changes Requirement Change Process Marketing Customer Management 29 1.1.4 Các đặc điểm cần lưu ý NSD trình phát triển yêu cầu phần mềm Người sử dụng (Khách hàng): theo mơ hình phân lớp yêu cầu phần mềm Khách hàng chia làm hai loại [Wiegers K E]: • Khách • hàng cung cấp business requirement: cung cấp thông tin công ty, đặc điểm mức độ cao, mơ hình phạm vi hệ thống Khách hàng cung cấp user requirement: cung cấp công tin nhiệm vụ cụ thể mà họ làm việc với phần mềm Cần phải phối hợp, kết hợp chặt chẽ với hai phân loại khách hàng 30 Các quyền (bill of right) khách hàng (1) Yêu cầu PTV sử dụng ngôn từ thông dụng (khơng có nhiều thuật ngữ tin học) (2) u cầu PTV học vấn đề công việc khách hàng (3) Yêu cầu PTV viết đặc tả u cầu phần mềm (4) Có quyền địi giải thích tất vấn đề đặc tả yêu cầu phần mềm (5) Yêu cầu đối xử lịch từ PTV (6) Lắng nghe ý tưởng cách thực khác yêu cầu phần mềm, không nên phủ định thấy khác với cách thơng dụng mà sử dụng 31 Các quyền (bill of right) khách hàng (7) Giải thích đặc điểm cơng việc phần mềm để làm tốt hơn, dễ sử dụng (8) Cần suy nghĩ phần mềm để điều chỉnh yêu cầu cho tăng khả năngtái sử dụng chức (9) Cần đánh giá giá thành yêu cầu hay thay đổi phần mềm (10) Cần đòi hỏi để hệ thống đáp ứng đầy đủ yêu cầu chức chất lượng mong muốn 32 Các trách nhiệm khách hàng (1) Khách hàng có trách nhiệm đào tạo PTV công (2) (3) (4) (5) việc họ (khách hàng) Khách hàng có trách nhiệm dành thời gian để chuẩn bị chu đáo rõ ràng yêu cầu Khách hàng cần có yêu cầu thật cụ thể (specific) thật xác (precise) Khách hàng cần có trách nhiệm định kịp thời xác điểm tranh luận với LTV Có trách nhiệm tơn trọng đánh giá PTV giá thành tính khả thi phần mềm 33 Các trách nhiệm khách hàng (7) Khách hàng có trách nhiệm gán quyền (trọng số) ưu tiên cho yêu cầu đặt (8) Khách hàng có trách nhiệm duyệt lại đặc tả yêu cầu nguyên mẫu (prototype) yêu cầu (9) Khách hàng có trách nhiệm thực kịp thời, không phép chậm trễ thay đổi yêu cầu điều cần thiết (10) Khách hàng có trách nhiệm tơn trọng quy trình thực công nghệ học xác định yêu cầu phần mềm công nghệ phần mềm 34 .. .Chương Tổng hợp phân tích yêu cầu phần mềm Các vấn đề khái niệm yêu cầu phần mềm Phát yêu cầu phần mềm (Software Elicitation) Xây dựng đặc tính xác định chất lượng yêu cầu yêu cầu khác... tả yêu cầu phần mềm Xác định nguồn gốc yêu cầu ma trận theo dõi yêu cầu phần mềm Thẩm định xác minh yêu cầu phần mềm (verification requirement) Chương Tổng hợp phân tích yêu cầu phần mềm 1 Các. .. niệm yêu cầu phần mềm (1) Các định nghĩa, khái niệm vấn đề (2) Các khó khăn xác định yêu cầu phần mềm (3) Các đặc tính yêu cầu phần mềm (4) Quá trình phát triển quản lý yêu cầu phần mềm 1.1 Các

Ngày đăng: 24/03/2014, 19:20

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN