Introduo ao RUP
Livar Correia de O. C. Cunha livarcocc@[Link]
Effektiv Solutions
Rational Unified Process (RUP)
um framework de processo de desenvolvimento de software Uma metodologia uma instanciao dos processos definidos nesse framework Envolve atividades, artefatos e trabalhadores
Effektiv Solutions
Principais Caractersticas
Iterativo e Incremental Dirigido por Casos de Uso Centrado na Arquitetura Orientado a Objetos Tratamento de Riscos
Effektiv Solutions
Casos de Uso
Representam uma funcionalidade do sistema Ajudam na comunicao com os clientes.
Pode-se usar tambm prottipos de interfaces grficas.
Mostram apenas o que o sistema faz, e no como.
Effektiv Solutions
Casos de uso servem para que?
Criao da Arquitetura Testes Definio das Iteraes Documentao do usurio
Effektiv Solutions
Arquitetura de Software
Componentes Relacionamentos entre os componentes Propriedades destes componentes e relacionamentos
Effektiv Solutions
Arquitetura de Software
Se o projeto ainda no definiu a arquitetura do sistema, incluindo sua justificativa, ele no deve prosseguir com o desenvolvimento em larga escala.
Barry Boehm
Effektiv Solutions
Arquitetura de Software (no RUP)
A definio da arquitetura imprescindvel para o sucesso do projeto Os riscos com a arquitetura so crticos
Possuem tratamento padro no RUP Existe uma fase para a estabilizao da arquitetura
Effektiv Solutions
Fases, Iteraes
O ciclo de vida de um sistema consiste de quatro fases:
Inception
time
Elaboration
Construction
Transition
Concepo (define o escopo do projeto) Elaborao (define os requisitos e a arquitetura) Construo (desenvolve o sistema) Transio (implanta o sistema)
9
Effektiv Solutions
Fases e Iteraes
Cada fase dividida em iteraes:
Inception Elaboration Construction Transition
Preliminary iteration
Architect. Architect. Devel.. iteration iteration iteration
Devel.. iteration
Devel.. iteration
Transition iteration
Transition iteration
Minor Milestones: Releases
10
Effektiv Solutions
Ciclo de vida Iterativo
Aplicao do modelo cascata em vrias iteraes As iteraes iniciais atacam os riscos mais crticos
11
Effektiv Solutions
Ciclo de vida Iterativo
Divide o projeto em partes menores
Mais fceis de gerenciar Mais fcil de medir o progresso Testes e integrao so realizados desde o incio Riscos mais crticos so resolvidos mais cedo Maior feedback dos usurios
Todos comeam a trabalhar mais cedo
12
Effektiv Solutions
Grfico das Baleias
13
Effektiv Solutions
Fase de Concepo
14
Effektiv Solutions
Concepo
Recursos
Fluxos Requisitos Requisitos Anlise eeProjeto Anlise Projeto Implementao Implementao Testes Testes
15
Effektiv Solutions
Objetivos da Fase de Concepo
Definir o escopo do software
Viso do Projeto Definir os critrios de aceitao do produto final O que faz parte e o que no faz parte do produto
Descobrir os casos de uso crticos ou cenrios crticos de caso de uso Estimar por alto o custo e o cronograma de todo o projeto
Estimar em detalhes os custos e cronograma da fase seguinte de Elaborao
16
Effektiv Solutions
Objetivos da Fase de Concepo
Levantar os potenciais riscos Preparar o ambiente de suporte do projeto
Definir e preparar os processos e ferramentas a serem utilizados
Definir e, eventualmente, demonstrar com prottipos ao menos um candidato de arquitetura
Avaliar alternativas de projeto
Que componentes fazer, comprar ou reusar?
17
Effektiv Solutions
Grfico das Baleias - Elaborao
18
Effektiv Solutions
Elaborao
Recursos
Fluxos Requisitos Requisitos Anlise eeProjeto Anlise Projeto Implementao Implementao Testes Testes
19
Effektiv Solutions
Objetivos da Fase de Elaborao
Capturar a maioria dos requisitos Construir a arquitetura do sistema
Na forma de um executvel (arquitetura executvel) Que demonstre a capacidade de esta arquitetura acomodar o resto do sistema
Produzir prottipos evolucionrios ou descartveis que eliminam riscos de
Requisitos ou projeto Reusabilidade de componentes Viabilidade tcnica
Effektiv Solutions
20
Grfico das Baleias - Construo
21
Effektiv Solutions
Construo
Recursos
Fluxos Requisitos Requisitos Anlise eeProjeto Anlise Projeto Implementao Implementao Testes Testes
22
Effektiv Solutions
Caractersticas da Fase de Construo
Produzir a verso para beta-testes A nfase na produo de um software operacional Envolve anlise, projeto e implementao dos requisitos levantados na Elaborao
Pelo menos 80% dos casos de uso foram levantados (identificados) e entendidos durante a Elaborao Destes, apenas 10-15% so arquiteturalmente relevantes e foram especificados (detalhados), analisados, projetados e implementados A Construo finaliza o sistema, atingindo 100% das funcionalidades implementadas Adiciona msculos ao esqueleto (arquitetura)
23
Effektiv Solutions
Grfico das Baleias - Transio
24
Effektiv Solutions
Transio
Recursos
Fluxos Requisitos Requisitos Anlise eeProjeto Anlise Projeto Implementao Implementao Testes Testes
25
Effektiv Solutions
Objetivos da Fase de Transio
Validar o sistema em relao s expectativas dos usurios Beta testes e operacionalizao do software (geralmente, em paralelo com o sistema legado) Converso de dados Treinamento de usurios Correo de erros, pequenas melhorias, pequenos ajustes
26
Effektiv Solutions
Referncias
The Rational Unified Process: An Introduction (2nd Edition), Philippe Kruchten. The Unified Software Development Process. Ivar Jacobson, Grady Booch e James Rumbaugh.
27
Effektiv Solutions