Xây dựng đặc tả usecase và sơ đồ usecase trong quy trình phát triển phần mềm sau giai đoạn phân tích yêu cầu. Giai đoạn thiết kế các diagram cho phần mềm, để xác định chức năng, người dùng ứng dụng ta cần thiết kế sơ đồ usecase.
Giai đoạn Phân tích hệ thống Chương Mô hình hóa use-case Chương Mô hình hóa use-case 2009 Nguyễn Trung Trực - Khoa CNTT Nội dung Định nghĩa use-case Đặc tả use-case Sơ đồ use-case Xây dựng đặc tả use-case sơ đồ usecase Chương Mô hình hóa use-case 2009 Nguyễn Trung Trực - Khoa CNTT Tác nhân Tác nhân nghiệp vụ (business actor) người giữ vai trò nghiệp vụ, phòng ban, hệ thống phần mềm khác f Xác định tác nhân nghiệp vụ để xác định nghiệp vụ thực hiện, từ xác định use-case f Một tác nhân giữ nhiều vai trò nghiệp vụ khác nhiều thời điểm khác Chương Mô hình hóa use-case 2009 Nguyễn Trung Trực - Khoa CNTT Tác nhân Assistant An employee at one of our stores who helps Customers to rent Cars and reserve Car Models Customer A person who pays us money in return for one of our standard services Member A Customer who identity and credit-worthiness have been validated and who, therefore, has access to special services (such as making Reservations by phone or over the Internet) NoMember A Customer whose identity and credit-worthiness have not been checked and who, therefore, must provide a deposit to make a Reservation or surrender a copy of their lisence to rent a Car Auk The pre-existing system that handles Customer details, Reservations, Rentals and the catalog of available Car Models DebtDepartment The department of Nowhere Cars that deals with unpaid fees LegalDepartment The department of Nowhere Cars that deals with accidents in which a rented Car has been involved Hình 4.1 Danh sách tác nhân nghiệp vụ Nowhere Cars Chương Mô hình hóa use-case 2009 Nguyễn Trung Trực - Khoa CNTT Tác nhân Tác nhân hệ thống (system actor) thực thể (external entity) tương tác trực tiếp với hệ thống (các use-case) Đa số tác nhân biểu diễn vai trò người sử dụng (user role), hệ thống (external system) Một tác nhân vai trò (role), người sử dụng cụ thể f Một người sử dụng có nhiều vai trò f Một tác nhân biểu diễn nhiều người sử dụng Chương Mô hình hóa use-case 2009 Nguyễn Trung Trực - Khoa CNTT Tác nhân Assistant An employee at a Store who contacts Members to tell them about the progress of their Reservations Customer A person using a Web browser to access iCoot system Member A Customer who has presented their name, address and CreditCard details at one of our Stores; each Member is given an Internet password to accompany their membership number Hình 4.2 Danh sách tác nhân hệ thống iCoot Chương Mô hình hóa use-case 2009 Nguyễn Trung Trực - Khoa CNTT Tác nhân Ký hiệu tác nhân f Tác nhân biểu diễn hình người f Tên tác nhân y Được ghi phía hình người y Là danh từ số y Tên tác nhân tên vai trò mà tác nhân đảm nhận, không tên công việc Hình 4.3 Ký hiệu tác nhân Chương Mô hình hóa use-case 2009 Nguyễn Trung Trực - Khoa CNTT Tác nhân Tác nhân đặt bên hệ thống Tác nhân kết nối với use-case mối liên kết tác nhân usecase f Một tác nhân liên kết với nhiều usecase f Một use-case liên kết với nhiều tác nhân Một tác nhân liên kết với tác nhân khác cách sử dụng mối liên kết tổng quát hóa (generalization association) biểu diễn mũi tên có đầu mũi tên rỗng Chương Mô hình hóa use-case 2009 Nguyễn Trung Trực - Khoa CNTT Tác nhân Xác định tác nhân f Ai đưa thông tin vào hệ thống? f Ai nhận thông tin từ hệ thống? f Các hệ thống khác tương tác với hệ thống này? Chương Mô hình hóa use-case 2009 Nguyễn Trung Trực - Khoa CNTT Tác nhân Generalization association Patient Old Patient New Patient Hình 4.4 Tổng quát hóa tác nhân Chương Mô hình hóa use-case 2009 Nguyễn Trung Trực - Khoa CNTT 10 Mối liên kết Mối liên kết (relationship) kết nối tác nhân với 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 liệu (data flow) Relationship Hình 4.15 Mối liên kết tác nhân với use-case Chương Mô hình hóa use-case 2009 Nguyễn Trung Trực - Khoa CNTT 40 Mối liên kết Mối liên kết kết nối hai use-case, cho thấy use-case sử dụng use-case khác Liên kết đến chức thường dùng, nhiều use-case khác sử dụng Use-case sở (base use-case) gọi thực use-case sử dụng (used usecase) Mũi tên từ use-case sở đến use-case sử dụng Khi thực use-case sở phải thực use-case sử dụng Chương Mô hình hóa use-case 2009 Nguyễn Trung Trực - Khoa CNTT 41 Mối liên kết Base use-case Produce schedule information Management Record availability Manage schedule Doctor Used use-case Hình 4.16 Mối liên kết use-case Chương Mô hình hóa use-case 2009 Nguyễn Trung Trực - Khoa CNTT 42 Mối liên kết Mối liên kết kết nối hai use-case, mở rộng use-case cách thêm vào hành vi 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 từ use-case chuyên biệt hóa đến use-case phổ quát Chương Mô hình hóa use-case 2009 Nguyễn Trung Trực - Khoa CNTT 43 Mối liên kết Specialized use-case Update patient information General use-case Make old patient appt Make payment arrangement Make appointment Make new patient appt Management Management Management Hình 4.17 Mối liên kết use-case Chương Mô hình hóa use-case 2009 Nguyễn Trung Trực - Khoa CNTT 44 Include Extend Sử dụng muốn mô hình hóa mở rộng cho use-case đầy đủ mà mở rộng use-case Sử dụng muốn tách hành vi chung hai nhiều use-case thành use-case tổng quát hóa (generalized use-case) Chương Mô hình hóa use-case 2009 Nguyễn Trung Trực - Khoa CNTT 45 Include Extend Hình 4.18 Các mối liên kết , tổng quát hóa Chương Mô hình hóa use-case 2009 Nguyễn Trung Trực - Khoa CNTT 46 Kiểu mở rộng Kiểu mở rộng (stereotype) thành phần (construct) dùng để mở rộng từ vựng (vocabulary) UML Thêm ngữ nghĩa cho thực thể Được mô tả ký tự giới hạn > kiểu mở rộng Chương Mô hình hóa use-case 2009 Nguyễn Trung Trực - Khoa CNTT 47 Các bước để viết use-case Xác định use-case Mở rộng use-case Xác nhận use-case Tạo sơ đồ use-case Chương Mô hình hóa use-case 2009 Nguyễn Trung Trực - Khoa CNTT 48 Viết đặc tả use-case hiệu Identify the major use-cases Review the activity diagram Find the subject’s boundaries Identify the primary actors and their goals Identify and write the overviews of the major use-cases for the above Carefully review the current use-cases Revised as needed Expand the major use-cases Choose one of the use-cases to expand Start filling in the details of the chosen use-case Write the Normal Flow of Events of the use-case If the Normal Flow of Events is too complex or long, decompose into subflows 10 List the possible alternate or exceptional flows 11 For each alternative or exceptional flow, list how the actor and/or system should react Hình 4.19 Hướng dẫn viết đặc tả use-case Chương Mô hình hóa use-case 2009 Nguyễn Trung Trực - Khoa CNTT 49 Viết đặc tả use-case hiệu Confirm the major use-cases 12 Carefully review the current set of use-cases Revised as needed 13 Start at the top again Create the use-case diagram • Draw the subject boundary • Place the use-cases on the diagram • Place the actors on the diagram • Draw the associations Hình 4.19 Hướng dẫn viết đặc tả use-case (tiếp theo) Chương Mô hình hóa use-case 2009 Nguyễn Trung Trực - Khoa CNTT 50 Xác định use-case Xác định đường biên hệ thống Liệt kê tác nhân Liệt kê mục tiêu tác nhân Xác định viết use-case Xem lại cẩn thận use-case Chương Mô hình hóa use-case 2009 Nguyễn Trung Trực - Khoa CNTT 51 Mở rộng use-case Chọn use-case để mở rộng Điền chi tiết vào đặc tả use-case Điền bước dòng kiện thông thường Chuẩn hóa kích thước bước: không phức tạp dài, phân rã thành dòng kiện Liệt kê dòng ngoại lệ khác Viết mô tả cho dòng ngoại lệ, đáp ứng tác nhân Chương Mô hình hóa use-case 2009 Nguyễn Trung Trực - Khoa CNTT 52 Xác nhận use-case Xem lại tập use-case f Xem cú pháp ngữ nghĩa f Giúp ích cho người sử dụng Lặp lại toàn bước tất use-case định nghĩa Chương Mô hình hóa use-case 2009 Nguyễn Trung Trực - Khoa CNTT 53 Tạo sơ đồ use-case Bắt đầu từ đường biên hệ thống Xác định tác nhân use-case Đặt use-case vào sơ đồ cho dễ đọc f Xác định use-case từ đặc tả usecase f Xác định mối liên kết use-case Đặt tác nhân vào sơ đồ Kết thúc cách nối tác nhân với use-case mối liên kết Chương Mô hình hóa use-case 2009 Nguyễn Trung Trực - Khoa CNTT 54 [...]... 24 Các bước tạo use- case Viết mô tả chi tiết (văn bản) cho use- case, dùng bản đặc tả use- case Chuyển mô tả thành các sơ đồ: sơ đồ lớp, sơ đồ tuần tự, … Chương 4 Mô hình hóa use- case 2009 Nguyễn Trung Trực - Khoa CNTT 25 Các loại use- case Phân loại use- case dựa vào mục đích và lượng thông tin của use- case Use- case khái quát và use- case chi tiết f Use- case khái quát (overview use- case) cho phép... thông tin cơ bản về use- case: tên use- case, số ID, tác nhân chính, loại và mô tả vắn tắt của use- case f Use- case chi tiết (detail use- case) cung cấp tất cả thông tin cần thiết cho use- case y Được chuyển từ use- case khái quát Chương 4 Mô hình hóa use- case 2009 Nguyễn Trung Trực - Khoa CNTT 26 Các loại use- case Use- case chính yếu và use- case thực f Use- case chính (major use- case) chỉ mô tả các vấn đế... tượng hóa Bảo đảm use- case bao gồm các bước hợp lý Chương 4 Mô hình hóa use- case 2009 Nguyễn Trung Trực - Khoa CNTT 34 Hướng dẫn tạo mô tả use- case Á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 Chương 4 Mô hình hóa use- case 2009 Nguyễn Trung Trực - Khoa CNTT 35 Tổng quát hóa giữa các use- case Một use- case phổ quát (general use- case) ... thống đáp ứng như thế nào (how) Use- case biểu diễn một quá trình nghiệp vụ quan trọng Chương 4 Mô hình hóa use- case 2009 Nguyễn Trung Trực - Khoa CNTT 14 Use- case Use- case được tạo ra trong giai đoạn phân tích và có thể được sử dụng trong quá trình phát triển Use- case được dùng để mô hình hóa những gì xảy ra trong hệ thống hiện tại hoặc để mô hình hóa hệ thống mới Use- case được dùng để ghi nhận hiểu... hiểu biết về cách thực hiện nghiệp vụ (mô hình hóa yêu cầu nghiệp vụ - business requirements modeling) và mô tả hệ thống mới có khả năng thực hiện nghiệp vụ (mô hình hóa yêu cầu hệ thống - system requirements modeling) Chương 4 Mô hình hóa use- case 2009 Nguyễn Trung Trực - Khoa CNTT 15 Use- case Use- case nghiệp vụ (business use- case) sử dụng cách mô tả quen thuộc để mô tả một điều gì đó đã tồn tại – dùng... 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 đặc tả use- case (use- case description) Chương 4 Mô hình hóa use- case 2009 Nguyễn Trung Trực - Khoa CNTT 29 Bản đặc tả use- case Use- case name: ID: Primary... f Use- case thực (real use- case) mô tả các bước cụ thể, chi tiết hóa của use- case chính yếu y Thực hiện như thế nào (how) Chương 4 Mô hình hóa use- case 2009 Nguyễn Trung Trực - Khoa CNTT 27 Các loại use- case Actor System 1 The user enters the name and address of the car sharer in the Car Sharer entry window The system confirms that the address can be matched against the geographical database 2 The user... của usecase, bao gồm chuỗi các hành động Chương 4 Mô hình hóa use- case 2009 Nguyễn Trung Trực - Khoa CNTT 21 Mục đích tạo các use- case Sử dụng ký hiệu đồ họa đơn giản, dễ hiểu để những người sử dụng có thể liên lạc với nhau về cái nhìn mức cao của hệ thống Dùng để xác định các đặc tả kiểm tra (test specification) Chương 4 Mô hình hóa use- case 2009 Nguyễn Trung Trực - Khoa CNTT 22 Ký hiệu use- case. .. CNTT 22 Ký hiệu use- case 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 Tên của use- case f Đượ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 f Bao gồm các ký tự chữ, số, dấu phân cách Chương 4 Mô hình hóa use- case 2009 Nguyễn Trung Trực... iCoot Hình 4.8 Các use- case hệ thống của iCoot Chương 4 Mô hình hóa use- case 2009 Nguyễn Trung Trực - Khoa CNTT 20 Mục đích tạo các use- case Mô hình hóa chuỗi các hành động mà hệ thống thực hiện và tạo ra kết quả hữu ích cho người sử dụng hoặc hệ thống bên ngoài (được gọi là tác nhân) Cung cấp cái nhìn mức cao về hệ thống làm gì và ai sử dụng hệ thống này Xác định giao tiếp người - máy Mô hình hóa