intTypePromotion=3

CÁCH 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

Chia sẻ: Cao Tuấn | Ngày: | Loại File: PDF | Số trang:38

0
87
lượt xem
9
download

CÁCH 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

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

1. Phân tích bài toán 2. Xác định quá trình phát triển các yêu cầu phần mềm 3. Xây dựng khả năng (vision) và phạm vi (scope) của phần mềm 4. Xác định các nhóm người sử dụng và đặc tính của họ và đại diện tiêu biểu cho mỗi nhóm 5. Phân tích và xác định các yêu cầu phần mềm dựa trên các đại diện của các nhóm NSD 6. Xây dựng các đặc tính xác định chất lượng yêu cầu và các yêu cầu khác (non-functional requirement)...

Chủ đề:
Lưu

Nội dung Text: CÁCH 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

  1. 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 1
  2. Chương 1. Tổng hợp và phân tích các yêu cầu phần mềm 1. Các vấn đề và khái niệm trong yêu cầu phần mềm 2. Phát hiện các yêu cầu phần mềm (Software Elicitation) 3. Xây dựng các đặc tính xác định chất lượng yêu cầu và các yêu cầu khác 4. Đặc tả các yêu cầu phần mềm 5. Xác định nguồn gốc yêu cầu và ma trận theo dõi các yêu cầu phần mềm 6. Thẩm định xác minh các yêu cầu phần mềm (verification requirement) 2
  3. 1.2. Phát hiện các yêu cầu phần mềm (Software Elicitation) 1. Phân tích bài toán 2. Xác định quá trình phát triển các yêu cầu phần mềm 3. Xây dựng khả năng (vision) và phạm vi (scope) của phần mềm 4. Xác định các nhóm người sử dụng và đặc tính của họ và đại diện tiêu biểu cho mỗi nhóm 5. Phân tích và xác định các yêu cầu phần mềm dựa trên các đại diện của các nhóm NSD 6. Xây dựng các đặc tính xác định chất lượng yêu cầu và các yêu cầu khác (non-functional requirement) 3
  4. 1.2.1. Phân tích bài toán (vấn đề) [Dean Leffingwell] • Problem analysis is the process of understanding real-world problems and user's needs and proposing solutions to meet those needs. • The goal of problem analysis is to gain a better understanding, before development begins, of the problem being solved. • To identify the root cause, or the problem behind the problem, ask the people directly involved. • Identifying the actors on the system is a key step in problem analysis 4
  5. 1.2.1. Phân tích bài toán (vấn đề) [Dean Leffingwell] - The 5 specific steps that must be taken in order to achieve the goal: • Gain agreement on the problem definition. • Understand the root causes—the problem behind the problem. • Identify the stakeholders and the users. • Define the solution system boundary. • Identify the constraints to be imposed on the solution. 5
  6. 1.2.1. Phân tích bài toán (vấn đề) Step 1: Gain Agreement on the Problem Definition • Simply write the problem down and see whether everyone agrees. • The Problem Statement: Table 4-1. Problem statement format Element Description The problem of Describe the problem. affects Identify stakeholders affected by the problem. the result of which Describe the impact of this problem on stakeholders and business activity. Benefits of Indicate the proposed solution and list a few key benefits. 6
  7. 1.2.1. Phân tích bài toán (vấn đề) Step 2: Understand the Root Causes—The Problem Behind the Problem • Your team can use a variety of techniques to gain an understanding of the real problem and its real causes. One such technique is "root cause" analysis, which is a systematic way of uncovering the root, or underlying, cause of an identified problem or a symptom of a problem 7
  8. 1.2.1. Phân tích bài toán (vấn đề) Step 3: Identify the Stakeholders and the Users • Who are the users of the system? • Who is the customer (economic buyer) for the system? • Who else will be affected by the outputs that the system produces? • Who will evaluate and bless the system when it is delivered and deployed? • Are there any other internal or external users of the system whose needs must be addressed? • Who will maintain the new system? • Is there anyone else? 8
  9. 1.2.1. Phân tích bài toán (vấn đề) Step 4: Define the Solution System Boundary • Who will supply, use, or remove information from the system? • Who will operate the system? • Who will perform any system maintenance? • Where will the system be used? • Where does the system get its information? • What other external systems will interact with the system? 9
  10. 1.2.1. Phân tích bài toán (vấn đề) Step 5: Identify the Constraints to Be Imposed on the Solution • Potential system constraints: Economic, Political, Technical, System, Environmental, Schedule and resources 10
  11. 1.2.1. Xác định quá trình phát triển các yêu cầu phần mềm Xác định các bước và tài liệu mô tả quy trình chúng ta sẽ thực hiện quá trình phát triển các yêu cầu phần mềm Mô tả phương pháp xác định các NSD trong phạm vi bài toán của phần mềm và các kỹ thuật sẽ sử dụng để phát hiện các yêu cầu phần mềm Mô tả các đặc tả hoặc các mô hình phân tích của phần mềm Các thông tin cho mỗi yêu cầu, trọng số của yêu cầu Các bước tiến hành phá hiện các yêu cầu, phân tích yêu cầu 11
  12. 1.2.2. Xây dựng khả năng (vision) và phạm vi (scope) của phần mềm Khả năng và phạm vi của phần mềm tập hợp các yêu cầu phần mềm ở mức độ cao (business requirement) Mô tả khả năng, mục tiêu của phần mềm, các phạm vi ứng dụng của phần mềm, các hạn chế của phần mềm, một số đặc điểm của ứng dụng: ai sử dụng, trong mô trường nào Thông thường tất cả các thôg tin này được mô tả ngắn gon trong 3-8 trang theo cấu trúc như sau: 12
  13. 1.2.2. Xây dựng khả năng (vision) và phạm vi (scope) của phần mềm Cấu trúc của tài liệu: 1. Yêu cầu phần mềm (mức cao business) 1.1. Cơ sở (background) 1.2. Cơ hội 1.3. Đối tượng 1.4. Yêu cầu khách hàng hay yêu cầu thị trường 1.5. Các giá trị cung cấp cho khách hàng 1.6. Các rủi ro 2. Khả năng của phần mềm (vision of solution) 2.1. Các khả năng 2.2. Các đặc điểm 2.3. Các phụ thuộc và chấp nhận 13
  14. 1.2.2. Xây dựng khả năng (vision) và phạm vi (scope) của phần mềm Cấu trúc của tài liệu: 3. Phạm vi và giới hạn (scope and limitation) 3.1. Phạm vi của phiên bản đầu 3.2. Phạm vi của các phiên bản tiếp theo 3.3. Hạn chế và ngoại lệ 4. Ngữ cảnh công việc (business context) 4.1. Tiểu sử khách hàng 4.2. Các trong số dự án 5. Các yếu tố thành công của dự án 14
  15. 1.2.2. Xây dựng khả năng (vision) và phạm vi (scope) của phần mềm 1. Yêu cầu phần mềm (mức cao business requirement) Mô tả các đặc điểm chính mà phần mềm mới sẽ cung cấp cho khách hàng. Thông thường phần này rất khác nhau cho những phần mềm khác nhau 1.1 Cơ sở (background) Mô tả lý do hợp lý cần phát triển phần mềm mới: tai sao, cơ sở nào. Có thể giải thích tổng thể lịch sử hoặc tình huống quyết định cần phải xây dựng phần mềm 1.2. Cơ hội (business opportunity) Mô tả cơ hội trên thị trường đang tồn tại vấn đề mà phần mềm sẽ giải quyết. Có thể mô tả ngắn gọn một số phần mềm tương tự và các đặc tính của chúng và giải thích tại sao càan làm phần mềm này 15
  16. 1.2.2. Xây dựng khả năng (vision) và phạm vi (scope) của phần mềm 1.3. Đối tượng/mục tiêu Mô tả mục tiêu mà phần mềm giải quyết 1.4. Yêu cầu khách hàng hay yêu cầu thị trường Mô tả các đối tượng khách hàng mà phần mềm sẽ phục vụ. 1.5. Các giá trị cung cấp cho khách hàng Mô tả chi tiết các khả năng của phần mềm sẽ cung cấp cho khách hàng: - Khả năng giải quyết công việc - Khả năng tiết kiệm - Khả năng tự độnghóa các công việc trước đây .... 1.6. Các rủi ro Mô tả các rủi ro của công việc khi phát triển phần mềm. Đánh giá các rủi ro và các phương pháp tránh 16
  17. 1.2.2. Xây dựng khả năng (vision) và phạm vi (scope) của phần mềm 2. Khả năng của phần mềm (vision of solution) Mô tả cáckhả năng của phần mềm. ở đay sẽ không mô tả các chức năng phần mềm 2.1. Các khả năng Mô tả chính xác ngắn gọn các mục đích dài hạn của phần mềm 2.2. Các đặc điểm Danh sách các đặc điểm chính của phần mềm. Các đặc điểm này sẽ khách những phần mềm tương tự như thế nào 2.3. Các phụ thuộc và chấp nhận Ghi nhận lại các phụ thuộc và các chấp nhận đã thực hiên trong phần mềm 17
  18. 1.2.2. Xây dựng khả năng (vision) và phạm vi (scope) của phần mềm 3. Phạm vi và giới hạn (scope and limitation) Mô tả các giới hạn về khả năng của phần mềm. Phần mềm chỉ giải quyết bài toán ở mức độ như vậy 3.1. Phạm vi của phiên bản đầu Các phạm vi của phiên bản đầu (1.0) 3.2. Phạm vi của các phiên bản tiếp theo Các phạm vi của các phiên bản tiếp theo 3.3. Hạn chế và ngoại lệ Mô tả các hạn chế và ngoại lệ của phần mềm 4. Ngữ cảnh công việc (business context) 4.1. Tiểu sử khách hàng 4.2. Các trong số dự án 5. Các yếu tố thành công của dự án 18
  19. 1.2.2. Xây dựng khả năng (vision) và phạm vi (scope) của phần mềm 4. Ngữ cảnh công việc (business context) 4.1. Tiểu sử khách hàng Các đặc điểm của khách hàng: Phân loại khách hàng 4.2. Các trong số dự án Chia làm 03 loại: Các mục tiêu chính của phần mềm (objectives) Các ràng buộc và hạn chế (constraint) Mức độ tự do của phần mềm (khả năng cân đối giữa mục tiêu và các ràng buộc) 5. Các yếu tố thành công của dự án Các yếu tố làm dự án khả thi Các yếu tố chứng tỏ khả ăng cạnh tranh của phần mềm 19
  20. 1.2.3. Xác định các nhóm người sử dụng và đặc tính của họ và đại diện tiêu biểu cho mỗi nhóm (1) Phân lớp người sử dụng phần mềm (user classes) Phân loại theo đặc điểm Phân loại theo vị trí địa lý Phân loại theo vai trò công việc Phân loại theo chức năng Liệt kê các phân loại (các lớp) và mô tả chi tiết các đặc điểm của NSD ở từng lớp (2) Tìm các NSD tiêu biểu (presentative user) (3) Khái niệm Product Champion: Những đại diện tiêu biểu của từng nhóm người sử dụng. Trên thực tế các yêu cầu phần mềm sẽ được phát hiện từ những khách hàng này 20

CÓ THỂ BẠN MUỐN DOWNLOAD

Đồng bộ tài khoản