{"id":10645,"date":"2026-05-22T17:42:53","date_gmt":"2026-05-22T09:42:53","guid":{"rendered":"https:\/\/blog.visual-paradigm.com\/pt\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/"},"modified":"2026-05-30T14:07:04","modified_gmt":"2026-05-30T06:07:04","slug":"architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks","status":"publish","type":"post","link":"https:\/\/blog.visual-paradigm.com\/pt\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/","title":{"rendered":"Arquitetando com Clareza: Um Estudo de Caso Abrangente sobre Blocos de Constru\u00e7\u00e3o UML"},"content":{"rendered":"<h2 data-nodeid=\"10018\">Introdu\u00e7\u00e3o<\/h2>\n<p data-nodeid=\"10019\">Sistemas de software modernos s\u00e3o intrinsecamente complexos, compostos por centenas de componentes interativos, processos concorrentes e fluxos de dados intrincados. Fechar a lacuna entre requisitos de neg\u00f3cios abstratos e implementa\u00e7\u00f5es t\u00e9cnicas concretas exige uma m\u00eddia padronizada e inequ\u00edvoca de comunica\u00e7\u00e3o. A Linguagem Unificada de Modelagem (UML) serve como esse plano universal, fornecendo um vocabul\u00e1rio visual que desenvolvedores, arquitetos e partes interessadas podem compartilhar entre disciplinas.<\/p>\n<p data-nodeid=\"10020\">Embora o conhecimento te\u00f3rico sobre a sintaxe UML seja valioso, a verdadeira maestria surge quando esses conceitos s\u00e3o aplicados a um cen\u00e1rio coeso e do mundo real. Este estudo de caso demonstra como os tr\u00eas blocos fundamentais da UML\u2014<strong data-nodeid=\"10132\">Coisas<\/strong>,\u00a0<strong data-nodeid=\"10133\">Relacionamentos<\/strong>, e\u00a0<strong data-nodeid=\"10134\">Diagramas<\/strong>\u2014se interligam para modelar uma arquitetura de software completa. Ao aplicar cada elemento UML ao projeto de uma plataforma de com\u00e9rcio eletr\u00f4nico moderna, traduziremos princ\u00edpios abstratos de modelagem em artefatos visuais prontos para produ\u00e7\u00e3o e a\u00e7\u00e3o.<\/p>\n<p id=\"KqYoeiX\"><img alt=\"\" class=\"alignnone size-full wp-image-24786\" decoding=\"async\" height=\"648\" loading=\"lazy\" sizes=\"auto, (max-width: 1187px) 100vw, 1187px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10246416fac.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10246416fac.png 1187w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10246416fac-300x164.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10246416fac-1030x562.png 1030w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10246416fac-768x419.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10246416fac-150x82.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10246416fac-400x218.png 400w\" width=\"1187\"\/><\/p>\n<hr data-nodeid=\"10021\"\/>\n<h2 data-nodeid=\"10022\">Contexto do Estudo de Caso: A Plataforma de Com\u00e9rcio Eletr\u00f4nico \u201cShopSphere\u201d<\/h2>\n<p data-nodeid=\"10023\"><strong data-nodeid=\"10144\">ShopSphere<\/strong>\u00a0\u00e9 uma plataforma de com\u00e9rcio eletr\u00f4nico escal\u00e1vel e nativa em nuvem que conecta compradores, vendedores de terceiros e equipe administrativa. O sistema deve lidar com autentica\u00e7\u00e3o de usu\u00e1rios, gerenciamento do cat\u00e1logo de produtos, opera\u00e7\u00f5es de carrinho de compras, processamento seguro de pagamentos, cumprimento de pedidos e rastreamento em tempo real do estoque. Para garantir manutenibilidade e comunica\u00e7\u00e3o clara entre a equipe, a equipe de arquitetura adotou a UML como seu padr\u00e3o principal de modelagem.<\/p>\n<hr data-nodeid=\"10024\"\/>\n<h2 data-nodeid=\"10025\">Parte 1: Modelagem com as \u201cCoisas\u201d UML<\/h2>\n<p data-nodeid=\"10026\">As Coisas s\u00e3o os cidad\u00e3os de primeira classe de qualquer modelo UML. Elas representam os substantivos est\u00e1ticos, verbos din\u00e2micos, cont\u00eaineres organizacionais e coment\u00e1rios explicativos que formam a base da arquitetura do ShopSphere.<\/p>\n<h3 data-nodeid=\"10027\">1. Coisas Estruturais (Os Substantivos Est\u00e1ticos)<\/h3>\n<p data-nodeid=\"10028\">As coisas estruturais definem os elementos f\u00edsicos e conceituais que persistem dentro do sistema.<\/p>\n<p id=\"rpzTJSu\"><img alt=\"\" class=\"alignnone size-full wp-image-24787\" decoding=\"async\" height=\"376\" loading=\"lazy\" sizes=\"auto, (max-width: 722px) 100vw, 722px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10250aea4d6.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10250aea4d6.png 722w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10250aea4d6-300x156.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10250aea4d6-150x78.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10250aea4d6-400x208.png 400w\" width=\"722\"\/><\/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#plantuml:JL7DQW8n4Bulx3iCNggqJo0Y5f7YeLHOYqSPar63IKOcYJyjVVVEhbfwcnc-V7-Pf8oII_1rzGIpY1jF2OAxkBW3teBnc1Ab5oY9m60tOhHWE1mvKiofhj1xFj-Uj2HDbc9o4VImtEijmUo2uUYfhZesc9QKEP30Trq1F2k-5QE0ply_H0pKxK8xbp99Vr1NFtNbeivRD0Jp1Lw3UdZ3J6Uytlcmv3sB-w8-1Yun3y5oqLY38MoOFM7iO0QFQfBwMJ0cDDbndDiXtCGLUs9dExsRwG-n90jXGoafOCLos6fi61ds7ZSis3ACwqgBQdk2tdHFvi0bzm0JV4xNZ_t1E8ydzSvoRQxHD2Gdfv56hPCJZUzPfCI5yglWSY-4jgr0p-LeDNAJsHpkfVpz1zmxUMTRsieZMuAfvs9R2PBrwwgfgmb5gt_-2m00\" 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>Editar PlantUML no 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#plantuml:JL7BIaCn4DrVkFymkB55lw28L8fe5sBXAYvbcemsDCcKcQHQnNztqeUupE7al6Qg1QNK5Flk7Evn6M8e20WfQAc2u0bSH5NIIt2eh0sfoc0ufmrdoeMqxp16_aZXC-JtfdJxIMaJkP5d71GLRhL8RPB1s7j9c5Kjd4ZWk-y0BeOYzXieOOZ_WOo9zc-XTqj5CXhttK_V1NEMDtG4ymNkaWMvmq8Vk3lgOIqhbl158qnSSvc0vxgCD9x0aZaIvZtDuSPYqQW8PaLN0kUvdy31tBXR3dxlTmZzA9va8Un8rGWlBEitgmvNZcF49GisXUk-gqes6C7PR4LkpRMSWStmF7izlK-Ayxorx2oxOPVTGB8DLkcg9TdIzR6BrBmmVJDyMWcXRnCON3VUAW-5tVeuojzHuBZ90_iQRR_CxHQHgsyM9AytBqFVJIbxE_ul\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n' Habilita a mistura de classes, casos de uso e componentes\r\nallowmixing\r\n' Exemplo de Coisas Estruturais\r\nclass Customer {\r\n  +String email\r\n  +String name\r\n  +register()\r\n}\r\ninterface IPaymentGateway {\r\n  +authorize(amount: double): boolean\r\n  +capture(transactionId: String): void\r\n}\r\nclass OrderProcessingWorkflow &lt;collaboration&gt;\r\nusecase \"Checkout\" as UC_Checkout\r\nclass InventorySyncService &lt;active&gt; {\r\n  +runPollingThread()\r\n  +updateStock()\r\n}\r\ncomponent PaymentModule\r\nnode CloudServer_AWS\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:JL7BIaCn4DrVkFymkB55lw28L8fe5sBXAYvbcemsDCcKcQHQnNztqeUupE7al6Qg1QNK5Flk7Evn6M8e20WfQAc2u0bSH5NIIt2eh0sfoc0ufmrdoeMqxp16_aZXC-JtfdJxIMaJkP5d71GLRhL8RPB1s7j9c5Kjd4ZWk-y0BeOYzXieOOZ_WOo9zc-XTqj5CXhttK_V1NEMDtG4ymNkaWMvmq8Vk3lgOIqhbl158qnSSvc0vxgCD9x0aZaIvZtDuSPYqQW8PaLN0kUvdy31tBXR3dxlTmZzA9va8Un8rGWlBEitgmvNZcF49GisXUk-gqes6C7PR4LkpRMSWStmF7izlK-Ayxorx2oxOPVTGB8DLkcg9TdIzR6BrBmmVJDyMWcXRnCON3VUAW-5tVeuojzHuBZ90_iQRR_CxHQHgsyM9AytBqFVJIbxE_ul\" \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#plantuml:JL7DQW8n4Bulx3iCNggqJo0Y5f7YeLHOYqSPar63IKOcYJyjVVVEhbfwcnc-V7-Pf8oII_1rzGIpY1jF2OAxkBW3teBnc1Ab5oY9m60tOhHWE1mvKiofhj1xFj-Uj2HDbc9o4VImtEijmUo2uUYfhZesc9QKEP30Trq1F2k-5QE0ply_H0pKxK8xbp99Vr1NFtNbeivRD0Jp1Lw3UdZ3J6Uytlcmv3sB-w8-1Yun3y5oqLY38MoOFM7iO0QFQfBwMJ0cDDbndDiXtCGLUs9dExsRwG-n90jXGoafOCLos6fi61ds7ZSis3ACwqgBQdk2tdHFvi0bzm0JV4xNZ_t1E8ydzSvoRQxHD2Gdfv56hPCJZUzPfCI5yglWSY-4jgr0p-LeDNAJsHpkfVpz1zmxUMTRsieZMuAfvs9R2PBrwwgfgmb5gt_-2m00\" 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>Editar PlantUML no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<ul data-nodeid=\"10030\">\n<li data-nodeid=\"10031\">\n<p data-nodeid=\"10032\"><strong data-nodeid=\"10158\">Classes<\/strong>\u00a0(<code data-backticks=\"1\" data-nodeid=\"10156\">Customer<\/code>): Define modelos de objetos com atributos e opera\u00e7\u00f5es.<\/p>\n<\/li>\n<li data-nodeid=\"10033\">\n<p data-nodeid=\"10034\"><strong data-nodeid=\"10165\">Interfaces<\/strong>\u00a0(<code data-backticks=\"1\" data-nodeid=\"10163\">IPaymentGateway<\/code>): Especifica contratos sem detalhes de implementa\u00e7\u00e3o.<\/p>\n<\/li>\n<li data-nodeid=\"10035\">\n<p data-nodeid=\"10036\"><strong data-nodeid=\"10172\">Colabora\u00e7\u00f5es<\/strong>\u00a0(<code data-backticks=\"1\" data-nodeid=\"10170\">[WorkflowDeProcessamentoDePedidos]<\/code>): Modela pap\u00e9is cooperativos trabalhando em dire\u00e7\u00e3o a um objetivo comum.<\/p>\n<\/li>\n<li data-nodeid=\"10037\">\n<p data-nodeid=\"10038\"><strong data-nodeid=\"10179\">Casos de Uso<\/strong>\u00a0(<code data-backticks=\"1\" data-nodeid=\"10177\">Finaliza\u00e7\u00e3o<\/code>): Captura comportamentos do sistema vis\u00edveis externamente.<\/p>\n<\/li>\n<li data-nodeid=\"10039\">\n<p data-nodeid=\"10040\"><strong data-nodeid=\"10186\">Classes Ativas<\/strong>\u00a0(<code data-backticks=\"1\" data-nodeid=\"10184\">[Servi\u00e7oDeSincroniza\u00e7\u00e3oDeEstoque]<\/code>): Representa processos ou threads concorrentes.<\/p>\n<\/li>\n<li data-nodeid=\"10041\">\n<p data-nodeid=\"10042\"><strong data-nodeid=\"10193\">Componentes<\/strong>\u00a0(<code data-backticks=\"1\" data-nodeid=\"10191\">[M\u00f3duloDePagamento]<\/code>): M\u00f3dulos f\u00edsicos implant\u00e1veis e substitu\u00edveis.<\/p>\n<\/li>\n<li data-nodeid=\"10043\">\n<p data-nodeid=\"10044\"><strong data-nodeid=\"10200\">N\u00f3s<\/strong>\u00a0(<code data-backticks=\"1\" data-nodeid=\"10198\">[ServidorEmNuVem_AWS]<\/code>): Recursos computacionais em tempo de execu\u00e7\u00e3o.<\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"10045\">2. Coisas Comportamentais (Os Verbos Din\u00e2micos)<\/h3>\n<p data-nodeid=\"10046\">As coisas comportamentais capturam como o sistema evolui ao longo do tempo e responde a est\u00edmulos.<\/p>\n<p id=\"Tlvijau\"><img alt=\"\" class=\"alignnone size-full wp-image-24790\" decoding=\"async\" height=\"269\" loading=\"lazy\" sizes=\"auto, (max-width: 377px) 100vw, 377px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10259dcffb5.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10259dcffb5.png 377w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10259dcffb5-300x214.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10259dcffb5-150x107.png 150w\" width=\"377\"\/><\/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#plantuml:PO_F2eCm38Vl1TyXU9ax-0A33N5us64W37OFRT0oJQMcOxxzucvbfq2-tvS_pIeO9SrJOGvmOw68LdnWgEwqhZWGT1yx8WzqB8oY4A5D6yN2BEfvwnTaWSSObiNpSDLUJdhSPcBfUF1CXVcvK5yo0qw0plKnk6IbAjiGNgLkooAgPAFKUUFa7GhjlD9ypkl_9LRBSvVW31AJdjCGE_tz2m00\" 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>Edite PlantUML no 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#plantuml:TT0n2i9G30RW_S6xGt2n3hs0e1Jg8bXm4FVG5-g3zgMaQI_au45wCIE2GujBblnV4b8CYg9ZrtgtXNDI4fnVyvCXkmdN286WeZHWOsNd7IeBbDprWe75kzvmh6EF9g54aPWUVA9lObZqApPzeYiss55Izkut2VBZciCUC8IhS1XhpJQNE0blx8XrqFHokE49snXGoVAQcLj5yZzRQmFt3uO3g8paNK4fs9FU\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n' Intera\u00e7\u00e3o (Troca de Mensagens)\r\nator Comprador\r\nparticipante CarrinhoDeCompras\r\nparticipante MotorDePagamento\r\nComprador -&gt; CarrinhoDeCompras : addProduct(\"Livro\")\r\nCarrinhoDeCompras -&gt; MotorDePagamento : validateCart()\r\nMotorDePagamento --&gt; CarrinhoDeCompras : cartValid = true\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:TT0n2i9G30RW_S6xGt2n3hs0e1Jg8bXm4FVG5-g3zgMaQI_au45wCIE2GujBblnV4b8CYg9ZrtgtXNDI4fnVyvCXkmdN286WeZHWOsNd7IeBbDprWe75kzvmh6EF9g54aPWUVA9lObZqApPzeYiss55Izkut2VBZciCUC8IhS1XhpJQNE0blx8XrqFHokE49snXGoVAQcLj5yZzRQmFt3uO3g8paNK4fs9FU\" \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#plantuml:PO_F2eCm38Vl1TyXU9ax-0A33N5us64W37OFRT0oJQMcOxxzucvbfq2-tvS_pIeO9SrJOGvmOw68LdnWgEwqhZWGT1yx8WzqB8oY4A5D6yN2BEfvwnTaWSSObiNpSDLUJdhSPcBfUF1CXVcvK5yo0qw0plKnk6IbAjiGNgLkooAgPAFKUUFa7GhjlD9ypkl_9LRBSvVW31AJdjCGE_tz2m00\" 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>Edite PlantUML no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<ul data-nodeid=\"10048\">\n<li data-nodeid=\"10049\">\n<p data-nodeid=\"10050\"><strong data-nodeid=\"10211\">Intera\u00e7\u00f5es<\/strong>: Sequ\u00eancias de mensagens (<code data-backticks=\"1\" data-nodeid=\"10207\">validateCart()<\/code>,\u00a0<code data-backticks=\"1\" data-nodeid=\"10209\">cartValid = true<\/code>) trocado entre objetos.<\/p>\n<\/li>\n<li data-nodeid=\"10051\">\n<p data-nodeid=\"10052\"><strong data-nodeid=\"10222\">M\u00e1quinas de Estado<\/strong>: Transi\u00e7\u00f5es de ciclo de vida (<code data-backticks=\"1\" data-nodeid=\"10216\">Pendente<\/code>\u00a0\u2192\u00a0<code data-backticks=\"1\" data-nodeid=\"10218\">Processando<\/code>\u00a0\u2192\u00a0<code data-backticks=\"1\" data-nodeid=\"10220\">Enviado\/Cancelado<\/code>) disparado por eventos.<\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"10053\">3. Agrupamento de Coisas (Os Cont\u00eaineres Organizacionais)<\/h3>\n<p data-nodeid=\"10054\">As coisas agrupadas decomp\u00f5em modelos complexos em namespaces gerenci\u00e1veis.<\/p>\n<p id=\"tCgLjMh\"><img alt=\"\" class=\"alignnone size-full wp-image-24792\" decoding=\"async\" height=\"112\" loading=\"lazy\" sizes=\"auto, (max-width: 882px) 100vw, 882px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10261a6a3c1.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10261a6a3c1.png 882w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10261a6a3c1-300x38.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10261a6a3c1-768x98.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10261a6a3c1-150x19.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10261a6a3c1-400x51.png 400w\" width=\"882\"\/><\/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#plantuml:NP31QW9138Rl0_CEmOkluR9Os4DfeNWg7i9CM8VE94iIxKBfktTLHEqj8NnVadzZZkh7LcDOGrUhV1kqCXSU8LKq8mFa34dQ94pi1iBW1mB3Hf2GJsWnu1cyOZ5CcBvm95ZrejHBQwI9Ll0J0roTyAQPzDuEV9AIA8RV1tXdfA_8IzsMjKzuVpINzcZeSYjy9fuTszb96Ul0JgEY5s6xcMuFmUU7QvcMGvafkUZ-t_Y5ydRkteVznRqXpajQVm00\" 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>Edite PlantUML no 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#plantuml:NP11ImD138Nl0_CVGY_-ZPQbmXx4WdYI7i9iM0OdoP9aTK7yxuvAiVMMHtXVtilU0orMRZdTmOcCQn1mzLWD3Kf3Tt8WACgB2abq9GXCpWX13NF2rlITwrPbpcd1yeepmMvGeq6PoGhju2Cd-AN1eqraVtAKDws5SlgyCZyxsGDAdxcVlB4FguVoDU4mSPLlnotZk0MPO1jxvjamgefVI9SoyF8KLfSUL8HAg9t_hUzfEcw7qtZ-OUz9flwgBm00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n' Permite misturar classes e componentes na mesma tela\r\nallowmixing\r\npackage \"CoreCommerce\" {\r\n  class Order\r\n  class Invoice\r\n}\r\npackage \"UserManagement\" {\r\n  class Customer\r\n  class AdminUser\r\n}\r\npackage \"ExternalIntegrations\" {\r\n  component [StripeConnector]\r\n  component [FedExAPI]\r\n}\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:NP11ImD138Nl0_CVGY_-ZPQbmXx4WdYI7i9iM0OdoP9aTK7yxuvAiVMMHtXVtilU0orMRZdTmOcCQn1mzLWD3Kf3Tt8WACgB2abq9GXCpWX13NF2rlITwrPbpcd1yeepmMvGeq6PoGhju2Cd-AN1eqraVtAKDws5SlgyCZyxsGDAdxcVlB4FguVoDU4mSPLlnotZk0MPO1jxvjamgefVI9SoyF8KLfSUL8HAg9t_hUzfEcw7qtZ-OUz9flwgBm00\" \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#plantuml:NP31QW9138Rl0_CEmOkluR9Os4DfeNWg7i9CM8VE94iIxKBfktTLHEqj8NnVadzZZkh7LcDOGrUhV1kqCXSU8LKq8mFa34dQ94pi1iBW1mB3Hf2GJsWnu1cyOZ5CcBvm95ZrejHBQwI9Ll0J0roTyAQPzDuEV9AIA8RV1tXdfA_8IzsMjKzuVpINzcZeSYjy9fuTszb96Ul0JgEY5s6xcMuFmUU7QvcMGvafkUZ-t_Y5ydRkteVznRqXpajQVm00\" 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>Edite PlantUML no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<ul data-nodeid=\"10056\">\n<li data-nodeid=\"10057\">\n<p data-nodeid=\"10058\"><strong data-nodeid=\"10229\">Pacotes<\/strong>: Cont\u00eaineres puramente conceituais que organizam elementos relacionados durante o desenvolvimento.<\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"10059\">4. Coisas Anotativas (Os Coment\u00e1rios Explicativos)<\/h3>\n<p data-nodeid=\"10060\">As coisas anotativas fornecem clareza, restri\u00e7\u00f5es e orienta\u00e7\u00e3o para desenvolvedores.<\/p>\n<p id=\"TBrAEyH\"><img alt=\"\" class=\"alignnone size-full wp-image-24793\" decoding=\"async\" height=\"94\" loading=\"lazy\" sizes=\"auto, (max-width: 513px) 100vw, 513px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10264b8816c.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10264b8816c.png 513w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10264b8816c-300x55.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10264b8816c-150x27.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10264b8816c-400x73.png 400w\" width=\"513\"\/><\/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#plantuml:JOzD2i9034Rt0tE7xBeGF82hAkuLFS6qZUt0D2dv0K6ykzFgmbq8xtl9rwebCPzB37r9gd2H0GLUCG3ipknTGJ2sL8upEzcslfja6g4cpJM6Tmp4XY1vd0puyLMivCar4rRfpGiU_ZqmknfaweiFkAAMdf1e09toigps3Xyi-3i29eaqMsRIZMPehi9zTLUssSU0DRj-4KDRnzhd0m00\" 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>Edite PlantUML no 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#plantuml:JOz1QWCn34Nt1j_Xxx8ev01PJQ3hDZGdKCRArE2nWYHd4tAU7g3a17EnUb8etOclh_U_1dDIRtE9OInaXdTDhBZ50BoyIZiLXejJsS_IgZ_beskk4_gbDulX7aCLPsYUFXro_aMipW-Ub90ORpmjtsEMtNzMNrmPkOwbvQSzpnSn5mFZhDo9L9qDYGokL2qlNyjZ5VWl6xXGZzWSL4Osevfaius1QyBQAOQXZ_sx7m00\" \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\nclass Order {\r\n  +Double totalAmount\r\n  +String status\r\n}\r\nnote right of Order\r\n  Regra de Neg\u00f3cio: totalAmount deve incluir\r\n  impostos e frete antes das transi\u00e7\u00f5es de status\r\n  para 'Processando'.\r\nend note\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:JOz1QWCn34Nt1j_Xxx8ev01PJQ3hDZGdKCRArE2nWYHd4tAU7g3a17EnUb8etOclh_U_1dDIRtE9OInaXdTDhBZ50BoyIZiLXejJsS_IgZ_beskk4_gbDulX7aCLPsYUFXro_aMipW-Ub90ORpmjtsEMtNzMNrmPkOwbvQSzpnSn5mFZhDo9L9qDYGokL2qlNyjZ5VWl6xXGZzWSL4Osevfaius1QyBQAOQXZ_sx7m00\" \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#plantuml:JOzD2i9034Rt0tE7xBeGF82hAkuLFS6qZUt0D2dv0K6ykzFgmbq8xtl9rwebCPzB37r9gd2H0GLUCG3ipknTGJ2sL8upEzcslfja6g4cpJM6Tmp4XY1vd0puyLMivCar4rRfpGiU_ZqmknfaweiFkAAMdf1e09toigps3Xyi-3i29eaqMsRIZMPehi9zTLUssSU0DRj-4KDRnzhd0m00\" 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>Edite PlantUML no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<ul data-nodeid=\"10062\">\n<li data-nodeid=\"10063\">\n<p data-nodeid=\"10064\"><strong data-nodeid=\"10236\">Notas<\/strong>: Blocos de texto com cantos dobrados conectados a elementos para restri\u00e7\u00f5es, observa\u00e7\u00f5es ou documenta\u00e7\u00e3o.<\/p>\n<\/li>\n<\/ul>\n<hr data-nodeid=\"10065\"\/>\n<h2 data-nodeid=\"10066\">Parte 2: Conectando Elementos com Rela\u00e7\u00f5es UML<\/h2>\n<p data-nodeid=\"10067\">As rela\u00e7\u00f5es definem as depend\u00eancias sem\u00e2nticas e estruturais que unem as coisas. A arquitetura do ShopSphere depende de quatro blocos relacionais principais:<\/p>\n<p id=\"PLWTJej\"><img alt=\"\" class=\"alignnone size-full wp-image-24794\" decoding=\"async\" height=\"296\" loading=\"lazy\" sizes=\"auto, (max-width: 498px) 100vw, 498px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a1026822658b.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a1026822658b.png 498w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a1026822658b-300x178.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a1026822658b-150x89.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a1026822658b-400x238.png 400w\" width=\"498\"\/><\/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#plantuml:RPB1QW8n48Rl2_iEmnvQQzbGQqyYYw9GUgfq-m8X6NS7iab8OiNIX-_ehY3gCNyot_ppJnOnoP1sdScpH_X28nCv6rloy7tm684irAtpjMynO9uf8sCyAPvii-BIixQHXmvjgZ7yaEANP1E6hLG87yFL9ZY5CRfmBba5r9GOec-kk6GZpOLyj3SHi4QFLgDL1nYjPMnHWo6BJtbswGc4gAuCmGpcyrt4M5Kzx5N0aj6AJXF30ooR9c3JdqQrCzIZOK-f1KsoSrPpdzKk9jTXW69ImBWieNWHObp0Pz0ipi0RdZd2q6KgE5Hfw7VW3fwVeNN6k3t84Dp-IBsDWeVug-w5T-I-2NX7Y-42tLk-8Lyb2MN9r7ljPhnhNZAb2ChPBJLvjk2i-Mly0m00\" 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>Edite PlantUML no 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#plantuml:RPBFIiD04CRlWRp3a8jQoMBLKocXfO9uCbXVODYTfYkRtR2xALXy6m-2LnyXB-QqJQMsFUxy-NtVpEmaHFInhKsQNC2hRbm0HV121hklxjE1TJ1VkcRUBCbJcaY38MmZZRRLZ5ltiHBVQx9nJdwb9LTg6yalK18yzQdIEqaXEBzlcNbIEZ94dQIufKHp4DxO6mfue8Qiwhwjr0YNHjibGlIiyeOAhzBaq1a8KHpPWX6Cnst0ejWHRmLCcS-mtRG4qyfJrRzwVkX-Z5O8qjLWN41RELQQjI6wcZnammm6UGxPZH2339wzuk28gusJ2BtGdU2Tej7h_-W_wt0DWIB22jTwCyUPrV0u7yMvPMxuzm8UoP8_bTYxFn8uMZ3aESFFgOw0Bx-TtYvqrVeTFKqcV0V-Dhy0\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\" data-nodeid=\"10068\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n' Tipos de Rela\u00e7\u00e3o no ShopSphere\r\nclass ShoppingCart\r\nclass PaymentService\r\ninterface IPaymentProcessor\r\nclass CreditCardProcessor\r\nclass PayPalProcessor\r\n\r\n' 1. Depend\u00eancia (linha tracejada)\r\nShoppingCart ..&gt; PaymentService : &lt;&lt;usa&gt;&gt;\r\n\r\n' 2. Associa\u00e7\u00e3o e Agrega\u00e7\u00e3o (linha s\u00f3lida com losango)\r\nCustomer \"1\" *-- \"0..*\" Order : coloca &gt;\r\n\r\n' 3. Realiza\u00e7\u00e3o (linha tracejada + seta vazia)\r\nCreditCardProcessor ..|&gt; IPaymentProcessor\r\n\r\n' 4. Generaliza\u00e7\u00e3o (linha s\u00f3lida + seta vazia)\r\nPayPalProcessor --|&gt; CreditCardProcessor : herda configura\u00e7\u00e3o\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:RPBFIiD04CRlWRp3a8jQoMBLKocXfO9uCbXVODYTfYkRtR2xALXy6m-2LnyXB-QqJQMsFUxy-NtVpEmaHFInhKsQNC2hRbm0HV121hklxjE1TJ1VkcRUBCbJcaY38MmZZRRLZ5ltiHBVQx9nJdwb9LTg6yalK18yzQdIEqaXEBzlcNbIEZ94dQIufKHp4DxO6mfue8Qiwhwjr0YNHjibGlIiyeOAhzBaq1a8KHpPWX6Cnst0ejWHRmLCcS-mtRG4qyfJrRzwVkX-Z5O8qjLWN41RELQQjI6wcZnammm6UGxPZH2339wzuk28gusJ2BtGdU2Tej7h_-W_wt0DWIB22jTwCyUPrV0u7yMvPMxuzm8UoP8_bTYxFn8uMZ3aESFFgOw0Bx-TtYvqrVeTFKqcV0V-Dhy0\" \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#plantuml:RPB1QW8n48Rl2_iEmnvQQzbGQqyYYw9GUgfq-m8X6NS7iab8OiNIX-_ehY3gCNyot_ppJnOnoP1sdScpH_X28nCv6rloy7tm684irAtpjMynO9uf8sCyAPvii-BIixQHXmvjgZ7yaEANP1E6hLG87yFL9ZY5CRfmBba5r9GOec-kk6GZpOLyj3SHi4QFLgDL1nYjPMnHWo6BJtbswGc4gAuCmGpcyrt4M5Kzx5N0aj6AJXF30ooR9c3JdqQrCzIZOK-f1KsoSrPpdzKk9jTXW69ImBWieNWHObp0Pz0ipi0RdZd2q6KgE5Hfw7VW3fwVeNN6k3t84Dp-IBsDWeVug-w5T-I-2NX7Y-42tLk-8Lyb2MN9r7ljPhnhNZAb2ChPBJLvjk2i-Mly0m00\" 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>Editar PlantUML no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<ul data-nodeid=\"10069\">\n<li data-nodeid=\"10070\">\n<p data-nodeid=\"10071\"><strong data-nodeid=\"10249\">Depend\u00eancia<\/strong>: Uma mudan\u00e7a em\u00a0<code data-backticks=\"1\" data-nodeid=\"10245\">Servi\u00e7o de Pagamento<\/code>\u00a0pode afetar\u00a0<code data-backticks=\"1\" data-nodeid=\"10247\">Carrinho de Compras<\/code>.<\/p>\n<\/li>\n<li data-nodeid=\"10072\">\n<p data-nodeid=\"10073\"><strong data-nodeid=\"10262\">Associa\u00e7\u00e3o\/Agrega\u00e7\u00e3o<\/strong>:\u00a0<code data-backticks=\"1\" data-nodeid=\"10254\">Cliente<\/code>\u00a0mant\u00e9m uma liga\u00e7\u00e3o estrutural \u201ctodo\/parte\u201d com\u00a0<code data-backticks=\"1\" data-nodeid=\"10260\">Pedido<\/code>.<\/p>\n<\/li>\n<li data-nodeid=\"10074\">\n<p data-nodeid=\"10075\"><strong data-nodeid=\"10271\">Realiza\u00e7\u00e3o<\/strong>:\u00a0<code data-backticks=\"1\" data-nodeid=\"10267\">Processador de Cart\u00e3o de Cr\u00e9dito<\/code>\u00a0garante o contrato especificado por\u00a0<code data-backticks=\"1\" data-nodeid=\"10269\">IPaymentProcessor<\/code>.<\/p>\n<\/li>\n<li data-nodeid=\"10076\">\n<p data-nodeid=\"10077\"><strong data-nodeid=\"10280\">Generaliza\u00e7\u00e3o<\/strong>:\u00a0<code data-backticks=\"1\" data-nodeid=\"10276\">Processador PayPal<\/code>\u00a0especializa\u00a0<code data-backticks=\"1\" data-nodeid=\"10278\">Processador de Cart\u00e3o de Cr\u00e9dito<\/code>, herdando sua estrutura e comportamento.<\/p>\n<\/li>\n<\/ul>\n<hr data-nodeid=\"10078\"\/>\n<h2 data-nodeid=\"10079\">Parte 3: Visualizando a Arquitetura com Diagramas UML<\/h2>\n<p data-nodeid=\"10080\">Diagramas s\u00e3o proje\u00e7\u00f5es gr\u00e1ficas que agrupam coisas e relacionamentos em vis\u00f5es espec\u00edficas para os interessados. Abaixo est\u00e3o as implementa\u00e7\u00f5es completas dos diagramas para ShopSphere, categorizadas por perspectivas estruturais e comportamentais.<\/p>\n<h3 data-nodeid=\"10081\">Diagramas Estruturais<\/h3>\n<p data-nodeid=\"10082\">Capturam a arquitetura est\u00e1tica e a implanta\u00e7\u00e3o f\u00edsica.<\/p>\n<h4 data-nodeid=\"10083\">Diagrama de Classes<\/h4>\n<p data-nodeid=\"10084\">Mostra classes do sistema, interfaces e suas rela\u00e7\u00f5es est\u00e1ticas.<\/p>\n<p id=\"CIPWwrn\"><img alt=\"\" class=\"alignnone size-full wp-image-24795\" decoding=\"async\" height=\"202\" loading=\"lazy\" sizes=\"auto, (max-width: 291px) 100vw, 291px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a1027ee4af39.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a1027ee4af39.png 291w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a1027ee4af39-150x104.png 150w\" width=\"291\"\/><\/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#plantuml:LSzD2i8m40NWVI1t6BBoXmQzG2dKZIi5Jp0qemJoKoRJXQXtrsgjk7iC7uytJH5a6MBGgWjO2hH3aHo9uQOLmFeaxDC5AA8FeDL3goyyi9lL3eKWZuTtcfnFGdp6Zc1_n6ka91FlENTKocBvtzWoEIyjijFgby7QUpqtZ7gUQBO6gge6ix5sPJwBj6eekTT3Jm00\" 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>Edite PlantUML no 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#plantuml:LSzD2i8m40NWVI1t6BBoXmQzG2dKZIi5Jp0qemJoKoRJXQXtrsgjk7iC7uytJH5a6MBGgWjO2hH3aHo9uQOLmFeaxDC5AA8FeDL3goyyi9lL3eKWZuTtcfnFGdp6Zc1_n6ka91FlENTKocBvtzWoEIyjijFgby7QUpqtZ7gUQBO6gge6ix5sPJwBj6eekTT3Jm00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\" data-nodeid=\"10085\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nclass Customer {\r\n  +String email \r\n}\r\n\r\nclass Order {\r\n  +Date orderDate \r\n}\r\n\r\ninterface IPayment {\r\n  +process() \r\n}\r\n\r\nclass CreditCard\r\nCreditCard ..|&gt; IPayment\r\n\r\nCustomer \"1\" --&gt; \"0..*\" Order\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:LSzD2i8m40NWVI1t6BBoXmQzG2dKZIi5Jp0qemJoKoRJXQXtrsgjk7iC7uytJH5a6MBGgWjO2hH3aHo9uQOLmFeaxDC5AA8FeDL3goyyi9lL3eKWZuTtcfnFGdp6Zc1_n6ka91FlENTKocBvtzWoEIyjijFgby7QUpqtZ7gUQBO6gge6ix5sPJwBj6eekTT3Jm00\" \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#plantuml:LSzD2i8m40NWVI1t6BBoXmQzG2dKZIi5Jp0qemJoKoRJXQXtrsgjk7iC7uytJH5a6MBGgWjO2hH3aHo9uQOLmFeaxDC5AA8FeDL3goyyi9lL3eKWZuTtcfnFGdp6Zc1_n6ka91FlENTKocBvtzWoEIyjijFgby7QUpqtZ7gUQBO6gge6ix5sPJwBj6eekTT3Jm00\" 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>Edite PlantUML no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h4 data-nodeid=\"10086\">Diagrama de Objetos<\/h4>\n<p data-nodeid=\"10087\">Representa uma fotografia dos objetos instanciados em tempo de execu\u00e7\u00e3o.<\/p>\n<p id=\"EjFMVwR\"><img alt=\"\" class=\"alignnone size-full wp-image-24796\" decoding=\"async\" height=\"162\" loading=\"lazy\" sizes=\"auto, (max-width: 139px) 100vw, 139px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10283717380.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10283717380.png 139w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10283717380-129x150.png 129w\" width=\"139\"\/><\/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#plantuml:SoWkIImgAStDuUNAJyfAJIvHKChApyXpACx8Bz1BpizLKaWiLaWsHCZw5wMa5Yae6neOcO3bye5ooOOAkhfsGAQ2bK91Jc9oQh627I-NGsfU2j1W0000\" 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>Edite PlantUML no 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#plantuml:SoWkIImgAStDuUNAJyfAJIvHKChApyXpACx8Bz1BpizLKaWiLaWsHCZw5wMa5Yae6neOcO3bye5ooOOAkhfsGAQ2bK91Jc9oQh627I-NGsfU2j1W0000\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\" data-nodeid=\"10088\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nobject \"john@shop.com\" as c1\r\nobject \"Order #1024\" as o1\r\nc1 --&gt; o1 : places &gt;\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:SoWkIImgAStDuUNAJyfAJIvHKChApyXpACx8Bz1BpizLKaWiLaWsHCZw5wMa5Yae6neOcO3bye5ooOOAkhfsGAQ2bK91Jc9oQh627I-NGsfU2j1W0000\" \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#plantuml:SoWkIImgAStDuUNAJyfAJIvHKChApyXpACx8Bz1BpizLKaWiLaWsHCZw5wMa5Yae6neOcO3bye5ooOOAkhfsGAQ2bK91Jc9oQh627I-NGsfU2j1W0000\" 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>Edite PlantUML no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h4 data-nodeid=\"10089\">Diagrama de Componentes<\/h4>\n<p data-nodeid=\"10090\">Ilustra depend\u00eancias modulares e interfaces.<\/p>\n<p id=\"zJkFkHt\"><img alt=\"\" class=\"alignnone size-full wp-image-24797\" decoding=\"async\" height=\"271\" loading=\"lazy\" sizes=\"auto, (max-width: 144px) 100vw, 144px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a102848bf268.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a102848bf268.png 144w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a102848bf268-80x150.png 80w\" width=\"144\"\/><\/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#plantuml:SoWkIImgAStDuULApiyjoCzBpIjHY0vFJN8iA8X54VClIaaj2aujAijCJaMLSN42yc5w57HrxJ0Ke_8XIi2w75BpKe2M0m00\" 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>Edite PlantUML no 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#plantuml:SoWkIImgAStDuULApiyjoCzBpIjHY0vFJN8iA8X54VClIaaj2aujAijCJaMLSN42yc5w57HrxJ0Ke_8XIi2w75BpKe2M0m00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\" data-nodeid=\"10091\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\ncomponent [WebApp]\r\ncomponent [OrderService]\r\ncomponent [DB]\r\n[WebApp] --&gt; [OrderService]\r\n[OrderService] --&gt; [DB]\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:SoWkIImgAStDuULApiyjoCzBpIjHY0vFJN8iA8X54VClIaaj2aujAijCJaMLSN42yc5w57HrxJ0Ke_8XIi2w75BpKe2M0m00\" \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#plantuml:SoWkIImgAStDuULApiyjoCzBpIjHY0vFJN8iA8X54VClIaaj2aujAijCJaMLSN42yc5w57HrxJ0Ke_8XIi2w75BpKe2M0m00\" 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>Edite PlantUML no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h4 data-nodeid=\"10092\">Diagrama de Implanta\u00e7\u00e3o<\/h4>\n<p data-nodeid=\"10093\">Mapeia componentes de software para n\u00f3s f\u00edsicos em tempo de execu\u00e7\u00e3o.<\/p>\n<p id=\"bTiZzYf\"><img alt=\"\" class=\"alignnone size-full wp-image-24798\" decoding=\"async\" height=\"323\" loading=\"lazy\" sizes=\"auto, (max-width: 266px) 100vw, 266px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a1028585dd88.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a1028585dd88.png 266w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a1028585dd88-247x300.png 247w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a1028585dd88-124x150.png 124w\" width=\"266\"\/><\/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#plantuml:SoWkIImgAStDuUNAoqz9LL3ooKzCSKhCISnBJYrIKgZcvL9GW4Wu5XG4fnQLfHR56nX29HGKalDp2_BpKlDA5AB3KvE0Ic91uhMyNBKmyrmIInAJ4ejJdNDAYqlWHYBf2yWlBaalIWqEz8a5QuCPfA2hQuScwv2Qbm9qAW00\" 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>Edite PlantUML no 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#plantuml:SoWkIImgAStDuUNAoqz9LL3ooKzCSKhCISnBJYrIKgZcvL9GW4Wu5XG4fnQLfHR56nX29HGKalDp2_BpKlDA5AB3KvE0Ic91uhMyNBKmyrmIInAJ4ejJdNDAYqlWHYBf2yWlBaalIWqEz8a5QuCPfA2hQuScwv2Qbm9qAW00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\" data-nodeid=\"10094\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nnode \"LoadBalancer\" {\r\n  node \"AppServer_01\" {\r\n    component [WebApp]\r\n  }\r\n}\r\nnode \"DatabaseCluster\" {\r\n  component [PostgreSQL]\r\n}\r\n[WebApp] --&gt; [PostgreSQL]\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:SoWkIImgAStDuUNAoqz9LL3ooKzCSKhCISnBJYrIKgZcvL9GW4Wu5XG4fnQLfHR56nX29HGKalDp2_BpKlDA5AB3KvE0Ic91uhMyNBKmyrmIInAJ4ejJdNDAYqlWHYBf2yWlBaalIWqEz8a5QuCPfA2hQuScwv2Qbm9qAW00\" \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#plantuml:SoWkIImgAStDuUNAoqz9LL3ooKzCSKhCISnBJYrIKgZcvL9GW4Wu5XG4fnQLfHR56nX29HGKalDp2_BpKlDA5AB3KvE0Ic91uhMyNBKmyrmIInAJ4ejJdNDAYqlWHYBf2yWlBaalIWqEz8a5QuCPfA2hQuScwv2Qbm9qAW00\" 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>Edite PlantUML no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3 data-nodeid=\"10095\">Diagramas Comportamentais<\/h3>\n<p data-nodeid=\"10096\">Captura fluxos din\u00e2micos, intera\u00e7\u00f5es e fluxo de controle.<\/p>\n<h4 data-nodeid=\"10097\">Diagrama de Casos de Uso<\/h4>\n<p data-nodeid=\"10098\">Mapeia atores \u00e0s funcionalidades do sistema.<\/p>\n<p id=\"BXyoaMj\"><img alt=\"\" class=\"alignnone size-full wp-image-24799\" decoding=\"async\" height=\"197\" loading=\"lazy\" sizes=\"auto, (max-width: 296px) 100vw, 296px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10287443d64.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10287443d64.png 296w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10287443d64-150x100.png 150w\" width=\"296\"\/><\/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#plantuml:JOv12W8n34NtXTuXp7uMUW0PxSg5ImyGsbWBRGDfEkBjBJe3hiBdl__8qXH5UydMP7eeA8Ea-5G8ISXhuceDUcK1rvjo8TdpEPGqojx8OoEOBiAlSHqgPeuJO8ExE_m1DwmO2QvrfJe4xmqvMhEhOPvFlz5NliK1B5J3-F43\" 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>Edite PlantUML no 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#plantuml:NOyn3i8m34NtIBc3rRq3700LLOYDZGDOYLL5IkhY9Dm7CN2GN0m3XO79_lh_-yb3BYYbfcYD3qBjqUuC7e7ofPBeig0W8BpCKD0QB2mmrbmuaQnoxrEOhN6OjKjGTNGdlDA40Wj5XX5BkqMUk0F7YU4yRlxYHnAQNT32GKyh-vVSMlF5GT_lFjqtSPKQ66Zs-iCJ\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\" data-nodeid=\"10099\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\ndire\u00e7\u00e3o da esquerda para a direita\r\nator Customer\r\nator Admin\r\ncaso de uso \"Navegar pelo Cat\u00e1logo\" como UC1\r\ncaso de uso \"Gerenciar Estoque\" como UC2\r\nCustomer --&gt; UC1\r\nAdmin --&gt; UC2\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:NOyn3i8m34NtIBc3rRq3700LLOYDZGDOYLL5IkhY9Dm7CN2GN0m3XO79_lh_-yb3BYYbfcYD3qBjqUuC7e7ofPBeig0W8BpCKD0QB2mmrbmuaQnoxrEOhN6OjKjGTNGdlDA40Wj5XX5BkqMUk0F7YU4yRlxYHnAQNT32GKyh-vVSMlF5GT_lFjqtSPKQ66Zs-iCJ\" \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#plantuml:JOv12W8n34NtXTuXp7uMUW0PxSg5ImyGsbWBRGDfEkBjBJe3hiBdl__8qXH5UydMP7eeA8Ea-5G8ISXhuceDUcK1rvjo8TdpEPGqojx8OoEOBiAlSHqgPeuJO8ExE_m1DwmO2QvrfJe4xmqvMhEhOPvFlz5NliK1B5J3-F43\" 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>Edite PlantUML no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h4 data-nodeid=\"10100\">Diagrama de Sequ\u00eancia<\/h4>\n<p data-nodeid=\"10101\">Enfatiza trocas de mensagens ordenadas no tempo.<\/p>\n<p id=\"nVpYHSx\"><img alt=\"\" class=\"alignnone size-full wp-image-24800\" decoding=\"async\" height=\"298\" loading=\"lazy\" sizes=\"auto, (max-width: 275px) 100vw, 275px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a102885eba51.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a102885eba51.png 275w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a102885eba51-138x150.png 138w\" width=\"275\"\/><\/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#plantuml:LOvB2W8n343tXTuXIrtC1Lp855Up4yG3r3HYcNw6DkFvJGg2xi9xUIHpPzzupyaQZrmRt3irQpQ14UFc2yD5vd_YheirkWZJUMWuGQT4o0jJFXoj6L2aR8h35-5wuughEcNJJwZSlNrC_f7ecueV1oIkvHbRTY5eF5C9ykq7\" 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>Edite PlantUML no 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#plantuml:NOvB2W8n343tXTuXIrtC1Lp855Up4yG3r3HYcNw6DkFvJGg2kCnxUIHpPzzupyaQpxN1lLEpPXCMCMw-CC55XZ_aheirkWhJUNWuGQT4o0jJFXoj6L2aR8h35-5wuughEcNJJwZSlNrC_f7ecueV1oIkvHbRTY5eF5C9yku7\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\" data-nodeid=\"10102\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nator User\r\nparticipante Cart\r\nparticipante API\r\nUser -&gt; Cart : selectItem()\r\nCart -&gt; API : checkStock()\r\nAPI --&gt; Cart : stockAvailable\r\nCart --&gt; User : confirmAdd()\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:NOvB2W8n343tXTuXIrtC1Lp855Up4yG3r3HYcNw6DkFvJGg2kCnxUIHpPzzupyaQpxN1lLEpPXCMCMw-CC55XZ_aheirkWhJUNWuGQT4o0jJFXoj6L2aR8h35-5wuughEcNJJwZSlNrC_f7ecueV1oIkvHbRTY5eF5C9yku7\" \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#plantuml:LOvB2W8n343tXTuXIrtC1Lp855Up4yG3r3HYcNw6DkFvJGg2xi9xUIHpPzzupyaQZrmRt3irQpQ14UFc2yD5vd_YheirkWZJUMWuGQT4o0jJFXoj6L2aR8h35-5wuughEcNJJwZSlNrC_f7ecueV1oIkvHbRTY5eF5C9ykq7\" 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>Edite PlantUML no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h4 data-nodeid=\"10103\">Diagrama de Comunica\u00e7\u00e3o<\/h4>\n<p data-nodeid=\"10104\">Foca na organiza\u00e7\u00e3o estrutural de objetos que trocam mensagens.<\/p>\n<p id=\"QDorveF\"><img alt=\"\" class=\"alignnone size-full wp-image-24801\" decoding=\"async\" height=\"58\" loading=\"lazy\" sizes=\"auto, (max-width: 413px) 100vw, 413px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a102899ccc4f.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a102899ccc4f.png 413w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a102899ccc4f-300x42.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a102899ccc4f-150x21.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a102899ccc4f-400x56.png 400w\" width=\"413\"\/><\/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#plantuml:SoWkIImgAStDuUNAJyfAJIvH22rEBO9pd86IS8vZW2Sl5qXQGTSEBADWfM1efL2ScWEKzIn9pTNGvEK2YmFbWOg1qaPM2iaPgSdPmINvoTaWQP2mBaAxiPL2KMf9QL5UK6fnQKu9I8L3QbuAq3q0\" 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>Edite PlantUML no 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#plantuml:SoWkIImgAStDuUNAJyfABSbN22rEBO9pd86IS8vZW2Sl5qXQGTSEBADWfM1efL2ScfEQNE9PafgheSdB1HO7oWCL0wMDh1IICrAJiuDByfEpGT8WOLs4TcChXQBKajAYlA3KujAS4f0AXzIy5A1x0000\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\" data-nodeid=\"10105\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nobjeto User\r\nobjeto Cart\r\nobjeto API\r\nUser -&gt; Cart : 1: selectItem()\r\nCart -&gt; API : 2: checkStock()\r\nAPI --&gt; Cart : 3: returnResult()\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:SoWkIImgAStDuUNAJyfABSbN22rEBO9pd86IS8vZW2Sl5qXQGTSEBADWfM1efL2ScfEQNE9PafgheSdB1HO7oWCL0wMDh1IICrAJiuDByfEpGT8WOLs4TcChXQBKajAYlA3KujAS4f0AXzIy5A1x0000\" \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#plantuml:SoWkIImgAStDuUNAJyfAJIvH22rEBO9pd86IS8vZW2Sl5qXQGTSEBADWfM1efL2ScWEKzIn9pTNGvEK2YmFbWOg1qaPM2iaPgSdPmINvoTaWQP2mBaAxiPL2KMf9QL5UK6fnQKu9I8L3QbuAq3q0\" 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>Edite PlantUML no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h4 data-nodeid=\"10106\">Diagrama de Estado<\/h4>\n<p data-nodeid=\"10107\">Mostra transi\u00e7\u00f5es de estado reativas.<\/p>\n<p id=\"WhYMAwj\"><img alt=\"\" class=\"alignnone size-full wp-image-24818\" decoding=\"async\" height=\"454\" loading=\"lazy\" sizes=\"auto, (max-width: 317px) 100vw, 317px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a158cda3dc64.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a158cda3dc64.png 317w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a158cda3dc64-209x300.png 209w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a158cda3dc64-105x150.png 105w\" width=\"317\"\/><\/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#plantuml:SoWkIImgAStDuUMArefLqDMrK_0lICtZvGAH2a2USqv-SMgAWfL2SaPgSdP-QOc69YyNL12aEZWZiw00hA0WiJ8tDQ_4EISriIWr1QGC9WTIvvAQarcM2fJWvO8pmH90Qtcv75BpKe2E0000\" 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>Edite PlantUML no 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#plantuml:SoWkIImgAStDuUMArefLqDMrKt1CIYqgoUVbWj0AG16trEICn9Hy1Ik5v8pKvEpyqX8DJLukc2X8ZsjUMIP4HK5YPMvgNebpJcfYKMeAI1rC3gAkf2WrlJGL90fXWOM1LlDoEQJcfG0T0W00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\" data-nodeid=\"10108\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n[*] --&gt; Aberto\r\nAberto -&gt; Fechado : checkout()\r\nFechado --&gt; Enviado : paymentCleared()\r\nEnviado --&gt; Entregue\r\nEntregue --&gt; [*]\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:SoWkIImgAStDuUMArefLqDMrKt1CIYqgoUVbWj0AG16trEICn9Hy1Ik5v8pKvEpyqX8DJLukc2X8ZsjUMIP4HK5YPMvgNebpJcfYKMeAI1rC3gAkf2WrlJGL90fXWOM1LlDoEQJcfG0T0W00\" \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#plantuml:SoWkIImgAStDuUMArefLqDMrK_0lICtZvGAH2a2USqv-SMgAWfL2SaPgSdP-QOc69YyNL12aEZWZiw00hA0WiJ8tDQ_4EISriIWr1QGC9WTIvvAQarcM2fJWvO8pmH90Qtcv75BpKe2E0000\" 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>Edite PlantUML no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h4 data-nodeid=\"10109\">Diagrama de Atividade<\/h4>\n<p data-nodeid=\"10110\">Destaca fluxos de controle sequenciais e concorrentes.<\/p>\n<p id=\"eaAESho\"><img alt=\"\" class=\"alignnone size-full wp-image-24819\" decoding=\"async\" height=\"278\" loading=\"lazy\" sizes=\"auto, (max-width: 306px) 100vw, 306px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a158cf2947ac.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a158cf2947ac.png 306w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a158cf2947ac-300x273.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a158cf2947ac-150x136.png 150w\" width=\"306\"\/><\/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#plantuml:BOv12iCm30Jl0lr1xt0kwQdqrD0V66TRJ1sfo6uWlu-RvhOmm-wEjKLltwKm7OafF92GLyZTP_Z0z3H_Cuc4oIsXLfdYja3RYII-OjP3k9HYAJR8JTSkc6_TWSxohmXNAFpabXE6twXzcCOkzGyx\" 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>Edite PlantUML no 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#plantuml:DOx13G8n30J_aTo3wmYVum5yJtHW4eCYBZ4updL55JI6ESHpTqQhdRgHsgWBXDBUhrG4GZnpuWihpfnBbXs4g-WT0cASLHBtJixeHfMR_J4sMRU2Dt6_I7Bhq4sUWxzEgVYRYITMHqUoeUJaGHuXJDoo__W0\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\" data-nodeid=\"10111\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nin\u00edcio\r\n:Receber Pedido;\r\nfork\r\n  :Processar Pagamento;\r\nfork novamente\r\n  :Alocar Estoque;\r\nfim fork\r\n:Gerar Fatura;\r\nparar\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:DOx13G8n30J_aTo3wmYVum5yJtHW4eCYBZ4updL55JI6ESHpTqQhdRgHsgWBXDBUhrG4GZnpuWihpfnBbXs4g-WT0cASLHBtJixeHfMR_J4sMRU2Dt6_I7Bhq4sUWxzEgVYRYITMHqUoeUJaGHuXJDoo__W0\" \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#plantuml:BOv12iCm30Jl0lr1xt0kwQdqrD0V66TRJ1sfo6uWlu-RvhOmm-wEjKLltwKm7OafF92GLyZTP_Z0z3H_Cuc4oIsXLfdYja3RYII-OjP3k9HYAJR8JTSkc6_TWSxohmXNAFpabXE6twXzcCOkzGyx\" 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>Edite PlantUML no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<hr data-nodeid=\"10112\"\/>\n<h2 data-nodeid=\"10113\">Conclus\u00e3o<\/h2>\n<p data-nodeid=\"10114\">A Linguagem Unificada de Modelagem \u00e9 muito mais do que uma cole\u00e7\u00e3o de diagramas e regras de sintaxe; \u00e9 um framework disciplinado para pensar sobre a complexidade de sistemas. Ao decompor o ShopSphere em\u00a0<strong data-nodeid=\"10319\">Coisas<\/strong>, estabelecemos um vocabul\u00e1rio preciso para estruturas est\u00e1ticas, comportamentos din\u00e2micos, fronteiras organizacionais e documenta\u00e7\u00e3o. Por meio de\u00a0<strong data-nodeid=\"10320\">Relacionamentos<\/strong>, mapeamos as depend\u00eancias sem\u00e2nticas que determinam como esses elementos interagem, herdam e cumprem contratos. Finalmente, ao projetar esses elementos em dire\u00e7\u00e3o a<strong data-nodeid=\"10321\">Diagramas<\/strong>, criamos visualiza\u00e7\u00f5es personalizadas que atendem \u00e0s necessidades distintas dos interessados \u2014 desde casos de uso de alto n\u00edvel para gerentes de produto at\u00e9 mapas de implanta\u00e7\u00e3o detalhados para engenheiros DevOps.<\/p>\n<p class=\"\" data-nodeid=\"10115\">Dominar o UML \u00e9 um processo iterativo. \u00c0 medida que os sistemas evoluem, os modelos devem permanecer como artefatos vivos que orientam o desenvolvimento, facilitam a integra\u00e7\u00e3o e evitam o desvio arquitet\u00f4nico. Ao fundamentar conceitos abstratos do UML em estudos de caso concretos e aproveitar ferramentas modernas de modelagem, como o PlantUML, as equipes de desenvolvimento podem transformar a ambiguidade em clareza, garantindo que as arquiteturas de software sejam t\u00e3o robustas, escal\u00e1veis e bem documentadas quanto o c\u00f3digo que as torna realidade.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introdu\u00e7\u00e3o Sistemas de software modernos s\u00e3o intrinsecamente complexos, compostos por centenas de componentes interativos, processos concorrentes e fluxos de dados intrincados. Fechar a lacuna entre requisitos de neg\u00f3cios abstratos e implementa\u00e7\u00f5es t\u00e9cnicas concretas exige uma m\u00eddia padronizada e inequ\u00edvoca de comunica\u00e7\u00e3o. A Linguagem Unificada de Modelagem (UML) serve como esse plano universal, fornecendo um vocabul\u00e1rio [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":10646,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"no","_lmt_disable":"","footnotes":""},"categories":[36],"tags":[],"class_list":["post-10645","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uml","loop-entry","clr"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Arquitetando com Clareza: Um Estudo de Caso Abrangente sobre Blocos de Constru\u00e7\u00e3o UML - Visual Paradigm Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.visual-paradigm.com\/pt\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Arquitetando com Clareza: Um Estudo de Caso Abrangente sobre Blocos de Constru\u00e7\u00e3o UML - Visual Paradigm Blog\" \/>\n<meta property=\"og:description\" content=\"Introdu\u00e7\u00e3o Sistemas de software modernos s\u00e3o intrinsecamente complexos, compostos por centenas de componentes interativos, processos concorrentes e fluxos de dados intrincados. Fechar a lacuna entre requisitos de neg\u00f3cios abstratos e implementa\u00e7\u00f5es t\u00e9cnicas concretas exige uma m\u00eddia padronizada e inequ\u00edvoca de comunica\u00e7\u00e3o. A Linguagem Unificada de Modelagem (UML) serve como esse plano universal, fornecendo um vocabul\u00e1rio [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.visual-paradigm.com\/pt\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/\" \/>\n<meta property=\"og:site_name\" content=\"Visual Paradigm Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-22T09:42:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-30T06:07:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10246416fac.png\" \/><meta property=\"og:image\" content=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10246416fac.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1187\" \/>\n\t<meta property=\"og:image:height\" content=\"648\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10246416fac.png\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/pt\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/\",\"url\":\"https:\/\/blog.visual-paradigm.com\/pt\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/\",\"name\":\"Arquitetando com Clareza: Um Estudo de Caso Abrangente sobre Blocos de Constru\u00e7\u00e3o UML - Visual Paradigm Blog\",\"isPartOf\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/pt\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/pt\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/pt\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.visual-paradigm.com\/pt\/wp-content\/uploads\/sites\/11\/2026\/05\/img_6a10246416fac.png\",\"datePublished\":\"2026-05-22T09:42:53+00:00\",\"dateModified\":\"2026-05-30T06:07:04+00:00\",\"author\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/pt\/#\/schema\/person\/a649c442f11a53040710ddec750926c6\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/pt\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.visual-paradigm.com\/pt\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/pt\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/#primaryimage\",\"url\":\"https:\/\/blog.visual-paradigm.com\/pt\/wp-content\/uploads\/sites\/11\/2026\/05\/img_6a10246416fac.png\",\"contentUrl\":\"https:\/\/blog.visual-paradigm.com\/pt\/wp-content\/uploads\/sites\/11\/2026\/05\/img_6a10246416fac.png\",\"width\":1187,\"height\":648},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/pt\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.visual-paradigm.com\/pt\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Arquitetando com Clareza: Um Estudo de Caso Abrangente sobre Blocos de Constru\u00e7\u00e3o UML\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/pt\/#website\",\"url\":\"https:\/\/blog.visual-paradigm.com\/pt\/\",\"name\":\"Visual Paradigm Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.visual-paradigm.com\/pt\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/pt\/#\/schema\/person\/a649c442f11a53040710ddec750926c6\",\"name\":\"Admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/pt\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6b756c36f5e9132f6067fb4d22bef2e3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6b756c36f5e9132f6067fb4d22bef2e3?s=96&d=mm&r=g\",\"caption\":\"Admin\"},\"url\":\"https:\/\/blog.visual-paradigm.com\/pt\/author\/vpadminuser\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Arquitetando com Clareza: Um Estudo de Caso Abrangente sobre Blocos de Constru\u00e7\u00e3o UML - Visual Paradigm Blog","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:\/\/blog.visual-paradigm.com\/pt\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/","og_locale":"pt_PT","og_type":"article","og_title":"Arquitetando com Clareza: Um Estudo de Caso Abrangente sobre Blocos de Constru\u00e7\u00e3o UML - Visual Paradigm Blog","og_description":"Introdu\u00e7\u00e3o Sistemas de software modernos s\u00e3o intrinsecamente complexos, compostos por centenas de componentes interativos, processos concorrentes e fluxos de dados intrincados. Fechar a lacuna entre requisitos de neg\u00f3cios abstratos e implementa\u00e7\u00f5es t\u00e9cnicas concretas exige uma m\u00eddia padronizada e inequ\u00edvoca de comunica\u00e7\u00e3o. A Linguagem Unificada de Modelagem (UML) serve como esse plano universal, fornecendo um vocabul\u00e1rio [&hellip;]","og_url":"https:\/\/blog.visual-paradigm.com\/pt\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/","og_site_name":"Visual Paradigm Blog","article_published_time":"2026-05-22T09:42:53+00:00","article_modified_time":"2026-05-30T06:07:04+00:00","og_image":[{"url":"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10246416fac.png","type":"","width":"","height":""},{"width":1187,"height":648,"url":"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10246416fac.png","type":"image\/png"}],"author":"Admin","twitter_card":"summary_large_image","twitter_image":"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a10246416fac.png","twitter_misc":{"Escrito por":"Admin","Tempo estimado de leitura":"7 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.visual-paradigm.com\/pt\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/","url":"https:\/\/blog.visual-paradigm.com\/pt\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/","name":"Arquitetando com Clareza: Um Estudo de Caso Abrangente sobre Blocos de Constru\u00e7\u00e3o UML - Visual Paradigm Blog","isPartOf":{"@id":"https:\/\/blog.visual-paradigm.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.visual-paradigm.com\/pt\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/#primaryimage"},"image":{"@id":"https:\/\/blog.visual-paradigm.com\/pt\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.visual-paradigm.com\/pt\/wp-content\/uploads\/sites\/11\/2026\/05\/img_6a10246416fac.png","datePublished":"2026-05-22T09:42:53+00:00","dateModified":"2026-05-30T06:07:04+00:00","author":{"@id":"https:\/\/blog.visual-paradigm.com\/pt\/#\/schema\/person\/a649c442f11a53040710ddec750926c6"},"breadcrumb":{"@id":"https:\/\/blog.visual-paradigm.com\/pt\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.visual-paradigm.com\/pt\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/blog.visual-paradigm.com\/pt\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/#primaryimage","url":"https:\/\/blog.visual-paradigm.com\/pt\/wp-content\/uploads\/sites\/11\/2026\/05\/img_6a10246416fac.png","contentUrl":"https:\/\/blog.visual-paradigm.com\/pt\/wp-content\/uploads\/sites\/11\/2026\/05\/img_6a10246416fac.png","width":1187,"height":648},{"@type":"BreadcrumbList","@id":"https:\/\/blog.visual-paradigm.com\/pt\/architecting-with-clarity-a-comprehensive-case-study-on-uml-building-blocks\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.visual-paradigm.com\/pt\/"},{"@type":"ListItem","position":2,"name":"Arquitetando com Clareza: Um Estudo de Caso Abrangente sobre Blocos de Constru\u00e7\u00e3o UML"}]},{"@type":"WebSite","@id":"https:\/\/blog.visual-paradigm.com\/pt\/#website","url":"https:\/\/blog.visual-paradigm.com\/pt\/","name":"Visual Paradigm Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.visual-paradigm.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Person","@id":"https:\/\/blog.visual-paradigm.com\/pt\/#\/schema\/person\/a649c442f11a53040710ddec750926c6","name":"Admin","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/blog.visual-paradigm.com\/pt\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6b756c36f5e9132f6067fb4d22bef2e3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6b756c36f5e9132f6067fb4d22bef2e3?s=96&d=mm&r=g","caption":"Admin"},"url":"https:\/\/blog.visual-paradigm.com\/pt\/author\/vpadminuser\/"}]}},"modified_by":"vpjick","_links":{"self":[{"href":"https:\/\/blog.visual-paradigm.com\/pt\/wp-json\/wp\/v2\/posts\/10645","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.visual-paradigm.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.visual-paradigm.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/pt\/wp-json\/wp\/v2\/comments?post=10645"}],"version-history":[{"count":0,"href":"https:\/\/blog.visual-paradigm.com\/pt\/wp-json\/wp\/v2\/posts\/10645\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/pt\/wp-json\/wp\/v2\/media\/10646"}],"wp:attachment":[{"href":"https:\/\/blog.visual-paradigm.com\/pt\/wp-json\/wp\/v2\/media?parent=10645"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/pt\/wp-json\/wp\/v2\/categories?post=10645"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/pt\/wp-json\/wp\/v2\/tags?post=10645"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}