introdução ao rup
DESCRIPTION
Slides utilizados em sala de aulaTRANSCRIPT
![Page 1: Introdução ao RUP](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/1.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/2.jpg)
http://www.takenami.com.br
Problemas no Desenv. de Software
![Page 3: Introdução ao RUP](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/3.jpg)
http://www.takenami.com.br
O problema...
![Page 4: Introdução ao RUP](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/4.jpg)
http://www.takenami.com.br
...depende do ponto de vista!!!
![Page 5: Introdução ao RUP](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/5.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/6.jpg)
http://www.takenami.com.br
Metodologia p/ Desenvolvimento de Software
FerramentaLinguagem
Processo
![Page 7: Introdução ao RUP](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/7.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/8.jpg)
http://www.takenami.com.br
Desenvolvimento Iterativo
Desenvolvimento em Cascata
Desenvolvimento Iterativo
![Page 9: Introdução ao RUP](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/9.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/10.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/11.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/12.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/13.jpg)
http://www.takenami.com.br
Arquitetura Baseada em Componentes
![Page 14: Introdução ao RUP](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/14.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/15.jpg)
http://www.takenami.com.br
Modelagem Visual
![Page 16: Introdução ao RUP](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/16.jpg)
http://www.takenami.com.br
Modelagem Visual
![Page 17: Introdução ao RUP](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/17.jpg)
http://www.takenami.com.br
Modelagem Visual - Software
![Page 18: Introdução ao RUP](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/18.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/19.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/20.jpg)
http://www.takenami.com.br
Gerência de Mudanças
![Page 21: Introdução ao RUP](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/21.jpg)
http://www.takenami.com.br
Solução sugerida pela Rational
FerramentaRose, etc..
LinguagemUML
ProcessoRUP Quem é a Rational?
![Page 22: Introdução ao RUP](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/22.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/23.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/24.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/25.jpg)
http://www.takenami.com.br
Gráfico das Baleias
![Page 26: Introdução ao RUP](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/26.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/27.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/28.jpg)
http://www.takenami.com.br
Referência do RUP
![Page 29: Introdução ao RUP](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/29.jpg)
http://www.takenami.com.br
• Fases
• Disciplinas
• Workflow
• Atividades
• Artefatos
• Modelos
• Papeis (workers)
Entendendo os Conceitos
![Page 30: Introdução ao RUP](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/30.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/31.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/32.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/33.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/34.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/35.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/36.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/37.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/38.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/39.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/40.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/41.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/42.jpg)
http://www.takenami.com.br
Organização das Disciplinas
![Page 43: Introdução ao RUP](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/43.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/44.jpg)
http://www.takenami.com.br
Workflow
![Page 45: Introdução ao RUP](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/45.jpg)
http://www.takenami.com.br
Workflow
![Page 46: Introdução ao RUP](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/46.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/47.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/48.jpg)
http://www.takenami.com.br
Atividades
![Page 49: Introdução ao RUP](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/49.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/50.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/51.jpg)
http://www.takenami.com.br
Artefatos
![Page 52: Introdução ao RUP](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/52.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/53.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/54.jpg)
http://www.takenami.com.br
Papeis (Workers)
![Page 55: Introdução ao RUP](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/55.jpg)
http://www.takenami.com.br
Papeis (Workers)
![Page 56: Introdução ao RUP](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/56.jpg)
http://www.takenami.com.br
Principais Valores do RUP• Visão
• Planejamento
• Riscos
• Arquitetura
• Prototipagem
• Mudanças
![Page 57: Introdução ao RUP](https://reader037.vdocuments.pub/reader037/viewer/2022102717/557320a7d8b42aae7b8b4cb0/html5/thumbnails/57.jpg)
http://www.takenami.com.br
Dúvidas ?