300 likes | 518 Views
RUP. Rational Unified Process ( Processo Unificado de Desenvolvimento da Rational). Processo Conjunto de passos que tem como objetivo atingir uma meta Processo de software – na ES, processo que visa a produzir o software - de modo eficiente e previsÃvel um produto de qualidade. RUP
E N D
RUP Rational Unified Process (Processo Unificado de Desenvolvimento da Rational)
Processo • Conjunto de passos que tem como objetivo atingir uma meta • Processo de software – na ES, processo que visa a produzir o software - de modo eficiente e previsível um produto de qualidade.
RUP • Processo unificado de desenvolvimento de software: UP (Unified Process). • Definido como um framework para gerar processos (metamodelo) • Processo + Métodos + Linguagem (UML)
Evolução Rational Unified Process 5.0 Teste Funcional Teste de Desempenho Gerência de Requisitos Gerência de Configuração Engenharia de Negócios Engenharia de Dados 1998 Rational Objectory Process 4.1 1996-1997 U M L Abordagem Rational Objectory Process 1.0-3.8 1987-1995 Abordagem Ericsson
Principais Características do RUP • baseado em componentes • utiliza UML para especificar, modelar e documentar artefatos. • guiado por casos de uso • centrado na arquitetura • iterativo • incremental
Principais Características do RUP • permite a customização e autoria de processos, ou seja uma vasta variedade de processos, ou configuração de processos, podem ser obtidas a partir dele. • configurável: pode ser adaptado (configurado) dependendo do tipo de software sendo desenvolvido, de características do ambiente de desenvolvimento (tamanho da equipe, técnicas usadas, etc) • Não existe uma maneira exata de aplicar o RUP, pois ele pode ser aplicado de várias formas e será diferente em cada projeto e organização.
Principais Características do RUP • É bem definido e estruturado • define claramente quem é responsável pelo que, como as coisas devem ser feitas e quando fazê-las. • provê uma estrutura bem definida para o ciclo de vida de um projeto, articulando claramente os marcos essenciais e pontos de decisão.
Princípios • Atacar os riscos cedo e continuamente; • Certificar-se de entregar algo de valor ao cliente; • Focar no software executável; • Acomodar mudanças cedo; • Liberar um executável da arquitetura cedo; • Construir o sistema com componentes; • Trabalhar junto como um time; • Fazer da qualidade um estilo de vida, não algo para depois.
Ciclos/Fases • Ciclo de Desenvolvimento - 4 fases: • Concepção (define o escopo do projeto) • Elaboração (define os requisitos e a arquitetura) • Construção (desenvolve o sistema) • Transição (implanta o sistema) • Vários ciclos se repetem até a aposentadoria do sistema. • Cada ciclo gera um produto liberado para uso.
Concepção Elaboração Construção Transição ... Iteração Preliminar ... Iteração Arquitetura ... Iteração Desenv Iteração Desenv ... Iteração Transição Release Release Release Release Release Release Release Produto Fases • Cada fase é subdividida em iterações. - Um conjunto de artefatos (release) é gerado a cada iteração. - Um milestone (marco) é gerado a cada fase.
fases/tempo Concepção dimensão/componente Elaboração Construção Transição Análise de Requisitos Nível de arquitetura Nível de classe Design Implementação Teste Fases #m+1 #n #2 #3 #1 iterações
Fluxo de trabalho do Processo Concepção Elaboração Construção Transição Análise de Requisitos Nível de arquitetura Nível de classe Design Implementação Teste Fases fases/tempo É a primeira fase do processo, em que a idéia inicial para o desenvolvimento é levada até o ponto de ser - pelo menos internamente - suficientemente bem fundamentada para assegurar a passagem à fase de elaboração
fases/tempo Fluxo de trabalho do Processo Concepção Elaboração Construção Transição Análise de Requisitos Nível de arquitetura Nível de classe Design Implementação Teste Fases É a segunda fase do processo, quando a visão do produto e sua arquitetura são definidas. Os requisitos do sistema podem abranger desde declarações de caráter geral até critérios precisos de avaliação, em que cada requisito especifica determinado comportamento funcional ou não funcional e proporciona a base para a realização de testes
Fluxo de trabalho do Processo Concepção Elaboração Construção Transição Análise de Requisitos Nível de arquitetura Nível de classe Design Implementação Teste Fases fases/tempo 3ª fase do processo, em que o software chega a uma arquitetura baseline executável e destinada à transferência para a comunidade de usuários. Os requisitos do sistema e seus critérios de avaliação são sempre reexaminados com base nas necessidades comerciais do projeto e alocação de recursos.
fases/tempo Concepção dimensão/componente Elaboração Construção Transição Análise de Requisitos Nível de arquitetura Nível de classe Design Implementação Teste Fases 4ª fase do processo, em que o software chega às mãos dos usuários. Raramente o processo termina aqui, pois é quando o sistema é aprimorado continuamente, bugs são eliminados e acrescentadas novas características.
Ciclo de Vida • Workflows ou fluxos de trabalho: passos dentro de uma iteração em cada fase • Passos genéricos: Análise de Requisitos Análise Projeto Implement Teste SW
Ciclo de Vida Modelo Use Case Requisitos Modelo Análise Análise Modelo Projeto Modelo Implantação Modelo Implementação Projeto Implementação Modelo Teste Testes Workflows: passos dentro de uma iteração em cada fase e modelos
Conceitos Relacionados Pessoas: Worker: papel representado por uma pessoa ou grupo no processo de software. Cada worker é responsável por um conjunto de atividades. Projeto: Possui uma seqüência de mudanças / várias iterações / um padrão organizacional.
Conceitos Relacionados Produto: Não é apenas código. Artefato: qualquer tipo de informação criada. Artefatos são criados pelos workers em cada uma de suas atividades. Processo: Direciona o projeto. Template para criação de instâncias (projetos).
Conceitos-ChaveProcesso Dirigido por Casos de Uso Benefícios: casos de uso associam todos os workflows de forma conjunta. Dirigem várias atividades de desenvolvimento: Criação e validação da arquitetura do sistema Criação de casos de teste Planejamento das iterações Criação de documentação do usuário Implantação do sistema Sincronizam conteúdo dos modelos criados em cada workflow.
Conceitos-ChaveProcesso Centrado na Arquitetura Benefícios: Fornecer uma base sólida para a construção do software. Melhor compreensão do sistema e organização do desenvolvimento. Descrição: arquitetura envolve elementos de modelo mais importantes - coleção de visões dos modelos do sistema. UP prescreve um refinamento sucessivo à arquitetura. A arquitetura representa a forma, enquanto que os casos de uso representam funcionalidades. Arquitetura e casos de uso devem ser balanceados.
Conceitos-ChaveProcesso Iterativo e Incremental Benefícios: Identificação de riscos é adiantada. Preparação do Sistema para requisitos que mudam. Integração contínua (facilita testes e aprendizado). Iteração: mini-projeto - transversal pelos workflows Modelos evoluem nas iterações. Resultado de uma iteração: incremento.
O RUP Define um guia que controle as atividades do time de desenvolvimento. Direciona as tarefas para desenvolvedores específicos. Especifica que artefatos precisam ser desenvolvidos nas etapas do desenvolvimento. Oferece critérios para monitorar as atividades e os produtos de um projeto.
Referências • Boock, G. and Rumbaugh, J. The Unified Modeling Language User GuideAddison-Wesley, 1999. Apêndice • Jacobson, I. and Booch, G.and Rumbaugh, J. The Unified Software Development Process. Capítulos 1 a 5. • Kruchten, P. The Rational Unified Process – an Introduction.