{"version":"1.0","provider_name":"Go UML Ti\u1ebfng Vi\u1ec7t","provider_url":"https:\/\/www.go-uml.com\/vn","author_name":"curtis","author_url":"https:\/\/www.go-uml.com\/vn\/author\/curtis\/","title":"Comprehensive Guide to UML Use Case Diagrams - Go UML Ti\u1ebfng Vi\u1ec7t","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"IVKuwUkH9X\"><a href=\"https:\/\/www.go-uml.com\/vn\/comprehensive-guide-to-uml-use-case-diagrams\/\">Comprehensive Guide to UML Use Case Diagrams<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/www.go-uml.com\/vn\/comprehensive-guide-to-uml-use-case-diagrams\/embed\/#?secret=IVKuwUkH9X\" width=\"600\" height=\"338\" title=\"&#8220;Comprehensive Guide to UML Use Case Diagrams&#8221; &#8212; Go UML Ti\u1ebfng Vi\u1ec7t\" data-secret=\"IVKuwUkH9X\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script>\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n<\/script>\n","description":"Introduction UML (Unified Modeling Language) use case diagrams are essential tools in software engineering for capturing and visualizing the functional requirements of a system. They help stakeholders understand the interactions between users (actors) and the system, ensuring that the system meets the desired business goals. This guide provides a detailed overview of the components, relationships, and best practices for creating effective use case diagrams. Components of UML Use Case Diagrams 1. System Boundary Definition: The system boundary represents the scope of the system and encapsulates all its functionalities. UML Notation: Rectangle Purpose: It defines the limits of the system, separating it from external entities. Everything inside the rectangle is part of the system, while actors and external systems lie outside. Example: In an e-commerce system, the system boundary would encompass functionalities like user authentication, product browsing, and order processing. 2. Actors Definition: Actors are users or external systems that interact with the system. They can be people, organizations, or other systems. UML Notation: Stick figure Purpose: Actors help identify who or what will interact with the system, guiding the design of user interfaces and integration points. Example: In a library management system, actors could include librarians, students, and an external book supplier system. 3. Use Cases Definition: Use cases represent distinct business functionalities within the system. They describe how actors interact with the system to achieve specific goals. UML Notation: Oval Purpose: Use cases help in identifying and documenting the system&#8217;s requirements, ensuring that all necessary functionalities are covered. Example: In a banking system, use cases might include &#8220;Withdraw Money,&#8221; &#8220;Deposit Money,&#8221; and &#8220;Check Account Balance.&#8221; Use Case Relationships 1. Association Definition: Represents a communication link between an actor and a use case. UML Notation: Solid line Purpose: Shows that an actor interacts with a use case. Example: A &#8220;Customer&#8221; actor is associated with the &#8220;Place Order&#8221; use case in an e-commerce system. 2. Directed Association Definition: Represents a one-way relationship where an actor influences a use case. UML Notation: Solid line with an arrowhead Purpose: Indicates the direction of interaction, showing which actor initiates the use case. Example: An &#8220;Admin&#8221; actor has a directed association with the &#8220;Approve User&#8221; use case, indicating that only admins can approve users. 3. Include Definition: Represents a situation where one use case includes the functionality of another use case. UML Notation: Dashed arrow with the label &#8220;&lt;&lt;include&gt;&gt;&#8221; Purpose: Helps in reusing common functionalities across multiple use cases, reducing redundancy. Example: The &#8220;Place Order&#8221; use case includes the &#8220;Calculate Total&#8221; use case, as calculating the total is a necessary step in placing an order. 4. Extend Definition: Represents additional behavior added to an existing use case. UML Notation: Dashed arrow with the label &#8220;&lt;&lt;extend&gt;&gt;&#8221; Purpose: Allows for the extension of use cases with optional or conditional behavior. Example: The &#8220;Place Order&#8221; use case is extended by the &#8220;Apply Discount&#8221; use case, which adds the functionality of applying a discount code. 5. Generalization Definition: Represents a parent-child relationship between use cases. UML Notation: Solid line with a hollow arrowhead Purpose: Shows that a child use case inherits behavior from a parent use case, promoting reuse and consistency. Example: The &#8220;Make Payment&#8221; use case is a generalization of the &#8220;Make Credit Card Payment&#8221; and &#8220;Make PayPal Payment&#8221; use cases. 6. Dependency Definition: Represents a relationship where one use case depends on another. UML Notation: Dashed arrow Purpose: Indicates that the existence or functionality of one use case relies on another use case. Example: The &#8220;Generate Invoice&#8221; use case depends on the &#8220;Place Order&#8221; use case, as an invoice can only be generated after an order is placed. Use Case Template A use case template provides a structured way to document the details of a use case. It typically includes the following sections: Usecase ID: A unique identifier for the use case. Usecase Name: The name of the use case. Actors Involved: The actors that interact with the use case. Description: A brief description of the use case. Preconditions: Conditions that must be met before the use case can be executed. Main Flow: The primary sequence of steps in the use case. Post Conditions: Conditions that must be met after the use case is executed. Alternate Flow: Alternative sequences of steps that can occur under certain conditions. Example: Usecase ID: UC-001 Usecase Name: Place Order Actors Involved: Customer Description: Allows a customer to place an order for products. Preconditions: The customer must be logged in and have items in the cart. Main Flow: Customer selects items and adds them to the cart. Customer reviews the cart and proceeds to checkout. Customer enters shipping and payment information. Customer confirms the order. System processes the order and sends a confirmation email. Post Conditions: The order is placed, and the inventory is updated. Alternate Flow: If the payment fails, the system displays an error message, and the order is not placed. Here is the use case template example converted into a table format: Use Case Name Borrow a Book Use Case ID UC001 Primary Actor Student Secondary Actors Librarian, Book Inventory System Preconditions &#8211; The student has a valid library card. &#8211; The book is available in the library\u2019s inventory. Postconditions &#8211; The book is marked as checked out in the system. &#8211; The student has the book in their possession. Main Flow 1.\u00a0Description: The student wants to borrow a book from the university library. 2.\u00a0Actor\u2019s Actions: &#8211; The student presents their library card to the librarian. &#8211; The librarian scans the library card to verify its validity. &#8211; The student provides the title or ISBN of the book they wish to borrow. &#8211; The librarian searches the library catalog for the book. &#8211; The librarian confirms the book\u2019s availability. &#8211; The librarian checks out the book to the student. &#8211; The student takes the book and leaves the library. 3.\u00a0System\u2019s Actions: &#8211; The system validates the library card. &#8211; The system updates the book\u2019s status to \u201cchecked out.\u201d &#8211; The system records the due date for the book","thumbnail_url":"https:\/\/cdn-images.visual-paradigm.com\/guide\/uml\/what-is-use-case-diagram\/what-is-use-case-diagram.png"}