BÀI 7 LÀM VIỆC VỚI CÁC USE CASE DIAGRAM

Chia sẻ: Luongnguyenviet Cuong | Ngày: | Loại File: PDF | Số trang:6

0
427
lượt xem
96
download

BÀI 7 LÀM VIỆC VỚI CÁC USE CASE DIAGRAM

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Use case là một khái niệm hữu ích giúp phân tích viên hiểu được hành vi của hệ thống. Nó giúp ta ghi nhận các yêu cầu từ quan điểm người dùng. Nội dung chính trong bài học này: + Biểu diễn một mô hình use case (use case model) + Trực quan hóa mối quan hệ giữa các use case + Tìm hiểu vai trò của các use case diagram trong quá trình phát triển + Tạo và ứng dụng các mô hình use case + Xem xét bức tranh tổng thể của UML...

Chủ đề:
Lưu

Nội dung Text: BÀI 7 LÀM VIỆC VỚI CÁC USE CASE DIAGRAM

  1. BÀI 7 LÀM VIỆC VỚI CÁC USE CASE DIAGRAM Use case là một khái niệm hữu ích giúp phân tích viên hiểu được hành vi của hệ thống. Nó giúp ta ghi nhận các yêu cầu từ quan điểm người dùng. Nội dung chính trong bài học này: + Biểu diễn một mô hình use case (use case model) + Trực quan hóa mối quan hệ giữa các use case + Tìm hiểu vai trò của các use case diagram trong quá trình phát triển + Tạo và ứng dụng các mô hình use case + Xem xét bức tranh tổng thể của UML Biểu diễn một mô hình use case (Use Case Model) Một actor kích hoạt một use case và một actor cũng nhận các giá trị trả về từ use case. Hình ellipse biểu diễn use case, hình người gậy biểu diễn actor. Actor kích hoạt (initiating actor) nằm bên trái của use case trong khi actor nhận (receiving actor) nằm bên phải. Tên của actor xuất hiện bên dưới actor. Tên của use case xuất hiện bên trong hoặc dưới elippse. Một đường nối giữa một actor và use case biểu diễn sự liên lạc giữa actor và use case. Một ưu điểm của phân tích use case là cho thấy ranh giới (boundary) giữa hệ thống với thế giới bên ngoài. Actor đặc trưng cho bên ngoài hệ thống, trong khi use case là bên trong. Ta dùng một hình chữ nhật để biểu diễn ranh giới hệ thống (system boundary). Thuật ngữ: Các tác nhân (actor), các use case và các đường nối tạo nên một mô hình use case (use case model). Hình 7.1 Trong một use case model, hình người gậy (stick) biểu diễn một actor, hình ellipse biểu diễn một use case và một đường nối biểu diễn liên lạc giữa actor và use case. Trang 1 – Bài 7
  2. Xem lại ví dụ “Soda machine” Áp dụng những ký hiệu vừa học vào ví dụ bài trước. Ta xây dựng các use case cho một “soda machine”. Trong hệ thống có các use case “Buy soda”, “Restock” và “Collect”. Các actor là Customer, Supplier’s Representative và Collector. Hình 7.2 biểu diễn mô hình use case cho “soda machine”. Hình 7.2 Một mô hình use case của “soda machine”. Theo dõi các bước trong kịch bản: Mỗi use case là một tập hợp các kịch bản (scenario) và mỗi kịch bản là một chuỗi các bước (step). Các bước không xuất hiện trong sơ đồ cũng như trong các ghi chú đính kèm các use case. Mặc dù vậy UML không ngăn cấm việc này. Sự rõ ràng là điều quan trọng trong việc tạo bất cứ diagram nào. Việc đính kèm ghi chú cho từng use case đôi khi làm rối diagram. Use case diagram thường là một phần trong tài liệu thiết kế mà khách hàng và đội phát triển cùng tham khảo. Mỗi diagram trên một trang riêng. Mỗi kịch bản cho mỗi use case cũng đặt trong một trang riêng, liệt kê theo dạng sau: Actor mà kích hoạt use case. Tiền điều kiện (precondition) cho use case. Các bước (step) trong kịch bản (scenario). Hậu điều kiện (postcondition) khi kịch bản hoàn tất. Actor nhận kết quả từ use case. Ta cũng có thể trình bày các giả sử cho kịch bản (ví dụ, mỗi lượt chỉ một người dùng soda machine) và một mô tả ngắn gọn (brief description) của kịch bản. Trang 2 – Bài 7
  3. Biểu diễn mối liên kết (relationship) giữa các use case: Thuật ngữ: Ví dụ trong bài 6 đã cho thấy 2 cách thức mà các use case có thể liên kết với nhau. Một cách là bao gồm (inclusion), cho phép tái sử dụng các step của một use case này bên trong một use case khác. Cách khác là mở rộng (extension), cho phép tạo một use case mới bằng cách bổ sung một số step vào một use case sẵn có. Thuật ngữ: Hai loại quan hệ khác là tổng hợp hóa (generalization) và nhóm (grouping). Giống như trường hợp các class, generalization có một use case thừa kế từ use case khác. Grouping là một cách đơn giản để gom nhóm các use case. Bao gồm (inclusion) Xét các use case “Restock” và “Collect” trong ví dụ của bài 6. Chúng đều bắt đầu với các bước mở khóa, mở máy và kết thúc với các bước đóng máy, khóa máy. Use case “Mở máy” đã được tạo ra để they thế cho hai bước đầu còn use case “Đóng máy” thay thế cho hai bước cuối. Để biểu diễn quan hệ bao gồm (inclusion), ta dùng biểu tượng mà đã dùng cho sự phụ thuộc (dependency) giữa các class, một đường đứt nét nối các class với mũi tên chỉ đến class phụ thuộc. Ngay phía trên đường inclusion, ta thêm một stereotype . Chú ý: Use case bao gồm (included use case) không bao gồm đứng một mình. Nó luôn là một phần của một use case khác chứa nó. Hình 7.3 Mô hình use case của máy soda với inclusion. Trang 3 – Bài 7
  4. Mở rộng (extension): Thuật ngữ: theo như bài 6, use case “Restock” là cơ sở cho use case “Restock according to sales”. Use case mới được gọi là mở rộng (extend) use case ban đầu vì nó thêm các bước mới vào trình tự trong use case gốc, được gọi là use case cơ sở (base). Thuật ngữ: Việc mở rộng chỉ xảy ra tại một số điểm cụ thể trong trình tự của use case cơ sở. Những điểm này gọi là điểm mở rộng (extension point). Trong use case “Restock”, những bước mới (chú ý đến loại hàng bán và quyết định loại nhãn bán nhiều hơn) xuất hiện sau khi nhà cung cấp mở máy soda và sẵn sàng nạp soda. Điểm mở rộng là “Nạp các ngăn chứa” (Fill the compartment). Giống như inclusion, ta trực quan hóa extension với đường phụ thuộc kèm theo stereotype . Trong use case cơ sở, điểm mở rộng xuất hiện dưới tên của use case. Hình 7.4 Một use case diagram biểu diễn extension và inclusion. Sự tổng quát hóa (generalization) Các class có thể thừa kế từ một lớp khác và use case cũng vậy. Trong việc thừa kế use case, use case con thừa kế các hành vi và ngữ nghĩa từ cha, và bổ sung thêm các hành vi riêng của nó. Ta có thể áp dụng use case con bất cứ nơi nào mà ta có thể áp dụng use case cha. Trong ví dụ, use case “Buy a cup of soda” nếu có sẽ thừa kế từ use case “Buy soda”. Use case con sẽ thêm các hành vi như “add ice” và “mix soda brands”. Ta mô hình hóa generalization của use case tương tự như mô hình hóa generalization của các class. Hình 7.5 Một use case có thể thừa kế ý nghĩa và hành vi từ use case khác. Mối quan hệ generalization có thể tồn tại giữa các actor cũng như giữa các use case. Ta có thể trình bày người đại diện nhà cung cấp và người thu ngân như là các nhân viên của nhà cung cấp. Nếu ta đổi tên người đại diện là Restocker thì Restocker và Collector đều là con của Supplier Agent. Trang 4 – Bài 7
  5. Hình 7.6 Giống như các class và use case, actor cũng có thể có mối quan hệ tổng quát hóa. Bức tranh tổng thể Hiện giờ chúng ta đã nắm được cách thức tổ chức của UML. Hình 7.7 trực quan hóa các tổ chức đó. Hình 7.7 Tổ chức của UML Tóm lược Use case là một công cụ mạnh mẽ cho việc thu thập yêu cầu chức năng. Use case diagram bổ sung thêm sức mạnh bởi: nó trực quan hóa các use case, nó hỗ trợ việc liên lạc giữa phân tích viên và người dùng và giữa phân tích viên với khách hàng. Trong một use case diagram, biểu tượng cho một use case là một hình ellipse. Biểu tượng cho một tác nhân (actor) là một hình người gậy (stick). Một đường kết hợp (association) liên kết một actor với một use case. Các use case thường nằm trong một hình chữ nhật biểu diễn cho ranh giới hệ thống (system boundary). Trang 5 – Bài 7
  6. Sự bao gồm (inclusion) được biểu diễn bởi đường phụ thuộc (dependency line) với một stereotype tên . Sự mở rộng (extension) cũng được biểu diễn bởi đường phụ thuộc với một stereotype tên . Hai mối quan hệ khác giữa các use case là sự tổng quát hóa (generalization), trong đó một use case thừa kế ý nghĩa, hành vi của use case khác, và việc gom nhóm (grouping) nhằm tổ chức một tập các use case. Sự tổng quát hóa được biểu diễn tương tự như biểu diễn sự thừa kế giữa các class. Sự gom nhóm được biểu diễn bởi biểu tương gói (package). Câu hỏi 1. Nêu 2 ưu điểm của việc trực quan hóa một use case? 2. Mô tả sự tổng quát hóa? Trong quan hệ giữa các use case? 3. Sự giống và khác nhau giữa class và use case Bài tập 1. Vẽ một use case diagram cho một TV remote control. Trang 6 – Bài 7

CÓ THỂ BẠN MUỐN DOWNLOAD

Đồng bộ tài khoản