Escolar Documentos
Profissional Documentos
Cultura Documentos
Development (FDD)
Kleber Silva, khfts@cin.ufpe.br
11/10/2005
Agenda
Introduo
Motivao
Melhores Prticas
Modelagem de Objeto do Domnio
Desenvolvimento por Feature
Class (Code) Ownership
Equipes por Feature
Inspees
Builds Regulares
Gerncia de Configurao
Comunicao/Visibilidade dos Resultados
Processo
Concluso
Introduo
Desenvolvimento gil
(+)
(-)
Indivduos e Interaes
Processos e Ferramentas
Software Funcionando
Documentao Extensa
Colaborao do Cliente
Negociao de Contrato
Resposta s Mudanas
Seguir um Plano
Introduo
Motivao
Clientes
Melhores Prticas
Modelagem
de Objeto do Domnio
Modelagem De Objeto Do
Domnio
Extending that analogy a bit
further, a domain object
model is like the road map
that guides the journey;
with it, you can reach your
destination relatively
quickly and easily without
too many detours or a lot
of backtracking; without it,
you can very quickly end
up lost or driving around in
circles, continually
reworking and refactoring
the same pieces of code.
Stephen Palmer
Statement of
Purpose
Mdulo 1
Req 1.2
Mdulo 2
Req 2.1
Mdulo 3
Req 3.1
.
.
.
Mdulo N
Req 3.2
Req 3.3
.
.
.
Req N.1
Feature
Feature
Feature
Exemplo
Desvantagens
Desvantagens
integrantes;
Possui todo o cdigo que necessita para
mudar sua feature;
Cada membro de uma feature contribui para
o design e implementao de uma feature
sob a orientao de um desenvolvedor mais
experiente.
Inspees
Usadas
para:
Deteco de Defeitos;
Transferncia de Conhecimento;
Aderncia Padres de Codificao;
Extrair Mtricas para Melhoria do Processo.
Cuidado:
Builds Regulares
Gerar documentao;
Rodar script de mtricas e de auditoria;
Base para testes de regresso;
Construir novo build e release notes, listando novas
features adicionadas, defeitos corrigidos, etc...
Gerncia de Configurao
Identificao
Comunicao/Visibilidade Dos
Resultados
Progress
Reporting
Facilita o acompanhamento
gerencial, atravs da coleta de
informaes
confiveis
e
precisas sobre o status do
projeto;
Sugere
um
nmero
de
formatos
de
relatrios
intuitivos e diretos para ilustrar
o progresso.
Comunicao/Visibilidade Dos
Resultados
KEY:
Work In Progress
Attention
Completed
Not Started
Comunicao/Visibilidade Dos
Resultados
Comunicao/Visibilidade Dos
Resultados
CP-1
Status Geral:
Trabalhos em progresso
Ateno (ie, atrasado)
Completo
Fazendo
avaliao
de produtos
(14)
No iniciado
Porcentagem completa:
75%
Completo
MY Ms de concluso
Barra de progresso
Status Completo:
Exemplo:
Dez 2001
Comunicao/Visibilidade Dos
Resultados
Product Sale Management (PS)
CP-1
CP-1
CP-3
CP-1
Selling
Products
Shipping
Products
Delivering
Products
Invoicing
Sales
(22)
(19)
(10)
(33)
99%
10%
30%
3%
Nov 2001
Dec 2001
Dec 2001
Dec 2001
CP-2
Setting up
Product
Agreements
(13)
CP-2
CP-3
Opening
New
Accounts
(11)
Logging
Account
Transactions
(30)
Establishing
Storage Units
95%
100%
82%
Oct 2001
Oct 2001
Work In Progress
Dec 2001
Dec 2001
Evaluating
Account
Applications
(23)
KEY:
Making
Product
Assessments
(14)
75%
CP-1
Nov 2001
Attention
CP-3
CP-3
Moving
Content
(26)
Accepting
Movement
Requests
(18)
100%
97%
82%
Nov 2001
Nov 2001
Completed
Progress Bar
(19)
Nov 2001
Not Started
Comunicao/Visibilidade Dos
Resultados
Processo
Descrio
Processo
Papis
principais
Gerente de projeto
Arquiteto chefe
Especialistas no domnio
Gerentes de desenvolvimento
Programadores chefes
Proprietrios de classes
Processo
1.Desenvolver
um Modelo
Geral
Modelo de Objeto
(mais formas do
que contedo)
2. Construir
uma Lista de
Features
Uma lista de
Features
categorizada
3. Planejar
Por
Feature
Um plano de
desenvolvimento
4. Projetar
Por
Feature
5. Construir
Por Feature
Um pacote de
projeto
(seqncias)
Uma funo do
cliente
completada
conhecimento
construir o modelo geral
do
domnio
Atividades
Formar a Equipe de Modelagem
Entradas e Sadas
Entrada
Sadas
Atividades
Entradas e Sadas
Entrada
Sadas
Atividade
Formar a Equipe de Planejamento
Determinar a Seqncia
de Desenvolvimento
Atribuir Conjuntos de Features
para Programadores Chefes
Atribuir Classes para Desenvolvedores
Entradas e Sadas
Entrada
Sadas
de
Atividades
Formar a Equipe Por Feature
Estudo do Domnio
Descrever os prefcios de
classes e mtodos
Entradas e Sadas
Entrada
Sadas
Diagramas de seqncia
Designs alternativos (caso exista)
O modelo de objeto com classes, mtodos e atributos
novos ou atualizados
A documentao da API do sistema
Lista de tarefas (calendrio/ To-Do)
so construdas implementando
todas as classes e mtodos necessrios
Testes de unidades
Features so inseridas no build quando o
teste resulta em sucesso
Atividades
Codificar
Testar Unidades
Inspecionar Cdigo
Promover verso
atual (Build)
Ponto de integrao
para a funcionalidade
inteira
Entradas e Sadas
Entrada
Sadas
Concluso
Requer
alguma
arte
na
alocao
de
recursos;
Permite um bom acompanhamento gerencial
do status das atividades;
Mais leve e simples de implementar;
Favorece um bom Design do sistema.
Referncias
Dvidas
???