Kỹ nghệ phần mềm - Bài 4: Phân tích, đặc tả yêu cầu

Tài liệu Kỹ nghệ phần mềm - Bài 4: Phân tích, đặc tả yêu cầu: Bộ môn Công nghệ phần mềm- Khoa CNTT- ĐHCN Email: vynv@coltech.vnu.vn Kỹ nghệ phần mềm Software Engeneering Nguyễn Văn Vỵ Bộ mụn Cụng nghệ phần mềm – ĐHCN 2 NguyễnVănVỵ Bài 4: Phõn tớch, đặc tả yờu cầu Nội dung „ 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 Bộ mụn Cụng nghệ phần mềm – ĐHCN 3 NguyễnVănVỵ TÀI LiỆU THAM KHẢO 1. Nguyễn Văn Vỵ, Nguyễn Việt Hà. Giỏo trỡnh kỹ nghệ phần mềm. Nhà xuất bản Đại học Quốc gia Hà nội, 2008 2. Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified Modeling language User Guid. Addison-Wesley, 1998. 3. M. Ould. Managing Software Quality and Business Risk, John Wiley and Sons, 1999. 4. Roger S.Pressman, Software Engineering, a Practitioner’s Approach. Fifth Edition, McGraw Hill, 2001. 5. Ian Sommerville, Software Engineering. Sixth Edition, Addison- Wasley, 2001. 6. Nguyễn Văn Vỵ. Phõn tớch thiết kế hệ thống thụng tin hiện đại. Hướng cấ...

pdf78 trang | Chia sẻ: hunglv | Lượt xem: 1830 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Kỹ nghệ phần mềm - Bài 4: Phân tích, đặc tả yêu cầu, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Bộ môn Công nghệ phần mềm- Khoa CNTT- ĐHCN Email: vynv@coltech.vnu.vn Kỹ nghệ phần mềm Software Engeneering Nguyễn Văn Vỵ Bộ mụn Cụng nghệ phần mềm – ĐHCN 2 NguyễnVănVỵ Bài 4: Phõn tớch, đặc tả yờu cầu Nội dung „ 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 Bộ mụn Cụng nghệ phần mềm – ĐHCN 3 NguyễnVănVỵ TÀI LiỆU THAM KHẢO 1. Nguyễn Văn Vỵ, Nguyễn Việt Hà. Giỏo trỡnh kỹ nghệ phần mềm. Nhà xuất bản Đại học Quốc gia Hà nội, 2008 2. Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified Modeling language User Guid. Addison-Wesley, 1998. 3. M. Ould. Managing Software Quality and Business Risk, John Wiley and Sons, 1999. 4. Roger S.Pressman, Software Engineering, a Practitioner’s Approach. Fifth Edition, McGraw Hill, 2001. 5. Ian Sommerville, Software Engineering. Sixth Edition, Addison- Wasley, 2001. 6. Nguyễn Văn Vỵ. Phõn tớch thiết kế hệ thống thụng tin hiện đại. Hướng cấu trỳc và hướng đối tượng, NXB Thống kờ, 2002, Hà Nội. Bộ mụn Cụng nghệ phần mềm – ĐHCN 4 NguyễnVănVỵ Khái niệm, tầm quan trọng Xác định vμ đặc tả yêu cầu: „ Lμ khâu kỹ thuật đầu tiên của quá trình phát triển phần mềm. Thiếu nó không thể tiếp tục quá trình „ Lμ sự phối hợp của cả nhμ phát triển vμ khách hμng „ Nó quyết định chất l−ợng phần mềm đạt đ−ợc với chi phí dự kiến vμ thời hạn cho tr−ớc. Bộ mụn Cụng nghệ phần mềm – ĐHCN 5 NguyễnVănVỵ Các yêu cầu vμ mục tiêu „ Các yêu cầu lμ các mô tả từ trừu t−ợng đến chi tiết về dịch vụ mμ hệ thống cung cấp cũng nh− các rμng buộc lên sự phát triển vμ hoạt động của nó „ Mục đích các yêu cầu: Lμm cơ sở cho việc mời thầu (cần có giải thích) Lμm cơ sở ký kết hợp đồng thầu (cần đủ chi tiết) Lμm t− liệu đầu vμo cho thiết kế vμ triển khai (cần đầy đủ, chính xác, không mâu thuẫn ) Bộ mụn Cụng nghệ phần mềm – ĐHCN 6 NguyễnVănVỵ Giá phải trả cho việc tìm vμ sửa lỗi 100 mức chi phớ (lần) Mức chi phớ phải trả do sút lỗi qua cỏc giai đoan 10 1 xỏc định y.cầu thiết kế mó húa kiểm thử k.thử tớch hợp Đưa vào sử dụng 0.75 1.0 1.5 3.0 10.0 60-100 Bộ mụn Cụng nghệ phần mềm – ĐHCN 7 NguyễnVănVỵ Các loại yêu cầu „ Yêu cầu ng−ời dùng: y Đơn giản, dễ hiểu Diễn đạt bằng ngôn ngữ tự nhiện vμ sơ đồ Nêu rõ dịch vụ hệ thống cung cấp vμ các rμng buộc trong hoạt động của nó „ Yêu cầu hệ thống: Mô tả đủ chi tiết về các dịch vụ hệ thống cung cấp Các đặc tr−ng mμ hệ thống cần có Nh− một hợp đồng giữa khách hμng vμ nhμ thầu „ Yêu cầu khi đặc tả (phần mềm) Đủ chi tiết lμm cơ sở cho thiết kế vμ triển khai Bộ mụn Cụng nghệ phần mềm – ĐHCN 8 NguyễnVănVỵ Những ng−ời đọc yêu cầu „ Ng−ời dùng hệ thống „ Ng−ời quản lý của khách hμng „ Kỹ s− của khách hμng „ Ng−ời quán lý nhμ thầu „ Nhμ kiến trúc hệ thống „ Các nhμ phát triển vμ bảo trì phần mềm ™ yêu cầu viết ra cần đáp ứng đ−ợc tất các đối t−ợng Bộ mụn Cụng nghệ phần mềm – ĐHCN 9 NguyễnVănVỵ Yêu cầu từ nghiệp vụ „ Các yêu cầu chức năng Mô tả các chức năng hay các dịch vụ mμ hệ thống phần mềm cần cung cấp „ Các yêu cầu phi chức năng Mô tả các rμng buộc đặt lên dịch vụ vμ quá trình phát triển hệ thống (về chất l−ợng, về môi tr−ờng, chuẩn sử dụng, qui trình phát riển..) „Các yêu cầu miền/lĩnh vực (ngoμi) Những yêu cầu đặt ra từ miền ứng dụng, phản ảnh những đặc tr−ng của miền đó Bộ mụn Cụng nghệ phần mềm – ĐHCN 10 NguyễnVănVỵ Các yêu cầu chức năng „ Mô tả chức năng hay các dịch vụ của hệ thống „ Chúng phụ thuộc vμo:  loại phần mềm sẽ đ−ợc xây dựng  sự mong muốn của khách hμng  loại hệ thống mμ phần mềm trợ giúp „ Mức độ các yêu cầu:  trừu t−ợng: hệ thống lμm gì  chi tiết: nhiệm vụ cụ thể hệ thống cần thực hiện Bộ mụn Cụng nghệ phần mềm – ĐHCN 11 NguyễnVănVỵ Yêu cầu phi chức năng „ Yêu cầu về sản phẩm: tốc độ, độ tin cậy, bộ nhớ cần, giao diện.. „ Yêu cầu về tổ chức/ tiến trình phát triển: các chuẩn áp dụng, ph−ơng pháp thiết kế, ngôn ngữ lập trình, mô hình tiến trình ... „ Yêu cầu từ bên ngoμi: về chi phí, về thời gian, bản quyền, liên kết ... Bộ mụn Cụng nghệ phần mềm – ĐHCN 12 NguyễnVănVỵ Các loại yêu cầu phi chức năng r Yêu cầu cá nhân Yêu cầu về an toàn Yêu cầu đạo lý Yêu cầu hiệu quả Yêu cầu khả dụng Yêu cầu không gian Yêu cầu về hiệu năng Yêu cầu sản phẩm Yêu cẩu triển khai Yêu cầu chuyển giao Yêu cầu khả chuyển Yêu cầu tin cậy Yêu cầu pháp lý Yêu cầu hoạt động bên trong Yêu cầu về chuẩn Yêu cầu từ bên ngoài Yêu cầu về tổ chức Yêu cầu phi chức năng Bộ mụn Cụng nghệ phần mềm – ĐHCN 13 NguyễnVănVỵ Tiến trình kỹ nghệ yêu cầu Các hoạt động của tiến trình kỹ nghệ: „ Nghiên cứu khả thi ặ Dự án khả thi „ Phân tích, xác định yêu cầu ặ Mô hình hệ thống „ Đặc tả yêu cầu ặ Các yêu cầu đ−ợc đặc tả „ Thẩm định yêu cầu ặ Tμi liệu yêu cầu Bộ mụn Cụng nghệ phần mềm – ĐHCN 14 NguyễnVănVỵ Sơ đồ tiến trình kỹ nghệ yêu cầu Nghiên cứu khả thi Báo cáo khả thi Phân tích, xác định yêu cầu Đặc tả yêu cầu Thẩm định yêu cầu Các đặc tả yêu cầu Mô hình hệ thống Tài liệu Yêu cầu Bộ mụn Cụng nghệ phần mềm – ĐHCN 15 NguyễnVănVỵ Nghiên cứu khả thi „ Mục tiêu của nghiên cứu khả thi lμ đi đến kết luận: Có nên phát triển hệ thống hay không? „ Nội dung nghiên cứu khả thi tập trung để trả lời các câu hỏi sau:  Hệ thống đ−ợc xây dựng sẽ giúp gì cho tổ chức?  Hệ thống sử dụng công nghệ nμo, kinh phí bao nhiêu, thời gian bao lâu?  Hệ thống cần phải tích hợp với các hệ thống nμo đang sử dụng? Bộ mụn Cụng nghệ phần mềm – ĐHCN 16 NguyễnVănVỵ Triển khai nghiên cứu khả thi „ Báo cáo khả thi đ−ợc viết dựa trên thông tin, báo cáo thu thập đ−ợc, những đánh giá ban đầu về hệ thống hiện tại vμ phác hoạ các ph−ơng án dự kiến „ Câu hỏi đặt ra cho ng−ời của tổ chức:  Cái gì xẩy ra nếu hệ thống không đ−ợc triển khai?  Những vấn đề gì đang đặt ra cần giải quyết?  Hệ thống đ−ợc đề suất trợ giúp họ nh− thế nμo?  Những tích hợp gì cần phải có?  Công nghệ mới gì, kỹ năng gì cần có?  Những tiện ích gì cần sự trợ giúp từ hệ thống Bộ mụn Cụng nghệ phần mềm – ĐHCN 17 NguyễnVănVỵ Phân tích tìm ra yêu cầu „ Phân tích vμ xác định yêu cầu: còn gọi lμ phát hiện yêu cầu. „ Các nhμ kỹ thuật cùng với khách hμng (ng−ời dùng, kỹ s−, nhμ quản lý, chuyên gia miền, ) lμm rõ: ƒ phạm vi lĩnh vực ứng dụng ƒ các dịch vụ mμ hệ thống cần cung cấp ƒ các rμng buộc đặt lên hoạt động của nó „ Bằng cách xây dựng các mô hình phân tích (mô hình nghiệp vụ của hệ thống) để lμm rõ các yêu cầu trên Bộ mụn Cụng nghệ phần mềm – ĐHCN 18 NguyễnVănVỵ Những khó khăn của phân tích „ Khách hμng th−ờng mơ hồ về yêu cầu, không biết rõ mình muốn gì, dễ lẫn lộn giữa yêu cầu vμ mong muốn. „ Họ thể hiện yêu cầu theo thuật ngữ riêng „ Khách hμng đa dạng, có thể có yêu cầu mâu thuẫn „ Những yếu tố tổ chức vμ chính sách có thể ảnh h−ởng đến yêu cầu „ Yêu cầu th−ờng mang tính đặc thù, khó hiểu, khó có chuẩn chung „ Các yêu cầu thay đổi trong quá trình phân tích: môi tr−ờng nghiệp vụ thay đổi, có ng−ời liên quan mớí Bộ mụn Cụng nghệ phần mềm – ĐHCN 19 NguyễnVănVỵ Mục tiêu, mong muốn vμ yêu cầu „ Mục tiêu, mong muốn : lμ cái h−ớng tới Ví dụ:"xây dựng giao diện thân thiện với ng−ời dùng" „ Yêu cầu: lμ cái cụ thể, kiểm tra đ−ợc Ví dụ: "giao diện đồ họa, có các lệnh đ−ợc chọn bằng thực đơn hay biểu t−ợng" nhiệm vụ của ng−ời phân tích lμ gợi mở, xác định đúng, đầy đủ, chính xác các yêu cầu Bộ mụn Cụng nghệ phần mềm – ĐHCN 20 NguyễnVănVỵ Tiến trình phân tích yêu cầu „ Các hoạt động chính bao gồm:  Tìm hiểu miền ứng dụng Phát hiện, thu thập yêu cầu Phân loại yêu cầu Giải quyết xung đột (nếu có) Sắp −u tiên các yêu cầu  Thẩm định yêu cầu Bộ mụn Cụng nghệ phần mềm – ĐHCN 21 NguyễnVănVỵ Tiến trình phân tích yêu cầu hiểu miền ứng dụng thu thập yêu cầu phân loại giải quyết xung đột Sắp −u tiên thẩm định yêu cầu đặc tả yêu cầu Bộ mụn Cụng nghệ phần mềm – ĐHCN 22 NguyễnVănVỵ Các nguyên lý 1. Mô hinh hóa miền thông tin Phải hiểu vμ biểu diễn đ−ợc miền thông tin (problem domain):  Xác định các thực thể dữ liệu (đối t−ợng)  xác định các thuộc tính của chúng  thiết lập các mối quan hệ giữa các dữ liệu Bộ mụn Cụng nghệ phần mềm – ĐHCN 23 NguyễnVănVỵ 2. Mô hình hóa chức năng Bản chất của phần mềm lμ biến đổi thông tin  Xác định các chức năng (biến đổi thông tin)  Xác định cách thức dữ liệu (thông tin) di chuyển trong hệ thống (luồng dữ liệu)  xác định các tác nhân tạo dữ liệu (nguồn) vμ tác nhân tiếp nhận dữ liệu (đích) ™ Mô hình chung của mọi quá trình  xuất sản : Các đích (ra) Các Nguồn (vào) Sản xuất (xử lý) Quy tắc nghiệp vụ, điều khiển Bộ mụn Cụng nghệ phần mềm – ĐHCN 24 NguyễnVănVỵ 3. Mô hình hóa hμnh vi Phần mềm (hệ thống) có trạng thái (hμnh vi) „ xác định các trạng thái của hệ thống „ ví dụ: giao diện đồ họa, phần trong ứng dụng web „ xác định các dữ kiện lμm thay đổi hμnh vi hệ thống „ ví dụ: máy xay các phê có 2 trạng thái: nghỉ, lμm việc 1. nghỉ 2.Pha cμ phê bật công tắc tắt công tắc - bật đèn - cho n−ớc - mở bếp, pha - tắt đèn - tắt bếp Bộ mụn Cụng nghệ phần mềm – ĐHCN 25 NguyễnVănVỵ 4. Phân hoạch, lμm mịn Lμm mịn, phân hoạch vμ biểu diễn các mô tả ở các mức chi tiết khác nhau  lμm mịn các mô hinh dữ liệu  tạo cây (biểu đồ) phân rã chức năng  biểu diễn hμnh vi ở các mức chi tiết khác nhau Bán hμng Nhận yêu cầu Gom hμng Giao hμng Thanh toán Bộ mụn Cụng nghệ phần mềm – ĐHCN 26 NguyễnVănVỵ Nhìn vấn đề từ ngoμi, bản chất „ Nhin nhận bản chất của yêu cầu:  lμm gi (chức năng)?  điều kiện gi (rμng buộc)? „ Không quan tâm đến cách thức cμi đặt (lμm nh− thế nμo, khi nμo, ở đâu?  lμ quá trình vật lý) Bộ mụn Cụng nghệ phần mềm – ĐHCN 27 NguyễnVănVỵ Ph−ơng pháp thu thập yêu cầu „ Phỏng vấn „ Quan sát „ Điều tra bằng bảng hỏi „ Nghiên cứu tμi liệu „ Joint Application Design -JAD Bộ mụn Cụng nghệ phần mềm – ĐHCN 28 NguyễnVănVỵ Đặc tả yêu cầu Đặc tả yêu cầu lμ mô tả yêu cầu một cách đặc biệt. Yêu cầu nên đ−ợc biểu diễn ở nhiều mức trừu t−ợng khác nhau: đầy đủ, chính xác dần. Nhiều đối t−ợng có thể đọc:  ng−ời sử dụng  nhμ quản lý  lập trình viên  kỹ s− phát triển, bảo trì Bộ mụn Cụng nghệ phần mềm – ĐHCN 29 NguyễnVănVỵ Các mức trừu t−ợng của yêu cầu Xác định yêu cầu:  mô tả các dịch vụ mμ phần mềm cung cấp  viết bằng ngôn ngữ tự nhiên  h−ớng ng−ời dùng Đặc tả yêu cầu:  tμi liệu có cấu trúc (theo mô hình/ph−ơng pháp)  mô tả đầy đủ, chi tiết, chính xác yêu cầu  dùng lμm bản hợp đồng Bộ mụn Cụng nghệ phần mềm – ĐHCN 30 NguyễnVănVỵ Ví dụ: chức năng kiểm tra chính tả Định ra yêu cầu: thông báo các lỗi chính tả của văn bản Đặc tả: - các lỗi chính tả đ−ợc gạch đỏ bên d−ới - lỗi soạn thảo đ−ợc gạch xanh bên d−ới Lỗi chính tả: - từ đơn không có trong từ điển Lỗi soạn thảo: - thừa dấu cách - không viết hoa đầu câu Bộ mụn Cụng nghệ phần mềm – ĐHCN 31 NguyễnVănVỵ Đòi hỏi đặc tả yêu cầu   Đầy đủ: mọi yêu cầu của ng−ời dùng phải đ−ợc mô tả   Không mâu thuẫn lẫn nhau   Chính xác: yêu cầu không đ−ợc mơ hồ  Chỉ có thể hiểu theo một nghĩa duy nhất  Có thể ánh xạ đặc tả vμo ch−ơng trình  Chi phí phát sinh do sửa đổi ít nhất có thể   Dễ thay đổi:  thay đổi đ−ợc  ít ảnh h−ởng đến cáí khác Bộ mụn Cụng nghệ phần mềm – ĐHCN 32 NguyễnVănVỵ Phân hoạch yêu cầu Có thể phân hoạch yêu cầu theo hai cách „ Phân loại theo đặc tr−ng:  Yêu cầu t−ơng hỗ: chịu ảnh h−ởng của môi tr−ờng  Yêu cầu nảy sinh: Nhận ra trong quá trình phát triển  Yêu cầu hệ quả: Lμ kết quả của việc áp dụng hệ thống dựa trên máy tính  Yêu cầu t−ơng thích: Phụ thuộc vμo hệ khác hay tiến trình tổ chức „ Phân hoạch theo mức độ quan trọng: chính, phụ Bộ mụn Cụng nghệ phần mềm – ĐHCN 33 NguyễnVănVỵ Thẩm định yêu cầu 1. Còn nhu cầu nμo của ng−ời dùng ch−a kể đến? 2. Có gì mâu thuẫn giữa các yêu cầu? 3. Chức năng; rμng buộc gì ch−a kể? 4. Có thực hiện đ−ợc không? 5. Có thể kiểm tra nó nh− thế nμo? Liên quan đến kiểm tra tính đúng đắn, tính đầy đủ, tính nhất quán, tính hiện thực vμ kiểm tra đ−ợc của yêu cầu. Cụ thể trả lời đ−ợc các câu hỏi: Bộ mụn Cụng nghệ phần mềm – ĐHCN 34 NguyễnVănVỵ Các kỹ thuật thẩm định yêu cầu 1. Xem xét lại yêu cầu: ƒ Phân tích một cách có hệ thống ƒ Lấy ý kiến khách hμng ƒ Tiến hμnh h−ờng xuyên 2. Lμm bản mẫu: ƒ Sử dụng mô hình khả dụng ƒ Kiểm tra tính thực hiện đ−ợc 3. Tạo ca kiểm thử: kiểm tra tính kiểm tra đ−ợc 4. Sử dụng CASE: kiểm tra tính nhất quán Bộ mụn Cụng nghệ phần mềm – ĐHCN 35 NguyễnVănVỵ Quản lý vμ tiến hoá yêu cầu „ Các yêu cầu có thể thay đổi do: ƒ Sự −u tiên thay đổi ƒ Môi tr−ờng nghiệp vụ & kỹ thuật thay đổi „ Quản lý thay đổi yêu cầu: ghi chép „ Tiến hoá yêu cầu: ƒ chính xác hoá lại ƒ phân hoạch & sắp −u tiên ƒ Bổ sung mới Bộ mụn Cụng nghệ phần mềm – ĐHCN 36 NguyễnVănVỵ Quan hệ giữa phân tích vμ thiết kế „ Phân tích chỉ nên đ−a ra giả thiết tối thiểu về thiết kế hệ thống „ Yêu cầu phải không mâu thuẫn với kỹ thuật máy tính vμ tμi nguyên hiện có- t−c lμ có tính tới các yếu tố khi thiết kế Bộ mụn Cụng nghệ phần mềm – ĐHCN 37 NguyễnVănVỵ „ Mô hình nghiệp vụ (chức năng): ƒ Biểu đồ phân rã chức năng ƒ Ma trận thực thể  chức năng ƒ Mô hình ca sử dụng ƒ Biểu đồ hoạt động „ Biểu đồ chuyển trạng thái „ Mô hình luồng dữ liệu „ Biểu đồ thực thể - mối quan hệ (dữ liệu) Ph−ơng pháp xác định, đặc tả yêu cầu Bộ mụn Cụng nghệ phần mềm – ĐHCN 38 NguyễnVănVỵ Biểu đồ phân rã chức năng Function Decomposition Diagram - FDD ƒ Xác định phạm vi của hệ thống ƒ Phân hoạch chức năng ƒ Tạo nền tảng cho thiết kế kiến trúc hệ thống Tên =động từ+bổ ngữ chức năng Cn.goc 2.cn 3.cn1.cn dạng chuẩn 1.Cn 1.1. cn 1.2.cn 2.1. cn 2.Cn dạng bảng Bộ mụn Cụng nghệ phần mềm – ĐHCN 39 NguyễnVănVỵ Ví dụ: biểu đồ phân rã chức năng (Mức 1) (Mức 0)Kinh doanh bán hàng Biểu đồ phân r∙ chức năng nghiệp vụ kinh doanh bán hàng gốc Tiếp nhận đơn hàng Giải quyết khách Xử lý đơn hàng Gom và gửi hàng Kiểm tra khách Ghi nhận đơn hμng Kiểm tra đơn hμng Thoả thuận mua bán Ký kết hợp đồng Thoả thuận bán hμng Thoả thuận nhận hμng Gom hμng theo phiếu Đối chiếu đơn - thẻ kho Tổ chức gửi hμng Lập phiếu giao hμng Thu thông tin khách lá Bộ mụn Cụng nghệ phần mềm – ĐHCN 40 NguyễnVănVỵ Biểu đồ luồng dữ liệu Data flow diagram - DFD „ Mô tả quá trình hoạt động xử lý thông tin nghiệp vụ „ Biểu diễn cách thức dữ liệu di chuyển, đ−ợc xử lý, l−u trữ trong hệ thống vμ trao đổi với môi tr−ờng (kể từ các đầu vμo khác nhau đến các đầu ra sử dụng ) „ Có nhiều mức trừu t−ợng khác nhau (phân tích có cấu trúc) „ Lμm c− sở cấu trúc hệ thống phần mềm Bộ mụn Cụng nghệ phần mềm – ĐHCN 41 NguyễnVănVỵ Khái niệm của DFD „ Tác nhân đối t−ợng ngoμi hệ thống phát sinh hoặc tiếp nhận dữ liêu/thông tin „ Tiến trình: dãy hoạt động tác động (đọc, ghi, xóa, biến đổi, phân phối, trình diễn) lên dữ liêu „ Luồng dữ liệu: dữ liệu di chuyển từ nguồn đến đích (bên trong, ngoμi phạm vi hệ thống) „ Kho dữ liệu: dữ liệu l−u trữ ở một ví trí Bộ mụn Cụng nghệ phần mềm – ĐHCN 42 NguyễnVănVỵ Ký pháp luồng dữ liệu tên t.n. tác nhân: tiến trình: luồng dữ liệu: kho dữ liệu: Có 2 loại ký pháp chuẩn. D−ới đây lμ của Sarsen: tên t.tr. a tên luồng tên kho  ng−ời, tổ chức, hệ khác  tên là danh từ  dữ liệu di chuyển  tên là danh từ, vật mang  Hoạt động nghiệp vụ  tên = động từ + bổ ngữ  dữ liệu đ−ợc l−u trữ  tên là danh từ, vật mang Bộ mụn Cụng nghệ phần mềm – ĐHCN 43 NguyễnVănVỵ Nguyên tắc xây dựng „ Tiến trình lμ duy nhất, phải có luồng dữ vμo & ra „ Các luồng dữ liệu vμo phải đủ để tạo ra các luồng ra „ Không có luồng dữ liệu giữa: ƒ tác nhân - tác nhân ƒ tác nhân - kho dữ liệu ƒ kho dữ liệu - kho dữ liệu „ Luồng dữ liệu không quay lại nơi xuất phát „ Lμm mịn cần đảm bảo có đầy đủ các yếu tố của b−ớc tr−ớc (tác nhân, luồng dữ liệu, kho dữ liệu) „ Cho phép vẽ lặp tác nhân, kho dữ liệu Bộ mụn Cụng nghệ phần mềm – ĐHCN 44 NguyễnVănVỵ Các b−ớc xây dựng PDFD (biểu đồ luồng dữ liệu vật lý) „ Xây dựng mô hình nghiệp vụ: ƒ Xác định tác nhân ƒ Phân rã chức năng hệ thống ặ ( tiến trình t−ơng ứng) ƒ Vẽ DFD ngữ cảnh ƒ Tìm các hồ sơ dữ liệu ƒ Lập ma trận thực thể - chức năng „ Lμm mịn PDFD cho các mức từ DFD ngữ cảnh (sử dụng các yếu tố từ mô hình nghiệp vụ) Bộ mụn Cụng nghệ phần mềm – ĐHCN 45 NguyễnVănVỵ Ví dụ: các mức lμm mịn DFD F6 F5 F3 F2 a b c d e f g Mức 0F1 S1 S2 A1A1 A2A2F0 a b Mữc ngữ cảnh F5.1 F5.2 f e g Mức 1 s2 Bộ mụn Cụng nghệ phần mềm – ĐHCN 46 NguyễnVănVỵ Biểu đồ ngữ cảnh hệ thống ƒ Mô tả hệ thống trong môi tr−ờng ƒ Hệ thống: lμ một tiến trình duy nhất ƒ Môi tr−ờng: các tác nhân có t−ơng tác với hệ thống ƒ T−ơng tác: các luồng dữ liệu giữa tác nhân-hệ thống Hệ thống bán véKhách hμng Yêu cầu đặt vé vé DFD 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

Các file đính kèm theo tài liệu này:

  • pdfUnlock-2SEV_Dactayeucau.pdf