Tópicos do Relatório de Projecto de Alto Nível
- 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
- Nota: Supondo uma abordagem OO, a especificação de interfaces é relegada neste relatório para a
parte de "Modelo de objectos"
- descrita por diagrama de pacotes
- a decomposição pode fazer-se por camadas (decomposição horizontal), por sub-sistemas (decomposição vertical)
ou por ambos
- 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 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
- Modelo de objectos
- descrita por diagramas de classes, pelo menos um para cada pacote da arquitectura lógica
- normalmente, basta especificar os elementos de cada pacote que são visíveis por outros pacotes (constituem
o(s) interface(s) exportado(s) pelo pacote)
- detalhes internos a cada módulo lógico podem ser deixados para a fase seguinte (projecto detalhado)
- modelo de objectos nesta fase deve estar relacionado (por refinamento) com o modelo de objectos relativo ao
vocabulário do utilizador construído na fase anterior (requisitos)
- Modelo dinâmico
- descrito por vários tipos de diagramas dinâmicos (sequência, colaboração, estados, actividades)
- descrever a realização de casos de uso importantes (com objectos e mensagens internos ao sistema)
preferencialmente através de diagramas de interacção (sequência ou colaboração)
- na fase anterior (requisitos), os casos de uso podiam ser detalhados por diagramas de interacção,
mas sem objectos internos ao sistema; se esses diagramas foram construídos, devem estar relacionados (por
refinamento) com os construídos agora
- descrever algoritmos importantes (normalmente associados a operações de classes) preferencialmente através
de diagramas de actividades
- descrever ciclos de vida de objectos preferencialmente através de diagramas de estados
- descrever mecanismos importantes (exemplos: mecanismo de tratamento de erros, mecanismo de gestão de
transacções, mecanismo de autenticação do utilizador) preferencialmente através de diagramas de colaboração
- Escolha de tecnologias a usar na implementação
- Planeamento da fase seguinte (projecto detalhado e implementação)
- definir iterações, em que 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 requisitos
- definir prazos para as iterações
- definir tarefas dentro de cada iteração, com prazos, esforço previsto e executores
[J. Lopes Home page]
João Correia Lopes
(jlopes AT fe.up.pt).
Last modified: Thu Mar 15 16:01:51 2001