62
#dnad13 | @denisferrari | @heroisda Arquitetura evolutiva

Arquitetura evolutiva - DNAD 2013

Embed Size (px)

Citation preview

Page 1: Arquitetura evolutiva - DNAD 2013

#dnad13 | @denisferrari | @heroisdati

Arquitetura evolutiva

Page 3: Arquitetura evolutiva - DNAD 2013

#oportunidade | @denisferrari | @heroisdati

Page 4: Arquitetura evolutiva - DNAD 2013

Meta da apresentação

• Questionar em qual momento a arquitetura deve ser pensada e aplicada...

#dnad13 | @denisferrari | @heroisdati

Page 5: Arquitetura evolutiva - DNAD 2013

O que é programação?

Page 6: Arquitetura evolutiva - DNAD 2013

(Código é conhecimento registrado)

Page 7: Arquitetura evolutiva - DNAD 2013
Page 8: Arquitetura evolutiva - DNAD 2013
Page 9: Arquitetura evolutiva - DNAD 2013

A programação é como uma redação.

Page 10: Arquitetura evolutiva - DNAD 2013

A programação, assim como a redação...

• Pede por macro-decisões;• É definida nas micro-decisões;• Depende de valiação externa;• Novas implementações necessitam da

avaliação do todo;• É um processo criativo…

Page 11: Arquitetura evolutiva - DNAD 2013

(O TDD é fod* legal pois auxilia as micro-decisões)

Page 12: Arquitetura evolutiva - DNAD 2013

O que é arquitetura de software?

Page 13: Arquitetura evolutiva - DNAD 2013
Page 14: Arquitetura evolutiva - DNAD 2013

(A arquitetura é o universo. O design é a história)

Page 15: Arquitetura evolutiva - DNAD 2013

A arquitetura...

• Conjunto de macro-decisões;• Conjunto de convenções;• Códigos de base (requisitos não funcionais);• “Define” como as coisas devem ser feitas;• Pode facilitar ou atrapalhar novas

implementações;• É difícil de mudar;

Page 16: Arquitetura evolutiva - DNAD 2013
Page 17: Arquitetura evolutiva - DNAD 2013

Qual o tamanho ideal de um time de desenvolvimento?

Page 18: Arquitetura evolutiva - DNAD 2013

Dois programadores, um designer.

Page 19: Arquitetura evolutiva - DNAD 2013

(A qualidade dos integrantes de um time é mais importante do que a quantidade de pessoas)

Page 20: Arquitetura evolutiva - DNAD 2013

(Um projeto de software é como uma criança, seu comportamento final dependerá das

influências que ele recebeu dos adultos que estavam perto durante seu crescimento)

Page 21: Arquitetura evolutiva - DNAD 2013

CONCEPÇÃO DO PRODUTOPrimeira fase

Page 22: Arquitetura evolutiva - DNAD 2013

Funcionalidades

• Base de conhecimento;• Gerenciador de avisos;• Interface de auto-atendimento; • Busca com relevância*;

Page 23: Arquitetura evolutiva - DNAD 2013

Tecnologias

Page 24: Arquitetura evolutiva - DNAD 2013

Uma tecnologia deve estar alinhada com os conceitos do seu projeto e

não deve definir como você irá trabalhar.

Page 25: Arquitetura evolutiva - DNAD 2013
Page 26: Arquitetura evolutiva - DNAD 2013
Page 27: Arquitetura evolutiva - DNAD 2013

(Cuidado com a política nas decisões).

Page 28: Arquitetura evolutiva - DNAD 2013
Page 29: Arquitetura evolutiva - DNAD 2013
Page 30: Arquitetura evolutiva - DNAD 2013
Page 31: Arquitetura evolutiva - DNAD 2013

(A interface com o usuário antes da programação)

Page 32: Arquitetura evolutiva - DNAD 2013

(A utilização do código antes de sua construção)

Page 33: Arquitetura evolutiva - DNAD 2013

(Analisar o comportamento do usuário antes de construir o que você acha importante)

Page 34: Arquitetura evolutiva - DNAD 2013

PERSISTÊNCIA

DOMÍNIO

AUTO-ATENDIMENTO ADMINISTRAÇÃO

Page 35: Arquitetura evolutiva - DNAD 2013

Quando a arquitetura de um projeto deve ser definida?

Page 36: Arquitetura evolutiva - DNAD 2013
Page 37: Arquitetura evolutiva - DNAD 2013

(O livro de DDD não é a bíblia e saber arquitetura não faz de você um cara mais legal)

Page 38: Arquitetura evolutiva - DNAD 2013

A arquitetura deve atender ao momento do projeto e

possibilitar a sua evolução.

Page 39: Arquitetura evolutiva - DNAD 2013

ESTATÍSTICAS E IMPORTAÇÃOSegunda fase

Page 40: Arquitetura evolutiva - DNAD 2013

Funcionalidades

• Ferramenta de importação;• Informações estatísticas sobre a base de

conhecimento;• Interação do usuário com a base de

conhecimento;

Page 41: Arquitetura evolutiva - DNAD 2013

(Migração de dados é uma coisa chata)

Page 42: Arquitetura evolutiva - DNAD 2013
Page 43: Arquitetura evolutiva - DNAD 2013
Page 44: Arquitetura evolutiva - DNAD 2013

PERSISTÊNCIA

DOMÍNIO

AUTO-ATENDIMENTO ADMINISTRAÇÃO

APLICAÇÃO

INFR

AEST

RUTU

RA

Page 45: Arquitetura evolutiva - DNAD 2013

MULTICLIENTESTerceira fase

Page 46: Arquitetura evolutiva - DNAD 2013

Funcionalidades

• Multi-Tenant;• Separar necessidades de domínio das

necessidades de leitura;

Page 47: Arquitetura evolutiva - DNAD 2013
Page 48: Arquitetura evolutiva - DNAD 2013
Page 49: Arquitetura evolutiva - DNAD 2013

AUTO-ATENDIMENTO ADMINISTRAÇÃO

APLICAÇÃO

INFR

AEST

RUTU

RA

DOMÍNIO RELATÓRIOS

PROCESSOS LEITURATENNANTS

Page 50: Arquitetura evolutiva - DNAD 2013

INTEGRAÇÃO ENTRE SISTEMASQuarta fase

Page 51: Arquitetura evolutiva - DNAD 2013

Funcionalidades

• Providenciar uma interface de integração entre sistemas de Service Desk;

Page 52: Arquitetura evolutiva - DNAD 2013
Page 53: Arquitetura evolutiva - DNAD 2013
Page 54: Arquitetura evolutiva - DNAD 2013

AUTO-ATENDIMENTO ADMINISTRAÇÃO

APLICAÇÃO

INFR

AEST

RUTU

RA

PROCESSOS LEITURATENANTS

RELATÓRIOS INTEGRAÇÕESDOMÍNIO

Page 55: Arquitetura evolutiva - DNAD 2013

PERSISTÊNCIA

DOMÍNIO

AUTO-ATENDIMENTO ADMINISTRAÇÃO

AUTO-ATENDIMENTO ADMINISTRAÇÃO

APLICAÇÃO

INFR

AEST

RUTU

RAPROCESSOS LEITURATENANTS

RELATÓRIOS INTEGRAÇÕESDOMÍNIO

AUTO-ATENDIMENTO ADMINISTRAÇÃO

APLICAÇÃO

INFR

AEST

RUTU

RA

DOMÍNIO RELATÓRIOS

PROCESSOS LEITURATENNANTS

PERSISTÊNCIA

DOMÍNIO

AUTO-ATENDIMENTO ADMINISTRAÇÃO

APLICAÇÃO

INFR

AEST

RUTU

RA

Page 56: Arquitetura evolutiva - DNAD 2013

CONSIDERAÇÕES FINAISConclusão

Page 57: Arquitetura evolutiva - DNAD 2013
Page 59: Arquitetura evolutiva - DNAD 2013
Page 62: Arquitetura evolutiva - DNAD 2013

Obrigado!