Bài giảng Mô hình hóa chức năng

Các qui tắc và các hướng dẫn về use-case và sơ đồ use-case. ™Quá trình dùng để tạo use-case và sơ đồ use-case. ™Tạo các mô hình chức năng sử dụng use-case và sơ đồ use-case.

pdf34 trang | Chia sẻ: haohao89 | Lượt xem: 2193 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài giảng Mô hình hóa chức năng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 6. Mô hình hóa chức năng 2006 1Nguyễn Trung Trực - Khoa CNTT Chương 6 Mô hình hóa chức năng Chương 6. Mô hình hóa chức năng 2006 2Nguyễn Trung Trực - Khoa CNTT ™ Các qui tắc và các hướng dẫn về use-case và sơ đồ use-case. ™ Quá trình dùng để tạo use-case và sơ đồ use-case. ™ Tạo các mô hình chức năng sử dụng use- case và sơ đồ use-case. Nội dung Chương 6. Mô hình hóa chức năng 2006 3Nguyễn Trung Trực - Khoa CNTT Các thành phần của sơ đồ use-case Chương 6. Mô hình hóa chức năng 2006 4Nguyễn Trung Trực - Khoa CNTT ™ Use-case là một chuỗi các tác vụ mà hệ thống thực hiện để đạt được mục đích nào đó của người sử dụng hoặc hệ thống bên ngoài. ™ Use-case dùng để mô tả một hành vi cụ thể của hệ thống dưới các điều kiện khác nhau khi hệ thống đáp ứng các yêu cầu của người sử dụng. f Người sử dụng có thể làm gì. f Hệ thống đáp ứng như thế nào. ™ Use-case biểu diễn một quá trình nghiệp vụ quan trọng. Use-case Chương 6. Mô hình hóa chức năng 2006 5Nguyễn Trung Trực - Khoa CNTT ™ Ký hiệu use-case f Use-case được biểu diễn bằng một hình bầu dục, cho phép người phân tích nhìn thấy mỗi use-case liên quan đến tác nhân và các use- case khác trong hệ thống hoặc hệ thống con. f Tên của use-case y Được ghi trong hình bầu dục hoặc ở phía dưới, nhưng phải nhất quán trong cùng một mô hình. y Bao gồm các ký tự chữ, số, dấu phân cách. Use-case Chương 6. Mô hình hóa chức năng 2006 6Nguyễn Trung Trực - Khoa CNTT ™ Ký hiệu use-case f Tên của use-case y Không chứa dấu hai chấm (:) vì dấu này dùng để phân cách tên use-case với tên gói (package name). y Bắt đầu bằng động từ, theo sau là một danh từ hoặc cụm danh từ để mô tả hành vi của hệ thống. Ví dụ: Make appointment, Produce schedule information. Use-case Make appointment Produce schedule information Chương 6. Mô hình hóa chức năng 2006 7Nguyễn Trung Trực - Khoa CNTT ™ Các bước tạo một use-case f Viết mô tả chi tiết (văn bản) cho use-case, dùng bản mô tả use-case. f Chuyển mô tả thành các sơ đồ: sơ đồ lớp, sơ đồ tuần tự, … Tạo use-case Chương 6. Mô hình hóa chức năng 2006 8Nguyễn Trung Trực - Khoa CNTT Bản mô tả use-case ™ Use-case có thể được mô tả: f Bằng văn bản có cấu trúc: ví dụ mã giả (pseudo code). f Thông qua đặc tả hành vi (behavior specification) được biểu diễn bởi một liên kết đến một sơ đồ khác: ví dụ sơ đồ cộng tác (collaboration diagram). ™ Sử dụng bản mô tả use-case (use-case description). Chương 6. Mô hình hóa chức năng 2006 9Nguyễn Trung Trực - Khoa CNTT Bản mô tả use-case Use-case name: ID: Importance level: Primary actor: Use-case type: Stakeholders and interests: Brief description: Trigger: Type: Relationships: (Association, Include, Extend, Generalization) Normal flow of events: Subflows: Alternative/exceptional flows: Bản mô tả use-case Chương 6. Mô hình hóa chức năng 2006 10Nguyễn Trung Trực - Khoa CNTT ™ Viết mỗi bước theo dạng “SVDPI” (Subject-Verb-Direct Object / Preposition- Indirect Object). ™ Làm rõ người bắt đầu (initiator) và người nhận (receiver) của tác vụ. ™ Viết các bước từ góc nhìn của người quan sát (observer) riêng biệt. ™ Viết các bước ở cùng một mức trừu tượng hóa. ™ Bảo đảm use-case bao gồm các bước hợp lý. Hướng dẫn tạo mô tả use-case Chương 6. Mô hình hóa chức năng 2006 11Nguyễn Trung Trực - Khoa CNTT ™ Áp dụng nguyên tắc KISS (Keep It Simple Stupid) tùy nghi. ™ Viết các chỉ thị lặp vòng cho các bước được lặp lại. Hướng dẫn tạo mô tả use-case Chương 6. Mô hình hóa chức năng 2006 12Nguyễn Trung Trực - Khoa CNTT Tổng quát hóa giữa các use-case ™ Một use-case phổ quát (general use-case) có nhiều phiên bản khác nhau, được gọi là use-case chuyên biệt (specialized use- case). ™ Các use-case chuyên biệt thực hiện một số hành động giống nhau và một số hành động khác nhau riêng biệt. ™ Mối liên kết tổng quát hóa (specialization association) được biểu diễn bởi một mũi tên có đầu mũi tên rỗng, đi từ use-case chuyên biệt đến use-case phổ quát. Chương 6. Mô hình hóa chức năng 2006 13Nguyễn Trung Trực - Khoa CNTT Tổng quát hóa giữa các use-case Make appointment Make old patient appt Make new patient appt General use-case Specialized use-case Generalization association Chương 6. Mô hình hóa chức năng 2006 14Nguyễn Trung Trực - Khoa CNTT Tổng quát hóa giữa các use-case ™ Use-case chuyên biệt thừa kế các hành động của use-case phổ quát. ™ Đôi khi use-case phổ quát không tồn tại thực sự trong hệ thống thực, được gọi là use-case trừu tượng (abstract use-case), nó chỉ dùng để cho thấy các hành động chung của các use-case chuyên biệt. f Tên của use-case trừu tượng được viết nghiêng. Chương 6. Mô hình hóa chức năng 2006 15Nguyễn Trung Trực - Khoa CNTT ™ Tác nhân (actor) là thực thể ngoài (external entity) tương tác với hệ thống (các use-case). ™ Đa số các tác nhân biểu diễn các vai trò của người sử dụng (user role) nhưng các tác nhân cũng có thể là các hệ thống ngoài (external system). ™ Một tác nhân là một vai trò (role), không phải là một người sử dụng cụ thể. fMột người sử dụng có thể có nhiều vai trò. fMột tác nhân có thể biểu diễn nhiều người sử dụng. Tác nhân Chương 6. Mô hình hóa chức năng 2006 16Nguyễn Trung Trực - Khoa CNTT ™ Ký hiệu tác nhân f Tác nhân được biểu diễn bằng một hình người. f Tên của tác nhân y Được ghi ở phía dưới hình người. y Là một danh từ số ít. y Tên của tác nhân là tên của vai trò mà tác nhân đảm nhận, không là tên công việc. Tác nhân Chương 6. Mô hình hóa chức năng 2006 17Nguyễn Trung Trực - Khoa CNTT ™ Tác nhân được đặt bên ngoài hệ thống. ™ Tác nhân được kết nối với use-case bằng một mối liên kết giữa tác nhân và use- case. fMột tác nhân có thể liên kết với nhiều use- case. fMột use-case có thể liên kết với nhiều tác nhân. ™ Một tác nhân có thể liên kết với các tác nhân khác bằng cách sử dụng mối liên kết tổng quát hóa (generalization association) được biểu diễn bởi một mũi tên có đầu mũi tên rỗng. Tác nhân Chương 6. Mô hình hóa chức năng 2006 18Nguyễn Trung Trực - Khoa CNTT ™ Xác định các tác nhân f Ai sẽ đưa thông tin vào hệ thống? f Ai sẽ nhận thông tin từ hệ thống? f Các hệ thống khác sẽ thương tác với hệ thống này? Tác nhân Chương 6. Mô hình hóa chức năng 2006 19Nguyễn Trung Trực - Khoa CNTT Tác nhân Old Patient New Patient Patient Generalization association Chương 6. Mô hình hóa chức năng 2006 20Nguyễn Trung Trực - Khoa CNTT ™ Đường biên hệ thống (system boundary) là đường phân chia giữa hệ thống với môi trường. f Các use-case ở bên trong đường biên. f Các tác nhân ở bên ngoài đường biên. Đường biên hệ thống System System boundary Chương 6. Mô hình hóa chức năng 2006 21Nguyễn Trung Trực - Khoa CNTT ™ Mối liên kết (relationship) là một kết nối giữa một tác nhân với một use-case. ™ Mối liên kết mô tả mối quan hệ sử dụng (usage relationship). ™ Mối liên kết không cho biết dòng dữ liệu (data flow). Mối liên kết Relationship Chương 6. Mô hình hóa chức năng 2006 22Nguyễn Trung Trực - Khoa CNTT ™ Mối liên kết > là một kết nối giữa hai use-case, cho thấy một use-case được sử dụng bởi một use-case khác. ™ Liên kết đến các chức năng thường dùng, được nhiều use-case khác sử dụng. ™ Mũi tên đi từ use-case cơ sở (base use- case) đến use-case được sử dụng (used use-case). Mối liên kết > Chương 6. Mô hình hóa chức năng 2006 23Nguyễn Trung Trực - Khoa CNTT Mối liên kết > Produce schedule information Management Doctor Record availability Manage schedule > > Base use-case Used use-case Chương 6. Mô hình hóa chức năng 2006 24Nguyễn Trung Trực - Khoa CNTT ™ Mối liên kết > là một kết nối giữa hai use-case, mở rộng một use-case bằng cách thêm vào một hành vi mới. ™ Use-case chuyên biệt hóa (specialized use-case) mở rộng use-case phổ quát (general use-case). ™ Mũi tên đi từ use-case chuyên biệt hóa đến use-case phổ quát. Mối liên kết > Chương 6. Mô hình hóa chức năng 2006 25Nguyễn Trung Trực - Khoa CNTT Mối liên kết > Update patient information Management Management Make appointment Make old patient appt > Make new patient appt Make payment arrangement > Management Specialized use-case General use-case Chương 6. Mô hình hóa chức năng 2006 26Nguyễn Trung Trực - Khoa CNTT ™ Sử dụng > khi muốn mô hình hóa sự mở rộng cho một use-case đầy đủ mà sự mở rộng này chỉ ở trong use-case này. ™ Sử dụng > khi muốn tách ra một hành vi chung giữa hai hoặc nhiều use-case thành một use-case tổng quát hóa (generalized use-case). Include và Extend Chương 6. Mô hình hóa chức năng 2006 27Nguyễn Trung Trực - Khoa CNTT Include và Extend Các mối liên kết >, > và tổng quát hóa Chương 6. Mô hình hóa chức năng 2006 28Nguyễn Trung Trực - Khoa CNTT ™ Kiểu mở rộng (stereotype) là một thành phần (construct) dùng để mở rộng từ vựng (vocabulary) của UML. ™ Thêm các ngữ nghĩa mới cho các thực thể hiện tại. ™ Được mô tả bởi các ký tự giới hạn << và >>. ™ > và > là các kiểu mở rộng. Kiểu mở rộng Chương 6. Mô hình hóa chức năng 2006 29Nguyễn Trung Trực - Khoa CNTT ™ Xác định các use-case chính. ™ Mở rộng use-case chính. ™ Xác nhận các use-case chính. ™ Tạo sơ đồ use-case. Các bước chính để viết use-case Chương 6. Mô hình hóa chức năng 2006 30Nguyễn Trung Trực - Khoa CNTT Viết mô tả use-case hiệu quả Chương 6. Mô hình hóa chức năng 2006 31Nguyễn Trung Trực - Khoa CNTT ™ Xác định đường biên hệ thống. ™ Liệt kê các tác nhân chính. ™ Liệt kê các mục tiêu của mỗi tác nhân chính. ™ Xác định và viết các use-case chính. ™ Xem lại cẩn thận các use-case. Xác định các use-case chính Chương 6. Mô hình hóa chức năng 2006 32Nguyễn Trung Trực - Khoa CNTT ™ Chọn một use-case chính để mở rộng. ™ Điền các chi tiết vào bản mô tả use-case. ™ Điền các bước của các dòng sự kiện thông thường. ™ Chuẩn hóa kích thước của mỗi bước: không quá phức tạp hoặc quá dài, có thể phân rã thành các dòng sự kiện con. ™ Liệt kê các dòng ngoại lệ khác. ™ Viết mô tả cho mỗi dòng ngoại lệ, sự đáp ứng của các tác nhân. Mở rộng các use-case chính Chương 6. Mô hình hóa chức năng 2006 33Nguyễn Trung Trực - Khoa CNTT ™ Xem lại tập các use-case hiện tại. f Xem cú pháp và ngữ nghĩa. fGiúp ích cho những người sử dụng. ™ Lặp lại toàn bộ các bước cho đến khi tất cả các use-case được định nghĩa. Xác nhận các use-case chính Chương 6. Mô hình hóa chức năng 2006 34Nguyễn Trung Trực - Khoa CNTT ™ Bắt đầu từ đường biên hệ thống. ™ Xác định các tác nhân và các use-case. ™ Đặt các use-case vào sơ đồ sao cho dễ đọc. f Xác định các use-case từ các bản mô tả use- case. f Xác định các mối liên kết > và > giữa các use-case. ™ Đặt các tác nhân vào sơ đồ. ™ Kết thúc bằng cách nối các tác nhân với các use-case bằng các mối liên kết. Tạo sơ đồ use-case