Escolar Documentos
Profissional Documentos
Cultura Documentos
Srgio Mergen
de software que falhou 2 anos de trabalho 3,500 pginas de casos de uso Modelo de objetos complexo Nenhum cdigo funcional Concluiu-se que no poderia ser feito
funcionais Leva 15 meses com 50 programadores Terminou abaixo do oramento Tudo isso em um projeto invivel!
Como?
De Luca trouxe uma
metodologia usada a 20 anos Coad trouxe suas ideias sobre features. Nasceu o FDD. Primeira publicao em 1999, Java Modeling in Color with UML
Features
So blocos muito pequenos de funcionalidades, com valor para o
cliente
So expressadas na forma
<ao> <resultado> <objeto>
Com as proposies apropriadas entre ao, resultado e objeto. Calcular o total de uma venda; Avaliar o desempenho de um vendedor. Validar a senha de um usurio.
Features - exemplo
rea Principal Gerenciamento de venda de produtos Conjunto de Features Vender para um cliente Features Calcular o total de vendas Calcular o total de compras de um cliente Estimar o tempo de entrega de uma venda Calcular a taxa de uma venda
Features
Conjuto de Features Grande Conjunto de Features Conjuto de Features Features Individuais
Conjuto de Features
Conjuto de Features Conjuto de Features Conjuto de Features
Lista de Features
Conjuto de Features
Conjuto de Features Conjuto de Features
Conjunto de Features
Agendar um Servio Agendar um Servio Realizar um Servio Realizar um Servio
Feature
Agendar um servio para um carro Adicionar um novo cliente na lista Registrar dados gerais do servio Registrar partes usadas no servio
Processo
Papis principais
Gerente de projeto Arquiteto chefe
Especialistas no domnio
Gerentes de desenvolvimento Programadores chefes
Proprietrios de classes
Gerncia de configurao
Comunicao dos resultados
Processo
Descrio
Cada processo descrito em no mais do que duas pginas de
papel tamanho carta, frente-e-verso; Cada descrio do processo apresenta-se de acordo com a estrutura: Entrada, Tarefas, Verificao e Sadas (ETVX).
Processo
1.Desenvolver um Modelo Geral 2. Construir uma Lista de Features 3. Planejar Por Feature 4. Projetar Por Feature 5. Construir Por Feature
geral
Estabelecimento do propsito de negcio do novo sistema; Construo de um modelo conceitual do sistema.
Atividades
Formar a Equipe de Modelagem
Entradas e Sadas
Entrada Especialistas no domnio, programadores e arquitetos chefes so selecionados. Sadas Modelo geral do domnio; Diagrama das classes principais com alguns mtodos e atributos identificados; Diagramas de seqncia de algumas funcionalidades mais complexas (se houver); Comentrio sobre o modelo.
Modelagem Do Domnio
Java Modeling in Color : Enterprise Components and Process, Coad, Lefebvre and De Luca, PTR-PH 1999
Atividades
Entradas e Sadas
Entrada
O processo de desenvolvimento do modelo geral ter sido
Sadas
Uma lista das reas do domnio identificadas; Para cada rea, uma lista de atividades de negcio (conjunto de
Lista de Features
http://www.nebulon.com/articles/fdd/DevView.html
desenvolvimento
Atividade
Entradas e Sadas
Entrada O processo de construir a lista de Features ter sido concludo com sucesso. Sadas reas de Domnio com datas de trmino; Atividades de negcio com datas de trmino; Programadores-chefes atribudos a atividades de negcio; A lista de classes e seus donos (desenvolvedores).
http://www.nebulon.com/articles/fdd/planview.html
Atividades
Estudo do Domnio
Entradas e Sadas
Entrada O processo de planejamento ter sido concludo com sucesso 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)
mtodos necessrios Testes de unidades Features so inseridas no build quando o teste resulta em sucesso
Atividades
Codificar
Testar Unidades
Inspecionar Cdigo
Entradas e Sadas
Entrada
O processo de projeto por Feature ter sido concludo com
sucesso
Sadas
Classe(s) e/ou mtodo(s) que passaram na inspeo de cdigo
1%
40%
3%
45%
10%
1%
KEY:
Work In Progress
Attention
Completed
Not Started
CP-1
Exemplo:
Conjunto de Features: Fazendo avaliao de produtos Trabalho em progresso CP-1 o programador chefe inicial (14) esse conjunto de Features possui 14 features Conjunto de Features/ est 75% completado A concluso para dezembro de 2012
Porcentagem completa:
Barra de progresso
Status Completo:
Completo MY Ms de concluso
Dez 2012
Dec 2001
Dec 2001
Consideraes Finais
Por que usar?
Clientes tm resultados rpidos e relatrio do status numa
linguagem que eles entendem Gerentes de projeto tm uma viso completa e exata do status do projeto Desenvolvedores conseguem trabalhar em novas coisas em poucos dias e ficam mais envolvidos em anlise, projeto e codificao
Referncias
A Practical Guide to Feature-Driven Development Stephen R. Palmer, John M. Felsing http://www.featuredrivendevelopment.com/ http://www.nebulon.com/fdd/ http://www.fddmanager.com/ http://fddtools.sourceforge.net/