O que é Domain Driven Design Especificação Design Refactor Testes Quanto tempo isso leva?

Slides:



Advertisements
Apresentações semelhantes
Análise e Projeto Orientado a Objetos
Advertisements

DOMAIN GAME. O QUE É? JOGO CRIADO COM BASE NO DOMAIN DRIVEN DEVELOPMENT.
Rational Unified Process
O SNGPC O Sistema Nacional de Gerenciamento de Produtos Controlados – SNGPC será um conjunto de instrumentos informatizados utilizado para realizar o monitoramento.
Seminário Federasul – SEBRAE de INOVAÇÃO
Débora da Silva Orientadora: Maria Inés Castiñeira
GUG Porto Alegre/Brasil Desenvolvimento em GeneXus, Métodos Ágeis e Scrum.
Rational Unified Process(RUP)
Uma Ferramenta Baseada em MDA para a Especialização de Mecanismos de Persistência Fabio Seixas Marques Seminário LES – 28 de outubro.
Projeto de Sistemas de Software
Adélia Barros Requisitos Adélia Barros
Análise Estruturada O mais amplamente usado dos métodos de modelagem de requisitos Modelos que retratam fluxo e o conteúdo da informação (dados e controle)
Central de Serviços de TI
Introdução à avaliação
OpenOffice = ferramentas de produtividade essenciais no dia-a-dia.
Trabalho de Conclusão de Curso Moisés Alves Carneiro Filho
Introdução Visão Geral do Método.
Principios e Conceitos de Projeto
O Portal do Estudante de Computação
PLANEJAMENTO ESCOLAR Qual o papel da reflexividade no ofício do professor? Reflexividade é uma qualidade inerente ao ser humano. Em outras palavras, somos.
LIGAR O SOM E DEIXAR CAMINHAR SOZINHO...
Portfólio de matemática
Chapter 1 Agile in a Nutshell (Ágil em uma casca de noz)
S ISTEMATIZAÇÃO DO C HAT COM O P ROF M INUTTI A Visão de um Aluno João Filho.
Como elaborar atividade de Múltipla Escolha
Desafios do desenvolvimento de software
Gerenciamento de Configuração
JUSTIN BANBER - Fila de autógrafos - JUSTIN BANBER
Selenium Componentes: Fábio Gomes Claver Pari Eni Conde
Projeto de Sistemas de Software
Treinamento do Microsoft® Access® 2010
Análise e Projeto de Sistemas
Passo a passo 1 de 3.
1ª Aula de Html Íria Albuquerque.
Abertura.
Test Driven Development por Johann Gomes e Thaís Moura.
Vânia Maria P. Vidal, José Maria Monteiro, Luís Eufrasio T. Neto
Comportamento dos alunos do 8ª ano do ensino fundamental da E. E
INFORMÁTICA.
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa Como criar uma Classe e.
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa Classes e Objetos em Java.
Projeto Voltado para o Usuário Lição 4. Revise os Cálculos sobre o Tamanho do Mercado Revise os cálculos sobre o tamanho do seu mercado com base no feedback.
O Processo Unificado (UP)
Metodologia Incremental Luis Miyashita
Engenharia de Software
Aula Prática 4 Monitoria IP/CC (~if669).
Processo de Desenvolvimento de Software – PDS C Construção - PAS
Trabalho de Engenharia de Software II
Back-End Compilação aula-11-back-end.pdf.
Técnicas de avaliação de Interfaces Alunos: Joel Levandowski Ranieri R. Tremea Prof ª.:Cristina P. dos Santos URI - Universidade Regional Integrada do.
Técnicas e Projeto de Sistemas
Modelando Sistemas em UML
Teorias e Práticas Psicoterápicas Frederico M R Pinheiro
Novidades... Quartetos; – Equilibrar Conhecimento; – Aprender a Ensinar; – Trabalho em Equipe; – Facilitar a Vida do Professor. – Então, definam seus grupos.
Introdução à modelagem orientada a objetos
Backlog Lílian.
Questões sobre quatro quadrados
Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve.
Programas Essenciais ARQUITETURA
Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 2 Professor: Italo Rodrigues Castro.
Tela de pesquisa de candidatos por vaga(WEB). Acesso através de usuário e senha utilizado já no controle de funcionários.
Oportunidades e Ideias
TÉCNICAS DE ESTIMATIVAS
Programação para Web I AULA 2 BANCO DE DADOS.
Programação para Web I Aula 10 Estudo de Caso I
Padrões de Projeto Aula 9 – Padrão Adapter.
Estimativa, Teste e Inspeção de Software
Educação Financeira para crianças e Jovens
Com isto a variável (que geralmente é o X) terá um único valor!
Tutorial Webnode Criando site 1. Registrando Acesse o endereço: e preencha os dados solicitados e clique em Registre-se e crie.
Transcrição da apresentação:

O que é Domain Driven Design Especificação Design Refactor Testes Quanto tempo isso leva?

O que é Domain Driven Design Não podemos sentar e sair digitando código. Devemos conhecer o objetivo do software. Devemos conhecer o domínio de negócio (Domain) Quem conhece o domínio? Sempre devemos começar o desenvolvimento aprendendo sobre o domínio. O software é criado para atender o domínio.

Começamos com o domínio, e depois? Domínio é algo do mundo real. Não pode ser diretamente transformado em código. Não é um simples diagrama. Nem todo o domínio deve ser modelado. Deve ser dividido em pequenas partes. Lembrem-se, nós não estamos sozinhos...precisamos compartilhar esse conhecimento.

Code desigin. Code design é diferente de software design. Metodos de desenvolvimento de software. Waterfall Metodologias ágeis. Vantagens do DDD. Aumentar a habilidade do processo de desenvolvimento. Implementar problemas complexos de uma forma que seja possível dar manutenção. DDD combina o design com o desenvolvimento. Um bom design acelera o desenvolvimento. O feedback do desenvolvimento vai melhorar o design.

Exemplo pratico. Projeto Siscoserv. Necessidade do usuário. Gerar um arquivo com as aquisições de serviços internacionais. Para isso preciso vincular um serviço ( NBS ) com minha aplicação e referência. Visão do Analista de negócio. Criar uma parametrização de NBS na tela de referência das aplicações. Visão do desenvolvedor. Colocar uma combo de NBS na tela 0306.

Exemplo pratico. Projeto Siscoserv. Vimos que o produto final partia de uma parametrização na tela A primeira alteração foi feita na tela. Posteriormente foi feito todo o desenvolvimento de geração de arquivos XML referente ao dados que foram parametrizados na primeira tela. Isso envolveu criação de novas tabelas, desenvolvimento de algumas telas para geração dos registros e arquivos XML. Mas o que o usuário precisava...

Exemplo pratico. Projeto Siscoserv. Necessidade real do usuário na homologação do projeto. A mesma aplicação pode ter mais de um NBS. Na verdade eu preciso além da aplicação e referência o segmento também tem que ser levado em conta. Desenvolvedor (Eu). Agora ferrou, vou ter que refazer a primeira tela e ajustar tudo que eu fiz porque houve um erro de design de software na primeira tela que foi alterada....Se tivessem homologado a primeira tela logo quando ela estava pronta o usuário já teria percebido isso antes de eu concluir todas telas do projeto (feedback rápido).

Construindo o conhecimento do domínio. Fazendo as perguntas corretas e processando as respostas corretamente você começará a formar o esqueleto do modelo de domínio. Esse esqueleto pode não ser completo e nem correto mas precisa começar de algum lugar. O usuário conhece a sua área e organiza esse conhecimento de um modo específico, nem sempre é a melhor forma para ser implementada no software. A analise dos desenvolvedores deve ser capaz de colocar essas ideias de forma organizada para que o software seja desenvolvido de forma simples e de fácil manutenção.

Próxima apresentação... A necessidade de uma linguagem comum. Ubiquitous language. ncsolucoes.wordpress.com