04 Unified process

Post on 28-May-2015

191 views 4 download

description

Tópicos para guiar a discussão em sala de aula - Processo Unificado.

Transcript of 04 Unified process

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.

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?