Fases do Desenvolvimento Processo Unificado (RUP) Ulf Bergmann ulf@ime.eb.br Domínio do Problema Objetos Objetos do do Mundo Mundo real real Modelo Semântico Domínio da Solução Aplicação Interface Serviços Modelo Implementacional Fases Clássicas no Desenvolvimento Análise de Análise Design () Codificação Testes Ciclos de Vida A ordenação das fases e das atividades desenvolvidas é especificada nos ciclos de vida Principais ciclos de vida: Cascata Prototipação Incremental Espiral... Manutenção
O Modelo de Processo em Cascata Prototipação Análise Risco Tempo início fim Engenharia produto Lev Design Rápido Codificação para manutenção podem levar muitos anos Risco máximo com custo máximo Teste Manutenção Refinar protótipo Avaliação pelo usuário Construção Protótipo Viabilidade do Sistema Planos de SW Modelo de Processo Incremental Preliminar Incremento 1 Implementação Teste Código/Unidade Incremento 2 Implementação... Teste Código/Unidade Integração Modelo de Processo Espiral Análise e Determina objetivos Avalia alternativas Identifica e analisa riscos Início Produz Protótipos Desenvolve, verifica produto próximo-nível Nova Função Integração Necessita ser cuidadosamente gerenciado Manutenção Pode ser iniciado e incrementado antes do desenvolvimento completo dos requisitos Manutenção Planejamento Validação de Planejar próxima iteração Versão1 Versão 2 Versão 3
RUP - Rational Unified Process Framework genérico para processos de desenvolvimento de software podendo ser instanciado para diferentes tipos de sistemas Características Baseado em componentes Utiliza a UML Dirigido por use cases Centrado na arquitetura Interativo e incremental RUP - Definições Artefatos: qualquer tipo de informação criada, produzida, modificada, ou utilizada pelas pessoas envolvidas no desenvolvimento Atividade: unidade de trabalho realizada por um desenvolvedor. Workflow: conjunto de atividades realizadas seguindo determinada seqüência Pessoas envolvidas no processo (desenvolvedor) RUP - Exemplo de Workflow RUP - Visão Geral tempo Conteúdo
Fases e Interações Phases Ciclo Ciclo Milestones Inter. #1 #2 #3 #4........................... #N Produto Versão 1.0 Produto Versão 2.0 Milestones Objetivos devem ser atingidos Decisões críticas são tomadas Inception Phase Objetivo: estabelecer o caso do negócio a ser tratado pelo sistema e delimitar o escopo do projeto Caso do negócio:» critérios de sucesso» avaliação dos riscos» estimativa de recursos necessários» planejamento das fases mostrando as datas dos milestones Como: Identificar todas as entidades externas que irão interagir com o sistema (actors) Definir a natureza das interações em alto nível (use case)» Identificar todos os use cases e descrever apenas alguns Inception Phase Resultados: Documento de Visão Geral: requisitos básicos, características chaves e principais restrições do sistema Use Case Model (inicial, 10 a 20% completo) Project Grossary (inicial) Business case Avaliação inicial de riscos Planejamento do Business Model (opcional) Protótipos Inception Phase Lifecycle Objectives Milestone Milestone: Lifecycle Objectives Milestone Critérios de Avaliação» Concordância da direção e dos usuários sobre o escopo do projeto, custos e planejamento» Entendimento dos requisitos como evidenciado pela fidelidade dos use cases primários» Credibilidade das estimativas de custo e planejamento, das prioridades e dos riscos» Profundidade e abrangência dos protótipos» Comparação das despesas realizadas X planejadas pode ser cancelado ou repensado se não passar pelo milestone
Elaboration Phase Objetivo: analisar o domínio do problema, estabelecer uma arquitetura base, desenvolver o planejamento do projeto e eliminar os principais elementos de risco do projeto Fase mais crítica: passagem de uma etapa simples, pequena e de baixo risco para uma etapa que possui alto custo e uma alta taxa de riscos Como: Desenvolvimento de protótipos» que usem a arquitetura definida» que tratem os use cases críticos encontrados na fase de inception Elaboration Phase Resultados: Use Case Model (mínimo de 80% completo): todos os use cases identificados e a maior parte deles já descritos suplementares, capturando os requisitos não funcionais e aqueles que não podem ser associados a um determinado use case Descrição da Arquitetura de Software Protótipo executável da arquitetura Lista revisada dos riscos e do caso do negócio Planejamento de todo o projeto Manual do Usuário (inicial, opcional) Elaboration Phase Lifecycle Architecture Milestone Construction Phase Milestone: Lifecycle Architecture Milestone Critérios de Avaliação» Documento de Visão Geral é estável?» A arquitetura é estável?» A execução do protótipo mostrou que os maiores elementos de riscos foram tratados e contornados?» O Planejamento do é correto e detalhado o suficiente?» Todos os usuários e diretores concordam que o sistema possa ser desenvolvido se o planejamento atual for seguido e sendo utilizada a arquitetura especificada?» A comparação das despesas realizadas X planejadas é aceitável? Objetivo: desenvolver todos os componentes necessários, integrá-los ao produto e testar completamente as características desejadas do sistema. Resultados: Produto pronto para ser colocado em produção» Software integrado para a plataforma de destino» Manuais do Usuário» Descrição da versão atual pode ser cancelado ou repensado se não passar pelo milestone
Construction Phase Initial Operational Capability Milestone Transition Phase Milestone: Initial Operational Capability Milestone Critérios de Avaliação» Esta versão do produto é estável e madura o suficiente para ser distribuída aos usuários?» Os usuários do sistema estão em condições de começar a utilizar o sistema?» A comparação das despesas realizadas X planejadas continua aceitável? Se não passar por este milestone a fase de Transition pode ser cancelada e em consequência uma versão do sistema não será distribuída. Objetivo: colocar o sistema em produção Como: beta testes operação paralela de sistemas legados conversão de bases de dados treinamentos Resultado: Sistema em produção Transition Phase Product Release Milestone RUP - Rational Unified Process Milestone: Product Release Milestone Critérios de Avaliação» Os usuários estão satisfeitos?» A comparação das despesas realizadas X planejadas continua aceitável? Se não passar por este milestone pode ser decidido pela realização de um novo ciclo de desenvolvimento
RUP - Workflow de RUP - Workflow de Análise Objetivo: analisar os requisitos levantados refinando e estruturando-os Workflow RUP - Workflow de Design