27
RUP Rational Unified Unified Process Process ( (Processo Unificado de Desenvolvimento da Rational)

RUP Unified Process ( Rational Unified Process ( Processo Unificado de Desenvolvimento da Rational)

Embed Size (px)

Citation preview

Page 1: RUP Unified Process ( Rational Unified Process ( Processo Unificado de Desenvolvimento da Rational)

RUP

Rational Unified Process Unified Process ((Processo Unificado de Desenvolvimento da Rational)

Page 2: RUP Unified Process ( 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.

Page 3: RUP Unified Process ( Rational Unified Process ( Processo Unificado de Desenvolvimento da Rational)

RUP

• Processo unificado de desenvolvimento de software: UP (Unified Process).

• Definido como um framework para gerar processos (metamodelo)

• Processo + Métodos + Linguagem (UML)

Page 4: RUP Unified Process ( Rational Unified Process ( Processo Unificado de Desenvolvimento da Rational)

Evolução

Teste FuncionalTeste de DesempenhoGerência de RequisitosGerência de ConfiguraçãoEngenharia de NegóciosEngenharia de Dados

Rational Unified Process 5.01998

Rational Objectory Process 4.11996-1997

Objectory Process 1.0-3.81987-1995

Abordagem Ericsson

Abordagem RationalU M L

Page 5: RUP Unified Process ( Rational Unified Process ( Processo Unificado de Desenvolvimento da Rational)

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

Page 6: RUP Unified Process ( Rational Unified Process ( Processo Unificado de Desenvolvimento da Rational)

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.

Page 7: RUP Unified Process ( Rational Unified Process ( Processo Unificado de Desenvolvimento da Rational)

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.

Page 8: RUP Unified Process ( Rational Unified Process ( Processo Unificado de Desenvolvimento da Rational)

• 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.

Princípios

Page 9: RUP Unified Process ( Rational Unified Process ( Processo Unificado de Desenvolvimento da Rational)

Ciclos/Fases

• Vários ciclos se repetem até a aposentadoria do sistema.

Cada ciclo gera um produto liberado para uso.

• 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)

Page 10: RUP Unified Process ( Rational Unified Process ( Processo Unificado de Desenvolvimento da Rational)

Fases

• Cada fase é subdividida em iterações.

- Um conjunto de artefatos (release) é gerado a cada iteração. - Um milestone (marco) é gerado a cada fase.

IteraçãoArquitetura

... IteraçãoDesenv

IteraçãoDesenv

... IteraçãoTransição

...

Release Release Release Release Release Release Release Produto

IteraçãoPreliminar

...

Concepção Elaboração Construção Transição

Page 11: RUP Unified Process ( Rational Unified Process ( Processo Unificado de Desenvolvimento da Rational)

ElaboraçãoConcepção Construção Transição

Análise de Requisitos

Nível de arquitetura

Nível de classe

Implementação

Teste

Design

fases/tempo

dimensão/componente

Fases

iterações #1 #2 #3 #n #m+1

Page 12: RUP Unified Process ( Rational Unified Process ( Processo Unificado de Desenvolvimento da Rational)

fases/tempo

ElaboraçãoConcepção Construção Transição

Análise de Requisitos

Nível de arquitetura

Nível de classe

Implementação

Teste

Design

Fluxo de trabalho do Processo

Fases

É 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

Page 13: RUP Unified Process ( Rational Unified Process ( Processo Unificado de Desenvolvimento da Rational)

ElaboraçãoConcepção Construção Transição

Análise de Requisitos

Nível de arquitetura

Nível de classe

Implementação

Teste

Design

fases/tempoFluxo de trabalho do Processo

É 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

Fases

Page 14: RUP Unified Process ( Rational Unified Process ( Processo Unificado de Desenvolvimento da Rational)

fases/tempo

ElaboraçãoConcepção Construção Transição

Análise de Requisitos

Nível de arquitetura

Nível de classe

Implementação

Teste

Design

Fluxo de trabalho do Processo

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

Page 15: RUP Unified Process ( Rational Unified Process ( Processo Unificado de Desenvolvimento da Rational)

ElaboraçãoConcepção Construção Transição

Análise de Requisitos

Nível de arquitetura

Nível de classe

Implementação

Teste

Design

fases/tempo

dimensão/componente

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.

Fases

Page 16: RUP Unified Process ( Rational Unified Process ( Processo Unificado de Desenvolvimento da Rational)

Fases e Marcos

Page 17: RUP Unified Process ( Rational Unified Process ( Processo Unificado de Desenvolvimento da Rational)

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

Page 18: RUP Unified Process ( Rational Unified Process ( Processo Unificado de Desenvolvimento da Rational)

Fluxos de Trabalho de Processo do RUP

Page 19: RUP Unified Process ( Rational Unified Process ( Processo Unificado de Desenvolvimento da Rational)

Modelos do RUP

Page 20: RUP Unified Process ( Rational Unified Process ( Processo Unificado de Desenvolvimento da Rational)

Ciclo de Vida

Workflows: passos dentro de uma iteração em cada fase e modelos

RequisitosRequisitos

ProjetoProjeto

ImplementaçãoImplementação

TestesTestes

AnáliseAnálise

Modelo Modelo Use CaseUse Case

Modelo Modelo AnáliseAnálise

ModeloModeloTesteTeste

ModeloModeloProjetoProjeto

ModeloModeloImplantaçãoImplantação

ModeloModeloImplementaçãoImplementação

Page 21: RUP Unified Process ( Rational Unified Process ( Processo Unificado de Desenvolvimento da Rational)

Conceitos Relacionados

• Pessoas:Pessoas:Worker: papel representado por uma pessoa ou grupo no processo de software.Cada worker é responsável por um conjunto de atividades.

• Projeto:Projeto:Possui uma seqüência de mudanças / várias iterações / um padrão organizacional.

Page 22: RUP Unified Process ( Rational Unified Process ( Processo Unificado de Desenvolvimento da Rational)

Conceitos Relacionados

• Produto: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:Processo:Direciona o projeto.Template para criação de instâncias (projetos).

Page 23: RUP Unified Process ( Rational Unified Process ( Processo Unificado de Desenvolvimento da Rational)

Conceitos-ChaveProcesso Dirigido por Casos de Uso

• Benefícios: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.

Page 24: RUP Unified Process ( Rational Unified Process ( Processo Unificado de Desenvolvimento da Rational)

Conceitos-ChaveProcesso Centrado na Arquitetura

• Benefícios: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.

Page 25: RUP Unified Process ( Rational Unified Process ( Processo Unificado de Desenvolvimento da Rational)

Conceitos-ChaveProcesso Iterativo e Incremental

• Benefícios: 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.

Page 26: RUP Unified Process ( Rational Unified Process ( Processo Unificado de Desenvolvimento da Rational)

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.

Page 27: RUP Unified Process ( Rational Unified Process ( Processo Unificado de Desenvolvimento da Rational)

Referências

• Boock, G. and Rumbaugh, J. The Unified Modeling Language User Guide Addison-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.