38
DOMAIN-DRIVEN DESIGN ATACANDO AS COMPLEXIDADES NO CORAÇÃO DO SOFTWARE

Atacando as complexidades no coração do software

Embed Size (px)

Citation preview

Page 1: Atacando as complexidades no coração do software

DOMAIN-DRIVENDESIGN

ATACANDO AS COMPLEXIDADES NO CORAÇÃO DO SOFTWARE

Page 2: Atacando as complexidades no coração do software

ARQUITETO DE SOFTWAREBACHAREL EM ANÁLISE DE SISTEMAS

MESTRANDO NO CURSO DE ENG. DE SOFTWARE PELA UFRN

Há 15 anos se dedicando a construção de sistemas corporativos.

@yanjustinofacebook/yanjustino

youtube/academia .net para zumbisyoutube/aspnet cast

Page 3: Atacando as complexidades no coração do software

2 0 A n o s d e A T I V I D A D Ee m p r e s a d e t e c n o l o g i af o c a d a e m p e s s o a sd i v e r s o s s e r v i ç o s r e a l i z a d o s4 2 0 i v i a n o s e m a ç ã o !

Page 4: Atacando as complexidades no coração do software
Page 5: Atacando as complexidades no coração do software

Secretaria de estado da tributação do RN

SET

Cidadão

Auditores

Gestão

Contribuinte

A Secretaria de Estado da Tributação do Rio Grande do Norte - SET/RN - é uma administração tributária cuja finalidade é a arrecadação de tributos estaduais e a fiscalização das operações que os geram.

Para que a SET/RN possa atender as necessidades relacionadas às atividades fins, em cumprimento as suas obrigações, se faz necessário manter funcionando cerca de 70 (setenta) sistemas e subsistemas que abrangem a área tributária envolvendo os impostos de sua competência, assim como as ofertas de serviços aos contribuintes e cidadãos através da internet.

Page 6: Atacando as complexidades no coração do software

Design de Software é a parte da engenharia desoftware que se encarrega de transformar osresultados da Análise de Requisitos em umdocumento ou conjunto de documentoscapazes de serem interpretados diretamente peloprogramador.

design?

Page 7: Atacando as complexidades no coração do software

processo iterativo de análise das necessidades deinteração e processamento de informações das pessoas,proposta de um sistema computacional queatenda tais necessidades e avaliação dos efeitosdo uso do sistema na vida das pessoas

design?

Page 8: Atacando as complexidades no coração do software

design?

Page 9: Atacando as complexidades no coração do software

COMPLEXIDADE?

Page 10: Atacando as complexidades no coração do software
Page 11: Atacando as complexidades no coração do software
Page 12: Atacando as complexidades no coração do software

DOMAIN-DRIVEN DESIGNO VALOR AGREGADO PELO DDD

Domain-Driven Design é uma abordagemparticular sobre designe desenvolvimento de software!

DDD é sobre “mastigar” conhecimento de um dado domínio de negócio e produção de um

modelo de software que o espelhe.

Page 13: Atacando as complexidades no coração do software

DOMAIN-DRIVEN DESIGNOs dois grandes erros

Adotar Domain-Driven Design sóporque isso lhe

soa legal

Ou simplesmente ignorá-lo por acreditar que seusistema é um pouco mais complexo que

um simples CRUD

Page 14: Atacando as complexidades no coração do software

DOMAIN-DRIVEN DESIGNem duas partes distintas

Domain-Driven Design

Visão analíticaESPAÇO DE PROBLEMA

Domain-Driven Design

Visão estratégicaESPAÇO DE SOLUÇÃO

Page 15: Atacando as complexidades no coração do software

DOMAIN-DRIVEN DESIGNvisão analítica

Page 16: Atacando as complexidades no coração do software

DOMAIN-DRIVEN DESIGNvisão analítica

Page 17: Atacando as complexidades no coração do software

DOMAIN-DRIVEN DESIGNubiquitous language

Page 18: Atacando as complexidades no coração do software

ATACANDO A COMPLEXIDADE?

Page 19: Atacando as complexidades no coração do software
Page 20: Atacando as complexidades no coração do software

DDD é sobre a Redução de complexidadeNo softwareEric Evans

Arquitetura é sobreintençãoRobert C. Martin

Page 21: Atacando as complexidades no coração do software

DOMAIN-DRIVEN DESIGNvisão estratégica

Page 22: Atacando as complexidades no coração do software

DOMAIN-DRIVEN DESIGNvisão estratégica

Page 23: Atacando as complexidades no coração do software

ATACANDO A COMPLEXIDADE?

Page 24: Atacando as complexidades no coração do software

ATACANDO A COMPLEXIDADE?

Page 25: Atacando as complexidades no coração do software

DOMAIN-DRIVEN DESIGNbounded context

Page 26: Atacando as complexidades no coração do software

DOMAIN-DRIVEN DESIGNbounded context: UMA VISÃO CLÁSSICA

Page 27: Atacando as complexidades no coração do software
Page 28: Atacando as complexidades no coração do software
Page 29: Atacando as complexidades no coração do software

DOMAIN-DRIVEN DESIGNbounded context: UMA VISÃO MODERNA

Page 30: Atacando as complexidades no coração do software

DOMAIN-DRIVEN DESIGNbounded context: UMA VISÃO MODERNA

Page 31: Atacando as complexidades no coração do software

DOMAIN-DRIVEN DESIGNdividindo bounded context

Page 32: Atacando as complexidades no coração do software

DOMAIN-DRIVEN DESIGNbounded context: EXPLORANDO ARQUITETURAS

Page 33: Atacando as complexidades no coração do software

DOMAIN-DRIVEN DESIGNbounded context : extrAINdo api

Page 34: Atacando as complexidades no coração do software

DOMAIN-DRIVEN DESIGNbounded context: EVOLUINDO LEGADO

Page 35: Atacando as complexidades no coração do software

DOMAIN-DRIVEN DESIGNbounded context: COMUNICAÇÃO

Page 36: Atacando as complexidades no coração do software

DOMAIN-DRIVEN DESIGNbounded context: COMUNICAÇÃO

Page 37: Atacando as complexidades no coração do software

REFERÊNCIAS : livros

Implementing Domain-Driven DesignVaughnVernonISBN-13: 860-1404568893ISBN-10: 0321834577

Domain-Driven Design: Tackling Complexity in the Heart of SoftwareEricEvansISBN-13: 978-0321125217ISBN-10: 0321125215

Patterns, Principles, and Practices of Domain-Driven DesignScottMillettISBN-13: 978-1118714706ISBN-10: 1118714709

Microsoft .NET - Architecting Applications for the EnterpriseDinoEspositoISBN-13: 978-0735685352ISBN-10: 0735685355

Page 38: Atacando as complexidades no coração do software

https://goo.gl/N16BhM