Estutura Típica do Relatório de Desenho de Alto Nível
Este relatório é composto pelas seguintes partes, que podem ser
apresentadas como documentos separados:
1. Definição da Arquitectura
- Arquitectura lógica
- refere-se à decomposição hierárquica do sistema em módulos lógicos (pacotes de classes), e à especificação dos interfaces e dependências entre módulos lógicos
- descrita por diagrama de pacotes e diagramas de classes para cada pacote (pequeno detalhe)
- a decomposição pode fazer-se por camadas (decomposição horizontal), por sub-sistemas (decomposição vertical) ou por ambos
- inclui o diagrama de classes da camada de persistência (base de dados)
- Mecanismos importantes
- refere-se a mecanismos de autenticação, tratamento de erros,
concorrência e transacções, segurança e encriptação, ligação à base
de dados, etc.
- Arquitectura física
- refere-se à organização do software em componentes de run-time (módulos físicos) e à topologia do hardware (nós e conexões) sobre a qual esses componentes são distribuídos
- descrita por diagramas de componentes e diagramas de distribuição (deployment)
- convém indicar a localização dos componentes de run-time nos nós de hardware, e relacionar os módulos lógicos com os componentes
- se possível e aplicável, especificar os interfaces implementados (exportados) e usados (importados) por cada componente
- apresentar o Esquema Relacional relativo ao pacote de classes relativo à camada de persistência
- Arquitectura tecnológica
- Escolha de tecnologias a usar na implementação
2. Documentação do Protótipo
- Descrição de componentes para um Caso de Utilização
- Especificação: serviços/dados disponibilizados e serviços requeridos (no caso de componentes visuais, a especificação do interface para o utilizador passa para o manual do utilizador)
- Implementação: aspectos de concepção interna (algoritmos, estruturas de dados, etc.)
- algoritmos podem ser descritos através de diagramas de actividades
- ciclos de vida de objectos podem ser descritos por diagramas de estados
- Testes: informação sobre testes unitários (procedimentos de teste, resultados de testes, etc.)
- Aplicações: exemplos de utilização
- Desenho detalhado relativo ao caso de utilização
- Parte estática: diagramas de classes com os objectos envolvidos (objectos de interface, em memória (de controlo) e persistentes), incluindo objectos internos ao sistema
- Parte dinâmica: diagramas de interacção (sequência, colaboração, actividades, ...)
3. Planeamento do Projecto
- Planeamento da fase seguinte (desenho detalhado e implementação)
- Iterações
- cada iteração deve resultar num incremento ao produto com valor para o cliente
- iterações devem ser definidos de acordo com as prioridades dos casos de utilização, precedências entre casos de utilização e esforço/complexidade da sua implementação
- definir tarefas dentro de cada iteração, com prazos, esforço previsto e executores
- Diagrama de Gantt