Bài giảng Kỹ nghệ phần mềm - Nguyễn Văn Vỵ - Bài 4: Phân tích, đặc tả yêu cầu
?Khái niệm vàtầm quan trọng
?Phân loại các yêu cầu
?Phân tích vàxác định yêu cầu
?Đặc tả yêu cầu
?Định dạng tài liệu yêu cầu
Tóm tắt nội dung Bài giảng Kỹ nghệ phần mềm - Nguyễn Văn Vỵ - Bài 4: Phân tích, đặc tả yêu cầu, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
FD hệ thống bán vé Bộ mụn Cụng nghệ phần mềm – ĐHCN 47 NguyễnVănVỵ Ví dụ: biểu đồ luồng dữ liệu mức 0 Bảng giờ tầu Khách hμng phân tich yêu cầu 1.0 Kiểm tra giờ tầu 2.0 đặt chỗ 3.0 Phát hμnh vé 4.0 DS đặt chỗ bảng giá Khách hμng yêu cầu vé Bộ mụn Cụng nghệ phần mềm – ĐHCN 48 NguyễnVănVỵ Mô hình thực thể - mối quan hệ (Entity - Relationships model) Khái niêm. Các phần tử mô hình thực thể mối quan hệ thuộc tính kế thừa liên kết vμ bản số của thực thể Bộ mụn Cụng nghệ phần mềm – ĐHCN 49 NguyễnVănVỵ Khái niệm(t) Thực thể: chỉ lớp các đối t−ợng thế giới thực khái niệm độc lập Thuộc tính: các đặc tr−ng của thực thể hay mối quan hệ Quan hệ: chỉ mối quan hệ vốn có t−ơng tác hoặc phụ thuộc hay sở hữu Kế thừa: sự thừa kế giữa các thực thể có đặc tr−ng chung ta muốn xử lý giữa các thực thể Bộ mụn Cụng nghệ phần mềm – ĐHCN 50 NguyễnVănVỵ Ví dụ về mô hình E-R sinh viên mã sv tên địa chỉ thuộc môn học mãmôn số học trình tênmôn học của tr−ờng ngành têntr−ờng tênngμnhmã tr−ờng mãngμnh Quan hệ phụ thuộc, sở hữu Quan hệ t−ơng tác lớp vật thể lớp khái niệm Học kỳ Bộ mụn Cụng nghệ phần mềm – ĐHCN 51 NguyễnVănVỵ Tầm quan trọng của mô hình E-R Phân tích dữ liệu độc lập với việc l−u trữ vμ xử lý Nghiên cứu phạm vi miền thông tin Tạo ra mô hinh trừu t−ợng h−ớng khách hμng (mô hình khái niệm), trực quan: lμm công cụ giao tiếp Xác định mối quan hệ mang tính cấu trúc giữa các dữ liệu. Dễ dμng chuyển sang mô hình thiết kế Bộ mụn Cụng nghệ phần mềm – ĐHCN 52 NguyễnVănVỵ a. Đầu vào Các hồ sơ sử dụng (đã , sẽ dùng) Từ diển dữ liệu (mô tả chi tiết mỗi mục tin) b. Các b−ớc y Liệt kê, chính xác hóa, chọn mục tin từ hồ sơ y Xác định các thực thể vμ thuộc tính y Xác định các mối quan hệ vμ thuộc tính y Vẽ biểu đổ mô hình y Rút gọn, hoμn thiện mô hình Các b−ớc xây d−ng Bộ mụn Cụng nghệ phần mềm – ĐHCN 53 NguyễnVănVỵ Từ điển dữ liệu Ph−ơng pháp (văn phạm) có tính hinh thức để mô tả dữ liệu mμ hệ thống xử lý Ký pháp để mô tả các dữ liệu điều khiển vμ miền giá trị của chúng (vd. on/off) Chứa đựng các thông tin về nơi (mô đun) vμ cách thức xử lý dữ liệu Có các rμng buộc nghiệp vụ lên nó Th−ờng đ−ợc tạo bằng các công cụ trợ giúp (CASE) Bộ mụn Cụng nghệ phần mềm – ĐHCN 54 NguyễnVănVỵ Khoản mục từ điển dữ liệu Tên (Name): tên dữ liệu Biệt danh (Aliases): tên gọi khác Vị trí (Where): nơi (môđun) xử lý/sử dụng Cách thức (How): vai trò của dữ liệu, cách thức xử lý Ký pháp (Description): ký pháp mô tả dữ liệu Định dạng (format): kiểu, quy mô, giá trị mặc định... Quy tắc nghiệp vụ (rules): rμng buộc liên quan đến dữ liệu khác Bộ mụn Cụng nghệ phần mềm – ĐHCN 55 NguyễnVănVỵ Lμm bản mẫu trong phân tích Trong nhiều tr−ờng hợp, mô hình chạy thử lμ ph−ơng pháp duy nhất để xác định yêu cầu phần mềm lớn, phức tạp bản mẫu (= trực quan) bản mẫu phần mềm: phát triển yêu cầu bản mẫu phần cứng: kiểm tra thiết kế Bộ mụn Cụng nghệ phần mềm – ĐHCN 56 NguyễnVănVỵ Các b−ớc lμm bản mẫu B−ớc 1: Đánh giá yêu cầu vμ xác định có nên lμm bản mẫu không B−ớc 2: Biểu diễn vắn tắt yêu cầu yêu cầu chức năng/yêu cầu phi chức năng B−ớc 3: Thiết kế nhanh kiến trúc, cấu trúc dữ liệu độ phức tạp, chủng loại, khách hμng Bộ mụn Cụng nghệ phần mềm – ĐHCN 57 NguyễnVănVỵ B−ớc 4: Phát triển, kiểm thử B−ớc 5: Ng−ời dùng đánh giá B−ớc 6: Lặp lại 2~5 cho đến khi đủ yêu cầu - sử dụng các thμnh phần sẵn có b−ớc quan trọng nhất??? - dùng các ngôn ngữ bậc cao - các thuật toán dễ cμi đặt Các b−ớc lμm bản mẫu Bộ mụn Cụng nghệ phần mềm – ĐHCN 58 NguyễnVănVỵ Loại bớt hiểu nhầm Phát hiện thiếu hụt chức năng Phát hiện các điểm yếu: Kiểm tra tính khả thi/hữu ích vd: soạn thảo kéo theo kiểm tra chính tả - khó sử dụng, - thao tác không an toμn - có thể xây dựng đ−ợc không - có thực sự cần không Ưu điểm, nh−ợc lμm bản mẫu Bộ mụn Cụng nghệ phần mềm – ĐHCN 59 NguyễnVănVỵ Lμm cơ sở cho đặc tả Huấn luyện ng−ời sử dụng Hỗ trợ kiểm thử (so sánh kết quả) lμm bản mẫu lμ kỹ thuật tránh rủi ro lμm phần mềm giống nh− thế nμy, nh−ng tốt hơn Ưu điểm, nh−ợc lμm bản mẫu Bộ mụn Cụng nghệ phần mềm – ĐHCN 60 NguyễnVănVỵ Lμm tăng chi phí: cần phải −ớc l−ợng chính xác chi phí của bản mẫu Các yêu cầu phi chức năng th−ờng không đ−ợc thể hiện đầy đủ Các yêu cầu thay đổi quá nhanh khiến bản mẫu trở nên vô nghĩa Ng−ời dùng không dùng bản mẫu theo cách thông th−ờng (kết quả đánh giá không có giá trị) Ưu điểm, nh−ợc lμm bản mẫu Bộ mụn Cụng nghệ phần mềm – ĐHCN 61 NguyễnVănVỵ Ngôn ngữ lμm bản mẫu Java Visual Basic Prolog, Lisp, Python Các ngôn ngữ script khác Perl, php, shell script Bộ mụn Cụng nghệ phần mềm – ĐHCN 62 NguyễnVănVỵ Bản mẫu giao diện/mẫu trực quan Sử dụng các ngôn ng−/công cụ trực quan VB Delphi, J Builder FrontPage Sử dụng lại một l−ợng lớn các th− viện có sẵn Tính cấu trúc không cao, khó tích hợp kết quả của nhiều nhóm, khó bảo tri Bộ mụn Cụng nghệ phần mềm – ĐHCN 63 NguyễnVănVỵ Các ph−ơng pháp đặc tả Có nhiều ph−ơng pháp, phân lọai: Đặc tả phi hình thức Đặc tả bán hình thức Đặc tả hình thức hoá Đặc tả phi hình thức: Bằng ngôn ngữ tự nhiên Bằng bảng, sơ đồ, hình vẽ tùy chọn không chặt chẽ, dễ hiểu nhầm nhiều cách biểu diễn cho một khái niệm khó phân hoạch, khó sửa đổi Bộ mụn Cụng nghệ phần mềm – ĐHCN 64 NguyễnVănVỵ Đặc tả bán hình thức Đặc tả dựa trên mô hình khái niệm ký pháp độ họa quy tắc biểu diễn các b−ớc xây dựng giải thích Mức hình thức hóa khác nhau, tùy mức độ hình thức hóa các khái niệm & quy tắc biểu diễn Xử lý mô hình cần sự tham gia của con ng−ời Nhiều loại mô hình ứng dụng rộng rãi Bộ mụn Cụng nghệ phần mềm – ĐHCN 65 NguyễnVănVỵ Ví dụ: đặc tả bán hình thức Mô hình luồng dữ liệu (DFD) Mô hình thực thể mối quan hệ (E-R model) Mô hình dữ liệu quan hệ Các mô hình nghiệp vụ, mô hình phân tích h−ớng đối t−ợng với UML Bộ mụn Cụng nghệ phần mềm – ĐHCN 66 NguyễnVănVỵ Đặc tả hình thức hóa Biểu diễn mô hình toán học khái niệm vμ ký pháp toán học quy tắc khai báo vμ biểu diễn biểu thức các luật biến đổi biểu thức Có thể tự động hóa giải mô hình Sử dụng mô hình cho chứng minh, kiểm chứng Khó hiểu, khó sử dụng "không ai biết chắc phải lμm gì khi ch−a có đặc tả" Bộ mụn Cụng nghệ phần mềm – ĐHCN 67 NguyễnVănVỵ Đặc tả hình thức: Ví dụ Sort: Queue làm giàu từ List Imports: INTEGER Đặc tả này định nghĩa một hàng đợi cú cấu trỳc dữ liệu vào trước ra trước. Do đú nú cú thể được đặc tả như một danh sỏch với phương thức chốn là thờm một phần tử vào cuối của hàng đợi. Mụ tả cỏc phương thức của hàng đợi được trỡnh bày ở hỡnh 10.12 Get (Queue) ặ (Elem, Queue) Get (Create) = (Undefined, Create) Get (Cons (Q, v)) = (Head (Q), Tail (Cons (Q, v ))) QUEUE (Elem: [Unefined ặ Elem] ) Đặc tả đại số kiểu hàng đợi Queue Bộ mụn Cụng nghệ phần mềm – ĐHCN 68 NguyễnVănVỵ digit unsigned integer digit. E + - unsigned integerunsigned integer unsigned number Đặc tả hình thức: ví dụ Bộ mụn Cụng nghệ phần mềm – ĐHCN 69 NguyễnVănVỵ đặc tả hinh thức hóa Ưu điểm tính chính xác (duy nhất) của định nghĩa Nh−ợc điểm - khó hiểu, tốn thời gian mô tả - không áp dụng đ−ợc với mọi bμi toán (các yêu cầu phi chức năng) Cần phối hợp giữa đặc tả hình thức vμ đặc tả phi hình thức đúng đắn??? Bộ mụn Cụng nghệ phần mềm – ĐHCN 70 NguyễnVănVỵ Ngôn ngữ đặc tả hình thức Đặc tả yêu cầu: Z: mô tả biến đổi trạng thái L−ới Petri Đặc tả đại số Phương pháp máy trạng thái Đặc tả thiết kế: RAISE flowchart, pseudo co Bộ mụn Cụng nghệ phần mềm – ĐHCN 71 NguyễnVănVỵ Tài liệu yêu cầu a. Yêu cầu tμI liệu Chỉ mô tả về chức năng, rμng buộc Không mô tả về ph−ơng thức cμi đặt Phải dễ thay đổi - khó xác định đ−ợc đầy đủ chính xác ngay - phải qua nhiều b−ớc xét duyệt lại Bộ mụn Cụng nghệ phần mềm – ĐHCN 72 NguyễnVănVỵ Định dạng của tμi liệu yêu cầu Chuẩn IEEE 830-1984 1. Giới thiệu 2. Mô tả chung 3. Yêu cầu chi tiết 1. Giới thiệu 1.1 Mục đích 1.2 Phạm vi 1.3 Định nghĩa (định nghĩa, từ viết tắt) 1.4 Tμi liệu tham khảo 1.5 Mô tả cấu trúc tμi liệu Bộ mụn Cụng nghệ phần mềm – ĐHCN 73 NguyễnVănVỵ 2. Mô tả chung 2.1 Tổng quan về sản phẩm 2.2 Chức năng sản phẩm 2.3 Đối t−ợng ng−ời dùng 2.4 Rμng buộc tổng thể 2.5 Giả thiết vμ sự lệ thuộc Định dạng của tμi liệu yêu cầu Bộ mụn Cụng nghệ phần mềm – ĐHCN 74 NguyễnVănVỵ 3. Yêu cầu chi tiết 3.1 Yêu cầu chức năng 3.1.1 Yêu cầu chức năng 1 3.1.1.1 Giới thiệu 3.1.1.2 Dữ liệu vμo 3.1.1.3 Xử lí 3.1.1.4. Kết quả 3.1.2 Yêu cầu chức năng 2 3.1.n Yêu cầu chức năng n Định dạng của tμi liệu yêu cầu Bộ mụn Cụng nghệ phần mềm – ĐHCN 75 NguyễnVănVỵ 3. Yêu cầu chi tiết … 3.5 Thuộc tính 3.5.1 Tính bảo mật 3.5.2 Tính bảo trì 3.6 Các yêu cầu khác Phụ lục Định dạng của tμi liệu yêu cầu Bộ mụn Cụng nghệ phần mềm – ĐHCN 76 NguyễnVănVỵ 1. Phân tích yêu cầu nghĩa lμ gì? 2. Mục tiêu của phân tích yêu cầu lμ gì? 3. Các công đoạn của tiến trình phân tích yêu cầu? 4. Nhứng khó khăn của phân tích yêu cầu? 5. Có những loại yêu cầu nμo? 6. Nêu những yêu cầu phi chức năng? 7. Nêu các nguyên lý của phân tích yêu cầu? 8. Các ph−ơng pháp thu thập thông tin cho các yêu cầu lμ những ph−ơng pháp nμo? 9. Đặc tả yêu cầu cần có những tính chất gì? Câu hỏi ôn tập Bộ mụn Cụng nghệ phần mềm – ĐHCN 77 NguyễnVănVỵ 9. Nội dung thẩm định yêu cầu lμ gì? 10. Các ph−ơng pháp mô hình hoá để phân tích yêu cầu lμ những ph−ơng pháp nμo? 11. Nêu các b−ớc lμm mẫu để xác định yêu cầu? 12. Ph−ơng pháp lμm mẫu để xác định yêu cầu có những −u vμ nh−ợc điểm gi ? 13. Những ngôn ngữ nμo đ−ợc dùng lμm mẫu? Có những loại ph−ơng pháp đặc tả nμo? Mô tả tóm tắt nội dung của nó? 14. Trình bμy nội dung đặc tả yêu cầu theo chuẩn IEEE 843- 1984? Câu hỏi ôn tập Bộ mụn Cụng nghệ phần mềm – ĐHCN 78 NguyễnVănVỵ Câu hỏi và thảo luận
File đính kèm:
- Bài giảng Kỹ nghệ phần mềm - Nguyễn Văn Vỵ - Bài 4 Phân tích, đặc tả yêu cầu.pdf