Melhor resposta
Se você for usar UML (os diagramas mais amplamente usados) para criar sua arquitetura de software, Visual Paradigm Community Edition é uma solução totalmente gratuita (para uso pessoal e não -Commercial).
Suporta diagramas UML 2.5 (aqui está uma arquitetura de software MVC Framework usando diagrama de seqüência)
Model – view – controller ( MVC ) é uma das estruturas de arquitetura de software mais amplamente usadas para desenvolver interfaces de usuário que divide um aplicativo em três partes interconectadas (modelo / visualização e controlador). Isso é feito para separar as representações internas de informações das maneiras como as informações são apresentadas e aceitas pelo usuário.
A arquitetura MVC desacopla esses componentes principais, permitindo a reutilização de código eficiente e o desenvolvimento paralelo usando o conceito de separação de interesses que é adequado para aplicativos da web e de desktop.
Por exemplo: JHispter é um framework MVC (junto com REST API) para Aplicativos da web, embora o framework Spring mais popular também pertença ao MVC para todos os tipos de aplicativos.
Em UML, você pode usar uma sequência diagrama para representar sua arquitetura de software MVC. (Fonte: Visual Paradigm – MVC Framework – Visual Paradigm Community Circle )
- Entidades são objetos que representam dados do sistema: Cliente, Produto, Transação, Carrinho, etc.
- Limites são objetos que fazem interface com os atores do sistema: UserInterface, DataBaseGateway, ServerProxy, etc.
- Controles são objetos que fazem a mediação entre limites e entidades.
Eles orquestram a execução de comandos vindo da fronteira ao interagir com a entidade e os objetos de fronteira. Os controles geralmente correspondem ao cenário de casos de uso e geralmente são representados por um diagrama de sequência.
Você pode usar estereótipos para a linha de vida no diagrama de sequência MVC para tornar visualmente claro que tipo de objetos você está usando no MVC
Para criar o diagrama de sequência MVC com a ferramenta UML gratuita
Saiba mais sobre diagramas UML
Saiba mais sobre diagramas de sequência
Resposta
A abordagem de alto nível que geralmente adoto ao documentar arquiteturas (ou ainda mais detalhada, projetos de nível inferior) é:
- Identificar as partes interessadas do projeto. A equipe de engenharia / desenvolvimento é uma das partes interessadas. Sua equipe de teste / garantia de qualidade, equipe de infraestrutura de TI, gerenciamento de projeto e talvez equipe de suporte também podem ser partes interessadas no sistema e interessadas em vários aspectos do design.
- Identifique as áreas de preocupação em seu sistema. Se o seu sistema possui um banco de dados, um ponto de vista é a estrutura do banco de dados. Se você tiver um sistema distribuído, os administradores do sistema ou a equipe de atendimento ao cliente podem estar interessados em onde os componentes são instalados. Se você tem uma interface pública, os desenvolvedores externos estão interessados no que é essa interface – formatos de arquivo, formatos de dados, etc. Se você tem muitos algoritmos complexos, os designers / mantenedores de algoritmo estão interessados nos fluxos de trabalho e nas etapas do algoritmo. Cada ponto de vista que você identifica é um conjunto específico de preocupações.
- Para cada ponto de vista que você tem, escolha uma representação apropriada. Para o seu ponto de vista do banco de dados, talvez diagramas de relacionamento de entidade e um dicionário de dados possam ser úteis. Para interfaces públicas, documentos de esquema XML ou documentação de API podem ser incluídos como parte de sua documentação. Para algoritmos complexos, considere a atividade UML ou os diagramas de visão geral da interação. Quando você escolhe uma notação, eu prefiro notações bem conhecidas e bem definidas para que eu não precise explicar minha notação para outra pessoa e possa simplesmente apontar-lhes o material de referência existente se eles não souberem os símbolos usados.
- Adicione descrições textuais e racionais em torno dos diagramas. Explique não apenas quais foram as decisões arquitetônicas que você tomou, mas o que o levou a tomar essas decisões.
Estruturas arquitetônicas, como a Estrutura Zachman, a Estrutura arquitetônica de grupo aberto, o Departamento de A Estrutura de Arquitetura de Defesa e outras estruturas de arquitetura ajudam definindo pontos de vista essenciais e visões geralmente aplicáveis.
Em última análise, “a melhor” documentação é aquela que atende às necessidades das partes interessadas.Identificar quem precisa das informações e o que exatamente eles precisam é a primeira etapa.