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.