{"id":67,"date":"2026-05-26T06:54:30","date_gmt":"2026-05-26T06:54:30","guid":{"rendered":"https:\/\/www.vpascode.com\/vn\/docs\/uncategorized\/plantuml-playbook\/use-case-diagram\/"},"modified":"2026-07-29T08:29:10","modified_gmt":"2026-07-29T08:29:10","slug":"plantuml-use-case-diagram-syntax-guide","status":"publish","type":"ld_docs","link":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-use-case-diagram-syntax-guide\/","title":{"rendered":"PlantUML Use Case Diagram Syntax Guide"},"content":{"rendered":"<h2>What is a Use Case Diagram?<\/h2>\n<p>A <strong>Use Case Diagram<\/strong> is a behavioral blueprint used to visualize the relationships between a system&#8217;s users (known as actors) and the specific actions or goals they want to accomplish (known as use cases). Rather than showing step-by-step logic loops, a use case diagram provides a high-level overview of a system&#8217;s functional scope, making it an excellent tool for defining project requirements, system boundaries, and stakeholder workflows.<\/p>\n<p>With <strong>VPasCode<\/strong>, you can instantly build clear, professional use case diagrams without fighting visual canvas alignment. This guide skips the obscure, legacy notations and focuses purely on the practical syntax elements you need for day-to-day software documentation.<\/p>\n<h2>Core Syntax Guide: Elements and Constructs<\/h2>\n<p>Building a use case diagram in PlantUML relies on a few straightforward structural elements wrapped inside your standard <code>@startuml<\/code> and <code>@enduml<\/code> tags.<\/p>\n<h3>1. Declaring Actors<\/h3>\n<p>An actor represents an external entity that interacts with your application (such as a human user, a background service, or an external hardware API). You declare an actor by using the <code>actor<\/code> keyword followed by an internal shorthand ID:<\/p>\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:IqmkoIzII2ujBidFJItYvKe4ynDJSZFp51AB5PI2AujBKdCL7442cSKbHOb0QIK0\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code data-language=\"plantuml\" class=\"language-plantuml\">actor customer\r\nactor admin as \"System Administrator\"<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:IqmkoIzII2ujBidFJItYvKe4ynDJSZFp51AB5PI2AujBKdCL7442cSKbHOb0QIK0\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<p id=\"qeawDFT\"><img decoding=\"async\" width=\"242\" height=\"177\" class=\"alignnone size-full wp-image-494 \" src=\"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a17c0d948f6a.png\" alt=\"\" \/><\/p>\n<p><em>Pro Tip:<\/em> Use the <code>as<\/code> keyword to assign a clean, human-readable display string to complex actor IDs.<\/p>\n<h3>2. Defining Use Cases<\/h3>\n<p>A use case represents a functional goal or business process. You can define a use case in two ways: by enclosing the text within parentheses <code>(Your Use Case)<\/code>, or by explicitly using the <code>usecase<\/code> keyword for complex formatting:<\/p>\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:q_39Jy_CKoZ9Lt19BCv8oayiIj7avIejJarEB4vLICv8JSxEBorHI2nMK0eeoazEBIvMS2vAJSaiKN06AbK8IApCJSqhKG80\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code data-language=\"plantuml\" class=\"language-plantuml\">(Login to Dashboard)\r\nusecase checkout as \"Process Credit Card Payment\"<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:q_39Jy_CKoZ9Lt19BCv8oayiIj7avIejJarEB4vLICv8JSxEBorHI2nMK0eeoazEBIvMS2vAJSaiKN06AbK8IApCJSqhKG80\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<p id=\"IKlNKEL\"><img decoding=\"async\" width=\"428\" height=\"51\" class=\"alignnone size-full wp-image-495 \" src=\"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a17c0ecace03.png\" alt=\"\" srcset=\"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a17c0ecace03.png 428w, https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a17c0ecace03-300x36.png 300w\" sizes=\"(max-width: 428px) 100vw, 428px\" \/><\/p>\n<h3>3. Mapping Basic Interactions<\/h3>\n<p>To connect your actors to their corresponding use cases, use basic directed or undirected relationship lines. You can also append textual labels to add critical context to an interaction:<\/p>\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:IoujBidFJIrIqDMrKz3moK_Fp5CeoLTmIIpEICfFB4hHvELAJCa52eBaapDIaxFpIqiKh1IK70iAYlBBKeiLYbBJIlDIYfK0\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code data-language=\"plantuml\" class=\"language-plantuml\">customer --&gt; (Login to Dashboard)\r\nadmin --&gt; checkout : \"Approves refunds\"<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:IoujBidFJIrIqDMrKz3moK_Fp5CeoLTmIIpEICfFB4hHvELAJCa52eBaapDIaxFpIqiKh1IK70iAYlBBKeiLYbBJIlDIYfK0\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<p id=\"MUOzhHD\"><img fetchpriority=\"high\" decoding=\"async\" width=\"349\" height=\"227\" class=\"alignnone size-full wp-image-496 \" src=\"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a17c1002cc19.png\" alt=\"\" srcset=\"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a17c1002cc19.png 349w, https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a17c1002cc19-300x195.png 300w\" sizes=\"(max-width: 349px) 100vw, 349px\" \/><\/p>\n<h3>4. Advanced Relationships: Include and Extend<\/h3>\n<p>When modeling complex system behaviors, you frequently need to show dependencies between different use cases using standard UML stereotyping:<\/p>\n<ul>\n<li><strong>Include (Mandatory Dependency):<\/strong> Indicates that a base use case relies on another helper use case to successfully complete its execution. Use a dotted connector line (<code>..&gt;<\/code>) appended with a text label:\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:qmWeoazEBIvMSCv8JSxEBotHLD3JirFG24ijoaohL71Ap4dCIqxLLB1IiB79p4lEAKr9jRC30000\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code data-language=\"plantuml\" class=\"language-plantuml\">(Process Checkout) ..&gt; (Verify Balance) : &lt;&lt;include&gt;&gt;\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:qmWeoazEBIvMSCv8JSxEBotHLD3JirFG24ijoaohL71Ap4dCIqxLLB1IiB79p4lEAKr9jRC30000\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<p id=\"DEWLqgl\"><img loading=\"lazy\" decoding=\"async\" width=\"155\" height=\"146\" class=\"alignnone size-full wp-image-498 \" src=\"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a17c12348e8b.png\" alt=\"\" \/><\/p>\n<\/li>\n<li><strong>Extend (Optional\/Conditional Behavior):<\/strong> Indicates that an optional workflow can branch off from a base use case under specific conditions. Note that the arrow points from the *extension* use case back to the *base* use case:\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:qt0iACYfL0Weoi_DLt3EJqdLLD3JirFG00eafnONApXdf2PdvvUMQ2fOATZOf5QKfEQbsDa10000\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code data-language=\"plantuml\" class=\"language-plantuml\">(Apply Promo Code) ..&gt; (Process Checkout) : &lt;&lt;extend&gt;&gt;<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:qt0iACYfL0Weoi_DLt3EJqdLLD3JirFG00eafnONApXdf2PdvvUMQ2fOATZOf5QKfEQbsDa10000\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<p><img loading=\"lazy\" decoding=\"async\" width=\"155\" height=\"146\" class=\"alignnone size-full wp-image-499 \" src=\"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a17c9fc985a7.png\" alt=\"\" \/><\/li>\n<\/ul>\n<h3>5. Enforcing System Boundaries<\/h3>\n<p>To clearly distinguish what happens inside your software application versus what happens externally, use the <code>rectangle<\/code> keyword to wrap your internal use cases. Crucially, actors should remain outside of this container block to reflect their status as external participants:<\/p>\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:IqmkoIzII2ujBidFJItYvUBbAafDBadCIyz9LL1orNNEpmKA9wSg1EGabgJb5-KgALJpSYa0WOPJKNvvSQg2Ss99Oav-kYPKr34bHQ4a7oXQL08KgWKP23DSGLVN3eisL6ba_G00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code data-language=\"plantuml\" class=\"language-plantuml\">actor customer\r\n\r\nrectangle \"E-Commerce Platform\" {\r\n    (Browse Catalog)\r\n    (Add to Cart)\r\n}\r\n\r\ncustomer --&gt; (Browse Catalog)\r\ncustomer --&gt; (Add to Cart)<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:IqmkoIzII2ujBidFJItYvUBbAafDBadCIyz9LL1orNNEpmKA9wSg1EGabgJb5-KgALJpSYa0WOPJKNvvSQg2Ss99Oav-kYPKr34bHQ4a7oXQL08KgWKP23DSGLVN3eisL6ba_G00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<p id=\"PUZVCuv\"><img loading=\"lazy\" decoding=\"async\" width=\"331\" height=\"187\" class=\"alignnone size-full wp-image-500 \" src=\"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a17ca1e45c92.png\" alt=\"\" srcset=\"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a17ca1e45c92.png 331w, https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a17ca1e45c92-300x169.png 300w\" sizes=\"(max-width: 331px) 100vw, 331px\" \/><\/p>\n<h2>Best Practices for Clean Layouts<\/h2>\n<ul>\n<li><strong>Keep Text Brief:<\/strong> Use cases should always start with a clear, active verb (e.g., <em>&#8220;Generate Report&#8221;<\/em>, <em>&#8220;Update Profile&#8221;<\/em>) rather than a long sentence.<\/li>\n<li><strong>Leverage Directional Anchors:<\/strong> If your actors and use cases clump together in a messy stack, use spatial direction arrows like <code>-right-&gt;<\/code> or <code>-down-&gt;<\/code> to gently nudge the layout engine into a clean, readable structure.<\/li>\n<li><strong>Isolate System Boundaries:<\/strong> Always use a boundary rectangle when documenting applications that interact with multiple third-party microservices. It makes it instantly clear who owns which process.<\/li>\n<\/ul>\n<h2>Real-World PlantUML Use Case Diagram Examples<\/h2>\n<p>Copy and paste the following practical blueprints directly into your VPasCode live editor panel to see how they render dynamically.<\/p>\n<h3>Example 1: Core User Authentication &amp; Account Management<\/h3>\n<p>This blueprint models a standard application ecosystem containing a primary user, an administrative operator, and a boundary box containing core security mechanics.<\/p>\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:RP71QiCm38Rl1h-3o6NR8MzGHWlTeR13MUW325l918bTP2MbbBtxxB4q7OjFadxfvvEyJOgYuz1RymGDAVHuZQD25AQWg1m3j187wAbLq0Z2tQTQyoS5pqAkz5fZ3JgD0jLRy71A91LWWZ47TwKXDmhh5NP-uF2ZOudASF71qFK4rS5dWj9sb3Yn9ybyCh6Z2cxMG7xF3NS13k7bD_sWb3SuOagNA7wkdiuUbOfBozbtZuhBmCHqWJlGU-pIhEqfu_9KHdVEnJ5eaRuAPDa6wlhr4M2f_QDOf7KKQzP1O5FNysLMSHuRjXHy_iPl\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n' Set layout orientation from left to right\r\nleft to right direction\r\n\r\nactor \"End User\" as user\r\nactor \"Security Admin\" as admin\r\n\r\nrectangle \"Identity Provider Service\" {\r\n    (Sign In)\r\n    (Reset Password)\r\n    (Update Profile Data)\r\n    (Review Security Logs)\r\n    (Deactivate Accounts)\r\n}\r\n\r\nuser --&gt; (Sign In)\r\nuser --&gt; (Reset Password)\r\nuser --&gt; (Update Profile Data)\r\n\r\n(Review Security Logs) &lt;-- admin\r\n(Deactivate Accounts) &lt;-- admin\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:RP71QiCm38Rl1h-3o6NR8MzGHWlTeR13MUW325l918bTP2MbbBtxxB4q7OjFadxfvvEyJOgYuz1RymGDAVHuZQD25AQWg1m3j187wAbLq0Z2tQTQyoS5pqAkz5fZ3JgD0jLRy71A91LWWZ47TwKXDmhh5NP-uF2ZOudASF71qFK4rS5dWj9sb3Yn9ybyCh6Z2cxMG7xF3NS13k7bD_sWb3SuOagNA7wkdiuUbOfBozbtZuhBmCHqWJlGU-pIhEqfu_9KHdVEnJ5eaRuAPDa6wlhr4M2f_QDOf7KKQzP1O5FNysLMSHuRjXHy_iPl\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<p id=\"CoqXVKU\"><img loading=\"lazy\" decoding=\"async\" width=\"470\" height=\"373\" class=\"alignnone size-full wp-image-501 \" src=\"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a17ca344fffe.png\" alt=\"\" srcset=\"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a17ca344fffe.png 470w, https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a17ca344fffe-300x238.png 300w\" sizes=\"(max-width: 470px) 100vw, 470px\" \/><\/p>\n<p><strong>Syntax Breakdown:<\/strong> The directive <code>left to right direction<\/code> forces the layout engine to position actors on the outer wings and grow the use cases horizontally rather than vertically. Notice how placing the actor declarations cleanly outside the <code>rectangle<\/code> wrapper keeps them organized, while reversing the arrow bracket direction for the admin user (<code>&lt;-- admin<\/code>) pins them cleanly to the right-hand side of the diagram matrix.<\/p>\n<h3>Example 2: Advanced E-Commerce Checkout with External Dependencies<\/h3>\n<p>This real-world system layout maps a complex checkout workflow that relies on external banking APIs, structural inclusions, and optional extension flags.<\/p>\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:TL91JiCm4Bn7oXzMkG27z06eYbfLfUgfbIB4sIIRniAnBNiD1CJVyIPDHGhaaDZhsPdPSLQUXAFGgJHHs12G0ITFBK4j7LOaZKwJD14L6GVP9dWo7ReCX8VglBcSFWc7hGaUeIJHD0F8y-g2ACb9Yx0JX6-YFmEun1ei9_H98MG7hQHc6kCG7e9gf58TQeAozuHT1fzf0l6vFIfH8HnSZUxkN5fRgthOc62DdcexrEYYAEprgv4LJlMZh5xWAE9h7sdzL7wqDOFBLbehzOd7eS2dN-pp1hRlX4uB1LB7XHXIyfoS7-p1imcw5awYJvCf9SZpujhlR3i0nZJW7h9reDOu-S7pwzfde_9ULohK24BNWuluYIsXek1OR4wuM1H_Z1x9bqivyXH5x9a5DZRDQ1YFWnR3sSNF6x62sa7vAafOvlbq-_y5EiFyDZe64ayvZsqdf8ekRH-ZM4KpyPVz1W00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nleft to right direction\r\n\r\nactor \"Customer\" as customer\r\nactor \"Warehouse Staff\" as staff\r\nactor \"Stripe Gateway\" as stripe\r\n\r\nrectangle \"Online Store Fulfillment System\" {\r\n    (Place Order)\r\n    (Apply Coupon)\r\n    (Generate Invoice)\r\n    (Pick Pack Items)\r\n    (Update Shipping Status)\r\n}\r\n\r\n' External interactions to system boundaries\r\ncustomer --&gt; (Place Order)\r\n(Place Order) --&gt; stripe : \"Authorize Funds\"\r\n\r\n' Include and Extend structures\r\n(Place Order) ..&gt; (Generate Invoice) : &lt;&lt;include&gt;&gt;\r\n(Apply Coupon) ..&gt; (Place Order) : &lt;&lt;extend&gt;&gt;\r\n\r\n' Fulfillment paths\r\n(Pick Pack Items) &lt;-- staff\r\n(Update Shipping Status) &lt;-- staff\r\n(Generate Invoice) --&gt; staff : \"Email Copy\"\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:TL91JiCm4Bn7oXzMkG27z06eYbfLfUgfbIB4sIIRniAnBNiD1CJVyIPDHGhaaDZhsPdPSLQUXAFGgJHHs12G0ITFBK4j7LOaZKwJD14L6GVP9dWo7ReCX8VglBcSFWc7hGaUeIJHD0F8y-g2ACb9Yx0JX6-YFmEun1ei9_H98MG7hQHc6kCG7e9gf58TQeAozuHT1fzf0l6vFIfH8HnSZUxkN5fRgthOc62DdcexrEYYAEprgv4LJlMZh5xWAE9h7sdzL7wqDOFBLbehzOd7eS2dN-pp1hRlX4uB1LB7XHXIyfoS7-p1imcw5awYJvCf9SZpujhlR3i0nZJW7h9reDOu-S7pwzfde_9ULohK24BNWuluYIsXek1OR4wuM1H_Z1x9bqivyXH5x9a5DZRDQ1YFWnR3sSNF6x62sa7vAafOvlbq-_y5EiFyDZe64ayvZsqdf8ekRH-ZM4KpyPVz1W00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<p id=\"rBcfQtr\"><img loading=\"lazy\" decoding=\"async\" width=\"980\" height=\"533\" class=\"alignnone size-full wp-image-502 \" src=\"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a17ca5576f86.png\" alt=\"\" srcset=\"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a17ca5576f86.png 980w, https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a17ca5576f86-300x163.png 300w, https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a17ca5576f86-768x418.png 768w\" sizes=\"(max-width: 980px) 100vw, 980px\" \/><\/p>\n<p><strong>Syntax Breakdown:<\/strong> This template highlights how a single use case (<code>Place Order<\/code>) mandates an invocation of (<code>Generate Invoice<\/code>) using the <code>&lt;&lt;include&gt;&gt;<\/code> tag over a dotted line. Meanwhile, applying a coupon code is correctly modeled as an optional branch via <code>&lt;&lt;extend&gt;&gt;<\/code> pointing backward toward the base execution. All external actors remain clearly isolated outside the system envelope.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What is a Use Case Diagram? A Use Case Diagram is a behavioral blueprint used to visualize the relationships between a system&#8217;s users (known as actors) and the specific actions or goals they want to accomplish (known as use cases)&#8230;.<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":47,"menu_order":1,"template":"","meta":{"inline_featured_image":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}}},"ld_collection":[14],"class_list":["post-67","ld_docs","type-ld_docs","status-publish","hentry","ld_collection-vpascode-docs"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>PlantUML Use Case Diagram Syntax | VPasCode Diagram Guide<\/title>\n<meta name=\"description\" content=\"Learn how to script PlantUML use case diagrams in VPasCode, your free diagram-as-code tool. Convert user scenarios into text to diagram models.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-use-case-diagram-syntax-guide\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PlantUML Use Case Diagram Syntax | VPasCode Diagram Guide\" \/>\n<meta property=\"og:description\" content=\"Learn how to script PlantUML use case diagrams in VPasCode, your free diagram-as-code tool. Convert user scenarios into text to diagram models.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-use-case-diagram-syntax-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"VPasCode\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-29T08:29:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a17c0d948f6a.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 ph\u00fat\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-playbook\\\/plantuml-use-case-diagram-syntax-guide\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-playbook\\\/plantuml-use-case-diagram-syntax-guide\\\/\",\"name\":\"PlantUML Use Case Diagram Syntax | VPasCode Diagram Guide\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-playbook\\\/plantuml-use-case-diagram-syntax-guide\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-playbook\\\/plantuml-use-case-diagram-syntax-guide\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/05\\\/img_6a17c0d948f6a.png\",\"datePublished\":\"2026-05-26T06:54:30+00:00\",\"dateModified\":\"2026-07-29T08:29:10+00:00\",\"description\":\"Learn how to script PlantUML use case diagrams in VPasCode, your free diagram-as-code tool. Convert user scenarios into text to diagram models.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-playbook\\\/plantuml-use-case-diagram-syntax-guide\\\/#breadcrumb\"},\"inLanguage\":\"vi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-playbook\\\/plantuml-use-case-diagram-syntax-guide\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-playbook\\\/plantuml-use-case-diagram-syntax-guide\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/05\\\/img_6a17c0d948f6a.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/05\\\/img_6a17c0d948f6a.png\",\"width\":242,\"height\":177},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-playbook\\\/plantuml-use-case-diagram-syntax-guide\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Lean Docs\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/%ld_collection%\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"PlantUML Playbook\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-playbook\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"PlantUML Use Case Diagram Syntax Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#website\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/\",\"name\":\"VPasCode\",\"description\":\"by Visual Paradigm\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"vi\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#organization\",\"name\":\"VPasCode\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"width\":128,\"height\":138,\"caption\":\"VPasCode\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PlantUML Use Case Diagram Syntax | VPasCode Diagram Guide","description":"Learn how to script PlantUML use case diagrams in VPasCode, your free diagram-as-code tool. Convert user scenarios into text to diagram models.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-use-case-diagram-syntax-guide\/","og_locale":"vi_VN","og_type":"article","og_title":"PlantUML Use Case Diagram Syntax | VPasCode Diagram Guide","og_description":"Learn how to script PlantUML use case diagrams in VPasCode, your free diagram-as-code tool. Convert user scenarios into text to diagram models.","og_url":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-use-case-diagram-syntax-guide\/","og_site_name":"VPasCode","article_modified_time":"2026-07-29T08:29:10+00:00","og_image":[{"url":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a17c0d948f6a.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"5 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-use-case-diagram-syntax-guide\/","url":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-use-case-diagram-syntax-guide\/","name":"PlantUML Use Case Diagram Syntax | VPasCode Diagram Guide","isPartOf":{"@id":"https:\/\/www.vpascode.com\/vn\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-use-case-diagram-syntax-guide\/#primaryimage"},"image":{"@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-use-case-diagram-syntax-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a17c0d948f6a.png","datePublished":"2026-05-26T06:54:30+00:00","dateModified":"2026-07-29T08:29:10+00:00","description":"Learn how to script PlantUML use case diagrams in VPasCode, your free diagram-as-code tool. Convert user scenarios into text to diagram models.","breadcrumb":{"@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-use-case-diagram-syntax-guide\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-use-case-diagram-syntax-guide\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-use-case-diagram-syntax-guide\/#primaryimage","url":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a17c0d948f6a.png","contentUrl":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/05\/img_6a17c0d948f6a.png","width":242,"height":177},{"@type":"BreadcrumbList","@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-use-case-diagram-syntax-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vpascode.com\/vn\/"},{"@type":"ListItem","position":2,"name":"Lean Docs","item":"https:\/\/www.vpascode.com\/vn\/docs\/%ld_collection%\/"},{"@type":"ListItem","position":3,"name":"PlantUML Playbook","item":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-playbook\/"},{"@type":"ListItem","position":4,"name":"PlantUML Use Case Diagram Syntax Guide"}]},{"@type":"WebSite","@id":"https:\/\/www.vpascode.com\/vn\/#website","url":"https:\/\/www.vpascode.com\/vn\/","name":"VPasCode","description":"by Visual Paradigm","publisher":{"@id":"https:\/\/www.vpascode.com\/vn\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vpascode.com\/vn\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":"Organization","@id":"https:\/\/www.vpascode.com\/vn\/#organization","name":"VPasCode","url":"https:\/\/www.vpascode.com\/vn\/","logo":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.vpascode.com\/vn\/#\/schema\/logo\/image\/","url":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/06\/cropped-vp-online-logo-v1.png","contentUrl":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/06\/cropped-vp-online-logo-v1.png","width":128,"height":138,"caption":"VPasCode"},"image":{"@id":"https:\/\/www.vpascode.com\/vn\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/ld_docs\/67","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/ld_docs"}],"about":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/types\/ld_docs"}],"author":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/users\/4"}],"up":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/ld_docs\/47"}],"wp:attachment":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/media?parent=67"}],"wp:term":[{"taxonomy":"ld_collection","embeddable":true,"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/ld_collection?post=67"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}