Bài giảng Công nghệ phần mềm nâng cao - Đặc tả yêu cầu phần mềm

pdf 34 trang huongle 3530
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Công nghệ phần mềm nâng cao - Đặc tả yêu cầu phần mềm", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_cong_nghe_phan_mem_nang_cao_dac_ta_yeu_cau_phan_me.pdf

Nội dung text: Bài giảng Công nghệ phần mềm nâng cao - Đặc tả yêu cầu phần mềm

  1. Đặc Tả Yêu Cầu Phần Mềm Công Nghệ Phần Mềm Nâng Cao
  2. Outline  Mục tiêu và yêu cầu  Phân tích yêu cầu  Các phương pháp đặc tả Đặc tả phi hình thức Đặc tả hình thức Các công cụ  Chuẩn tài liệu đặc tả Pham Ngoc Hung, Coltech, VNU, 2009 2
  3. Mục tiêu và Yêu cầu của PM Mục tiêu  Mục tiêu: cái cần hướng tới  Yêu cầu: cái cụ thể mà có thể Yêu cầu kiểm tra được  Yêu cầu chức năng mô tả một chức năng (dịch vụ) cụ thể mà phần mềm cần cung cấp  Yêu cầu phi chức năng Các ràng buộc về chất lượng, về môi trường, chuẩn sử dụng, qui trình phát triển phần mềm Pham Ngoc Hung, Coltech, VNU, 2009 3
  4. Mục tiêu và Yêu cầu của PM (cont.)  Yêu cầu về sản phẩm Tốc độ, độ tin cậy, bộ nhớ, giao diện, qui trình tác nghiệp,  Yêu cầu về tiến trình phát triển các chuẩn, phương pháp thiết kế, ngôn ngữ lập trình  Yêu cầu ngoại lai Về chi phí, về thời gian, về bản quyền, Pham Ngoc Hung, Coltech, VNU, 2009 4
  5. Tiến trình phân tích yêu cầu Pham Ngoc Hung, Coltech, VNU, 2009 5
  6. Thảo luận  Có những phương pháp thu thập yêu cầu nào?  Những khó khăn của thu thập và phân tích yêu cầu? Pham Ngoc Hung, Coltech, VNU, 2009 6
  7. Đặc tả yêu cầu phần mềm  Đặc tả các yêu cầu phần mềm là công việc xây dựng các tài liệu đặc tả, trong đó có thể sử dụng tới các công cụ như:  mô hình hóa, mô hình toán học hình thức (a formal mathematical model)  tập hợp các kịch bản sử dụng, các nguyên mẫu hoặc bất kỳ một tổ hợp các công cụ nói trên  Chất lượng của hồ sơ đặc tả đánh giá qua các tiêu thức  Tính rõ ràng, chính xác  Tính phù hợp  Tính đầy đủ, hoàn thiện Pham Ngoc Hung, Coltech, VNU, 2009 7
  8. Đặc tả yêu cầu phần mềm (cont.)  Các thành phần của hồ sơ đặc tả Đặc tả phi hình thức (Informal specifications)  được viết bằng ngôn ngữ tự nhiên Đặc tả hình thức (Formal specifications)  được viết bằng tập các ký pháp có các quy định về cú pháp (syntax) và ý nghĩa (sematic) rất chặt chẽ Đặc tả vận hành chức năng (Operational specifications)  mô tả các hoạt động của hệ thống phần mềm sẽ xây dựng Đặc tả mô tả (Descriptive specifications)  đặc tả các đặc tính đặc trưng của phần mềm Pham Ngoc Hung, Coltech, VNU, 2009 8
  9. Đặc tả yêu cầu phần mềm (cont.)  Đặc tả chức năng (Operational Specifications): thông thường khi đặc tả các chức năng của phần mềm người ta sử dụng các công cụ tiêu biểu sau:  Biểu đồ phân rã chức năng (Functional Decomposition Diagram – FDD)  Biểu đồ luồng dữ liệu (Data Flow Diagrams-DFD)  Máy trạng thái hữu hạn (Finite State Machines  Automata, LTS, Kripke structures,  Mạng Petri (Petri nets)  Pham Ngoc Hung, Coltech, VNU, 2009 9
  10. Đặc tả yêu cầu phần mềm (cont.)  Đặc tả mô tả (Descriptive Specifications) Biểu đồ thực thể liên kết (Entity- Relationship Diagrams - ERD) Đặc tả Logic (Logic Specifications) Đặc tả đại số (Algebraic Specifications) Pham Ngoc Hung, Coltech, VNU, 2009 10
  11. Functional 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 Pham Ngoc Hung, Coltech, VNU, 2009 11
  12. FDD: Ví dụ Pham Ngoc Hung, Coltech, VNU, 2009 12
  13. Data Flow Diagrams - DFD  Hệ thống (System): tập hợp các dữ liệu (data) được xử lý bằng các chức năng tương ứng (functions)  Các ký pháp sử dụng: Thể hiện các chức năng (functions) Thể hiện luồng dữ liệu Kho dữ liệu Vào ra dữ liệu và tương tác giữa hệ thống và người sử dụng Pham Ngoc Hung, Coltech, VNU, 2009 13
  14. DFD của HT bán vé  Biểu đồ ngữ cảnh  Hệ thống mô tả bằng một tiến trình  Không có kho dữ liệu  Liệt kê các tác nhân ngoài đặt vé Khách hàng Hệ thống bán vé vé Pham Ngoc Hung, Coltech, VNU, 2009 14
  15. DFD mức 1 kh¸ch hµng b¶ng giê tÇu Kiểm tra Nhập giờ tầu thông tin ĐÆt chç Ph¸t hµnh kh¸ch hµng vÐ chç ®· ®Æt b¶ng gi¸ vÐ 15 Pham Ngoc Hung, Coltech, VNU, 2009 15
  16. Entity-Relationship Diagrams - ERD  Mô hình khái niệm cho phép đặc tả các yêu cầu logic của hệ thống, thường được sử dụng trong các hệ thống dữ liệu lớn  ER Model  Thực thể  Quan hệ  Thuộc tính  Biểu đồ thực thể 1 N Bookstore Orders Books Pham Ngoc Hung, Coltech, VNU, 2009 16
  17. Ví dụ ERD mô tả thư viện Pham Ngoc Hung, Coltech, VNU, 2009 17
  18. Thảo luận  Các công cụ thường dùng hiện nay để đặc tả yêu cầu? Pham Ngoc Hung, Coltech, VNU, 2009 18
  19. Formal Methods  hình vẽ + biểu thức  đặc tả bằng công thức toán học  đặc tả bằng sơ đồ  đặc tả bằng ngôn ngữ đặc tả  Ưu điểm: tính chính xác (duy nhất) của định nghĩa (đặc tả)  Nhược điểm: khó hiểu, mất t. gian, khó đặc tả yêu cầu phi chức năng " không ai biết chắc chắn phải làm gì khi chưa có đặc tả" Pham Ngoc Hung, Coltech, VNU, 2009 19
  20. Ví dụ đặc tả bằng toán học ::= | ::= { } ::= . { } | . { } E | E ::= | ::= + | - Pascal number syntax Pham Ngoc Hung, Coltech, VNU, 2009 20
  21. Ví dụ đặc tả bằng sơ đồ unsigned integer digit unsigned number + unsigned integer . digit E unsigned integer - Pham Ngoc Hung, Coltech, VNU, 2009 21
  22. Finite State Machines (FSM)  M = ‹Q, Σ, δ, q0›  Q : Finite set of states,  Σ : Set of actions,  q0 : Initial state  δ  Q x Σ x Q : A deterministic transition relation  A run/trace of M is an action sequence a1a2 an s.t. there exists a state sequence s0s1 sn (s0 = q0) for 0 ≤ i < n, (si, ai+1, si+1) δ  L(M): Language of M in send 0 1 2 ack Pham Ngoc Hung, Coltech, VNU, 2009 22
  23. Đặc tả các yêu cầu phần mềm bằng FSM  Xem xét ví dụ về thư viện với các giao dịch như sau: Mượn sách/Trả sách Thêm đầu sách/Loại bỏ đầu sách Liệt kê danh sách các đầu sách theo tên tác giả hay theo chủ đề Tìm kiếm sách theo các yêu cầu của người mượn Tìm kiếm sách quá hạn trả, . . . Pham Ngoc Hung, Coltech, VNU, 2009 23
  24. Đặc tả các yêu cầu phần mềm bằng FSM (cont.)  Các yêu cầu đặc biệt của thư viện: Độc giả không được mượn quá một số lượng sách nhất định, trong một thời gian nhất định Một số sách không được mượn về Một số người không được mượn một số loại sách nào đó, . . . Pham Ngoc Hung, Coltech, VNU, 2009 24
  25. Đặc tả các yêu cầu phần mềm bằng FSM (cont.) Các đối tượng – Tên sách Mã quyển Nhân viên phục vụ Người mượn  Chúng ta cần có tập hợp (danh sách) các tiêu đề sách, danh sách các tác giả cho từng quyển sách, danh sách các chủ đề liên quan của các quyển sách  Ta có tập hợp các sách (mỗi đầu sách có thể có nhiều quyển sách trong thư viện). Mỗi quyển sách có thể có 1 trong 5 trạng thái sau:  (AV) - Available được phép mượn, (CO) - (BR) - đã mượn (Check Out; Borrow), (L): Last, (R): Remove Pham Ngoc Hung, Coltech, VNU, 2009 25
  26. FSM đặc tả các trạng thái CO AV BR L R Pham Ngoc Hung, Coltech, VNU, 2009 26
  27. Tài liệu yêu cầu  Chỉ mô tả về chức năng, ràng buộc  Không mô tả về phương pháp cài đặt  Phải dễ thay đổi (có cấu trúc)  khó xác định được đầy đủ chính xác ngay  phải qua nhiều bước xét duyệt lại  Tài liệu cần có:  Tính rõ ràng, chính xác  Tính phù hợp  Tính đầy đủ, hoàn thiện Pham Ngoc Hung, Coltech, VNU, 2009 27
  28. Định dạng của tài liệu yêu cầu  Software Requirement Specification - SRS  Chuẩn IEEE 830-1984 1. Giới thiệu 2. Mô tả chung 3. Yêu cầu chi tiết 4. Phụ lục (nếu có) Pham Ngoc Hung, Coltech, VNU, 2009 28
  29. 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 Pham Ngoc Hung, Coltech, VNU, 2009 29
  30. 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 Pham Ngoc Hung, Coltech, VNU, 2009 30
  31. 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 Pham Ngoc Hung, Coltech, VNU, 2009 31
  32. 3. Yêu cầu chi tiết (cont.) 3.2 Yêu cầu giao diện ngoài 3.2.1 Giao diện người dùng 3.2.2 Giao diện phần cứng 3.2.3 Giao diện phần mềm 3.2.4 Giao diện truyền thông 3.3 Yêu cầu hiệu suất 3.4 Ràng buộc thiết kế 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 Pham Ngoc Hung, Coltech, VNU, 2009 32
  33. Tổng kết  Mục tiêu và yêu cầu  Phân tích yêu cầu  Các phương pháp đặc tả Đặc tả phi hình thức Đặc tả hình thức Các công cụ  Chuẩn tài liệu đặc tả IEEE 830-1984 Pham Ngoc Hung, Coltech, VNU, 2009 33
  34. Thông báo  Các nhóm tiến hành phân tích và đặc tả yêu cầu Tiến hành thảo luận với nhóm đề xuất để thống nhất các yêu cầu (chú ý các yêu cầu phi chức năng) Đặc tả yêu cầu theo chuẩn IEEE 830-1984 Nộp tài liệu trước 17h ngày 15/01/2010 Pham Ngoc Hung, Coltech, VNU, 2009 34