Prof. Dr. Daniel D. Abdala
[email protected]
Análise
•Escopo
•Requisitos
•Casos de Uso
•Operações & Consultas
•Diagramas de Seqüência
•Modelagem Conceitual
•Contratos
Entendimento do problema a
ser resolvido
Projeto
•Arquitetura do Software
•Diagramas de Classe
•Diagramas de Colaboração
•Máquina de Estados
•Diagrama de Atividades
•Diagramas de Componentes
•Padrões de Projeto
•Testes Automatizados
•Testes de Usabilidade
•Diagramas de Entrega
Planejamento de COMO executar
o projeto
1.
2.
3.
4.
5.
6.
7.
Modelo conceitual,
abstração, não contém
detalhes de implem.
Genérico – pode
derivar em vários
projetos
Três “tipos” de classes
Menos formal
Mais barato p/
desenv.
Pode ser descartado
ao longo do ciclo de
vida
Define a estrutura
essencial para
modelar o sistema
1.
2.
3.
4.
5.
6.
7.
Modelo físico, “planta”
da implementação
Concreto, específico
para uma implement.
‘n’ tipos de classes
Mais formal
Mais caro p/ desenv.
Deve ser mantido ao
logo do ciclo de vida
Modela o sistema
tentando preservar a
estrutura da analise
Engenheiro de Software
Define protótipos de
telas, especifica regras
de negócio e fluxos de
telas para operações
Arquiteto
Define a arquitetura
para geração
da aplicação.
• Configura o sistema para operar sobre as
tecnologias da empresa
• Opera em modelos e em código
– Traz um diagrama de configuração de arquiteturas;
– Padroniza e documenta as tecnologias utilizadas
em produção;
– Identifica tecnologias de terceiros a serem
utilizadas pelo projeto;
Os recursos para o arquiteto permitem planejar e
automatizar as linhas de produção da empresa de TI.
Modelo Específico de Plataforma (PSM)
Seleciona
tecnologias
através dos profiles
e adiciona ao
modelo
1.
2.
3.
4.
5.
Definir a estrutura ideal de hardware/software
Projetar as interfaces para os componentes
externos (hardware, software e usuário)
Projetar interfaces entre os componentes
Decidir entre processamento centralizado ou
distribuido
Determinar concorrências entre
tarefas/objetos
6.
7.
8.
9.
Determinar estratégias de controle
Determinar estratégias de
armazenamento de dados, manutenção
e alocação de memória.
Projetar banco de dados e estruturas de
manutenção
Projetar mecanismos de inicialização e
desligamento do sistema
Projetar algoritmos e funções de
processamento de dados
Projetar tratamento de erros
Conduzir análise de desempenho
Projetar todo software a ser usado nos
testes
Escrever a documentação
10.
11.
12.
13.
14.
•
•
Manual do Usuário
Manual do Programador
15.
16.
17.
18.
Realizar revisões internas
Fazer o projeto detalhado dos
componentes definidos na arquitetura
do sistema
Desenvolver os casos de testes e
demais procedimentos de validação
Documentar a arquitetura do software
na forma de diagramas
 V. B. Mazzola
e J-M. Farines, "Metodologias
de Concepcao de Software e de Sistemas"
 Raul
Sidnei Wazlawick, Análise e Projeto
de Sist. de Informação Orient. a Objetos,
Ed. Campus (livro + transp.), caps 6 e 7.
Download

Arquitetura do Software