Unified Process
Processo unificado de desenvolvimento de software
Unified Process
 Um framework de processo de desenvolvimento
 Princípio iterativo incremental
 Nasceu em 1999 com a publicação do livro The
Unified Software Development Process
 Ivar Jacobson
 Grady Booch
 James Rumbaugh
 Rational – RUP
 IBM – Open UP
Unified Process
Open Unified Process
 O que é Open UP?
 Processo que aplica a abordagem iterativa e incremental
para o ciclo de vida de desenvolvimento de software.
 Possui características de metodologia ÁGIL, tendo como
foco a natureza colaborativa no desenvolvimento de
software.
Visão geral
Premissas Open UP
 Organização do projeto através do conceito de Micro-
incrementos:
 Representam as unidades de trabalho que serão produzidas pela
iteração (normalmente medidas em horas ou poucos dias).
 Intensa colaboração entre os membros da equipe, já que é
um processo de desenvolvimento incremental e possui equipe
auto-organizável.
 Feedbacks extremamente rápidos, proporcionando agilidade
na tomada de decisões
 Divisão do projeto em iterações com entregas planejadas e
com tempo pré-definidos.
 O clico de vida de um projeto é composto por quatro fases:
 Iniciação
 Elaboração
 Construção
 Transição
Ciclo de Vida do Projeto
 O ciclo de vida do projeto fornece visibilidade e
sincronismo aos envolvidos no projeto.
 Principais objetivos:
 Iniciação: Definição dos objetivos e escopo do projeto;
 Elaboração: Definir a arquitetura a ser utilizada para o
projeto e avaliar se os riscos são aceitáveis;
 Construção:Garantir que a aplicação construída está de
acordo com a solicitação do cliente.
 Transição:Garantir que a aplicação está pronta para
implantação.
Fase de Concepção
 Objetivos:
 Levantar os riscos potenciais
 Preparar o ambiente de suporte do projeto
 Definir e preparar os processos e ferramentas a serem
utilizados
 Definir e, eventualmente, demonstrar com protótipos ao
menos um candidato de arquitetura
 Avaliar alternativas de projeto
 Que componentes fazer, comprar ou reusar?
Fase de Concepção
Fase de Elaboração
 Capturar a maioria dos requisitos
 Construir a arquitetura do sistema
 Na forma de um executável (arquitetura executável)
 Que demonstre a capacidade de esta arquitetura
acomodar o resto do sistema
 Produzir protótipos evolucionários ou descartáveis
que eliminam riscos de
 Requisitos ou projeto
 Reusabilidade de componentes
 Viabilidade técnica
Fase de Elaboração
Fase de Construção
 Produzir a versão para beta-testes
 A ênfase é na produção de um software operacional
 Envolve análise, projeto e implementação dos requisitos
levantados na Elaboração
 Pelo menos 80% dos casos de uso foram
levantados(identificados) e entendidos durante a
Elaboração
 A Construção finaliza o sistema, atingindo100% das
funcionalidades implementadas
 Adicionar “músculos” ao “esqueleto” (arquitetura)
Fase de Construção
Fase de Transição
 Validar o sistema em relação às expectativas dos
usuários
 Beta testes e operacionalização do software (geralmente,
em paralelo com o sistema legado)
 Conversão de dados
 Treinamento de usuários
 Correção de erros, pequenas melhorias, pequenos
ajustes
Fase de Transição
Ciclo de Vida da Iteração
 Reunião do Plano de Iteração – duração de algumas
horas.
 Definição das entregas da iteração (micro-incrementos),
arquitetura e riscos – duração de poucos dias.
 Entregas contínuas dos micro-incrementos e correção de
erros – duração semanal.
 Ao final de cada semana devem ser gerados builds estáveis.
 Reunião de Retrospectiva: reunião de avaliação com
toda a equipe – duração de algumas horas.
 Abordar as falhas, não os culpados.
 Destacar as lições aprendidas.
Ciclo de Vida da Iteração
Micro-Incremento
 Resultado de algumas horas ou dias de trabalho de
uma pessoa (eventualmente pode-se considerar
uma pequeno grupo de trabalho) para alcançar uma
entrega da iteração.
 Ajuda o membro do grupo a dividir seu trabalho em
pequenas unidades, desde que agreguem valor ao
time.
 Um micro-incremento deve ter sua evolução media
diariamente, além de atender às necessidades dos
Stakeholders. Portanto, é importante sua
concordância na definição das entregas (Documento
Visão).
Micro-Incremento
 Definir, desenhar, implementar e testar um Caso de
Uso ou até mesmo um cenário pode levar semanas.
Como proceder?
 Divida o trabalho em sub-fluxos menores de forma que
cada um não dure mais que alguns dias.
Links interessantes
 Jogo do RUP
 Open UP na Eclipse Process Framework
 Open UP na IBM
 RUP em Português
O processo de software no RUP
 Um conjunto de disciplinas dentro de um ciclo de
vida iterativo e incremental
O elementos nos diagramas do RUP
O elementos nos diagramas do RUP
 O processo
 As disciplinas
 O fluxo de trabalho e seus detalhamentos
 Os papéis
 As atividades executadas pelos papéis
 As orientações de trabalho de cada atividade
 Os artefatos - entradas e saídas de cada atividade
 Pontos de verificação, diretrizes e templates dos
artefatos
As FASES no RUP
 Fases e milestones (marcos)
 O que precisa ser feito em cada fase?
 O que precisa ser verificado nas milestones?
 Quanto tempo se gasta com cada fase?
 Processo: quem, o quê e como?

04 Unified process

  • 1.
    Unified Process Processo unificadode desenvolvimento de software
  • 2.
    Unified Process  Umframework de processo de desenvolvimento  Princípio iterativo incremental  Nasceu em 1999 com a publicação do livro The Unified Software Development Process  Ivar Jacobson  Grady Booch  James Rumbaugh  Rational – RUP  IBM – Open UP
  • 3.
  • 4.
    Open Unified Process O que é Open UP?  Processo que aplica a abordagem iterativa e incremental para o ciclo de vida de desenvolvimento de software.  Possui características de metodologia ÁGIL, tendo como foco a natureza colaborativa no desenvolvimento de software.
  • 5.
  • 6.
    Premissas Open UP Organização do projeto através do conceito de Micro- incrementos:  Representam as unidades de trabalho que serão produzidas pela iteração (normalmente medidas em horas ou poucos dias).  Intensa colaboração entre os membros da equipe, já que é um processo de desenvolvimento incremental e possui equipe auto-organizável.  Feedbacks extremamente rápidos, proporcionando agilidade na tomada de decisões  Divisão do projeto em iterações com entregas planejadas e com tempo pré-definidos.  O clico de vida de um projeto é composto por quatro fases:  Iniciação  Elaboração  Construção  Transição
  • 7.
    Ciclo de Vidado Projeto  O ciclo de vida do projeto fornece visibilidade e sincronismo aos envolvidos no projeto.  Principais objetivos:  Iniciação: Definição dos objetivos e escopo do projeto;  Elaboração: Definir a arquitetura a ser utilizada para o projeto e avaliar se os riscos são aceitáveis;  Construção:Garantir que a aplicação construída está de acordo com a solicitação do cliente.  Transição:Garantir que a aplicação está pronta para implantação.
  • 8.
    Fase de Concepção Objetivos:  Levantar os riscos potenciais  Preparar o ambiente de suporte do projeto  Definir e preparar os processos e ferramentas a serem utilizados  Definir e, eventualmente, demonstrar com protótipos ao menos um candidato de arquitetura  Avaliar alternativas de projeto  Que componentes fazer, comprar ou reusar?
  • 9.
  • 10.
    Fase de Elaboração Capturar a maioria dos requisitos  Construir a arquitetura do sistema  Na forma de um executável (arquitetura executável)  Que demonstre a capacidade de esta arquitetura acomodar o resto do sistema  Produzir protótipos evolucionários ou descartáveis que eliminam riscos de  Requisitos ou projeto  Reusabilidade de componentes  Viabilidade técnica
  • 11.
  • 12.
    Fase de Construção Produzir a versão para beta-testes  A ênfase é na produção de um software operacional  Envolve análise, projeto e implementação dos requisitos levantados na Elaboração  Pelo menos 80% dos casos de uso foram levantados(identificados) e entendidos durante a Elaboração  A Construção finaliza o sistema, atingindo100% das funcionalidades implementadas  Adicionar “músculos” ao “esqueleto” (arquitetura)
  • 13.
  • 14.
    Fase de Transição Validar o sistema em relação às expectativas dos usuários  Beta testes e operacionalização do software (geralmente, em paralelo com o sistema legado)  Conversão de dados  Treinamento de usuários  Correção de erros, pequenas melhorias, pequenos ajustes
  • 15.
  • 16.
    Ciclo de Vidada Iteração  Reunião do Plano de Iteração – duração de algumas horas.  Definição das entregas da iteração (micro-incrementos), arquitetura e riscos – duração de poucos dias.  Entregas contínuas dos micro-incrementos e correção de erros – duração semanal.  Ao final de cada semana devem ser gerados builds estáveis.  Reunião de Retrospectiva: reunião de avaliação com toda a equipe – duração de algumas horas.  Abordar as falhas, não os culpados.  Destacar as lições aprendidas.
  • 17.
    Ciclo de Vidada Iteração
  • 18.
    Micro-Incremento  Resultado dealgumas horas ou dias de trabalho de uma pessoa (eventualmente pode-se considerar uma pequeno grupo de trabalho) para alcançar uma entrega da iteração.  Ajuda o membro do grupo a dividir seu trabalho em pequenas unidades, desde que agreguem valor ao time.  Um micro-incremento deve ter sua evolução media diariamente, além de atender às necessidades dos Stakeholders. Portanto, é importante sua concordância na definição das entregas (Documento Visão).
  • 19.
    Micro-Incremento  Definir, desenhar,implementar e testar um Caso de Uso ou até mesmo um cenário pode levar semanas. Como proceder?  Divida o trabalho em sub-fluxos menores de forma que cada um não dure mais que alguns dias.
  • 20.
    Links interessantes  Jogodo RUP  Open UP na Eclipse Process Framework  Open UP na IBM  RUP em Português
  • 21.
    O processo desoftware no RUP  Um conjunto de disciplinas dentro de um ciclo de vida iterativo e incremental
  • 22.
    O elementos nosdiagramas do RUP
  • 23.
    O elementos nosdiagramas do RUP  O processo  As disciplinas  O fluxo de trabalho e seus detalhamentos  Os papéis  As atividades executadas pelos papéis  As orientações de trabalho de cada atividade  Os artefatos - entradas e saídas de cada atividade  Pontos de verificação, diretrizes e templates dos artefatos
  • 24.
    As FASES noRUP  Fases e milestones (marcos)  O que precisa ser feito em cada fase?  O que precisa ser verificado nas milestones?  Quanto tempo se gasta com cada fase?  Processo: quem, o quê e como?