Análise e Desenvolvimento de Software Análise e Projeto de Software Profº. Henrique Vila Nova 1 Fase de Elaboração 2 Fase de Elaboração Construindo a Arquitetura Fase de Elaboração Objetivos Capturar a maioria dos requisitos (90%) Construir a arquitetura do sistema – – Na forma de um Executável Que demonstre a capacidade de esta arquitetura acomodar o resto do sistema Produzir protótipos evolucionários ou descartáveis que eliminam riscos de – – – Requisitos ou projeto Reusabilidade de componentes Viabilidade técnica Objetivos(parte 2) Implantar o ambiente de suporte Detalhar o Planejamento Início Planejar a fase de Elaboração – Eventualmente, o planejamento feito na fase de concepção pode não ter sido detalhado o suficiente Formar equipe de elaboração – – A equipe é um pouco maior que a equipe da Concepção Novas habilidades são necessárias nesta fase, como por exemplo, pessoas com conhecimento em componentes reusáveis Início Definir os critérios de avaliação da fase Objetivo : Levantamento de Requisitos – Os Atores e casso de uso necessários para Projetar a arquitetura Identificar riscos importantes Justificar o estudo de Viabilidade Justificar planejamento Foram descobertos? Início Definir os critérios de avaliação da fase Objetivo: Estabelecer a arquitetura – – A arquitetura executável satisfaz os requisitos formalmente levantados? A arquitetura parede ser robusta o suficiente para acomodar o sistema atual, além de requisitos futuros? A arquitetura acomoda requisitos de hoje e do futuro? Início Definir os critérios de avaliação da fase Objetivo: Atenuar os principais riscos – – – Os riscos críticos foram atenuados? Ou seja, foram eliminados ou possuem um plano de contingência? Os Riscos críticos foram identificados? Os riscos foram investigados o suficiente para que se possa continuar investindo o projeto? – Você continuaria apostando no projeto? Os riscos ainda existentes podem ser eliminados de forma relativamente simples e conhecida na fase de construção? Início Definir os critérios de avaliação da fase Objetivo: Validar o planejamento – – – O projeto está suficientemente bem definido em termos de cronograma, orçamento e níveis de qualidade? È Provável que o projeto forneça o retorno ao investimento como descrito no estudo de viabilidade? Estamos prontos para fechar o contrato? O RUP aconselha o fechamento de contrato ao final da fase de Elaboração – – Mas, quem financia o projeto até então? Na prática, as empresas desenvolvedoras fecham contrato ao final da concepção. Fase de Elaboração Projeto da arquitetura Capturar, analisar, projetar, implementar e testar apenas requisitos arquiteturalmente interessantes – Ao final, Construímos o “esqueleto” do sistema – – Detalhes irrelevantes para a arquitetura são ignorados O “ sistema não terá muita funcionalidade – apenas alguns cenários Porém, estes cenários irão ilustrar ou provar a viabilidade de arquitetura Deve-se levantar pelo menos 80% dos requisitos – – A arquitetura é projetada a partir de uma visão global do sistema Porém , usualmente apenas 10% dos casso de uso têm importância arquitetural Ênfase de Elaboração Fluxo de Requisitos Levantar os atores e pelo menos 90% dos Casos de uso Não é preciso detalhar os 90% dos casos de uso, mas apenas a parte arquiteturalmente relevante ou que envolva um risco crítico Ênfase de Elaboração Fluxo de Análise e Projeto Apesar de um modelo inicial da arquitetura (um candidato) ter sido feito na concepção – – Este modelo tinha como objetivo demonstrar a viabilidade da arquitetura Eventualmente, tal modelo será descartado A análise e projeto na Elaboração tem como objetivo uma arquitetura executável que suporte todo o sistema A análise e projeto é feito para aproximadamente 10% dos casos de uso Além de casos de uso, o Arquiteto tem que ser preocupar com: – – – Camadas de aplicação Subsistemas (módulos) e suas interfaces Nós de Rede e suas configurações Ênfase de Elaboração Fluxo de implementação e Teste A implementação da Arquitetura da Arquitetura envolve – – A arquitetura é uma primeira versão do sistema com pouca funcionalidade ligada ao domínio da aplicação – A Implementação dos componentes, Subsistemas, classes essenciais A Distribuição destes elementos nos nós de rede (deployment) Porém, com a infra-estrutura funcionamento e integrada com sistema operacional, Banco de dados, sistemas legados, middleware (CORBA, J2EE, .NET, Etc), rede, Etc. Os Testes garantem o funcionamento da integração – Distribuição, armazenamento, persistência, concorrência, desempenho, escalabilidade, Etc. Ênfase de Elaboração Fluxo de Planejamento e Gerenciamento O estudo de viabilidade é muito vago e impreciso ao final de concepção e deve ser refinado Ao Final da elaboração, já existe informação suficiente para se definir o orçamento da construção e transição e, eventualmente, fechar contrato – A arquitetura é uma fonte de informação para se estimar o tamanho do sistema O retorno sobre o investimento também deve ser avaliado Avaliação da Fase Segue de acordo com os critérios definidos no início Em caso de objetivos não atingidos, deve-se planejar novamente as próximas iterações – Eventualmente, o término da fase e estendido A avaliação convence os stakeholders que os riscos mais sérios foram atacados e a arquitetura está estável Planejamento da Fase de Construção O número de iterações necessárias para construir o sistema depende de seu tamanho e complexidade Os riscos restantes da elaboração devem ser atacados o quanto antes – Preferencialmente, por ordem de magnitude Resumo Um arquitetura estável deve ser criada – – Um Subconjunto dos modelos e código são desenvolvidos com respeito aos aspectos arquiteturalmente interessantes A arquitetura executável prova que pode acomodar o resto do sistema