FDD
Feature Driven Development
Angelo Bigotto Godarelli
Camila Garcia
Jales
2016
Trabalho apresentado a disciplina de Engenharia de Software para Web
da Faculdade de Tecnologia de Jales
Orientador: Prof. Fabiana P. Masson Caravieri
Apresentação
1. INTRODUÇÃO
2. CARACTERÍSTICAS
3. EXEMPLOS PRÁTICOS
4. EMPRESAS QUE UTILIZAM
5. CONCLUSÃO
6. BIBLIOGRAFIA
2
INTRODUÇÃO
3
O FDD nasceu no ano de 1997, em um grande projeto utilizando a
linguagem Java para o United Overseas Bank, em pequeno país do sudeste
asiático, chamado Singapura.
É uma metodologia ágil na engenharia de software, elaborado com o
intuito de entrega frequente de software-funcionando.
Busca o desenvolvimento por funcionalidade, ou seja, por um requisito
funcional do sistema.
CARACTERÍSTICAS
- Proporciona a todos os envolvidos interação.
- Possui um controle fácil e inteligente;
- É desenvolvida através de uma Funcionalidade, trazendo
<ação> <resultado> <objeto> ;
- Fornece dentro dos primeiros 10% de um projeto, uma base
se o plano e a estimativa são sólidos;
- Rastreabilidade e relatórios com incrível precisão;
- -É uma metodologia bastante objetiva, possuindo apenas: 2
Fases e 5 Processos;
4
FEATURES
• Features são características ou Funcionalidades que representam algum valor para o cliente
e devem ser expressas da seguinte forma:
<action><result><object>
• Exemplo:
Ação Resultado Objeto
• Calcular o total de uma venda.
5
PAPÉIS
• Gerente de Projetos
• Arquiteto Chefe
• Gerente de Desenvolvimento
• Programadores Chefes
• Donos de Classes
• Gerente de Versão
• “Guru” da Linguagem
• Engenheiro Construtor
• Criador de Ferramentas
• Implantador
• Escritor Chefe
6
PRINCIPAIS PAPÉIS
7
Gerente de
Desenvolvimento
GERENTE
DE
PROJETOS
Especialista
Domínio do
Negócio
Arquiteto
Líder
Proprietário
De
Classes
Programador
Líder
PRÁTICAS
• Modelagem do objeto do domínio;
• Desenvolver por características;
• Propriedade individual de classes;
• Equipes de características;
• Inspeções;
• Construção de builds regulares;
• Gerência de configuração;
• Comunicação dos resultados;
8
OS CINCO PROCESSOS
9
Modelo de Objeto
(mais formas do que
conteúdo)
Uma lista de
características
categorizada
Um plano de
desenvolvimento
Um pacote de
projeto (seqüências)
Uma função do
cliente completada
(mais conteúdo do que forma)
1.Desenvolver
um Modelo
geral
2. Construir
uma lista de
características
3. Planejar
através de
característica
4. Projetar
através de
característica
5. Construir
através de
característica
• Processo 1
• DMA- Desenvolver um Modelo Abrangente
 Adquirir conhecimento do domínio e desenvolver um modelo
geral
 Estabelecer o “propósito do negócio” do novo sistema.
 Construção de um “modelo conceitual” do sistema.
10
• Entradas
Especialistas no domínio, programadores e arquitetos chefes são
selecionados.
• Atividades
11
Saídas
 Modelo Geral do Domínio;
 Diagrama das Classes principais com alguns métodos e
atributos identificados;
 Diagramas de Sequência de algumas funcionalidades mais
complexas (se houver);
 Comentário sobre o modelo;
12
PROCESSO 2
CLF- Construir uma Lista de Funcionalidades
O domínio é decomposto até chegar nas funcionalidades;
As funcionalidades são agrupadas e categorizadas;
As funcionalidades são granuladas até ser necessário menos de 2 semanas para seu
desenvolvimento;
13
• Entradas
• O Processo 1 ter sido concluído com sucesso.
• Atividades :
14
SAÍDAS
 Uma lista de áreas do domínio identificadas;
 Para cada área, uma lista de atividades de negócio (conjunto
de funcionalidades);
 Para cada atividade são definidos os passos a serem
realizados(Funcionalidades);
15
PROCESSO 3
•PPF- Planejar Por Funcionalidade
Uma data de lançamento é estabelecida para o release inicial;
A lista de funcionalidades priorizadas é refinada;
O Trabalho técnico é planejado e atribuído;
16
• Entradas
• O Processo 2 ter sido concluído com sucesso.
• Atividades
•
17
SAÍDAS
Atividades de negócio com data de término;
Programadores chefes atribuídos a atividades de
negócio;
A lista de classes e seus donos (desenvolvedores);
18
PROCESSO 4
•DPF- Detalhar por Funcionalidade
Regras e transações são identificadas;
O modelo da interface do usuário é esboçado;
Diagramas de sequência mais detalhados são produzidos;
Especialistas são consultados para descobrir qualquer necessidade
específica adicional;
19
• Entradas
• O Processo 3 ter sido concluído com sucesso.
• Atividades
20
SAÍDAS
 Diagramas de sequência;
 Projetos alternativos (caso exista);
 O modelo de objeto com classes, métodos e atributos novos
ou atualizados ;
 Lista de tarefas(calendário/o que fazer)
21
PROCESSO 5
• CPF- Construir por Funcionalidade
 As funcionalidades são construídas implementando todas as
classes e métodos necessários;
 Testes de unidades;
 As funcionalidades são inseridas no build quando o teste
resulta em sucesso;
22
• Entradas
• O processo anterior (Processo 4) ter sido concluído com sucesso.
• Atividades
23
FUNCIONAMENTO
24
RESULTADOS
• Cada característica é uma unidade planejada
de trabalho que pode ser devolvida
• A soma de características entregues é igual ao
status do projeto
25
EMPRESAS QUE UTILIZAM
26
CONCLUSÃO
27
Referências
SBROCO. J.H., MACEDO P.C., Metodologias Ágeis Sob medida, pág 99,100,101.
FIGUEIREDO, A.M. FDD em uma casca de banana. 2007. Disponível em:
<http://homes.dcc.ufba.br/~mauricio052/Engenharia%20de%20Software%20I/FDD/FDD%20Em
%20Uma%20Casca%20De%20Banana.pdf >. Acesso em: 26 Ago. 2016.
SIQUEIRA,F.L. Métodos Ágeis. Disponível em:
<http://www.levysiqueira.com.br/artigos/metodos_ageis.pdf> Acesso em 04 Set. 2016.
MARQUES A. N. Responsabilidade empresarial: Metodologias ágeis de desenvolvimento:
Processos e Comparações FACULDADE DE TECNOLOGIA DE SÃO PAULO –SÃO PAULO 2012,
Monografia submetida como exigência parcial para a obtenção do Grau de Tecnólogo em
Processamento de Dados.
Retamal A.M. Feature-Driven Development – Maio/2008. Disponível em :
<http://heptagon.com.br/files/FDD-Processos.pdf> Acessado 7 Set 2016.
Magno A. Apresentando...FDD! 29 Set 2006. Disponível em:
<http://amagno.blogspot.com.br/2006/09/apresentandofdd.html> Acessado 7 Set 2016
28

Fdd

  • 1.
    FDD Feature Driven Development AngeloBigotto Godarelli Camila Garcia Jales 2016 Trabalho apresentado a disciplina de Engenharia de Software para Web da Faculdade de Tecnologia de Jales Orientador: Prof. Fabiana P. Masson Caravieri
  • 2.
    Apresentação 1. INTRODUÇÃO 2. CARACTERÍSTICAS 3.EXEMPLOS PRÁTICOS 4. EMPRESAS QUE UTILIZAM 5. CONCLUSÃO 6. BIBLIOGRAFIA 2
  • 3.
    INTRODUÇÃO 3 O FDD nasceuno ano de 1997, em um grande projeto utilizando a linguagem Java para o United Overseas Bank, em pequeno país do sudeste asiático, chamado Singapura. É uma metodologia ágil na engenharia de software, elaborado com o intuito de entrega frequente de software-funcionando. Busca o desenvolvimento por funcionalidade, ou seja, por um requisito funcional do sistema.
  • 4.
    CARACTERÍSTICAS - Proporciona atodos os envolvidos interação. - Possui um controle fácil e inteligente; - É desenvolvida através de uma Funcionalidade, trazendo <ação> <resultado> <objeto> ; - Fornece dentro dos primeiros 10% de um projeto, uma base se o plano e a estimativa são sólidos; - Rastreabilidade e relatórios com incrível precisão; - -É uma metodologia bastante objetiva, possuindo apenas: 2 Fases e 5 Processos; 4
  • 5.
    FEATURES • Features sãocaracterísticas ou Funcionalidades que representam algum valor para o cliente e devem ser expressas da seguinte forma: <action><result><object> • Exemplo: Ação Resultado Objeto • Calcular o total de uma venda. 5
  • 6.
    PAPÉIS • Gerente deProjetos • Arquiteto Chefe • Gerente de Desenvolvimento • Programadores Chefes • Donos de Classes • Gerente de Versão • “Guru” da Linguagem • Engenheiro Construtor • Criador de Ferramentas • Implantador • Escritor Chefe 6
  • 7.
    PRINCIPAIS PAPÉIS 7 Gerente de Desenvolvimento GERENTE DE PROJETOS Especialista Domíniodo Negócio Arquiteto Líder Proprietário De Classes Programador Líder
  • 8.
    PRÁTICAS • Modelagem doobjeto do domínio; • Desenvolver por características; • Propriedade individual de classes; • Equipes de características; • Inspeções; • Construção de builds regulares; • Gerência de configuração; • Comunicação dos resultados; 8
  • 9.
    OS CINCO PROCESSOS 9 Modelode Objeto (mais formas do que conteúdo) Uma lista de características categorizada Um plano de desenvolvimento Um pacote de projeto (seqüências) Uma função do cliente completada (mais conteúdo do que forma) 1.Desenvolver um Modelo geral 2. Construir uma lista de características 3. Planejar através de característica 4. Projetar através de característica 5. Construir através de característica
  • 10.
    • Processo 1 •DMA- Desenvolver um Modelo Abrangente  Adquirir conhecimento do domínio e desenvolver um modelo geral  Estabelecer o “propósito do negócio” do novo sistema.  Construção de um “modelo conceitual” do sistema. 10
  • 11.
    • Entradas Especialistas nodomínio, programadores e arquitetos chefes são selecionados. • Atividades 11
  • 12.
    Saídas  Modelo Geraldo Domínio;  Diagrama das Classes principais com alguns métodos e atributos identificados;  Diagramas de Sequência de algumas funcionalidades mais complexas (se houver);  Comentário sobre o modelo; 12
  • 13.
    PROCESSO 2 CLF- Construiruma Lista de Funcionalidades O domínio é decomposto até chegar nas funcionalidades; As funcionalidades são agrupadas e categorizadas; As funcionalidades são granuladas até ser necessário menos de 2 semanas para seu desenvolvimento; 13
  • 14.
    • Entradas • OProcesso 1 ter sido concluído com sucesso. • Atividades : 14
  • 15.
    SAÍDAS  Uma listade áreas do domínio identificadas;  Para cada área, uma lista de atividades de negócio (conjunto de funcionalidades);  Para cada atividade são definidos os passos a serem realizados(Funcionalidades); 15
  • 16.
    PROCESSO 3 •PPF- PlanejarPor Funcionalidade Uma data de lançamento é estabelecida para o release inicial; A lista de funcionalidades priorizadas é refinada; O Trabalho técnico é planejado e atribuído; 16
  • 17.
    • Entradas • OProcesso 2 ter sido concluído com sucesso. • Atividades • 17
  • 18.
    SAÍDAS Atividades de negóciocom data de término; Programadores chefes atribuídos a atividades de negócio; A lista de classes e seus donos (desenvolvedores); 18
  • 19.
    PROCESSO 4 •DPF- Detalharpor Funcionalidade Regras e transações são identificadas; O modelo da interface do usuário é esboçado; Diagramas de sequência mais detalhados são produzidos; Especialistas são consultados para descobrir qualquer necessidade específica adicional; 19
  • 20.
    • Entradas • OProcesso 3 ter sido concluído com sucesso. • Atividades 20
  • 21.
    SAÍDAS  Diagramas desequência;  Projetos alternativos (caso exista);  O modelo de objeto com classes, métodos e atributos novos ou atualizados ;  Lista de tarefas(calendário/o que fazer) 21
  • 22.
    PROCESSO 5 • CPF-Construir por Funcionalidade  As funcionalidades são construídas implementando todas as classes e métodos necessários;  Testes de unidades;  As funcionalidades são inseridas no build quando o teste resulta em sucesso; 22
  • 23.
    • Entradas • Oprocesso anterior (Processo 4) ter sido concluído com sucesso. • Atividades 23
  • 24.
  • 25.
    RESULTADOS • Cada característicaé uma unidade planejada de trabalho que pode ser devolvida • A soma de características entregues é igual ao status do projeto 25
  • 26.
  • 27.
  • 28.
    Referências SBROCO. J.H., MACEDOP.C., Metodologias Ágeis Sob medida, pág 99,100,101. FIGUEIREDO, A.M. FDD em uma casca de banana. 2007. Disponível em: <http://homes.dcc.ufba.br/~mauricio052/Engenharia%20de%20Software%20I/FDD/FDD%20Em %20Uma%20Casca%20De%20Banana.pdf >. Acesso em: 26 Ago. 2016. SIQUEIRA,F.L. Métodos Ágeis. Disponível em: <http://www.levysiqueira.com.br/artigos/metodos_ageis.pdf> Acesso em 04 Set. 2016. MARQUES A. N. Responsabilidade empresarial: Metodologias ágeis de desenvolvimento: Processos e Comparações FACULDADE DE TECNOLOGIA DE SÃO PAULO –SÃO PAULO 2012, Monografia submetida como exigência parcial para a obtenção do Grau de Tecnólogo em Processamento de Dados. Retamal A.M. Feature-Driven Development – Maio/2008. Disponível em : <http://heptagon.com.br/files/FDD-Processos.pdf> Acessado 7 Set 2016. Magno A. Apresentando...FDD! 29 Set 2006. Disponível em: <http://amagno.blogspot.com.br/2006/09/apresentandofdd.html> Acessado 7 Set 2016 28