{"id":12258,"date":"2026-10-13T16:56:52","date_gmt":"2026-10-13T08:56:52","guid":{"rendered":"https:\/\/www.cybermedian.com\/vn\/uml-use-case-diagrams-as-code-with-plantuml-and-vpascode\/"},"modified":"2026-10-14T13:08:21","modified_gmt":"2026-10-14T05:08:21","slug":"uml-use-case-diagrams-as-code-with-plantuml-and-vpascode","status":"publish","type":"post","link":"https:\/\/www.cybermedian.com\/vn\/uml-use-case-diagrams-as-code-with-plantuml-and-vpascode\/","title":{"rendered":"Bi\u1ec3u \u0111\u1ed3 Use Case UML d\u01b0\u1edbi d\u1ea1ng m\u00e3 v\u1edbi PlantUML v\u00e0 VPasCode"},"content":{"rendered":"<p data-nodeid=\"17103\">Bi\u1ec3u \u0111\u1ed3 Use Case UML cho bi\u1ebft h\u1ec7 th\u1ed1ng cung c\u1ea5p nh\u1eefng g\u00ec v\u00e0 ai\u2014ho\u1eb7c c\u00e1i g\u00ec\u2014t\u01b0\u01a1ng t\u00e1c v\u1edbi n\u00f3. V\u1edbi quy tr\u00ecnh l\u00e0m vi\u1ec7c bi\u1ec3u \u0111\u1ed3 d\u01b0\u1edbi d\u1ea1ng m\u00e3, ngu\u1ed3n c\u1ee7a bi\u1ec3u \u0111\u1ed3 l\u00e0 v\u0103n b\u1ea3n thu\u1ea7n: ch\u1ec9nh s\u1eeda v\u0103n b\u1ea3n, hi\u1ec3n th\u1ecb bi\u1ec3u \u0111\u1ed3 v\u00e0 gi\u1eef ngu\u1ed3n b\u00ean c\u1ea1nh t\u00e0i li\u1ec7u d\u1ef1 \u00e1n.<\/p>\n<p><img alt=\"S\u01a1 \u0111\u1ed3 minh h\u1ecda quy tr\u00ecnh PlantUML: ch\u1ec9nh s\u1eeda m\u00e3 ngu\u1ed3n, t\u1ea1o bi\u1ec3u \u0111\u1ed3 tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng UML cho c\u1eeda h\u00e0ng tr\u1ef1c tuy\u1ebfn v\u00e0 t\u00e0i li\u1ec7u h\u00f3a c\u1ea3 hai b\u00ean c\u1ea1nh nhau b\u1eb1ng VPasCode.\" class=\"alignnone size-full wp-image-21958\" decoding=\"async\" height=\"1024\" loading=\"lazy\" sizes=\"auto, (max-width: 1536px) 100vw, 1536px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdef429169c.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdef429169c.png 1536w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdef429169c-300x200.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdef429169c-1024x683.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdef429169c-768x512.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdef429169c-120x80.png 120w\" width=\"1536\"\/><\/p>\n<p data-nodeid=\"17104\">PlantUML h\u1ed7 tr\u1ee3 bi\u1ec3u \u0111\u1ed3 Use Case. Tr\u00ecnh so\u1ea1n th\u1ea3o VPasCode c\u1ee7a Visual Paradigm cung c\u1ea5p tr\u00ecnh so\u1ea1n th\u1ea3o v\u00e0 xem tr\u01b0\u1edbc PlantUML, c\u00f9ng v\u1edbi c\u00e1c t\u00ednh n\u0103ng t\u1ea1o v\u00e0 ch\u1ec9nh s\u1eeda bi\u1ec3u \u0111\u1ed3 \u0111\u01b0\u1ee3c h\u1ed7 tr\u1ee3 b\u1edfi AI.<\/p>\n<h2 data-nodeid=\"17105\">1. Nh\u1eefng g\u00ec bi\u1ec3u \u0111\u1ed3 Use Case truy\u1ec1n \u0111\u1ea1t<\/h2>\n<p data-nodeid=\"17106\">Bi\u1ec3u \u0111\u1ed3 Use Case t\u1eadp trung v\u00e0o <strong data-nodeid=\"17215\">ph\u1ea1m vi h\u1ec7 th\u1ed1ng v\u00e0 m\u1ee5c ti\u00eau c\u1ee7a ng\u01b0\u1eddi d\u00f9ng<\/strong>, kh\u00f4ng ph\u1ea3i c\u00e1c c\u01a1 ch\u1ebf t\u1eebng b\u01b0\u1edbc c\u1ee7a m\u1ed9t quy tr\u00ecnh l\u00e0m vi\u1ec7c. M\u1ed9t bi\u1ec3u \u0111\u1ed3 th\u01b0\u1eddng bao g\u1ed3m:<\/p>\n<p><img alt=\"T\u00e0i li\u1ec7u tham kh\u1ea3o k\u00fd hi\u1ec7u bi\u1ec3u \u0111\u1ed3 tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng UML hi\u1ec3n th\u1ecb ranh gi\u1edbi h\u1ec7 th\u1ed1ng, vai tr\u00f2 (actor), tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng, m\u1ed1i li\u00ean k\u1ebft v\u00e0 c\u00e1c m\u1ed1i quan h\u1ec7 nh\u01b0 include, extend v\u00e0 generalization.\" class=\"alignnone size-full wp-image-21961\" decoding=\"async\" height=\"941\" loading=\"lazy\" sizes=\"auto, (max-width: 1672px) 100vw, 1672px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdefa080b6c.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdefa080b6c.png 1672w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdefa080b6c-300x169.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdefa080b6c-1024x576.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdefa080b6c-768x432.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdefa080b6c-1536x864.png 1536w\" width=\"1672\"\/><\/p>\n<ul data-nodeid=\"17107\">\n<li data-nodeid=\"17108\">\n<p data-nodeid=\"17109\"><strong data-nodeid=\"17220\">Ranh gi\u1edbi h\u1ec7 th\u1ed1ng:<\/strong>M\u1ed9t h\u00ecnh ch\u1eef nh\u1eadt \u0111\u1eb7t t\u00ean cho h\u1ec7 th\u1ed1ng \u0111ang \u0111\u01b0\u1ee3c m\u00f4 h\u00ecnh h\u00f3a.<\/p>\n<\/li>\n<li data-nodeid=\"17110\">\n<p data-nodeid=\"17111\"><strong data-nodeid=\"17225\">Ng\u01b0\u1eddi tham gia (Actor):<\/strong>M\u1ed9t vai tr\u00f2 b\u00ean ngo\u00e0i h\u1ec7 th\u1ed1ng t\u01b0\u01a1ng t\u00e1c v\u1edbi n\u00f3. Ng\u01b0\u1eddi tham gia c\u00f3 th\u1ec3 l\u00e0 con ng\u01b0\u1eddi, t\u1ed5 ch\u1ee9c, thi\u1ebft b\u1ecb ho\u1eb7c h\u1ec7 th\u1ed1ng b\u00ean ngo\u00e0i.<\/p>\n<\/li>\n<li data-nodeid=\"17112\">\n<p data-nodeid=\"17113\"><strong data-nodeid=\"17230\">Use Case:<\/strong>M\u1ed9t kh\u1ea3 n\u0103ng ho\u1eb7c m\u1ee5c ti\u00eau do h\u1ec7 th\u1ed1ng cung c\u1ea5p, th\u01b0\u1eddng \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb d\u01b0\u1edbi d\u1ea1ng h\u00ecnh oval v\u00e0 \u0111\u1eb7t t\u00ean b\u1eb1ng m\u1ed9t c\u1ee5m \u0111\u1ed9ng t\u1eeb, ch\u1eb3ng h\u1ea1n nh\u01b0 &#8220;\u0110\u1eb7t h\u00e0ng.&#8221;<\/p>\n<\/li>\n<li data-nodeid=\"17114\">\n<p data-nodeid=\"17115\"><strong data-nodeid=\"17235\">Li\u00ean k\u1ebft:<\/strong>M\u1ed9t \u0111\u01b0\u1eddng ch\u1ec9 ra r\u1eb1ng m\u1ed9t ng\u01b0\u1eddi tham gia tham gia v\u00e0o m\u1ed9t use case.<\/p>\n<\/li>\n<li data-nodeid=\"17116\">\n<p data-nodeid=\"17117\"><strong data-nodeid=\"17240\">M\u1ed1i quan h\u1ec7 Use Case:<\/strong>Include, extend v\u00e0 generalization.<\/p>\n<\/li>\n<\/ul>\n<p data-nodeid=\"17118\">Ng\u01b0\u1eddi tham gia \u0111\u1ea1i di\u1ec7n cho c\u00e1c vai tr\u00f2, kh\u00f4ng ph\u1ea3i c\u00e1c c\u00e1 nh\u00e2n c\u1ee5 th\u1ec3. M\u1ed9t d\u1ecbch v\u1ee5 thanh to\u00e1n b\u00ean ngo\u00e0i c\u00f3 th\u1ec3 l\u00e0 m\u1ed9t ng\u01b0\u1eddi tham gia n\u1ebfu n\u00f3 t\u01b0\u01a1ng t\u00e1c v\u1edbi h\u1ec7 th\u1ed1ng \u0111ang \u0111\u01b0\u1ee3c m\u00f4 h\u00ecnh h\u00f3a.<\/p>\n<p data-nodeid=\"17119\">Bi\u1ec3u \u0111\u1ed3 Use Case h\u1eefu \u00edch \u0111\u1ec3 l\u00e0m r\u00f5 ph\u1ea1m vi h\u1ec7 th\u1ed1ng, th\u1ea3o lu\u1eadn y\u00eau c\u1ea7u v\u1edbi c\u00e1c b\u00ean li\u00ean quan, x\u00e1c \u0111\u1ecbnh c\u00e1c ph\u1ee5 thu\u1ed9c b\u00ean ngo\u00e0i v\u00e0 cung c\u1ea5p c\u00e1i nh\u00ecn t\u1ed5ng quan chung cho ph\u00e1t tri\u1ec3n v\u00e0 ki\u1ec3m th\u1eed. H\u00e3y k\u1ebft h\u1ee3p ch\u00fang v\u1edbi c\u00e1c m\u00f4 t\u1ea3 use case b\u1eb1ng v\u0103n b\u1ea3n khi b\u1ea1n c\u1ea7n chi ti\u1ebft nh\u01b0 \u0111i\u1ec1u ki\u1ec7n ti\u00ean quy\u1ebft, c\u00e1c b\u01b0\u1edbc ch\u00ednh, lu\u1ed3ng thay th\u1ebf v\u00e0 k\u1ebft qu\u1ea3.<\/p>\n<h2 data-nodeid=\"17120\">2. M\u1ed1i quan h\u1ec7 nh\u00ecn t\u1ed5ng quan<\/h2>\n<p><img alt=\"S\u01a1 \u0111\u1ed3 m\u1ed1i quan h\u1ec7 tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng UML minh h\u1ecda Association, Include, Extend v\u00e0 Generalization k\u00e8m theo c\u00e1c v\u00ed d\u1ee5 v\u00e0 m\u0169i t\u00ean ch\u1ec9 h\u01b0\u1edbng.\" class=\"alignnone size-full wp-image-21963\" decoding=\"async\" height=\"941\" loading=\"lazy\" sizes=\"auto, (max-width: 1672px) 100vw, 1672px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdefdedc378.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdefdedc378.png 1672w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdefdedc378-300x169.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdefdedc378-1024x576.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdefdedc378-768x432.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdefdedc378-1536x864.png 1536w\" width=\"1672\"\/><\/p>\n<ul data-nodeid=\"17121\">\n<li data-nodeid=\"17122\">\n<p data-nodeid=\"17123\"><strong data-nodeid=\"17248\">Li\u00ean k\u1ebft Ng\u01b0\u1eddi tham gia\u2013Use Case:<\/strong>M\u1ed9t \u0111\u01b0\u1eddng th\u1eb3ng ch\u1ec9 ra s\u1ef1 t\u01b0\u01a1ng t\u00e1c.<\/p>\n<\/li>\n<li data-nodeid=\"17124\">\n<p data-nodeid=\"17125\"><strong data-nodeid=\"17258\"><code data-backticks=\"1\" data-nodeid=\"17250\">&lt;&lt;include&gt;&gt;<\/code>:<\/strong>Use case bao g\u1ed3m lu\u00f4n s\u1eed d\u1ee5ng h\u00e0nh vi \u0111\u01b0\u1ee3c bao g\u1ed3m. M\u0169i t\u00ean \u0111\u1ee9t n\u00e9t ch\u1ec9 <strong data-nodeid=\"17259\">t\u1eeb use case bao g\u1ed3m \u0111\u1ebfn use case \u0111\u01b0\u1ee3c bao g\u1ed3m<\/strong>. V\u00ed d\u1ee5, vi\u1ec7c \u0111\u1eb7t h\u00e0ng c\u00f3 th\u1ec3 lu\u00f4n bao g\u1ed3m x\u00e1c th\u1ef1c thanh to\u00e1n.<\/p>\n<\/li>\n<li data-nodeid=\"17126\">\n<p data-nodeid=\"17127\"><strong data-nodeid=\"17269\"><code data-backticks=\"1\" data-nodeid=\"17261\">&lt;&lt;extend&gt;&gt;<\/code>:<\/strong>M\u1ed9t use case m\u1edf r\u1ed9ng th\u00eam h\u00e0nh vi v\u00e0o m\u1ed9t use case c\u01a1 s\u1edf trong m\u1ed9t \u0111i\u1ec1u ki\u1ec7n nh\u1ea5t \u0111\u1ecbnh. M\u0169i t\u00ean \u0111\u1ee9t n\u00e9t ch\u1ec9 <strong data-nodeid=\"17270\">t\u1eeb tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng m\u1edf r\u1ed9ng \u0111\u1ebfn tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng c\u01a1 s\u1edf<\/strong>. V\u00ed d\u1ee5, vi\u1ec7c \u00e1p d\u1ee5ng khuy\u1ebfn m\u00e3i c\u00f3 th\u1ec3 m\u1edf r\u1ed9ng vi\u1ec7c \u0111\u1eb7t h\u00e0ng.<\/p>\n<\/li>\n<li data-nodeid=\"17128\">\n<p data-nodeid=\"17129\"><strong data-nodeid=\"17279\">T\u1ed5ng qu\u00e1t h\u00f3a:<\/strong> M\u1ed9t vai tr\u00f2 ho\u1eb7c tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng chuy\u00ean bi\u1ec7t k\u1ebf th\u1eeba t\u1eeb m\u1ed9t c\u00e1i t\u1ed5ng qu\u00e1t h\u01a1n. \u0110\u01b0\u1eddng li\u1ec1n v\u1edbi tam gi\u00e1c r\u1ed7ng ch\u1ec9 <strong data-nodeid=\"17280\">v\u1ec1 ph\u1ea7n t\u1eed t\u1ed5ng qu\u00e1t<\/strong>.<\/p>\n<\/li>\n<\/ul>\n<p data-nodeid=\"17130\">M\u1ed9t s\u1ef1 ph\u00e2n bi\u1ec7t h\u1eefu \u00edch: <strong data-nodeid=\"17285\">include c\u00f3 ngh\u0129a l\u00e0 h\u00e0nh vi b\u1eaft bu\u1ed9c; extend c\u00f3 ngh\u0129a l\u00e0 h\u00e0nh vi b\u1ed5 sung c\u00f3 \u0111i\u1ec1u ki\u1ec7n.<\/strong><\/p>\n<h2 data-nodeid=\"17131\">3. Nh\u1eefng \u0111i\u1ec1u c\u01a1 b\u1ea3n v\u1ec1 PlantUML<\/h2>\n<p data-nodeid=\"17132\">M\u1ed9t s\u01a1 \u0111\u1ed3 PlantUML b\u1eaft \u0111\u1ea7u b\u1eb1ng <code data-backticks=\"1\" data-nodeid=\"17288\">@startuml<\/code> v\u00e0 k\u1ebft th\u00fac b\u1eb1ng <code data-backticks=\"1\" data-nodeid=\"17290\">@enduml<\/code>. Khai b\u00e1o vai tr\u00f2 b\u1eb1ng <code data-backticks=\"1\" data-nodeid=\"17292\">actor<\/code>, tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng b\u1eb1ng <code data-backticks=\"1\" data-nodeid=\"17294\">usecase<\/code> v\u00e0 ranh gi\u1edbi h\u1ec7 th\u1ed1ng b\u1eb1ng <code data-backticks=\"1\" data-nodeid=\"17296\">rectangle<\/code>. C\u00e1c bi\u1ec7t danh gi\u00fap c\u00e1c ph\u1ea7n t\u1eed d\u1ec5 tham chi\u1ebfu h\u01a1n trong c\u00e1c m\u1ed1i quan h\u1ec7.<\/p>\n<p id=\"AIPemRZ\"><img alt=\"Giao di\u1ec7n VPasCode hi\u1ec3n th\u1ecb m\u00e3 PlantUML cho bi\u1ec3u \u0111\u1ed3 tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng c\u1eeda h\u00e0ng tr\u1ef1c tuy\u1ebfn b\u00ean c\u1ea1nh k\u1ebft qu\u1ea3 \u0111\u01b0\u1ee3c render, cho th\u1ea5y kh\u00e1ch h\u00e0ng t\u01b0\u01a1ng t\u00e1c v\u1edbi c\u00e1c ranh gi\u1edbi h\u1ec7 th\u1ed1ng.\" class=\"alignnone size-full wp-image-21965\" decoding=\"async\" height=\"873\" loading=\"lazy\" sizes=\"auto, (max-width: 1913px) 100vw, 1913px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf00e119eb.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf00e119eb.png 1913w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf00e119eb-300x137.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf00e119eb-1024x467.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf00e119eb-768x350.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf00e119eb-1536x701.png 1536w\" width=\"1913\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:LOzB2iCm34Jt1jzXy3vNAA4zG0izWR7LrE1OHPRfekJkTT8FP2Nqveb1OrKlskPiJQQRGXcIfhiY9g6WYOirrlYWB3YrgZoJh6GDVPaomPrBJeLmxGevlAm1MgNWQy-Emiy-7yAn1QqElkB3Tjeb-q1WYIIRiktMB6lJhnN3SFZVxk3N7gd4_iWR\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><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><br \/>\n<span>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:LOzB2iCm34Jt1jzXy3vNAA4zG0izWR7LrE1OHPRfekJkTT8FP2Nqveb1OrKlskPiJQQRGXcIfhiY9g6WYOirrlYWB3YrgZoJh6GDVPaomPrBJeLmxGevlAm1MgNWQy-Emiy-7yAn1QqElkB3Tjeb-q1WYIIRiktMB6lJhnN3SFZVxk3N7gd4_iWR\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><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><br \/>\n<span>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\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\/editor\/#plantuml:LOyz2i9044RxXRt3a3vNa60yW5TOriK4aetip28YrcdjRHGh4K4h8LjOHBp7tiHD_86Ky_7cpNm9aZ1aouApx7NrRgVdGDwTWKnxo055c1UPRuuvPvm9IPM1r29LfJ9TOfIam1GAejIxYu2itNSAuzrD0jcLRnuwWZLd01QL51Z8IOXTJO31gtlzgOn088nDjKGrO9zRtzpfe-sPQI5aG3RTzTyd4CUZ__8W_DA9qhDGyWq0\" \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\" data-nodeid=\"17133\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nh\u01b0\u1edbng t\u1eeb tr\u00e1i sang ph\u1ea3i\r\n\r\nactor Customer\r\n\r\nrectangle \"C\u1eeda h\u00e0ng tr\u1ef1c tuy\u1ebfn\" {\r\n  usecase \"Duy\u1ec7t s\u1ea3n ph\u1ea9m\" as Browse\r\n  usecase \"\u0110\u1eb7t h\u00e0ng\" as Place\r\n}\r\n\r\nCustomer --&gt; Browse\r\nCustomer --&gt; Place\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:LOyz2i9044RxXRt3a3vNa60yW5TOriK4aetip28YrcdjRHGh4K4h8LjOHBp7tiHD_86Ky_7cpNm9aZ1aouApx7NrRgVdGDwTWKnxo055c1UPRuuvPvm9IPM1r29LfJ9TOfIam1GAejIxYu2itNSAuzrD0jcLRnuwWZLd01QL51Z8IOXTJO31gtlzgOn088nDjKGrO9zRtzpfe-sPQI5aG3RTzTyd4CUZ__8W_DA9qhDGyWq0\" \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><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:LOzB2iCm34Jt1jzXy3vNAA4zG0izWR7LrE1OHPRfekJkTT8FP2Nqveb1OrKlskPiJQQRGXcIfhiY9g6WYOirrlYWB3YrgZoJh6GDVPaomPrBJeLmxGevlAm1MgNWQy-Emiy-7yAn1QqElkB3Tjeb-q1WYIIRiktMB6lJhnN3SFZVxk3N7gd4_iWR\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><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><br \/>\n<span>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:LOzB2iCm34Jt1jzXy3vNAA4zG0izWR7LrE1OHPRfekJkTT8FP2Nqveb1OrKlskPiJQQRGXcIfhiY9g6WYOirrlYWB3YrgZoJh6GDVPaomPrBJeLmxGevlAm1MgNWQy-Emiy-7yAn1QqElkB3Tjeb-q1WYIIRiktMB6lJhnN3SFZVxk3N7gd4_iWR\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><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><br \/>\n<span>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p data-nodeid=\"17134\"><code data-backticks=\"1\" data-nodeid=\"17298\">h\u01b0\u1edbng t\u1eeb tr\u00e1i sang ph\u1ea3i<\/code> y\u00eau c\u1ea7u PlantUML b\u1ed1 tr\u00ed s\u01a1 \u0111\u1ed3 theo chi\u1ec1u ngang. PlantUML c\u00f3 th\u1ec3 \u0111i\u1ec1u ch\u1ec9nh b\u1ed1 c\u1ee5c ch\u00ednh x\u00e1c khi s\u01a1 \u0111\u1ed3 thay \u0111\u1ed5i.<\/p>\n<h2 data-nodeid=\"17135\">4. V\u00ed d\u1ee5: c\u1eeda h\u00e0ng tr\u1ef1c tuy\u1ebfn c\u01a1 b\u1ea3n<\/h2>\n<p id=\"ytNqnVg\"><img alt=\"Giao di\u1ec7n VPasCode hi\u1ec3n th\u1ecb bi\u1ec3u \u0111\u1ed3 tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng UML n\u01a1i vai tr\u00f2 Kh\u00e1ch h\u00e0ng t\u01b0\u01a1ng t\u00e1c v\u1edbi c\u00e1c tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng \u0110\u1eb7t h\u00e0ng, \u00c1p d\u1ee5ng khuy\u1ebfn m\u00e3i v\u00e0 X\u00e1c th\u1ef1c thanh to\u00e1n.\" class=\"alignnone size-full wp-image-21966\" decoding=\"async\" height=\"875\" loading=\"lazy\" sizes=\"auto, (max-width: 1918px) 100vw, 1918px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf056598cb.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf056598cb.png 1918w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf056598cb-300x137.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf056598cb-1024x467.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf056598cb-768x350.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf056598cb-1536x701.png 1536w\" width=\"1918\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:LP1D3i8W44Rt9DnXqdslOAgkZIPwWGcCBP52CqpZmdXt2srDM97lyPWVkYJ8CezUAqzF0Od0hXy4h6CoucBGIYiq4XdESv8u4k_vQ4SNN1B6d32j8FlvAORU4pJNu5qWk2yADV3H2c1EP30jToUEx-MSEDhPI6foZPLLsisZ8OXiYOjIScKy6CqBqk2caO8KgQ1Akc30di2We8zzaLQarJSFlQy7RNluZr71hN75jZvbzGBscXq5k_ph3m00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><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><br \/>\n<span>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:LP1D3i8W44Rt9DnXqdslOAgkZIPwWGcCBP52CqpZmdXt2srDM97lyPWVkYJ8CezUAqzF0Od0hXy4h6CoucBGIYiq4XdESv8u4k_vQ4SNN1B6d32j8FlvAORU4pJNu5qWk2yADV3H2c1EP30jToUEx-MSEDhPI6foZPLLsisZ8OXiYOjIScKy6CqBqk2caO8KgQ1Akc30di2We8zzaLQarJSFlQy7RNluZr71hN75jZvbzGBscXq5k_ph3m00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><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><br \/>\n<span>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\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\/editor\/#plantuml:LP1D3i8W44Rt9DnXqdslOAgkZIPwWGcCBP52CqpZmdXt2srDM97lyPWVkYJ8CezUAqzF0Od0hXy4h6CoucBGIYiq4XdESv8u4k_vQ4SNN1B6d32j8FlvAORU4pJNu5qWk2yADV3H2c1EP30jToUEx-MSEDhPI6foZPLLsisZ8OXiYOjIScKy6CqBqk2caO8KgQ1Akc30di2We8zzaLQarJSFlQy7RNluZr71hN75jZvbzGBscXq5k_ph3m00\" \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\" data-nodeid=\"17136\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nleft to right direction\r\n\r\nactor Customer\r\nactor Administrator as Admin\r\n\r\nrectangle \"Online Store\" {\r\n  usecase \"Browse products\" as Browse\r\n  usecase \"Place order\" as Place\r\n  usecase \"Track shipment\" as Track\r\n  usecase \"Manage catalog\" as Manage\r\n}\r\n\r\nCustomer --&gt; Browse\r\nCustomer --&gt; Place\r\nCustomer --&gt; Track\r\nAdmin --&gt; Manage\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:LP1D3i8W44Rt9DnXqdslOAgkZIPwWGcCBP52CqpZmdXt2srDM97lyPWVkYJ8CezUAqzF0Od0hXy4h6CoucBGIYiq4XdESv8u4k_vQ4SNN1B6d32j8FlvAORU4pJNu5qWk2yADV3H2c1EP30jToUEx-MSEDhPI6foZPLLsisZ8OXiYOjIScKy6CqBqk2caO8KgQ1Akc30di2We8zzaLQarJSFlQy7RNluZr71hN75jZvbzGBscXq5k_ph3m00\" \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><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:LP1D3i8W44Rt9DnXqdslOAgkZIPwWGcCBP52CqpZmdXt2srDM97lyPWVkYJ8CezUAqzF0Od0hXy4h6CoucBGIYiq4XdESv8u4k_vQ4SNN1B6d32j8FlvAORU4pJNu5qWk2yADV3H2c1EP30jToUEx-MSEDhPI6foZPLLsisZ8OXiYOjIScKy6CqBqk2caO8KgQ1Akc30di2We8zzaLQarJSFlQy7RNluZr71hN75jZvbzGBscXq5k_ph3m00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><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><br \/>\n<span>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:LP1D3i8W44Rt9DnXqdslOAgkZIPwWGcCBP52CqpZmdXt2srDM97lyPWVkYJ8CezUAqzF0Od0hXy4h6CoucBGIYiq4XdESv8u4k_vQ4SNN1B6d32j8FlvAORU4pJNu5qWk2yADV3H2c1EP30jToUEx-MSEDhPI6foZPLLsisZ8OXiYOjIScKy6CqBqk2caO8KgQ1Akc30di2We8zzaLQarJSFlQy7RNluZr71hN75jZvbzGBscXq5k_ph3m00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><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><br \/>\n<span>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p data-nodeid=\"17137\">Kh\u00e1ch h\u00e0ng duy\u1ec7t, \u0111\u1eb7t h\u00e0ng v\u00e0 theo d\u00f5i \u0111\u01a1n h\u00e0ng. Ng\u01b0\u1eddi qu\u1ea3n tr\u1ecb qu\u1ea3n l\u00fd danh m\u1ee5c. S\u01a1 \u0111\u1ed3 c\u1ed1 \u00fd b\u1ecf qua c\u00e1c b\u01b0\u1edbc n\u1ed9i b\u1ed9 c\u1ee7a quy tr\u00ecnh x\u1eed l\u00fd \u0111\u01a1n h\u00e0ng.<\/p>\n<h2 data-nodeid=\"17138\">5. V\u00ed d\u1ee5: include v\u00e0 extend<\/h2>\n<p data-nodeid=\"17139\">Gi\u1ea3 s\u1eed vi\u1ec7c \u0111\u1eb7t h\u00e0ng lu\u00f4n y\u00eau c\u1ea7u x\u00e1c th\u1ef1c thanh to\u00e1n, trong khi \u00e1p d\u1ee5ng khuy\u1ebfn m\u00e3i l\u00e0 t\u00f9y ch\u1ecdn v\u00e0 c\u00f3 \u0111i\u1ec1u ki\u1ec7n.<\/p>\n<p id=\"UedRVgx\"><img alt='Giao di\u1ec7n VPasCode hi\u1ec3n th\u1ecb m\u00e3 PlantUML v\u00e0 bi\u1ec3u \u0111\u1ed3 UML k\u1ebft qu\u1ea3 cho th\u1ea5y tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng \"\u0110\u1eb7t h\u00e0ng\" bao g\u1ed3m \"X\u00e1c th\u1ef1c thanh to\u00e1n\" v\u00e0 m\u1edf r\u1ed9ng \"\u00c1p d\u1ee5ng khuy\u1ebfn m\u00e3i\".' class=\"alignnone size-full wp-image-21967\" decoding=\"async\" height=\"870\" loading=\"lazy\" sizes=\"auto, (max-width: 1913px) 100vw, 1913px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf07b911d4.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf07b911d4.png 1913w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf07b911d4-300x136.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf07b911d4-1024x466.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf07b911d4-768x349.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf07b911d4-1536x699.png 1536w\" width=\"1913\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:LT1H2W8X40RWTy4x_Enx7I1YAJf0GISGToh1rMKSeIswUvhuq9EEyp7puo69OScpryhJJI0HxEuFmUIOhBWOjDBAM8cCKquIP-BwKfict3rXE0Vl0k5Q20ruQmNaHDQaqhjuOmcH9-819k5N_ubZbaTazo8iPfqfI7Fj_Y-NnQzOECwnvcgkLrfzQgmU4PlDs9TfrL9ijsEVYntsUnUipnEDOm5zJ4C_NWazXS9KnQ6SvPU-\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><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><br \/>\n<span>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:LT1H2W8X40RWTy4x_Enx7I1YAJf0GISGToh1rMKSeIswUvhuq9EEyp7puo69OScpryhJJI0HxEuFmUIOhBWOjDBAM8cCKquIP-BwKfict3rXE0Vl0k5Q20ruQmNaHDQaqhjuOmcH9-819k5N_ubZbaTazo8iPfqfI7Fj_Y-NnQzOECwnvcgkLrfzQgmU4PlDs9TfrL9ijsEVYntsUnUipnEDOm5zJ4C_NWazXS9KnQ6SvPU-\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><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><br \/>\n<span>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\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\/editor\/#plantuml:LT1H2W8X40RWTy4x_Enx7I1YAJf0GISGToh1rMKSeIswUvhuq9EEyp7puo69OScpryhJJI0HxEuFmUIOhBWOjDBAM8cCKquIP-BwKfict3rXE0Vl0k5Q20ruQmNaHDQaqhjuOmcH9-819k5N_ubZbaTazo8iPfqfI7Fj_Y-NnQzOECwnvcgkLrfzQgmU4PlDs9TfrL9ijsEVYntsUnUipnEDOm5zJ4C_NWazXS9KnQ6SvPU-\" \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\" data-nodeid=\"17140\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nleft to right direction\r\n\r\nactor Customer\r\n\r\nrectangle \"Online Store\" {\r\n  usecase \"Place order\" as Place\r\n  usecase \"Authorize payment\" as Payment\r\n  usecase \"Apply promotion\" as Promotion\r\n}\r\n\r\nCustomer --&gt; Place\r\n\r\nPlace ..&gt; Payment : &lt;&lt;include&gt;&gt;\r\nPromotion ..&gt; Place : &lt;&lt;extend&gt;&gt;\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:LT1H2W8X40RWTy4x_Enx7I1YAJf0GISGToh1rMKSeIswUvhuq9EEyp7puo69OScpryhJJI0HxEuFmUIOhBWOjDBAM8cCKquIP-BwKfict3rXE0Vl0k5Q20ruQmNaHDQaqhjuOmcH9-819k5N_ubZbaTazo8iPfqfI7Fj_Y-NnQzOECwnvcgkLrfzQgmU4PlDs9TfrL9ijsEVYntsUnUipnEDOm5zJ4C_NWazXS9KnQ6SvPU-\" \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><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:LT1H2W8X40RWTy4x_Enx7I1YAJf0GISGToh1rMKSeIswUvhuq9EEyp7puo69OScpryhJJI0HxEuFmUIOhBWOjDBAM8cCKquIP-BwKfict3rXE0Vl0k5Q20ruQmNaHDQaqhjuOmcH9-819k5N_ubZbaTazo8iPfqfI7Fj_Y-NnQzOECwnvcgkLrfzQgmU4PlDs9TfrL9ijsEVYntsUnUipnEDOm5zJ4C_NWazXS9KnQ6SvPU-\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><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><br \/>\n<span>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:LT1H2W8X40RWTy4x_Enx7I1YAJf0GISGToh1rMKSeIswUvhuq9EEyp7puo69OScpryhJJI0HxEuFmUIOhBWOjDBAM8cCKquIP-BwKfict3rXE0Vl0k5Q20ruQmNaHDQaqhjuOmcH9-819k5N_ubZbaTazo8iPfqfI7Fj_Y-NnQzOECwnvcgkLrfzQgmU4PlDs9TfrL9ijsEVYntsUnUipnEDOm5zJ4C_NWazXS9KnQ6SvPU-\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><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><br \/>\n<span>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p data-nodeid=\"17141\">M\u0169i t\u00ean <code data-backticks=\"1\" data-nodeid=\"17305\">Place ..&gt; Payment<\/code> c\u00f3 ngh\u0129a l\u00e0 &#8220;\u0110\u1eb7t h\u00e0ng&#8221; bao g\u1ed3m h\u00e0nh vi thanh to\u00e1n b\u1eaft bu\u1ed9c. M\u0169i t\u00ean <code data-backticks=\"1\" data-nodeid=\"17307\">Promotion ..&gt; Place<\/code> c\u00f3 ngh\u0129a l\u00e0 &#8220;\u00c1p d\u1ee5ng khuy\u1ebfn m\u00e3i&#8221; m\u1edf r\u1ed9ng &#8220;\u0110\u1eb7t h\u00e0ng&#8221; khi \u0111i\u1ec1u ki\u1ec7n c\u1ee7a n\u00f3 \u0111\u01b0\u1ee3c \u0111\u00e1p \u1ee9ng.<\/p>\n<p data-nodeid=\"17142\">Ghi l\u1ea1i \u0111i\u1ec1u ki\u1ec7n\u2014v\u00ed d\u1ee5: &#8220;kh\u00e1ch h\u00e0ng nh\u1eadp m\u00e3 khuy\u1ebfn m\u00e3i h\u1ee3p l\u1ec7&#8221;\u2014trong m\u00f4 t\u1ea3 tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng ho\u1eb7c m\u1ed9t ghi ch\u00fa.<\/p>\n<h2 data-nodeid=\"17143\">6. V\u00ed d\u1ee5: t\u1ed5ng qu\u00e1t h\u00f3a vai tr\u00f2 v\u00e0 h\u1ec7 th\u1ed1ng b\u00ean ngo\u00e0i<\/h2>\n<p data-nodeid=\"17144\">M\u1ed9t vai tr\u00f2 chuy\u00ean bi\u1ec7t th\u1eeba k\u1ebf c\u00e1c t\u01b0\u01a1ng t\u00e1c t\u1eeb m\u1ed9t vai tr\u00f2 t\u1ed5ng qu\u00e1t h\u01a1n. C\u00e1c d\u1ecbch v\u1ee5 b\u00ean ngo\u00e0i c\u0169ng c\u00f3 th\u1ec3 l\u00e0 vai tr\u00f2 khi ch\u00fang t\u01b0\u01a1ng t\u00e1c v\u1edbi h\u1ec7 th\u1ed1ng.<\/p>\n<p id=\"RxUdJmF\"><img alt=\"Giao di\u1ec7n VPasCode hi\u1ec3n th\u1ecb m\u00e3 PlantUML v\u00e0 bi\u1ec3u \u0111\u1ed3 UML \u0111\u01b0\u1ee3c t\u1ea1o ra cho th\u1ea5y Kh\u00e1ch h\u00e0ng \u0111\u00e3 \u0111\u0103ng k\u00fd l\u00e0 tr\u01b0\u1eddng h\u1ee3p t\u1ed5ng qu\u00e1t h\u00f3a c\u1ee7a Ng\u01b0\u1eddi d\u00f9ng v\u00e0 C\u1ed5ng thanh to\u00e1n t\u01b0\u01a1ng t\u00e1c v\u1edbi C\u1eeda h\u00e0ng tr\u1ef1c tuy\u1ebfn.\" class=\"alignnone size-full wp-image-21968\" decoding=\"async\" height=\"872\" loading=\"lazy\" sizes=\"auto, (max-width: 1917px) 100vw, 1917px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf09ff1d59.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf09ff1d59.png 1917w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf09ff1d59-300x136.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf09ff1d59-1024x466.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf09ff1d59-768x349.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf09ff1d59-1536x699.png 1536w\" width=\"1917\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:LP31QWCX48RlWkymx3rvW18aj8SU6rBw0ABJhU1gc1a9eUsxLrUpD2V7yVEVJuyibgGiKQk8dmAIWSBy9U03ePEGarPQMIUPOFfWf0aiGoksxXddm8A47bnXoSk0NiPc0q_sjc0IcAtWrTvMwBNNRSYTXztknumHMZKBc-Q8CBsb61B2Umt32Rwr0YYCpd8zUwPyhUk5iYzEUCtklGVi5Ar3oEI7uxf_92WxP8PBb-rK4_njDisg-faj-v-qkQVr8VkzQHVX2Gw7a5mi7etHQZouyottYCdN__y3\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><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><br \/>\n<span>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:LP31QWCX48RlWkymx3rvW18aj8SU6rBw0ABJhU1gc1a9eUsxLrUpD2V7yVEVJuyibgGiKQk8dmAIWSBy9U03ePEGarPQMIUPOFfWf0aiGoksxXddm8A47bnXoSk0NiPc0q_sjc0IcAtWrTvMwBNNRSYTXztknumHMZKBc-Q8CBsb61B2Umt32Rwr0YYCpd8zUwPyhUk5iYzEUCtklGVi5Ar3oEI7uxf_92WxP8PBb-rK4_njDisg-faj-v-qkQVr8VkzQHVX2Gw7a5mi7etHQZouyottYCdN__y3\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><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><br \/>\n<span>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\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\/editor\/#plantuml:LP31QWCX48RlWkymx3rvW18aj8SU6rBw0ABJhU1gc1a9eUsxLrUpD2V7yVEVJuyibgGiKQk8dmAIWSBy9U03ePEGarPQMIUPOFfWf0aiGoksxXddm8A47bnXoSk0NiPc0q_sjc0IcAtWrTvMwBNNRSYTXztknumHMZKBc-Q8CBsb61B2Umt32Rwr0YYCpd8zUwPyhUk5iYzEUCtklGVi5Ar3oEI7uxf_92WxP8PBb-rK4_njDisg-faj-v-qkQVr8VkzQHVX2Gw7a5mi7etHQZouyottYCdN__y3\" \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\" data-nodeid=\"17145\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nleft to right direction\r\n\r\nactor \"User\" as User\r\nactor \"Registered customer\" as Customer\r\nactor \"Payment gateway\" as Gateway\r\n\r\nCustomer --|&gt; User\r\n\r\nrectangle \"Online Store\" {\r\n  usecase \"Browse products\" as Browse\r\n  usecase \"Place order\" as Place\r\n  usecase \"Process payment\" as Pay\r\n}\r\n\r\nUser --&gt; Browse\r\nCustomer --&gt; Place\r\nPlace ..&gt; Pay : &lt;&lt;include&gt;&gt;\r\nGateway --&gt; Pay\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:LP31QWCX48RlWkymx3rvW18aj8SU6rBw0ABJhU1gc1a9eUsxLrUpD2V7yVEVJuyibgGiKQk8dmAIWSBy9U03ePEGarPQMIUPOFfWf0aiGoksxXddm8A47bnXoSk0NiPc0q_sjc0IcAtWrTvMwBNNRSYTXztknumHMZKBc-Q8CBsb61B2Umt32Rwr0YYCpd8zUwPyhUk5iYzEUCtklGVi5Ar3oEI7uxf_92WxP8PBb-rK4_njDisg-faj-v-qkQVr8VkzQHVX2Gw7a5mi7etHQZouyottYCdN__y3\" \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><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:LP31QWCX48RlWkymx3rvW18aj8SU6rBw0ABJhU1gc1a9eUsxLrUpD2V7yVEVJuyibgGiKQk8dmAIWSBy9U03ePEGarPQMIUPOFfWf0aiGoksxXddm8A47bnXoSk0NiPc0q_sjc0IcAtWrTvMwBNNRSYTXztknumHMZKBc-Q8CBsb61B2Umt32Rwr0YYCpd8zUwPyhUk5iYzEUCtklGVi5Ar3oEI7uxf_92WxP8PBb-rK4_njDisg-faj-v-qkQVr8VkzQHVX2Gw7a5mi7etHQZouyottYCdN__y3\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><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><br \/>\n<span>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:LP31QWCX48RlWkymx3rvW18aj8SU6rBw0ABJhU1gc1a9eUsxLrUpD2V7yVEVJuyibgGiKQk8dmAIWSBy9U03ePEGarPQMIUPOFfWf0aiGoksxXddm8A47bnXoSk0NiPc0q_sjc0IcAtWrTvMwBNNRSYTXztknumHMZKBc-Q8CBsb61B2Umt32Rwr0YYCpd8zUwPyhUk5iYzEUCtklGVi5Ar3oEI7uxf_92WxP8PBb-rK4_njDisg-faj-v-qkQVr8VkzQHVX2Gw7a5mi7etHQZouyottYCdN__y3\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><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><br \/>\n<span>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p data-nodeid=\"17146\">\u201cKh\u00e1ch h\u00e0ng \u0111\u00e3 \u0111\u0103ng k\u00fd\u201d chuy\u00ean bi\u1ec7t h\u00f3a \u201cNg\u01b0\u1eddi d\u00f9ng\u201d v\u00e0 th\u1eeba k\u1ebf t\u01b0\u01a1ng t\u00e1c ng\u01b0\u1eddi d\u00f9ng chung. C\u1ed5ng thanh to\u00e1n n\u1eb1m ngo\u00e0i ranh gi\u1edbi c\u1ee7a C\u1eeda h\u00e0ng Tr\u1ef1c tuy\u1ebfn nh\u01b0ng tham gia v\u00e0o tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng thanh to\u00e1n.<\/p>\n<h2 data-nodeid=\"17147\">7. V\u00ed d\u1ee5: t\u1ed5ng qu\u00e1t h\u00f3a tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng<\/h2>\n<p data-nodeid=\"17148\">T\u1ed5ng qu\u00e1t h\u00f3a c\u00f3 th\u1ec3 bi\u1ec3u di\u1ec5n c\u00e1c phi\u00ean b\u1ea3n chuy\u00ean bi\u1ec7t c\u1ee7a m\u1ed9t tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng r\u1ed9ng h\u01a1n. Tam gi\u00e1c r\u1ed7ng ch\u1ec9 v\u1ec1 ph\u00eda tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng t\u1ed5ng qu\u00e1t.<\/p>\n<p id=\"mCUPRYk\"><img alt=\"Giao di\u1ec7n VPasCode hi\u1ec3n th\u1ecb m\u00e3 PlantUML v\u00e0 bi\u1ec3u \u0111\u1ed3 UML \u0111\u01b0\u1ee3c t\u1ea1o ra cho th\u1ea5y vai tr\u00f2 Kh\u00e1ch h\u00e0ng v\u1edbi c\u00e1c m\u0169i t\u00ean t\u1ed5ng qu\u00e1t h\u00f3a ch\u1ec9 v\u1ec1 tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng Th\u1ef1c hi\u1ec7n thanh to\u00e1n.\" class=\"alignnone size-full wp-image-21969\" decoding=\"async\" height=\"876\" loading=\"lazy\" sizes=\"auto, (max-width: 1919px) 100vw, 1919px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf0bcc5091.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf0bcc5091.png 1919w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf0bcc5091-300x137.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf0bcc5091-1024x467.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf0bcc5091-768x351.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf0bcc5091-1536x701.png 1536w\" width=\"1919\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:RP112eCm44NtWTpXuzuhIC5reT1UO8oZ5KrIad4XRU_UQ1MnT9UyzmYVdA9GaD4EMWtS2CGZTErTK7U1ZNJUQQKL6V41vHZ5MmupcIMvTc1a5veiEy5rYi8smrChO8niA2Pxffxn-2OPA6BD3r5Yg2OO2lNIbEdmBwZ8zP10BZOSblAsNhHwpxEsYSZpOdtbWFOyYQGJV1Nxf4t_u1ExEdtH1m00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><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><br \/>\n<span>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:RP112eCm44NtWTpXuzuhIC5reT1UO8oZ5KrIad4XRU_UQ1MnT9UyzmYVdA9GaD4EMWtS2CGZTErTK7U1ZNJUQQKL6V41vHZ5MmupcIMvTc1a5veiEy5rYi8smrChO8niA2Pxffxn-2OPA6BD3r5Yg2OO2lNIbEdmBwZ8zP10BZOSblAsNhHwpxEsYSZpOdtbWFOyYQGJV1Nxf4t_u1ExEdtH1m00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><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><br \/>\n<span>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\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\/editor\/#plantuml:XP0nJiD044NxESLN-bmXYfGcKbfVO5bM7eimHjvrWH8g2chgD74eQKZhBLVY7diJnWOX1ugKC_F-d_cpzC4qeRtV4dz-v7YG4Y77TuGcTHMyqVg1S_zM4HaRwWORJfrbS3fAITGu6vJPEipMERuWS8wlWmSROOGwTJB3Ze3MEskyOeKIPmkk59TBpdWKGrtKHYubln1kSdyU_NCVVnJk2ckvVSpnMN37jIOHI9bEyfrWj5Wfu6J3mzedecb2pEUBSSM_vbH4IcXplvZSFvd_7IsTtEh7lm00\" \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\" data-nodeid=\"17149\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\nh\u01b0\u1edbng t\u1eeb tr\u00e1i sang ph\u1ea3i\n\nactor Kh\u00e1ch h\u00e0ng\n\nrectangle \"H\u1ec7 th\u1ed1ng thanh to\u00e1n\" {\n  usecase \"Th\u1ef1c hi\u1ec7n thanh to\u00e1n\" as ThanhToan\n  usecase \"Thanh to\u00e1n b\u1eb1ng th\u1ebb\" as The\n  usecase \"Thanh to\u00e1n b\u1eb1ng chuy\u1ec3n kho\u1ea3n ng\u00e2n h\u00e0ng\" as ChuyenKhoan\n}\n\nKh\u00e1ch h\u00e0ng --&gt; The\nKh\u00e1ch h\u00e0ng --&gt; ChuyenKhoan\n\nThe --|&gt; ThanhToan\nChuyenKhoan --|&gt; ThanhToan\n@enduml\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:XP0nJiD044NxESLN-bmXYfGcKbfVO5bM7eimHjvrWH8g2chgD74eQKZhBLVY7diJnWOX1ugKC_F-d_cpzC4qeRtV4dz-v7YG4Y77TuGcTHMyqVg1S_zM4HaRwWORJfrbS3fAITGu6vJPEipMERuWS8wlWmSROOGwTJB3Ze3MEskyOeKIPmkk59TBpdWKGrtKHYubln1kSdyU_NCVVnJk2ckvVSpnMN37jIOHI9bEyfrWj5Wfu6J3mzedecb2pEUBSSM_vbH4IcXplvZSFvd_7IsTtEh7lm00\" \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><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:RP112eCm44NtWTpXuzuhIC5reT1UO8oZ5KrIad4XRU_UQ1MnT9UyzmYVdA9GaD4EMWtS2CGZTErTK7U1ZNJUQQKL6V41vHZ5MmupcIMvTc1a5veiEy5rYi8smrChO8niA2Pxffxn-2OPA6BD3r5Yg2OO2lNIbEdmBwZ8zP10BZOSblAsNhHwpxEsYSZpOdtbWFOyYQGJV1Nxf4t_u1ExEdtH1m00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><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><br \/>\n<span>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:RP112eCm44NtWTpXuzuhIC5reT1UO8oZ5KrIad4XRU_UQ1MnT9UyzmYVdA9GaD4EMWtS2CGZTErTK7U1ZNJUQQKL6V41vHZ5MmupcIMvTc1a5veiEy5rYi8smrChO8niA2Pxffxn-2OPA6BD3r5Yg2OO2lNIbEdmBwZ8zP10BZOSblAsNhHwpxEsYSZpOdtbWFOyYQGJV1Nxf4t_u1ExEdtH1m00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><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><br \/>\n<span>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p data-nodeid=\"17150\">S\u1eed d\u1ee5ng \u0111i\u1ec1u n\u00e0y khi c\u00e1c tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng chuy\u00ean bi\u1ec7t chia s\u1ebb m\u1ed9t m\u1ee5c ti\u00eau chung nh\u01b0ng c\u00f3 s\u1ef1 kh\u00e1c bi\u1ec7t c\u00f3 \u00fd ngh\u0129a. N\u1ebfu c\u00e1c bi\u1ebfn th\u1ec3 ch\u1ec9 l\u00e0 c\u00e1c b\u01b0\u1edbc c\u00f3 \u0111i\u1ec1u ki\u1ec7n, m\u1ed9t <code data-backticks=\"1\" data-nodeid=\"17316\">&lt;&lt;m\u1edf r\u1ed9ng&gt;&gt;<\/code> quan h\u1ec7 ho\u1eb7c m\u00f4 t\u1ea3 tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng b\u1eb1ng v\u0103n b\u1ea3n c\u00f3 th\u1ec3 r\u00f5 r\u00e0ng h\u01a1n.<\/p>\n<h2 data-nodeid=\"17151\">8. L\u00e0m vi\u1ec7c trong VPasCode<\/h2>\n<p data-nodeid=\"17152\">Quy tr\u00ecnh l\u00e0m vi\u1ec7c th\u1ef1c t\u1ebf:<\/p>\n<p><img alt=\"S\u01a1 \u0111\u1ed3 quy tr\u00ecnh hi\u1ec3n th\u1ecb b\u1ea3y b\u01b0\u1edbc \u0111\u1ec3 t\u1ea1o bi\u1ec3u \u0111\u1ed3 tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng PlantUML trong VPasCode, bao g\u1ed3m x\u00e1c \u0111\u1ecbnh ph\u1ea1m vi, so\u1ea1n th\u1ea3o m\u00e3 v\u00e0 x\u00e1c th\u1ef1c v\u1edbi c\u00e1c b\u00ean li\u00ean quan.\" class=\"alignnone size-full wp-image-21970\" decoding=\"async\" height=\"1024\" loading=\"lazy\" sizes=\"auto, (max-width: 1536px) 100vw, 1536px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf11378485.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf11378485.png 1536w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf11378485-300x200.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf11378485-1024x683.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf11378485-768x512.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf11378485-120x80.png 120w\" width=\"1536\"\/><\/p>\n<ol data-nodeid=\"17153\">\n<li data-nodeid=\"17154\">\n<p data-nodeid=\"17155\"><strong data-nodeid=\"17324\">X\u00e1c \u0111\u1ecbnh ph\u1ea1m vi.<\/strong>X\u00e1c \u0111\u1ecbnh ranh gi\u1edbi h\u1ec7 th\u1ed1ng, vai tr\u00f2 c\u1ee7a c\u00e1c t\u00e1c nh\u00e2n v\u00e0 m\u1ee5c ti\u00eau m\u00e0 m\u1ed7i vai tr\u00f2 mu\u1ed1n \u0111\u1ea1t \u0111\u01b0\u1ee3c.<\/p>\n<\/li>\n<li data-nodeid=\"17156\">\n<p data-nodeid=\"17157\"><strong data-nodeid=\"17329\">T\u1ea1o b\u1ea3n nh\u00e1p.<\/strong>Vi\u1ebft PlantUML tr\u1ef1c ti\u1ebfp ho\u1eb7c y\u00eau c\u1ea7u tr\u1ee3 l\u00fd AI t\u1ea1o bi\u1ec3u \u0111\u1ed3 tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng.<\/p>\n<\/li>\n<li data-nodeid=\"17158\">\n<p data-nodeid=\"17159\"><strong data-nodeid=\"17334\">Xem l\u1ea1i m\u00e3 v\u00e0 xem tr\u01b0\u1edbc.<\/strong>X\u00e1c nh\u1eadn c\u00e1c t\u00e1c nh\u00e2n n\u1eb1m ngo\u00e0i ranh gi\u1edbi h\u1ec7 th\u1ed1ng, c\u00e1c tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng n\u1eb1m trong \u0111\u00f3, v\u00e0 c\u00e1c m\u0169i t\u00ean ch\u1ec9 theo h\u01b0\u1edbng \u0111\u00fang.<\/p>\n<\/li>\n<li data-nodeid=\"17160\">\n<p data-nodeid=\"17161\"><strong data-nodeid=\"17339\">Tinh ch\u1ec9nh m\u00f4 h\u00ecnh.<\/strong>Thay th\u1ebf c\u00e1c t\u00ean kh\u00f4ng r\u00f5 r\u00e0ng, lo\u1ea1i b\u1ecf chi ti\u1ebft tri\u1ec3n khai v\u00e0 ch\u1ec9 th\u00eam c\u00e1c quan h\u1ec7 khi ch\u00fang ph\u1ea3n \u00e1nh c\u00e1c y\u00eau c\u1ea7u th\u1ef1c t\u1ebf.<\/p>\n<\/li>\n<li data-nodeid=\"17162\">\n<p data-nodeid=\"17163\"><strong data-nodeid=\"17344\">Y\u00eau c\u1ea7u ch\u1ec9nh s\u1eeda AI c\u00f3 m\u1ee5c ti\u00eau.<\/strong>V\u00ed d\u1ee5: \u201cTh\u00eam m\u1ed9t t\u00e1c nh\u00e2n c\u1ed5ng thanh to\u00e1n b\u00ean ngo\u00e0i v\u00e0 hi\u1ec3n th\u1ecb t\u01b0\u01a1ng t\u00e1c thanh to\u00e1n c\u1ea7n thi\u1ebft b\u1eb1ng quan h\u1ec7 bao g\u1ed3m. Gi\u1eef nguy\u00ean ph\u1ea7n c\u00f2n l\u1ea1i.\u201d<\/p>\n<\/li>\n<li data-nodeid=\"17164\">\n<p data-nodeid=\"17165\"><strong data-nodeid=\"17349\">X\u00e1c nh\u1eadn v\u1edbi c\u00e1c b\u00ean li\u00ean quan.<\/strong>Ki\u1ec3m tra xem bi\u1ec3u \u0111\u1ed3 c\u00f3 ph\u1ea3n \u00e1nh \u0111\u00fang ph\u1ea1m vi th\u1ef1c t\u1ebf c\u1ee7a h\u1ec7 th\u1ed1ng v\u00e0 m\u1ee5c ti\u00eau c\u1ee7a ng\u01b0\u1eddi d\u00f9ng hay kh\u00f4ng.<\/p>\n<\/li>\n<li data-nodeid=\"17166\">\n<p data-nodeid=\"17167\"><strong data-nodeid=\"17356\">L\u01b0u ngu\u1ed3n.<\/strong> Gi\u1eef l\u1ea1i <code data-backticks=\"1\" data-nodeid=\"17354\">.puml<\/code> v\u0103n b\u1ea3n c\u00f9ng v\u1edbi t\u00e0i li\u1ec7u d\u1ef1 \u00e1n ho\u1eb7c trong h\u1ec7 th\u1ed1ng ki\u1ec3m so\u00e1t phi\u00ean b\u1ea3n. Xu\u1ea5t h\u00ecnh \u1ea3nh khi c\u1ea7n cho t\u00e0i li\u1ec7u ho\u1eb7c b\u00e0i thuy\u1ebft tr\u00ecnh.<\/p>\n<\/li>\n<\/ol>\n<h3 data-nodeid=\"17168\">V\u00ed d\u1ee5 v\u1ec1 c\u00e2u l\u1ec7nh \u0111\u1ec3 h\u1ed7 tr\u1ee3 AI<\/h3>\n<blockquote data-nodeid=\"17169\">\n<p data-nodeid=\"17170\">T\u1ea1o bi\u1ec3u \u0111\u1ed3 tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng UML b\u1eb1ng PlantUML cho m\u1ed9t c\u1eeda h\u00e0ng tr\u1ef1c tuy\u1ebfn. Bao g\u1ed3m ranh gi\u1edbi h\u1ec7 th\u1ed1ng, c\u00e1c vai tr\u00f2 Kh\u00e1ch h\u00e0ng v\u00e0 Qu\u1ea3n tr\u1ecb vi\u00ean, c\u00f9ng c\u00e1c m\u1ee5c ti\u00eau: Duy\u1ec7t s\u1ea3n ph\u1ea9m, \u0110\u1eb7t h\u00e0ng, Theo d\u00f5i giao h\u00e0ng v\u00e0 Qu\u1ea3n l\u00fd danh m\u1ee5c. Th\u1ec3 hi\u1ec7n vi\u1ec7c x\u00e1c th\u1ef1c thanh to\u00e1n nh\u01b0 m\u1ed9t h\u00e0nh vi b\u1eaft bu\u1ed9c \u0111\u01b0\u1ee3c bao g\u1ed3m trong \u0110\u1eb7t h\u00e0ng. Th\u1ec3 hi\u1ec7n vi\u1ec7c \u00e1p d\u1ee5ng khuy\u1ebfn m\u00e3i nh\u01b0 m\u1ed9t ph\u1ea7n m\u1edf r\u1ed9ng c\u00f3 \u0111i\u1ec1u ki\u1ec7n c\u1ee7a \u0110\u1eb7t h\u00e0ng. Ch\u1ec9 tr\u1ea3 v\u1ec1 m\u00e3 ngu\u1ed3n PlantUML h\u1ee3p l\u1ec7.<\/p>\n<\/blockquote>\n<p data-nodeid=\"17171\">Xem m\u00e3 do AI t\u1ea1o ra nh\u01b0 b\u1ea3n nh\u00e1p \u0111\u1ea7u ti\u00ean. H\u00e3y xem x\u00e9t c\u00e1c vai tr\u00f2, ranh gi\u1edbi, m\u1ed1i quan h\u1ec7 v\u00e0 c\u00e1c gi\u1ea3 \u0111\u1ecbnh kinh doanh tr\u01b0\u1edbc khi s\u1eed d\u1ee5ng.<\/p>\n<h2 data-nodeid=\"17172\">9. Nh\u1eefng sai l\u1ea7m ph\u1ed5 bi\u1ebfn<\/h2>\n<p><img alt=\"Infographic minh h\u1ecda s\u00e1u l\u1ed7i ph\u1ed5 bi\u1ebfn trong bi\u1ec3u \u0111\u1ed3 tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng UML, bao g\u1ed3m \u0111\u1ecbnh ngh\u0129a vai tr\u00f2 (actor) sai, \u0111\u1eb7t t\u00ean v\u00e0 m\u0169i t\u00ean m\u1ed1i quan h\u1ec7.\" class=\"alignnone size-full wp-image-21973\" decoding=\"async\" height=\"941\" loading=\"lazy\" sizes=\"auto, (max-width: 1672px) 100vw, 1672px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf16300823.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf16300823.png 1672w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf16300823-300x169.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf16300823-1024x576.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf16300823-768x432.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf16300823-1536x864.png 1536w\" width=\"1672\"\/><\/p>\n<ul data-nodeid=\"17173\">\n<li data-nodeid=\"17174\">\n<p data-nodeid=\"17175\"><strong data-nodeid=\"17365\">M\u00f4 h\u00ecnh h\u00f3a c\u00e1c th\u00e0nh ph\u1ea7n n\u1ed9i b\u1ed9 d\u01b0\u1edbi d\u1ea1ng c\u00e1c vai tr\u00f2:<\/strong> C\u00e1c vai tr\u00f2 ph\u1ea3i l\u00e0 c\u00e1c vai tr\u00f2 b\u00ean ngo\u00e0i ho\u1eb7c c\u00e1c h\u1ec7 th\u1ed1ng t\u01b0\u01a1ng t\u00e1c v\u1edbi \u0111\u1ed1i t\u01b0\u1ee3ng.<\/p>\n<\/li>\n<li data-nodeid=\"17176\">\n<p data-nodeid=\"17177\"><strong data-nodeid=\"17370\">\u0110\u1eb7t t\u00ean cho c\u00e1c tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng nh\u01b0 c\u00e1c nhi\u1ec7m v\u1ee5 tri\u1ec3n khai:<\/strong> \u01afu ti\u00ean &#8220;Theo d\u00f5i giao h\u00e0ng&#8221; thay v\u00ec &#8220;G\u1ecdi API theo d\u00f5i.&#8221;<\/p>\n<\/li>\n<li data-nodeid=\"17178\">\n<p data-nodeid=\"17179\"><strong data-nodeid=\"17377\">S\u1eed d\u1ee5ng <code data-backticks=\"1\" data-nodeid=\"17373\">&lt;&lt;include&gt;&gt;<\/code> cho h\u00e0nh vi t\u00f9y ch\u1ecdn:<\/strong> Include bi\u1ec3u th\u1ecb h\u00e0nh vi m\u00e0 tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng g\u1ed1c y\u00eau c\u1ea7u.<\/p>\n<\/li>\n<li data-nodeid=\"17180\">\n<p data-nodeid=\"17181\"><strong data-nodeid=\"17382\">\u0110\u1ea3o ng\u01b0\u1ee3c chi\u1ec1u m\u0169i t\u00ean m\u1ed1i quan h\u1ec7:<\/strong> Include ch\u1ec9 v\u1ec1 tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng \u0111\u01b0\u1ee3c bao g\u1ed3m; extend ch\u1ec9 v\u1ec1 tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng g\u1ed1c.<\/p>\n<\/li>\n<li data-nodeid=\"17182\">\n<p data-nodeid=\"17183\"><strong data-nodeid=\"17387\">L\u00e0m cho m\u1ed9t bi\u1ec3u \u0111\u1ed3 tr\u1edf n\u00ean qu\u00e1 t\u1ea3i v\u1edbi chi ti\u1ebft:<\/strong> S\u1eed d\u1ee5ng bi\u1ec3u \u0111\u1ed3 c\u1ea5p cao cho ph\u1ea1m vi, sau \u0111\u00f3 s\u1eed d\u1ee5ng c\u00e1c bi\u1ec3u \u0111\u1ed3 ri\u00eang bi\u1ec7t ho\u1eb7c v\u0103n b\u1ea3n cho c\u00e1c k\u1ecbch b\u1ea3n chi ti\u1ebft.<\/p>\n<\/li>\n<li data-nodeid=\"17184\">\n<p data-nodeid=\"17185\"><strong data-nodeid=\"17392\">Cho r\u1eb1ng vi\u1ec7c hi\u1ec3n th\u1ecb th\u00e0nh c\u00f4ng c\u00f3 ngh\u0129a l\u00e0 m\u00f4 h\u00ecnh \u0111\u00fang:<\/strong> PlantUML c\u00f3 th\u1ec3 hi\u1ec3n th\u1ecb m\u1ed9t bi\u1ec3u \u0111\u1ed3 nh\u01b0ng v\u1eabn kh\u00f4ng ph\u1ea3n \u00e1nh \u0111\u00fang c\u00e1c y\u00eau c\u1ea7u.<\/p>\n<\/li>\n<\/ul>\n<h2 data-nodeid=\"17186\">10. Danh s\u00e1ch ki\u1ec3m tra<\/h2>\n<p data-nodeid=\"17187\">Tr\u01b0\u1edbc khi chia s\u1ebb bi\u1ec3u \u0111\u1ed3, h\u00e3y x\u00e1c nh\u1eadn r\u1eb1ng:<\/p>\n<p><img alt=\"Danh s\u00e1ch ki\u1ec3m tra xem l\u1ea1i bi\u1ec3u \u0111\u1ed3 tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng li\u1ec7t k\u00ea t\u00e1m \u0111i\u1ec3m x\u00e1c th\u1ef1c b\u00ean c\u1ea1nh m\u1ed9t v\u00ed d\u1ee5 bi\u1ec3u \u0111\u1ed3 cho th\u1ea5y Kh\u00e1ch h\u00e0ng t\u01b0\u01a1ng t\u00e1c v\u1edbi H\u1ec7 th\u1ed1ng mua s\u1eafm tr\u1ef1c tuy\u1ebfn.\" class=\"alignnone size-full wp-image-21974\" decoding=\"async\" height=\"941\" loading=\"lazy\" sizes=\"auto, (max-width: 1672px) 100vw, 1672px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf22d2011d.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf22d2011d.png 1672w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf22d2011d-300x169.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf22d2011d-1024x576.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf22d2011d-768x432.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acdf22d2011d-1536x864.png 1536w\" width=\"1672\"\/><\/p>\n<ul data-nodeid=\"17188\">\n<li data-nodeid=\"17189\">\n<p data-nodeid=\"17190\">Ranh gi\u1edbi h\u1ec7 th\u1ed1ng r\u00f5 r\u00e0ng.<\/p>\n<\/li>\n<li data-nodeid=\"17191\">\n<p data-nodeid=\"17192\">M\u1ecdi vai tr\u00f2 \u0111\u1ec1u l\u00e0 b\u00ean ngo\u00e0i v\u00e0 \u0111\u1ea1i di\u1ec7n cho m\u1ed9t vai tr\u00f2.<\/p>\n<\/li>\n<li data-nodeid=\"17193\">\n<p data-nodeid=\"17194\">T\u00ean c\u00e1c tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng m\u00f4 t\u1ea3 c\u00e1c m\u1ee5c \u00fd ngh\u0129a.<\/p>\n<\/li>\n<li data-nodeid=\"17195\">\n<p data-nodeid=\"17196\">C\u00e1c li\u00ean k\u1ebft c\u1ee7a vai tr\u00f2 ph\u1ea3n \u00e1nh c\u00e1c t\u01b0\u01a1ng t\u00e1c th\u1ef1c t\u1ebf.<\/p>\n<\/li>\n<li data-nodeid=\"17197\">\n<p data-nodeid=\"17198\">C\u00e1c m\u1ed1i quan h\u1ec7 Include l\u00e0 b\u1eaft bu\u1ed9c; c\u00e1c m\u1ed1i quan h\u1ec7 Extend l\u00e0 c\u00f3 \u0111i\u1ec1u ki\u1ec7n ho\u1eb7c \u0111\u01b0\u1ee3c bi\u1ec7n minh theo c\u00e1ch kh\u00e1c.<\/p>\n<\/li>\n<li data-nodeid=\"17199\">\n<p data-nodeid=\"17200\">C\u00e1c m\u0169i t\u00ean t\u1ed5ng qu\u00e1t h\u00f3a ch\u1ec9 v\u1ec1 vai tr\u00f2 ho\u1eb7c tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng t\u1ed5ng qu\u00e1t.<\/p>\n<\/li>\n<li data-nodeid=\"17201\">\n<p data-nodeid=\"17202\">Bi\u1ec3u \u0111\u1ed3 v\u1eabn d\u1ec5 \u0111\u1ecdc \u1edf k\u00edch th\u01b0\u1edbc d\u1ef1 \u0111\u1ecbnh.<\/p>\n<\/li>\n<li data-nodeid=\"17203\">\n<p class=\"\" data-nodeid=\"17204\">C\u00e1c gi\u1ea3 \u0111\u1ecbnh do AI t\u1ea1o ra \u0111\u00e3 \u0111\u01b0\u1ee3c xem x\u00e9t c\u00f9ng v\u1edbi nh\u1eefng ng\u01b0\u1eddi am hi\u1ec3u c\u00e1c y\u00eau c\u1ea7u.<\/p>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Bi\u1ec3u \u0111\u1ed3 Use Case UML cho bi\u1ebft h\u1ec7 th\u1ed1ng cung c\u1ea5p nh\u1eefng g\u00ec v\u00e0 ai\u2014ho\u1eb7c c\u00e1i g\u00ec\u2014t\u01b0\u01a1ng t\u00e1c v\u1edbi n\u00f3.<\/p>\n","protected":false},"author":11,"featured_media":12259,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","source_url":"","source_h1_title":"","fifu_image_url":"","fifu_image_alt":"","_fifu_image_alt":"","fifu_alt":"","_fifu_alt":"","fifu_image_title":"","_fifu_image_title":"","fifu_input_alt":"","vp_image_hash":"","footnotes":""},"categories":[82,3,117],"tags":[],"asset-category":[],"class_list":["post-12258","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai","category-unified-modeling-language","category-vpascode"],"source_url":"","source_h1_title":"","fifu_image_url":"","fifu_image_alt":"","vp_image_hash":"","yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Bi\u1ec3u \u0111\u1ed3 Use Case UML d\u01b0\u1edbi d\u1ea1ng m\u00e3 v\u1edbi PlantUML v\u00e0 VPasCode - Cybermedian<\/title>\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.cybermedian.com\/vn\/uml-use-case-diagrams-as-code-with-plantuml-and-vpascode\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Bi\u1ec3u \u0111\u1ed3 Use Case UML d\u01b0\u1edbi d\u1ea1ng m\u00e3 v\u1edbi PlantUML v\u00e0 VPasCode - Cybermedian\" \/>\n<meta property=\"og:description\" content=\"Bi\u1ec3u \u0111\u1ed3 Use Case UML cho bi\u1ebft h\u1ec7 th\u1ed1ng cung c\u1ea5p nh\u1eefng g\u00ec v\u00e0 ai\u2014ho\u1eb7c c\u00e1i g\u00ec\u2014t\u01b0\u01a1ng t\u00e1c v\u1edbi n\u00f3.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cybermedian.com\/vn\/uml-use-case-diagrams-as-code-with-plantuml-and-vpascode\/\" \/>\n<meta property=\"og:site_name\" content=\"Cybermedian\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-13T08:56:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-14T05:08:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.cybermedian.com\/vn\/wp-content\/uploads\/sites\/14\/2026\/10\/img_6acdef429169c.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1536\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"curtis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi\" \/>\n\t<meta name=\"twitter:data1\" content=\"curtis\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 ph\u00fat\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.cybermedian.com\/vn\/uml-use-case-diagrams-as-code-with-plantuml-and-vpascode\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.cybermedian.com\/vn\/uml-use-case-diagrams-as-code-with-plantuml-and-vpascode\/\"},\"author\":{\"name\":\"curtis\",\"@id\":\"https:\/\/www.cybermedian.com\/vn\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d\"},\"headline\":\"Bi\u1ec3u \u0111\u1ed3 Use Case UML d\u01b0\u1edbi d\u1ea1ng m\u00e3 v\u1edbi PlantUML v\u00e0 VPasCode\",\"datePublished\":\"2026-10-13T08:56:52+00:00\",\"dateModified\":\"2026-10-14T05:08:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.cybermedian.com\/vn\/uml-use-case-diagrams-as-code-with-plantuml-and-vpascode\/\"},\"wordCount\":2624,\"image\":{\"@id\":\"https:\/\/www.cybermedian.com\/vn\/uml-use-case-diagrams-as-code-with-plantuml-and-vpascode\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.cybermedian.com\/vn\/wp-content\/uploads\/sites\/14\/2026\/10\/img_6acdef429169c.png\",\"articleSection\":[\"AI\",\"Unified Modeling Language\",\"VPasCode\"],\"inLanguage\":\"vi\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.cybermedian.com\/vn\/uml-use-case-diagrams-as-code-with-plantuml-and-vpascode\/\",\"url\":\"https:\/\/www.cybermedian.com\/vn\/uml-use-case-diagrams-as-code-with-plantuml-and-vpascode\/\",\"name\":\"Bi\u1ec3u \u0111\u1ed3 Use Case UML d\u01b0\u1edbi d\u1ea1ng m\u00e3 v\u1edbi PlantUML v\u00e0 VPasCode - Cybermedian\",\"isPartOf\":{\"@id\":\"https:\/\/www.cybermedian.com\/vn\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.cybermedian.com\/vn\/uml-use-case-diagrams-as-code-with-plantuml-and-vpascode\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.cybermedian.com\/vn\/uml-use-case-diagrams-as-code-with-plantuml-and-vpascode\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.cybermedian.com\/vn\/wp-content\/uploads\/sites\/14\/2026\/10\/img_6acdef429169c.png\",\"datePublished\":\"2026-10-13T08:56:52+00:00\",\"dateModified\":\"2026-10-14T05:08:21+00:00\",\"author\":{\"@id\":\"https:\/\/www.cybermedian.com\/vn\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.cybermedian.com\/vn\/uml-use-case-diagrams-as-code-with-plantuml-and-vpascode\/#breadcrumb\"},\"inLanguage\":\"vi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.cybermedian.com\/vn\/uml-use-case-diagrams-as-code-with-plantuml-and-vpascode\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\/\/www.cybermedian.com\/vn\/uml-use-case-diagrams-as-code-with-plantuml-and-vpascode\/#primaryimage\",\"url\":\"https:\/\/www.cybermedian.com\/vn\/wp-content\/uploads\/sites\/14\/2026\/10\/img_6acdef429169c.png\",\"contentUrl\":\"https:\/\/www.cybermedian.com\/vn\/wp-content\/uploads\/sites\/14\/2026\/10\/img_6acdef429169c.png\",\"width\":1536,\"height\":1024},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.cybermedian.com\/vn\/uml-use-case-diagrams-as-code-with-plantuml-and-vpascode\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.cybermedian.com\/vn\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Bi\u1ec3u \u0111\u1ed3 Use Case UML d\u01b0\u1edbi d\u1ea1ng m\u00e3 v\u1edbi PlantUML v\u00e0 VPasCode\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.cybermedian.com\/vn\/#website\",\"url\":\"https:\/\/www.cybermedian.com\/vn\/\",\"name\":\"Cybermedian\",\"description\":\"H\u1ecdc m\u1ed9t \u0111i\u1ec1u m\u1edbi m\u1ed7i ng\u00e0y\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.cybermedian.com\/vn\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"vi\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.cybermedian.com\/vn\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d\",\"name\":\"curtis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\/\/www.cybermedian.com\/vn\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g\",\"caption\":\"curtis\"},\"url\":\"https:\/\/www.cybermedian.com\/vn\/author\/curtis\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Bi\u1ec3u \u0111\u1ed3 Use Case UML d\u01b0\u1edbi d\u1ea1ng m\u00e3 v\u1edbi PlantUML v\u00e0 VPasCode - Cybermedian","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.cybermedian.com\/vn\/uml-use-case-diagrams-as-code-with-plantuml-and-vpascode\/","og_locale":"vi_VN","og_type":"article","og_title":"Bi\u1ec3u \u0111\u1ed3 Use Case UML d\u01b0\u1edbi d\u1ea1ng m\u00e3 v\u1edbi PlantUML v\u00e0 VPasCode - Cybermedian","og_description":"Bi\u1ec3u \u0111\u1ed3 Use Case UML cho bi\u1ebft h\u1ec7 th\u1ed1ng cung c\u1ea5p nh\u1eefng g\u00ec v\u00e0 ai\u2014ho\u1eb7c c\u00e1i g\u00ec\u2014t\u01b0\u01a1ng t\u00e1c v\u1edbi n\u00f3.","og_url":"https:\/\/www.cybermedian.com\/vn\/uml-use-case-diagrams-as-code-with-plantuml-and-vpascode\/","og_site_name":"Cybermedian","article_published_time":"2026-10-13T08:56:52+00:00","article_modified_time":"2026-10-14T05:08:21+00:00","og_image":[{"width":1536,"height":1024,"url":"https:\/\/www.cybermedian.com\/vn\/wp-content\/uploads\/sites\/14\/2026\/10\/img_6acdef429169c.png","type":"image\/png"}],"author":"curtis","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"curtis","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"7 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.cybermedian.com\/vn\/uml-use-case-diagrams-as-code-with-plantuml-and-vpascode\/#article","isPartOf":{"@id":"https:\/\/www.cybermedian.com\/vn\/uml-use-case-diagrams-as-code-with-plantuml-and-vpascode\/"},"author":{"name":"curtis","@id":"https:\/\/www.cybermedian.com\/vn\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d"},"headline":"Bi\u1ec3u \u0111\u1ed3 Use Case UML d\u01b0\u1edbi d\u1ea1ng m\u00e3 v\u1edbi PlantUML v\u00e0 VPasCode","datePublished":"2026-10-13T08:56:52+00:00","dateModified":"2026-10-14T05:08:21+00:00","mainEntityOfPage":{"@id":"https:\/\/www.cybermedian.com\/vn\/uml-use-case-diagrams-as-code-with-plantuml-and-vpascode\/"},"wordCount":2624,"image":{"@id":"https:\/\/www.cybermedian.com\/vn\/uml-use-case-diagrams-as-code-with-plantuml-and-vpascode\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cybermedian.com\/vn\/wp-content\/uploads\/sites\/14\/2026\/10\/img_6acdef429169c.png","articleSection":["AI","Unified Modeling Language","VPasCode"],"inLanguage":"vi"},{"@type":"WebPage","@id":"https:\/\/www.cybermedian.com\/vn\/uml-use-case-diagrams-as-code-with-plantuml-and-vpascode\/","url":"https:\/\/www.cybermedian.com\/vn\/uml-use-case-diagrams-as-code-with-plantuml-and-vpascode\/","name":"Bi\u1ec3u \u0111\u1ed3 Use Case UML d\u01b0\u1edbi d\u1ea1ng m\u00e3 v\u1edbi PlantUML v\u00e0 VPasCode - Cybermedian","isPartOf":{"@id":"https:\/\/www.cybermedian.com\/vn\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.cybermedian.com\/vn\/uml-use-case-diagrams-as-code-with-plantuml-and-vpascode\/#primaryimage"},"image":{"@id":"https:\/\/www.cybermedian.com\/vn\/uml-use-case-diagrams-as-code-with-plantuml-and-vpascode\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cybermedian.com\/vn\/wp-content\/uploads\/sites\/14\/2026\/10\/img_6acdef429169c.png","datePublished":"2026-10-13T08:56:52+00:00","dateModified":"2026-10-14T05:08:21+00:00","author":{"@id":"https:\/\/www.cybermedian.com\/vn\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d"},"breadcrumb":{"@id":"https:\/\/www.cybermedian.com\/vn\/uml-use-case-diagrams-as-code-with-plantuml-and-vpascode\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cybermedian.com\/vn\/uml-use-case-diagrams-as-code-with-plantuml-and-vpascode\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.cybermedian.com\/vn\/uml-use-case-diagrams-as-code-with-plantuml-and-vpascode\/#primaryimage","url":"https:\/\/www.cybermedian.com\/vn\/wp-content\/uploads\/sites\/14\/2026\/10\/img_6acdef429169c.png","contentUrl":"https:\/\/www.cybermedian.com\/vn\/wp-content\/uploads\/sites\/14\/2026\/10\/img_6acdef429169c.png","width":1536,"height":1024},{"@type":"BreadcrumbList","@id":"https:\/\/www.cybermedian.com\/vn\/uml-use-case-diagrams-as-code-with-plantuml-and-vpascode\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.cybermedian.com\/vn\/"},{"@type":"ListItem","position":2,"name":"Bi\u1ec3u \u0111\u1ed3 Use Case UML d\u01b0\u1edbi d\u1ea1ng m\u00e3 v\u1edbi PlantUML v\u00e0 VPasCode"}]},{"@type":"WebSite","@id":"https:\/\/www.cybermedian.com\/vn\/#website","url":"https:\/\/www.cybermedian.com\/vn\/","name":"Cybermedian","description":"H\u1ecdc m\u1ed9t \u0111i\u1ec1u m\u1edbi m\u1ed7i ng\u00e0y","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.cybermedian.com\/vn\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/www.cybermedian.com\/vn\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d","name":"curtis","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.cybermedian.com\/vn\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g","caption":"curtis"},"url":"https:\/\/www.cybermedian.com\/vn\/author\/curtis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/posts\/12258","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/comments?post=12258"}],"version-history":[{"count":0,"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/posts\/12258\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/media\/12259"}],"wp:attachment":[{"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/media?parent=12258"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/categories?post=12258"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/tags?post=12258"},{"taxonomy":"asset-category","embeddable":true,"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/asset-category?post=12258"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}