introdução ao rup

57
http://www.takenami.com.br Introdução ao RUP Igor Takenami Versão 1.0 [email protected] http://twitter.com/itakenami

Upload: igor-takenami

Post on 06-Jun-2015

8.351 views

Category:

Education


0 download

DESCRIPTION

Slides utilizados em sala de aula

TRANSCRIPT

Page 1: Introdução ao RUP

http://www.takenami.com.br

Introdução ao RUPIgor Takenami

Versão 1.0

[email protected]://twitter.com/itakenami

Page 2: Introdução ao RUP

http://www.takenami.com.br

Problemas no Desenv. de Software

Page 3: Introdução ao RUP

http://www.takenami.com.br

O problema...

Page 4: Introdução ao RUP

http://www.takenami.com.br

...depende do ponto de vista!!!

Page 5: Introdução ao RUP

http://www.takenami.com.br

Motivação

• Precisamos saber com clareza:

- Complexidade

- Tamanho

• Para definir um solução

- Eficaz

- Eficiente

Page 6: Introdução ao RUP

http://www.takenami.com.br

Metodologia p/ Desenvolvimento de Software

FerramentaLinguagem

Processo

Page 7: Introdução ao RUP

http://www.takenami.com.br

Melhores Práticas para Desenv. de Software

• Desenvolvimento interativo

• Gerenciamento de Requisitos

• Arquitetura baseada em Componentes

• Modelo de Software Visual

• Verificação contínua da qualidade do Software

• Gerenciamento e controle de mudanças

Page 8: Introdução ao RUP

http://www.takenami.com.br

Desenvolvimento Iterativo

Desenvolvimento em Cascata

Desenvolvimento Iterativo

Page 9: Introdução ao RUP

http://www.takenami.com.br

Desenvolvimento Iterativo

Teste

Modelagem de Negócio

RequisitosAnálise & Projeto

Desenvolvimento

Avaliação

Implementação

Page 10: Introdução ao RUP

http://www.takenami.com.br

Vantagens do Desenvolvimento Iterativo

• Os riscos são atacados mais cedo

• Mudanças nos requisitos

• Refinamento de arquitetura

• Aprendizado e aprimoramento

• Aumento do reuso

Page 11: Introdução ao RUP

http://www.takenami.com.br

Gerenciamento de Requisitos• Requisitos não são óbvios

• Requisitos não são facilmente expresso em palavras

• Existem vários tipos de requisitos em diferentes níveis de detalhes

• O número de requisitos pode explodir

• Requisitos estão interligados

• Existem várias pessoas interessadas nos requisitos

• Requisitos mudam

Page 12: Introdução ao RUP

http://www.takenami.com.br

Arquitetura Baseada em Componentes

• Define uma arquitetura modular

• Facilita o reúso

• Arquiteturas e componentes prontos

• Permite escalabilidade

• Facilita manutenção

Page 13: Introdução ao RUP

http://www.takenami.com.br

Arquitetura Baseada em Componentes

Page 14: Introdução ao RUP

http://www.takenami.com.br

Modelagem Visual• Ajuda a entender sistemas complexos

• Facilita a linguagem e comunicação entre o mundo real e o que vai ser desenvolvido

• Explora e compara alternativas

• Forma uma base para a implementação

• Facilita a captura dos requisitos

• Comunica as decisões sem ambigüidades

Page 15: Introdução ao RUP

http://www.takenami.com.br

Modelagem Visual

Page 16: Introdução ao RUP

http://www.takenami.com.br

Modelagem Visual

Page 17: Introdução ao RUP

http://www.takenami.com.br

Modelagem Visual - Software

Page 18: Introdução ao RUP

http://www.takenami.com.br

Verificação Contínua da Qualidade

• O que é qualidade?

• Onde está a qualidade?

- Qualidade do Processo

- Qualidade do Produto

• Gerência da qualidade consiste em:

- Identificar métricas

- Coletar dados

- Identificar os pontos que afetam a qualidade o quanto antes

- Alinhar a equipe ao processo adotado

Page 19: Introdução ao RUP

http://www.takenami.com.br

Gerência de Mudanças• Controla:

- Os artefatos criados

- Acesso aos artefatos

- Mudanças nos artefatos

- Baselines

- Geração dos Releases

• Controlando Mudanças de Software

Page 20: Introdução ao RUP

http://www.takenami.com.br

Gerência de Mudanças

Page 21: Introdução ao RUP

http://www.takenami.com.br

Solução sugerida pela Rational

FerramentaRose, etc..

LinguagemUML

ProcessoRUP Quem é a Rational?

Page 22: Introdução ao RUP

http://www.takenami.com.br

O que é RUP?• O RUP (Rational Unified Process) é um

framework para desenvolvimento de software criado pela empresas Rational

• Tem como objetivo oferecer um processo de desenvolvimento “bem definido” e “bem gerido”

• Utiliza as 6 melhores práticas de desenvolvimento de software

Page 23: Introdução ao RUP

http://www.takenami.com.br

Características do RUP• Utiliza desenvolvimento Iterativo e Incremental

• Sustentado em UML

• Dirigida por caso de uso (use-case driven)

- A identificação de casos de uso e cenários típicos conduz todo o processo de desenvolvimento, desde a análise de requisitos até o teste do sistema final

• Centrado na arquitetura

- Promove a definição inicial de uma arquitetura de software robusta, que facilita o desenvolvimento, reutilização e manutenção

• Define: Quem?, Como?, O que? e Quando?

Page 24: Introdução ao RUP

http://www.takenami.com.br

Principais Conceitos• Fases

- Define as etapas para desenvolvimento do software

- Diferente do modelo cascata um fase envolve várias atividades que vai desde a modelagem a implantação

- Cada fase é dividida em iterações

• Disciplinas

- Agrupam workflow com os mesmo objetivos

- Definem áreas de conhecimento utilizada no framework

- Também conhecido como Core Workflow

Page 25: Introdução ao RUP

http://www.takenami.com.br

Gráfico das Baleias

Page 26: Introdução ao RUP

http://www.takenami.com.br

Outros Conceitos• Fluxo de Trabalho

- Agrupam atividades relacionadas

• Atividades

- São tarefas que podem ser entregues a trabalhadores individuais

• Artefato

- São inputs e outputs de actividades

• Modelos

- Agrupam artefactos desenvolvidos num workflow

• Papeis (workers)

- São perfis a que correspondem competências para a realização de atividades

Page 27: Introdução ao RUP

http://www.takenami.com.br

Papeis (Workers) - Quem?Atividades (Activities) - Como?Artefatos (Artifacts) - O Que?

Fluxo de Trabalho (Workflows) - Quando?

Definições dos Conceitos

Page 28: Introdução ao RUP

http://www.takenami.com.br

Referência do RUP

Page 29: Introdução ao RUP

http://www.takenami.com.br

• Fases

• Disciplinas

• Workflow

• Atividades

• Artefatos

• Modelos

• Papeis (workers)

Entendendo os Conceitos

Page 30: Introdução ao RUP

http://www.takenami.com.br

• Concepção (Inception)

- Definição do escopo do projeto, identificação dos atores, casos de uso e descrição dos mais significativos

• Elaboração (Elaboration)

- Análise do sistema, definição da arquitetura de software

• Construção (Construction)

- Desenvolvimento iterativo e incremental do produto

• Transição (Transition)

- Atividades de “entrega” do software

Fases

Page 31: Introdução ao RUP

http://www.takenami.com.br

Concepção• Estabelecer o escopo e os limites, com critérios

de aceitação bem definidos

• Discriminar os casos de usos críticos

• Exibir uma arquitetura candidata

• Estabelecer estimativa de: Custo, Esforço e Cronograma

• Preparar o ambiente do projeto

Page 32: Introdução ao RUP

http://www.takenami.com.br

Concepção - Milestone• Viabilidade

- Examina os objetivos e decide seguir ou cancelar o projeto

• Critério de avaliação

- Entendimento e acordo com os requisitos

- Credibilidade no equilíbrio de: esforço x custo x cronograma

- Acerto das prioridades

Page 33: Introdução ao RUP

http://www.takenami.com.br

Elaboração• Levantamento e elicitação da maioria dos

requisitos

• Identificação dos riscos mais significativos

• Tamanho real do projeto

• Estabelecer uma arquitetura

• Provar que a arquitetura funciona

• Produzir um protótipo evolucionário

• Estabelecer um ambiente

Page 34: Introdução ao RUP

http://www.takenami.com.br

Elaboração - Milestone• Examina os objetivos, arquitetura e riscos do

projeto

• Critério de avaliação

- Requisitos, visão e arquitetura estáveis

- Verificar que, com os protótipos, todos os riscos foram atacados

- Planos de Iteração da fase de construção

- Despesas atuais batem com estimadas

Page 35: Introdução ao RUP

http://www.takenami.com.br

Construção• Desenvolver incrementalmente e lançar as

versões de teste (alpha, beta)

• Completar o desenvolvimento de todos os Casos de Uso

• Casos de Uso com maior prioridade e/ou risco de desenvolvimento primeiro

• Cada iteração é um mini-projeto: Análise, projeto,codificação, teste e integração

Page 36: Introdução ao RUP

http://www.takenami.com.br

Construção - Milestone• Sistema e manual

• Critério de avaliação

- O Sistema passou em todos os testes de integração?

- O sistema já esta maduro o suficiente pra ser entregue?

- Os stakeholders estão prontos para usá-lo?

• Despesas reais versus planejadas continuam aceitaveis?

Page 37: Introdução ao RUP

http://www.takenami.com.br

Transição• Conversão do ambiente para produção

• Treinamento de usuários e manutenção

• Suporte ao usuário

Page 38: Introdução ao RUP

http://www.takenami.com.br

Transição - Milestone• Os objetivos foram cumpridos?

• Critério de avaliação

- O usuário está satisfeito

- Despesas reais versus planejadas continuam aceitáveis?

• Gerar base de conhecimento para próximo projeto

Page 39: Introdução ao RUP

http://www.takenami.com.br

Ciclo de vida do RUP• Cada fase pode ser dividida em iterações

• Cada iteração é incremental pois envolvem todas as disciplinas

Page 40: Introdução ao RUP

http://www.takenami.com.br

Iterações• Cada iteração resulta num incremento ao

produto

- Tipicamente é analisado e implementado um grupo de casos de utilização ou de variantes de casos de utilização

• Cada iteração passa pelos workflows técnicos

- Importância relativa dos workflows varia com as fases

Page 41: Introdução ao RUP

http://www.takenami.com.br

Disciplinas• Agrupa os workflows de atividades correlatas

• Dividem-se em 2 grupos:

- Engenharia

- Suporte

Page 42: Introdução ao RUP

http://www.takenami.com.br

Organização das Disciplinas

Page 43: Introdução ao RUP

http://www.takenami.com.br

Workflow• Sequência de atividades que produzem um

resultado de valor observável

• Geralmente expresso em um diagrama de atividade

• Organizado em disciplinas

Page 44: Introdução ao RUP

http://www.takenami.com.br

Workflow

Page 45: Introdução ao RUP

http://www.takenami.com.br

Workflow

Page 46: Introdução ao RUP

http://www.takenami.com.br

Atividades• Unidade de trabalho com um propósito claro

• Pode ser decomposto em vários passos

• Os passos podem ser visto como tarefas

• Possui sempre um responsável

Page 47: Introdução ao RUP

http://www.takenami.com.br

Atividades• Exemplos:

- Identificar casos de uso e atores

a) Worker: Analista de Sistemas

- Revisar o projeto

a) Worker: Revisor de Projeto

- Executar teste de desempenho

a) Worker: Testador de desempenho

Page 48: Introdução ao RUP

http://www.takenami.com.br

Atividades

Page 49: Introdução ao RUP

http://www.takenami.com.br

Atividades• A atividade Find Use Case and Actors se

decompõe nos passos:

- Identificar os atores

- Identificar os casos de uso

- Descrever a interação entre os atores e uc

- Organizar em pacotes

- Apresentar o modelo em um diagrama

- Avaliar os resultados

Page 50: Introdução ao RUP

http://www.takenami.com.br

Artefatos• Tudo que é produzido durante o

desenvolvimento

• Artefato x Produto

• Sujeito a Gerencia de Configuração

• Mantidos por controle de versão

Page 51: Introdução ao RUP

http://www.takenami.com.br

Artefatos

Page 52: Introdução ao RUP

http://www.takenami.com.br

• Conjunto de artefatos gerados num workflow

• Modelo de Negócio

• Modelo da Arquitetura

• Esboço do artefato a ser desenvolvido

Modelos

Page 53: Introdução ao RUP

http://www.takenami.com.br

Papeis (Workers)• Define o comportamento e as responsabilidades

de um indivíduo em uma equipe

• Um pessoas pode assumir mais de um papel dentro do projeto

Page 54: Introdução ao RUP

http://www.takenami.com.br

Papeis (Workers)

Page 55: Introdução ao RUP

http://www.takenami.com.br

Papeis (Workers)

Page 56: Introdução ao RUP

http://www.takenami.com.br

Principais Valores do RUP• Visão

• Planejamento

• Riscos

• Arquitetura

• Prototipagem

• Mudanças

Page 57: Introdução ao RUP

http://www.takenami.com.br

Dúvidas ?