Gestão de projetos
de Software
GTI-16
Aula 2
Processo Unificado
Processos
• Porque não usamos?
–
–
–
–
Sentimento de perda de tempo
Falta de informação
Falta de uma política organizacional
Frases-chave:
• “Já está dando certo do jeito que está”
• “O usuário quer resultado logo”
• Decidimos usar quando...
– Sentimento de “falta de direção”
– A manutenção de um sistema está saindo “cara” demais
Ger. Proj. de Software
GTI - 16
2
Modelo cascata
• Primeiro processo
– Managing the development of large software
systems. W.W.Royce (1970)
– Modelo seqüencial de atividades
• Fortemente inspirado dos processos de
engenharia tradicionais
– “Engenharia de Computação”
– Necessidades  Projeto  Execução
• Atividades
– Análise  Projeto  Codificação  Teste  Manutenção
Ger. Proj. de Software
GTI - 16
3
Modelo cascata
• Suposições
– Todos os requisitos são previamente conhecidos
– Requisitos não mudam
– Usuários sabem o que querem e só precisam ver o sistema quando este
estiver concluído
– Projetos podem ser feitos de maneira completamente abstrata
– Codificação sempre se adequa aos projetos (design)
– Manutenção é trivial
• Evolução
– Fonte
– Espiral
Análise
Testes
Codificação
Testes
Projeto
Projeto
Codificação
Análise
Ger. Proj. de Software
GTI - 16
4
Surgiu então o Processo Unificado
• O que é o Processo Unificado (UP)?
– Metodologia de desenvolvimento de software iterativo e
incremental
– Procura estabelecer práticas que visem garantir a produção de
um software de alta qualidade, dentro de um cronograma e
orçamento possível.
• Principais práticas
–
–
–
–
–
–
Desenvolver iterativamente
Gerenciar Requisitos
Usar arquiteturas baseada em componentes
Modelar software visualmente
Verificar continuamente a qualidade do software
Controlar mudanças
Ger. Proj. de Software
GTI - 16
5
Visão em espiral do UP
Ger. Proj. de Software
GTI - 16
6
Visão Geral
Ger. Proj. de Software
GTI - 16
7
Conceitos principais
• Componentes estáticos
–
–
–
–
–
Disciplinas
Fluxos
Papéis
Atividades
Artefatos
• Componentes dinâmicos
–
–
–
–
Ciclos
Fases
Iterações
Marcos
Ger. Proj. de Software
GTI - 16
8
Conceitos-chave: Disciplina
• Disciplina
– Uma disciplina é um conjunto de atividades relacionadas
a uma “área de interesse” importante em todo o projeto.
– O fluxo de trabalho de uma disciplina é uma seqüência
semi-ordenada das atividades que são realizadas para
alcançar um determinado resultado.
• Tipos
– Relacionadas ao desenvolvimento
• Requisitos, análise e Design, implementação, implantação,...
– Relacionadas ao suporte
• Ger. de projeto, ger. de configuração e mudança, ambiente,...
Ger. Proj. de Software
GTI - 16
9
Conceitos-Chave: Fluxo de trab.
• Fluxo de Trabalho
– Uma simples enumeração de todos os papéis, atividades
e artefatos não constitui um processo;
– É necessária uma forma para descrever as seqüências
significativas das atividades que produzem algum
resultado importante e para mostrar as interações entre
os papéis.
– O fluxo de trabalho é uma seqüência das atividades que
produzem um resultado de valor observável.
Ger. Proj. de Software
GTI - 16
10
Conceitos-Chave
Ger. Proj. de Software
GTI - 16
11
Conceitos-Chave: Papel
• Define
– Comportamento e as responsabilidades de um indivíduo
ou de um conjunto de indivíduos que trabalham juntos
como uma equipe
• Papéis não são indivíduos
– Descrição do comportamento e das responsabilidades
que eles devem ter.
– Mapeamento Indivíduo/Papel é feito pelo Gerente do
Projeto
• Exemplos
– Analista de Sistemas, Designer de Negócio, Revisor de
Requisitos, Implementador, Arquiteto de Software,…
Ger. Proj. de Software
GTI - 16
12
Conceitos-Chave: Atividade
• Uma atividade é uma unidade de trabalho que um
indivíduo, desempenhando o papel descrito, pode
ser chamado a realizar.
• Os papéis possuem atividades que definem o
trabalho que executam. Uma atividade é algo que
um papel faz e produz um resultado significativo no
contexto do projeto
• Exemplos
– Avaliar viabilidade do conceito arquitetural
– Estruturar modelo de implementação
Ger. Proj. de Software
GTI - 16
13
Conceitos-Chave: Artefato
• Um artefato é um produto de
trabalho do processo: os papéis
usam os artefatos para executar
atividades e produzem artefatos
ao executarem as atividades
• As atividades possuem artefatos
de entrada e saída
• Exemplo
Analista de Sistema/
Especificador de
Requisitos
Domínio de Negócio e
Especificação de Casos de uso
Ger. Proj. de Software
GTI - 16
14
Componentes dinâmicos
• UP é um processo baseado no modelo espiral
– Projeto dividido em ciclos
– Cada ciclo representa uma nova versão do produto
– Cada ciclo possui 4 fases consecutivas
• Fases
–
–
–
–
Iniciação – definição do escopo
Elaboração – análise e projeto
Construção – desenvolvimento e integração
Transição – passagem ao “domínio público”
• O final das fases define os principais marcos do projeto
• Cada fase pode ser quebrada em iterações
– Cada iteração resulta em uma nova release
Ger. Proj. de Software
GTI - 16
15
Fase de iniciação
• Objetivos
– Definir o caso de negócio do sistema
• Critério de sucesso, análise de risco,
planejamento de recursos e de tempo
(cronograma)
– Delimitar o escopo do projeto
• Saídas
–
–
–
–
Documento de visão do projeto
Caso de uso inicial (~ 20%)
Caso de negócio do sistema
Planejamento inicial (custo, cronograma,
processo,...)
– Possíveis protótipos (avaliação)
Ger. Proj. de Software
GTI - 16
16
Marco da fase de incepção
• O fim da fase é um marco do projeto (milestone),
cujos critérios de avaliação são:
– Tomador de decisão (stakeholder) está de acordo com o
escopo e o custo e tempo estimados
– Requisitos bem compreendidos (a julgar pelo caso de uso
inicial)
– Custos e cronograma correspondem a realidade
– Avaliação dos protótipos desenvolvidos
• O projeto pode ser cancelado ou revisto se não
passar nos critérios desse marco
Ger. Proj. de Software
GTI - 16
17
Fase da elaboração
• Objetivos
– Analisar o domínio do problema
– Definir uma arquitetura de base
– Desenvolver o planejamento do projeto,
de forma a eliminar os maiores riscos
• Visão de um “oceano com um palmo
de profundidade”
• Saídas
–
–
–
–
Caso de uso (~80 %)
Arquitetura do sistema
Protótipo funcional da arquitetura
Planejamento mais detalhado, incluindo
as iterações
– Detalhamento do processo de
desenvolvimento
Ger. Proj. de Software
GTI - 16
18
Tarefas na elaboração (1)
Ger. Proj. de Software
GTI - 16
19
Tarefas na elaboração (2)
Ger. Proj. de Software
GTI - 16
20
Marco da fase de elaboração
• Critérios de avaliação
– A visão do produto é estável?
– A arquitetura proposta é estável?
– O protótipo mostra que os riscos identificados foram
levados em conta e resolvidos?
– O plano para a fase de construção está bem detalhado?
– Os stakeholders concordam que o produto pode ser feito
no planejamento estipulado com a arquitetura proposta?
– Os custos investidos estão de acordo com o planejado?
Ger. Proj. de Software
GTI - 16
21
Fase de construção
• Objetivos
– Desenvolver os componentes e funcionalidades da
aplicação
– Integrar e testar os componentes
• Saídas
– O produto integrado e testado
– Manual do usuário
– Descrição da versão atual do produto
Ger. Proj. de Software
GTI - 16
22
Marco da fase de construção
• Critérios de avaliação
– O produto está suficientemente estável e maduro para
ser colocado a disposição?
– Todos os stakeholders estão satisfeitos em colocar o
produto à disposição?
– Os custos investidos ainda estão de acordo com o
planejado?
• A fase de transição pode ser adiada se os critérios
falharem
Ger. Proj. de Software
GTI - 16
23
Fase de transição
• Objetivos
– Realizar a transição do software aos usuários
• Inclui
–
–
–
–
–
Beta-testing
Treinamento dos usuários
Conversão das bases de dados funcionais
Execução paralela com o sistema que estará substituindo
Envio do produto ao marketing e vendas
Ger. Proj. de Software
GTI - 16
24
Marco da fase de transição
• Critérios de avaliação
– O usuário está satisfeito?
– As despesas reais com recursos são aceitáveis se
comparadas com as planejadas?
• Final
– Reiniciar um novo ciclo de vida com uma nova versão do
produto
– Manutenção total dos artefatos para terceiros que serão
responsáveis pela manutenção
– Comercialização do produto
Ger. Proj. de Software
GTI - 16
25
Sintetizando….
Ger. Proj. de Software
GTI - 16
26
Artefatos
Documento
Iniciação
Elaboração
Construção
Transição
Análise de Domínio de Negócio
80%
13%
5%
2%
Arquitetura de Software
10%
70%
10%
10%
Camada de Dados
5%
45%
40%
10%
Especificação de Casos de Uso
50%
10%
30%
10%
Realização de Casos de Uso
0%
20%
75%
5%
Implementação
0-5%
30-40%
50-60%
0-5%
Ger. Proj. de Software
GTI - 16
27
Atividade em grupo
Ger. Proj. de Software
GTI - 16
28
Download

gti16-aula2