{"id":2075,"date":"2026-07-08T06:34:46","date_gmt":"2026-07-08T06:34:46","guid":{"rendered":"https:\/\/www.vpascode.com\/vn\/docs\/uncategorized\/mermaid-js-requirement-diagram-syntax-traceability-guide\/"},"modified":"2026-07-08T06:34:46","modified_gmt":"2026-07-08T06:34:46","slug":"mermaid-js-requirement-diagram-syntax-traceability-guide","status":"publish","type":"ld_docs","link":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/mermaid-js-requirement-diagram-syntax-traceability-guide\/","title":{"rendered":"H\u01b0\u1edbng d\u1eabn c\u00fa ph\u00e1p s\u01a1 \u0111\u1ed3 Y\u00eau c\u1ea7u Mermaid.js v\u00e0 H\u01b0\u1edbng d\u1eabn truy xu\u1ea5t"},"content":{"rendered":"<p>S\u01a1 \u0111\u1ed3 Y\u00eau c\u1ea7u l\u00e0 m\u1ed9t c\u00f4ng c\u1ee5 tr\u1ef1c quan h\u00f3a k\u1ef9 thu\u1eadt chuy\u00ean bi\u1ec7t \u0111\u01b0\u1ee3c c\u00e1c ki\u1ebfn tr\u00fac s\u01b0 h\u1ec7 th\u1ed1ng, qu\u1ea3n l\u00fd s\u1ea3n ph\u1ea9m v\u00e0 k\u1ef9 s\u01b0 ph\u1ea7n m\u1ec1m s\u1eed d\u1ee5ng \u0111\u1ec3 l\u1eadp b\u1ea3n \u0111\u1ed3 c\u00e1c th\u00f4ng s\u1ed1 k\u1ef9 thu\u1eadt, gi\u1edbi h\u1ea1n h\u1ec7 th\u1ed1ng v\u00e0 c\u00e1c b\u00e0i ki\u1ec3m tra x\u00e1c minh. \u0110\u01b0\u1ee3c x\u00e2y d\u1ef1ng d\u1ef1a tr\u00ean ti\u00eau chu\u1ea9n SysML (Ng\u00f4n ng\u1eef m\u00f4 h\u00ecnh h\u00f3a h\u1ec7 th\u1ed1ng), b\u1ed9 x\u1eed l\u00fd g\u1ed1c<code>requirementDiagram<\/code>cho ph\u00e9p b\u1ea1n li\u00ean k\u1ebft c\u00e1c y\u00eau c\u1ea7u thi\u1ebft k\u1ebf tr\u1eebu t\u01b0\u1ee3ng tr\u1ef1c ti\u1ebfp v\u1edbi c\u00e1c th\u00e0nh ph\u1ea7n h\u1ec7 th\u1ed1ng v\u1eadt l\u00fd v\u00e0 c\u00e1c tr\u01b0\u1eddng h\u1ee3p ki\u1ec3m th\u1eed b\u1eb1ng c\u00e1ch khai b\u00e1o d\u1ef1a tr\u00ean v\u0103n b\u1ea3n.<\/p>\n<h2>Hi\u1ec3u c\u00e1c th\u00e0nh ph\u1ea7n trong s\u01a1 \u0111\u1ed3 Y\u00eau c\u1ea7u<\/h2>\n<p>S\u01a1 \u0111\u1ed3 Y\u00eau c\u1ea7u ch\u1ee7 y\u1ebfu bao g\u1ed3m hai kh\u1ed1i x\u00e2y d\u1ef1ng c\u1ea5u tr\u00fac kh\u00e1c nhau:<strong>Kh\u1ed1i Y\u00eau c\u1ea7u<\/strong> (\u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 x\u00e1c \u0111\u1ecbnh c\u00e1c quy t\u1eafc) v\u00e0<strong>Kh\u1ed1i Th\u00e0nh ph\u1ea7n<\/strong> (\u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 m\u00f4 h\u00ecnh h\u00f3a m\u00e3 ngu\u1ed3n, ph\u1ea7n c\u1ee9ng ho\u1eb7c k\u1ecbch b\u1ea3n ki\u1ec3m th\u1eed). Sau \u0111\u00f3, c\u00e1c m\u1ed1i quan h\u1ec7 \u0111\u01b0\u1ee3c v\u1ebd gi\u1eefa c\u00e1c kh\u1ed1i n\u00e0y \u0111\u1ec3 t\u1ea1o ra m\u1ed9t ma tr\u1eadn truy xu\u1ea5t r\u00f5 r\u00e0ng.<\/p>\n<h2>C\u1ea5u tr\u00fac c\u00fa ph\u00e1p c\u01a1 b\u1ea3n<\/h2>\n<p>M\u1ed7i s\u01a1 \u0111\u1ed3 b\u1eaft \u0111\u1ea7u b\u1eb1ng ph\u1ea7n khai b\u00e1o<code>requirementDiagram<\/code>ti\u00eau \u0111\u1ec1 khai b\u00e1o. Ti\u1ebfp theo l\u00e0 vi\u1ec7c x\u00e1c \u0111\u1ecbnh c\u00e1c kh\u1ed1i y\u00eau c\u1ea7u v\u1edbi c\u00e1c thu\u1ed9c t\u00ednh l\u1ed3ng gh\u00e9p, c\u00e1c kh\u1ed1i th\u00e0nh ph\u1ea7n v\u00e0 c\u00e1c \u0111\u01b0\u1eddng m\u1ed1i quan h\u1ec7 theo h\u01b0\u1edbng.<\/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:eNpFjUEOwjAMBO9I\/GHVByBxzZkncEdRWRoLQovtIqKKv5MoB2727HqsfK2izHz6SeKkMe93gP4pnOaXCrC1BJBrwLGPzo8HDOdEWDFnRl7Nseg80gxLLM1gMI6r8lEOQ79TsXtAkin1\/U2VW+16mqu8PWz8+wPubzKY\" 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:eNpFzjEKAjEQBdBe8A6fPYBgu7WFt5AQx03QJJodZUWsrS3tXKy9gMEqJ8lNTEhhN\/8NzB9Ph6P2ZMjyQovOCzOdAP6vYOp5lQGXsgH0usW8jkwDt2iWKdzAKoW77bBX6fPSGFJ4Yxe\/2YVVYBdHC5PCgyHjKBWELfi0s6be8rrftpDC1XgirzdnQ6xc7is\/FL\/+AD\/XP8g=\" \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\">requirementDiagram\r\n  requirement test_req {\r\n    id: 1\r\n    text: \"H\u1ec7 th\u1ed1ng ph\u1ea3i x\u1eed l\u00fd thanh to\u00e1n m\u1ed9t c\u00e1ch an to\u00e0n.\"\r\n    risk: cao\r\n    verifymethod: test\r\n  }<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpFzjEKAjEQBdBe8A6fPYBgu7WFt5AQx03QJJodZUWsrS3tXKy9gMEqJ8lNTEhhN\/8NzB9Ph6P2ZMjyQovOCzOdAP6vYOp5lQGXsgH0usW8jkwDt2iWKdzAKoW77bBX6fPSGFJ4Yxe\/2YVVYBdHC5PCgyHjKBWELfi0s6be8rrftpDC1XgirzdnQ6xc7is\/FL\/+AD\/XP8g=\" \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:eNpFjUEOwjAMBO9I\/GHVByBxzZkncEdRWRoLQovtIqKKv5MoB2727HqsfK2izHz6SeKkMe93gP4pnOaXCrC1BJBrwLGPzo8HDOdEWDFnRl7Nseg80gxLLM1gMI6r8lEOQ79TsXtAkin1\/U2VW+16mqu8PWz8+wPubzKY\" 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 id=\"NdetRUX\"><img fetchpriority=\"high\" alt=\"\" class=\"alignnone size-full wp-image-975\" decoding=\"async\" fetchpriority=\"high\" height=\"200\" sizes=\"(max-width: 397px) 100vw, 397px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/07\/img_6a4df073c6731.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/07\/img_6a4df073c6731.png 397w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/07\/img_6a4df073c6731-300x151.png 300w\" width=\"397\"\/><\/p>\n<h2>Ph\u00e2n lo\u1ea1i \u0111\u1ea7y \u0111\u1ee7 c\u00e1c lo\u1ea1i Y\u00eau c\u1ea7u<\/h2>\n<p>Kh\u00f4ng ph\u1ea3i m\u1ecdi y\u00eau c\u1ea7u k\u1ef9 thu\u1eadt n\u00e0o c\u0169ng gi\u1ed1ng nhau. B\u1ed9 x\u1eed l\u00fd cung c\u1ea5p s\u00e1u t\u1eeb kh\u00f3a kh\u1ed1i kh\u00e1c nhau \u0111\u1ec3 ph\u00e2n lo\u1ea1i c\u00e1c th\u00f4ng s\u1ed1 c\u1ee7a b\u1ea1n v\u1ec1 m\u1eb7t tr\u1ef1c quan v\u00e0 ng\u1eef ngh\u0129a. M\u1ed7i lo\u1ea1i s\u1ebd thay \u0111\u1ed5i nh\u00e3n ti\u00eau \u0111\u1ec1 \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb b\u00ean trong h\u1ed9p s\u01a1 \u0111\u1ed3 \u0111\u01b0\u1ee3c t\u1ea1o ra:<\/p>\n<ul>\n<li><code>requirement<\/code>: M\u1ed9t th\u00f4ng s\u1ed1 h\u1ec7 th\u1ed1ng ti\u00eau chu\u1ea9n ho\u1eb7c chung chung.<\/li>\n<li><code>functionalRequirement<\/code>: X\u00e1c \u0111\u1ecbnh m\u1ed9t h\u00e0nh \u0111\u1ed9ng ho\u1eb7c kh\u1ea3 n\u0103ng h\u00e0nh vi m\u00e0 h\u1ec7 th\u1ed1ng ph\u1ea3i th\u1ef1c hi\u1ec7n.<\/li>\n<li><code>interfaceRequirement<\/code>: X\u00e1c \u0111\u1ecbnh c\u00e1c \u0111i\u1ec3m k\u1ebft n\u1ed1i, trao \u0111\u1ed5i d\u1eef li\u1ec7u ho\u1eb7c giao th\u1ee9c truy\u1ec1n th\u00f4ng gi\u1eefa c\u00e1c th\u00e0nh ph\u1ea7n.<\/li>\n<li><code>performanceRequirement<\/code>: \u0110\u1eb7t c\u00e1c ti\u00eau ch\u00ed \u0111o l\u01b0\u1eddng \u0111\u01b0\u1ee3c v\u1ec1 hi\u1ec7u su\u1ea5t th\u1ef1c thi, ch\u1eb3ng h\u1ea1n nh\u01b0 t\u1ed1c \u0111\u1ed9, kh\u1ea3 n\u0103ng m\u1edf r\u1ed9ng, b\u0103ng th\u00f4ng ho\u1eb7c dung l\u01b0\u1ee3ng.<\/li>\n<li><code>physicalRequirement<\/code>: Quy \u0111\u1ecbnh c\u00e1c gi\u1edbi h\u1ea1n v\u1ec1 v\u1eadt li\u1ec7u, k\u00edch th\u01b0\u1edbc, tr\u1ecdng l\u01b0\u1ee3ng ho\u1eb7c gi\u1edbi h\u1ea1n ph\u1ea7n c\u1ee9ng.<\/li>\n<li><code>r\u00e0ng bu\u1ed9c thi\u1ebft k\u1ebf<\/code>: H\u1ea1n ch\u1ebf c\u00e1c l\u1ef1a ch\u1ecdn ph\u1ea7n m\u1ec1m, phong c\u00e1ch ki\u1ebfn tr\u00fac, khung c\u00f4ng t\u00e1c ho\u1eb7c c\u00e1c ti\u00eau chu\u1ea9n tu\u00e2n th\u1ee7.<\/li>\n<\/ul>\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:eNpFjrEOwjAMRHck\/sHqToUQA+paBibowI7SxLQWiRMSl1Ih\/p2WIjHccO\/O1kW8dxTRIcueVBOVWy4ADCZquPScJCpiAYuN0sNF\/8lr6gGQKSArT8fVepvNRPApIzu3CLXSN2QDrksCbjob9aW9iga0d0EJ1WRJBuhJWqgOFezyDQQKaIkx5b+vkdKtAOv72T4w0nVwKK0fBxCngFrI85S+P6eeRcA=\" 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:eNpVTj8PwUAc3SW+w4udiBikI4tBMFiMXMtdqiV1RSMmn0A6iFg0BomQmHuD4aTf4\/dNnLBYXvL+5L03zxK8dqTivr6GYJRewnwOCPTJH2MYkjqwHheUPiVcg39Gi9ReYP3JA8K2UGh02sVytfBVpLOSRqsPmOv4Nmac0rOAHUaQgb5B6rvPIbNHlphGyfWdcfjj7EHqzLAgdRRgOmGYmLHYRLrNLmqlSulXH4i5a2EyXX7pwgnEKPIcyafmiStIbT0zNPi4mzfZvV1I\" \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\">s\u01a1 \u0111\u1ed3Y\u00eau c\u1ea7u\r\n  r\u00e0ng bu\u1ed9cThi\u1ebft k\u1ebf r\u00e0ng bu\u1ed9cL\u1ed7i {\r\n    id: \"CON-04\"\r\n    text: \"Backend ph\u1ea3i duy tr\u00ec t\u00ednh t\u01b0\u01a1ng th\u00edch ng\u01b0\u1ee3c v\u1edbi c\u00e1c lu\u1ed3ng PHP 8.2.\"\r\n    risk: low\r\n    verifymethod: ki\u1ec3m tra\r\n  }<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpVTj8PwUAc3SW+w4udiBikI4tBMFiMXMtdqiV1RSMmn0A6iFg0BomQmHuD4aTf4\/dNnLBYXvL+5L03zxK8dqTivr6GYJRewnwOCPTJH2MYkjqwHheUPiVcg39Gi9ReYP3JA8K2UGh02sVytfBVpLOSRqsPmOv4Nmac0rOAHUaQgb5B6rvPIbNHlphGyfWdcfjj7EHqzLAgdRRgOmGYmLHYRLrNLmqlSulXH4i5a2EyXX7pwgnEKPIcyafmiStIbT0zNPi4mzfZvV1I\" \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:eNpFjrEOwjAMRHck\/sHqToUQA+paBibowI7SxLQWiRMSl1Ih\/p2WIjHccO\/O1kW8dxTRIcueVBOVWy4ADCZquPScJCpiAYuN0sNF\/8lr6gGQKSArT8fVepvNRPApIzu3CLXSN2QDrksCbjob9aW9iga0d0EJ1WRJBuhJWqgOFezyDQQKaIkx5b+vkdKtAOv72T4w0nVwKK0fBxCngFrI85S+P6eeRcA=\" 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 id=\"yzGfrhd\"><img alt=\"\" class=\"alignnone size-full wp-image-976\" decoding=\"async\" height=\"200\" sizes=\"(max-width: 620px) 100vw, 620px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/07\/img_6a4df07d6aa48.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/07\/img_6a4df07d6aa48.png 620w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/07\/img_6a4df07d6aa48-300x97.png 300w\" width=\"620\"\/><\/p>\n<h2>Tham chi\u1ebfu Ng\u1eef ph\u00e1p: C\u00e1c th\u00e0nh ph\u1ea7n Y\u00eau c\u1ea7u &amp; C\u00e1c thay \u0111\u1ed5i<\/h2>\n<p>B\u1ea3ng d\u01b0\u1edbi \u0111\u00e2y ph\u00e2n t\u00edch c\u00e1c t\u1eeb kh\u00f3a ng\u1eef ngh\u0129a ch\u00ednh, c\u00e1c thu\u1ed9c t\u00ednh b\u1eaft bu\u1ed9c v\u00e0 c\u00e1c c\u1ea5u tr\u00fac ph\u00e2n lo\u1ea1i \u0111\u01b0\u1ee3c b\u1ed9 th\u00f4ng d\u1ecbch y\u00eau c\u1ea7u nh\u1eadn di\u1ec7n m\u1ed9t c\u00e1ch t\u1ef1 nhi\u00ean.<\/p>\n<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n<thead>\n<tr>\n<th>Th\u00e0nh ph\u1ea7n Ng\u1eef ph\u00e1p<\/th>\n<th>Lo\u1ea1i Y\u00eau c\u1ea7u<\/th>\n<th>M\u00f4 t\u1ea3 &amp; C\u00e1c Thu\u1ed9c t\u00ednh H\u1ec7 th\u1ed1ng H\u1ed7 tr\u1ee3<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Khai b\u00e1o<\/strong><\/td>\n<td>Ch\u1ec9 \u0111\u1ecbnh T\u1eeb kh\u00f3a<\/td>\n<td>Kh\u1edfi t\u1ea1o b\u1ea3ng v\u1ebd kh\u00f4ng gian l\u00e0m vi\u1ec7c y\u00eau c\u1ea7u SysML. Ph\u1ea3i s\u1eed d\u1ee5ng ch\u00ednh x\u00e1c <code>s\u01a1 \u0111\u1ed3Y\u00eau c\u1ea7u<\/code> ti\u00eau \u0111\u1ec1 kh\u1ed1i.<\/td>\n<\/tr>\n<tr>\n<td><strong>Thu\u1ed9c t\u00ednh ID \u0110\u1ed9c nh\u1ea5t<\/strong><\/td>\n<td><code>id:<\/code> Chu\u1ed7i \/ S\u1ed1 nguy\u00ean<\/td>\n<td>Tham s\u1ed1 l\u1ed3ng gh\u00e9p b\u1eaft bu\u1ed9c cung c\u1ea5p ch\u1ec9 s\u1ed1 theo d\u00f5i ho\u1eb7c m\u00e3 tham chi\u1ebfu duy nh\u1ea5t b\u1eb1ng ch\u1eef s\u1ed1 v\u00e0 ch\u1eef c\u00e1i b\u00ean trong khung theo d\u00f5i c\u1ee7a b\u1ea1n. \u0110\u01b0\u1ee3c ph\u00e9p s\u1eed d\u1ee5ng kho\u1ea3ng tr\u1eafng h\u1ed7n h\u1ee3p.<\/td>\n<\/tr>\n<tr>\n<td><strong>Thu\u1ed9c t\u00ednh V\u0103n b\u1ea3n<\/strong><\/td>\n<td><code>text:<\/code> Chu\u1ed7i \u0111\u01b0\u1ee3c \u0111\u00f3ng d\u1ea5u<\/td>\n<td>Chu\u1ed7i m\u00f4 t\u1ea3 b\u1eaft bu\u1ed9c m\u00f4 t\u1ea3 chi ti\u1ebft c\u00e1c y\u00eau c\u1ea7u c\u1ee5 th\u1ec3 ho\u1eb7c r\u00e0ng bu\u1ed9c h\u00e0nh vi c\u1ee7a m\u1ee5c. Lu\u00f4n bao quanh b\u1eb1ng d\u1ea5u ngo\u1eb7c k\u00e9p.<\/td>\n<\/tr>\n<tr>\n<td><strong>Thu\u1ed9c t\u00ednh R\u1ee7i ro<\/strong><\/td>\n<td><code>risk:<\/code>C\u1edd m\u1ee9c \u0111\u1ed9 nghi\u00eam tr\u1ecdng<\/td>\n<td>M\u1ed9t d\u1ea5u hi\u1ec7u t\u00f9y ch\u1ecdn theo d\u00f5i m\u1ee9c \u0111\u1ed9 nghi\u00eam tr\u1ecdng c\u1ee7a r\u1ee7i ro ki\u1ebfn tr\u00fac. Ch\u1ea5p nh\u1eadn c\u00e1c m\u00e3 c\u1ea5p th\u1ea5p: <code>th\u1ea5p<\/code>, <code>trung b\u00ecnh<\/code>, ho\u1eb7c <code>cao<\/code>.<\/td>\n<\/tr>\n<tr>\n<td><strong>Thu\u1ed9c t\u00ednh x\u00e1c minh<\/strong><\/td>\n<td><code>ph\u01b0\u01a1ng ph\u00e1p x\u00e1c minh:<\/code>Nh\u00e3n ph\u01b0\u01a1ng ph\u00e1p<\/td>\n<td>M\u1ed9t tham s\u1ed1 t\u00f9y ch\u1ecdn khai b\u00e1o c\u00e1ch th\u1ee9c quy t\u1eafc s\u1ebd \u0111\u01b0\u1ee3c ch\u1ee9ng minh. Ch\u1ea5p nh\u1eadn c\u00e1c gi\u00e1 tr\u1ecb ti\u00eau chu\u1ea9n trong k\u1ef9 thu\u1eadt: <code>ph\u00e2n t\u00edch<\/code>, <code>minh ch\u1ee9ng<\/code>, <code>ki\u1ec3m tra<\/code>, ho\u1eb7c <code>th\u1eed nghi\u1ec7m<\/code>.<\/td>\n<\/tr>\n<tr>\n<td><strong>Y\u1ebfu t\u1ed1 h\u1ec7 th\u1ed1ng<\/strong><\/td>\n<td><code>y\u1ebfu t\u1ed1<\/code>Kh\u1ed1i<\/td>\n<td>Khai b\u00e1o m\u1ed9t th\u00e0nh ph\u1ea7n v\u1eadt l\u00fd, th\u00e0nh ph\u1ea7n ph\u1ea7n m\u1ec1m ho\u1eb7c k\u1ecbch b\u1ea3n th\u1eed nghi\u1ec7m b\u1eb1ng c\u00fa ph\u00e1p: <code>y\u1ebfu t\u1ed1 t\u00ean_y\u1ebfu_t\u1ed1 { lo\u1ea1i: \"ki\u1ec3u_th\u00e0nh_ph\u1ea7n\" }<\/code>.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr\/>\n<h2>C\u00e1c m\u1ed1i quan h\u1ec7 n\u00e2ng cao v\u00e0 c\u00e1c li\u00ean k\u1ebft truy xu\u1ea5t<\/h2>\n<p>S\u1ee9c m\u1ea1nh ch\u00ednh c\u1ee7a s\u01a1 \u0111\u1ed3 y\u00eau c\u1ea7u n\u1eb1m \u1edf vi\u1ec7c k\u1ebft n\u1ed1i c\u00e1c y\u00eau c\u1ea7u v\u1edbi c\u00e1c h\u1ec7 th\u1ed1ng th\u1ef1c t\u1ebf. C\u00e1c li\u00ean k\u1ebft \u0111\u01b0\u1ee3c v\u1ebd b\u1eb1ng c\u00e1c b\u1ed9 n\u1ed1i m\u0169i t\u00ean \u0111\u1eb7c bi\u1ec7t, c\u00f3 ki\u1ec3u (v\u00ed d\u1ee5 nh\u01b0 <code>- \u0111\u00e1p \u1ee9ng -&gt;<\/code>) nh\u1eb1m thi\u1ebft l\u1eadp \u00fd \u0111\u1ecbnh c\u1ea5u tr\u00fac r\u00f5 r\u00e0ng.<\/p>\n<h3>C\u00e1c to\u00e1n t\u1eed quan h\u1ec7 \u0111\u01b0\u1ee3c h\u1ed7 tr\u1ee3<\/h3>\n<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n<thead>\n<tr>\n<th>Token c\u00fa ph\u00e1p quan h\u1ec7<\/th>\n<th>\u00dd ngh\u0129a k\u1ef9 thu\u1eadt chi\u1ebfn l\u01b0\u1ee3c<\/th>\n<th>Quy t\u1eafc d\u00f2ng ch\u1ea3y \u0111\u1ecbnh h\u01b0\u1edbng<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>ngu\u1ed3n - ch\u1ee9a -&gt; m\u1ee5c ti\u00eau<\/code><\/td>\n<td>Ph\u00e2n t\u00edch m\u1ed9t y\u00eau c\u1ea7u cha r\u1ed9ng th\u00e0nh m\u1ed9t y\u00eau c\u1ea7u con nh\u1ecf h\u01a1n, l\u1ed3ng gh\u00e9p b\u00ean trong.<\/td>\n<td>Ch\u1ec9 t\u1eeb kh\u1ed1i Y\u00eau c\u1ea7u cha xu\u1ed1ng kh\u1ed1i Y\u00eau c\u1ea7u con.<\/td>\n<\/tr>\n<tr>\n<td><code>ph\u1ea7n t\u1eed - \u0111\u00e1p \u1ee9ng -&gt; y\u00eau c\u1ea7u<\/code><\/td>\n<td>Ch\u1ee9ng minh r\u1eb1ng m\u1ed9t th\u00e0nh ph\u1ea7n ph\u1ea7n m\u1ec1m ho\u1eb7c ph\u1ea7n c\u1ee9ng v\u1eadt l\u00fd \u0111\u00e3 th\u00e0nh c\u00f4ng trong vi\u1ec7c \u0111\u00e1p \u1ee9ng m\u1ed9t quy t\u1eafc.<\/td>\n<td>Ch\u1ec9 t\u1eeb <code>ph\u1ea7n t\u1eed<\/code>kh\u1ed1i h\u01b0\u1edbng \u0111\u1ebfn kh\u1ed1i m\u1ee5c ti\u00eau<code>y\u00eau c\u1ea7u<\/code>kh\u1ed1i.<\/td>\n<\/tr>\n<tr>\n<td><code>ph\u1ea7n t\u1eed - x\u00e1c minh -&gt; y\u00eau c\u1ea7u<\/code><\/td>\n<td>Ch\u1ec9 ra r\u1eb1ng m\u1ed9t k\u1ecbch b\u1ea3n ki\u1ec3m th\u1eed c\u1ee5 th\u1ec3 ho\u1eb7c tr\u01b0\u1eddng h\u1ee3p ki\u1ec3m th\u1eed ki\u1ec3m tra \u0111\u1ed9 ch\u00ednh x\u00e1c c\u1ee7a m\u1ed9t quy t\u1eafc.<\/td>\n<td>Ch\u1ec9 t\u1eeb kh\u1ed1i ki\u1ec3m th\u1eed<code>ph\u1ea7n t\u1eed<\/code>kh\u1ed1i h\u01b0\u1edbng \u0111\u1ebfn kh\u1ed1i m\u1ee5c ti\u00eau<code>y\u00eau c\u1ea7u<\/code>kh\u1ed1i.<\/td>\n<\/tr>\n<tr>\n<td><code>ngu\u1ed3n - sao ch\u00e9p -&gt; m\u1ee5c ti\u00eau<\/code><\/td>\n<td>Ch\u1ec9 ra m\u1ed9t y\u00eau c\u1ea7u tr\u00f9ng l\u1eb7p \u0111\u01b0\u1ee3c \u00e1nh x\u1ea1 ho\u00e0n to\u00e0n \u0111\u1ebfn m\u1ed9t y\u00eau c\u1ea7u ch\u00ednh n\u1eb1m \u1edf n\u01a1i kh\u00e1c.<\/td>\n<td>Ch\u1ec9 t\u1eeb b\u1ea3n sao tr\u00f9ng l\u1eb7p h\u01b0\u1edbng \u0111\u1ebfn kh\u1ed1i g\u1ed1c ch\u00ednh.<\/td>\n<\/tr>\n<tr>\n<td><code>ngu\u1ed3n - theo d\u00f5i -&gt; m\u1ee5c ti\u00eau<\/code><\/td>\n<td>Thi\u1ebft l\u1eadp m\u1ed1i quan h\u1ec7 ph\u1ee5 thu\u1ed9c r\u1ed9ng ho\u1eb7c m\u1ed1i quan h\u1ec7 l\u1ecbch s\u1eed gi\u1eefa hai y\u00eau c\u1ea7u ri\u00eang bi\u1ec7t.<\/td>\n<td>Ch\u1ec9 t\u1eeb y\u00eau c\u1ea7u ph\u1ee5 thu\u1ed9c h\u01b0\u1edbng \u0111\u1ebfn kh\u1ed1i m\u1ee5c ti\u00eau ch\u00ednh.<\/td>\n<\/tr>\n<tr>\n<td><code>ngu\u1ed3n - suy ra -&gt; m\u1ee5c ti\u00eau<\/code><\/td>\n<td>Ch\u1ec9 ra r\u1eb1ng m\u1ed9t y\u00eau c\u1ea7u \u0111\u01b0\u1ee3c t\u00ednh to\u00e1n ho\u1eb7c t\u1ea1o ra tr\u1ef1c ti\u1ebfp t\u1eeb m\u1ed9t y\u00eau c\u1ea7u kh\u00e1c.<\/td>\n<td>Ch\u1ec9 t\u1eeb kh\u1ed1i con \u0111\u01b0\u1ee3c suy ra h\u01b0\u1edbng \u0111\u1ebfn kh\u1ed1i cha ngu\u1ed3n.<\/td>\n<\/tr>\n<tr>\n<td><code>ngu\u1ed3n - tinh ch\u1ec9nh -&gt; m\u1ee5c ti\u00eau<\/code><\/td>\n<td>Th\u00eam chi\u1ec1u s\u00e2u ho\u1eb7c \u0111\u1ed9 r\u00f5 r\u00e0ng cho m\u1ed9t t\u00e0i li\u1ec7u k\u1ef9 thu\u1eadt c\u1ea5p cao, r\u1ea5t ph\u1ee9c t\u1ea1p.<\/td>\n<td>Ch\u1ec9 t\u1eeb t\u00e0i li\u1ec7u \u0111\u00e3 \u0111\u01b0\u1ee3c tinh ch\u1ec9nh h\u01b0\u1edbng \u0111\u1ebfn kh\u1ed1i m\u1ee5c ti\u00eau c\u01a1 s\u1edf.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr\/>\n<h2>C\u00e1c ph\u1ea7n t\u1eed do ng\u01b0\u1eddi d\u00f9ng \u0111\u1ecbnh ngh\u0129a &amp; Thu\u1ed9c t\u00ednh m\u1edf r\u1ed9ng<\/h2>\n<p>B\u00ean c\u1ea1nh c\u00e1c y\u00eau c\u1ea7u ti\u00eau chu\u1ea9n, <code>element<\/code>t\u1eeb kh\u00f3a cho ph\u00e9p b\u1ea1n \u00e1nh x\u1ea1 c\u00e1c \u0111o\u1ea1n m\u00e3 \u1ee9ng d\u1ee5ng c\u1ee5 th\u1ec3, c\u00e1c th\u00e0nh ph\u1ea7n ph\u1ea7n c\u1ee9ng ho\u1eb7c c\u00e1c g\u00f3i ph\u1ea7n m\u1ec1m b\u00ean th\u1ee9 ba v\u00e0o c\u00e1c \u0111\u01b0\u1eddng \u0111i theo d\u00f5i c\u1ee7a b\u1ea1n. M\u1ed7i kh\u1ed1i element c\u00f3 th\u1ec3 l\u01b0u tr\u1eef c\u00e1c thu\u1ed9c t\u00ednh metadata t\u00f9y ch\u1ec9nh d\u1ea1ng kh\u00f3a-gi\u00e1 tr\u1ecb b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng l\u01b0\u1ee3c \u0111\u1ed3 <code>type:<\/code> b\u00ean trong c\u00e1c d\u1ea5u ngo\u1eb7c nh\u1ecdn c\u1ee7a n\u00f3.<\/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:eNpdjLEKAjEQRHvBf1juM6yvsbDSPqy5ISwkl7i3UYL4717uGrGZxwzDUzyqKBJmG4WDcjoeiBC3hQq3ThfY8OLmuAi9+4HIWsGJhqupFNBFvOYF+hS\/ljzViKH\/Pj1+jT6nEoVnD8d1EnMxhz\/lOaVqfI+gkVfyArr1ugu\/\/QM6Sw==\" 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:eNpdjTEKwkAURHvBO3zSewFLTSeptA+f9bP5kGzWdaMsYmVhq4W1iAewSeWWCd5jb2KijdjMwMzwxtCqYkMFKRszSoPFcABA+ScBja73VKKlLboUNcOuHwBYp2kMUdLUo\/ZcKUhYmHJNZsOCYG4Na4r65b6XX6YoC50zKkEpVku2aV7KP+gkPO9KwvR1g3XwV4iDf0DOwR8rmGVN3XWLLPhDp+igPQV\/4e\/ZGxkvTTg=\" \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\">requirementDiagram\r\n  element payment_gateway_api {\r\n    type: \"M\u00f4-\u0111un Microservice Stripe\"\r\n  }\r\n  \r\n  element compliance_audit_log {\r\n    type: \"B\u1ea3ng C\u01a1 s\u1edf D\u1eef li\u1ec7u Kh\u00f4ng Th\u1ec3 Thay \u0110\u1ed5i\"\r\n  }<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpdjTEKwkAURHvBO3zSewFLTSeptA+f9bP5kGzWdaMsYmVhq4W1iAewSeWWCd5jb2KijdjMwMzwxtCqYkMFKRszSoPFcABA+ScBja73VKKlLboUNcOuHwBYp2kMUdLUo\/ZcKUhYmHJNZsOCYG4Na4r65b6XX6YoC50zKkEpVku2aV7KP+gkPO9KwvR1g3XwV4iDf0DOwR8rmGVN3XWLLPhDp+igPQV\/4e\/ZGxkvTTg=\" \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:eNpdjLEKAjEQRHvBf1juM6yvsbDSPqy5ISwkl7i3UYL4717uGrGZxwzDUzyqKBJmG4WDcjoeiBC3hQq3ThfY8OLmuAi9+4HIWsGJhqupFNBFvOYF+hS\/ljzViKH\/Pj1+jT6nEoVnD8d1EnMxhz\/lOaVqfI+gkVfyArr1ugu\/\/QM6Sw==\" 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 id=\"pRbvyQC\"><img alt=\"\" class=\"alignnone size-full wp-image-977\" decoding=\"async\" height=\"128\" sizes=\"(max-width: 575px) 100vw, 575px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/07\/img_6a4df08b21709.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/07\/img_6a4df08b21709.png 575w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/07\/img_6a4df08b21709-300x67.png 300w\" width=\"575\"\/><\/p>\n<hr\/>\n<h2>B\u1ea3n thi\u1ebft k\u1ebf th\u1ef1c t\u1ebf: C\u01a1 s\u1edf h\u1ea1 t\u1ea7ng b\u1ea3o m\u1eadt th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed ph\u1ee9c t\u1ea1p<\/h2>\n<p>B\u1ea3n thi\u1ebft k\u1ebf to\u00e0n di\u1ec7n n\u00e0y theo d\u00f5i m\u1ed9t h\u1ec7 sinh th\u00e1i tu\u00e2n th\u1ee7 s\u1ea3n xu\u1ea5t ho\u00e0n ch\u1ec9nh. N\u00f3 minh h\u1ecda qu\u00e1 tr\u00ecnh ph\u00e2n r\u00e3 th\u00f4ng qua <code>contains<\/code>, \u00e1nh x\u1ea1 c\u00e1c gi\u1edbi h\u1ea1n hi\u1ec7u su\u1ea5t, k\u1ebft n\u1ed1i c\u00e1c m\u00f4-\u0111un ph\u1ea7n m\u1ec1m th\u00f4ng qua <code>satisfies<\/code>, v\u00e0 \u00e1nh x\u1ea1 c\u00e1c tr\u01b0\u1eddng h\u1ee3p ki\u1ec3m th\u1eed t\u00edch h\u1ee3p b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng <code>verifies<\/code>v\u00f2ng l\u1eb7p.<\/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:eNqdVE1v00AQvVfqfxhFqgQHo5ADEj0ghTaFBFqiOqhHa1hPukO8XrM7LhjEf2fsJMqXkRCHlbWz8\/HezBsH+lZzIEelXDM+BnTnZwDtubiA+90jvGcKGIxt4CM2FFqPsPccydSBpckcRqGQ6Rv8ap0AOL+EQTq5SobDl4O1SeiHqHFhCbCqCjYo7EuoCpSlDw5cHQUccil6IEpgIzC\/mibXaapXLHMMORjvNBZLQy82eQPH1SVYfrTr+xMFXjaOxHoFIRSltf8+P2s\/FYW2WBu\/T9RYMitfSxYrovyEyHxyf5OMRodEbm\/GYEJTidcOVpYNYC1Ws22ZWYUcLa4orrm10LkgUHZ1mVOA0XDo4iENRznXro8Illg0keMeGW2V0sFDKt1QKBO\/ovKEyPRukQxfH\/IYz6eQoyBIwDI6jlHBbyDXwgX\/JKCyY0o5zNJPd\/BAX2DRFojwbPaweP5fo1CtpY3qxsGk6KDHncpobek6mkUKT2woMz6nLRtpKlLs7zy8RaNAcrhlE\/zGdbBXZpuq8JhnLQQVajSBKznK9eEVzHfqgLTz6cv09btkT1iwNs2HLuVRpllrmupwVBidEj6XLJDWLAfItAFjXS61GqkDFrp6RecfLVcwR7HdsPu2LFExdXsSIXnTo95\/izuWyvYvcNr1BKIii0umvwb29DdZC2AT1I+yp5mHYce1\/gCSrI2V\" 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:eNqdVE1v00AQvVfqfxhFqgQHo9ADEj0g9ZN+0FKaSBUna7vexEvitdkdh0aIA+LAgQs9ogqJEkVRq0aAOCDZBw6u+j\/2n7BrJ22TGglxsHc9OzP73psZS\/Yy5pIFTOAKJ01JgtkZAPvMzcETnR5HEPnZVwFUJ\/0Inmdnsd0OYusir4NBMRpLjl03IAqZdM0ZvLZOANxbgEptddmpVu9XChOyQzTGHZ2+FYA66Ykm6PTUvD2d9s0S+cbIwYu7gDI7B4wtCPR1OgDR9Hl2FphVJ78QkOeg\/FgnpwJ2lzeclVrt3ugiyVVrASgJi88Ok7zRDRj6oQGFTKG1v5mdsUvEZCOUARGU7d1gRn1GW2GMrooY824R213dW3Pm5yeJLWcn1KAlIWCx4zr5jdDWyTCCw8Kk0x8UgqwHfvaTwPba4pj0xdHld532KBwYZsIq8oH6RobQymOPjjnMV6uBmiSJMjYOB9m58MvIEkHaXcXVDcJcmEo1yCTdvJDMxbDFxC2yGzt1p\/qwjKuMu1fF5BbzN2hznb6PYXF3Y8xM6XQ4rjC1YXV7C+yzA9isPd25Zn4ly53N\/frd\/ynmVfvW\/eyL8HMEAwHrBlKu\/ZFoWjfWLliTGH1XMdnhlLk09NiYNnYjZkhucyrD0TksEWpge\/A4rNy4cZyqHRLPtWjMFCgqeYRTuWqFcb2QR5m+7SNsPSjL9eIVuh3S5h7BUOZJp3It6fQTtEymd0FOawgXHy9PBHRM00A9G5rGMdZeBJsmtjKpT144424k\/2wKsm1E4fAsJiOVtmzPCjt+CbURZRPuAA0FEi4UOI9KJuXf4qZbbvwLul0UBxRBrhqc\/TWwRH6naJVRUDnKEqUnw6bv+gNnY\/BL\" \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\">requirementDiagram\r\n  \r\n  %% L\u1edbp ph\u00e2n c\u1ea5p Y\u00eau c\u1ea7u\r\n  requirement security_master_req {\r\n    id: \"SEC-001\"\r\n    text: \"N\u1ec1n t\u1ea3ng \u1ee9ng d\u1ee5ng ph\u1ea3i duy tr\u00ec tu\u00e2n th\u1ee7 nghi\u00eam ng\u1eb7t ti\u00eau chu\u1ea9n PCI-DSS.\"\r\n    risk: cao\r\n    verifymethod: test\r\n  }\r\n\r\n  performanceRequirement checkout_speed_req {\r\n    id: \"PERF-22\"\r\n    text: \"C\u00e1c thao t\u00e1c thi\u1ebft l\u1eadp x\u00e1c th\u1ef1c m\u00e3 h\u00f3a MFA ph\u1ea3i \u0111\u01b0\u1ee3c bi\u00ean d\u1ecbch trong d\u01b0\u1edbi 200ms.\"\r\n    risk: trung b\u00ecnh\r\n    verifymethod: analysis\r\n  }\r\n\r\n  interfaceRequirement secure_token_req {\r\n    id: \"INT-09\"\r\n    text: \"C\u00e1c truy\u1ec1n t\u1ea3i d\u1eef li\u1ec7u API ph\u1ea3i s\u1eed d\u1ee5ng c\u00e1c Token Web JSON \u0111\u01b0\u1ee3c m\u00e3 h\u00f3a (JWT).\"\r\n    risk: cao\r\n    verifymethod: test\r\n  }\r\n\r\n  %% L\u1edbp Th\u00e0nh ph\u1ea7n H\u1ec7 th\u1ed1ng\r\n  element auth_service_code {\r\n    type: \"Microservice Backend Go\"\r\n  }\r\n\r\n  element load_tester_script {\r\n    type: \"Script Hi\u1ec7u su\u1ea5t K6\"\r\n  }\r\n\r\n  element jwt_validator_test {\r\n    type: \"B\u1ed9 ki\u1ec3m th\u1eed \u0110\u01a1n v\u1ecb T\u00edch h\u1ee3p Jest\"\r\n  }\r\n\r\n  %% C\u00e1c \u0110\u01b0\u1eddng M\u1ed1i Quan H\u1ec7 Ki\u1ebfn tr\u00fac\r\n  security_master_req - contains -&gt; checkout_speed_req\r\n  security_master_req - contains -&gt; secure_token_req\r\n  \r\n  auth_service_code - satisfies -&gt; secure_token_req\r\n  load_tester_script - verifies -&gt; checkout_speed_req\r\n  jwt_validator_test - verifies -&gt; secure_token_req<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqdVE1v00AQvVfqfxhFqgQHo9ADEj0g9ZN+0FKaSBUna7vexEvitdkdh0aIA+LAgQs9ogqJEkVRq0aAOCDZBw6u+j\/2n7BrJ22TGglxsHc9OzP73psZS\/Yy5pIFTOAKJ01JgtkZAPvMzcETnR5HEPnZVwFUJ\/0Inmdnsd0OYusir4NBMRpLjl03IAqZdM0ZvLZOANxbgEptddmpVu9XChOyQzTGHZ2+FYA66Ykm6PTUvD2d9s0S+cbIwYu7gDI7B4wtCPR1OgDR9Hl2FphVJ78QkOeg\/FgnpwJ2lzeclVrt3ugiyVVrASgJi88Ok7zRDRj6oQGFTKG1v5mdsUvEZCOUARGU7d1gRn1GW2GMrooY824R213dW3Pm5yeJLWcn1KAlIWCx4zr5jdDWyTCCw8Kk0x8UgqwHfvaTwPba4pj0xdHld532KBwYZsIq8oH6RobQymOPjjnMV6uBmiSJMjYOB9m58MvIEkHaXcXVDcJcmEo1yCTdvJDMxbDFxC2yGzt1p\/qwjKuMu1fF5BbzN2hznb6PYXF3Y8xM6XQ4rjC1YXV7C+yzA9isPd25Zn4ly53N\/frd\/ynmVfvW\/eyL8HMEAwHrBlKu\/ZFoWjfWLliTGH1XMdnhlLk09NiYNnYjZkhucyrD0TksEWpge\/A4rNy4cZyqHRLPtWjMFCgqeYRTuWqFcb2QR5m+7SNsPSjL9eIVuh3S5h7BUOZJp3It6fQTtEymd0FOawgXHy9PBHRM00A9G5rGMdZeBJsmtjKpT144424k\/2wKsm1E4fAsJiOVtmzPCjt+CbURZRPuAA0FEi4UOI9KJuXf4qZbbvwLul0UBxRBrhqc\/TWwRH6naJVRUDnKEqUnw6bv+gNnY\/BL\" \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:eNqdVE1v00AQvVfqfxhFqgQHo5ADEj0ghTaFBFqiOqhHa1hPukO8XrM7LhjEf2fsJMqXkRCHlbWz8\/HezBsH+lZzIEelXDM+BnTnZwDtubiA+90jvGcKGIxt4CM2FFqPsPccydSBpckcRqGQ6Rv8ap0AOL+EQTq5SobDl4O1SeiHqHFhCbCqCjYo7EuoCpSlDw5cHQUccil6IEpgIzC\/mibXaapXLHMMORjvNBZLQy82eQPH1SVYfrTr+xMFXjaOxHoFIRSltf8+P2s\/FYW2WBu\/T9RYMitfSxYrovyEyHxyf5OMRodEbm\/GYEJTidcOVpYNYC1Ws22ZWYUcLa4orrm10LkgUHZ1mVOA0XDo4iENRznXro8Illg0keMeGW2V0sFDKt1QKBO\/ovKEyPRukQxfH\/IYz6eQoyBIwDI6jlHBbyDXwgX\/JKCyY0o5zNJPd\/BAX2DRFojwbPaweP5fo1CtpY3qxsGk6KDHncpobek6mkUKT2woMz6nLRtpKlLs7zy8RaNAcrhlE\/zGdbBXZpuq8JhnLQQVajSBKznK9eEVzHfqgLTz6cv09btkT1iwNs2HLuVRpllrmupwVBidEj6XLJDWLAfItAFjXS61GqkDFrp6RecfLVcwR7HdsPu2LFExdXsSIXnTo95\/izuWyvYvcNr1BKIii0umvwb29DdZC2AT1I+yp5mHYce1\/gCSrI2V\" 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 id=\"YSwDGjh\"><img loading=\"lazy\" alt=\"\" class=\"alignnone size-full wp-image-978\" decoding=\"async\" height=\"458\" loading=\"lazy\" sizes=\"auto, (max-width: 1492px) 100vw, 1492px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/07\/img_6a4df0975e489.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/07\/img_6a4df0975e489.png 1492w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/07\/img_6a4df0975e489-300x92.png 300w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/07\/img_6a4df0975e489-1024x314.png 1024w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/07\/img_6a4df0975e489-768x236.png 768w\" width=\"1492\"\/><\/p>\n<hr\/>\n<h2>Nh\u1eefng l\u1ed7i c\u00fa ph\u00e1p ph\u1ed5 bi\u1ebfn &amp; C\u00e1c gi\u1edbi h\u1ea1n h\u1ec7 th\u1ed1ng<\/h2>\n<p>Khi bi\u00ean d\u1ecbch c\u00e1c b\u1ea3n \u0111\u1ed3 k\u1ef9 thu\u1eadt ch\u00ednh x\u00e1c, h\u00e3y l\u01b0u \u00fd nh\u1eefng tham s\u1ed1 x\u00e1c th\u1ef1c n\u00e0y \u0111\u1ec3 tr\u00e1nh l\u1ed7i ph\u00e2n t\u00edch c\u00fa ph\u00e1p:<\/p>\n<ul>\n<li><strong>D\u1ea5u ngo\u1eb7c k\u00e9p b\u1eaft bu\u1ed9c cho chu\u1ed7i:<\/strong>C\u00e1c kh\u1ed1i v\u0103n b\u1ea3n v\u00e0 lo\u1ea1i (v\u00ed d\u1ee5 nh\u01b0 <code>text: \"M\u00f4 t\u1ea3\"<\/code>, <code>type: \"Th\u00e0nh ph\u1ea7n\"<\/code>) *ph\u1ea3i* \u0111\u01b0\u1ee3c bao quanh b\u1eb1ng d\u1ea5u ngo\u1eb7c k\u00e9p. S\u1eed d\u1ee5ng d\u1ea5u ngo\u1eb7c \u0111\u01a1n ho\u1eb7c \u0111\u1ec3 chu\u1ed7i kh\u00f4ng \u0111\u01b0\u1ee3c bao quanh s\u1ebd khi\u1ebfn tr\u00ecnh bi\u00ean d\u1ecbch b\u1ecb s\u1eadp.<\/li>\n<li><strong>C\u00fa ph\u00e1p thu\u1ed9c t\u00ednh nghi\u00eam ng\u1eb7t:<\/strong> C\u00e1c thu\u1ed9c t\u00ednh b\u00ean trong d\u1ea5u ngo\u1eb7c nh\u1ecdn ph\u1ea3i s\u1eed d\u1ee5ng d\u1ea5u hai ch\u1ea5m theo sau ngay l\u1eadp t\u1ee9c b\u1edfi c\u00e1c gi\u00e1 tr\u1ecb (v\u00ed d\u1ee5: <code>id: 1<\/code>). B\u1ecf qu\u00ean d\u1ea5u hai ch\u1ea5m ho\u1eb7c vi\u1ebft ch\u00fang tr\u00ean c\u00f9ng m\u1ed9t d\u00f2ng m\u00e0 kh\u00f4ng c\u00f3 kho\u1ea3ng c\u00e1ch th\u1ee5t l\u1ec1 ph\u00f9 h\u1ee3p c\u00f3 th\u1ec3 g\u00e2y ra l\u1ed7i.<\/li>\n<li><strong>L\u1ef1a ch\u1ecdn gi\u00e1 tr\u1ecb h\u1ea1n ch\u1ebf:<\/strong> C\u00e1c <code>risk<\/code> v\u00e0 <code>verifymethod<\/code> tham s\u1ed1 ch\u1ec9 ch\u1ea5p nh\u1eadn c\u00e1c token h\u1ec7 th\u1ed1ng r\u00f5 r\u00e0ng (v\u00ed d\u1ee5: <code>low<\/code>, <code>medium<\/code>, <code>high<\/code> cho risk; <code>analysis<\/code>, <code>demonstration<\/code>, <code>inspection<\/code>, <code>test<\/code> cho verifymethod). Nh\u1eadp c\u00e1c gi\u00e1 tr\u1ecb t\u00f9y ch\u1ec9nh nh\u01b0 <code>risk: extreme<\/code> s\u1ebd l\u00e0m h\u1ecfng tr\u00ecnh x\u00e2y d\u1ef1ng b\u1ed1 c\u1ee5c.<\/li>\n<li><strong>\u0110\u1ed9 ch\u00ednh x\u00e1c kho\u1ea3ng c\u00e1ch m\u0169i t\u00ean:<\/strong> C\u00e1c d\u00f2ng \u0111\u1ecbnh h\u01b0\u1edbng ph\u1ea3i \u0111\u01b0\u1ee3c g\u00f5 v\u1edbi kho\u1ea3ng c\u00e1ch tr\u1eafng bao quanh c\u00e1c to\u00e1n t\u1eed (v\u00ed d\u1ee5: <code>A - satisfies -&gt; B<\/code>). Gom chu\u1ed7i l\u1ea1i th\u00e0nh <code>A-satisfies-&gt;B<\/code> s\u1ebd b\u1ecf qua c\u00e1c ngo\u1ea1i l\u1ec7 x\u1eed l\u00fd h\u1ec7 th\u1ed1ng.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>S\u01a1 \u0111\u1ed3 Y\u00eau c\u1ea7u l\u00e0 m\u1ed9t c\u00f4ng c\u1ee5 tr\u1ef1c quan h\u00f3a k\u1ef9 thu\u1eadt chuy\u00ean bi\u1ec7t \u0111\u01b0\u1ee3c c\u00e1c ki\u1ebfn tr\u00fac s\u01b0 h\u1ec7 th\u1ed1ng, qu\u1ea3n l\u00fd s\u1ea3n ph\u1ea9m v\u00e0 k\u1ef9 s\u01b0 ph\u1ea7n m\u1ec1m s\u1eed d\u1ee5ng \u0111\u1ec3 l\u1eadp b\u1ea3n \u0111\u1ed3 c\u00e1c th\u00f4ng s\u1ed1&#8230;<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":23,"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-2075","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>Mermaid Requirement Diagram | VPasCode Text to Diagram Guide<\/title>\n<meta name=\"description\" content=\"Track system specifications and verification tests with Mermaid requirement diagrams in VPasCode, a 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\/mermaid-js-requirement-diagram-syntax-traceability-guide\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mermaid Requirement Diagram | VPasCode Text to Diagram Guide\" \/>\n<meta property=\"og:description\" content=\"Track system specifications and verification tests with Mermaid requirement diagrams in VPasCode, a diagram-as-code tool.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/mermaid-js-requirement-diagram-syntax-traceability-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"VPasCode\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/07\/img_6a4df073c6731.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\\\/mermaid-js-requirement-diagram-syntax-traceability-guide\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/mermaid-js-requirement-diagram-syntax-traceability-guide\\\/\",\"name\":\"Mermaid Requirement Diagram | VPasCode Text to Diagram Guide\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/mermaid-js-requirement-diagram-syntax-traceability-guide\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/mermaid-js-requirement-diagram-syntax-traceability-guide\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vpascode.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/img_6a4df073c6731.png\",\"datePublished\":\"2026-07-08T06:34:46+00:00\",\"description\":\"Track system specifications and verification tests with Mermaid requirement diagrams in VPasCode, a diagram-as-code tool.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/mermaid-js-requirement-diagram-syntax-traceability-guide\\\/#breadcrumb\"},\"inLanguage\":\"vi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/mermaid-js-requirement-diagram-syntax-traceability-guide\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/mermaid-js-requirement-diagram-syntax-traceability-guide\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/img_6a4df073c6731.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/img_6a4df073c6731.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/mermaid-js-requirement-diagram-syntax-traceability-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 Y\u00eau c\u1ea7u Mermaid.js v\u00e0 H\u01b0\u1edbng d\u1eabn truy xu\u1ea5t\"}]},{\"@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":"Mermaid Requirement Diagram | VPasCode Text to Diagram Guide","description":"Track system specifications and verification tests with Mermaid requirement diagrams in VPasCode, a 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\/mermaid-js-requirement-diagram-syntax-traceability-guide\/","og_locale":"vi_VN","og_type":"article","og_title":"Mermaid Requirement Diagram | VPasCode Text to Diagram Guide","og_description":"Track system specifications and verification tests with Mermaid requirement diagrams in VPasCode, a diagram-as-code tool.","og_url":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/mermaid-js-requirement-diagram-syntax-traceability-guide\/","og_site_name":"VPasCode","og_image":[{"url":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/07\/img_6a4df073c6731.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\/mermaid-js-requirement-diagram-syntax-traceability-guide\/","url":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/mermaid-js-requirement-diagram-syntax-traceability-guide\/","name":"Mermaid Requirement Diagram | VPasCode Text to Diagram Guide","isPartOf":{"@id":"https:\/\/www.vpascode.com\/vn\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/mermaid-js-requirement-diagram-syntax-traceability-guide\/#primaryimage"},"image":{"@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/mermaid-js-requirement-diagram-syntax-traceability-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/07\/img_6a4df073c6731.png","datePublished":"2026-07-08T06:34:46+00:00","description":"Track system specifications and verification tests with Mermaid requirement diagrams in VPasCode, a diagram-as-code tool.","breadcrumb":{"@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/mermaid-js-requirement-diagram-syntax-traceability-guide\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/mermaid-js-requirement-diagram-syntax-traceability-guide\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/mermaid-js-requirement-diagram-syntax-traceability-guide\/#primaryimage","url":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/07\/img_6a4df073c6731.png","contentUrl":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/07\/img_6a4df073c6731.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/mermaid-js-requirement-diagram-syntax-traceability-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 Y\u00eau c\u1ea7u Mermaid.js v\u00e0 H\u01b0\u1edbng d\u1eabn truy xu\u1ea5t"}]},{"@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\/2075","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\/3"}],"wp:attachment":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/media?parent=2075"}],"wp:term":[{"taxonomy":"ld_collection","embeddable":true,"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/ld_collection?post=2075"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}