Post on 19-Jul-2015
AgendaProcesso UnificadoRodrigo Reis Cleidson de Souza! ! ! ! ! !
Introduo" Motivao " Definies " RUP
para Processos de Software
Processo Unificado (USDP)x USDP " Caractersticas do Processo Unificado
Descrio detalhada do Processo Unificado Processos Derivados Templates simplificados Conclusesquites@computer.org 2
Processo de Software!
Definio para Processo de Software" Todos
Introduo!Comparando
o processo de software com outros processos industriais !Crescente preocupao com processos !Modelos de Processos Populares
os elementos do mundo real envolvidos no desenvolvimento e manuteno de um produto de software " Inclui os recursos, ferramentas, atividades, artefatos e organizao (Derniame, 1998 apud GDPA)
quites@computer.org
4
Processo de Software!
Processo de Software!
Processos vem sendo propostos pela indstria, pases e academia" Anlise
Exemplo de Processo: Anlise Estruturada" Proposta
-gerencial Estruturada (Yourdon, Gane) Descrio superficial " Mtodo de Jackson " Objectory (Jacobson) " V-Model (Alemanha) " Catalysis +tcnico " Rational Unified Process - RUP +gerencial Descrio detalhada " XP - eXtreme Programmingquites@computer.org 5
+tcnico
por uma diversidade de autores nas dcadas de 1980 e 1990 " Fundamentao:!
Programao Estruturada"
Estruturas de repetio, deciso e seqncia Principal mecanismo de abstrao: decomposio funcional Processo Seqencial Linearquites@computer.org 6
!
Projeto Estruturado"
!
Ciclo de Vida Cascata"
Processo de Software!
Exemplo de Processo: Anlise EstruturadaModelagem de Dados Projeto de Dados
Processo UnificadoProjeto
Anlise Modelagem dos Fluxos
!Histrico
Projeto de Funes
Modelagem Comportamental (Viso simplificada do fluxo de controle)quites@computer.org 7
e Definies !RUP x USDP !Caractersticas do Processo Unificado
Processo Unificado!
Processo Unificado!
Definio principal"O
Histrico: UML" Unified!
processo oficial definido para apoiar o uso da UML " Necessidade a partir do sucesso da UML como padro de fato para especificao de software
Modeling Language (UML)
Linguagem visual para sistemas orientados a objetos ! Unified Method 0.8: 1995 ! Padro de fato e de direito ! UML foi proposta somente como uma linguagem, sem orientao de uso (i.e., sem um processo)
quites@computer.org
9
quites@computer.org
10
Processo Unificado!
Processo Unificado!
Histrico: Processo Unificado" Bases!"
histricas do Processo Unificado
Histrico: Processo Unificado" Bases!
Processo EspiralIteratividade " Gerncia de riscos
histricas do Processo UnificadoProcesso Objectory" "
Proposto por Jacobson et al Processo direcionado pelos Casos de Uso
quites@computer.org
11
quites@computer.org
12
Processo Unificado!
Processo Unificado: Introduo!
O que o Processo Unificado?" Pode!
ter 2 respostas:
Definies: o que Processo Unificado" ...Modelo!
Modelo de Processo Padro ! Produto comercial da IBM/Rational
de Processo Padro
Descrio de atividades que compem um processo que adota UML ! Mais simples que a proposta da Rational
quites@computer.org
13
quites@computer.org
14
Processo Unificado: Introduo!
Definies: O que Processo Unificado" ...Produto!
comercial
Desenvolvido e mantido pela Rational ! Integrado a suite de produtos ! Disponvel em CD-ROM / Internet ! Conhecido como Rational Unified Process ! E-coach: treinamento a distncia"
http://www.rational.com/rup # Para o treinamento online, clicar em Trials & Betas
quites@computer.org
15
quites@computer.org
16
Descrio do artefato Vision Template para o artefato Visionquites@computer.org 17 quites@computer.org 18
O gerenciamento de Riscos deve ser feito continuamentePrincipais Caractersticas do RUP (The Spirit of RUP)!
A cada iterao (novos) riscos devem ser identificados e tratados; Isto garante que o desenvolvimento ter sucesso;" Riscos
!
financeiros, tecnolgicos, organizacionais, etc;
quites@computer.org
20
Foco nas Funcionalidades do ClienteCasos de uso so funcionalidades para o cliente; ! Especificao, organizao e documentao dos requisitos facilitada atravs dos diagramas de casos de uso; ! Casos de uso guiam todo o processo de desenvolvimento!"O
Foco no Software Executvel!
Artefatos so construdos para facilitar e documentar o processo de desenvolvimento; Mas, no necessrio construir todos os artefatos indicados pelo RUP;
!
que desenvolver, testar e validar em cada iterao;quites@computer.org 21 quites@computer.org 22
Aprenda a lidar com MudanasMudanas so inevitveis no processo de desenvolvimento; ! Portanto, adote estratgias para gerenciar mudanas!" Tomada
Defina cedo uma Arquitetura estvel!
de deciso sobre uma mudana; " Impacto desta mudana no sistema; " Minimizar o custo desta mudana;
Uma arquitetura do sistema definida, implementada e testada no incio do processo (Elaborao) para garantir que o sistema atender aos requisitos funcionais e no-funcionais; Com a arquitetura definida, o processo de construo mais simples;quites@computer.org 24
!
quites@computer.org
23
Considere continuamente a Qualidade!
Desenvolvimento Iterativo! ! !
O controle de qualidade deve ser feito desde o incio do processo de desenvolvimento" Inspeo
de software; " Teste dos casos de uso implementados; " Definio de casos de teste a partir dos casos de uso;
Impossvel desenvolver o sistema em uma nica iterao; A cada iterao mais detalhes so adicionados; Diversas vantagens:" Reduo
da Complexidade; " Facilidade para lidar com mudanas nos requisitos, cronograma, etc.
quites@computer.org
25
quites@computer.org
26
Processo Unificado
Estrutura do Processo Unificado
!
Estrutura do Processo Unificado" Processo
Iterativo, baseado no modelo
EspiralIterativo: baseado em sucessivas verses ! Espiral: inclui anlise de riscos!
quites@computer.org
28
Processo Unificado!
Processo Unificado!
Estrutura do Processo Unificado
Estrutura do Processo Unificado
componentes do processo agrupados logicamente em workflows
quites@computer.org
tempo
29
Uma iteraoquites@computer.org
30
Workflows
Milestonesquites@computer.org 31
Workflow de Requisitos
Workflow de Anlise e Projeto
quites@computer.org
33
quites@computer.org
34
Workflow de Implementao
Workflow de Testes
quites@computer.org
35
quites@computer.org
36
Workflow de Implantao
Processo Unificado: detalhamento das etapas
quites@computer.org
37
Processo Unificado: detalhamento das fases
Processo Unificado: detalhamento das fases!
Concepo" Objetivos!
Concepo
Elaborao
Construo
Transio
Concepo
Elaborao
Construo
Transio
Estabelecer escopo do projeto e condies de fronteira ! Descrever os casos de uso crticos do sistema ! Descrever pelo menos uma arquitetura candidata para os principais casos de uso ! Estimar o custo e cronograma para a Elaborao ! Estimar riscos (fontes de incerteza)
quites@computer.org
39
quites@computer.org
40
Processo Unificado: detalhamento das fases!
Processo Unificado: detalhamento das fases!
Concepo"
Concepo
Elaborao
Construo
Transio
Concepo"
Concepo
Elaborao
Construo
Transio
Atividades!
Descrever o escopo do projeto"
Artefatos produzidos!
Capturar o contexto na forma de requisitos e restries para determinar um critrio de aceitao do produto final Avaliao de riscos, staff, plano de projeto e relaes entre custo, cronograma e lucro Avaliar alternativas de projeto (atividade pode ser suprimida se o sistema no possui novidades ou possui uma arquitetura bem conhecida) Escolha de recursos fsicos e humanos, e ferramentas de software
!
Planejar e preparar o Plano de Negcios"
!
!
Preparar uma arquitetura candidata"
! !
O documento de Viso, isto , a viso geral dos requisitos principais do sistema, incluindo funcionalidades principais e restries O modelo de caso de uso, listando todos os casos de uso e atores que podem ser identificados neste incio (10% a 20% do total) Um glossrio inicial do projeto Um plano de negcios inicial, contendo:"
! !
Preparar o ambiente de projeto (environment)"
Obs: Geralmente a concepo completada em dois dias ou menos para sistemas pequenos
Contexto do negcio, Critrio de sucesso (projeo de lucro, reconhecimento do mercado, etc), Provisionamento Financeiro
! ! !
Anlise de Riscos Inicial Um plano de projeto (para etapa de Elaborao) Um ou mais prottiposquites@computer.org 42
quites@computer.org
41
Processo Unificado: detalhamento das fasesObjetivos do ciclo de vida
Processo Unificado: detalhamento das fases!
!
Concepo" Milestone:!
Concepo
Elaborao
Construo
Transio
Elaborao" Objetivos!
Concepo
Elaborao
Construo
Transio
Objetivos do ciclo de vida
Acordo com cliente acerca da definio de escopo, e estimativas de custo e cronograma ! Entendimento dos requisitos (evidenciado pelos principais casos de uso) ! Estimativas reais de custo e cronograma, prioridades, riscos e processo ! Prottipo de Arquitetura do software
Definir e validar uma arquitetura baseline"
Baseline - release estvel que serve como ponto de partida e referncia no desenvolvimento futuro
! ! !
Gerar uma Viso baseline Gerar um plano detalhado para a fase de construo Demonstrar que a arquitetura baseline ir atender a reviso no custo e tempo estimados
quites@computer.org
43
quites@computer.org
44
Processo Unificado: detalhamento das fases!
Processo Unificado: detalhamento das fases!
Elaborao" Atividades!
Concepo
Elaborao
Construo
Transio
Elaborao" Artefatos!
produzidos
Concepo
Elaborao
Construo
Transio
!
Elaborar a viso: entendimento slido dos casos de uso mais crticos (que determinam as decises arquiteturais e de planejamento) A arquitetura elaborada e componentes de software so selecionados"
!
! ! ! ! !
"
Componentes potenciais so avaliados segundo decises make/buy/reuse para determinar custo e estimativa Lies obtidas podem servir para gerar o novo projeto da arquitetura do sistema
Um modelo de caso de uso (pelo menos 80% dos casos de uso) Requisitos suplementares que capturem requisitos no-funcionais e requisitos que no esto associados com um caso de uso especfico Uma descrio da arquitetura de software Um prottipo arquitetural executvel Uma lista revisada dos riscos e plano de negcios Um plano para as prximas iteraes Um manual do usurio preliminar46
quites@computer.org
45
quites@computer.org
Processo Unificado: detalhamento das fasesArquitetura
Processo Unificado: detalhamento das fases!
!
Elaborao" Milestone:!" "
Concepo
Elaborao
Construo
Transio
Construo" Atividades:! ! !
Concepo
Elaborao
Construo
Transio
Arquitetura
Perguntas:A viso do produto estvel? A arquitetura estvel? " O plano para Construo est suficientemente detalhado e correto? # Iteraes x Releases " O cliente est de acordo com a viso? " A alocao de recusos est de acordo com o previsto?
Gerenciamento de recursos Desenvolver e testar os componentes Avaliar e, eventualmente, prosseguir para a prxima iterao Produto de software integrado na plataforma de hardware Manuais de usurio Descrio dos releases
" Artefatos! ! !
quites@computer.org
47
quites@computer.org
48
Processo Unificado: detalhamento das fases!
Incio da capacidade operacionalConstruo Transio
Processo Unificado: detalhamento das fases!
Construo" Milestone:!
Concepo
Elaborao
Transio" Objetivo!
Concepo
Elaborao
Construo
Transio
Incio da Capacidade Operacional
geral:
O release est maduro e estvel para ser usado? ! Todos os stakeholders esto prontos para a transio? ! O consumo de recursos aceitvel?
Garantir que o software esteja disponvel para usurios finais Finalizar o material de apoio ao usurio final Testar o produto entregue"
" Atividades! !
Simular o ambiente do cliente (se possvel) ou instalar o software no cliente
! !
Realizar um ajuste fino do produto com base no feedback Entregar o produto final para o usurio
quites@computer.org
49
quites@computer.org
50
Processo Unificado: detalhamento das fases!
Transio" Artefatos!
Concepo
Elaborao
Construo
Transio
Release Notes"
raro o produto que no possui instrues e modificaes de ltimo-minuto
Processos Derivados
!
Material de treinamento e documentao
quites@computer.org
51
Processos DerivadosGrande nmero de processos surgiram para customizar ou estender o Processo Unificado ! Experincias na indstria e academia ! H uma verdadeira coqueluche em adaptaes de RUP para empresas especficas!" Ex:
O fim.
SERPRO, Natura, etc.53 54
quites@computer.org
quites@computer.org