{"id":766,"date":"2026-06-16T01:12:15","date_gmt":"2026-06-16T01:12:15","guid":{"rendered":"https:\/\/www.go-minder.com\/vn\/from-text-to-architecture-mastering-visual-paradigms-vpascode-for-agile-teams\/"},"modified":"2026-06-17T07:16:34","modified_gmt":"2026-06-17T07:16:34","slug":"from-text-to-architecture-mastering-visual-paradigms-vpascode-for-agile-teams","status":"publish","type":"post","link":"https:\/\/www.go-minder.com\/vn\/from-text-to-architecture-mastering-visual-paradigms-vpascode-for-agile-teams\/","title":{"rendered":"T\u1eeb V\u0103n b\u1ea3n \u0111\u1ebfn Ki\u1ebfn tr\u00fac: L\u00e0m ch\u1ee7 VPasCode c\u1ee7a Visual Paradigm cho c\u00e1c \u0111\u1ed9i Agile"},"content":{"rendered":"<h2>Gi\u1edbi thi\u1ec7u<\/h2>\n<p>Trong th\u1ebf gi\u1edbi ph\u00e1t tri\u1ec3n Agile \u0111\u1ea7y t\u1ed1c \u0111\u1ed9, t\u00e0i li\u1ec7u th\u01b0\u1eddng tr\u1edf th\u00e0nh n\u00fat th\u1eaft c\u1ed5 chai. C\u00e1c c\u00f4ng c\u1ee5 v\u1ebd bi\u1ec3u \u0111\u1ed3 k\u00e9o-th\u1ea3 truy\u1ec1n th\u1ed1ng \u0111\u00f2i h\u1ecfi ph\u1ea3i chuy\u1ec3n \u0111\u1ed5i ng\u1eef c\u1ea3nh li\u00ean t\u1ee5c, l\u00e0m gi\u00e1n \u0111o\u1ea1n d\u00f2ng ch\u1ea3y l\u00e0m vi\u1ec7c c\u1ee7a l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 bi\u1ebfn vi\u1ec7c ki\u1ec3m so\u00e1t phi\u00ean b\u1ea3n th\u00e0nh m\u1ed9t c\u01a1n \u00e1c m\u1ed9ng. \u0110\u1ed1i v\u1edbi c\u00e1c \u0111\u1ed9i Agile s\u1ed1ng trong m\u00f4i tr\u01b0\u1eddng IDE c\u1ee7a h\u1ecd v\u00e0 qu\u1ea3n l\u00fd c\u01a1 s\u1edf h\u1ea1 t\u1ea7ng nh\u01b0 m\u00e3 ngu\u1ed3n, bi\u1ec3u \u0111\u1ed3 c\u0169ng kh\u00f4ng n\u00ean l\u00e0 ngo\u1ea1i l\u1ec7.<\/p>\n<p>H\u00e3y c\u00f9ng t\u00ecm hi\u1ec3u<strong>VPasCode (Visual Paradigm d\u01b0\u1edbi d\u1ea1ng M\u00e3 ngu\u1ed3n)<\/strong>, m\u1ed9t n\u1ec1n t\u1ea3ng th\u1ed1ng nh\u1ea5t, d\u1ef1a tr\u00ean tr\u00ecnh duy\u1ec7t, bi\u1ebfn v\u0103n b\u1ea3n th\u00e0nh c\u00e1c bi\u1ec3u \u0111\u1ed3 chuy\u00ean nghi\u1ec7p, ch\u1ea5t l\u01b0\u1ee3ng cao ch\u1ec9 trong v\u00e0i gi\u00e2y. B\u1eb1ng c\u00e1ch h\u1ee3p nh\u1ea5t s\u1ee9c m\u1ea1nh c\u1ee7a PlantUML, Mermaid.js v\u00e0 Graphviz v\u00e0o m\u1ed9t m\u00f4i tr\u01b0\u1eddng li\u1ec1n m\u1ea1ch duy nh\u1ea5t, VPasCode cho ph\u00e9p c\u00e1c k\u1ef9 s\u01b0 ph\u1ea7n m\u1ec1m, ki\u1ebfn tr\u00fac s\u01b0 h\u1ec7 th\u1ed1ng v\u00e0 nh\u00e0 ph\u00e2n t\u00edch kinh doanh x\u1eed l\u00fd bi\u1ec3u \u0111\u1ed3 gi\u1ed1ng h\u1ec7t nh\u01b0 m\u00e3 ngu\u1ed3n: nh\u1eb9, c\u00f3 th\u1ec3 ki\u1ec3m so\u00e1t phi\u00ean b\u1ea3n v\u00e0 \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb ngay l\u1eadp t\u1ee9c. Nghi\u00ean c\u1ee9u \u0111i\u1ec3n h\u00ecnh n\u00e0y kh\u00e1m ph\u00e1 c\u00e1ch m\u1ed9t ng\u01b0\u1eddi d\u00f9ng th\u00e0nh th\u1ea1o Visual Paradigm v\u00e0 nh\u00e0 ph\u00e1t tri\u1ec3n Agile c\u00f3 th\u1ec3 t\u1eadn d\u1ee5ng VPasCode \u0111\u1ec3 tinh g\u1ecdn quy tr\u00ecnh l\u00e0m vi\u1ec7c, n\u00e2ng cao s\u1ef1 c\u1ed9ng t\u00e1c trong nh\u00f3m v\u00e0 duy tr\u00ec s\u1ef1 r\u00f5 r\u00e0ng v\u1ec1 ki\u1ebfn tr\u00fac m\u00e0 kh\u00f4ng c\u1ea7n r\u1eddi kh\u1ecfi t\u01b0 duy c\u1ee7a tr\u00ecnh so\u1ea1n th\u1ea3o m\u00e3 ngu\u1ed3n.<\/p>\n<p id=\"fbzfNHZ\"><img alt=\"VPasCode: N\u1ec1n t\u1ea3ng S\u01a1 \u0111\u1ed3 d\u01b0\u1edbi d\u1ea1ng M\u00e3 Th\u1ed1ng nh\u1ea5t cho c\u00e1c Nh\u00f3m Agile\" class=\"alignnone wp-image-1299 size-full\" decoding=\"async\" height=\"543\" loading=\"lazy\" sizes=\"auto, (max-width: 977px) 100vw, 977px\" src=\"https:\/\/www.go-minder.com\/wp-content\/uploads\/2026\/06\/img_6a30a2ba2873e.png\" srcset=\"https:\/\/www.go-minder.com\/wp-content\/uploads\/2026\/06\/img_6a30a2ba2873e.png 977w, https:\/\/www.go-minder.com\/wp-content\/uploads\/2026\/06\/img_6a30a2ba2873e-300x167.png 300w, https:\/\/www.go-minder.com\/wp-content\/uploads\/2026\/06\/img_6a30a2ba2873e-768x427.png 768w\" width=\"977\"\/><\/p>\n<h2>Ngh\u1ecbch l\u00fd c\u1ee7a nh\u00e0 ph\u00e1t tri\u1ec3n Agile: T\u1ea1i sao l\u1ea1i l\u00e0 Bi\u1ec3u \u0111\u1ed3 d\u01b0\u1edbi d\u1ea1ng M\u00e3 ngu\u1ed3n?<\/h2>\n<p>Trong nhi\u1ec1u n\u0103m, c\u00e1c \u0111\u1ed9i Agile \u0111\u00e3 ph\u1ea3i v\u1eadt l\u1ed9n v\u1edbi v\u1ea5n \u0111\u1ec1 &#8220;s\u1ef1 suy gi\u1ea3m c\u1ee7a bi\u1ec3u \u0111\u1ed3&#8221;. M\u1ed9t b\u1ea3n ph\u00e1c th\u1ea3o tr\u00ean b\u1ea3ng tr\u1eafng t\u1eeb bu\u1ed5i l\u1eadp k\u1ebf ho\u1ea1ch Sprint hi\u1ebfm khi \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt trong bu\u1ed5i xem l\u1ea1i Sprint. C\u00e1c c\u00f4ng c\u1ee5 k\u00e9o-th\u1ea3 t\u1ea1o ra c\u00e1c t\u1ec7p nh\u1ecb ph\u00e2n kh\u00f4ng t\u01b0\u01a1ng th\u00edch t\u1ed1t v\u1edbi Git diffs, khi\u1ebfn vi\u1ec7c theo d\u00f5i ai \u0111\u00e3 thay \u0111\u1ed5i g\u00ec trong bi\u1ec3u \u0111\u1ed3 ki\u1ebfn tr\u00fac tr\u1edf n\u00ean kh\u00f3 kh\u0103n.<\/p>\n<p>VPasCode gi\u1ea3i quy\u1ebft v\u1ea5n \u0111\u1ec1 n\u00e0y b\u1eb1ng c\u00e1ch \u00e1p d\u1ee5ng ph\u01b0\u01a1ng ph\u00e1p<strong>Bi\u1ec3u \u0111\u1ed3 d\u01b0\u1edbi d\u1ea1ng M\u00e3 ngu\u1ed3n (DaC)<\/strong>n\u00e0y. D\u00f9 b\u1ea1n \u0111ang \u0111\u1ecbnh ngh\u0129a m\u1ed9t ki\u1ebfn tr\u00fac vi d\u1ecbch v\u1ee5 ph\u1ee9c t\u1ea1p hay m\u1ed9t h\u00e0nh tr\u00ecnh ng\u01b0\u1eddi d\u00f9ng \u0111\u01a1n gi\u1ea3n, b\u1ea1n \u0111\u1ec1u vi\u1ebft n\u00f3 d\u01b0\u1edbi d\u1ea1ng v\u0103n b\u1ea3n. \u0110i\u1ec1u n\u00e0y c\u00f3 ngh\u0129a l\u00e0:<\/p>\n<ul>\n<li>\n<p><strong>T\u01b0\u01a1ng th\u00edch g\u1ed1c v\u1edbi Git:<\/strong>L\u01b0u tr\u1eef bi\u1ec3u \u0111\u1ed3 c\u1ee7a b\u1ea1n d\u01b0\u1edbi d\u1ea1ng c\u00e1c t\u1ec7p v\u0103n b\u1ea3n th\u00f4 b\u00ean c\u1ea1nh m\u00e3 ngu\u1ed3n c\u1ee7a b\u1ea1n.<\/p>\n<\/li>\n<li>\n<p><strong>Truy c\u1eadp \u0111\u00e1m m\u00e2y kh\u00f4ng c\u1ea7n c\u00e0i \u0111\u1eb7t:<\/strong>Kh\u00f4ng c\u1ea7n t\u1ea3i xu\u1ed1ng ph\u1ea7n m\u1ec1m ho\u1eb7c ph\u1ee5 thu\u1ed9c c\u1ee5c b\u1ed9; n\u00f3 ch\u1ea1y ho\u00e0n to\u00e0n tr\u00ean tr\u00ecnh duy\u1ec7t.<\/p>\n<\/li>\n<li>\n<p><strong>Xem tr\u01b0\u1edbc th\u1eddi gian th\u1ef1c:<\/strong>Xem \u0111\u1ed3 h\u1ecda c\u1ee7a b\u1ea1n \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb tr\u1ef1c ti\u1ebfp ngay l\u1eadp t\u1ee9c khi b\u1ea1n g\u00f5, cung c\u1ea5p ph\u1ea3n h\u1ed3i t\u1ee9c th\u00ec.<\/p>\n<\/li>\n<\/ul>\n<h2>Kh\u00f4ng gian l\u00e0m vi\u1ec7c th\u1ed1ng nh\u1ea5t: M\u1ed9t tr\u00ecnh so\u1ea1n th\u1ea3o, ba c\u00f4ng c\u1ee5 m\u1ea1nh m\u1ebd<\/h2>\n<p>VPasCode \u0111\u01b0a c\u00e1c c\u00fa ph\u00e1p v\u1ebd bi\u1ec3u \u0111\u1ed3 m\u00e3 ngu\u1ed3n m\u1edf ph\u1ed5 bi\u1ebfn nh\u1ea5t th\u1ebf gi\u1edbi v\u00e0o m\u1ed9t tr\u00ecnh so\u1ea1n th\u1ea3o \u0111\u00e1m m\u00e2y th\u1ed1ng nh\u1ea5t. Thay v\u00ec ph\u1ea3i x\u1eed l\u00fd nhi\u1ec1u c\u00f4ng c\u1ee5 kh\u00e1c nhau, b\u1ea1n c\u00f3 kh\u1ea3 n\u0103ng ph\u00e2n t\u00edch v\u00e0 hi\u1ec3n th\u1ecb g\u1ed1c cho ba c\u00f4ng c\u1ee5 ch\u00ednh:<\/p>\n<ol>\n<li>\n<p><strong>PlantUML:<\/strong>Ti\u00eau chu\u1ea9n v\u00e0ng cho c\u00e1c bi\u1ec3u \u0111\u1ed3 ki\u1ebfn tr\u00fac doanh nghi\u1ec7p v\u00e0 ph\u1ea7n m\u1ec1m m\u1ea1nh m\u1ebd.<\/p>\n<\/li>\n<li>\n<p><strong>Mermaid.js:<\/strong>Ho\u00e0n h\u1ea3o cho c\u00e1c bi\u1ec3u \u0111\u1ed3, bi\u1ec3u \u0111\u1ed3 th\u1eddi gian v\u00e0 s\u01a1 \u0111\u1ed3 lu\u1ed3ng hi\u1ec7n \u0111\u1ea1i, l\u1ea5y c\u1ea3m h\u1ee9ng t\u1eeb Markdown.<\/p>\n<\/li>\n<li>\n<p><strong>Graphviz:<\/strong>L\u00fd t\u01b0\u1edfng \u0111\u1ec3 t\u1eadn d\u1ee5ng ng\u00f4n ng\u1eef DOT cho c\u00e1c c\u1ea5u tr\u00fac m\u1ea1ng ph\u1ee9c t\u1ea1p v\u00e0 c\u1ea5u tr\u00fac d\u1eef li\u1ec7u.<\/p>\n<\/li>\n<\/ol>\n<p><img alt=\"M\u00e3 s\u01a1 \u0111\u1ed3 l\u1edbp PlantUML cho h\u1ec7 th\u1ed1ng qu\u1ea3n l\u00fd th\u01b0 vi\u1ec7n, \u0111ang \u0111\u01b0\u1ee3c ch\u1ec9nh s\u1eeda b\u1eb1ng tr\u00ecnh so\u1ea1n th\u1ea3o chuy\u1ec3n \u0111\u1ed5i v\u0103n b\u1ea3n th\u00e0nh s\u01a1 \u0111\u1ed3 VPasCode c\u1ee7a Visual Paradigm\" decoding=\"async\" src=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/vpascode-plantuml-class-diagram-library-management-system.jpg\"\/><\/p>\n<h2>Kh\u00e1m ph\u00e1 s\u00e2u: PlantUML cho Ki\u1ebfn tr\u00fac Doanh nghi\u1ec7p<\/h2>\n<p>PlantUML v\u1eabn l\u00e0 \u0111\u1ed9ng l\u1ef1c ch\u00ednh cho vi\u1ec7c m\u00f4 h\u00ecnh h\u00f3a k\u1ef9 thu\u1eadt chi ti\u1ebft. VPasCode h\u1ed7 tr\u1ee3 m\u1ed9t th\u01b0 vi\u1ec7n kh\u1ed5ng l\u1ed3 c\u00e1c lo\u1ea1i bi\u1ec3u \u0111\u1ed3 PlantUML, bao g\u1ed3m: Chu\u1ed7i (Sequence), Tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng (Use Case), L\u1edbp (Class), Ho\u1ea1t \u0111\u1ed9ng (Activity), Th\u00e0nh ph\u1ea7n (Component), Tri\u1ec3n khai (Deployment), Tr\u1ea1ng th\u00e1i (State), ArchiMate v\u00e0 Bi\u1ec3u \u0111\u1ed3 Quan h\u1ec7 Th\u1ef1c th\u1ec3 (ERD).<\/p>\n<h3>M\u00f4 h\u00ecnh h\u00f3a c\u00e1c h\u1ec7 th\u1ed1ng ph\u1ee9c t\u1ea1p: V\u00ed d\u1ee5 v\u1ec1 H\u1ec7 th\u1ed1ng Qu\u1ea3n l\u00fd Th\u01b0 vi\u1ec7n<\/h3>\n<p>H\u00e3y xem x\u00e9t m\u1ed9t H\u1ec7 th\u1ed1ng Qu\u1ea3n l\u00fd Th\u01b0 vi\u1ec7n. S\u1eed d\u1ee5ng PlantUML trong VPasCode, ch\u00fang ta c\u00f3 th\u1ec3 m\u00f4 h\u00ecnh h\u00f3a r\u00f5 r\u00e0ng c\u00e1c kh\u00e1i ni\u1ec7m th\u1eeba k\u1ebf, t\u1ed5 h\u1ee3p v\u00e0 t\u1eadp h\u1ee3p. M\u00e3 ngu\u1ed3n d\u01b0\u1edbi \u0111\u00e2y \u0111\u1ecbnh ngh\u0129a c\u00e1c m\u1ed1i quan h\u1ec7 gi\u1eefa<code data-backticks=\"1\">Th\u01b0 vi\u1ec7n<\/code>,\u00a0<code data-backticks=\"1\">Th\u00e0nh vi\u00ean<\/code>,\u00a0<code data-backticks=\"1\">T\u00e0i s\u1ea3n th\u01b0 vi\u1ec7n<\/code>, v\u00e0 c\u00e1c l\u1edbp con kh\u00e1c nhau nh\u01b0 <code data-backticks=\"1\">S\u00e1ch \u0111i\u1ec7n t\u1eed<\/code> v\u00e0 <code data-backticks=\"1\">S\u00e1ch in<\/code>.<\/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:XLRBRjiw4DqRy3yGwQBklNNHReMYg9EqG82aBHAqm0Mw6KbZcRWKAP2Z5ExZtpiYHKMaxMHZMSFXcJDllNS4blfMBHVBHQN0EN4jImjsBtuj5qAiXOOM2t57LkecIA2kBJgN2hkTqOdUluFU3RObsbNh7uK8hoyASMza7PGijkOU4xshEk8acWntHTYk9FyKaUKWEO8tAPx0KgW3M6xnfJYuLHgZ47I4fzxgu_2Juf-3O0uNGa2VPGQ2Z2GfJ4LTNohfTaFO3iGLa3JwFmG-b9f6NBUv1wcW790IqWtI9HAVkTMBD4KEQRmabQJzYgk1UZTTdsBcFOBIaOMAH73jt9Z_Ov58L-giI7hQ6PlL23HuONfD4slFRUDLvzHc0VmmDxEL2k_aJxmvBqHjE18uoerjWL9ZjVcXbO7wgrMfp_5WbNeNp7rXFS9wRfHpeBRN9iGyjL4PNSjSx7swcrywuTeDDF1JQdm8eklnKnzQPGpGcYcglZqKLrpbzXA8Spty9i2NtouZPjrRJ-56wfxGpG1gQR6YF4KATDDpcbAfwqjVeKShREwHxwPeE--jK_C4MmPzOff4DBUJtTph8TobiTRyE3aR7klVHtKvZUSU6lsiyCrpBHqbBWSDPdcBbR5rzDtwjzptm3JbF-G8Sr6WcKkb-yn9P_LLIfMh0LJLArRyoFKqdCRkc37zE2krBV_FoK4RMdFUMBua3sby0LbdmUfW7sqVD5M8iGGzjHJ1TflRhx7ZLTIYfhIREcigNZTJeBDj4YRswOKmNh_r4NrYUJIeaVi5Rx4pbbR9MGkQ--9AtpD1O_UPey_5bUPPBGbqXPm-vRjkg5QtNCoNmDlVwxKVdKV4SI0SEUAMNYxyLFAl7mB2Ws0-jmAV2zDsnldf943NOjCq5XjFosl4DN_svammm1dxjp-B7Lo87JZnxfJMd5unJ45UBlf9_Q402kxsJfczLrukHdEfTjvI4vdy85vxy-hLFpafYrkqoCbuzEPhVzDtHZ5bV-JsN6oSCvNq8OkU3Jwir--ES0pruU-ENXtNgom-sD26K93fXDbEtrs5kE0Iiw24sxl16Te1HVZlUfo3eUpvCUHs-9pn_UBnh6nsD4CS8xA9wxi4Xs67VzUyEGKe9THedDSeLp4ehjht3CeVXdy1\" 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:bLTFQnj75ByBz1q6zn2bYK9p5S44MJGkiKsA5vFhUYqqGrQpgZGhOjeUGYWXv18JGWuXr1iHIks8X2Ibi4l8OOI_ntwJl3Spkvhz8niVPAHvyzxxlT_xDxuz4UvOX4E_sMWsFD-TJ8X3ppxkiJHvmidlpGOXRIBa2U-G3HgcoIkcZnP7QVBC9HvDawSLaLOMD4ZZY1Mar-1KdWmTAeyv9LC6Xbj2_TXZoecp_76rGwO1Ez1g3-LdrvArXdBcs7h6Hq57kvB7R3UDP-0d-mPUig_BMAlUSaNqjTIjy-JHOFliOvg0mO9M3SBhP9Mv_I3m-outsCSWlXX2hlEdbRzgS3gHFzIxrY81A4ELraSb2OSexeTf_4vqQ_Juul6m86LSQ8adFuEZ_tWfCX_k7cvGvh0q_YPQLqlr0GZY_uK3uKTy00H6J1bfGPsAS9BRokbNWRlx4p5sFK4q0xioycXMl6ooNovU0V8xu7vMEf-aoP4pTlaWZyB0TJA50boBS-LnyLoHxQJ9F7F-GCuzYdb8azVUpyplRtSxv208z_s-rKUSzbIubKP2lJTy0D9JC1lF632T79KkGh5OebQH6GlUBta_Jy6dCvPp-9pmku2vmizxJaqAIguK7Nj67rLNCG9mez46bJaLIEuzoAVOnAR86JQif_5yP9tnWJm-xChtReViuDU2wTvUBvzCC7_Ui2tTUmCm7mlB2jPI5FGWAt-LIm0SVE4xWpJvK190rTu3e-yMprKdr3ROigqp72kQVUNux0zTvbzYRXf6xZ1tXsgg32sOas5vz5muwSuRDPTJLlNGSpar7I1dPX1YNUJd1Vesq-J5xbbaxbaC6a5TuEQo5ROHR6AHLe-nU6U5OyZhhw6CrFrMCGhCq9nJI7iSgO6KDQW5MWijiFgWRe00JuzuiSiL9hluBM2B8wmTOCe9P5GUbY8NBD5Lkjk1Ulq7KsJ1sw7oBQyhnX6Ld_YWw_9IOp-4gRKblsRPMxMKhvFBh55jKoNZCkjNODjsPHHimATL4FqMeXuQXMBXTsbGOkGAsOOSCBZdSWAyF54ZujGb3s3RD1jrk_7M7-qsCMMwKfwFitFkm5ngDlJkMTgqba9L22DPWmRnIpv0mBCHcSfZf60-Ch_nYkLhxUOQ0GDhd6AbXMk5UTJ1GYVh5oZKHD1HRxb_tGjrysBh414UfibZJWvWNWBwTGrq2QQYN6hz76pfFDExUUF6ZwlGGcSC0J8-8i9pJFoaJ9ZkxUZA8cDNOxr2jXHEh0s1qBFGsktrAbPTUiINNpL7opXhhnTTyK3qOTBYxK8Ocrc9mke6UOX_vTkXvOmBwx6ism_c30gnJgPeoCC7QBO6ZAyHnKV12lAsu3ao8jvPX1FhRzm0oMb8X5cZ7Aq9VD8H3rIrInzruGxIevo2ezjzVW3_Edm7\" \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 class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n\r\nclass Th\u01b0Vi\u1ec7n {\r\n  - t\u00ean: Chu\u1ed7i\r\n  - \u0111\u1ecba ch\u1ec9: Chu\u1ed7i\r\n  - \u0111i\u1ec7n tho\u1ea1i: Chu\u1ed7i\r\n  + th\u00eamTh\u00e0nh vi\u00ean(th\u00e0nhVi\u00ean: Th\u00e0nhVi\u00ean): void\r\n  + x\u00f3aTh\u00e0nhVi\u00ean(m\u00e3Th\u00e0nhVi\u00ean: Chu\u1ed7i): void\r\n  + th\u00eamT\u00e0iS\u1ea3n(t\u00e0iS\u1ea3n: T\u00e0iS\u1ea3nTh\u01b0Vi\u1ec7n): void\r\n  + x\u00f3aT\u00e0iS\u1ea3n(m\u00e3T\u00e0iS\u1ea3n: Chu\u1ed7i): void\r\n  + choM\u01b0\u1ee3nT\u00e0iS\u1ea3n(m\u00e3Th\u00e0nhVi\u00ean: Chu\u1ed7i, m\u00e3T\u00e0iS\u1ea3n: Chu\u1ed7i): boolean\r\n  + tr\u1ea3T\u00e0iS\u1ea3n(m\u00e3T\u00e0iS\u1ea3n: Chu\u1ed7i): boolean\r\n}\r\n\r\nclass T\u00e0iS\u1ea3nTh\u01b0Vi\u1ec7n {\r\n  # m\u00e3T\u00e0iS\u1ea3n: Chu\u1ed7i\r\n  # ti\u00eau \u0111\u1ec1: Chu\u1ed7i\r\n  # nh\u00e0Xu\u1ea5tB\u1ea3n: Chu\u1ed7i\r\n  # n\u0103mXu\u1ea5tB\u1ea3n: int\r\n  # c\u00f3S\u1eb5n: boolean\r\n  + l\u1ea5yChiTi\u1ebft(): Chu\u1ed7i\r\n  + \u0111\u1eb7tTr\u1ea1ngTh\u00e1iS\u1eb5n(status: boolean): void\r\n}\r\n\r\nabstract class S\u00e1ch {\r\n  - isbn: Chu\u1ed7i\r\n  - t\u00e1cGi\u1ea3: Chu\u1ed7i\r\n  - s\u1ed1Trang: int\r\n  + l\u1ea5yT\u00e1cGi\u1ea3(): Chu\u1ed7i\r\n}\r\n\r\nclass S\u00e1ch\u0110i\u1ec7nT\u1eed {\r\n  - k\u00edchTh\u01b0\u1edbcFileMB: double\r\n  - \u0111\u1ecbnhD\u1ea1ng: Chu\u1ed7i\r\n  - \u0111\u01b0\u1eddngD\u1eabnT\u1ea3iXu\u1ed1ng: Chu\u1ed7i\r\n  + t\u1ea3iXu\u1ed1ng(): void\r\n}\r\n\r\nclass S\u00e1chIn {\r\n  - v\u1ecbTr\u00edTr\u00eanK\u1ec7: Chu\u1ed7i\r\n  - t\u00ecnhTr\u1ea1ng: Chu\u1ed7i\r\n  + l\u1ea5yV\u1ecbTr\u00edK\u1ec7(): Chu\u1ed7i\r\n}\r\n\r\nclass T\u1ea1pCh\u00ed {\r\n  - s\u1ed1Ph\u00e1tH\u00e0nh: int\r\n  - s\u1ed1T\u1eadp: int\r\n  - ng\u00e0yB\u00eca: Ng\u00e0y\r\n}\r\n\r\nclass DVD {\r\n  - th\u1eddiL\u01b0\u1ee3ngPh\u00fat: int\r\n  - \u0111\u1ea1oDi\u1ec5n: Chu\u1ed7i\r\n  - ng\u00f4nNg\u1eef: Chu\u1ed7i\r\n  - c\u00f3Ph\u1ee5\u0110\u1ec1: boolean\r\n}\r\n\r\nclass Th\u00e0nhVi\u00ean {\r\n  - m\u00e3Th\u00e0nhVi\u00ean: Chu\u1ed7i\r\n  - t\u00ean: Chu\u1ed7i\r\n  - email: Chu\u1ed7i\r\n  - \u0111i\u1ec7n tho\u1ea1i: Chu\u1ed7i\r\n  - ng\u00e0yGiaNh\u1eadp: Ng\u00e0y\r\n  + m\u01b0\u1ee3nT\u00e0iS\u1ea3n(t\u00e0iS\u1ea3n: T\u00e0iS\u1ea3nTh\u01b0Vi\u1ec7n): boolean\r\n  + tr\u1ea3T\u00e0iS\u1ea3n(t\u00e0iS\u1ea3n: T\u00e0iS\u1ea3nTh\u01b0Vi\u1ec7n): boolean\r\n  + l\u1ea5yDanhS\u00e1ch\u0110\u00e3M\u01b0\u1ee3n(): DanhS\u00e1ch\r\n}\r\n\r\nclass H\u1ed3S\u01a1M\u01b0\u1ee3n {\r\n  - m\u00e3H\u1ed3S\u01a1: Chu\u1ed7i\r\n  - ng\u00e0yM\u01b0\u1ee3n: Ng\u00e0y\r\n  - ng\u00e0yH\u1ea1n: Ng\u00e0y\r\n  - ng\u00e0yTr\u1ea3: Ng\u00e0y\r\n  - c\u00f3Qu\u00e1H\u1ea1n(): boolean\r\n  - t\u00ednhPh\u1ea1t(): double\r\n}\r\n\r\nclass Ph\u1ea1t {\r\n  - m\u00e3Ph\u1ea1t: Chu\u1ed7i\r\n  - s\u1ed1Ti\u1ec1n: double\r\n  - ng\u00e0yPh\u00e1tH\u00e0nh: Ng\u00e0y\r\n  - \u0111\u00e3ThanhTo\u00e1n: boolean\r\n  + thanhTo\u00e1nPh\u1ea1t(): void\r\n}\r\n\r\nclass Th\u1ee7Th\u01b0 {\r\n  - m\u00e3Nh\u00e2nVi\u00ean: Chu\u1ed7i\r\n  - ph\u00f2ngBan: Chu\u1ed7i\r\n  + x\u1eedL\u00fdM\u01b0\u1ee3n(th\u00e0nhVi\u00ean: Th\u00e0nhVi\u00ean, t\u00e0iS\u1ea3n: T\u00e0iS\u1ea3nTh\u01b0Vi\u1ec7n): void\r\n  + x\u1eedL\u00fdTr\u1ea3(t\u00e0iS\u1ea3n: T\u00e0iS\u1ea3nTh\u01b0Vi\u1ec7n): void\r\n  + t\u1ea1oB\u00e1oC\u00e1o(): void\r\n  + qu\u1ea3nL\u00fdT\u1ed3nKho(): void\r\n}\r\n\r\n' M\u1ed1i quan h\u1ec7 th\u1eeba k\u1ebf\r\nT\u00e0iS\u1ea3nTh\u01b0Vi\u1ec7n &lt;|-- S\u00e1ch\r\nT\u00e0iS\u1ea3nTh\u01b0Vi\u1ec7n &lt;|-- T\u1ea1pCh\u00ed\r\nT\u00e0iS\u1ea3nTh\u01b0Vi\u1ec7n &lt;|-- DVD\r\nS\u00e1ch &lt;|-- S\u00e1ch\u0110i\u1ec7nT\u1eed\r\nS\u00e1ch &lt;|-- S\u00e1chIn \r\n\r\n' T\u1ed5ng h\u1ee3p v\u00e0 t\u1eadp h\u1ee3p \r\n\r\nTh\u01b0Vi\u1ec7n \"1\" -- \"nhi\u1ec1u\" Th\u00e0nhVi\u00ean : c\u00f3 &gt;\r\nTh\u01b0Vi\u1ec7n \"1\" -- \"nhi\u1ec1u\" T\u00e0iS\u1ea3nTh\u01b0Vi\u1ec7n : ch\u1ee9a &gt;\r\nTh\u01b0Vi\u1ec7n \"1\" -- \"nhi\u1ec1u\" Th\u1ee7Th\u01b0 : tuy\u1ec3n d\u1ee5ng &gt;\r\n\r\nTh\u00e0nhVi\u00ean \"1\" -- \"nhi\u1ec1u\" H\u1ed3S\u01a1M\u01b0\u1ee3n : c\u00f3 &gt;\r\nH\u1ed3S\u01a1M\u01b0\u1ee3n \"1\" -- \"1..*\" T\u00e0iS\u1ea3nTh\u01b0Vi\u1ec7n : tham chi\u1ebfu &gt;\r\nH\u1ed3S\u01a1M\u01b0\u1ee3n \"1\" -- \"0..*\" Ph\u1ea1t : t\u1ea1o ra &gt;\r\n\r\n' Li\u00ean k\u1ebft\r\nTh\u1ee7Th\u01b0 --&gt; H\u1ed3S\u01a1M\u01b0\u1ee3n : qu\u1ea3n l\u00fd &gt;\r\nTh\u00e0nhVi\u00ean --&gt; H\u1ed3S\u01a1M\u01b0\u1ee3n : t\u1ea1o ra &gt;\r\n\r\nnote tr\u00ean Th\u01b0Vi\u1ec7n : H\u1ec7 th\u1ed1ng trung t\u00e2m qu\u1ea3n l\u00fdnth\u00e0nh vi\u00ean, t\u00e0i s\u1ea3n v\u00e0 vi\u1ec7c cho m\u01b0\u1ee3n\r\nnote ph\u1ea3i T\u00e0iS\u1ea3nTh\u01b0Vi\u1ec7n : L\u1edbp c\u01a1 s\u1edf tr\u1eebu t\u01b0\u1ee3ngncho t\u1ea5t c\u1ea3 t\u00e0i li\u1ec7u th\u01b0 vi\u1ec7n\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:bLTFQnj75ByBz1q6zn2bYK9p5S44MJGkiKsA5vFhUYqqGrQpgZGhOjeUGYWXv18JGWuXr1iHIks8X2Ibi4l8OOI_ntwJl3Spkvhz8niVPAHvyzxxlT_xDxuz4UvOX4E_sMWsFD-TJ8X3ppxkiJHvmidlpGOXRIBa2U-G3HgcoIkcZnP7QVBC9HvDawSLaLOMD4ZZY1Mar-1KdWmTAeyv9LC6Xbj2_TXZoecp_76rGwO1Ez1g3-LdrvArXdBcs7h6Hq57kvB7R3UDP-0d-mPUig_BMAlUSaNqjTIjy-JHOFliOvg0mO9M3SBhP9Mv_I3m-outsCSWlXX2hlEdbRzgS3gHFzIxrY81A4ELraSb2OSexeTf_4vqQ_Juul6m86LSQ8adFuEZ_tWfCX_k7cvGvh0q_YPQLqlr0GZY_uK3uKTy00H6J1bfGPsAS9BRokbNWRlx4p5sFK4q0xioycXMl6ooNovU0V8xu7vMEf-aoP4pTlaWZyB0TJA50boBS-LnyLoHxQJ9F7F-GCuzYdb8azVUpyplRtSxv208z_s-rKUSzbIubKP2lJTy0D9JC1lF632T79KkGh5OebQH6GlUBta_Jy6dCvPp-9pmku2vmizxJaqAIguK7Nj67rLNCG9mez46bJaLIEuzoAVOnAR86JQif_5yP9tnWJm-xChtReViuDU2wTvUBvzCC7_Ui2tTUmCm7mlB2jPI5FGWAt-LIm0SVE4xWpJvK190rTu3e-yMprKdr3ROigqp72kQVUNux0zTvbzYRXf6xZ1tXsgg32sOas5vz5muwSuRDPTJLlNGSpar7I1dPX1YNUJd1Vesq-J5xbbaxbaC6a5TuEQo5ROHR6AHLe-nU6U5OyZhhw6CrFrMCGhCq9nJI7iSgO6KDQW5MWijiFgWRe00JuzuiSiL9hluBM2B8wmTOCe9P5GUbY8NBD5Lkjk1Ulq7KsJ1sw7oBQyhnX6Ld_YWw_9IOp-4gRKblsRPMxMKhvFBh55jKoNZCkjNODjsPHHimATL4FqMeXuQXMBXTsbGOkGAsOOSCBZdSWAyF54ZujGb3s3RD1jrk_7M7-qsCMMwKfwFitFkm5ngDlJkMTgqba9L22DPWmRnIpv0mBCHcSfZf60-Ch_nYkLhxUOQ0GDhd6AbXMk5UTJ1GYVh5oZKHD1HRxb_tGjrysBh414UfibZJWvWNWBwTGrq2QQYN6hz76pfFDExUUF6ZwlGGcSC0J8-8i9pJFoaJ9ZkxUZA8cDNOxr2jXHEh0s1qBFGsktrAbPTUiINNpL7opXhhnTTyK3qOTBYxK8Ocrc9mke6UOX_vTkXvOmBwx6ism_c30gnJgPeoCC7QBO6ZAyHnKV12lAsu3ao8jvPX1FhRzm0oMb8X5cZ7Aq9VD8H3rIrInzruGxIevo2ezjzVW3_Edm7\" \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:XLRBRjiw4DqRy3yGwQBklNNHReMYg9EqG82aBHAqm0Mw6KbZcRWKAP2Z5ExZtpiYHKMaxMHZMSFXcJDllNS4blfMBHVBHQN0EN4jImjsBtuj5qAiXOOM2t57LkecIA2kBJgN2hkTqOdUluFU3RObsbNh7uK8hoyASMza7PGijkOU4xshEk8acWntHTYk9FyKaUKWEO8tAPx0KgW3M6xnfJYuLHgZ47I4fzxgu_2Juf-3O0uNGa2VPGQ2Z2GfJ4LTNohfTaFO3iGLa3JwFmG-b9f6NBUv1wcW790IqWtI9HAVkTMBD4KEQRmabQJzYgk1UZTTdsBcFOBIaOMAH73jt9Z_Ov58L-giI7hQ6PlL23HuONfD4slFRUDLvzHc0VmmDxEL2k_aJxmvBqHjE18uoerjWL9ZjVcXbO7wgrMfp_5WbNeNp7rXFS9wRfHpeBRN9iGyjL4PNSjSx7swcrywuTeDDF1JQdm8eklnKnzQPGpGcYcglZqKLrpbzXA8Spty9i2NtouZPjrRJ-56wfxGpG1gQR6YF4KATDDpcbAfwqjVeKShREwHxwPeE--jK_C4MmPzOff4DBUJtTph8TobiTRyE3aR7klVHtKvZUSU6lsiyCrpBHqbBWSDPdcBbR5rzDtwjzptm3JbF-G8Sr6WcKkb-yn9P_LLIfMh0LJLArRyoFKqdCRkc37zE2krBV_FoK4RMdFUMBua3sby0LbdmUfW7sqVD5M8iGGzjHJ1TflRhx7ZLTIYfhIREcigNZTJeBDj4YRswOKmNh_r4NrYUJIeaVi5Rx4pbbR9MGkQ--9AtpD1O_UPey_5bUPPBGbqXPm-vRjkg5QtNCoNmDlVwxKVdKV4SI0SEUAMNYxyLFAl7mB2Ws0-jmAV2zDsnldf943NOjCq5XjFosl4DN_svammm1dxjp-B7Lo87JZnxfJMd5unJ45UBlf9_Q402kxsJfczLrukHdEfTjvI4vdy85vxy-hLFpafYrkqoCbuzEPhVzDtHZ5bV-JsN6oSCvNq8OkU3Jwir--ES0pruU-ENXtNgom-sD26K93fXDbEtrs5kE0Iiw24sxl16Te1HVZlUfo3eUpvCUHs-9pn_UBnh6nsD4CS8xA9wxi4Xs67VzUyEGKe9THedDSeLp4ehjht3CeVXdy1\" 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><a href=\"https:\/\/www.vpascode.com\/#plantuml:XLRBRjiw4DqRy3yGwQBklNNHReMYg9EqG82aBHAqm0Mw6KbZcRWKAP2Z5ExZtpiYHKMaxMHZMSFXcJDllNS4blfMBHVBHQN0EN4jImjsBtuj5qAiXOOM2t57LkecIA2kBJgN2hkTqOdUluFU3RObsbNh7uK8hoyASMza7PGijkOU4xshEk8acWntHTYk9FyKaUKWEO8tAPx0KgW3M6xnfJYuLHgZ47I4fzxgu_2Juf-3O0uNGa2VPGQ2Z2GfJ4LTNohfTaFO3iGLa3JwFmG-b9f6NBUv1wcW790IqWtI9HAVkTMBD4KEQRmabQJzYgk1UZTTdsBcFOBIaOMAH73jt9Z_Ov58L-giI7hQ6PlL23HuONfD4slFRUDLvzHc0VmmDxEL2k_aJxmvBqHjE18uoerjWL9ZjVcXbO7wgrMfp_5WbNeNp7rXFS9wRfHpeBRN9iGyjL4PNSjSx7swcrywuTeDDF1JQdm8eklnKnzQPGpGcYcglZqKLrpbzXA8Spty9i2NtouZPjrRJ-56wfxGpG1gQR6YF4KATDDpcbAfwqjVeKShREwHxwPeE--jK_C4MmPzOff4DBUJtTph8TobiTRyE3aR7klVHtKvZUSU6lsiyCrpBHqbBWSDPdcBbR5rzDtwjzptm3JbF-G8Sr6WcKkb-yn9P_LLIfMh0LJLArRyoFKqdCRkc37zE2krBV_FoK4RMdFUMBua3sby0LbdmUfW7sqVD5M8iGGzjHJ1TflRhx7ZLTIYfhIREcigNZTJeBDj4YRswOKmNh_r4NrYUJIeaVi5Rx4pbbR9MGkQ--9AtpD1O_UPey_5bUPPBGbqXPm-vRjkg5QtNCoNmDlVwxKVdKV4SI0SEUAMNYxyLFAl7mB2Ws0-jmAV2zDsnldf943NOjCq5XjFosl4DN_svammm1dxjp-B7Lo87JZnxfJMd5unJ45UBlf9_Q402kxsJfczLrukHdEfTjvI4vdy85vxy-hLFpafYrkqoCbuzEPhVzDtHZ5bV-JsN6oSCvNq8OkU3Jwir--ES0pruU-ENXtNgom-sD26K93fXDbEtrs5kE0Iiw24sxl16Te1HVZlUfo3eUpvCUHs-9pn_UBnh6nsD4CS8xA9wxi4Xs67VzUyEGKe9THedDSeLp4ehjht3CeVXdy1\">Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/a><\/p>\n<h3>X\u1eed l\u00fd lu\u1ed3ng logic: R\u00fat ti\u1ec1n ATM<\/h3>\n<p>S\u01a1 \u0111\u1ed3 tr\u00ecnh t\u1ef1 r\u1ea5t quan tr\u1ecdng \u0111\u1ec3 hi\u1ec3u c\u00e1c t\u01b0\u01a1ng t\u00e1c gi\u1eefa c\u00e1c th\u00e0nh ph\u1ea7n h\u1ec7 th\u1ed1ng. V\u00ed d\u1ee5 sau \u0111\u00e2y m\u00f4 h\u00ecnh h\u00f3a vi\u1ec7c r\u00fat ti\u1ec1n ATM, l\u00e0m n\u1ed5i b\u1eadt c\u00e1c lu\u1ed3ng thay th\u1ebf nh\u01b0 m\u00e3 PIN kh\u00f4ng h\u1ee3p l\u1ec7 v\u00e0 s\u1ed1 d\u01b0 kh\u00f4ng \u0111\u1ee7 b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng PlantUML\u2019s <code data-backticks=\"1\">alt<\/code> kh\u1ed1i.<\/p>\n<p><img alt=\"M\u00e3 s\u01a1 \u0111\u1ed3 tr\u00ecnh t\u1ef1 PlantUML cho k\u1ecbch b\u1ea3n r\u00fat ti\u1ec1n ATM c\u1ed5 \u0111i\u1ec3n, \u0111ang \u0111\u01b0\u1ee3c ch\u1ec9nh s\u1eeda b\u1eb1ng tr\u00ecnh so\u1ea1n th\u1ea3o chuy\u1ec3n \u0111\u1ed5i v\u0103n b\u1ea3n th\u00e0nh s\u01a1 \u0111\u1ed3 VPasCode c\u1ee7a Visual Paradigm\" decoding=\"async\" src=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/vpascode-plantuml-sequence-diagram-atm-cash-withdrawal.jpg\"\/><\/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:ZLN1Rjim3BqRy3yGFNGRq6A7tNeOcjWTK60jkZXhCQ0NrcOIeRBiINIB_lqeoqdbn1dgWmtmaKya7qLVEaRBNQtJv1Ci5MjA4_OVc2rl84EtWGV5cyhYAseuXuB-TcHAWbpXscAT9ZvmLd9Z7Q2fe1KwLQeM3RiqGGz0rZbkQhA03h8qYLpWH8uvyNRvxY5pDC_AhA5uSqnrxpGlqgH2nYTq12SxsbbPDftXtYMVXvIsYQP91kVV-sekuDeuiYnbsIfDl6c7B0YhtWuvCIhjTdWcw9rjwfPX9RNSNT-EAAyCqs0T0kQ5cEzHAycK0kTfS114y7mkUBQXyXaoInKPLkZF4_lvNhXgZ6JcEis-ADGi5RnuAF21F9upgcyFZMg8i3DOsZUOhL6Pu6OQoTIgzOOlOBRo1Ns3bNI1Aa2MvhVipXvDwKknlZs6f7-aHOJx_sHpVpINOjEymetmm0sPBi1HJmlIL78qU0S42w-kOvZLNlW3WY1A3CRQXDxFKQCVv5FugMh5x_aF2ltgI9eqU0KqLYZhh1NfnWxX7NHotMebi-nzVdIcSW6Ra2no797jbRoqQ9pS9pyJEPNQY_1eFkVAjHftYNvvZutwaNb8nnIJHoo8Esk6w-6nNkBYOuNCsjOsBrGTC0VOvqbo_VgTCddw4O-eZ2K-7uaFaZHcfMmTjjQMhHgdEuYRqvFYxTxm8z2ifxiJI_wx3JTQTe4cfYDzY7KwT1qj5ILdBwWarVAxXv-UmRWTyxY8gPOSSFIwtJQ7m5xqC4SJ1ARws8HCAxIR7q_JlqRhTBcHrGv_cWw-Zjfr5Jml9KB-IFy0\" 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:bLN1Qjj04BqBz0z33caB2JtqbaD9xK0JJ4ofTMYFQzb8ejBQbLUXEPPISWY1Xlv071D2quOcK2X8XnuK_1_waxvTMTRAbfFM1pdnldapy-RjQ7iaM2YYm3UDHsHvwLL4TwTPyj4qX2VyFhrEOq72mo-SNbZxj4cTwLX1lf88qn_S9P4bjwOXutU0-ypf03HufcSatFGCYA6RnPSS_x6078-P1hF58AIMcuvjTnSGXzY8cgOnH2sUxGqP5xI6T6loTtmldEncoH7OikGKaMqdFUSa4paAtkYOHey9rcMZFgrPwPb7xzn15a_uBA66tMdaXLjw9qtQVAvwtQAxBzCR9ZF5YMcezikJB3cnPOE_K8Fm-0Ag2SnRgQQDrYFYEBmUKf1EwDLUkvAZlN0q8sXqSFO6zQf6R-sSdzPB8130xJI0Qq7uJm46mlIAFfJHfW7SPa7Rok8_Wjv74AKAmcHyGVjv1iYcg70s6P8FpKs3y95vvzK_WDNKM8dSKEclyNSyzl8mFX1z2Zt75LlKOH4zauVAGH8ebRWGr9Nu3PxhqisIOtWhItuMF7qVyo-I_bCFznI_AmNEynzJqEUOgvjUSpS7QjDi0d72AIolpHANPeiHB5o1BVjY2QBxGvkxmlMcDt080iUSWYpvPfVTpfnYXT4X7K0_Fe_8CRe_EWMN2_uZj5rE9dzAbyn1iu7AdN2P7oyf_01M4-UbnmRKWygufsgck9FV8JO8FFwuCeQY_YSbaIOVTiJbeTms1LrjEYkKTq0vfhZ04g6yCo_wlixaXe1jREouz8fwqI444qkf2czunIeDilYtgAreDMZH6xnYYqLhgDN1SzpTAHnkpuchhSoCqKON9FHjkKuEGlo1Kw-YRfYcighA9iWTOBzApro85QBfGwv5QthiSUggzudFl18W3QZTenf4lM8rG3NhLkvBMssPXzciqfIrbBptFsvRCLpDZf9FFIhl5wW-2MYAk_vqjjAn_6ExEYxJs4OaNl1_0G00\" \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 class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n' Ti\u00eau \u0111\u1ec1\r\ntitle R\u00fat ti\u1ec1n ATM - S\u01a1 \u0111\u1ed3 tr\u00ecnh t\u1ef1\r\n\r\n' Di\u1ec5n vi\u00ean v\u00e0 th\u00e0nh ph\u1ea7n tham gia\r\nactor Kh\u00e1chH\u00e0ng as C\r\nparticipant \"ATM\" as ATM\r\nparticipant \"H\u1ec7 th\u1ed1ng Ng\u00e2n h\u00e0ng\" as BS\r\ndatabase \"T\u00e0i kho\u1ea3n Kh\u00e1ch h\u00e0ng\" as DB\r\n\r\n' Tr\u00ecnh t\u1ef1\r\nC -&gt; ATM : \u0110\u01b0a th\u1ebb\r\nATM -&gt; ATM : \u0110\u1ecdc th\u00f4ng tin th\u1ebb\r\nATM -&gt; C : Y\u00eau c\u1ea7u nh\u1eadp m\u00e3 PIN\r\nC -&gt; ATM : Nh\u1eadp m\u00e3 PIN\r\nATM -&gt; BS : X\u00e1c th\u1ef1c th\u1ebb &amp; m\u00e3 PIN\r\nBS -&gt; DB : Ki\u1ec3m tra th\u00f4ng tin x\u00e1c th\u1ef1c\r\nDB --&gt; BS : K\u1ebft qu\u1ea3 x\u00e1c th\u1ef1c\r\n\r\nalt M\u00e3 PIN kh\u00f4ng h\u1ee3p l\u1ec7\r\n    BS --&gt; ATM : M\u00e3 PIN kh\u00f4ng h\u1ee3p l\u1ec7\r\n    ATM -&gt; C : M\u00e3 PIN kh\u00f4ng h\u1ee3p l\u1ec7, th\u1eed l\u1ea1i\r\n    note right: Sau 3 l\u1ea7n th\u1eed th\u1ea5t b\u1ea1i,nth\u1ebb b\u1ecb gi\u1eef l\u1ea1i\r\nelse M\u00e3 PIN h\u1ee3p l\u1ec7\r\n    BS --&gt; ATM : M\u00e3 PIN h\u1ee3p l\u1ec7\r\n    ATM -&gt; C : Hi\u1ec3n th\u1ecb menu ch\u00ednh\r\n    C -&gt; ATM : Ch\u1ecdn r\u00fat ti\u1ec1n\r\n    ATM -&gt; C : Y\u00eau c\u1ea7u s\u1ed1 ti\u1ec1n\r\n    C -&gt; ATM : Nh\u1eadp s\u1ed1 ti\u1ec1n\r\n    ATM -&gt; BS : Ki\u1ec3m tra s\u1ed1 d\u01b0 &amp; h\u1ea1n m\u1ee9c\r\n    BS -&gt; DB : Truy v\u1ea5n s\u1ed1 d\u01b0\r\n    DB --&gt; BS : S\u1ed1 d\u01b0 hi\u1ec7n t\u1ea1i\r\n    \r\n    alt S\u1ed1 d\u01b0 kh\u00f4ng \u0111\u1ee7\r\n        BS --&gt; ATM : S\u1ed1 d\u01b0 kh\u00f4ng \u0111\u1ee7\r\n        ATM -&gt; C : Giao d\u1ecbch b\u1ecb t\u1eeb ch\u1ed1in(Hi\u1ec3n th\u1ecb s\u1ed1 d\u01b0)\r\n        C -&gt; ATM : H\u1ee7y giao d\u1ecbch\r\n        ATM -&gt; C : Tr\u1ea3 l\u1ea1i th\u1ebb\r\n    else S\u1ed1 d\u01b0 \u0111\u1ee7\r\n        BS --&gt; ATM : \u0110\u01b0\u1ee3c ph\u00ea duy\u1ec7t\r\n        ATM -&gt; ATM : Chi ti\u1ec1n m\u1eb7t\r\n        ATM -&gt; C : Chi ti\u1ec1n m\u1eb7t\r\n        C -&gt; ATM : Nh\u1eadn ti\u1ec1n\r\n        ATM -&gt; BS : X\u00e1c nh\u1eadn \u0111\u00e3 chi ti\u1ec1n\r\n        BS -&gt; DB : N\u1ee3 t\u00e0i kho\u1ea3n &amp; ghi log giao d\u1ecbch\r\n        DB --&gt; BS : C\u1eadp nh\u1eadt ho\u00e0n t\u1ea5t\r\n        BS --&gt; ATM : Giao d\u1ecbch ho\u00e0n t\u1ea5t\r\n        ATM -&gt; C : In bi\u00ean lai\r\n        alt Y\u00eau c\u1ea7u bi\u00ean lai\r\n            C -&gt; ATM : Nh\u1eadn bi\u00ean lai\r\n        else Kh\u00f4ng c\u1ea7n bi\u00ean lai\r\n            C -&gt; ATM : T\u1eeb ch\u1ed1i bi\u00ean lai\r\n        end\r\n        ATM -&gt; C : Tr\u1ea3 l\u1ea1i th\u1ebb\r\n        C -&gt; ATM : Nh\u1eadn th\u1ebb\r\n    end\r\nend\r\n\r\nATM -&gt; C : C\u1ea3m \u01a1n \/ K\u1ebft th\u00fac giao d\u1ecbch\r\n\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:bLN1Qjj04BqBz0z33caB2JtqbaD9xK0JJ4ofTMYFQzb8ejBQbLUXEPPISWY1Xlv071D2quOcK2X8XnuK_1_waxvTMTRAbfFM1pdnldapy-RjQ7iaM2YYm3UDHsHvwLL4TwTPyj4qX2VyFhrEOq72mo-SNbZxj4cTwLX1lf88qn_S9P4bjwOXutU0-ypf03HufcSatFGCYA6RnPSS_x6078-P1hF58AIMcuvjTnSGXzY8cgOnH2sUxGqP5xI6T6loTtmldEncoH7OikGKaMqdFUSa4paAtkYOHey9rcMZFgrPwPb7xzn15a_uBA66tMdaXLjw9qtQVAvwtQAxBzCR9ZF5YMcezikJB3cnPOE_K8Fm-0Ag2SnRgQQDrYFYEBmUKf1EwDLUkvAZlN0q8sXqSFO6zQf6R-sSdzPB8130xJI0Qq7uJm46mlIAFfJHfW7SPa7Rok8_Wjv74AKAmcHyGVjv1iYcg70s6P8FpKs3y95vvzK_WDNKM8dSKEclyNSyzl8mFX1z2Zt75LlKOH4zauVAGH8ebRWGr9Nu3PxhqisIOtWhItuMF7qVyo-I_bCFznI_AmNEynzJqEUOgvjUSpS7QjDi0d72AIolpHANPeiHB5o1BVjY2QBxGvkxmlMcDt080iUSWYpvPfVTpfnYXT4X7K0_Fe_8CRe_EWMN2_uZj5rE9dzAbyn1iu7AdN2P7oyf_01M4-UbnmRKWygufsgck9FV8JO8FFwuCeQY_YSbaIOVTiJbeTms1LrjEYkKTq0vfhZ04g6yCo_wlixaXe1jREouz8fwqI444qkf2czunIeDilYtgAreDMZH6xnYYqLhgDN1SzpTAHnkpuchhSoCqKON9FHjkKuEGlo1Kw-YRfYcighA9iWTOBzApro85QBfGwv5QthiSUggzudFl18W3QZTenf4lM8rG3NhLkvBMssPXzciqfIrbBptFsvRCLpDZf9FFIhl5wW-2MYAk_vqjjAn_6ExEYxJs4OaNl1_0G00\" \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:ZLN1Rjim3BqRy3yGFNGRq6A7tNeOcjWTK60jkZXhCQ0NrcOIeRBiINIB_lqeoqdbn1dgWmtmaKya7qLVEaRBNQtJv1Ci5MjA4_OVc2rl84EtWGV5cyhYAseuXuB-TcHAWbpXscAT9ZvmLd9Z7Q2fe1KwLQeM3RiqGGz0rZbkQhA03h8qYLpWH8uvyNRvxY5pDC_AhA5uSqnrxpGlqgH2nYTq12SxsbbPDftXtYMVXvIsYQP91kVV-sekuDeuiYnbsIfDl6c7B0YhtWuvCIhjTdWcw9rjwfPX9RNSNT-EAAyCqs0T0kQ5cEzHAycK0kTfS114y7mkUBQXyXaoInKPLkZF4_lvNhXgZ6JcEis-ADGi5RnuAF21F9upgcyFZMg8i3DOsZUOhL6Pu6OQoTIgzOOlOBRo1Ns3bNI1Aa2MvhVipXvDwKknlZs6f7-aHOJx_sHpVpINOjEymetmm0sPBi1HJmlIL78qU0S42w-kOvZLNlW3WY1A3CRQXDxFKQCVv5FugMh5x_aF2ltgI9eqU0KqLYZhh1NfnWxX7NHotMebi-nzVdIcSW6Ra2no797jbRoqQ9pS9pyJEPNQY_1eFkVAjHftYNvvZutwaNb8nnIJHoo8Esk6w-6nNkBYOuNCsjOsBrGTC0VOvqbo_VgTCddw4O-eZ2K-7uaFaZHcfMmTjjQMhHgdEuYRqvFYxTxm8z2ifxiJI_wx3JTQTe4cfYDzY7KwT1qj5ILdBwWarVAxXv-UmRWTyxY8gPOSSFIwtJQ7m5xqC4SJ1ARws8HCAxIR7q_JlqRhTBcHrGv_cWw-Zjfr5Jml9KB-IFy0\" 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><a href=\"https:\/\/www.vpascode.com\/#plantuml:ZLN1Rjim3BqRy3yGFNGRq6A7tNeOcjWTK60jkZXhCQ0NrcOIeRBiINIB_lqeoqdbn1dgWmtmaKya7qLVEaRBNQtJv1Ci5MjA4_OVc2rl84EtWGV5cyhYAseuXuB-TcHAWbpXscAT9ZvmLd9Z7Q2fe1KwLQeM3RiqGGz0rZbkQhA03h8qYLpWH8uvyNRvxY5pDC_AhA5uSqnrxpGlqgH2nYTq12SxsbbPDftXtYMVXvIsYQP91kVV-sekuDeuiYnbsIfDl6c7B0YhtWuvCIhjTdWcw9rjwfPX9RNSNT-EAAyCqs0T0kQ5cEzHAycK0kTfS114y7mkUBQXyXaoInKPLkZF4_lvNhXgZ6JcEis-ADGi5RnuAF21F9upgcyFZMg8i3DOsZUOhL6Pu6OQoTIgzOOlOBRo1Ns3bNI1Aa2MvhVipXvDwKknlZs6f7-aHOJx_sHpVpINOjEymetmm0sPBi1HJmlIL78qU0S42w-kOvZLNlW3WY1A3CRQXDxFKQCVv5FugMh5x_aF2ltgI9eqU0KqLYZhh1NfnWxX7NHotMebi-nzVdIcSW6Ra2no797jbRoqQ9pS9pyJEPNQY_1eFkVAjHftYNvvZutwaNb8nnIJHoo8Esk6w-6nNkBYOuNCsjOsBrGTC0VOvqbo_VgTCddw4O-eZ2K-7uaFaZHcfMmTjjQMhHgdEuYRqvFYxTxm8z2ifxiJI_wx3JTQTe4cfYDzY7KwT1qj5ILdBwWarVAxXv-UmRWTyxY8gPOSSFIwtJQ7m5xqC4SJ1ARws8HCAxIR7q_JlqRhTBcHrGv_cWw-Zjfr5Jml9KB-IFy0\">Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/a><\/p>\n<h3>M\u00f4 h\u00ecnh h\u00f3a quy tr\u00ecnh kinh doanh: H\u1ec7 th\u1ed1ng b\u1ed3i th\u01b0\u1eddng b\u1ea3o hi\u1ec3m<\/h3>\n<p>S\u01a1 \u0111\u1ed3 ho\u1ea1t \u0111\u1ed9ng gi\u00fap tr\u1ef1c quan h\u00f3a logic quy tr\u00ecnh l\u00e0m vi\u1ec7c. V\u00ed d\u1ee5 d\u01b0\u1edbi \u0111\u00e2y m\u00f4 h\u00ecnh h\u00f3a quy tr\u00ecnh b\u1ed3i th\u01b0\u1eddng b\u1ea3o hi\u1ec3m, n\u1eafm b\u1eaft c\u00e1c \u0111i\u1ec3m ra quy\u1ebft \u0111\u1ecbnh nh\u01b0 t\u00ednh h\u1ee3p l\u1ec7 c\u1ee7a h\u1ee3p \u0111\u1ed3ng v\u00e0 s\u1ef1 \u0111\u1ea7y \u0111\u1ee7 c\u1ee7a t\u00e0i li\u1ec7u.<\/p>\n<p><img alt=\"M\u00e3 s\u01a1 \u0111\u1ed3 ho\u1ea1t \u0111\u1ed9ng PlantUML cho h\u1ec7 th\u1ed1ng b\u1ed3i th\u01b0\u1eddng b\u1ea3o hi\u1ec3m, \u0111ang \u0111\u01b0\u1ee3c ch\u1ec9nh s\u1eeda b\u1eb1ng tr\u00ecnh so\u1ea1n th\u1ea3o tr\u1ef1c tuy\u1ebfn chuy\u1ec3n \u0111\u1ed5i v\u0103n b\u1ea3n th\u00e0nh s\u01a1 \u0111\u1ed3 VPasCode c\u1ee7a Visual Paradigm\" decoding=\"async\" src=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/vpascode-plantuml-activity-diagram-insurance-claim-system.jpg\"\/><\/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:ZLHDQnin4BqR_1-6d993yDs6DY4D9L1Ag2azAzBiUbAjf6eak_xt7Kd-MCSk-BOhZTwyUUz93vnKJ7cmyE8uH-KqFbb5mtBB2OVfP3gf1ULZ_kejwUtAMuCHEByDb1XqgLx8RZq6n61ztwC1Sib3MY5mXLeK2EhWzeNhQgXWe7IYDO9o1jRAalbyLtOTt6wHxwOJWFaZC_MkzG61LEOz2s1SrDtlFb6tFIo2xy3Xvi0ABIFSEj-WbYXj8hwZDFKEd9pLM333QBA6-yttKgdOkpcqkMMWHdP6hbAjXPnya3REK5SrUjmJYRWctF1EfoI26A_pW2xnGOh7A9DRAxL_CiLn2OI8B1yNvDWt84U9LCAT1Kq-LGOxc_k7u2Cd64YqTFseJHVzS67wNueIT3wAheOAfB8dz2lclLwX_lrXNJH5YDIlKla3Q3c2ZIfP4SIsEkueqtFmZh5i5OCAHFc-_mHlIXg8FpVNo7gpk6Y4k2MpKt-KggRLkoHsmeQIGsRa6VuD68KabGIXmUBl_5bE3d8IZ1fKZpFhcK4DFhiq3lJ80U7CmahYjKkuS1ZutCSdPNMs1Lg54FrQpXnmYyqXs2q8YooPUxDOQ4cX82hvkpBPCjngb-9ZgWrgub94xdWrpuFy5Ht6Geyn9Oj5ORbSNKr8Q_Tnuy95-lXexDtR0pK1ltXnvYGIIciCgRuJjVHSljVejVW6GMqBWpRUps0Au-Q6l5ifSqtFiZ8rDukZLjgxZk9Gxyl_Nm0jVcUvf0QJ8ijdiZ-pLjL3GJ348PVm8tkRT_Uml53O-tfHHuATqDsBSPhugoG-YNnpS3fva1LvqFy1\" 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:fLPDQzj04BqR_1y6dv93oTs6Df13MbfAeJwqHqLs965hvTYh41zD3ZdqKXDw22KqgWbfKa9QqfD4wM5D_eV-IT_ishBaZwIaXu2atPbvyzwRSJPxqkhAq6_J2z4BkvQmcrjjo_FVzdkowPTBvT9E6jz86W_J-2Baz-fhv-v7cfnwv8SMuNGKaEkboQ5F8arEEjHNLo7PV1sdoR57qjK1mgaX-ltiT3paxoER7DSZuQRnjQ1zTOPqQNA4g3GPwfXooTkbjUUusc4SoR5mo5QtUBRmv0Pf76c0oGbUaO3ZSRNDMLgk-YMSP-j8rnIqXh3rSece-iPLNmMou30Fs7O34jF-EEK7uPBZgQYce-ew6-seA5XzbVRJP91FwgV9Pmy9ckrUazOC8eDYEqskcPzPLfactv4QhNl52lDa6q3ROAwjVbCZg5AH85DcZfsDwTUC89scWQB20K3Hy7QB6XSQEsZwTA0k9NYBR9Bg3CK1veYbL2CZVwPNFOtF9JCmAjmqTje9STSsOKPACDNNrIvMQhOSL0lDV069w3C0EW3pFPpD-5_AVCw6AoacEsIdeOzEeGM9u_XFQ1JOGldJkGwJJzGBjNLnuQN99RiM28yZBtzNtn21R5BNSrp9RyGwPkxNLZWrtpkOa95WxNYcs2ShaNC0nDIf-Vd9KzeBhVu4GENnwbPg3xjaF4JK8DGT5rIellBKbJ3JBSpyuVaIjhJTiCz7ZcUX3hZLCMB2jEJOknjC4SEwHfqUo279PSoTv4WYBNhRyBNhV1N9p8WvgTbgkUK0t_-qW9DBwwQdq5iyDeRhXP5Qz6LTOvA1YaG1MRRVEgwweaROPvp656hGuUhdo8hjS6cpY-DpvaphgYbGKNPdckaHIwIbllcJ5J5R6Nl00buptPPjtMLheQw7ZAC6T11ggXqeDCeoib86ppsN7bniz_x8P3RDLyZ4NXt7sjkk7kR9Rqq1uYfntw4RpPzqhQdAayb7aaakoSB54VY739YmtFB7XpF4LSOVCKD57Ygrd7vwSqs0_UFYj_4dlOcGwjRizMFgtKLBVRBbiWCF1RhHerQG1CCAb8OVKm60ptosRYGMHPvlVqwBXOtpdvueh9sfBSkbJNp3lov_0G00\" \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 class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml InsuranceClaimSystem\r\n\r\nb\u1eaft \u0111\u1ea7u\r\n\r\n:Ng\u01b0\u1eddi mua b\u1ea3o hi\u1ec3m n\u1ed9p y\u00eau c\u1ea7u b\u1ed3i th\u01b0\u1eddng;\r\n:Y\u00eau c\u1ea7u \u0111\u01b0\u1ee3c ghi nh\u1eadn v\u00e0o h\u1ec7 th\u1ed1ng;\r\n\r\nif (H\u1ee3p \u0111\u1ed3ng c\u00f3 \u0111ang ho\u1ea1t \u0111\u1ed9ng v\u00e0 h\u1ee3p l\u1ec7 kh\u00f4ng?) then (c\u00f3)\r\n  :Ph\u00e2n c\u00f4ng y\u00eau c\u1ea7u cho ng\u01b0\u1eddi \u0111\u1ecbnh gi\u00e1;\r\n  :Th\u00f4ng b\u00e1o cho ng\u01b0\u1eddi \u0111\u1ecbnh gi\u00e1 v\u1ec1 y\u00eau c\u1ea7u m\u1edbi;\r\nelse (kh\u00f4ng)\r\n  :G\u1eedi th\u00f4ng b\u00e1o t\u1eeb ch\u1ed1i cho ng\u01b0\u1eddi mua b\u1ea3o hi\u1ec3m;\r\n  :Ghi l\u00fd do: H\u1ee3p \u0111\u1ed3ng kh\u00f4ng ho\u1ea1t \u0111\u1ed9ng\/kh\u00f4ng h\u1ee3p l\u1ec7;\r\n  d\u1eebng\r\nendif\r\n\r\n:Ng\u01b0\u1eddi \u0111\u1ecbnh gi\u00e1 xem x\u00e9t c\u00e1c t\u00e0i li\u1ec7u \u0111\u00e3 n\u1ed9p;\r\n\r\nif (T\u1ea5t c\u1ea3 t\u00e0i li\u1ec7u b\u1eaft bu\u1ed9c \u0111\u00e3 c\u00f3 \u0111\u1ea7y \u0111\u1ee7 kh\u00f4ng?) then (c\u00f3)\r\n  :Ng\u01b0\u1eddi \u0111\u1ecbnh gi\u00e1 kh\u1edfi t\u1ea1o x\u00e1c minh y\u00eau c\u1ea7u;\r\nelse (kh\u00f4ng)\r\n  :Y\u00eau c\u1ea7u ng\u01b0\u1eddi mua b\u1ea3o hi\u1ec3m cung c\u1ea5p t\u00e0i li\u1ec7u thi\u1ebfu;\r\n  :Ch\u1edd t\u00e0i li\u1ec7u b\u1ed5 sung;\r\n  :Ki\u1ec3m tra l\u1ea1i t\u00e0i li\u1ec7u;\r\n  note right\r\n    H\u1ec7 th\u1ed1ng ch\u1edd\r\n    ph\u1ea3n h\u1ed3i t\u1eeb ng\u01b0\u1eddi mua b\u1ea3o hi\u1ec3m\r\n  end note\r\n  -&gt; quay l\u1ea1i \"Ng\u01b0\u1eddi \u0111\u1ecbnh gi\u00e1 xem x\u00e9t c\u00e1c t\u00e0i li\u1ec7u \u0111\u00e3 n\u1ed9p\";\r\nendif\r\n\r\n:Ng\u01b0\u1eddi \u0111\u1ecbnh gi\u00e1 \u0111i\u1ec1u tra y\u00eau c\u1ea7u;\r\n:Li\u00ean h\u1ec7 nh\u00e2n ch\u1ee9ng\/chuy\u00ean gia n\u1ebfu c\u1ea7n thi\u1ebft;\r\n:\u01af\u1edbc t\u00ednh s\u1ed1 ti\u1ec1n thi\u1ec7t h\u1ea1i\/m\u1ea5t m\u00e1t;\r\n\r\nif (Y\u00eau c\u1ea7u c\u00f3 h\u1ee3p l\u1ec7 d\u1ef1a tr\u00ean c\u00e1c \u0111i\u1ec1u kho\u1ea3n h\u1ee3p \u0111\u1ed3ng kh\u00f4ng?) then (c\u00f3)\r\n  :T\u00ednh to\u00e1n s\u1ed1 ti\u1ec1n \u0111\u01b0\u1ee3c ph\u00ea duy\u1ec7t;\r\n  :\u00c1p d\u1ee5ng m\u1ee9c kh\u1ea5u tr\u1eeb n\u1ebfu \u00e1p d\u1ee5ng \u0111\u01b0\u1ee3c;\r\nelse (kh\u00f4ng)\r\n  :G\u1eedi th\u00f4ng b\u00e1o t\u1eeb ch\u1ed1i k\u00e8m l\u00fd do;\r\n  :Ghi quy\u1ebft \u0111\u1ecbnh v\u00e0o h\u1ec7 th\u1ed1ng;\r\n  d\u1eebng\r\nendif\r\n\r\n:T\u1ea1o \u0111\u1ec1 xu\u1ea5t gi\u1ea3i quy\u1ebft;\r\n:G\u1eedi \u0111\u1ec1 xu\u1ea5t gi\u1ea3i quy\u1ebft cho ng\u01b0\u1eddi mua b\u1ea3o hi\u1ec3m;\r\n\r\n:Ng\u01b0\u1eddi mua b\u1ea3o hi\u1ec3m xem x\u00e9t \u0111\u1ec1 xu\u1ea5t;\r\n\r\nif (Ng\u01b0\u1eddi mua b\u1ea3o hi\u1ec3m c\u00f3 ch\u1ea5p nh\u1eadn \u0111\u1ec1 xu\u1ea5t kh\u00f4ng?) then (c\u00f3)\r\n  :X\u1eed l\u00fd thanh to\u00e1n;\r\n  :C\u1eadp nh\u1eadt tr\u1ea1ng th\u00e1i y\u00eau c\u1ea7u th\u00e0nh \"\u0110\u00e3 gi\u1ea3i quy\u1ebft\";\r\n  :G\u1eedi x\u00e1c nh\u1eadn cho ng\u01b0\u1eddi mua b\u1ea3o hi\u1ec3m;\r\n  :Ghi chi ti\u1ebft \u0111\u00f3ng h\u1ed3 s\u01a1;\r\nelse (kh\u00f4ng)\r\n  :Chuy\u1ec3n l\u00ean gi\u1ea3i quy\u1ebft tranh ch\u1ea5p;\r\n  :\u0110\u00e0m ph\u00e1n gi\u1ea3i quy\u1ebft;\r\n  :C\u1eadp nh\u1eadt \u0111\u1ec1 xu\u1ea5t;\r\n  -&gt; quay l\u1ea1i \"G\u1eedi \u0111\u1ec1 xu\u1ea5t gi\u1ea3i quy\u1ebft cho ng\u01b0\u1eddi mua b\u1ea3o hi\u1ec3m\";\r\nendif\r\n\r\nd\u1eebng\r\n\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:fLPDQzj04BqR_1y6dv93oTs6Df13MbfAeJwqHqLs965hvTYh41zD3ZdqKXDw22KqgWbfKa9QqfD4wM5D_eV-IT_ishBaZwIaXu2atPbvyzwRSJPxqkhAq6_J2z4BkvQmcrjjo_FVzdkowPTBvT9E6jz86W_J-2Baz-fhv-v7cfnwv8SMuNGKaEkboQ5F8arEEjHNLo7PV1sdoR57qjK1mgaX-ltiT3paxoER7DSZuQRnjQ1zTOPqQNA4g3GPwfXooTkbjUUusc4SoR5mo5QtUBRmv0Pf76c0oGbUaO3ZSRNDMLgk-YMSP-j8rnIqXh3rSece-iPLNmMou30Fs7O34jF-EEK7uPBZgQYce-ew6-seA5XzbVRJP91FwgV9Pmy9ckrUazOC8eDYEqskcPzPLfactv4QhNl52lDa6q3ROAwjVbCZg5AH85DcZfsDwTUC89scWQB20K3Hy7QB6XSQEsZwTA0k9NYBR9Bg3CK1veYbL2CZVwPNFOtF9JCmAjmqTje9STSsOKPACDNNrIvMQhOSL0lDV069w3C0EW3pFPpD-5_AVCw6AoacEsIdeOzEeGM9u_XFQ1JOGldJkGwJJzGBjNLnuQN99RiM28yZBtzNtn21R5BNSrp9RyGwPkxNLZWrtpkOa95WxNYcs2ShaNC0nDIf-Vd9KzeBhVu4GENnwbPg3xjaF4JK8DGT5rIellBKbJ3JBSpyuVaIjhJTiCz7ZcUX3hZLCMB2jEJOknjC4SEwHfqUo279PSoTv4WYBNhRyBNhV1N9p8WvgTbgkUK0t_-qW9DBwwQdq5iyDeRhXP5Qz6LTOvA1YaG1MRRVEgwweaROPvp656hGuUhdo8hjS6cpY-DpvaphgYbGKNPdckaHIwIbllcJ5J5R6Nl00buptPPjtMLheQw7ZAC6T11ggXqeDCeoib86ppsN7bniz_x8P3RDLyZ4NXt7sjkk7kR9Rqq1uYfntw4RpPzqhQdAayb7aaakoSB54VY739YmtFB7XpF4LSOVCKD57Ygrd7vwSqs0_UFYj_4dlOcGwjRizMFgtKLBVRBbiWCF1RhHerQG1CCAb8OVKm60ptosRYGMHPvlVqwBXOtpdvueh9sfBSkbJNp3lov_0G00\" \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:ZLHDQnin4BqR_1-6d993yDs6DY4D9L1Ag2azAzBiUbAjf6eak_xt7Kd-MCSk-BOhZTwyUUz93vnKJ7cmyE8uH-KqFbb5mtBB2OVfP3gf1ULZ_kejwUtAMuCHEByDb1XqgLx8RZq6n61ztwC1Sib3MY5mXLeK2EhWzeNhQgXWe7IYDO9o1jRAalbyLtOTt6wHxwOJWFaZC_MkzG61LEOz2s1SrDtlFb6tFIo2xy3Xvi0ABIFSEj-WbYXj8hwZDFKEd9pLM333QBA6-yttKgdOkpcqkMMWHdP6hbAjXPnya3REK5SrUjmJYRWctF1EfoI26A_pW2xnGOh7A9DRAxL_CiLn2OI8B1yNvDWt84U9LCAT1Kq-LGOxc_k7u2Cd64YqTFseJHVzS67wNueIT3wAheOAfB8dz2lclLwX_lrXNJH5YDIlKla3Q3c2ZIfP4SIsEkueqtFmZh5i5OCAHFc-_mHlIXg8FpVNo7gpk6Y4k2MpKt-KggRLkoHsmeQIGsRa6VuD68KabGIXmUBl_5bE3d8IZ1fKZpFhcK4DFhiq3lJ80U7CmahYjKkuS1ZutCSdPNMs1Lg54FrQpXnmYyqXs2q8YooPUxDOQ4cX82hvkpBPCjngb-9ZgWrgub94xdWrpuFy5Ht6Geyn9Oj5ORbSNKr8Q_Tnuy95-lXexDtR0pK1ltXnvYGIIciCgRuJjVHSljVejVW6GMqBWpRUps0Au-Q6l5ifSqtFiZ8rDukZLjgxZk9Gxyl_Nm0jVcUvf0QJ8ijdiZ-pLjL3GJ348PVm8tkRT_Uml53O-tfHHuATqDsBSPhugoG-YNnpS3fva1LvqFy1\" 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><a href=\"https:\/\/www.vpascode.com\/#plantuml:ZLHDQnin4BqR_1-6d993yDs6DY4D9L1Ag2azAzBiUbAjf6eak_xt7Kd-MCSk-BOhZTwyUUz93vnKJ7cmyE8uH-KqFbb5mtBB2OVfP3gf1ULZ_kejwUtAMuCHEByDb1XqgLx8RZq6n61ztwC1Sib3MY5mXLeK2EhWzeNhQgXWe7IYDO9o1jRAalbyLtOTt6wHxwOJWFaZC_MkzG61LEOz2s1SrDtlFb6tFIo2xy3Xvi0ABIFSEj-WbYXj8hwZDFKEd9pLM333QBA6-yttKgdOkpcqkMMWHdP6hbAjXPnya3REK5SrUjmJYRWctF1EfoI26A_pW2xnGOh7A9DRAxL_CiLn2OI8B1yNvDWt84U9LCAT1Kq-LGOxc_k7u2Cd64YqTFseJHVzS67wNueIT3wAheOAfB8dz2lclLwX_lrXNJH5YDIlKla3Q3c2ZIfP4SIsEkueqtFmZh5i5OCAHFc-_mHlIXg8FpVNo7gpk6Y4k2MpKt-KggRLkoHsmeQIGsRa6VuD68KabGIXmUBl_5bE3d8IZ1fKZpFhcK4DFhiq3lJ80U7CmahYjKkuS1ZutCSdPNMs1Lg54FrQpXnmYyqXs2q8YooPUxDOQ4cX82hvkpBPCjngb-9ZgWrgub94xdWrpuFy5Ht6Geyn9Oj5ORbSNKr8Q_Tnuy95-lXexDtR0pK1ltXnvYGIIciCgRuJjVHSljVejVW6GMqBWpRUps0Au-Q6l5ifSqtFiZ8rDukZLjgxZk9Gxyl_Nm0jVcUvf0QJ8ijdiZ-pLjL3GJ348PVm8tkRT_Uml53O-tfHHuATqDsBSPhugoG-YNnpS3fva1LvqFy1\">Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/a><\/p>\n<h3>M\u00e1y tr\u1ea1ng th\u00e1i: H\u1ec7 th\u1ed1ng ph\u00e1t hi\u1ec7n kh\u00f3i<\/h3>\n<p>\u0110\u1ed1i v\u1edbi c\u00e1c h\u1ec7 th\u1ed1ng nh\u00fang ho\u1eb7c thi\u1ebft b\u1ecb IoT, s\u01a1 \u0111\u1ed3 tr\u1ea1ng th\u00e1i l\u00e0 y\u1ebfu t\u1ed1 thi\u1ebft y\u1ebfu. V\u00ed d\u1ee5 n\u00e0y minh h\u1ecda m\u1ed9t h\u1ec7 th\u1ed1ng ph\u00e1t hi\u1ec7n kh\u00f3i chuy\u1ec3n \u0111\u1ed5i gi\u1eefa c\u00e1c tr\u1ea1ng th\u00e1i ch\u1edd, gi\u00e1m s\u00e1t v\u00e0 b\u00e1o \u0111\u1ed9ng.<\/p>\n<p><img alt=\"M\u00e3 s\u01a1 \u0111\u1ed3 tr\u1ea1ng th\u00e1i PlantUML cho h\u1ec7 th\u1ed1ng ph\u00e1t hi\u1ec7n kh\u00f3i, \u0111ang \u0111\u01b0\u1ee3c ch\u1ec9nh s\u1eeda b\u1eb1ng tr\u00ecnh bi\u00ean t\u1eadp v\u0103n b\u1ea3n sang s\u01a1 \u0111\u1ed3 VPasCode c\u1ee7a Visual Paradigm\" decoding=\"async\" src=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/vpascode-plantuml-state-diagram-smoke-detection-system.jpg\"\/><\/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:XLLBQnin4BuR_1_cL9o22PJs4ag8yp249aw82psK7fJTiIsibRRIh8qf_kyTIVlGhXFYmtfNyttp-3GQNJaIbgf2mR8mMxn5meoaqSk38op6e_6892c49Gb2k9LYRKK1quY65WuT_lVdFp2TNiApsQDzMgtycWliPWN-ZKV0lmQvCC4I5-iFk63dEvaXI0V6UqcDdN_DmBZsMX5n8gL5vp0VZux3m7eObslI-UiXBjOVx2wM0XP5Fh054ghLpGQphG-CLffSPk1uSKhe22QuGtk0BrytPwVSHwCb6IlrseVnmaFHBKqSQcSi25PqXpKzFcCPNUYwaBIOdnoTlIo33zVP--ijz5aunqdCb09Ncvv-VCYQ2wbywZ5Hj9QVUUW1htXA3luJaPdrWbHP3MHyEPtm3IFuzemxxpRscoULXcKAeIB-U2fCekiRoYnCQDREK2-mzuMnXL1WIhJ2j_4f9fJGdGpCVVd1edYd5Lm2RRZZDaRbRvCVpFvQ4Fcck83cJPazJFRIek9cFUk82JZ9F25QB9N8Kh6xjxf9UiacSgIItBDUKgYPGajzH6e9q1kZLz8Mc3Ufn7zMp4b7ZWNunXsKVU1bBfJ3cHAsQ3ra2WMtrlV8Jn7zqb_GuI39GKuU7vYpS78wxF5zcHByUo8jJQNp9kS0zKJ7kwRX4oYvtf3hCnD671KwNnYIAvc5xWeDnvy7o8mcQnIKGdCFdOCeou6d8TNx-oKapOrzGv3KCfIZ5PnFD9zsFnzHVyGFR_KWhBVWPC2c3b9yV_lQQSe0Tx8rnzwSJax-O5JFHQNeNkTU3kClXsibzRQUG0ztjn4zGAMt45CUXQxui9VXjiWEt7-SrT-AzxEvBPfxucGA-SaxpSBeNV6OgYmtMG8O17hk8dHUsU9Xlg1Mb4gNgbgl-PoUmsjxmWkpyncDHrVS17mp_mS0\" 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:dLRDQzH05BylxF_mZgrG1D5BaL9iHQ5QA-r5nCCc3KdOPhPq9yL5zY0UH7ffwK4y59ekfNujLLiHaaCFi_J_cF_4zpB9PhAPhCKzXCtCUx_tyNiVMUporWuFWorO3pfjPzdXZitz3bllTRaJD1lD1lVvbWFhrn6C3cHo27n7nX5pWNiYyc4E7ilaFRx8v00Fj_6GW-VZ6OEs9ovyWdXvwnNCpIt0XepFEJ0tH1n65sYSE-LZUDDi0FvodHLFN2AmBIuAHRgldiCyRA3b-8g39PCzTBT5RX9uhGfPU23Z8TT0LaLSl8uEhd_8P603ysHyYhRxXTzbnGc_br3-AatP9x0nEqVgkdAC1aiPxChuDuEkE6PkdOPAPV8JsfZdTm4oqgBO9qv8Ouzvq9R91Sm4Cldemvsxtkmqr4U-Y08qZXpEKtX82uh4Po6unSsCBUD101Qbce7NmNBW2ecv6RfwvkoM_ShofETgj4zCQJAwXK9ygfWgbk8Eo_COexTJoYaxyIbF5SfQprR-6pz5j31w7_7NzCBVIfDj3gBEHMFD8F3piDL3GB9YcqkgWgevbfPAgM6LRyYkY3fe6X_fYOBgL-dJIiB0dDPIMRUFFPgueJelbGfOuZj6pprgiAEysesgP6cjCbaGyQbCljZPsm9s8a55_uRo6VGmbI7nDlu_qrQoc-AaDriW50AcU15Xj2y660MojErhF1V_L1uD_clvB4qEh1jCZ4NSM2sMTM1PrYoJkuZOhqMaPjQGHfewu-cSucbXBC0zwkcJternquB9kNDzwgGSEEkG82sy-pcoIQCsXpB-mrMPbnsgHbFnfIs6jfVDeKAvNqz5hNOT8okwZ2r--If1ESIyGM1N7EEz-CmcmfcEbCvWcGnzQjRBj4VmblPQyMOHHIwgO2cz3J65rFeCRWFs0fMlJ4xr3g1V5JARDZXXY65pwgltqtC_BeTT6NzZ51sx4Q1EFdZwBinsSKcZif1r2_LGDOLNMht8rw0c7_tnVDJslscmLhy2aWygvVdWNIM_jz5z4VLKYS2JXylw5AueLRwT4EQ5-1hIYi7kjBrGRVdybW8wKtibSxZygLA_5IQNjRvCcWsJZictfGc7o8Eo36bHZamCx13d-259bOK1dWTOspXQSteo-ic73W4lEcmJlr__0W00\" \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 class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml SmokeDetectionSystem\r\n\r\ntitle S\u01a1 \u0111\u1ed3 tr\u1ea1ng th\u00e1i - H\u1ec7 th\u1ed1ng ph\u00e1t hi\u1ec7n kh\u00f3i\r\n\r\n[*] --&gt; T\u1eaft ngu\u1ed3n\r\n\r\nstate T\u1eaft ngu\u1ed3n {\r\n    [*] --&gt; Kh\u00f4ng c\u00f3 ngu\u1ed3n\r\n    Kh\u00f4ng c\u00f3 ngu\u1ed3n : Thi\u1ebft b\u1ecb \u0111ang t\u1eaft\r\n    Kh\u00f4ng c\u00f3 ngu\u1ed3n --&gt; B\u1eadt ngu\u1ed3n : N\u00fat ngu\u1ed3n \u0111\u01b0\u1ee3c nh\u1ea5n\r\n}\r\n\r\nstate B\u1eadt ngu\u1ed3n {\r\n    [*] --&gt; Ch\u1ebf \u0111\u1ed9 ch\u1edd\r\n    Ch\u1ebf \u0111\u1ed9 ch\u1edd : H\u1ec7 th\u1ed1ng s\u1eb5n s\u00e0ng\r\n    Ch\u1ebf \u0111\u1ed9 ch\u1edd --&gt; T\u1ef1 ki\u1ec3m tra : T\u1ef1 ki\u1ec3m tra \u0111\u1ecbnh k\u1ef3 (m\u1ed7i 24h)\r\n    Ch\u1ebf \u0111\u1ed9 ch\u1edd --&gt; Gi\u00e1m s\u00e1t : B\u1eaft \u0111\u1ea7u gi\u00e1m s\u00e1t (c\u1ea3m bi\u1ebfn ho\u1ea1t \u0111\u1ed9ng)\r\n    \r\n    state T\u1ef1 ki\u1ec3m tra {\r\n        [*] --&gt; \u0110ang ki\u1ec3m tra c\u1ea3m bi\u1ebfn\r\n        \u0110ang ki\u1ec3m tra c\u1ea3m bi\u1ebfn --&gt; Ki\u1ec3m tra th\u00e0nh c\u00f4ng : T\u1ea5t c\u1ea3 c\u1ea3m bi\u1ebfn OK\r\n        \u0110ang ki\u1ec3m tra c\u1ea3m bi\u1ebfn --&gt; Ki\u1ec3m tra th\u1ea5t b\u1ea1i : Ph\u00e1t hi\u1ec7n l\u1ed7i c\u1ea3m bi\u1ebfn\r\n        Ki\u1ec3m tra th\u00e0nh c\u00f4ng --&gt; Ch\u1ebf \u0111\u1ed9 ch\u1edd : Quay l\u1ea1i ch\u1ebf \u0111\u1ed9 ch\u1edd\r\n        Ki\u1ec3m tra th\u1ea5t b\u1ea1i --&gt; Tr\u1ea1ng th\u00e1i l\u1ed7i : B\u00e1o c\u00e1o l\u1ed7i\r\n    }\r\n    \r\n    state Gi\u00e1m s\u00e1t {\r\n        [*] --&gt; Kh\u00f4ng c\u00f3 kh\u00f3i\r\n        Kh\u00f4ng c\u00f3 kh\u00f3i : Ho\u1ea1t \u0111\u1ed9ng b\u00ecnh th\u01b0\u1eddng\r\n        Kh\u00f4ng c\u00f3 kh\u00f3i --&gt; Ph\u00e1t hi\u1ec7n kh\u00f3i : M\u1ee9c kh\u00f3i &gt; ng\u01b0\u1ee1ng\r\n        Kh\u00f4ng c\u00f3 kh\u00f3i --&gt; Pin y\u1ebfu : Pin y\u1ebfu (kh\u00f4ng d\u00e2y)\r\n        Pin y\u1ebfu --&gt; Kh\u00f4ng c\u00f3 kh\u00f3i : \u0110\u00e3 thay pin\r\n        \r\n        state Ph\u00e1t hi\u1ec7n kh\u00f3i {\r\n            [*] --&gt; C\u1ea3nh b\u00e1o ban \u0111\u1ea7u\r\n            C\u1ea3nh b\u00e1o ban \u0111\u1ea7u --&gt; Kh\u00f3i x\u00e1c nh\u1eadn : Kh\u00f3i t\u1ed3n t\u1ea1i &gt; 5 gi\u00e2y\r\n            C\u1ea3nh b\u00e1o ban \u0111\u1ea7u --&gt; B\u00e1o \u0111\u1ed9ng gi\u1ea3 : Kh\u00f3i bi\u1ebfn m\u1ea5t &lt; 5 gi\u00e2y B\u00e1o \u0111\u1ed9ng gi\u1ea3 --&gt; Kh\u00f4ng c\u00f3 kh\u00f3i : \u0110\u1eb7t l\u1ea1i\r\n            Kh\u00f3i x\u00e1c nh\u1eadn --&gt; B\u00e1o \u0111\u1ed9ng k\u00edch ho\u1ea1t\r\n        }\r\n        \r\n        state B\u00e1o \u0111\u1ed9ng k\u00edch ho\u1ea1t {\r\n            [*] --&gt; K\u00edch ho\u1ea1t c\u00f2i b\u00e1o \u0111\u1ed9ng : K\u00edch ho\u1ea1t c\u00f2i v\u00e0 \u0111\u00e8n\r\n            K\u00edch ho\u1ea1t c\u00f2i b\u00e1o \u0111\u1ed9ng --&gt; G\u1eedi th\u00f4ng b\u00e1o : Th\u00f4ng b\u00e1o b\u1ea3ng \u0111i\u1ec1u khi\u1ec3n \/ \u1ee9ng d\u1ee5ng\r\n            G\u1eedi th\u00f4ng b\u00e1o --&gt; Ch\u1edd \u0111\u1eb7t l\u1ea1i\r\n            Ch\u1edd \u0111\u1eb7t l\u1ea1i --&gt; B\u00e1o \u0111\u1ed9ng k\u00edch ho\u1ea1t : Kh\u00f3i v\u1eabn c\u00f2n\r\n            Ch\u1edd \u0111\u1eb7t l\u1ea1i --&gt; \u0110\u1eb7t l\u1ea1i h\u1ec7 th\u1ed1ng : N\u00fat \u0111\u1eb7t l\u1ea1i \u0111\u01b0\u1ee3c nh\u1ea5n\r\n            \u0110\u1eb7t l\u1ea1i h\u1ec7 th\u1ed1ng --&gt; Kh\u00f4ng c\u00f3 kh\u00f3i : H\u1ec7 th\u1ed1ng \u0111\u00e3 \u0111\u1eb7t l\u1ea1i\r\n        }\r\n    }\r\n}\r\n\r\nstate Tr\u1ea1ng th\u00e1i l\u1ed7i {\r\n    [*] --&gt; Ch\u1ec9 b\u00e1o l\u1ed7i : Nh\u1ea5p nh\u00e1y \u0111\u00e8n LED l\u1ed7i\r\n    Ch\u1ec9 b\u00e1o l\u1ed7i --&gt; T\u1eaft ngu\u1ed3n : Y\u00eau c\u1ea7u chu k\u1ef3 ngu\u1ed3n th\u1ee7 c\u00f4ng\r\n}\r\n\r\nB\u1eadt ngu\u1ed3n --&gt; Tr\u1ea1ng th\u00e1i l\u1ed7i : T\u1ef1 ki\u1ec3m tra th\u1ea5t b\u1ea1i\r\nTr\u1ea1ng th\u00e1i l\u1ed7i --&gt; T\u1eaft ngu\u1ed3n : Chu k\u1ef3 ngu\u1ed3n\r\n\r\nT\u1eaft ngu\u1ed3n --&gt; [*] : H\u1ec7 th\u1ed1ng \u0111\u00e3 r\u00fat ph\u00edch c\u1eafm \/ pin \u0111\u00e3 \u0111\u01b0\u1ee3c th\u00e1o\r\n\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:dLRDQzH05BylxF_mZgrG1D5BaL9iHQ5QA-r5nCCc3KdOPhPq9yL5zY0UH7ffwK4y59ekfNujLLiHaaCFi_J_cF_4zpB9PhAPhCKzXCtCUx_tyNiVMUporWuFWorO3pfjPzdXZitz3bllTRaJD1lD1lVvbWFhrn6C3cHo27n7nX5pWNiYyc4E7ilaFRx8v00Fj_6GW-VZ6OEs9ovyWdXvwnNCpIt0XepFEJ0tH1n65sYSE-LZUDDi0FvodHLFN2AmBIuAHRgldiCyRA3b-8g39PCzTBT5RX9uhGfPU23Z8TT0LaLSl8uEhd_8P603ysHyYhRxXTzbnGc_br3-AatP9x0nEqVgkdAC1aiPxChuDuEkE6PkdOPAPV8JsfZdTm4oqgBO9qv8Ouzvq9R91Sm4Cldemvsxtkmqr4U-Y08qZXpEKtX82uh4Po6unSsCBUD101Qbce7NmNBW2ecv6RfwvkoM_ShofETgj4zCQJAwXK9ygfWgbk8Eo_COexTJoYaxyIbF5SfQprR-6pz5j31w7_7NzCBVIfDj3gBEHMFD8F3piDL3GB9YcqkgWgevbfPAgM6LRyYkY3fe6X_fYOBgL-dJIiB0dDPIMRUFFPgueJelbGfOuZj6pprgiAEysesgP6cjCbaGyQbCljZPsm9s8a55_uRo6VGmbI7nDlu_qrQoc-AaDriW50AcU15Xj2y660MojErhF1V_L1uD_clvB4qEh1jCZ4NSM2sMTM1PrYoJkuZOhqMaPjQGHfewu-cSucbXBC0zwkcJternquB9kNDzwgGSEEkG82sy-pcoIQCsXpB-mrMPbnsgHbFnfIs6jfVDeKAvNqz5hNOT8okwZ2r--If1ESIyGM1N7EEz-CmcmfcEbCvWcGnzQjRBj4VmblPQyMOHHIwgO2cz3J65rFeCRWFs0fMlJ4xr3g1V5JARDZXXY65pwgltqtC_BeTT6NzZ51sx4Q1EFdZwBinsSKcZif1r2_LGDOLNMht8rw0c7_tnVDJslscmLhy2aWygvVdWNIM_jz5z4VLKYS2JXylw5AueLRwT4EQ5-1hIYi7kjBrGRVdybW8wKtibSxZygLA_5IQNjRvCcWsJZictfGc7o8Eo36bHZamCx13d-259bOK1dWTOspXQSteo-ic73W4lEcmJlr__0W00\" \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:XLLBQnin4BuR_1_cL9o22PJs4ag8yp249aw82psK7fJTiIsibRRIh8qf_kyTIVlGhXFYmtfNyttp-3GQNJaIbgf2mR8mMxn5meoaqSk38op6e_6892c49Gb2k9LYRKK1quY65WuT_lVdFp2TNiApsQDzMgtycWliPWN-ZKV0lmQvCC4I5-iFk63dEvaXI0V6UqcDdN_DmBZsMX5n8gL5vp0VZux3m7eObslI-UiXBjOVx2wM0XP5Fh054ghLpGQphG-CLffSPk1uSKhe22QuGtk0BrytPwVSHwCb6IlrseVnmaFHBKqSQcSi25PqXpKzFcCPNUYwaBIOdnoTlIo33zVP--ijz5aunqdCb09Ncvv-VCYQ2wbywZ5Hj9QVUUW1htXA3luJaPdrWbHP3MHyEPtm3IFuzemxxpRscoULXcKAeIB-U2fCekiRoYnCQDREK2-mzuMnXL1WIhJ2j_4f9fJGdGpCVVd1edYd5Lm2RRZZDaRbRvCVpFvQ4Fcck83cJPazJFRIek9cFUk82JZ9F25QB9N8Kh6xjxf9UiacSgIItBDUKgYPGajzH6e9q1kZLz8Mc3Ufn7zMp4b7ZWNunXsKVU1bBfJ3cHAsQ3ra2WMtrlV8Jn7zqb_GuI39GKuU7vYpS78wxF5zcHByUo8jJQNp9kS0zKJ7kwRX4oYvtf3hCnD671KwNnYIAvc5xWeDnvy7o8mcQnIKGdCFdOCeou6d8TNx-oKapOrzGv3KCfIZ5PnFD9zsFnzHVyGFR_KWhBVWPC2c3b9yV_lQQSe0Tx8rnzwSJax-O5JFHQNeNkTU3kClXsibzRQUG0ztjn4zGAMt45CUXQxui9VXjiWEt7-SrT-AzxEvBPfxucGA-SaxpSBeNV6OgYmtMG8O17hk8dHUsU9Xlg1Mb4gNgbgl-PoUmsjxmWkpyncDHrVS17mp_mS0\" 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><a href=\"https:\/\/www.vpascode.com\/#plantuml:XLLBQnin4BuR_1_cL9o22PJs4ag8yp249aw82psK7fJTiIsibRRIh8qf_kyTIVlGhXFYmtfNyttp-3GQNJaIbgf2mR8mMxn5meoaqSk38op6e_6892c49Gb2k9LYRKK1quY65WuT_lVdFp2TNiApsQDzMgtycWliPWN-ZKV0lmQvCC4I5-iFk63dEvaXI0V6UqcDdN_DmBZsMX5n8gL5vp0VZux3m7eObslI-UiXBjOVx2wM0XP5Fh054ghLpGQphG-CLffSPk1uSKhe22QuGtk0BrytPwVSHwCb6IlrseVnmaFHBKqSQcSi25PqXpKzFcCPNUYwaBIOdnoTlIo33zVP--ijz5aunqdCb09Ncvv-VCYQ2wbywZ5Hj9QVUUW1htXA3luJaPdrWbHP3MHyEPtm3IFuzemxxpRscoULXcKAeIB-U2fCekiRoYnCQDREK2-mzuMnXL1WIhJ2j_4f9fJGdGpCVVd1edYd5Lm2RRZZDaRbRvCVpFvQ4Fcck83cJPazJFRIek9cFUk82JZ9F25QB9N8Kh6xjxf9UiacSgIItBDUKgYPGajzH6e9q1kZLz8Mc3Ufn7zMp4b7ZWNunXsKVU1bBfJ3cHAsQ3ra2WMtrlV8Jn7zqb_GuI39GKuU7vYpS78wxF5zcHByUo8jJQNp9kS0zKJ7kwRX4oYvtf3hCnD671KwNnYIAvc5xWeDnvy7o8mcQnIKGdCFdOCeou6d8TNx-oKapOrzGv3KCfIZ5PnFD9zsFnzHVyGFR_KWhBVWPC2c3b9yV_lQQSe0Tx8rnzwSJax-O5JFHQNeNkTU3kClXsibzRQUG0ztjn4zGAMt45CUXQxui9VXjiWEt7-SrT-AzxEvBPfxucGA-SaxpSBeNV6OgYmtMG8O17hk8dHUsU9Xlg1Mb4gNgbgl-PoUmsjxmWkpyncDHrVS17mp_mS0\">Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/a><\/p>\n<h3>Ki\u1ebfn tr\u00fac t\u1ed5ng quan: S\u01a1 \u0111\u1ed3 th\u00e0nh ph\u1ea7n h\u1ec7 th\u1ed1ng chuy\u1ec3n ph\u00e1t<\/h3>\n<p>S\u01a1 \u0111\u1ed3 th\u00e0nh ph\u1ea7n cung c\u1ea5p c\u00e1i nh\u00ecn t\u1ed5ng quan v\u1ec1 ki\u1ebfn tr\u00fac h\u1ec7 th\u1ed1ng. V\u00ed d\u1ee5 n\u00e0y minh h\u1ecda m\u1ed9t h\u1ec7 th\u1ed1ng qu\u1ea3n l\u00fd chuy\u1ec3n ph\u00e1t, cho th\u1ea5y c\u00e1ch c\u00e1c \u1ee9ng d\u1ee5ng kh\u00e1ch, d\u1ecbch v\u1ee5 backend, h\u00e0ng \u0111\u1ee3i tin nh\u1eafn v\u00e0 c\u01a1 s\u1edf d\u1eef li\u1ec7u t\u01b0\u01a1ng t\u00e1c v\u1edbi nhau.<\/p>\n<p><img alt=\"M\u00e3 s\u01a1 \u0111\u1ed3 th\u00e0nh ph\u1ea7n PlantUML cho h\u1ec7 th\u1ed1ng chuy\u1ec3n ph\u00e1t, \u0111ang \u0111\u01b0\u1ee3c ch\u1ec9nh s\u1eeda b\u1eb1ng tr\u00ecnh bi\u00ean t\u1eadp v\u0103n b\u1ea3n sang s\u01a1 \u0111\u1ed3 VPasCode c\u1ee7a Visual Paradigm\" decoding=\"async\" src=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/vpascode-plantuml-component-diagram-courier-system.jpg\"\/><\/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:ZPR1Rjim38Rl0V8EH2xRW1Qz5-ZG9XxMRisMDXrw6H38CcCBZIL3aZDaJpzAjbDPKO3T8lAZI4e_vTmQoxHjwnqiLAi5wlN1MAoda-d42hl3mGoT7Ix9K3TAehIG2LPgvjaFS7Dpy-uoRZcTy2CwMxJ6gfhskMkQ6J03Wu7MOx3FjrIveFH7l3F7z5rH2mclc4F6J9KhfWkFUpkPNMqXldg0hypY7tRei4RqomZygGlNC-gzuEXHR-aD8pGJfc6MLoDwCAO2NZJZRqAMeu31c0fOiKFjVeHyRqlXFvGLMy6P5KgEOa97Al2NYNfsXYCuGfTe32iHdbfiyRVy-CpoNDZbqzLtjdrZdtnqptXa5FoCXQ0RPRpgqlYrNxei1RCiPmQfRsLigN7zz0ZPt9FqCvk7o5B9KcLpgk1HbURgUBJtWjIb3tqX3dB-TwK-I8jwopWQk8ALqeDY0rN2vUNdG21mJOL_MRyGJxfQA_w6TaO1Hrt-7py8ymmzSoK6PaUDbHSvJtGJ-METHExeXhl3wGsGOOEoGCa5ziSJbkBZ8vsxDihdrOAQxhivYOWBEW6IAZsXl19Skc_PV97AyougHtLYSot65JisLAgZLss-4wO2tBktR9OE2cxUXn2_5mp29oOTs8juEedkBbdAkiqDro97i0fsgf_gjg4HG5TPSez1xsw3Loqi1G-3KNM3SIOoEhHMQpUmnxJyU8hZMmpRIdYIDpgT9Cp98rWeQTeQGGQyQ_rSV3Z3vszcEWcq7pOGcyUlKpSXb7eO2QeAGOkoig2sqQm2t3DPx0XjcEQu0wxHbtlXV8qMdCx_0eW1vJyuz36sBJrJD7QkNPzndE3ammAmT6lAuRSmy4VO2dWdJkCJgSQAMlmbHAkM2a_idojBP-OIZ5zjW3jpaBoVXEiknyQtWONVV137fjDaPonm9_Qe3vkkeGslc2on62U-fGNzyVW7\" 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:ZLRDRzDA4Bz7olymoWMGNjKxKX5jWi972saJzBXL6tknLqbsZRqkoX5nwA4NggTtG0Wz_13YGwe00GTY8GwE-d_uFs5cdRORno6SRE_CRtO-VZFZwv5ceOv7GsYgE1Gyx8uZpKVrMhscXHvok9cdXw3zF3sM7ZX-FCxJfn82Fqiqh47tD87fSPx-WohPA-cZ89-ybGI_11iR6z2pZ-caNdFKA52IImsDF7s7LjqyVOEFEsZJyO40NWDO1Cquqch4myqWM8voXN7WERusvxmhJ1H1bIrivPFN29WUYpnz4iF05mRtD-_3Ramoq66U7XaJc-v8I9HGJ9Q9pSujQ3FD7xDneHQ8sMT9iOM6CAm3T1UcpquJQKLuBtGnupmy40vV2khusVyK4vP065HBH07JZhyAsFEv0ZVxLg1w8NC6GdghKGmBfbMMI8FhiF48bLR3ig-OqdwMA0ExgxHuA1ocXPAhi7Uzqqzv-bAWizzdcRaVMOcP0zwax9cQlnQWXGI9tFeevUKzrkyBlRExVeSz7B0hnimEZoBcyTsOnxp4WFGv8TCNnjJX2FQuAo83CczDvlZcQfTfrcSHXqOJoHxbwNz4lOymHCuSnj1HaVP2tjtTDbXyjhPiq8wIdcfjoSjjNnXNJpGCiX_hsqNyQEy4UsTMg9dJ1DbMNdJHHct1K8DkbB0EpJpz5tDWkibg4bXRksRn4Av2O-z6juS0f6zNEGEk6mWuRua_qp_Z_nBj1Zbf7PFMFArBmWKUbkHblfN49M8KwUduH2FjnrXLXyfpJYsJ8ziVOwJKGHIBjzTfOkIpa1OGPQyM52hvlg1bw47NtMvjDQlkkU0UQPaNa-6onwHhavkq7-3eUgE9KfzXOBZIg0PQ541O6obeXkZa_HWUnGpiqLPjOCRoUgrKp4gtfi-cJv6jI7fmaFx1MHTWVOvmpcOdZILspjh0E8dTCwngcINW-JmkTllvvU0NNQNpII9CgkTBRSTR8QaiUxrMSLoPcvx8FiHclH9zBoReSWjslwykNhrczOiTIlbuVkRDXWxctF6pIT54KccEpdqmgsY2itV9OglN01vGYOPOSCggcf6n4Fz5SYh24MuPJsG976IlQDrE4WmUSv1GE9OrBbsWkyclt_fWxqcwfErdxmFR5gczm25yjctc_sQCOvh0SFefHiGN1XeL9Zyb6I58fJikYT2iGxiBbcmdijszw4lecqurVqvKSgJdLL0q2_QTa6FrNEFDK1Nrtuy3z_pGvKDnmCFnFlwvwJZQTt1VUzoTz-mwVk1FtIy0\" \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 class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml CourierSystem\r\n\r\ntitle H\u1ec7 th\u1ed1ng chuy\u1ec3n ph\u00e1t - S\u01a1 \u0111\u1ed3 th\u00e0nh ph\u1ea7n\r\n\r\n' === Th\u00e0nh ph\u1ea7n ===\r\ncomponent \"\u1ee8ng d\u1ee5ng Kh\u00e1ch h\u00e0ng\" as CustomerApp\r\ncomponent \"\u1ee8ng d\u1ee5ng di \u0111\u1ed9ng Chuy\u1ec3n ph\u00e1t\" as CourierApp\r\ncomponent \"B\u1ea3ng \u0111i\u1ec1u khi\u1ec3n Web Qu\u1ea3n tr\u1ecb\" as AdminWeb\r\n\r\ncomponent \"API Gateway\" as ApiGateway\r\n\r\ncomponent \"D\u1ecbch v\u1ee5 \u0110\u01a1n h\u00e0ng\" as OrderService\r\ncomponent \"D\u1ecbch v\u1ee5 Ph\u00e2n ph\u1ed1i\" as DispatchService\r\ncomponent \"D\u1ecbch v\u1ee5 Theo d\u00f5i\" as TrackingService\r\ncomponent \"D\u1ecbch v\u1ee5 Thanh to\u00e1n\" as PaymentService\r\ncomponent \"D\u1ecbch v\u1ee5 Th\u00f4ng b\u00e1o\" as NotificationService\r\ncomponent \"D\u1ecbch v\u1ee5 Ng\u01b0\u1eddi d\u00f9ng\" as UserService\r\n\r\ncomponent \"H\u00e0ng \u0111\u1ee3i tin nh\u1eafnn(RabbitMQ\/Kafka)\" as MessageQueue\r\ncomponent \"B\u1ed9 nh\u1edb \u0111\u1ec7m Redis\" as RedisCache\r\n\r\ndatabase \"C\u01a1 s\u1edf d\u1eef li\u1ec7u PostgreSQL\" as SQLDB\r\ndatabase \"MongoDBn(Ghi nh\u1eadt k\u00fd\/L\u1ecbch s\u1eed theo d\u00f5i)\" as MongoLogs\r\n\r\n' === Giao di\u1ec7n \/ C\u1ed5ng ===\r\nCustomerApp --&gt; ApiGateway : \"REST \/ WebSocket\"\r\nCourierApp --&gt; ApiGateway : \"REST \/ WebSocket\"\r\nAdminWeb --&gt; ApiGateway : \"REST\"\r\n\r\nApiGateway --&gt; OrderService\r\nApiGateway --&gt; TrackingService\r\nApiGateway --&gt; PaymentService\r\nApiGateway --&gt; UserService\r\n\r\n' === Ph\u1ee5 thu\u1ed9c d\u1ecbch v\u1ee5 ===\r\nOrderService --&gt; DispatchService : \"gRPC \/ REST\"\r\nOrderService --&gt; PaymentService\r\nOrderService --&gt; NotificationService\r\nOrderService --&gt; SQLDB : \"JDBC\"\r\nOrderService --&gt; RedisCache : \"Cache\"\r\n\r\nDispatchService --&gt; MessageQueue : \"Xu\u1ea5t s\u1ef1 ki\u1ec7n\"\r\nDispatchService --&gt; CourierApp : \"G\u1eedi \u0111\u1ea9y qua API Gateway\"\r\nDispatchService --&gt; SQLDB\r\n\r\nTrackingService --&gt; MessageQueue : \"\u0110\u0103ng k\u00fd c\u1eadp nh\u1eadt v\u1ecb tr\u00ed\"\r\nTrackingService --&gt; MongoLogs : \"Ghi l\u1ecbch s\u1eed theo d\u00f5i\"\r\nTrackingService --&gt; RedisCache : \"B\u1ed9 nh\u1edb \u0111\u1ec7m v\u1ecb tr\u00ed hi\u1ec7n t\u1ea1i\"\r\n\r\nPaymentService --&gt; SQLDB\r\nPaymentService --&gt; NotificationService\r\n\r\nNotificationService --&gt; MessageQueue : \"Ti\u00eau th\u1ee5 th\u00f4ng b\u00e1o\"\r\nNotificationService --&gt; CustomerApp : \"G\u1eedi \u0111\u1ea9y qua API Gateway\"\r\n\r\nUserService --&gt; SQLDB\r\nUserService --&gt; RedisCache\r\n\r\n' === Ghi ch\u00fa ===\r\nnote b\u00ean ph\u1ea3i D\u1ecbch v\u1ee5 \u0110\u01a1n h\u00e0ng\r\n  X\u1eed l\u00fd t\u1ea1o ki\u1ec7n h\u00e0ng,\r\n  \u0111\u1ecbnh gi\u00e1 v\u00e0 tr\u1ea1ng th\u00e1i \u0111\u01a1n h\u00e0ng\r\nend note\r\n\r\nnote b\u00ean ph\u1ea3i D\u1ecbch v\u1ee5 Ph\u00e2n ph\u1ed1i\r\n  Gh\u00e9p \u0111\u01a1n h\u00e0ng v\u1edbi ng\u01b0\u1eddi chuy\u1ec3n ph\u00e1t,\r\n  t\u1ed1i \u01b0u h\u00f3a tuy\u1ebfn \u0111\u01b0\u1eddng\r\nend note\r\n\r\nnote d\u01b0\u1edbi c\u00f9ng H\u00e0ng \u0111\u1ee3i tin nh\u1eafn\r\n  S\u1ef1 ki\u1ec7n b\u1ea5t \u0111\u1ed3ng b\u1ed9: order_created,\r\n  location_updated,\r\n  delivery_status_changed\r\nend note\r\n\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:ZLRDRzDA4Bz7olymoWMGNjKxKX5jWi972saJzBXL6tknLqbsZRqkoX5nwA4NggTtG0Wz_13YGwe00GTY8GwE-d_uFs5cdRORno6SRE_CRtO-VZFZwv5ceOv7GsYgE1Gyx8uZpKVrMhscXHvok9cdXw3zF3sM7ZX-FCxJfn82Fqiqh47tD87fSPx-WohPA-cZ89-ybGI_11iR6z2pZ-caNdFKA52IImsDF7s7LjqyVOEFEsZJyO40NWDO1Cquqch4myqWM8voXN7WERusvxmhJ1H1bIrivPFN29WUYpnz4iF05mRtD-_3Ramoq66U7XaJc-v8I9HGJ9Q9pSujQ3FD7xDneHQ8sMT9iOM6CAm3T1UcpquJQKLuBtGnupmy40vV2khusVyK4vP065HBH07JZhyAsFEv0ZVxLg1w8NC6GdghKGmBfbMMI8FhiF48bLR3ig-OqdwMA0ExgxHuA1ocXPAhi7Uzqqzv-bAWizzdcRaVMOcP0zwax9cQlnQWXGI9tFeevUKzrkyBlRExVeSz7B0hnimEZoBcyTsOnxp4WFGv8TCNnjJX2FQuAo83CczDvlZcQfTfrcSHXqOJoHxbwNz4lOymHCuSnj1HaVP2tjtTDbXyjhPiq8wIdcfjoSjjNnXNJpGCiX_hsqNyQEy4UsTMg9dJ1DbMNdJHHct1K8DkbB0EpJpz5tDWkibg4bXRksRn4Av2O-z6juS0f6zNEGEk6mWuRua_qp_Z_nBj1Zbf7PFMFArBmWKUbkHblfN49M8KwUduH2FjnrXLXyfpJYsJ8ziVOwJKGHIBjzTfOkIpa1OGPQyM52hvlg1bw47NtMvjDQlkkU0UQPaNa-6onwHhavkq7-3eUgE9KfzXOBZIg0PQ541O6obeXkZa_HWUnGpiqLPjOCRoUgrKp4gtfi-cJv6jI7fmaFx1MHTWVOvmpcOdZILspjh0E8dTCwngcINW-JmkTllvvU0NNQNpII9CgkTBRSTR8QaiUxrMSLoPcvx8FiHclH9zBoReSWjslwykNhrczOiTIlbuVkRDXWxctF6pIT54KccEpdqmgsY2itV9OglN01vGYOPOSCggcf6n4Fz5SYh24MuPJsG976IlQDrE4WmUSv1GE9OrBbsWkyclt_fWxqcwfErdxmFR5gczm25yjctc_sQCOvh0SFefHiGN1XeL9Zyb6I58fJikYT2iGxiBbcmdijszw4lecqurVqvKSgJdLL0q2_QTa6FrNEFDK1Nrtuy3z_pGvKDnmCFnFlwvwJZQTt1VUzoTz-mwVk1FtIy0\" \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:ZPR1Rjim38Rl0V8EH2xRW1Qz5-ZG9XxMRisMDXrw6H38CcCBZIL3aZDaJpzAjbDPKO3T8lAZI4e_vTmQoxHjwnqiLAi5wlN1MAoda-d42hl3mGoT7Ix9K3TAehIG2LPgvjaFS7Dpy-uoRZcTy2CwMxJ6gfhskMkQ6J03Wu7MOx3FjrIveFH7l3F7z5rH2mclc4F6J9KhfWkFUpkPNMqXldg0hypY7tRei4RqomZygGlNC-gzuEXHR-aD8pGJfc6MLoDwCAO2NZJZRqAMeu31c0fOiKFjVeHyRqlXFvGLMy6P5KgEOa97Al2NYNfsXYCuGfTe32iHdbfiyRVy-CpoNDZbqzLtjdrZdtnqptXa5FoCXQ0RPRpgqlYrNxei1RCiPmQfRsLigN7zz0ZPt9FqCvk7o5B9KcLpgk1HbURgUBJtWjIb3tqX3dB-TwK-I8jwopWQk8ALqeDY0rN2vUNdG21mJOL_MRyGJxfQA_w6TaO1Hrt-7py8ymmzSoK6PaUDbHSvJtGJ-METHExeXhl3wGsGOOEoGCa5ziSJbkBZ8vsxDihdrOAQxhivYOWBEW6IAZsXl19Skc_PV97AyougHtLYSot65JisLAgZLss-4wO2tBktR9OE2cxUXn2_5mp29oOTs8juEedkBbdAkiqDro97i0fsgf_gjg4HG5TPSez1xsw3Loqi1G-3KNM3SIOoEhHMQpUmnxJyU8hZMmpRIdYIDpgT9Cp98rWeQTeQGGQyQ_rSV3Z3vszcEWcq7pOGcyUlKpSXb7eO2QeAGOkoig2sqQm2t3DPx0XjcEQu0wxHbtlXV8qMdCx_0eW1vJyuz36sBJrJD7QkNPzndE3ammAmT6lAuRSmy4VO2dWdJkCJgSQAMlmbHAkM2a_idojBP-OIZ5zjW3jpaBoVXEiknyQtWONVV137fjDaPonm9_Qe3vkkeGslc2on62U-fGNzyVW7\" 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><a href=\"https:\/\/www.vpascode.com\/#plantuml:ZPR1Rjim38Rl0V8EH2xRW1Qz5-ZG9XxMRisMDXrw6H38CcCBZIL3aZDaJpzAjbDPKO3T8lAZI4e_vTmQoxHjwnqiLAi5wlN1MAoda-d42hl3mGoT7Ix9K3TAehIG2LPgvjaFS7Dpy-uoRZcTy2CwMxJ6gfhskMkQ6J03Wu7MOx3FjrIveFH7l3F7z5rH2mclc4F6J9KhfWkFUpkPNMqXldg0hypY7tRei4RqomZygGlNC-gzuEXHR-aD8pGJfc6MLoDwCAO2NZJZRqAMeu31c0fOiKFjVeHyRqlXFvGLMy6P5KgEOa97Al2NYNfsXYCuGfTe32iHdbfiyRVy-CpoNDZbqzLtjdrZdtnqptXa5FoCXQ0RPRpgqlYrNxei1RCiPmQfRsLigN7zz0ZPt9FqCvk7o5B9KcLpgk1HbURgUBJtWjIb3tqX3dB-TwK-I8jwopWQk8ALqeDY0rN2vUNdG21mJOL_MRyGJxfQA_w6TaO1Hrt-7py8ymmzSoK6PaUDbHSvJtGJ-METHExeXhl3wGsGOOEoGCa5ziSJbkBZ8vsxDihdrOAQxhivYOWBEW6IAZsXl19Skc_PV97AyougHtLYSot65JisLAgZLss-4wO2tBktR9OE2cxUXn2_5mp29oOTs8juEedkBbdAkiqDro97i0fsgf_gjg4HG5TPSez1xsw3Loqi1G-3KNM3SIOoEhHMQpUmnxJyU8hZMmpRIdYIDpgT9Cp98rWeQTeQGGQyQ_rSV3Z3vszcEWcq7pOGcyUlKpSXb7eO2QeAGOkoig2sqQm2t3DPx0XjcEQu0wxHbtlXV8qMdCx_0eW1vJyuz36sBJrJD7QkNPzndE3ammAmT6lAuRSmy4VO2dWdJkCJgSQAMlmbHAkM2a_idojBP-OIZ5zjW3jpaBoVXEiknyQtWONVV137fjDaPonm9_Qe3vkkeGslc2on62U-fGNzyVW7\">Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/a><\/p>\n<h3>C\u01a1 s\u1edf h\u1ea1 t\u1ea7ng d\u01b0\u1edbi d\u1ea1ng m\u00e3: S\u01a1 \u0111\u1ed3 tri\u1ec3n khai<\/h3>\n<p>VPasCode c\u0169ng h\u1ed7 tr\u1ee3 s\u01a1 \u0111\u1ed3 tri\u1ec3n khai, cho ph\u00e9p c\u00e1c nh\u00f3m h\u00ecnh dung c\u01a1 s\u1edf h\u1ea1 t\u1ea7ng v\u1eadt l\u00fd. V\u00ed d\u1ee5 n\u00e0y minh h\u1ecda ki\u1ebfn tr\u00fac AWS v\u1edbi B\u1ed9 c\u00e2n b\u1eb1ng t\u1ea3i, c\u00e1c\u5b9e\u4f8b EC2 v\u00e0 c\u01a1 s\u1edf d\u1eef li\u1ec7u RDS.<\/p>\n<p><img alt=\"M\u00e3 s\u01a1 \u0111\u1ed3 tri\u1ec3n khai PlantUML cho ki\u1ebfn tr\u00fac m\u1eabu, \u0111ang \u0111\u01b0\u1ee3c ch\u1ec9nh s\u1eeda b\u1eb1ng tr\u00ecnh bi\u00ean t\u1eadp v\u0103n b\u1ea3n sang s\u01a1 \u0111\u1ed3 VPasCode c\u1ee7a Visual Paradigm\" decoding=\"async\" src=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/vpascode-plantuml-deployment-diagram-sample-architecture.jpg\"\/><\/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:ZPB1IyCm5CRlXVuF7prjXwgjwC63hEj41dEK5LGK3scJIQJBapRPGTd_Rf9sOmu42OJmtY_Vb_TU9frchJQR9WmKSO4eUogHDsGuLcIqkBgCm3hCbcKOx9778iSekJZpwpov7aVu3WEWpnQcQcIDqbHAw243M1EvPhL6jBoVBv-n8COnPGrJjMYzHRQOEdJdjYErLcwP5eESVPdfjBimoFRGNPvYhcmbLWp98GdKjFaa9PIpjUJPXxKfvdWjY2DvyxRscFJuxa_9z9-IwK4oFP8ygMZ6DAjO9quxnFVnADkmBr9OpKgC7aoZPPoz83CjjMpSjygV1-sT6uoT3-BurZKHDrY9ZfgjwA1RjbxBEWnStELTjGuWetZSKYKLAZy4gTv_KRO0ptfHRsUlvQIKgBMqZok86e-aHqWOJ8JYzZFz0000\" 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:ZP8_IyD06CRtGBx3GwTsi9g83XsaRIfIq59QK44SharCeyr5yiT1wUpWrD55gSN5GQkus80EbNwF0_qUtbrgMmL13kvUylxUzxbxtkI3aFXXvBPLXNgcXLHXfmwZxKKcQbuKMYlBAP00fKfTLRwHxQg1jBQKbMjHMysaSAOgG9BTOiCUjT7qA9gZPn6n-9BQ4mRWSiu1QOP85Nc2CpSK3JPyv6J8Xdq7bOroPLUg5ZQBegOZjfc0mU9R5-vCndT6Tw9wF9YA9EJd_TN7wmNM3HtQD0LUunvxrABy2eLg6HNEPWy3x5Kz4zg-LEQXbk2TFnhg_soeJnlgSmr_FMdUit4F0OklORBu0Ms7nUVHLCea8McGG8p99QUShfNgI1SYt_C9thi49wCNQcSIy-JNYLX7J8yF4GiBQy9Mv51j2UTjHthU7WyYiR6uJsrL4OGWXGqSDUPdrB8yBlCaGfyVFs3-H5aYLP9RvI37VCI6Ro4eYxkEPFGvHbNo5ZNvF_W5\" \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 class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nnode \"AWS Cloud Route53\" as DNS\r\n\r\nnode \"VPC (10.0.0.0\/16)\" {\r\n  node \"M\u1ea1ng con c\u00f4ng c\u1ed9ng\" {\r\n    artifact \"B\u1ed9 c\u00e2n b\u1eb1ng t\u1ea3i NGINX\" as ALB\r\n  }\r\n  \r\n  node \"C\u1ee5m m\u1ea1ng con ri\u00eang t\u01b0\" {\r\n    node \"\u5b9e\u4f8b EC2 1\" {\r\n      component \"API Node.js [Pod 1]\" as Pod1\r\n    }\r\n    node \"\u5b9e\u4f8b EC2 2\" {\r\n      component \"API Node.js [Pod 2]\" as Pod2\r\n    }\r\n  }\r\n  \r\n  node \"M\u1ea1ng con c\u01a1 s\u1edf d\u1eef li\u1ec7u\" {\r\n    database \"Amazon RDS (Aurora \u0111a v\u00f9ng)\" as Aurora\r\n  }\r\n}\r\n\r\nDNS --&gt; ALB : Ph\u00e2n gi\u1ea3i l\u01b0u l\u01b0\u1ee3ng\r\nALB --&gt; Pod1 : C\u00e2n b\u1eb1ng theo v\u00f2ng tr\u00f2n\r\nALB --&gt; Pod2\r\nPod1 --&gt; Aurora : B\u1ed9 k\u1ebft n\u1ed1i\r\nPod2 --&gt; Aurora\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:ZP8_IyD06CRtGBx3GwTsi9g83XsaRIfIq59QK44SharCeyr5yiT1wUpWrD55gSN5GQkus80EbNwF0_qUtbrgMmL13kvUylxUzxbxtkI3aFXXvBPLXNgcXLHXfmwZxKKcQbuKMYlBAP00fKfTLRwHxQg1jBQKbMjHMysaSAOgG9BTOiCUjT7qA9gZPn6n-9BQ4mRWSiu1QOP85Nc2CpSK3JPyv6J8Xdq7bOroPLUg5ZQBegOZjfc0mU9R5-vCndT6Tw9wF9YA9EJd_TN7wmNM3HtQD0LUunvxrABy2eLg6HNEPWy3x5Kz4zg-LEQXbk2TFnhg_soeJnlgSmr_FMdUit4F0OklORBu0Ms7nUVHLCea8McGG8p99QUShfNgI1SYt_C9thi49wCNQcSIy-JNYLX7J8yF4GiBQy9Mv51j2UTjHthU7WyYiR6uJsrL4OGWXGqSDUPdrB8yBlCaGfyVFs3-H5aYLP9RvI37VCI6Ro4eYxkEPFGvHbNo5ZNvF_W5\" \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:ZPB1IyCm5CRlXVuF7prjXwgjwC63hEj41dEK5LGK3scJIQJBapRPGTd_Rf9sOmu42OJmtY_Vb_TU9frchJQR9WmKSO4eUogHDsGuLcIqkBgCm3hCbcKOx9778iSekJZpwpov7aVu3WEWpnQcQcIDqbHAw243M1EvPhL6jBoVBv-n8COnPGrJjMYzHRQOEdJdjYErLcwP5eESVPdfjBimoFRGNPvYhcmbLWp98GdKjFaa9PIpjUJPXxKfvdWjY2DvyxRscFJuxa_9z9-IwK4oFP8ygMZ6DAjO9quxnFVnADkmBr9OpKgC7aoZPPoz83CjjMpSjygV1-sT6uoT3-BurZKHDrY9ZfgjwA1RjbxBEWnStELTjGuWetZSKYKLAZy4gTv_KRO0ptfHRsUlvQIKgBMqZok86e-aHqWOJ8JYzZFz0000\" 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><a href=\"https:\/\/www.vpascode.com\/#plantuml:ZPB1IyCm5CRlXVuF7prjXwgjwC63hEj41dEK5LGK3scJIQJBapRPGTd_Rf9sOmu42OJmtY_Vb_TU9frchJQR9WmKSO4eUogHDsGuLcIqkBgCm3hCbcKOx9778iSekJZpwpov7aVu3WEWpnQcQcIDqbHAw243M1EvPhL6jBoVBv-n8COnPGrJjMYzHRQOEdJdjYErLcwP5eESVPdfjBimoFRGNPvYhcmbLWp98GdKjFaa9PIpjUJPXxKfvdWjY2DvyxRscFJuxa_9z9-IwK4oFP8ygMZ6DAjO9quxnFVnADkmBr9OpKgC7aoZPPoz83CjjMpSjygV1-sT6uoT3-BurZKHDrY9ZfgjwA1RjbxBEWnStELTjGuWetZSKYKLAZy4gTv_KRO0ptfHRsUlvQIKgBMqZok86e-aHqWOJ8JYzZFz0000\">Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/a><\/p>\n<h3>Ki\u1ebfn tr\u00fac doanh nghi\u1ec7p: H\u1ed7 tr\u1ee3 ArchiMate<\/h3>\n<p>\u0110\u1ed1i v\u1edbi c\u00e1c ki\u1ebfn tr\u00fac s\u01b0 doanh nghi\u1ec7p, VPasCode h\u1ed7 tr\u1ee3 k\u00fd hi\u1ec7u ArchiMate, cho ph\u00e9p m\u00f4 h\u00ecnh h\u00f3a c\u00e1c l\u1edbp kinh doanh, \u1ee9ng d\u1ee5ng v\u00e0 c\u00f4ng ngh\u1ec7. V\u00ed d\u1ee5 n\u00e0y minh h\u1ecda s\u1ef1 t\u01b0\u01a1ng t\u00e1c gi\u1eefa c\u00e1c quy tr\u00ecnh kinh doanh v\u00e0 c\u00e1c d\u1ecbch v\u1ee5 c\u00f4ng ngh\u1ec7 n\u1ec1n t\u1ea3ng trong ng\u1eef tr\u00ecnh tr\u00ecnh duy\u1ec7t internet.<\/p>\n<p><img alt=\"M\u00e3 s\u01a1 \u0111\u1ed3 ArchiMate PlantUML cho tr\u00ecnh duy\u1ec7t Internet, \u0111ang \u0111\u01b0\u1ee3c ch\u1ec9nh s\u1eeda b\u1eb1ng tr\u00ecnh bi\u00ean t\u1eadp tr\u1ef1c ti\u1ebfp v\u0103n b\u1ea3n sang s\u01a1 \u0111\u1ed3 VPasCode c\u1ee7a Visual Paradigm\" decoding=\"async\" src=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/vpascode-plantuml-archimate-diagram-internet-browser.jpg\"\/><\/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:bLLTZvf057qduJ_S-j35nCO_q3IBkwjhQgiHDficJSY8LvmDp91XqDYc_trdO00HjEqJCoVtdFinvuRxJ18XyoI6EPCe64gO27xCK817aZH6s_f0MHZdMuJFH8HxcX29OxSwVR4jsv9KnWWrPfZmgQEfW-yMxe_bYn-uNk1zVV8VdfrX0owUfdwmdi-U_NFKNww2n-NhTutPrapmFAKiSZPvHXbcsGW64tCS37_R5a1r3PQRDmnb7LbULRnRXq293OOjtahmK7sTZ2TOWGOR3Jm5Ddm3NmXuA0uqH8TABqzJBgG1LEwv3mQ37HUDaEEcQKn38YbdOCA7MlPFgslIHEb6cflf_Gm97eaaPWJR-gXOhxY15OaGT03yP72dKiezmYu-tPMTdCjCSnRgWtF4JQfe4zoJ0-MvC58QWqq5TlaFF4avGoOTL-aSSAKiftYw0jr2WO46WU-ACewLQ4zfxMb83FUCnpmwAIM_lfXPD43W2abtH0s2ic-OS76QIqn60yeWAQumRcM2lKpYyHiva2mKD3N-EDEh7zXOt3XSl-_b8isGeQ0XV8HLd4UK_QjM6QqK2yDrPFyYfcQeZqL9XO0UQbOWzHXjQurnC8tvCLZWJlRQ7JhBe-cQLsHYKV2IzjYyLwgXfXXI4jDVfK6KGjTQFQjJqOkArpJQjttTOy_h2S-9Lrjqiun6B57MBGVKuz__Ijeo7xHsiYAjyGQZRt-kP2l7qw9tlThtb9T1jngyIgkyUuFiHf70g5tiHUfh2r5BXDfNnZwLsziJwwkr5Tmt4jkwHxPLVyLt\" 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:bLLDQzj04BqR_1-cEJGEfEGFb1BbsoIfZQqGUXBhzKRQLDfLLYi7j_ISGqyvb19AeQ6K55fe2pr5HvV-3_sJZgmFMx4KqfDNi_FUpBnzWzS3JPGEFHVQGZCbc8OD9Sy3fg1FFDzbpSOZBgWR3Xay9Oewt2EQhHdvwLcpqMnehbq6X_7jjn2A6tW2fffy5muCmt4SNUYYGW9PFZ1UT8vCo-XR_VrjStEljJ8B7cplc5QllRjdpaVDJjVQwXm_JsBDngwIeS-5tHg40HSi25PXQPydrIGHpjBAwsO3O2Exipg3KqPraPj-8k8mZguq_BcCeqiE-k_FEFeiR7WvnrEYwIf9yRSLI8_bmIoscd6TXMFGwTorD7scHfoo5jVzqFUbqba06zgBe_U8npwWRG9r9Co6WjPM7Bsb3epYw0l4qLTiTOX7OQya1TwKP26-xt9AD9S2QUUJCssCMOArHJJ991eMHuHXlH_WSdoz49iYI77E1Y1WMJjCWdRYw2C7cnCnFV-Yo-cWyzGxeQ39eOL8dzXiWpban6Meac4ddt2g4PznB-8tfUTBmOHk6SWpObsqwp4RT94A6RfEV7iZm97nxNNwZbT8HEFeXZoyuR9mcb57I5VQO-JVdFn63c5ZyaMccrdSMuRI_8IWQ5mSCa-gSLipRtL9AucW0VO20e4VOAs-FZZQSzTEoOW4L75VfmBCrIYyaYrFjftOMyrsWHb7xx3-MJX1IHv3rmrjBXxAcsONcv5-veQ-MwgM54LFZjCsKo9lSZr6E-F3vCyyLRtPw37Nsd7bkNN0JdJbOi72rYRm13Sj9sphoAzOfKgg6THdb1ENlqfTXWoB_gnOpnm-xRZ7RQUyC1KUhoyu3wmTqGW2RWiF_PyALB44_rMqv5GeBNiEwh5x45LBM5CjbQS4NpHnrLFUJRflm5fORkHxm8PjAsQNcxrJkcux2WgQ-2gpJsxvic9LlPQIgoHfDjQP6EBVyZy0\" \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 class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml Internet Browser Sample\r\n!include &lt;archimate\/Archimate&gt;\r\n\r\ntitle M\u1eabu Archimate - Tr\u00ecnh duy\u1ec7t Internet\r\n\r\n'LAYOUT_AS_SKETCH()\r\n'LAYOUT_LEFT_RIGHT()\r\n'LAYOUT_TOP_DOWN()\r\n\r\nGrouping(business, \"Kinh doanh\"){\r\n  Business_Object(businessObject, \"M\u1ed9t \u0111\u1ed1i t\u01b0\u1ee3ng kinh doanh\")\r\n  Business_Process(someBusinessProcess,\"M\u1ed9t quy tr\u00ecnh kinh doanh\")\r\n  Business_Service(itSupportService, \"H\u1ed7 tr\u1ee3 IT cho Kinh doanh (D\u1ecbch v\u1ee5 \u1ee8ng d\u1ee5ng)\")\r\n}\r\n\r\nGrouping(application, \"\u1ee8ng d\u1ee5ng\"){\r\n  Application_DataObject(dataObject, \"D\u1eef li\u1ec7u trang web n 'theo th\u1eddi gian th\u1ef1c'\")\r\n  Application_Function(webpageBehaviour, \"H\u00e0nh vi trang web\")\r\n  Application_Component(ActivePartWebPage, \"Ph\u1ea7n ho\u1ea1t \u0111\u1ed9ng c\u1ee7a trang web n 'theo th\u1eddi gian th\u1ef1c'\")\r\n}\r\n\r\nGrouping(technology, \"C\u00f4ng ngh\u1ec7\"){\r\n  Technology_Artifact(inMemoryItem,\"trong b\u1ed9 nh\u1edb \/ 'theo th\u1eddi gian th\u1ef1c' html\/javascript\")\r\n  Technology_Service(internetBrowser, \"Tr\u00ecnh duy\u1ec7t Internet T\u1ed5ng qu\u00e1t &amp; Plugin\")\r\n  Technology_Service(internetBrowserPlugin, \"M\u1ed9t Plugin tr\u00ecnh duy\u1ec7t Internet\")\r\n  Technology_Service(webServer, \"M\u1ed9t m\u00e1y ch\u1ee7 web\")\r\n}\r\n\r\n\r\nRel_Flow_Left(someBusinessProcess, businessObject, \"\")\r\nRel_Serving_Up(itSupportService, someBusinessProcess, \"\")\r\nRel_Specialization_Up(webpageBehaviour, itSupportService, \"\")\r\nRel_Flow_Right(dataObject, webpageBehaviour, \"\")\r\nRel_Specialization_Up(dataObject, businessObject, \"\")\r\nRel_Assignment_Left(ActivePartWebPage, webpageBehaviour, \"\")\r\nRel_Specialization_Up(inMemoryItem, dataObject, \"\")\r\nRel_Realization_Up(inMemoryItem, ActivePartWebPage, \"\")\r\nRel_Specialization_Right(inMemoryItem,internetBrowser, \"\")\r\nRel_Serving_Up(internetBrowser, webpageBehaviour, \"\")\r\nRel_Serving_Up(internetBrowserPlugin, webpageBehaviour, \"\")\r\nRel_Aggregation_Right(internetBrowser, internetBrowserPlugin, \"\")\r\nRel_Access_Up(webServer, inMemoryItem, \"\")\r\nRel_Serving_Up(webServer, internetBrowser, \"\")\r\n\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:bLLDQzj04BqR_1-cEJGEfEGFb1BbsoIfZQqGUXBhzKRQLDfLLYi7j_ISGqyvb19AeQ6K55fe2pr5HvV-3_sJZgmFMx4KqfDNi_FUpBnzWzS3JPGEFHVQGZCbc8OD9Sy3fg1FFDzbpSOZBgWR3Xay9Oewt2EQhHdvwLcpqMnehbq6X_7jjn2A6tW2fffy5muCmt4SNUYYGW9PFZ1UT8vCo-XR_VrjStEljJ8B7cplc5QllRjdpaVDJjVQwXm_JsBDngwIeS-5tHg40HSi25PXQPydrIGHpjBAwsO3O2Exipg3KqPraPj-8k8mZguq_BcCeqiE-k_FEFeiR7WvnrEYwIf9yRSLI8_bmIoscd6TXMFGwTorD7scHfoo5jVzqFUbqba06zgBe_U8npwWRG9r9Co6WjPM7Bsb3epYw0l4qLTiTOX7OQya1TwKP26-xt9AD9S2QUUJCssCMOArHJJ991eMHuHXlH_WSdoz49iYI77E1Y1WMJjCWdRYw2C7cnCnFV-Yo-cWyzGxeQ39eOL8dzXiWpban6Meac4ddt2g4PznB-8tfUTBmOHk6SWpObsqwp4RT94A6RfEV7iZm97nxNNwZbT8HEFeXZoyuR9mcb57I5VQO-JVdFn63c5ZyaMccrdSMuRI_8IWQ5mSCa-gSLipRtL9AucW0VO20e4VOAs-FZZQSzTEoOW4L75VfmBCrIYyaYrFjftOMyrsWHb7xx3-MJX1IHv3rmrjBXxAcsONcv5-veQ-MwgM54LFZjCsKo9lSZr6E-F3vCyyLRtPw37Nsd7bkNN0JdJbOi72rYRm13Sj9sphoAzOfKgg6THdb1ENlqfTXWoB_gnOpnm-xRZ7RQUyC1KUhoyu3wmTqGW2RWiF_PyALB44_rMqv5GeBNiEwh5x45LBM5CjbQS4NpHnrLFUJRflm5fORkHxm8PjAsQNcxrJkcux2WgQ-2gpJsxvic9LlPQIgoHfDjQP6EBVyZy0\" \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:bLLTZvf057qduJ_S-j35nCO_q3IBkwjhQgiHDficJSY8LvmDp91XqDYc_trdO00HjEqJCoVtdFinvuRxJ18XyoI6EPCe64gO27xCK817aZH6s_f0MHZdMuJFH8HxcX29OxSwVR4jsv9KnWWrPfZmgQEfW-yMxe_bYn-uNk1zVV8VdfrX0owUfdwmdi-U_NFKNww2n-NhTutPrapmFAKiSZPvHXbcsGW64tCS37_R5a1r3PQRDmnb7LbULRnRXq293OOjtahmK7sTZ2TOWGOR3Jm5Ddm3NmXuA0uqH8TABqzJBgG1LEwv3mQ37HUDaEEcQKn38YbdOCA7MlPFgslIHEb6cflf_Gm97eaaPWJR-gXOhxY15OaGT03yP72dKiezmYu-tPMTdCjCSnRgWtF4JQfe4zoJ0-MvC58QWqq5TlaFF4avGoOTL-aSSAKiftYw0jr2WO46WU-ACewLQ4zfxMb83FUCnpmwAIM_lfXPD43W2abtH0s2ic-OS76QIqn60yeWAQumRcM2lKpYyHiva2mKD3N-EDEh7zXOt3XSl-_b8isGeQ0XV8HLd4UK_QjM6QqK2yDrPFyYfcQeZqL9XO0UQbOWzHXjQurnC8tvCLZWJlRQ7JhBe-cQLsHYKV2IzjYyLwgXfXXI4jDVfK6KGjTQFQjJqOkArpJQjttTOy_h2S-9Lrjqiun6B57MBGVKuz__Ijeo7xHsiYAjyGQZRt-kP2l7qw9tlThtb9T1jngyIgkyUuFiHf70g5tiHUfh2r5BXDfNnZwLsziJwwkr5Tmt4jkwHxPLVyLt\" 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><a href=\"https:\/\/www.vpascode.com\/#plantuml:bLLTZvf057qduJ_S-j35nCO_q3IBkwjhQgiHDficJSY8LvmDp91XqDYc_trdO00HjEqJCoVtdFinvuRxJ18XyoI6EPCe64gO27xCK817aZH6s_f0MHZdMuJFH8HxcX29OxSwVR4jsv9KnWWrPfZmgQEfW-yMxe_bYn-uNk1zVV8VdfrX0owUfdwmdi-U_NFKNww2n-NhTutPrapmFAKiSZPvHXbcsGW64tCS37_R5a1r3PQRDmnb7LbULRnRXq293OOjtahmK7sTZ2TOWGOR3Jm5Ddm3NmXuA0uqH8TABqzJBgG1LEwv3mQ37HUDaEEcQKn38YbdOCA7MlPFgslIHEb6cflf_Gm97eaaPWJR-gXOhxY15OaGT03yP72dKiezmYu-tPMTdCjCSnRgWtF4JQfe4zoJ0-MvC58QWqq5TlaFF4avGoOTL-aSSAKiftYw0jr2WO46WU-ACewLQ4zfxMb83FUCnpmwAIM_lfXPD43W2abtH0s2ic-OS76QIqn60yeWAQumRcM2lKpYyHiva2mKD3N-EDEh7zXOt3XSl-_b8isGeQ0XV8HLd4UK_QjM6QqK2yDrPFyYfcQeZqL9XO0UQbOWzHXjQurnC8tvCLZWJlRQ7JhBe-cQLsHYKV2IzjYyLwgXfXXI4jDVfK6KGjTQFQjJqOkArpJQjttTOy_h2S-9Lrjqiun6B57MBGVKuz__Ijeo7xHsiYAjyGQZRt-kP2l7qw9tlThtb9T1jngyIgkyUuFiHf70g5tiHUfh2r5BXDfNnZwLsziJwwkr5Tmt4jkwHxPLVyLt\">Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/a><\/p>\n<h3>M\u00f4 h\u00ecnh h\u00f3a d\u1eef li\u1ec7u: S\u01a1 \u0111\u1ed3 ERD v\u00e9 xem phim<\/h3>\n<p>S\u01a1 \u0111\u1ed3 quan h\u1ec7 th\u1ef1c th\u1ec3 (ERD) l\u00e0 y\u1ebfu t\u1ed1 quan tr\u1ecdng cho thi\u1ebft k\u1ebf c\u01a1 s\u1edf d\u1eef li\u1ec7u. VPasCode h\u1ed7 tr\u1ee3 c\u1ea3 k\u00fd hi\u1ec7u ERD chu\u1ea9n v\u00e0 Chen ERD. V\u00ed d\u1ee5 n\u00e0y m\u00f4 h\u00ecnh h\u00f3a h\u1ec7 th\u1ed1ng v\u00e9 xem phim, \u0111\u1ecbnh ngh\u0129a c\u00e1c th\u1ef1c th\u1ec3 nh\u01b0<code data-backticks=\"1\">Kh\u00e1ch h\u00e0ng<\/code>,\u00a0<code data-backticks=\"1\">Phim<\/code>,\u00a0<code data-backticks=\"1\">Bu\u1ed5i chi\u1ebfu<\/code>, v\u00e0 <code data-backticks=\"1\">\u0110\u1eb7t ch\u1ed7<\/code>.<\/p>\n<p><img alt=\"M\u00e3 s\u01a1 \u0111\u1ed3 quan h\u1ec7 th\u1ef1c th\u1ec3 (ERD) PlantUML cho h\u1ec7 th\u1ed1ng v\u00e9 xem phim, \u0111ang \u0111\u01b0\u1ee3c ch\u1ec9nh s\u1eeda b\u1eb1ng tr\u00ecnh bi\u00ean t\u1eadp v\u0103n b\u1ea3n sang s\u01a1 \u0111\u1ed3 VPasCode c\u1ee7a Visual Paradigm\" decoding=\"async\" src=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/vpascode-plantuml-entity-relaiotnship-diagram-erd-cinema-ticket-system.jpg\"\/><\/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:dLR1Rk8m4BqZyGyMbrqgaDgkzeAggYc4RdOXe01LRv593B6Qs97jj49b_trjnma99AsqDpjlF9utRsQS1ouW4raITplT3Y82YmFeZJCkQ89O3q0E0hC17zqE05VbtiSX687Dnfc0kti53OUvmGupBdm24oJnPyiR_xAyxp-l-paQmqz0b40SLu2Rw-k-yNu5qeYIwgdRqYKzm5WS_9HY8hYqSDnrZZ2qnrmmA30bVWY5EhvsvlPgRSsNtSxVAkavVSD8CqxKgg2hDwrSvT6u7bCHL8Xum72gRbQNsYycf30puIIOP0BLmjqZmXhpmb2C84S5XOcrjWqWVP5zBMFzCrxh2CbJkPOYNnVSpBQTdS7FvBefIGegOEnpQLNZeJxuCJpGJCZFlrSBzoocLKJVTK1SBeferBerb6OPsYaOTm8dPvhhCYDX2n93ii_Wlb44dcqBkHyNYvbjkQOk6GwGBqijYo5JwjXZPsxDP9e6j_sgoHjEB-5wNYIPF2zoKUP5PVChYIxvCqa_Xbka-YclpNx57ycIBM8Neeb3sjXYcFim213dU5jFG2tyHqfVPJbg1jjyNP0msrOUhLEbfIvE7fk5p2iJ9ZGZebaJEVX4nfl8fl2GI4f-WaH4muh5ZxBk6IGS1hgFSNZH6ar9AQKjugvAt92Tk-cVmVBF_Nrp3LJHqomANf7mTQqrKmun3rH2V9YcCKRX5zMupFEWepOvAG8kKjGcPvlSL-0pIGglbvEwYdujt5wUVuU79kKC9DjrXnWYmUNmhgN0GtBivAEAwMMHW7ptF-NSDidAKLvsP40JdVFgys7kRNdBlW4FnVfvuH5EURTJFjx7ut18Fygk785U6aFPqBrk9t_kZ84Uo1BbGOJ2B9Or0fLDyN2SMKMK2mNh_UKLaJvRV53uyQDU_z8ee4H0JBGRzQdkfZI3SlRiYOn7q7EVnx8woplFUHln9FxEiBYaVS8P2X1-qnRT3g4opGpl8m7ehi9ifKjm19QsEt7Sfm4OBzofuytjYLnQxjYUpTJIVbawdZqnVcAqqsuCetBUZe1dFsrcbZS0pyvI-TeiP_Rg_FOJnteZLA9ORSPZUxKQWAdbw00yUxfn9og2RkT1ldhoF-yV\" 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:dLRFQzn65BulxFym-DAkMOEJqai89klDDhkrBI-E4joJc9N6qX1fHjMC71OxaD93ARaqaD9B2p4jXPQK5WejhA0zAEJ_q7_IDzgHBAsa67fPTkQzUVDzt_inkYSaZcGS-FrUlqUOf7A9jWwyzChsa9U-PkuMmWBPiP0y816wwFSGsYxN5dNG7VJeqUm-khkdJ3ixQuSp6WbfCHmGi3yUdOodevCFFzuThAq-Ve-H19Zw5SEjtTs1ZhwDGe-pwgdRPKY-nBvSMY6dJ0hmc1dcsX8HbmePOKavinmirN5pTZHvQ8wEvltUiohnkKU3d730poafsEQBJgfmqgz3AZ0vHDWH3TN5wix9gKRan1fDG5aiIGsjIrZKAaj4V885AHZS7vaJRO1OpAq9DjYWTPAjha9aUpHR_Hld_AH784wPJxtivgZj6pcxLLALN6BV4k1LOwCsB1ylUInX-zE7nyO6ilquIxwbDMZ2uqyBNEf_9wZsj7IJqU4a3JPA8AywvdHOVCpS6BkjIH7neaZ__l7nuMHaw3ADg4qigBpOnv7ArcGyEneTWc33suEgopaDc-QQGWyyK6Oj3D0gXL72tfIjfW0HyFVnWgZ-MXVhe1AFnS62H8tyoMNOsd9KMDYsYH1qKLUWXl_jDzdgRmaPpfBlSXeBpf-eWjLCzBAJJEUewQYEwuZjwLnNAWvup6HxPc0YobYqCGxnCW1ULa2anvsAnqTb7qIO2MpdtKsTHgiqCmidE8ZnzcMxIbOrwIrItVtaO3W_sDjhhuggzNfSsK-8jFBoQ-VlK64hTImSXZubpWq5QdgOUI1hUiLov5ga0dIXMLT-k_A_ZTwNeo9gSvvNhJTdqeNpJ_6oBPNQ15ryHYB2xEQCtwXp4C13BaslSXaY0jEf76JhrVyfygufLuxzibbj7kJ2LvyQVM_7i_S1EigIbnHz7cE6eFI-wfKF_UNbpWw_A9lr3X3CItIhtrk_ZTeXdzQvzTqVMVAZZVpqLuRyB7a17n2sny6_U6isJaYO_7d1_sA3KxxRlDHE_mHZiQ7ibnVrtb1EAWXMGTH6FKZfL09Ktb-hXajUi09YxOBBieHB09kowEI2_LmzN0rLhkqCclmtXehRjvJiZ4Cs8kfw4l6p2bipWdSQ_adu_A9gG6V9z-WqIzwWm_I78O8A-nATfb-CaJ7DLcyClGDUFtzM_b_zOwhVruQ-nYTd-IrQXdAWmstJTx_31SQ38Neycm_HE5lzDLTXNiqs8LxhKU-i9aPpcZutfcYSlb9nJK3oauds0S-iG7WC3b28MVBSK5hSWuSNlZx_0m00\" \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 class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n\r\nentity \"Kh\u00e1ch h\u00e0ng\" as customer {\r\n  * customer_id : UUID &lt;&gt;\r\n  --\r\n  * first_name : VARCHAR(50)\r\n  * last_name : VARCHAR(50)\r\n  * email : VARCHAR(100) &lt;&gt;\r\n  * phone : VARCHAR(20)\r\n  * loyalty_points : INT\r\n  * registration_date : TIMESTAMP\r\n}\r\n\r\nentity \"Phim\" as movie {\r\n  * movie_id : UUID &lt;&gt;\r\n  --\r\n  * title : VARCHAR(200)\r\n  * description : TEXT\r\n  * duration_minutes : INT\r\n  * genre : VARCHAR(50)\r\n  * release_date : DATE\r\n  * rating : VARCHAR(10)\r\n}\r\n\r\nentity \"R\u1ea1p chi\u1ebfu\" as theater {\r\n  * theater_id : UUID &lt;&gt;\r\n  --\r\n  * theater_name : VARCHAR(100)\r\n  * total_seats : INT\r\n  * seat_layout : JSON\r\n}\r\n\r\nentity \"Bu\u1ed5i chi\u1ebfu\" as show {\r\n  * show_id : UUID &lt;&gt;\r\n  --\r\n  * movie_id : UUID &lt;&gt;\r\n  * theater_id : UUID &lt;&gt;\r\n  * show_time : TIMESTAMP\r\n  * end_time : TIMESTAMP\r\n  * language : VARCHAR(50)\r\n  * subtitle : BOOLEAN\r\n  * price_regular : DECIMAL(10,2)\r\n  * price_vip : DECIMAL(10,2)\r\n}\r\n\r\nentity \"Gh\u1ebf\" as seat {\r\n  * seat_id : UUID &lt;&gt;\r\n  --\r\n  * theater_id : UUID &lt;&gt;\r\n  * row_label : CHAR(2)\r\n  * seat_number : INT\r\n  * seat_type : VARCHAR(20)\r\n  * is_accessible : BOOLEAN\r\n}\r\n\r\nentity \"\u0110\u1eb7t ch\u1ed7\" as booking {\r\n  * booking_id : UUID &lt;&gt;\r\n  --\r\n  * customer_id : UUID &lt;&gt;\r\n  * show_id : UUID &lt;&gt;\r\n  * booking_time : TIMESTAMP\r\n  * total_amount : DECIMAL(10,2)\r\n  * status : VARCHAR(20)\r\n  * payment_method : VARCHAR(30)\r\n  * transaction_id : VARCHAR(100)\r\n}\r\n\r\nentity \"Gh\u1ebf trong \u0111\u1eb7t ch\u1ed7\" as booking_seat {\r\n  * booking_id : UUID &lt;&lt;FK,PK&gt;&gt;\r\n  * seat_id : UUID &lt;&lt;FK,PK&gt;&gt;\r\n  --\r\n  * ticket_price : DECIMAL(10,2)\r\n  * discount_applied : DECIMAL(10,2)\r\n}\r\n\r\nentity \"Thanh to\u00e1n\" as payment {\r\n  * payment_id : UUID &lt;&gt;\r\n  --\r\n  * booking_id : UUID &lt;&gt;\r\n  * amount : DECIMAL(10,2)\r\n  * payment_date : TIMESTAMP\r\n  * payment_status : VARCHAR(20)\r\n  * payment_gateway : VARCHAR(30)\r\n  * gateway_reference : VARCHAR(200)\r\n}\r\n\r\nentity \"\u0110\u00e1nh gi\u00e1\" as review {\r\n  * review_id : UUID &lt;&gt;\r\n  --\r\n  * customer_id : UUID &lt;&gt;\r\n  * movie_id : UUID &lt;&gt;\r\n  * rating : INT\r\n  * comment : TEXT\r\n  * review_date : TIMESTAMP\r\n}\r\n\r\n' M\u1ed1i quan h\u1ec7\ncustomer ||--o{ booking : \"\u0111\u1eb7t\"\r\nmovie ||--o{ show : \"\u0111\u01b0\u1ee3c l\u00ean l\u1ecbch cho\"\r\ntheater ||--o{ show : \"t\u1ed5 ch\u1ee9c\"\r\nshow ||--o{ booking : \"c\u00f3\"\r\nbooking ||--|{ booking_seat : \"ch\u1ee9a\"\r\nseat ||--o{ booking_seat : \"\u0111\u01b0\u1ee3c ch\u1ec9 \u0111\u1ecbnh cho\"\r\nbooking ||--|| payment : \"c\u00f3\"\r\ncustomer ||--o{ review : \"vi\u1ebft\"\r\nmovie ||--o{ review : \"nh\u1eadn \u0111\u01b0\u1ee3c\"\r\n\r\nnote right of booking : Tr\u1ea1ng th\u00e1i: CH\u1edc X\u1eec L\u00dd, \u0110\u00c3 X\u00c1C NH\u1eacN, \u0110\u00c3 H\u1ee6Y, \u0110\u00c3 H\u1ebeT H\u1ea0N\r\nnote left of seat : seat_type: TH\u01af\u1edcNG, VIP, C\u1eb6P \u0110\u00d4I\r\nnote right of payment : payment_status: CH\u1edc X\u1eec L\u00dd, TH\u00c0NH C\u00d4NG, TH\u1ea4T B\u1ea0I, \u0110\u00c3 HO\u00c0N TI\u1ec0N\r\n\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:dLRFQzn65BulxFym-DAkMOEJqai89klDDhkrBI-E4joJc9N6qX1fHjMC71OxaD93ARaqaD9B2p4jXPQK5WejhA0zAEJ_q7_IDzgHBAsa67fPTkQzUVDzt_inkYSaZcGS-FrUlqUOf7A9jWwyzChsa9U-PkuMmWBPiP0y816wwFSGsYxN5dNG7VJeqUm-khkdJ3ixQuSp6WbfCHmGi3yUdOodevCFFzuThAq-Ve-H19Zw5SEjtTs1ZhwDGe-pwgdRPKY-nBvSMY6dJ0hmc1dcsX8HbmePOKavinmirN5pTZHvQ8wEvltUiohnkKU3d730poafsEQBJgfmqgz3AZ0vHDWH3TN5wix9gKRan1fDG5aiIGsjIrZKAaj4V885AHZS7vaJRO1OpAq9DjYWTPAjha9aUpHR_Hld_AH784wPJxtivgZj6pcxLLALN6BV4k1LOwCsB1ylUInX-zE7nyO6ilquIxwbDMZ2uqyBNEf_9wZsj7IJqU4a3JPA8AywvdHOVCpS6BkjIH7neaZ__l7nuMHaw3ADg4qigBpOnv7ArcGyEneTWc33suEgopaDc-QQGWyyK6Oj3D0gXL72tfIjfW0HyFVnWgZ-MXVhe1AFnS62H8tyoMNOsd9KMDYsYH1qKLUWXl_jDzdgRmaPpfBlSXeBpf-eWjLCzBAJJEUewQYEwuZjwLnNAWvup6HxPc0YobYqCGxnCW1ULa2anvsAnqTb7qIO2MpdtKsTHgiqCmidE8ZnzcMxIbOrwIrItVtaO3W_sDjhhuggzNfSsK-8jFBoQ-VlK64hTImSXZubpWq5QdgOUI1hUiLov5ga0dIXMLT-k_A_ZTwNeo9gSvvNhJTdqeNpJ_6oBPNQ15ryHYB2xEQCtwXp4C13BaslSXaY0jEf76JhrVyfygufLuxzibbj7kJ2LvyQVM_7i_S1EigIbnHz7cE6eFI-wfKF_UNbpWw_A9lr3X3CItIhtrk_ZTeXdzQvzTqVMVAZZVpqLuRyB7a17n2sny6_U6isJaYO_7d1_sA3KxxRlDHE_mHZiQ7ibnVrtb1EAWXMGTH6FKZfL09Ktb-hXajUi09YxOBBieHB09kowEI2_LmzN0rLhkqCclmtXehRjvJiZ4Cs8kfw4l6p2bipWdSQ_adu_A9gG6V9z-WqIzwWm_I78O8A-nATfb-CaJ7DLcyClGDUFtzM_b_zOwhVruQ-nYTd-IrQXdAWmstJTx_31SQ38Neycm_HE5lzDLTXNiqs8LxhKU-i9aPpcZutfcYSlb9nJK3oauds0S-iG7WC3b28MVBSK5hSWuSNlZx_0m00\" \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:dLR1Rk8m4BqZyGyMbrqgaDgkzeAggYc4RdOXe01LRv593B6Qs97jj49b_trjnma99AsqDpjlF9utRsQS1ouW4raITplT3Y82YmFeZJCkQ89O3q0E0hC17zqE05VbtiSX687Dnfc0kti53OUvmGupBdm24oJnPyiR_xAyxp-l-paQmqz0b40SLu2Rw-k-yNu5qeYIwgdRqYKzm5WS_9HY8hYqSDnrZZ2qnrmmA30bVWY5EhvsvlPgRSsNtSxVAkavVSD8CqxKgg2hDwrSvT6u7bCHL8Xum72gRbQNsYycf30puIIOP0BLmjqZmXhpmb2C84S5XOcrjWqWVP5zBMFzCrxh2CbJkPOYNnVSpBQTdS7FvBefIGegOEnpQLNZeJxuCJpGJCZFlrSBzoocLKJVTK1SBeferBerb6OPsYaOTm8dPvhhCYDX2n93ii_Wlb44dcqBkHyNYvbjkQOk6GwGBqijYo5JwjXZPsxDP9e6j_sgoHjEB-5wNYIPF2zoKUP5PVChYIxvCqa_Xbka-YclpNx57ycIBM8Neeb3sjXYcFim213dU5jFG2tyHqfVPJbg1jjyNP0msrOUhLEbfIvE7fk5p2iJ9ZGZebaJEVX4nfl8fl2GI4f-WaH4muh5ZxBk6IGS1hgFSNZH6ar9AQKjugvAt92Tk-cVmVBF_Nrp3LJHqomANf7mTQqrKmun3rH2V9YcCKRX5zMupFEWepOvAG8kKjGcPvlSL-0pIGglbvEwYdujt5wUVuU79kKC9DjrXnWYmUNmhgN0GtBivAEAwMMHW7ptF-NSDidAKLvsP40JdVFgys7kRNdBlW4FnVfvuH5EURTJFjx7ut18Fygk785U6aFPqBrk9t_kZ84Uo1BbGOJ2B9Or0fLDyN2SMKMK2mNh_UKLaJvRV53uyQDU_z8ee4H0JBGRzQdkfZI3SlRiYOn7q7EVnx8woplFUHln9FxEiBYaVS8P2X1-qnRT3g4opGpl8m7ehi9ifKjm19QsEt7Sfm4OBzofuytjYLnQxjYUpTJIVbawdZqnVcAqqsuCetBUZe1dFsrcbZS0pyvI-TeiP_Rg_FOJnteZLA9ORSPZUxKQWAdbw00yUxfn9og2RkT1ldhoF-yV\" 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><a href=\"https:\/\/www.vpascode.com\/#plantuml:dLR1Rk8m4BqZyGyMbrqgaDgkzeAggYc4RdOXe01LRv593B6Qs97jj49b_trjnma99AsqDpjlF9utRsQS1ouW4raITplT3Y82YmFeZJCkQ89O3q0E0hC17zqE05VbtiSX687Dnfc0kti53OUvmGupBdm24oJnPyiR_xAyxp-l-paQmqz0b40SLu2Rw-k-yNu5qeYIwgdRqYKzm5WS_9HY8hYqSDnrZZ2qnrmmA30bVWY5EhvsvlPgRSsNtSxVAkavVSD8CqxKgg2hDwrSvT6u7bCHL8Xum72gRbQNsYycf30puIIOP0BLmjqZmXhpmb2C84S5XOcrjWqWVP5zBMFzCrxh2CbJkPOYNnVSpBQTdS7FvBefIGegOEnpQLNZeJxuCJpGJCZFlrSBzoocLKJVTK1SBeferBerb6OPsYaOTm8dPvhhCYDX2n93ii_Wlb44dcqBkHyNYvbjkQOk6GwGBqijYo5JwjXZPsxDP9e6j_sgoHjEB-5wNYIPF2zoKUP5PVChYIxvCqa_Xbka-YclpNx57ycIBM8Neeb3sjXYcFim213dU5jFG2tyHqfVPJbg1jjyNP0msrOUhLEbfIvE7fk5p2iJ9ZGZebaJEVX4nfl8fl2GI4f-WaH4muh5ZxBk6IGS1hgFSNZH6ar9AQKjugvAt92Tk-cVmVBF_Nrp3LJHqomANf7mTQqrKmun3rH2V9YcCKRX5zMupFEWepOvAG8kKjGcPvlSL-0pIGglbvEwYdujt5wUVuU79kKC9DjrXnWYmUNmhgN0GtBivAEAwMMHW7ptF-NSDidAKLvsP40JdVFgys7kRNdBlW4FnVfvuH5EURTJFjx7ut18Fygk785U6aFPqBrk9t_kZ84Uo1BbGOJ2B9Or0fLDyN2SMKMK2mNh_UKLaJvRV53uyQDU_z8ee4H0JBGRzQdkfZI3SlRiYOn7q7EVnx8woplFUHln9FxEiBYaVS8P2X1-qnRT3g4opGpl8m7ehi9ifKjm19QsEt7Sfm4OBzofuytjYLnQxjYUpTJIVbawdZqnVcAqqsuCetBUZe1dFsrcbZS0pyvI-TeiP_Rg_FOJnteZLA9ORSPZUxKQWAdbw00yUxfn9og2RkT1ldhoF-yV\">Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/a><\/p>\n<h2>Mermaid.js: Bi\u1ec3u \u0111\u1ed3 th\u00e2n thi\u1ec7n v\u1edbi Markdown<\/h2>\n<p>\u0110\u1ed1i v\u1edbi c\u00e1c nh\u00f3m th\u01b0\u1eddng xuy\u00ean s\u1eed d\u1ee5ng Markdown \u0111\u1ec3 t\u00e0i li\u1ec7u h\u00f3a (nh\u01b0 trong README c\u1ee7a GitHub ho\u1eb7c Confluence), Mermaid.js l\u00e0 l\u1ef1a ch\u1ecdn l\u00fd t\u01b0\u1edfng. VPasCode hi\u1ec3n th\u1ecb Mermaid tr\u1ef1c ti\u1ebfp tr\u00ean tr\u00ecnh duy\u1ec7t, h\u1ed7 tr\u1ee3 s\u01a1 \u0111\u1ed3 lu\u1ed3ng, s\u01a1 \u0111\u1ed3 l\u1edbp, s\u01a1 \u0111\u1ed3 tr\u00ecnh t\u1ef1, bi\u1ec3u \u0111\u1ed3 Gantt, b\u1ea3n \u0111\u1ed3 t\u01b0 duy v\u00e0 nhi\u1ec1u h\u01a1n n\u1eefa.<\/p>\n<h3>S\u01a1 \u0111\u1ed3 lu\u1ed3ng ra quy\u1ebft \u0111\u1ecbnh ch\u0103m s\u00f3c s\u1ee9c kh\u1ecfe<\/h3>\n<p>S\u01a1 \u0111\u1ed3 lu\u1ed3ng n\u00e0y h\u01b0\u1edbng d\u1eabn b\u1ec7nh nh\u00e2n qua quy tr\u00ecnh ra quy\u1ebft \u0111\u1ecbnh ch\u0103m s\u00f3c s\u1ee9c kh\u1ecfe, t\u1eeb nh\u1eadn bi\u1ebft tri\u1ec7u ch\u1ee9ng \u0111\u1ebfn \u0111i\u1ec1u tr\u1ecb.<\/p>\n<p><img alt=\"M\u00e3 s\u01a1 \u0111\u1ed3 lu\u1ed3ng Mermaid.js cho quy tr\u00ecnh '\u0111i kh\u00e1m b\u00e1c s\u0129', \u0111ang \u0111\u01b0\u1ee3c ch\u1ec9nh s\u1eeda b\u1eb1ng tr\u00ecnh bi\u00ean t\u1eadp tr\u1ef1c ti\u1ebfp v\u0103n b\u1ea3n sang s\u01a1 \u0111\u1ed3 VPasCode c\u1ee7a Visual Paradigm\" decoding=\"async\" src=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/vpascode-mermaid-flowchart-see-doctor.jpg\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpdkd9ugjAUh+9NfIfzAmZvsAUFFP+wBd3F0nDRtGfapLSkLRije\/fRomDkjpyv3+932l+pz+xEjYNDPJ1A90UkRZTwrc4oJWgDOSKHHXLBqISIt4JhCbPZO8yvmQXhgCpIKjRHVOzy8Ted9J65Z24\/aG+wIAvauQYI9mi8xnr9UoPTkBTl87Fc3yAme3ZC3kiEWDPXoVFda6FchcqVj5g4VElI5Bwq\/oJ4IAlASu6OpKWyoU5oNSjSQCyvsaBHpa2wsKMcx02W4yYrcjBIgx6+JFXlM+FLZ+TTcDRwQOvskJCFhDUpkKFoMUyhQNvIAHlk3dd8nFiF3w1JtexeCIbUO70J4+11f6lqpysLWVUb3SIfW2\/H1jsf3E3NBd6g0I0TCqE3z5q6fOb9DnmHu8Yo\/y79rd2RvO\/4DwW\/pJQ=\" 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 Mermaid 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\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNptUs9qE0Ecvhf6Dr8XKL6BYpI2bRODQm7DHuK0ZpYkkxhn1dB48OShiA2eRApdlyBbKFTTUrpz8DBL32PexG9mu82C5rBh4fv\/21fD8TsuelNF3cbmBuH3lNVtloxICZstZzQQ5kr28Wf1l0MSY5vdcOI2+ylJ3V3SW4AkzUjZ7E9AW1uPqXaUn5gfM+JmRRNoJCENzRmp6d2l1aeQglIycYJZKp3ScvLkw+ZGYV5zEvO6Wc2pzppWfw7pwOpjLmCklwUaT51GZZR8AWcJJ\/Mb2hVAUFVs+RZzarC2OZc0LDQR4VY65e8hvTQxpzd5GpRRGr7NNuuK3siF+EU8svobL1j36tsetMNq92zEMbEU1A9N\/KC040FNt0viZ+FF93wxBnhdvrkuv8taqOU7xgiaL0KrP0YYEcGDKrostsfyE+yhSJgz7PDepIpkX4D2afQQZM8H2Wcd+F9IGsBC0esIN\/qH4OD7RbmSvetfWxgEY2AGB5X\/jdbyyPZRd+owkeurU6TCOIk7ET4JVdDX5dvr8s\/YcxCWbmn9NaRH1BWHYzow16G7tj7GvgOrV0GVWO7QYS+i3gwHzuKQ+lhkUr2sw3eKVn8B8jI4jA==\" \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 Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">flowchart TD\r\n    A[C\u1ea3m th\u1ea5y kh\u00f4ng kh\u1ecfe ho\u1eb7c c\u1ea7n t\u01b0 v\u1ea5n y t\u1ebf] --&gt; B{\u0110\u00e2y c\u00f3 ph\u1ea3i l\u00e0 tr\u01b0\u1eddng h\u1ee3p kh\u1ea9n c\u1ea5p?}\r\n\r\n    B --&gt;|C\u00f3| C[G\u1ecdi d\u1ecbch v\u1ee5 c\u1ea5p c\u1ee9u ho\u1eb7c \u0111\u1ebfn ph\u00f2ng c\u1ea5p c\u1ee9u]\r\n    B --&gt;|Kh\u00f4ng| D[L\u00ean l\u1ecbch h\u1eb9n v\u1edbi b\u00e1c s\u0129]\r\n\r\n    D --&gt; E[Tham d\u1ef1 cu\u1ed9c h\u1eb9n]\r\n    E --&gt; F[B\u00e1c s\u0129 \u0111\u00e1nh gi\u00e1]\r\n\r\n    F --&gt; G{\u0110\u00e3 c\u00f3 ch\u1ea9n \u0111o\u00e1n?}\r\n\r\n    G --&gt;|C\u00f3| H[K\u1ebf ho\u1ea1ch \u0111i\u1ec1u tr\u1ecb]\r\n    G --&gt;|Kh\u00f4ng| I[\u0110\u1eb7t h\u00e0ng x\u00e9t nghi\u1ec7m]\r\n\r\n    I --&gt; J[Nh\u1eadn k\u1ebft qu\u1ea3 x\u00e9t nghi\u1ec7m]\r\n    J --&gt; F\r\n\r\n    H --&gt; K[Th\u1ef1c hi\u1ec7n \u0111i\u1ec1u tr\u1ecb]\r\n    K --&gt; L{Tri\u1ec7u ch\u1ee9ng \u0111\u00e3 c\u1ea3i thi\u1ec7n?}\r\n\r\n    L --&gt;|C\u00f3| M[Ph\u1ee5c h\u1ed3i \/ Theo d\u00f5i \u0111\u1ecbnh k\u1ef3]\r\n    L --&gt;|Kh\u00f4ng| N[Quay l\u1ea1i g\u1eb7p b\u00e1c s\u0129]\r\n    N --&gt; F\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNptUs9qE0Ecvhf6Dr8XKL6BYpI2bRODQm7DHuK0ZpYkkxhn1dB48OShiA2eRApdlyBbKFTTUrpz8DBL32PexG9mu82C5rBh4fv\/21fD8TsuelNF3cbmBuH3lNVtloxICZstZzQQ5kr28Wf1l0MSY5vdcOI2+ylJ3V3SW4AkzUjZ7E9AW1uPqXaUn5gfM+JmRRNoJCENzRmp6d2l1aeQglIycYJZKp3ScvLkw+ZGYV5zEvO6Wc2pzppWfw7pwOpjLmCklwUaT51GZZR8AWcJJ\/Mb2hVAUFVs+RZzarC2OZc0LDQR4VY65e8hvTQxpzd5GpRRGr7NNuuK3siF+EU8svobL1j36tsetMNq92zEMbEU1A9N\/KC040FNt0viZ+FF93wxBnhdvrkuv8taqOU7xgiaL0KrP0YYEcGDKrostsfyE+yhSJgz7PDepIpkX4D2afQQZM8H2Wcd+F9IGsBC0esIN\/qH4OD7RbmSvetfWxgEY2AGB5X\/jdbyyPZRd+owkeurU6TCOIk7ET4JVdDX5dvr8s\/YcxCWbmn9NaRH1BWHYzow16G7tj7GvgOrV0GVWO7QYS+i3gwHzuKQ+lhkUr2sw3eKVn8B8jI4jA==\" \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 Mermaid 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\/#mermaid:eNpdkd9ugjAUh+9NfIfzAmZvsAUFFP+wBd3F0nDRtGfapLSkLRije\/fRomDkjpyv3+932l+pz+xEjYNDPJ1A90UkRZTwrc4oJWgDOSKHHXLBqISIt4JhCbPZO8yvmQXhgCpIKjRHVOzy8Ted9J65Z24\/aG+wIAvauQYI9mi8xnr9UoPTkBTl87Fc3yAme3ZC3kiEWDPXoVFda6FchcqVj5g4VElI5Bwq\/oJ4IAlASu6OpKWyoU5oNSjSQCyvsaBHpa2wsKMcx02W4yYrcjBIgx6+JFXlM+FLZ+TTcDRwQOvskJCFhDUpkKFoMUyhQNvIAHlk3dd8nFiF3w1JtexeCIbUO70J4+11f6lqpysLWVUb3SIfW2\/H1jsf3E3NBd6g0I0TCqE3z5q6fOb9DnmHu8Yo\/y79rd2RvO\/4DwW\/pJQ=\" 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 Mermaid trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p><a href=\"https:\/\/www.vpascode.com\/#mermaid:eNpdkd9ugjAUh+9NfIfzAmZvsAUFFP+wBd3F0nDRtGfapLSkLRije\/fRomDkjpyv3+932l+pz+xEjYNDPJ1A90UkRZTwrc4oJWgDOSKHHXLBqISIt4JhCbPZO8yvmQXhgCpIKjRHVOzy8Ted9J65Z24\/aG+wIAvauQYI9mi8xnr9UoPTkBTl87Fc3yAme3ZC3kiEWDPXoVFda6FchcqVj5g4VElI5Bwq\/oJ4IAlASu6OpKWyoU5oNSjSQCyvsaBHpa2wsKMcx02W4yYrcjBIgx6+JFXlM+FLZ+TTcDRwQOvskJCFhDUpkKFoMUyhQNvIAHlk3dd8nFiF3w1JtexeCIbUO70J4+11f6lqpysLWVUb3SIfW2\/H1jsf3E3NBd6g0I0TCqE3z5q6fOb9DnmHu8Yo\/y79rd2RvO\/4DwW\/pJQ=\">Ch\u1ec9nh s\u1eeda Mermaid trong VPasCode<\/a><\/p>\n<h2>Graphviz: C\u1ea5u tr\u00fac m\u1ea1ng v\u00e0 c\u1ea5u tr\u00fac d\u1eef li\u1ec7u<\/h2>\n<p>Graphviz s\u1eed d\u1ee5ng ng\u00f4n ng\u1eef DOT \u0111\u1ec3 t\u1ea1o c\u00e1c bi\u1ec3u \u0111\u1ed3 ph\u1ee9c t\u1ea1p. N\u00f3 \u0111\u1eb7c bi\u1ec7t h\u1eefu \u00edch \u0111\u1ec3 tr\u1ef1c quan h\u00f3a c\u1ea5u tr\u00fac m\u1ea1ng, c\u00e2y ph\u1ee5 thu\u1ed9c v\u00e0 c\u1ea5u tr\u00fac d\u1eef li\u1ec7u.<\/p>\n<h3>C\u1ea5u tr\u00fac m\u1ea1ng trung t\u00e2m d\u1eef li\u1ec7u<\/h3>\n<p>Bi\u1ec3u \u0111\u1ed3 n\u00e0y minh h\u1ecda m\u1ed9t m\u1ea1ng trung t\u00e2m d\u1eef li\u1ec7u \u0111\u01a1n gi\u1ea3n h\u00f3a, hi\u1ec3n th\u1ecb c\u00e1c m\u00e1y ch\u1ee7 \u0111\u01b0\u1ee3c k\u1ebft n\u1ed1i th\u00f4ng qua c\u00e1c b\u1ed9 chuy\u1ec3n m\u1ea1ch li\u00ean k\u1ebft v\u1edbi nhau b\u1eb1ng c\u00e1c li\u00ean k\u1ebft trunk v\u00e0 c\u00e1c k\u1ebft n\u1ed1i d\u1ef1 ph\u00f2ng.<\/p>\n<p><img alt=\"M\u00e3 Graphviz cho \u0111\u1ed3 th\u1ecb m\u1eabu, \u0111ang \u0111\u01b0\u1ee3c ch\u1ec9nh s\u1eeda b\u1eb1ng tr\u00ecnh bi\u00ean t\u1eadp tr\u1ef1c ti\u1ebfp v\u0103n b\u1ea3n sang s\u01a1 \u0111\u1ed3 VPasCode c\u1ee7a Visual Paradigm\" decoding=\"async\" src=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/vpascode-graphviz-graph.jpg\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Graphviz<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqNU8tOwzAQvCPxD6twTRFtEx4HH1oQAgl6aRGHqkKOvUmsGjuyXUpB\/DtOkwgDLcIHS9mZWY0nu4WhVQkPiguDzCGfVlQpoYqZQYT3wwPwJ9fKKfqMJLpB+YJOMBqPjKAytlTZnkUj8qihSpqhJNEVdbR3icqhgXu0JUzQrbVZwkxXWupiA2PKlplWCLcqN9Q6s2JuZTBsIzUjURZ9ebDiDUk\/aQrNrTRHmP\/LYAy2pBUSJgyT6L\/cRiLJhZTIY2DeliHRUXKWpqcXnlwDXTHv52leF9eCu5KcHJ\/X+CvyrSPvHReNHeSFt9PJLhI6zM69rELVKAfH6SK0P10Lx8qRrEoKMG\/Dmz4+jX4YYBlPsR8tQtUYnReFqvGfqomPqg\/t6VQ32rqnk2+cwW7OIOQMd3OGISfZzUmivQn0euHTOhnMzEot\/UjCnVDL+iegKEpH0sXODttn7kUGvxJsgeE+IAnT67rAvJkeTm0ZTk+beNztAVxTIfWL34LbeheYVspvWZ3AxyeFTAk4\" 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 Graphviz 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\">Graphviz<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqNUz1v2zAQ3Qv0PxzUVQ5iW2qTgYOTJUCLLk7RwTACmjyJRGhKkOimH+jcuXOHIgGKAF36AXSRhg4C8j\/4T0pZFsI0dlEOBHjvvcO7p1Na0FzAC81lgcwgn+ZUa6nT0wIR3j18AO4kmTaaLpEEJ6heoZGMhpNCUhWWVJeDEguZBB1V0QUqEhzfXEJp688gbHUJxlbXOgXV\/JLAbH1N3V19WYEpmorB0lFa9Oa7rT9JV1y5l2mulsBt\/Q2UtPWHld9eZYwEi+DWWynfIhlGXaG7dcYRZv9lPIRS0BwJkwVT6F7mjUKSSKWQh8AylRUkeBQ9iePHh47cAn0xGSZx0hYvJDeC7O8dtPhr5GtHbhKcd3aQp85OLzuM6Hhx4GQ56k452ovnvv3phTRMTFQuKMBsE+r05dnkLwNswWMcBnNfdYTGiXzV0T9Vz11UQ9icXnWSleZs\/w5ntJ0z8jnj7Zyxz4m2c6JgZwKDgT9aL4Nnsvmq4dxWvw2cuq05bz8EylQYEs+3dlmPuhMZ3UtxA4x3AZGfYN8FZt0GcVoKf4M2qYf9PwJP1861rT\/KdtV\/QC6anzptc3j\/B+LgJNo=\" \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 Graphviz in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-graphviz\"><code class=\"language-graphviz\" data-language=\"graphviz\" class=\"language-graphviz\">graph UndirectedSpanningTree {\r\n    fontname=\"Helvetica,Arial,sans-serif\"\r\n    label=\"C\u01a1 s\u1edf h\u1ea1 t\u1ea7ng l\u00f5i c\u1ee7a c\u1ea5u tr\u00fac m\u1ea1ng l\u01b0\u1edbi trung t\u00e2m d\u1eef li\u1ec7u\"\r\n    labelloc=\"b\"\r\n    fontsize=14\r\n    \r\n    node [fontname=\"Helvetica,Arial,sans-serif\", shape=circle, style=filled, color=\"#475569\", fillcolor=\"#f1f5f9\", width=0.8, fixedsize=true]\r\n    edge [color=\"#94a3b8\", penwidth=2.5]\r\n    \r\n    SwitchAlpha  [label=\"SW_A\", fillcolor=\"#cbd5e1\"]\r\n    SwitchBeta   [label=\"SW_B\", fillcolor=\"#cbd5e1\"]\r\n    Node1        [label=\"Host_01\"]\r\n    Node2        [label=\"Host_02\"]\r\n    Node3        [label=\"Host_03\"]\r\n    Node4        [label=\"Host_04\"]\r\n    \r\n    SwitchAlpha -- SwitchBeta [label=\" Li\u00ean k\u1ebft Trunk\", weight=5]\r\n    SwitchAlpha -- Node1\r\n    SwitchAlpha -- Node2\r\n    SwitchBeta -- Node3\r\n    SwitchBeta -- Node4\r\n    Node1 -- Node2 [style=dashed, color=\"#cbd5e1\", label=\" K\u1ebft n\u1ed1i d\u1ef1 ph\u00f2ng\"]\r\n}\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqNUz1v2zAQ3Qv0PxzUVQ5iW2qTgYOTJUCLLk7RwTACmjyJRGhKkOimH+jcuXOHIgGKAF36AXSRhg4C8j\/4T0pZFsI0dlEOBHjvvcO7p1Na0FzAC81lgcwgn+ZUa6nT0wIR3j18AO4kmTaaLpEEJ6heoZGMhpNCUhWWVJeDEguZBB1V0QUqEhzfXEJp688gbHUJxlbXOgXV\/JLAbH1N3V19WYEpmorB0lFa9Oa7rT9JV1y5l2mulsBt\/Q2UtPWHld9eZYwEi+DWWynfIhlGXaG7dcYRZv9lPIRS0BwJkwVT6F7mjUKSSKWQh8AylRUkeBQ9iePHh47cAn0xGSZx0hYvJDeC7O8dtPhr5GtHbhKcd3aQp85OLzuM6Hhx4GQ56k452ovnvv3phTRMTFQuKMBsE+r05dnkLwNswWMcBnNfdYTGiXzV0T9Vz11UQ9icXnWSleZs\/w5ntJ0z8jnj7Zyxz4m2c6JgZwKDgT9aL4Nnsvmq4dxWvw2cuq05bz8EylQYEs+3dlmPuhMZ3UtxA4x3AZGfYN8FZt0GcVoKf4M2qYf9PwJP1861rT\/KdtV\/QC6anzptc3j\/B+LgJNo=\" \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 Graphviz 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\/#graphviz:eNqNU8tOwzAQvCPxD6twTRFtEx4HH1oQAgl6aRGHqkKOvUmsGjuyXUpB\/DtOkwgDLcIHS9mZWY0nu4WhVQkPiguDzCGfVlQpoYqZQYT3wwPwJ9fKKfqMJLpB+YJOMBqPjKAytlTZnkUj8qihSpqhJNEVdbR3icqhgXu0JUzQrbVZwkxXWupiA2PKlplWCLcqN9Q6s2JuZTBsIzUjURZ9ebDiDUk\/aQrNrTRHmP\/LYAy2pBUSJgyT6L\/cRiLJhZTIY2DeliHRUXKWpqcXnlwDXTHv52leF9eCu5KcHJ\/X+CvyrSPvHReNHeSFt9PJLhI6zM69rELVKAfH6SK0P10Lx8qRrEoKMG\/Dmz4+jX4YYBlPsR8tQtUYnReFqvGfqomPqg\/t6VQ32rqnk2+cwW7OIOQMd3OGISfZzUmivQn0euHTOhnMzEot\/UjCnVDL+iegKEpH0sXODttn7kUGvxJsgeE+IAnT67rAvJkeTm0ZTk+beNztAVxTIfWL34LbeheYVspvWZ3AxyeFTAk4\" 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 Graphviz trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p><a href=\"https:\/\/www.vpascode.com\/#graphviz:eNqNU8tOwzAQvCPxD6twTRFtEx4HH1oQAgl6aRGHqkKOvUmsGjuyXUpB\/DtOkwgDLcIHS9mZWY0nu4WhVQkPiguDzCGfVlQpoYqZQYT3wwPwJ9fKKfqMJLpB+YJOMBqPjKAytlTZnkUj8qihSpqhJNEVdbR3icqhgXu0JUzQrbVZwkxXWupiA2PKlplWCLcqN9Q6s2JuZTBsIzUjURZ9ebDiDUk\/aQrNrTRHmP\/LYAy2pBUSJgyT6L\/cRiLJhZTIY2DeliHRUXKWpqcXnlwDXTHv52leF9eCu5KcHJ\/X+CvyrSPvHReNHeSFt9PJLhI6zM69rELVKAfH6SK0P10Lx8qRrEoKMG\/Dmz4+jX4YYBlPsR8tQtUYnReFqvGfqomPqg\/t6VQ32rqnk2+cwW7OIOQMd3OGISfZzUmivQn0euHTOhnMzEot\/UjCnVDL+iegKEpH0sXODttn7kUGvxJsgeE+IAnT67rAvJkeTm0ZTk+beNztAVxTIfWL34LbeheYVspvWZ3AxyeFTAk4\">Ch\u1ec9nh s\u1eeda Graphviz trong VPasCode<\/a><\/p>\n<h2>T\u1ef1 \u0111\u1ed9ng h\u00f3a b\u1ea3n \u0111\u1ecba AI: T\u0103ng t\u1ed1c quy tr\u00ecnh l\u00e0m vi\u1ec7c c\u1ee7a b\u1ea1n<\/h2>\n<p>VPasCode kh\u00f4ng ch\u1ec9 l\u00e0 m\u1ed9t tr\u00ecnh so\u1ea1n th\u1ea3o v\u0103n b\u1ea3n; n\u00f3 l\u00e0 m\u1ed9t tr\u1ee3 l\u00fd \u0111\u01b0\u1ee3c h\u1ed7 tr\u1ee3 b\u1edfi AI. Trong khi g\u00f3i mi\u1ec5n ph\u00ed cung c\u1ea5p h\u1ed7 tr\u1ee3 \u0111a c\u00f4ng c\u1ee5 c\u01a1 b\u1ea3n, xem tr\u01b0\u1edbc th\u1eddi gian th\u1ef1c v\u00e0 xu\u1ea5t linh ho\u1ea1t (PNG\/SVG), c\u00e1c t\u00ednh ph\u00ed tr\u1ea3 ph\u00ed m\u1edf kh\u00f3a c\u00e1c kh\u1ea3 n\u0103ng AI \u0111\u1ed9t ph\u00e1.<\/p>\n<h3>C\u00e1c t\u00ednh n\u0103ng AI ch\u00ednh:<\/h3>\n<ul>\n<li>\n<p><strong>T\u1eeb ng\u00f4n ng\u1eef t\u1ef1 nhi\u00ean sang s\u01a1 \u0111\u1ed3:<\/strong> D\u1ecbch c\u00e1c m\u00f4 t\u1ea3 ki\u1ebfn tr\u00fac b\u1eb1ng ti\u1ebfng Anh \u0111\u01a1n gi\u1ea3n tr\u1ef1c ti\u1ebfp th\u00e0nh c\u00e1c k\u1ecbch b\u1ea3n m\u00e3 s\u1ea1ch, s\u1eb5n s\u00e0ng \u0111\u1ec3 hi\u1ec3n th\u1ecb.<\/p>\n<\/li>\n<li>\n<p><strong>S\u1eeda l\u1ed7i m\u00e3 b\u1eb1ng AI:<\/strong> B\u1ecb m\u1eafc k\u1eb9t \u1edf l\u1ed7i c\u00fa ph\u00e1p? AI t\u00edch h\u1ee3p ph\u00e2n t\u00edch m\u00e3 PlantUML, Mermaid ho\u1eb7c Graphviz c\u1ee7a b\u1ea1n v\u00e0 t\u1ef1 \u0111\u1ed9ng s\u1eeda l\u1ed7i.<\/p>\n<\/li>\n<\/ul>\n<p><img alt=\"M\u1ed9t minh h\u1ecda cho th\u1ea5y c\u00e1ch th\u1ee9c ho\u1ea1t \u0111\u1ed9ng c\u1ee7a t\u00ednh n\u0103ng s\u1eeda l\u1ed7i m\u00e3 b\u1eb1ng AI\" decoding=\"async\" src=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/how-does-vpascode-ai-code-error-fix-works2.jpg\"\/><\/p>\n<ul>\n<li>\n<p><strong>D\u1ecbch s\u01a1 \u0111\u1ed3 b\u1eb1ng AI:<\/strong> D\u1ecbch v\u0103n b\u1ea3n v\u00e0 nh\u00e3n trong s\u01a1 \u0111\u1ed3 c\u1ee7a b\u1ea1n sang nhi\u1ec1u ng\u00f4n ng\u1eef m\u1ed9t c\u00e1ch li\u1ec1n m\u1ea1ch ch\u1ec9 v\u1edbi m\u1ed9t c\u00fa nh\u1ea5p chu\u1ed9t, gi\u1eef nguy\u00ean c\u1ea5u tr\u00fac c\u00fa ph\u00e1p.<\/p>\n<\/li>\n<\/ul>\n<p><img alt=\"\u0110\u00e2y l\u00e0 m\u1ed9t minh h\u1ecda cho th\u1ea5y c\u00e1ch th\u1ee9c ho\u1ea1t \u0111\u1ed9ng c\u1ee7a t\u00ednh n\u0103ng d\u1ecbch trong VPasCode\" decoding=\"async\" src=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/vpascode-translating-platuml-from-english-to-chinese.jpg\"\/><\/p>\n<h2>Chia s\u1ebb v\u00e0 c\u1ed9ng t\u00e1c<\/h2>\n<p>VPasCode gi\u00fap vi\u1ec7c chia s\u1ebb tr\u1edf n\u00ean d\u1ec5 d\u00e0ng. B\u1ea1n c\u00f3 th\u1ec3 t\u1ea1o m\u1ed9t URL web duy nh\u1ea5t v\u00e0 b\u1ec1n v\u1eefng \u0111\u1ec3 chia s\u1ebb s\u01a1 \u0111\u1ed3 tr\u1ef1c ti\u1ebfp v\u1edbi \u0111\u1ed3ng nghi\u1ec7p ho\u1eb7c kh\u00e1ch h\u00e0ng \u0111\u1ec3 xem x\u00e9t c\u1ed9ng t\u00e1c. \u0110\u1ed1i v\u1edbi t\u00e0i li\u1ec7u ch\u00ednh th\u1ee9c, b\u1ea1n c\u00f3 th\u1ec3 t\u1ea3i xu\u1ed1ng t\u00e1c ph\u1ea9m c\u1ee7a m\u00ecnh d\u01b0\u1edbi d\u1ea1ng h\u00ecnh \u1ea3nh PNG ch\u1ea5t l\u01b0\u1ee3ng cao ho\u1eb7c \u0111\u1ed3 h\u1ecda vector SVG c\u00f3 th\u1ec3 m\u1edf r\u1ed9ng.<\/p>\n<h2>Truy c\u1eadp c\u00e1c t\u00ednh n\u0103ng cao c\u1ea5p<\/h2>\n<p>N\u1ebfu b\u1ea1n l\u00e0 ng\u01b0\u1eddi d\u00f9ng Visual Paradigm hi\u1ec7n t\u1ea1i, b\u1ea1n c\u00f3 th\u1ec3 \u0111\u00e3 c\u00f3 quy\u1ec1n truy c\u1eadp v\u00e0o c\u00e1c t\u00ednh n\u0103ng AI cao c\u1ea5p sau:<\/p>\n<ul>\n<li>\n<p><strong>Phi\u00ean b\u1ea3n Combo Online Visual Paradigm<\/strong> (ho\u1eb7c cao h\u01a1n).<\/p>\n<\/li>\n<li>\n<p><strong>Phi\u00ean b\u1ea3n Professional Desktop Visual Paradigm<\/strong> (ho\u1eb7c cao h\u01a1n) v\u1edbi h\u1ee3p \u0111\u1ed3ng b\u1ea3o tr\u00ec \u0111ang ho\u1ea1t \u0111\u1ed9ng.<\/p>\n<\/li>\n<\/ul>\n<blockquote>\n<p><strong>L\u01b0u \u00fd cho ng\u01b0\u1eddi d\u00f9ng Desktop:<\/strong> Ng\u01b0\u1eddi d\u00f9ng phi\u00ean b\u1ea3n Professional Visual Paradigm (ho\u1eb7c cao h\u01a1n) c\u00f3 h\u1ee3p \u0111\u1ed3ng b\u1ea3o tr\u00ec \u0111ang ho\u1ea1t \u0111\u1ed9ng s\u1ebd t\u1ef1 \u0111\u1ed9ng \u0111\u01b0\u1ee3c c\u1ea5p quy\u1ec1n truy c\u1eadp \u0111\u1ea7y \u0111\u1ee7 v\u00e0o c\u00e1c \u1ee9ng d\u1ee5ng web c\u1ee7a VP Online Combo Edition\u2014\u0111i\u1ec1u n\u00e0y c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n c\u00f3 th\u1ec3 truy c\u1eadp ngay l\u1eadp t\u1ee9c v\u00e0o c\u00e1c c\u00f4ng c\u1ee5 AI cao c\u1ea5p c\u1ee7a VPasCode m\u00e0 kh\u00f4ng c\u1ea7n tr\u1ea3 th\u00eam ph\u00ed!<\/p>\n<\/blockquote>\n<h2>M\u1eb9o v\u00e0 th\u1ee7 thu\u1eadt cho c\u00e1c nh\u00f3m Agile<\/h2>\n<ol>\n<li>\n<p><strong>Ki\u1ec3m so\u00e1t phi\u00ean b\u1ea3n s\u01a1 \u0111\u1ed3 c\u1ee7a b\u1ea1n:<\/strong> V\u00ec VPasCode xu\u1ea5t ra v\u0103n b\u1ea3n, h\u00e3y l\u01b0u tr\u1eef c\u00e1c t\u1ec7p c\u1ee7a b\u1ea1n<code data-backticks=\"1\">.puml<\/code>,\u00a0<code data-backticks=\"1\">.mmd<\/code>, ho\u1eb7c<code data-backticks=\"1\">.dot<\/code> trong kho l\u01b0u tr\u1eef Git c\u1ee7a b\u1ea1n. \u0110i\u1ec1u n\u00e0y cho ph\u00e9p b\u1ea1n theo d\u00f5i c\u00e1c thay \u0111\u1ed5i, ho\u00e0n t\u00e1c l\u1ed7i v\u00e0 xem l\u1ea1i s\u1ef1 ti\u1ebfn h\u00f3a c\u1ee7a ki\u1ebfn tr\u00fac theo th\u1eddi gian.<\/p>\n<\/li>\n<li>\n<p><strong>S\u1eed d\u1ee5ng li\u00ean k\u1ebft tr\u1ef1c ti\u1ebfp cho c\u00e1c cu\u1ed9c h\u1ecdp standup:<\/strong>Thay v\u00ec ch\u1ee5p m\u00e0n h\u00ecnh c\u00e1c s\u01a1 \u0111\u1ed3 \u0111\u1ec3 g\u1eedi tr\u00ean Slack ho\u1eb7c Teams, h\u00e3y chia s\u1ebb URL tr\u1ef1c ti\u1ebfp c\u1ee7a VPasCode. C\u00e1c b\u00ean li\u00ean quan c\u00f3 th\u1ec3 xem phi\u00ean b\u1ea3n m\u1edbi nh\u1ea5t m\u00e0 kh\u00f4ng c\u1ea7n t\u1ea3i xu\u1ed1ng t\u1ec7p.<\/p>\n<\/li>\n<li>\n<p><strong>T\u1eadn d\u1ee5ng AI cho m\u00e3 m\u1eabu:<\/strong>S\u1eed d\u1ee5ng t\u00ednh n\u0103ng Chuy\u1ec3n \u0111\u1ed5i Ng\u00f4n ng\u1eef T\u1ef1 nhi\u00ean th\u00e0nh S\u01a1 \u0111\u1ed3 \u0111\u1ec3 nhanh ch\u00f3ng t\u1ea1o m\u00e3 khung cho c\u00e1c s\u01a1 \u0111\u1ed3 ph\u1ee9c t\u1ea1p, sau \u0111\u00f3 tinh ch\u1ec9nh ch\u00fang th\u1ee7 c\u00f4ng. \u0110i\u1ec1u n\u00e0y ti\u1ebft ki\u1ec7m th\u1eddi gian cho vi\u1ec7c ghi nh\u1edb c\u00fa ph\u00e1p.<\/p>\n<\/li>\n<li>\n<p><strong>Chu\u1ea9n h\u00f3a m\u1eabu:<\/strong>T\u1ea1o c\u00e1c \u0111o\u1ea1n m\u00e3 c\u00f3 th\u1ec3 t\u00e1i s\u1eed d\u1ee5ng cho c\u00e1c lo\u1ea1i s\u01a1 \u0111\u1ed3 ph\u1ed5 bi\u1ebfn (v\u00ed d\u1ee5: m\u1eabu tri\u1ec3n khai AWS, s\u01a1 \u0111\u1ed3 th\u00e0nh ph\u1ea7n vi d\u1ecbch v\u1ee5) v\u00e0 chia s\u1ebb ch\u00fang trong to\u00e0n b\u1ed9 nh\u00f3m \u0111\u1ec3 \u0111\u1ea3m b\u1ea3o t\u00ednh nh\u1ea5t qu\u00e1n.<\/p>\n<\/li>\n<li>\n<p><strong>T\u00edch h\u1ee3p v\u1edbi CI\/CD:<\/strong>V\u00ec s\u01a1 \u0111\u1ed3 l\u00e0 m\u00e3, b\u1ea1n c\u00f3 th\u1ec3 t\u00edch h\u1ee3p c\u00e1c b\u1ea3n xu\u1ea5t t\u1eeb VPasCode v\u00e0o quy tr\u00ecnh CI\/CD c\u1ee7a m\u00ecnh \u0111\u1ec3 t\u1ef1 \u0111\u1ed9ng t\u1ea1o v\u00e0 c\u00f4ng b\u1ed1 c\u00e1c s\u01a1 \u0111\u1ed3 ki\u1ebfn tr\u00fac \u0111\u00e3 \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt v\u1edbi m\u1ed7i l\u1ea7n ph\u00e1t h\u00e0nh.<\/p>\n<\/li>\n<\/ol>\n<h2>K\u1ebft lu\u1eadn<\/h2>\n<p>VPasCode \u0111\u1ea1i di\u1ec7n cho m\u1ed9t b\u01b0\u1edbc ti\u1ebfn v\u01b0\u1ee3t b\u1eadc \u0111\u1ed1i v\u1edbi c\u00e1c nh\u00f3m Agile \u0111ang t\u00ecm c\u00e1ch thu h\u1eb9p kho\u1ea3ng c\u00e1ch gi\u1eefa m\u00e3 v\u00e0 t\u00e0i li\u1ec7u. B\u1eb1ng c\u00e1ch th\u1ed1ng nh\u1ea5t PlantUML, Mermaid.js v\u00e0 Graphviz v\u00e0o m\u1ed9t n\u1ec1n t\u1ea3ng duy nh\u1ea5t \u0111\u01b0\u1ee3c t\u0103ng c\u01b0\u1eddng b\u1edfi AI, n\u00f3 lo\u1ea1i b\u1ecf c\u00e1c r\u00e0o c\u1ea3n c\u1ee7a c\u00e1c c\u00f4ng c\u1ee5 v\u1ebd s\u01a1 \u0111\u1ed3 truy\u1ec1n th\u1ed1ng. \u0110\u1ed1i v\u1edbi c\u00e1c nh\u00e0 ph\u00e1t tri\u1ec3n v\u00e0 ki\u1ebfn tr\u00fac s\u01b0 coi tr\u1ecdng t\u1ed1c \u0111\u1ed9, \u0111\u1ed9 ch\u00ednh x\u00e1c v\u00e0 ki\u1ec3m so\u00e1t phi\u00ean b\u1ea3n, VPasCode cung c\u1ea5p m\u1ed9t c\u00e1ch li\u1ec1n m\u1ea1ch \u0111\u1ec3 gi\u1eef cho t\u00e0i li\u1ec7u ki\u1ebfn tr\u00fac lu\u00f4n s\u1ed1ng \u0111\u1ed9ng, ch\u00ednh x\u00e1c v\u00e0 t\u00edch h\u1ee3p v\u00e0o quy tr\u00ecnh ph\u00e1t tri\u1ec3n. D\u00f9 b\u1ea1n \u0111ang m\u00f4 h\u00ecnh h\u00f3a m\u1ed9t h\u00e0nh tr\u00ecnh ng\u01b0\u1eddi d\u00f9ng \u0111\u01a1n gi\u1ea3n hay m\u1ed9t h\u1ec7 th\u1ed1ng ph\u00e2n t\u00e1n ph\u1ee9c t\u1ea1p, VPasCode \u0111\u1ea3m b\u1ea3o r\u1eb1ng c\u00e1c s\u01a1 \u0111\u1ed3 c\u1ee7a b\u1ea1n ph\u00e1t tri\u1ec3n nhanh ch\u00f3ng nh\u01b0 m\u00e3 c\u1ee7a b\u1ea1n.<\/p>\n<hr\/>\n<h2>T\u00e0i li\u1ec7u tham kh\u1ea3o<\/h2>\n<ol>\n<li><strong><a href=\"https:\/\/www.visual-paradigm.com\/guide\/comprehensive-guide-to-vpascode-by-visual-paradigm\/\">H\u01b0\u1edbng d\u1eabn to\u00e0n di\u1ec7n v\u1ec1 VPasCode c\u1ee7a Visual Paradigm<\/a><\/strong>: T\u1ed5ng quan chi ti\u1ebft v\u1ec1 ki\u1ebfn tr\u00fac c\u1ed1t l\u00f5i c\u1ee7a VPasCode, s\u1ef1 th\u1ed1ng nh\u1ea5t \u0111a \u0111\u1ed9ng c\u01a1 v\u00e0 c\u00e1c t\u00ednh n\u0103ng t\u1ef1 \u0111\u1ed9ng h\u00f3a b\u1ea3n \u0111\u1ecba AI.<\/li>\n<li><strong><a href=\"https:\/\/updates.visual-paradigm.com\/releases\/introducing-vpascode-the-ultimate-unified-text-to-diagram-platform\/\">Gi\u1edbi thi\u1ec7u VPasCode: N\u1ec1n t\u1ea3ng Chuy\u1ec3n \u0111\u1ed5i V\u0103n b\u1ea3n th\u00e0nh S\u01a1 \u0111\u1ed3 Th\u1ed1ng nh\u1ea5t T\u1ed1i \u01b0u<\/a><\/strong>: Th\u00f4ng b\u00e1o ph\u00e1t h\u00e0nh ch\u00ednh th\u1ee9c chi ti\u1ebft v\u1ec1 vi\u1ec7c ra m\u1eaft VPasCode v\u00e0 h\u1ed7 tr\u1ee3 c\u1ee7a n\u00f3 \u0111\u1ed1i v\u1edbi PlantUML, Mermaid.js v\u00e0 Graphviz.<\/li>\n<li><strong><a href=\"https:\/\/www.visual-paradigm.com\/guide\/clarity-by-design-streamlining-infrastructure-documentation-with-vpascode-and-graphviz\/\">S\u1ef1 r\u00f5 r\u00e0ng \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf: T\u1ed1i \u01b0u h\u00f3a t\u00e0i li\u1ec7u c\u01a1 s\u1edf h\u1ea1 t\u1ea7ng v\u1edbi VPasCode v\u00e0 Graphviz<\/a><\/strong>: H\u01b0\u1edbng d\u1eabn t\u1eadp trung v\u00e0o vi\u1ec7c s\u1eed d\u1ee5ng Graphviz trong VPasCode \u0111\u1ec3 t\u1ea1o c\u00e1c s\u01a1 \u0111\u1ed3 c\u01a1 s\u1edf h\u1ea1 t\u1ea7ng v\u00e0 t\u00f4 p\u00f4 m\u1ea1ng r\u00f5 r\u00e0ng.<\/li>\n<li><strong><a href=\"https:\/\/www.visual-paradigm.com\/features\/vpascode\/\">T\u00ednh n\u0103ng c\u1ee7a VPasCode<\/a><\/strong>: T\u00f3m t\u1eaft c\u00e1c t\u00ednh n\u0103ng ch\u00ednh bao g\u1ed3m xem tr\u01b0\u1edbc th\u1eddi gian th\u1ef1c, chia s\u1ebb d\u1ec5 d\u00e0ng v\u00e0 xu\u1ea5t linh ho\u1ea1t.<\/li>\n<li><strong><a href=\"https:\/\/www.visual-paradigm.com\/guide\/mastering-vpascode-the-ultimate-guide-to-ai-powered-diagram-as-code-with-multi-engine-support\/\">L\u00e0m ch\u1ee7 VPasCode: H\u01b0\u1edbng d\u1eabn t\u1ed1i \u01b0u v\u1ec1 S\u01a1 \u0111\u1ed3 d\u01b0\u1edbi d\u1ea1ng M\u00e3 \u0111\u01b0\u1ee3c h\u1ed7 tr\u1ee3 b\u1edfi AI v\u1edbi kh\u1ea3 n\u0103ng h\u1ed7 tr\u1ee3 \u0111a \u0111\u1ed9ng c\u01a1<\/a><\/strong>: H\u01b0\u1edbng d\u1eabn to\u00e0n di\u1ec7n v\u1ec1 vi\u1ec7c t\u1eadn d\u1ee5ng c\u00e1c t\u00ednh n\u0103ng AI nh\u01b0 s\u1eeda l\u1ed7i v\u00e0 d\u1ecbch thu\u1eadt trong VPasCode.<\/li>\n<li><strong><a href=\"https:\/\/updates.visual-paradigm.com\/releases\/break-language-barriers-natively-with-vpascodes-new-ai-diagram-translation\/\">Ph\u00e1 v\u1ee1 r\u00e0o c\u1ea3n ng\u00f4n ng\u1eef m\u1ed9t c\u00e1ch b\u1ea3n \u0111\u1ecba v\u1edbi t\u00ednh n\u0103ng D\u1ecbch thu\u1eadt S\u01a1 \u0111\u1ed3 AI m\u1edbi c\u1ee7a VPasCode<\/a><\/strong>: M\u1ed9t b\u00e0i vi\u1ebft gi\u1ea3i th\u00edch t\u00ednh n\u0103ng d\u1ecbch thu\u1eadt s\u01a1 \u0111\u1ed3 AI v\u00e0 c\u00e1ch n\u00f3 \u0111\u1ecba ph\u01b0\u01a1ng h\u00f3a c\u00e1c nh\u00e3n trong khi v\u1eabn gi\u1eef nguy\u00ean c\u00fa ph\u00e1p.<\/li>\n<li><strong><a href=\"https:\/\/online.visual-paradigm.com\/\">Visual Paradigm Online<\/a><\/strong>: C\u1ed5ng ch\u00ednh \u0111\u1ec3 truy c\u1eadp c\u00e1c c\u00f4ng c\u1ee5 tr\u1ef1c tuy\u1ebfn c\u1ee7a Visual Paradigm, bao g\u1ed3m VPasCode.<\/li>\n<li><strong><a href=\"https:\/\/updates.visual-paradigm.com\/releases\/never-get-stuck-on-syntax-again-introducing-ai-code-error-fixing-in-vpascode\/\">Kh\u00f4ng bao gi\u1edd b\u1ecb m\u1eafc k\u1eb9t v\u1edbi c\u00fa ph\u00e1p n\u1eefa: Gi\u1edbi thi\u1ec7u t\u00ednh n\u0103ng S\u1eeda l\u1ed7i M\u00e3 AI trong VPasCode<\/a><\/strong>: Nh\u00ecn chi ti\u1ebft v\u00e0o ch\u1ee9c n\u0103ng s\u1eeda l\u1ed7i m\u00e3 AI v\u00e0 c\u00e1ch n\u00f3 gi\u00fap c\u00e1c nh\u00e0 ph\u00e1t tri\u1ec3n gi\u1ea3i quy\u1ebft c\u00e1c v\u1ea5n \u0111\u1ec1 c\u00fa ph\u00e1p ngay l\u1eadp t\u1ee9c.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Gi\u1edbi thi\u1ec7u Trong th\u1ebf gi\u1edbi ph\u00e1t tri\u1ec3n Agile \u0111\u1ea7y t\u1ed1c \u0111\u1ed9, t\u00e0i li\u1ec7u th\u01b0\u1eddng tr\u1edf th\u00e0nh n\u00fat th\u1eaft c\u1ed5 chai. C\u00e1c c\u00f4ng c\u1ee5 v\u1ebd bi\u1ec3u \u0111\u1ed3 k\u00e9o-th\u1ea3 truy\u1ec1n th\u1ed1ng \u0111\u00f2i&hellip;<\/p>\n","protected":false},"author":3,"featured_media":767,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","inline_featured_image":false,"source_url":"","source_h1_title":"","fifu_image_url":"https:\/\/www.go-minder.com\/wp-content\/uploads\/2026\/06\/img_6a30a2ba2873e.png","fifu_image_alt":"","_fifu_image_alt":"","fifu_alt":"","_fifu_alt":"","fifu_image_title":"","_fifu_image_title":"","fifu_input_alt":"","vp_image_hash":"","footnotes":""},"categories":[13,64],"tags":[],"asset-category":[],"class_list":["post-766","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai","category-vpascode"],"source_url":"","source_h1_title":"","fifu_image_url":"https:\/\/www.go-minder.com\/wp-content\/uploads\/2026\/06\/img_6a30a2ba2873e.png","fifu_image_alt":"","vp_image_hash":"","yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>T\u1eeb V\u0103n b\u1ea3n \u0111\u1ebfn Ki\u1ebfn tr\u00fac: L\u00e0m ch\u1ee7 VPasCode c\u1ee7a Visual Paradigm cho c\u00e1c \u0111\u1ed9i Agile - Go Minder Vietnamese - Your Hub for AI and Software Trends<\/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.go-minder.com\/vn\/from-text-to-architecture-mastering-visual-paradigms-vpascode-for-agile-teams\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"T\u1eeb V\u0103n b\u1ea3n \u0111\u1ebfn Ki\u1ebfn tr\u00fac: L\u00e0m ch\u1ee7 VPasCode c\u1ee7a Visual Paradigm cho c\u00e1c \u0111\u1ed9i Agile - Go Minder Vietnamese - Your Hub for AI and Software Trends\" \/>\n<meta property=\"og:description\" content=\"Gi\u1edbi thi\u1ec7u Trong th\u1ebf gi\u1edbi ph\u00e1t tri\u1ec3n Agile \u0111\u1ea7y t\u1ed1c \u0111\u1ed9, t\u00e0i li\u1ec7u th\u01b0\u1eddng tr\u1edf th\u00e0nh n\u00fat th\u1eaft c\u1ed5 chai. C\u00e1c c\u00f4ng c\u1ee5 v\u1ebd bi\u1ec3u \u0111\u1ed3 k\u00e9o-th\u1ea3 truy\u1ec1n th\u1ed1ng \u0111\u00f2i&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.go-minder.com\/vn\/from-text-to-architecture-mastering-visual-paradigms-vpascode-for-agile-teams\/\" \/>\n<meta property=\"og:site_name\" content=\"Go Minder Vietnamese - Your Hub for AI and Software Trends\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-16T01:12:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-17T07:16:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.go-minder.com\/wp-content\/uploads\/2026\/06\/img_6a30a2ba2873e.png\" \/><meta property=\"og:image\" content=\"https:\/\/www.go-minder.com\/wp-content\/uploads\/2026\/06\/img_6a30a2ba2873e.png\" \/>\n\t<meta property=\"og:image:width\" content=\"977\" \/>\n\t<meta property=\"og:image:height\" content=\"543\" \/>\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:image\" content=\"https:\/\/www.go-minder.com\/wp-content\/uploads\/2026\/06\/img_6a30a2ba2873e.png\" \/>\n<meta name=\"twitter:label1\" content=\"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi\" \/>\n\t<meta name=\"twitter:data1\" content=\"\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 ph\u00fat\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.go-minder.com\/vn\/from-text-to-architecture-mastering-visual-paradigms-vpascode-for-agile-teams\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.go-minder.com\/vn\/from-text-to-architecture-mastering-visual-paradigms-vpascode-for-agile-teams\/\"},\"author\":{\"name\":\"curtis\",\"@id\":\"https:\/\/www.go-minder.com\/vn\/#\/schema\/person\/16da910cd6b226cc1dd44b77156cb29d\"},\"headline\":\"T\u1eeb V\u0103n b\u1ea3n \u0111\u1ebfn Ki\u1ebfn tr\u00fac: L\u00e0m ch\u1ee7 VPasCode c\u1ee7a Visual Paradigm cho c\u00e1c \u0111\u1ed9i Agile\",\"datePublished\":\"2026-06-16T01:12:15+00:00\",\"dateModified\":\"2026-06-17T07:16:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.go-minder.com\/vn\/from-text-to-architecture-mastering-visual-paradigms-vpascode-for-agile-teams\/\"},\"wordCount\":3974,\"publisher\":{\"@id\":\"https:\/\/www.go-minder.com\/vn\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.go-minder.com\/vn\/from-text-to-architecture-mastering-visual-paradigms-vpascode-for-agile-teams\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.go-minder.com\/vn\/wp-content\/uploads\/sites\/10\/2026\/06\/img_6a30a2ba2873e.png\",\"articleSection\":[\"AI\",\"VPasCode\"],\"inLanguage\":\"vi\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.go-minder.com\/vn\/from-text-to-architecture-mastering-visual-paradigms-vpascode-for-agile-teams\/\",\"url\":\"https:\/\/www.go-minder.com\/vn\/from-text-to-architecture-mastering-visual-paradigms-vpascode-for-agile-teams\/\",\"name\":\"T\u1eeb V\u0103n b\u1ea3n \u0111\u1ebfn Ki\u1ebfn tr\u00fac: L\u00e0m ch\u1ee7 VPasCode c\u1ee7a Visual Paradigm cho c\u00e1c \u0111\u1ed9i Agile - Go Minder Vietnamese - Your Hub for AI and Software Trends\",\"isPartOf\":{\"@id\":\"https:\/\/www.go-minder.com\/vn\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.go-minder.com\/vn\/from-text-to-architecture-mastering-visual-paradigms-vpascode-for-agile-teams\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.go-minder.com\/vn\/from-text-to-architecture-mastering-visual-paradigms-vpascode-for-agile-teams\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.go-minder.com\/vn\/wp-content\/uploads\/sites\/10\/2026\/06\/img_6a30a2ba2873e.png\",\"datePublished\":\"2026-06-16T01:12:15+00:00\",\"dateModified\":\"2026-06-17T07:16:34+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.go-minder.com\/vn\/from-text-to-architecture-mastering-visual-paradigms-vpascode-for-agile-teams\/#breadcrumb\"},\"inLanguage\":\"vi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.go-minder.com\/vn\/from-text-to-architecture-mastering-visual-paradigms-vpascode-for-agile-teams\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\/\/www.go-minder.com\/vn\/from-text-to-architecture-mastering-visual-paradigms-vpascode-for-agile-teams\/#primaryimage\",\"url\":\"https:\/\/www.go-minder.com\/vn\/wp-content\/uploads\/sites\/10\/2026\/06\/img_6a30a2ba2873e.png\",\"contentUrl\":\"https:\/\/www.go-minder.com\/vn\/wp-content\/uploads\/sites\/10\/2026\/06\/img_6a30a2ba2873e.png\",\"width\":977,\"height\":543},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.go-minder.com\/vn\/from-text-to-architecture-mastering-visual-paradigms-vpascode-for-agile-teams\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.go-minder.com\/vn\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"T\u1eeb V\u0103n b\u1ea3n \u0111\u1ebfn Ki\u1ebfn tr\u00fac: L\u00e0m ch\u1ee7 VPasCode c\u1ee7a Visual Paradigm cho c\u00e1c \u0111\u1ed9i Agile\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.go-minder.com\/vn\/#website\",\"url\":\"https:\/\/www.go-minder.com\/vn\/\",\"name\":\"Go Minder Vietnamese - Your Hub for AI and Software Trends\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.go-minder.com\/vn\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.go-minder.com\/vn\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"vi\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.go-minder.com\/vn\/#organization\",\"name\":\"Go Minder Vietnamese - Your Hub for AI and Software Trends\",\"url\":\"https:\/\/www.go-minder.com\/vn\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\/\/www.go-minder.com\/vn\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.go-minder.com\/vn\/wp-content\/uploads\/sites\/10\/2026\/01\/cropped-go-minder-favicon.png\",\"contentUrl\":\"https:\/\/www.go-minder.com\/vn\/wp-content\/uploads\/sites\/10\/2026\/01\/cropped-go-minder-favicon.png\",\"width\":512,\"height\":512,\"caption\":\"Go Minder Vietnamese - Your Hub for AI and Software Trends\"},\"image\":{\"@id\":\"https:\/\/www.go-minder.com\/vn\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.go-minder.com\/vn\/#\/schema\/person\/16da910cd6b226cc1dd44b77156cb29d\",\"name\":\"curtis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\/\/www.go-minder.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.go-minder.com\/vn\/author\/curtis\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"T\u1eeb V\u0103n b\u1ea3n \u0111\u1ebfn Ki\u1ebfn tr\u00fac: L\u00e0m ch\u1ee7 VPasCode c\u1ee7a Visual Paradigm cho c\u00e1c \u0111\u1ed9i Agile - Go Minder Vietnamese - Your Hub for AI and Software Trends","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.go-minder.com\/vn\/from-text-to-architecture-mastering-visual-paradigms-vpascode-for-agile-teams\/","og_locale":"vi_VN","og_type":"article","og_title":"T\u1eeb V\u0103n b\u1ea3n \u0111\u1ebfn Ki\u1ebfn tr\u00fac: L\u00e0m ch\u1ee7 VPasCode c\u1ee7a Visual Paradigm cho c\u00e1c \u0111\u1ed9i Agile - Go Minder Vietnamese - Your Hub for AI and Software Trends","og_description":"Gi\u1edbi thi\u1ec7u Trong th\u1ebf gi\u1edbi ph\u00e1t tri\u1ec3n Agile \u0111\u1ea7y t\u1ed1c \u0111\u1ed9, t\u00e0i li\u1ec7u th\u01b0\u1eddng tr\u1edf th\u00e0nh n\u00fat th\u1eaft c\u1ed5 chai. C\u00e1c c\u00f4ng c\u1ee5 v\u1ebd bi\u1ec3u \u0111\u1ed3 k\u00e9o-th\u1ea3 truy\u1ec1n th\u1ed1ng \u0111\u00f2i&hellip;","og_url":"https:\/\/www.go-minder.com\/vn\/from-text-to-architecture-mastering-visual-paradigms-vpascode-for-agile-teams\/","og_site_name":"Go Minder Vietnamese - Your Hub for AI and Software Trends","article_published_time":"2026-06-16T01:12:15+00:00","article_modified_time":"2026-06-17T07:16:34+00:00","og_image":[{"url":"https:\/\/www.go-minder.com\/wp-content\/uploads\/2026\/06\/img_6a30a2ba2873e.png","type":"","width":"","height":""},{"width":977,"height":543,"url":"https:\/\/www.go-minder.com\/wp-content\/uploads\/2026\/06\/img_6a30a2ba2873e.png","type":"image\/png"}],"author":"curtis","twitter_card":"summary_large_image","twitter_image":"https:\/\/www.go-minder.com\/wp-content\/uploads\/2026\/06\/img_6a30a2ba2873e.png","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":false,"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"9 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.go-minder.com\/vn\/from-text-to-architecture-mastering-visual-paradigms-vpascode-for-agile-teams\/#article","isPartOf":{"@id":"https:\/\/www.go-minder.com\/vn\/from-text-to-architecture-mastering-visual-paradigms-vpascode-for-agile-teams\/"},"author":{"name":"curtis","@id":"https:\/\/www.go-minder.com\/vn\/#\/schema\/person\/16da910cd6b226cc1dd44b77156cb29d"},"headline":"T\u1eeb V\u0103n b\u1ea3n \u0111\u1ebfn Ki\u1ebfn tr\u00fac: L\u00e0m ch\u1ee7 VPasCode c\u1ee7a Visual Paradigm cho c\u00e1c \u0111\u1ed9i Agile","datePublished":"2026-06-16T01:12:15+00:00","dateModified":"2026-06-17T07:16:34+00:00","mainEntityOfPage":{"@id":"https:\/\/www.go-minder.com\/vn\/from-text-to-architecture-mastering-visual-paradigms-vpascode-for-agile-teams\/"},"wordCount":3974,"publisher":{"@id":"https:\/\/www.go-minder.com\/vn\/#organization"},"image":{"@id":"https:\/\/www.go-minder.com\/vn\/from-text-to-architecture-mastering-visual-paradigms-vpascode-for-agile-teams\/#primaryimage"},"thumbnailUrl":"https:\/\/www.go-minder.com\/vn\/wp-content\/uploads\/sites\/10\/2026\/06\/img_6a30a2ba2873e.png","articleSection":["AI","VPasCode"],"inLanguage":"vi"},{"@type":"WebPage","@id":"https:\/\/www.go-minder.com\/vn\/from-text-to-architecture-mastering-visual-paradigms-vpascode-for-agile-teams\/","url":"https:\/\/www.go-minder.com\/vn\/from-text-to-architecture-mastering-visual-paradigms-vpascode-for-agile-teams\/","name":"T\u1eeb V\u0103n b\u1ea3n \u0111\u1ebfn Ki\u1ebfn tr\u00fac: L\u00e0m ch\u1ee7 VPasCode c\u1ee7a Visual Paradigm cho c\u00e1c \u0111\u1ed9i Agile - Go Minder Vietnamese - Your Hub for AI and Software Trends","isPartOf":{"@id":"https:\/\/www.go-minder.com\/vn\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.go-minder.com\/vn\/from-text-to-architecture-mastering-visual-paradigms-vpascode-for-agile-teams\/#primaryimage"},"image":{"@id":"https:\/\/www.go-minder.com\/vn\/from-text-to-architecture-mastering-visual-paradigms-vpascode-for-agile-teams\/#primaryimage"},"thumbnailUrl":"https:\/\/www.go-minder.com\/vn\/wp-content\/uploads\/sites\/10\/2026\/06\/img_6a30a2ba2873e.png","datePublished":"2026-06-16T01:12:15+00:00","dateModified":"2026-06-17T07:16:34+00:00","breadcrumb":{"@id":"https:\/\/www.go-minder.com\/vn\/from-text-to-architecture-mastering-visual-paradigms-vpascode-for-agile-teams\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.go-minder.com\/vn\/from-text-to-architecture-mastering-visual-paradigms-vpascode-for-agile-teams\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.go-minder.com\/vn\/from-text-to-architecture-mastering-visual-paradigms-vpascode-for-agile-teams\/#primaryimage","url":"https:\/\/www.go-minder.com\/vn\/wp-content\/uploads\/sites\/10\/2026\/06\/img_6a30a2ba2873e.png","contentUrl":"https:\/\/www.go-minder.com\/vn\/wp-content\/uploads\/sites\/10\/2026\/06\/img_6a30a2ba2873e.png","width":977,"height":543},{"@type":"BreadcrumbList","@id":"https:\/\/www.go-minder.com\/vn\/from-text-to-architecture-mastering-visual-paradigms-vpascode-for-agile-teams\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.go-minder.com\/vn\/"},{"@type":"ListItem","position":2,"name":"T\u1eeb V\u0103n b\u1ea3n \u0111\u1ebfn Ki\u1ebfn tr\u00fac: L\u00e0m ch\u1ee7 VPasCode c\u1ee7a Visual Paradigm cho c\u00e1c \u0111\u1ed9i Agile"}]},{"@type":"WebSite","@id":"https:\/\/www.go-minder.com\/vn\/#website","url":"https:\/\/www.go-minder.com\/vn\/","name":"Go Minder Vietnamese - Your Hub for AI and Software Trends","description":"","publisher":{"@id":"https:\/\/www.go-minder.com\/vn\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.go-minder.com\/vn\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":"Organization","@id":"https:\/\/www.go-minder.com\/vn\/#organization","name":"Go Minder Vietnamese - Your Hub for AI and Software Trends","url":"https:\/\/www.go-minder.com\/vn\/","logo":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.go-minder.com\/vn\/#\/schema\/logo\/image\/","url":"https:\/\/www.go-minder.com\/vn\/wp-content\/uploads\/sites\/10\/2026\/01\/cropped-go-minder-favicon.png","contentUrl":"https:\/\/www.go-minder.com\/vn\/wp-content\/uploads\/sites\/10\/2026\/01\/cropped-go-minder-favicon.png","width":512,"height":512,"caption":"Go Minder Vietnamese - Your Hub for AI and Software Trends"},"image":{"@id":"https:\/\/www.go-minder.com\/vn\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.go-minder.com\/vn\/#\/schema\/person\/16da910cd6b226cc1dd44b77156cb29d","name":"curtis","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.go-minder.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.go-minder.com\/vn\/author\/curtis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.go-minder.com\/vn\/wp-json\/wp\/v2\/posts\/766","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.go-minder.com\/vn\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.go-minder.com\/vn\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.go-minder.com\/vn\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.go-minder.com\/vn\/wp-json\/wp\/v2\/comments?post=766"}],"version-history":[{"count":0,"href":"https:\/\/www.go-minder.com\/vn\/wp-json\/wp\/v2\/posts\/766\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.go-minder.com\/vn\/wp-json\/wp\/v2\/media\/767"}],"wp:attachment":[{"href":"https:\/\/www.go-minder.com\/vn\/wp-json\/wp\/v2\/media?parent=766"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.go-minder.com\/vn\/wp-json\/wp\/v2\/categories?post=766"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.go-minder.com\/vn\/wp-json\/wp\/v2\/tags?post=766"},{"taxonomy":"asset-category","embeddable":true,"href":"https:\/\/www.go-minder.com\/vn\/wp-json\/wp\/v2\/asset-category?post=766"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}