{"id":2118,"date":"2026-05-26T07:05:25","date_gmt":"2026-05-26T07:05:25","guid":{"rendered":"https:\/\/www.vpascode.com\/vn\/docs\/uncategorized\/plantuml-sequence-diagram-syntax-guide\/"},"modified":"2026-05-26T07:05:25","modified_gmt":"2026-05-26T07:05:25","slug":"plantuml-sequence-diagram-syntax-guide","status":"publish","type":"ld_docs","link":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-sequence-diagram-syntax-guide\/","title":{"rendered":"H\u01b0\u1edbng d\u1eabn c\u00fa ph\u00e1p s\u01a1 \u0111\u1ed3 tu\u1ea7n t\u1ef1 PlantUML"},"content":{"rendered":"<h2>S\u01a1 \u0111\u1ed3 tu\u1ea7n t\u1ef1 l\u00e0 g\u00ec?<\/h2>\n<p>M\u1ed9t <strong>s\u01a1 \u0111\u1ed3 tu\u1ea7n t\u1ef1<\/strong> l\u00e0 m\u1ed9t s\u01a1 \u0111\u1ed3 h\u00e0nh vi <strong>s\u01a1 \u0111\u1ed3 UML<\/strong> m\u00f4 t\u1ea3 chi ti\u1ebft c\u00e1ch c\u00e1c thao t\u00e1c ph\u1ea7n m\u1ec1m \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n theo th\u1eddi gian. L\u00e0 m\u1ed9t ti\u00eau chu\u1ea9n c\u1ed1t l\u00f5i trong \u0111\u1eb7c t\u1ea3 Ng\u00f4n ng\u1eef M\u00f4 h\u00ecnh h\u00f3a \u0110\u01a1n nh\u1ea5t (UML), n\u00f3 m\u00f4 h\u00ecnh h\u00f3a th\u1ee9 t\u1ef1 ch\u00ednh x\u00e1c theo th\u1eddi gian m\u00e0 c\u00e1c \u0111\u1ed1i t\u01b0\u1ee3ng, quy tr\u00ecnh ho\u1eb7c microservice trao \u0111\u1ed5i tin nh\u1eafn. B\u1eb1ng c\u00e1ch bi\u1ec3u di\u1ec5n c\u00e1c \u0111\u01b0\u1eddng s\u1ed1ng theo chi\u1ec1u d\u1ecdc v\u00e0 c\u00e1c t\u01b0\u01a1ng t\u00e1c tu\u1ea7n t\u1ef1 theo chi\u1ec1u ngang, lo\u1ea1i s\u01a1 \u0111\u1ed3 UML n\u00e0y <strong>lo\u1ea1i s\u01a1 \u0111\u1ed3 UML<\/strong> cho ph\u00e9p c\u00e1c k\u1ef9 s\u01b0 ph\u1ea7n m\u1ec1m v\u00e0 ki\u1ebfn tr\u00fac s\u01b0 h\u1ec7 th\u1ed1ng h\u00ecnh dung r\u00f5 r\u00e0ng c\u00e1c chu\u1ed7i g\u1ecdi API ph\u1ee9c t\u1ea1p, c\u00e1c thao t\u00e1c trao \u0111\u1ed5i d\u1eef li\u1ec7u m\u1ea1ng v\u00e0 c\u00e1c ranh gi\u1edbi giao d\u1ecbch c\u01a1 s\u1edf d\u1eef li\u1ec7u tr\u01b0\u1edbc khi vi\u1ebft m\u00e3 s\u1ea3n xu\u1ea5t.<\/p>\n<p>V\u1edbi <strong>VPasCode<\/strong>, b\u1ea1n kh\u00f4ng c\u1ea7n m\u1ea5t h\u00e0ng gi\u1edd \u0111\u1ec3 c\u0103n ch\u1ec9nh c\u00e1c m\u0169i t\u00ean song song, k\u00e9o d\u00e0i c\u00e1c \u0111\u01b0\u1eddng tin nh\u1eafn hay di chuy\u1ec3n c\u00e1c h\u1ed9p gi\u1edbi h\u1ea1n \u0111\u1ec3 t\u1ea1o kh\u00f4ng gian cho m\u1ed9t b\u01b0\u1edbc m\u1edbi. B\u1ed9 \u0111\u1ed9ng l\u1ef1c b\u1ed1 c\u1ee5c c\u1ee7a ch\u00fang t\u00f4i t\u00ednh to\u00e1n to\u00e0n b\u1ed9 l\u01b0\u1edbi th\u1eddi gian m\u1ed9t c\u00e1ch \u0111\u1ed9ng khi b\u1ea1n nh\u1eadp c\u00e1c \u0111o\u1ea1n m\u00e3 khai b\u00e1o v\u0103n b\u1ea3n thu\u1ea7n t\u00fay.<\/p>\n<h2>H\u01b0\u1edbng d\u1eabn c\u00fa ph\u00e1p c\u1ed1t l\u00f5i: C\u00e1c th\u00e0nh ph\u1ea7n v\u00e0 c\u1ea5u tr\u00fac<\/h2>\n<p>\u0110\u1ec3 thi\u1ebft k\u1ebf m\u1ed9t s\u01a1 \u0111\u1ed3 tu\u1ea7n t\u1ef1 UML c\u00f3 th\u1ec3 th\u1ef1c thi v\u00e0 tu\u00e2n th\u1ee7 ti\u00eau chu\u1ea9n trong PlantUML, b\u1ea1n c\u1ea7n th\u00e0nh th\u1ea1o c\u00e1c khai b\u00e1o th\u00e0nh ph\u1ea7n, ki\u1ec3u m\u0169i t\u00ean tin nh\u1eafn, c\u00e1c \u0111\u01b0\u1eddng s\u1ed1ng v\u00e0 c\u00e1c c\u1ea5u tr\u00fac \u0111i\u1ec1u khi\u1ec3n logic.<\/p>\n<h3>1. Khai b\u00e1o ng\u01b0\u1eddi tham gia v\u00e0 h\u00ecnh d\u1ea1ng UML<\/h3>\n<p>M\u1eb7c \u0111\u1ecbnh, c\u00e1c th\u00e0nh ph\u1ea7n trong s\u01a1 \u0111\u1ed3 UML n\u00e0y k\u1ebf th\u1eeba h\u00ecnh d\u1ea1ng h\u1ed9p vu\u00f4ng ti\u00eau chu\u1ea9n. Tuy nhi\u00ean, b\u1ea1n c\u00f3 th\u1ec3 thay \u0111\u1ed5i m\u1eabu h\u00ecnh \u1ea3nh c\u1ee7a c\u00e1c th\u1ef1c th\u1ec3 \u0111\u1ec3 cung c\u1ea5p cho ng\u01b0\u1eddi \u0111\u1ecdc b\u1ed1i c\u1ea3nh ki\u1ebfn tr\u00fac t\u1ee9c th\u00ec v\u1ec1 ranh gi\u1edbi h\u1ec7 th\u1ed1ng c\u1ee7a b\u1ea1n b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng c\u00e1c t\u1eeb kh\u00f3a UML c\u1ee5 th\u1ec3:<\/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:IqmkoIzISCx9JCqhuULAoY_DIqaigbHGSWpmL71FB4ajJwnKKaWiXh5vkPBpyqgAydCKd25qJceHBrTAOabYKc9nge9IG7vnINfHQd2W3rYNYnC0\" 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:IqmkoIzISCx9JCqhuULAoY_DIqaigbHGSWpmL71FB4ajJwnKKaWiXh5vkPBpyqgAydCKd25qJceHBrTAOabYKc9nge9IG7vnINfHQd2W3rYNYnC0\" \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\">actor Client\r\nboundary \"API Gateway\" as Gateway\r\ncontrol Controller\r\ndatabase \"PostgreSQL\" as DB<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:IqmkoIzISCx9JCqhuULAoY_DIqaigbHGSWpmL71FB4ajJwnKKaWiXh5vkPBpyqgAydCKd25qJceHBrTAOabYKc9nge9IG7vnINfHQd2W3rYNYnC0\" \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:IqmkoIzISCx9JCqhuULAoY_DIqaigbHGSWpmL71FB4ajJwnKKaWiXh5vkPBpyqgAydCKd25qJceHBrTAOabYKc9nge9IG7vnINfHQd2W3rYNYnC0\" 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 id=\"KAQHVeB\"><img fetchpriority=\"high\" alt=\"\" class=\"alignnone size-full wp-image-559\" decoding=\"async\" fetchpriority=\"high\" height=\"171\" sizes=\"(max-width: 327px) 100vw, 327px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18f8637e3aa.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18f8637e3aa.png 327w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18f8637e3aa-300x157.png 300w\" width=\"327\"\/><\/p>\n<h3>2. M\u0169i t\u00ean tin nh\u1eafn v\u00e0 t\u00ednh \u0111\u1ed3ng b\u1ed9<\/h3>\n<p>Ki\u1ec3u d\u00e1ng c\u1ee7a c\u00e1c \u0111\u01b0\u1eddng v\u00e0 \u0111\u1ea7u m\u0169i t\u00ean c\u1ee7a b\u1ea1n x\u00e1c \u0111\u1ecbnh ch\u00ednh x\u00e1c giao th\u1ee9c truy\u1ec1n th\u00f4ng di\u1ec5n ra trong c\u00e1c \u0111\u01b0\u1eddng \u1ed1ng h\u1ea1 t\u1ea7ng c\u1ee7a b\u1ea1n d\u1ef1a tr\u00ean ti\u00eau chu\u1ea9n s\u01a1 \u0111\u1ed3 UML:<\/p>\n<ul>\n<li><strong>Y\u00eau c\u1ea7u \u0111\u1ed3ng b\u1ed9 (Ch\u1eb7n):<\/strong> \u0110\u01b0\u1ee3c bi\u1ec3u th\u1ecb b\u1eb1ng \u0111\u01b0\u1eddng li\u1ec1n v\u00e0 \u0111\u1ea7u m\u0169i t\u00ean li\u1ec1n. Ng\u01b0\u1eddi g\u1eedi ch\u1edd ph\u1ea3n h\u1ed3i: <code>A -&gt; B<\/code><\/li>\n<li><strong>Tin nh\u1eafn b\u1ea5t \u0111\u1ed3ng b\u1ed9 (Kh\u00f4ng ch\u1eb7n):<\/strong> \u0110\u01b0\u1ee3c bi\u1ec3u th\u1ecb b\u1eb1ng \u0111\u01b0\u1eddng li\u1ec1n v\u00e0 \u0111\u1ea7u m\u0169i t\u00ean m\u1ecfng m\u1edf. Ng\u01b0\u1eddi g\u1eedi truy\u1ec1n d\u1eef li\u1ec7u v\u00e0 ti\u1ebfp t\u1ee5c ngay l\u1eadp t\u1ee9c: <code>A -&gt;&gt; B<\/code><\/li>\n<li><strong>Ph\u1ea3n h\u1ed3i \/ Gi\u00e1 tr\u1ecb tr\u1ea3 v\u1ec1:<\/strong> \u0110\u01b0\u1ee3c bi\u1ec3u th\u1ecb b\u1eb1ng \u0111\u01b0\u1eddng ch\u1ea5m v\u00e0 \u0111\u1ea7u m\u0169i t\u00ean m\u1edf: <code>B --&gt; A<\/code><\/li>\n<\/ul>\n<h3>3. Qu\u1ea3n l\u00fd c\u00e1c \u0111\u01b0\u1eddng s\u1ed1ng (K\u00edch ho\u1ea1t v\u00e0 V\u00f4 hi\u1ec7u h\u00f3a)<\/h3>\n<p>\u0110\u1ec3 tr\u00e1nh c\u00e1c th\u00e0nh ph\u1ea7n c\u1ee7a b\u1ea1n tr\u00f4ng gi\u1ed1ng nh\u01b0 nh\u1eefng thanh ph\u1eb3ng, b\u1ea1n n\u00ean hi\u1ec3n th\u1ecb r\u00f5 r\u00e0ng khi m\u1ed9t ti\u1ebfn tr\u00ecnh \u0111ang th\u1ef1c s\u1ef1 s\u1eed d\u1ee5ng c\u00e1c lu\u1ed3ng CPU ho\u1eb7c dung l\u01b0\u1ee3ng b\u1ed9 nh\u1edb. S\u1eed d\u1ee5ng c\u00e1c k\u00fd hi\u1ec7u <code>k\u00edch ho\u1ea1t<\/code> v\u00e0 <code>v\u00f4 hi\u1ec7u h\u00f3a<\/code> \u0111\u1ec3 \u0111\u00e1nh d\u1ea5u, ho\u1eb7c s\u1eed d\u1ee5ng c\u00fa ph\u00e1p r\u00fat g\u1ecdn d\u1ea1ng t\u0103ng tr\u1ef1c ti\u1ebfp (<code>++<\/code> \/ <code>--<\/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:SqyiIIrFh5JGjLDmpiyhAShFoKajKj3MLh1IK2eeoazEBIuEIApCJSqhqT1KukL2KgCBrE8EqwqBKb-KMb9QbATGb9gScbbGeWG0\" 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:StwuUsfUkeAkdSAH2PaFTpUMAcHd0EdcF0LjRGKh1QM2elparEBYWCJAtDIy4WrD9LukT8MwGCtEK6DqGNfAYXxkMgnG1bIaa9HvU5MUGavYfX80\" \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\">C\u1ed5ng -&gt; \u0110i\u1ec1u khi\u1ec3n ++ : \"processPayment()\"\r\n\u0110i\u1ec1u khi\u1ec3n --&gt; C\u1ed5ng -- : \"tr\u1ea3 v\u1ec1 bi\u00ean lai\"<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:StwuUsfUkeAkdSAH2PaFTpUMAcHd0EdcF0LjRGKh1QM2elparEBYWCJAtDIy4WrD9LukT8MwGCtEK6DqGNfAYXxkMgnG1bIaa9HvU5MUGavYfX80\" \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:SqyiIIrFh5JGjLDmpiyhAShFoKajKj3MLh1IK2eeoazEBIuEIApCJSqhqT1KukL2KgCBrE8EqwqBKb-KMb9QbATGb9gScbbGeWG0\" 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 id=\"gzStGhj\"><img alt=\"\" class=\"alignnone size-full wp-image-560\" decoding=\"async\" height=\"140\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18f8700563f.png\" width=\"235\"\/><\/p>\n<h3>4. C\u00e1c kh\u1ed1i logic: L\u1ef1a ch\u1ecdn, V\u00f2ng l\u1eb7p v\u00e0 Song song<\/h3>\n<p>C\u00e1c logic kinh doanh ph\u1ee9c t\u1ea1p (nh\u01b0 nh\u00e1nh if\/else, th\u1eed l\u1ea1i c\u01a1 s\u1edf d\u1eef li\u1ec7u, ho\u1eb7c c\u00e1c lu\u1ed3ng th\u1ef1c thi song song) ph\u1ea3i \u0111\u01b0\u1ee3c bao b\u1ecdc b\u00ean trong c\u00e1c ranh gi\u1edbi khung to\u00e0n c\u1ee5c c\u00f3 c\u1ea5u tr\u00fac \u0111\u01b0\u1ee3c g\u1ecdi l\u00e0 c\u00e1c kh\u1ed1i k\u1ebft h\u1ee3p trong quy \u0111\u1ecbnh bi\u1ec3u \u0111\u1ed3 UML:<\/p>\n<ul>\n<li><strong>Logic \u0111i\u1ec1u ki\u1ec7n (alt \/ else):<\/strong> M\u00f4 h\u00ecnh h\u00f3a c\u00e1c nh\u00e1nh \u0111i\u1ec1u ki\u1ec7n.\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:NSmn2e0m44JHNl0EWxqNi13q11PU82GZ1a8MTpTuVRNrz--7uh0M8ysELX2bfknPQj_XRS4uOyM4OLE9PCAT_OJoQZGV-ex5Y2FaqfGm3yu_t4-L6rGLVU-97whf0G00\" 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:IymfKIWfUhXhOLwwGad6uOMP8791NeP2yk4jUUcyN0f0uAYWQwVWf62be1II-N3N_WA5aeUxboOhL1vULQgG_73Nyb8bNgxKdE9K38CUxbfQef045Cj4DyZlyCfSXTp3YnLo7kwUdWdIdvS20000\" \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\">alt tr\u1ea1ng th\u00e1i th\u00e0nh c\u00f4ng\r\n    A -&gt; B : \"Ti\u1ebfp t\u1ee5c y\u00eau c\u1ea7u\"\r\nelse tr\u1ea1ng th\u00e1i th\u1ea5t b\u1ea1i\r\n    A -&gt; B : \"N\u00e9m m\u00e3 l\u1ed7i\"\r\nend<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:IymfKIWfUhXhOLwwGad6uOMP8791NeP2yk4jUUcyN0f0uAYWQwVWf62be1II-N3N_WA5aeUxboOhL1vULQgG_73Nyb8bNgxKdE9K38CUxbfQef045Cj4DyZlyCfSXTp3YnLo7kwUdWdIdvS20000\" \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:NSmn2e0m44JHNl0EWxqNi13q11PU82GZ1a8MTpTuVRNrz--7uh0M8ysELX2bfknPQj_XRS4uOyM4OLE9PCAT_OJoQZGV-ex5Y2FaqfGm3yu_t4-L6rGLVU-97whf0G00\" 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 id=\"IiQjPoY\"><img alt=\"\" class=\"alignnone size-full wp-image-561\" decoding=\"async\" height=\"186\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18f87e19b90.png\" width=\"223\"\/><\/p>\n<\/li>\n<li><strong>V\u00f2ng l\u1eb7p l\u1eb7p l\u1ea1i (loop):<\/strong> M\u00f4 h\u00ecnh h\u00f3a c\u00e1c l\u1ea7n l\u1eb7p, th\u1eed l\u1ea1i, ho\u1eb7c c\u00e1c kh\u1ed1i x\u1eed l\u00fd h\u00e0ng \u0111\u1ee3i cho \u0111\u1ebfn khi \u0111i\u1ec1u ki\u1ec7n \u0111\u01b0\u1ee3c th\u1ecfa m\u00e3n.\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:oydFBr0epIl9p54eB4qjJLN8B5P8pIqegUJbKW22yFoYxDGY1LqxXK2mh9M2abjgINA6GbvgHOb2LdwI4YzNQbuA0000\" 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:oydFBr18piXNE3BnuQxzUGhP6PaA6OSNvAM317OlpbGeANguUs9UEY-N0X3ufH_Ry73tt4o5dCCBSXNACX_kRazMqBLJy43MOQMWvFDmrz9AXUJ3Mu2YK5KbcK3p2nHACbBpbNYvKlDI0000\" \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\">loop cho \u0111\u1ebfn khi h\u00e0ng \u0111\u1ee3i tr\u1ed1ng\r\n    Ng\u01b0\u1eddi l\u00e0m vi\u1ec7c -&gt; H\u00e0ng \u0111\u1ee3i : \"L\u1ea5y c\u00f4ng vi\u1ec7c ti\u1ebfp theo\"\r\nend<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:oydFBr18piXNE3BnuQxzUGhP6PaA6OSNvAM317OlpbGeANguUs9UEY-N0X3ufH_Ry73tt4o5dCCBSXNACX_kRazMqBLJy43MOQMWvFDmrz9AXUJ3Mu2YK5KbcK3p2nHACbBpbNYvKlDI0000\" \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:oydFBr0epIl9p54eB4qjJLN8B5P8pIqegUJbKW22yFoYxDGY1LqxXK2mh9M2abjgINA6GbvgHOb2LdwI4YzNQbuA0000\" 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 id=\"xTCUEgP\"><img loading=\"lazy\" alt=\"\" class=\"alignnone size-full wp-image-562\" decoding=\"async\" height=\"142\" loading=\"lazy\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18f88daf040.png\" width=\"237\"\/><\/p>\n<\/li>\n<li><strong>Th\u1ef1c thi song song (par):<\/strong> C\u00e1c m\u00f4 h\u00ecnh t\u00e1ch bi\u1ec7t c\u00e1c thao t\u00e1c \u0111ang th\u1ef1c thi \u0111\u1ed3ng th\u1eddi tr\u00ean c\u00e1c lu\u1ed3ng \u0111\u1ed9c l\u1eadp.\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:JOmx2iD030LxW-_mS9yBf0ZaKwPAYjHYBGU1zeCa6tpxUBkyRc3cDJAyre96HggiQ5OJkxEF0uvTSRhWMRzljaqIuupfOnACC3gG2kaUadmQ1rRdl-Xnw_AzvYo1j7hKpDRl5r76J46zAVCF\" 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:AqWiKd3EUBXhOQL2yk65oGg5fPKA9KM7r-HbA1JdvwM32Luk1I1mLD2rK_39JmzEBIhBJ4vLi59GSi_8L2Z8EBmeJw7ayDha38MoXxlsboYKPAJcAwGStfgfnCkLcbESYgJTnGcapJanLo4Rh3JbuUxr2ZcP3tUtbofaFDmzMQ7us4A5x0oWGp8KCWulo4i76P6N0W00\" \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\">par Ch\u1ea1y c\u00e1c quy tr\u00ecnh song song\r\n    A -&gt; LogService : \"Ghi ph\u00e2n t\u00edch v\u1ebft theo d\u00f5i\"\r\nelse\r\n    A -&gt; DB : \"Cam k\u1ebft d\u1eef li\u1ec7u h\u1ed3 s\u01a1 kh\u00e1ch h\u00e0ng\"\r\nend<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:AqWiKd3EUBXhOQL2yk65oGg5fPKA9KM7r-HbA1JdvwM32Luk1I1mLD2rK_39JmzEBIhBJ4vLi59GSi_8L2Z8EBmeJw7ayDha38MoXxlsboYKPAJcAwGStfgfnCkLcbESYgJTnGcapJanLo4Rh3JbuUxr2ZcP3tUtbofaFDmzMQ7us4A5x0oWGp8KCWulo4i76P6N0W00\" \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:JOmx2iD030LxW-_mS9yBf0ZaKwPAYjHYBGU1zeCa6tpxUBkyRc3cDJAyre96HggiQ5OJkxEF0uvTSRhWMRzljaqIuupfOnACC3gG2kaUadmQ1rRdl-Xnw_AzvYo1j7hKpDRl5r76J46zAVCF\" 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 id=\"xCknQAJ\"><img loading=\"lazy\" alt=\"\" class=\"alignnone size-full wp-image-563\" decoding=\"async\" height=\"174\" loading=\"lazy\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fd43b0677.png\" width=\"295\"\/><\/p>\n<\/li>\n<\/ul>\n<h2>C\u00e1c th\u1ef1c h\u00e0nh t\u1ed1t nh\u1ea5t cho c\u00e1c tr\u00ecnh t\u1ef1 s\u1ea1ch<\/h2>\n<ul>\n<li><strong>Nh\u00f3m c\u00e1c tin nh\u1eafn b\u1eb1ng c\u00e1c \u0111\u01b0\u1eddng ph\u00e2n c\u00e1ch:<\/strong> S\u1eed d\u1ee5ng hai d\u1ea5u b\u1eb1ng (&#8220;<code>== Giai \u0111o\u1ea1n c\u1ee7a b\u1ea1n ==<\/code>) \u0111\u1ec3 chia nh\u1ecf m\u1ed9t chu\u1ed7i x\u00e1c th\u1ef1c \u0111\u1ebfn thanh to\u00e1n kh\u1ed5ng l\u1ed3 th\u00e0nh c\u00e1c m\u1ed1c logic ri\u00eang bi\u1ec7t.<\/li>\n<li><strong>S\u1eed d\u1ee5ng \u0111\u00e1nh s\u1ed1 t\u1ef1 \u0111\u1ed9ng:<\/strong> \u0110\u1eb7t l\u1ec7nh <code>autonumber<\/code> ch\u1ec9 \u0111\u1ecbnh ngay ph\u00eda d\u01b0\u1edbi <code>@startuml<\/code>. \u0110i\u1ec1u n\u00e0y bu\u1ed9c m\u00f4i tr\u01b0\u1eddng l\u00e0m vi\u1ec7c \u0111\u00e1nh d\u1ea5u s\u1ed1 nguy\u00ean b\u01b0\u1edbc tr\u00ean m\u1ed7i m\u0169i t\u00ean, gi\u00fap vi\u1ec7c ki\u1ec3m tra m\u00e3 ngu\u1ed3n tr\u1edf n\u00ean d\u1ec5 d\u00e0ng h\u01a1n \u0111\u00e1ng k\u1ec3.<\/li>\n<li><strong>Gi\u1eef ph\u1ea3n h\u1ed3i s\u1ea1ch s\u1ebd:<\/strong> Tr\u00e1nh vi\u1ebft c\u00e1c c\u00e2u m\u00f4 t\u1ea3 d\u00e0i d\u00f2ng tr\u00ean c\u00e1c m\u0169i t\u00ean ph\u1ea3n h\u1ed3i (<code>--&gt;<\/code>). Thay v\u00e0o \u0111\u00f3, h\u00e3y \u0111\u01a1n gi\u1ea3n g\u00e1n nh\u00e3n cho \u0111\u1ed1i t\u01b0\u1ee3ng d\u1eef li\u1ec7u th\u00f4 ho\u1eb7c m\u00e3 HTTP n\u00e0o \u0111ang \u0111\u01b0\u1ee3c g\u1eedi ng\u01b0\u1ee3c l\u1ea1i (v\u00ed d\u1ee5: <code>\"201 T\u1ea1o Token\"<\/code>).<\/li>\n<\/ul>\n<h2>C\u00e1c v\u00ed d\u1ee5 v\u1ec1 s\u01a1 \u0111\u1ed3 tu\u1ea7n t\u1ef1 PlantUML trong th\u1ebf gi\u1edbi th\u1ef1c<\/h2>\n<h3>V\u00ed d\u1ee5 1: V\u00f2ng l\u1eb7p x\u00e1c th\u1ef1c d\u1ecbch v\u1ee5 vi m\u00f4 (Kh\u1ed1i Alt &amp; \u0110\u01b0\u1eddng s\u1ed1ng)<\/h3>\n<p>M\u1eabu n\u00e0y x\u1eed l\u00fd m\u1ed9t tr\u00ecnh t\u1ef1 b\u1ea3o m\u1eadt ti\u00eau chu\u1ea9n n\u01a1i m\u1ed9t client x\u00e1c th\u1ef1c v\u1edbi m\u1ed9t c\u1ed5ng, th\u1ec3 hi\u1ec7n r\u00f5 r\u00e0ng c\u00e1c \u0111\u01b0\u1eddng s\u1ed1ng v\u00e0 khung k\u1ebft qu\u1ea3 \u0111i\u1ec1u ki\u1ec7n thay th\u1ebf b\u00ean trong \u0111\u1ecbnh d\u1ea1ng s\u01a1 \u0111\u1ed3 UML ti\u00eau chu\u1ea9n.<\/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:TP5FImCn4CNl2_aEGxmefNGhdZn8YugeXHPtIy_PpTWDpIObVrRqqplJxg47pIN3p8_tNYQBc5H8kRUYK3bvb_i60zLjyW6saUl6PwTL-0QvmmQMnwC45VaMHUjT2jw2NERKGOLXC2sUnzGGXIXO0gOFZCDa0lSWgzpq9i5ZG8qk6MMZ50MFcMAPCxPPLpNCXlcCOdMIfPHDSBKo-owz14G7LMvRZF4pMrZvlN6Y03edYUdeI3gtPGdhTxX-szLG-mEw6pc2R4dSAI617-WqLKygTerNGHE6Dk9ekJ7k0AzkKDReo-n_czwLSzWwJkw3-K7zZsNL-Izu3e5MNNiL4riwpM_LI3zW1fLmtEHbWpU_891-xHS0\" 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:bL8_IyD05Dy3-GwFk2Ybj1Kd1waYLApOWe6wvi-HEvfUOdefT9GE3btiv2HOIj6beE1YRqpmUzmtyLsQeOeEPhdZlT-_TtdDeN0IaGv2qt1I4V5qu984xvw84hWCFb-LV6JWPnyyC0qtIhdl96Emb7pX0VXABl7e4TS2PmZ7SMmQNiH54eLWdIevzIYC40FNsTm3GPLyypR8L53JC8tl1b0zqXfGgS0XM2qbLmn9sJjs1EEGp_89NZbLwrLicOQ6QWPgbPHkvyg6sgXHmr6efGsSKC3E1GkeQ2M4eCRzbeOMV-8KF6rX6e1V8LOjSw3YVhqEdJRisb4VsUSzUyygWTeSSJycGCePKtB2YscdSABM2opdCopUfj2dHHCrI3WaPR8kutsm_vWJAKK3rHOnX4hU_HxqeDw0zWQQptIaXGTAFe_X9XsZDVzVxFBLtMmUQSy7fXDpNx-eJt0tsCWHfFoBsmMz04q4uZvz0G00\" \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\nautonumber\r\nactor Ng\u01b0\u1eddi d\u00f9ng\r\nboundary \"\u1ee8ng d\u1ee5ng Web\" as App\r\ncontrol \"D\u1ecbch v\u1ee5 X\u00e1c th\u1ef1c\" as Auth\r\n\r\nNg\u01b0\u1eddi d\u00f9ng -&gt; App ++ : \"G\u1eedi th\u00f4ng tin \u0111\u0103ng nh\u1eadp\"\r\nApp -&gt; Auth ++ : \"POST \/v1\/auth\"\r\n\r\nalt #LightGreen \u0110\u0103ng nh\u1eadp th\u00e0nh c\u00f4ng\r\n    Auth --&gt; App : \"200 OK (Token JWT)\"\r\n    App --&gt; Ng\u01b0\u1eddi d\u00f9ng : \"Hi\u1ec3n th\u1ecb B\u1ea3ng \u0111i\u1ec1u khi\u1ec3n\"\r\nelse #LightPink Th\u00f4ng tin \u0111\u0103ng nh\u1eadp kh\u00f4ng h\u1ee3p l\u1ec7\r\n    Auth --&gt; App : \"401 Kh\u00f4ng \u0111\u01b0\u1ee3c \u1ee7y quy\u1ec1n\"\r\n    App --&gt; Ng\u01b0\u1eddi d\u00f9ng : \"Hi\u1ec3n th\u1ecb th\u00f4ng b\u00e1o l\u1ed7i\"\r\nend\r\n\r\ndeactivate Auth\r\ndeactivate App\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:bL8_IyD05Dy3-GwFk2Ybj1Kd1waYLApOWe6wvi-HEvfUOdefT9GE3btiv2HOIj6beE1YRqpmUzmtyLsQeOeEPhdZlT-_TtdDeN0IaGv2qt1I4V5qu984xvw84hWCFb-LV6JWPnyyC0qtIhdl96Emb7pX0VXABl7e4TS2PmZ7SMmQNiH54eLWdIevzIYC40FNsTm3GPLyypR8L53JC8tl1b0zqXfGgS0XM2qbLmn9sJjs1EEGp_89NZbLwrLicOQ6QWPgbPHkvyg6sgXHmr6efGsSKC3E1GkeQ2M4eCRzbeOMV-8KF6rX6e1V8LOjSw3YVhqEdJRisb4VsUSzUyygWTeSSJycGCePKtB2YscdSABM2opdCopUfj2dHHCrI3WaPR8kutsm_vWJAKK3rHOnX4hU_HxqeDw0zWQQptIaXGTAFe_X9XsZDVzVxFBLtMmUQSy7fXDpNx-eJt0tsCWHfFoBsmMz04q4uZvz0G00\" \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:TP5FImCn4CNl2_aEGxmefNGhdZn8YugeXHPtIy_PpTWDpIObVrRqqplJxg47pIN3p8_tNYQBc5H8kRUYK3bvb_i60zLjyW6saUl6PwTL-0QvmmQMnwC45VaMHUjT2jw2NERKGOLXC2sUnzGGXIXO0gOFZCDa0lSWgzpq9i5ZG8qk6MMZ50MFcMAPCxPPLpNCXlcCOdMIfPHDSBKo-owz14G7LMvRZF4pMrZvlN6Y03edYUdeI3gtPGdhTxX-szLG-mEw6pc2R4dSAI617-WqLKygTerNGHE6Dk9ekJ7k0AzkKDReo-n_czwLSzWwJkw3-K7zZsNL-Izu3e5MNNiL4riwpM_LI3zW1fLmtEHbWpU_891-xHS0\" 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 id=\"PVLiNCs\"><img loading=\"lazy\" alt=\"\" class=\"alignnone size-full wp-image-564\" decoding=\"async\" height=\"392\" loading=\"lazy\" sizes=\"auto, (max-width: 455px) 100vw, 455px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fd5649b30.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fd5649b30.png 455w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fd5649b30-300x258.png 300w\" width=\"455\"\/><\/p>\n<p><strong>Ph\u00e2n t\u00edch c\u00fa ph\u00e1p:<\/strong> Ph\u1ea7n <code>autonumber<\/code> th\u1ebb t\u1ef1 \u0111\u1ed9ng qu\u1ea3n l\u00fd c\u00e1c s\u1ed1 t\u1eeb 1 \u0111\u1ebfn 5. Ph\u1ea7n <code>alt<\/code> v\u00e0 <code>else<\/code> c\u00e1c kh\u1ed1i \u0111\u01b0\u1ee3c th\u00eam v\u00e0o c\u1edd m\u00e0u hex t\u00f9y ch\u1ec9nh (v\u00ed d\u1ee5 nh\u01b0 <code>#LightGreen<\/code>) \u0111\u1ec3 th\u00eam hi\u1ec7u \u1ee9ng n\u1ed5i b\u1eadt tr\u1ef1c quan ngay l\u1eadp t\u1ee9c cho c\u00e1c nh\u00e1nh th\u1ef1c thi th\u00e0nh c\u00f4ng so v\u1edbi th\u1ea5t b\u1ea1i. Ph\u1ea7n <code>++<\/code> c\u00e1c token \u0111\u1ea3m b\u1ea3o c\u00e1c \u0111\u01b0\u1eddng s\u1ed1ng v\u1eabn ho\u1ea1t \u0111\u1ed9ng trong su\u1ed1t kh\u1ed1i g\u1ecdi m\u1ea1ng.<\/p>\n<h3>V\u00ed d\u1ee5 2: X\u1eed l\u00fd \u0111\u01a1n h\u00e0ng n\u00e2ng cao (V\u00f2ng l\u1eb7p, Song song v\u00e0 B\u1ed9 chia)<\/h3>\n<p>B\u1ea3n thi\u1ebft k\u1ebf ki\u1ebfn tr\u00fac doanh nghi\u1ec7p n\u00e0y m\u00f4 h\u00ecnh h\u00f3a m\u1ed9t h\u1ec7 th\u1ed1ng thanh to\u00e1n m\u1ea1nh m\u1ebd, chia nh\u1ecf c\u00e1c t\u00e1c v\u1ee5 gi\u1eefa c\u00e1c c\u00f4ng nh\u00e2n song song, th\u1ef1c hi\u1ec7n ghi d\u1eef li\u1ec7u c\u01a1 s\u1edf d\u1eef li\u1ec7u v\u00e0 d\u1ef1a v\u00e0o v\u00f2ng l\u1eb7p \u0111\u1ed3ng b\u1ed9 h\u1ec7 th\u1ed1ng b\u00ean ngo\u00e0i.<\/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:PL9HQzim47ut-3ySVbWsIg3htW8fJHpA2gFr5dTz7B9qYKLaoPoaZkpNxoHxfM5waT3TVTzttzsT3u9274nPY1YSZKE7L1QTYrO9EaDLzoXFBWROD0yL29_kib0YY4vuXEg959A7tJO7TzkoaCu6SWQg5qSd9FWUCMAEvjTxy7qWFKwnwLaMPR5UGzCdxCyhQ4bOBsJGpi8tL4U6-ocCPlhqirwN1Sk1vIqJmzKLh9YKT41eq2fjZv3LLMN1uILdvUHbIii1UDX1xUn1qu2gkk2-MK4ZpWFQ01zWuyzMmdqq1srC_dl7F0cVsUjUq16XZZwuWGasKdApWR7dj4iL_oWsCVIEz9zPnIY8sKaOWmQsGfwEb2o3fn4fT-xB0lZC2hAjiu0cTaRx7XQvmL-D4HBL0l0LiufKfJ0P-YhOfdaWQ3nU8Bwv-JogbCTB4gA7u63H2AqM_oEbmRFdIRrnReGV6EYS9l0yGklW2xHwG0yyj4SCltanu5ve4-cIDrsfYLJuw88-Q3bDUfy6y89TxzofUcEQZBo5skZa8bSoRIGBNzksWPlhQ_YuZrAYzv-uw8whUD7_0W00\" 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:RPFDQjj058Nt0ht3GOkw9HZIT6TmIED07FhdOa6xAwCVF8EL6LSUbNhPLHVPn8HIkYYDQafM9WrqPT6LZDzZtgHt9CVOK2zaIPvpxtVFkJuQQvRgx3nn7PPf9RFp84vT9r2PZ5WwWVUqTmQVCycXLPbB3smCUkSw4TCiOECONcULOsoA7uXCSOj4cE9pXkNbAfVWvRKSL9gJOzS9bTIfIk1rxMiifwQO2NJAF_GWUVcphluwYxDu6w6lKp6Agz_gMzTndNORfu89AgBCWZezRk5jcOVGt1Ht8Vgc-8A1OCf2NOGSxRRhs5cQXuI2lJsqu9roiSs93cc_uwCfvaZAlvxhqCac2IfTqogg5fARnLpYx6HdoFz17RIslSC3T1MT9KQwSXoRnIzTkN15pGDJVDkch4TTa_hbd0GZNixXbzS2GquDPXBFE07n3S5QiykyJR2ShdwJwI5CSJF1-snYYa-oGX-nb9AWwUYuWhPtB-sFw2k26zF5TK2VDLqLqXgkHn0QzKoq1tSOsXMGQBnAepXzrqjO64SDhzPhixZLznd7oJZUARk9faCMZsgdDNHgtHnOtt9nxrvZULdEw64pt6u7ks-nZEneYL8Z6gkAbGe9-AQOsf0Odk2vMTn8ybFWHTs4ShYWSyLNiKDcl-pAK1L2e3Z0wqNl2HAzYGEkr90MOYjCdrUR7PIvyZOmTIw7w2GYbhhAXwQRuGEPZQxlzt2mlu-7VZraQ2iy8lKHoUbV-Wy0\" \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\nautonumber\r\nboundary \"API Thanh to\u00e1n\" as API\r\ndatabase \"C\u01a1 s\u1edf d\u1eef li\u1ec7u \u0110\u01a1n h\u00e0ng\" as DB\r\ncontrol \"H\u00e0ng \u0111\u1ee3i C\u00f4ng nh\u00e2n\" as Queue\r\nboundary \"Stripe\" as Stripe\r\n\r\n== Giai \u0111o\u1ea1n 1: X\u00e1c th\u1ef1c S\u1ed5 giao d\u1ecbch ==\r\nAPI -&gt; DB ++ : \"Ghi \u0110\u01a1n h\u00e0ng Ch\u1edd x\u1eed l\u00fd\"\r\nDB --&gt; API -- : \"X\u00e1c nh\u1eadn ID \u0110\u01a1n h\u00e0ng\"\r\n\r\n== Giai \u0111o\u1ea1n 2: Thanh to\u00e1n &amp; Ho\u00e0n th\u00e0nh B\u1ea5t \u0111\u1ed3ng b\u1ed9 ==\r\nAPI -&gt; Stripe ++ : \"T\u00ednh ph\u00ed T\u00e0i kho\u1ea3n Kh\u00e1ch h\u00e0ng\"\r\nStripe --&gt; API -- : \"Thanh to\u00e1n \u0111\u01b0\u1ee3c \u1ee7y quy\u1ec1n\"\r\n\r\npar C\u00e1c Thao t\u00e1c N\u1ec1n Song song\r\n    API -&gt; Queue ++ : \"Ph\u00e1t h\u00e0nh s\u1ef1 ki\u1ec7n 'Order_Placed'\"\r\n    t\u1eaft Queue\r\nelse\r\n    API -&gt; DB ++ : \"C\u1eadp nh\u1eadt tr\u1ea1ng th\u00e1i th\u00e0nh '\u0110\u00e3 thanh to\u00e1n'\"\r\n    t\u1eaft DB\r\nend\r\n\r\nloop Th\u1eed l\u1ea1i T\u1ed1i \u0111a 3 L\u1ea7n khi M\u1ea1ng b\u1ecb l\u1ed7i\r\n    API -&gt; API : \"G\u1eedi t\u00edn hi\u1ec7u Ping Webhook \u0110\u1ed3ng b\u1ed9 Th\u00f4ng b\u00e1o\"\r\nend\r\n\r\nAPI --&gt; Client : \"Tr\u1ea3 v\u1ec1 HTTP 200 (Th\u00e0nh c\u00f4ng)\"\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:RPFDQjj058Nt0ht3GOkw9HZIT6TmIED07FhdOa6xAwCVF8EL6LSUbNhPLHVPn8HIkYYDQafM9WrqPT6LZDzZtgHt9CVOK2zaIPvpxtVFkJuQQvRgx3nn7PPf9RFp84vT9r2PZ5WwWVUqTmQVCycXLPbB3smCUkSw4TCiOECONcULOsoA7uXCSOj4cE9pXkNbAfVWvRKSL9gJOzS9bTIfIk1rxMiifwQO2NJAF_GWUVcphluwYxDu6w6lKp6Agz_gMzTndNORfu89AgBCWZezRk5jcOVGt1Ht8Vgc-8A1OCf2NOGSxRRhs5cQXuI2lJsqu9roiSs93cc_uwCfvaZAlvxhqCac2IfTqogg5fARnLpYx6HdoFz17RIslSC3T1MT9KQwSXoRnIzTkN15pGDJVDkch4TTa_hbd0GZNixXbzS2GquDPXBFE07n3S5QiykyJR2ShdwJwI5CSJF1-snYYa-oGX-nb9AWwUYuWhPtB-sFw2k26zF5TK2VDLqLqXgkHn0QzKoq1tSOsXMGQBnAepXzrqjO64SDhzPhixZLznd7oJZUARk9faCMZsgdDNHgtHnOtt9nxrvZULdEw64pt6u7ks-nZEneYL8Z6gkAbGe9-AQOsf0Odk2vMTn8ybFWHTs4ShYWSyLNiKDcl-pAK1L2e3Z0wqNl2HAzYGEkr90MOYjCdrUR7PIvyZOmTIw7w2GYbhhAXwQRuGEPZQxlzt2mlu-7VZraQ2iy8lKHoUbV-Wy0\" \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:PL9HQzim47ut-3ySVbWsIg3htW8fJHpA2gFr5dTz7B9qYKLaoPoaZkpNxoHxfM5waT3TVTzttzsT3u9274nPY1YSZKE7L1QTYrO9EaDLzoXFBWROD0yL29_kib0YY4vuXEg959A7tJO7TzkoaCu6SWQg5qSd9FWUCMAEvjTxy7qWFKwnwLaMPR5UGzCdxCyhQ4bOBsJGpi8tL4U6-ocCPlhqirwN1Sk1vIqJmzKLh9YKT41eq2fjZv3LLMN1uILdvUHbIii1UDX1xUn1qu2gkk2-MK4ZpWFQ01zWuyzMmdqq1srC_dl7F0cVsUjUq16XZZwuWGasKdApWR7dj4iL_oWsCVIEz9zPnIY8sKaOWmQsGfwEb2o3fn4fT-xB0lZC2hAjiu0cTaRx7XQvmL-D4HBL0l0LiufKfJ0P-YhOfdaWQ3nU8Bwv-JogbCTB4gA7u63H2AqM_oEbmRFdIRrnReGV6EYS9l0yGklW2xHwG0yyj4SCltanu5ve4-cIDrsfYLJuw88-Q3bDUfy6y89TxzofUcEQZBo5skZa8bSoRIGBNzksWPlhQ_YuZrAYzv-uw8whUD7_0W00\" 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 id=\"tlfOsjb\"><img loading=\"lazy\" alt=\"\" class=\"alignnone size-full wp-image-565\" decoding=\"async\" height=\"605\" loading=\"lazy\" sizes=\"auto, (max-width: 601px) 100vw, 601px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fd66d33a0.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fd66d33a0.png 601w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fd66d33a0-298x300.png 298w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fd66d33a0-150x150.png 150w\" width=\"601\"\/><\/p>\n<p><strong>Ph\u00e2n t\u00edch Ng\u1eef ph\u00e1p:<\/strong> Ph\u1ea7n <code>==<\/code> c\u00e1c b\u1ed9 chia chia b\u1ed1 c\u1ee5c th\u00e0nh c\u00e1c giai \u0111o\u1ea1n ho\u1ea1t \u0111\u1ed9ng ri\u00eang bi\u1ec7t. Ph\u1ea7n <code>par<\/code> kh\u1ed1i t\u00e1ch r\u00f5 r\u00e0ng \u0111\u01b0\u1eddng \u0111i c\u1ee7a m\u0169i t\u00ean tin nh\u1eafn th\u00e0nh hai \u0111\u01b0\u1eddng ngang ri\u00eang bi\u1ec7t, minh h\u1ecda r\u1eb1ng vi\u1ec7c ph\u00e1t h\u00e0nh s\u1ef1 ki\u1ec7n v\u00e0 c\u1eadp nh\u1eadt tr\u1ea1ng th\u00e1i c\u01a1 s\u1edf d\u1eef li\u1ec7u x\u1ea3y ra \u0111\u1ed3ng th\u1eddi m\u00e0 kh\u00f4ng l\u00e0m t\u1eafc ngh\u1ebdn l\u1eabn nhau. M\u0169i t\u00ean t\u1ef1 tr\u1ecf (<code>API -&gt; API<\/code>) m\u00f4 t\u1ea3 ch\u00ednh x\u00e1c v\u00f2ng l\u1eb7p h\u00e0m n\u1ed9i b\u1ed9 c\u1ee5c b\u1ed9.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>S\u01a1 \u0111\u1ed3 tu\u1ea7n t\u1ef1 l\u00e0 g\u00ec? M\u1ed9t s\u01a1 \u0111\u1ed3 tu\u1ea7n t\u1ef1 l\u00e0 m\u1ed9t s\u01a1 \u0111\u1ed3 h\u00e0nh vi s\u01a1 \u0111\u1ed3 UML m\u00f4 t\u1ea3 chi ti\u1ebft c\u00e1ch c\u00e1c thao t\u00e1c ph\u1ea7n m\u1ec1m \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n theo th\u1eddi gian. L\u00e0 m\u1ed9t ti\u00eau chu\u1ea9n&#8230;<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":0,"menu_order":3,"template":"","meta":{"inline_featured_image":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}}},"ld_collection":[14],"class_list":["post-2118","ld_docs","type-ld_docs","status-publish","hentry","ld_collection-vpascode-docs"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>PlantUML Sequence Diagram | VPasCode Text to Diagram Guide<\/title>\n<meta name=\"description\" content=\"Model API calls and system interactions with PlantUML sequence diagrams in VPasCode, your free diagram-as-code tool.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-sequence-diagram-syntax-guide\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PlantUML Sequence Diagram | VPasCode Text to Diagram Guide\" \/>\n<meta property=\"og:description\" content=\"Model API calls and system interactions with PlantUML sequence diagrams in VPasCode, your free diagram-as-code tool.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-sequence-diagram-syntax-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"VPasCode\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18f8637e3aa.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 ph\u00fat\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-sequence-diagram-syntax-guide\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-sequence-diagram-syntax-guide\\\/\",\"name\":\"PlantUML Sequence Diagram | VPasCode Text to Diagram Guide\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-sequence-diagram-syntax-guide\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-sequence-diagram-syntax-guide\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vpascode.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/img_6a18f8637e3aa.png\",\"datePublished\":\"2026-05-26T07:05:25+00:00\",\"description\":\"Model API calls and system interactions with PlantUML sequence diagrams in VPasCode, your free diagram-as-code tool.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-sequence-diagram-syntax-guide\\\/#breadcrumb\"},\"inLanguage\":\"vi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-sequence-diagram-syntax-guide\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-sequence-diagram-syntax-guide\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/img_6a18f8637e3aa.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/img_6a18f8637e3aa.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-sequence-diagram-syntax-guide\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Lean Docs\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/%ld_collection%\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"H\u01b0\u1edbng d\u1eabn c\u00fa ph\u00e1p s\u01a1 \u0111\u1ed3 tu\u1ea7n t\u1ef1 PlantUML\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#website\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/\",\"name\":\"VPasCode\",\"description\":\"by Visual Paradigm\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"vi\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#organization\",\"name\":\"VPasCode\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"width\":128,\"height\":138,\"caption\":\"VPasCode\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PlantUML Sequence Diagram | VPasCode Text to Diagram Guide","description":"Model API calls and system interactions with PlantUML sequence diagrams in VPasCode, your free diagram-as-code tool.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-sequence-diagram-syntax-guide\/","og_locale":"vi_VN","og_type":"article","og_title":"PlantUML Sequence Diagram | VPasCode Text to Diagram Guide","og_description":"Model API calls and system interactions with PlantUML sequence diagrams in VPasCode, your free diagram-as-code tool.","og_url":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-sequence-diagram-syntax-guide\/","og_site_name":"VPasCode","og_image":[{"url":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18f8637e3aa.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"5 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-sequence-diagram-syntax-guide\/","url":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-sequence-diagram-syntax-guide\/","name":"PlantUML Sequence Diagram | VPasCode Text to Diagram Guide","isPartOf":{"@id":"https:\/\/www.vpascode.com\/vn\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-sequence-diagram-syntax-guide\/#primaryimage"},"image":{"@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-sequence-diagram-syntax-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18f8637e3aa.png","datePublished":"2026-05-26T07:05:25+00:00","description":"Model API calls and system interactions with PlantUML sequence diagrams in VPasCode, your free diagram-as-code tool.","breadcrumb":{"@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-sequence-diagram-syntax-guide\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-sequence-diagram-syntax-guide\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-sequence-diagram-syntax-guide\/#primaryimage","url":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18f8637e3aa.png","contentUrl":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18f8637e3aa.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-sequence-diagram-syntax-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vpascode.com\/vn\/"},{"@type":"ListItem","position":2,"name":"Lean Docs","item":"https:\/\/www.vpascode.com\/vn\/docs\/%ld_collection%\/"},{"@type":"ListItem","position":3,"name":"H\u01b0\u1edbng d\u1eabn c\u00fa ph\u00e1p s\u01a1 \u0111\u1ed3 tu\u1ea7n t\u1ef1 PlantUML"}]},{"@type":"WebSite","@id":"https:\/\/www.vpascode.com\/vn\/#website","url":"https:\/\/www.vpascode.com\/vn\/","name":"VPasCode","description":"by Visual Paradigm","publisher":{"@id":"https:\/\/www.vpascode.com\/vn\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vpascode.com\/vn\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":"Organization","@id":"https:\/\/www.vpascode.com\/vn\/#organization","name":"VPasCode","url":"https:\/\/www.vpascode.com\/vn\/","logo":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.vpascode.com\/vn\/#\/schema\/logo\/image\/","url":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/06\/cropped-vp-online-logo-v1.png","contentUrl":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/06\/cropped-vp-online-logo-v1.png","width":128,"height":138,"caption":"VPasCode"},"image":{"@id":"https:\/\/www.vpascode.com\/vn\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/ld_docs\/2118","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/ld_docs"}],"about":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/types\/ld_docs"}],"author":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/users\/4"}],"wp:attachment":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/media?parent=2118"}],"wp:term":[{"taxonomy":"ld_collection","embeddable":true,"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/ld_collection?post=2118"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}