SlideShare a Scribd company logo
Enviar pesquisa
Carregar
Pragmatic Model Driven Development In Java Using Smart Use Cases
Denunciar
Compartilhar
Rody Middelkoop
Lecturer @HAN University em Hogeschool van Arnhem en Nijmegen
Seguir
•
5 gostaram
•
855 visualizações
1
de
52
Pragmatic Model Driven Development In Java Using Smart Use Cases
•
5 gostaram
•
855 visualizações
Denunciar
Compartilhar
Tecnologia
The talk that Sander Hoogendoorn and I did on the J-Spring 2009.
Leia mais
Rody Middelkoop
Lecturer @HAN University em Hogeschool van Arnhem en Nijmegen
Seguir
Recomendados
An introduction to smart use cases por
An introduction to smart use cases
Sander Hoogendoorn
7.8K visualizações
•
34 slides
Karate for Complex Web-Service API Testing by Peter Thomas por
Karate for Complex Web-Service API Testing by Peter Thomas
intuit_india
6.2K visualizações
•
18 slides
Modular Monoliths with Nx por
Modular Monoliths with Nx
stefanhaasprivat
292 visualizações
•
43 slides
Best Practices NgRx for Scaling Your Angular Application por
Best Practices NgRx for Scaling Your Angular Application
Vagner Oliveira
432 visualizações
•
19 slides
FridaによるAndroidアプリの動的解析とフッキングの基礎 por
FridaによるAndroidアプリの動的解析とフッキングの基礎
ken_kitahara
7K visualizações
•
35 slides
Entenda o ciclo de vida das entidades jpa por
Entenda o ciclo de vida das entidades jpa
MoisesInacio
1.1K visualizações
•
5 slides
Mais conteúdo relacionado
Mais procurados
cn-series-se-presentation.pptx por
cn-series-se-presentation.pptx
eli lama sabachtani sinaga
37 visualizações
•
26 slides
Accelerate Microservices Deployments with Automation por
Accelerate Microservices Deployments with Automation
NGINX, Inc.
75 visualizações
•
36 slides
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc por
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Yahoo!デベロッパーネットワーク
12.5K visualizações
•
85 slides
Karate - Web-Service API Testing Made Simple por
Karate - Web-Service API Testing Made Simple
VodqaBLR
3.2K visualizações
•
22 slides
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~ por
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~
Yuki Hirano
15K visualizações
•
16 slides
【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~C# JobSystem 編~ por
【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~C# JobSystem 編~
Unity Technologies Japan K.K.
25.2K visualizações
•
56 slides
Mais procurados
(15)
cn-series-se-presentation.pptx por eli lama sabachtani sinaga
cn-series-se-presentation.pptx
eli lama sabachtani sinaga
•
37 visualizações
Accelerate Microservices Deployments with Automation por NGINX, Inc.
Accelerate Microservices Deployments with Automation
NGINX, Inc.
•
75 visualizações
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc por Yahoo!デベロッパーネットワーク
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Yahoo!デベロッパーネットワーク
•
12.5K visualizações
Karate - Web-Service API Testing Made Simple por VodqaBLR
Karate - Web-Service API Testing Made Simple
VodqaBLR
•
3.2K visualizações
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~ por Yuki Hirano
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~
Yuki Hirano
•
15K visualizações
【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~C# JobSystem 編~ por Unity Technologies Japan K.K.
【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~C# JobSystem 編~
Unity Technologies Japan K.K.
•
25.2K visualizações
Building Cloud-Native Applications with Helidon por Dmitry Kornilov
Building Cloud-Native Applications with Helidon
Dmitry Kornilov
•
959 visualizações
JSX 速さの秘密 - 高速なJavaScriptを書く方法 por Kazuho Oku
JSX 速さの秘密 - 高速なJavaScriptを書く方法
Kazuho Oku
•
29.1K visualizações
Corso js and angular por Giuseppe Viggiano
Corso js and angular
Giuseppe Viggiano
•
77 visualizações
給初學者的Spark教學 por Chen-en Lu
給初學者的Spark教學
Chen-en Lu
•
18.2K visualizações
SOLID Principles por Surendra Shukla
SOLID Principles
Surendra Shukla
•
936 visualizações
ECS: Streaming and Serialization - Unite LA por Unity Technologies
ECS: Streaming and Serialization - Unite LA
Unity Technologies
•
3.1K visualizações
Java SE 8 best practices por Stephen Colebourne
Java SE 8 best practices
Stephen Colebourne
•
100.8K visualizações
Mob testing por Llewellyn Falco
Mob testing
Llewellyn Falco
•
5.4K visualizações
Github in Action por Morten Christensen
Github in Action
Morten Christensen
•
193 visualizações
Destaque
JavaScript on the server - Node.js por
JavaScript on the server - Node.js
Rody Middelkoop
4.6K visualizações
•
27 slides
Plataformasweb por
Plataformasweb
urbibhi
873 visualizações
•
11 slides
Ajax And JSON por
Ajax And JSON
Rody Middelkoop
1.1K visualizações
•
39 slides
Interneten Sartzeko Konexio Motak por
Interneten Sartzeko Konexio Motak
urbibhi
588 visualizações
•
16 slides
Ict Curriculum Ideas por
Ict Curriculum Ideas
helenhayward
244 visualizações
•
16 slides
Scrum in informaticaonderwijs por
Scrum in informaticaonderwijs
Rody Middelkoop
758 visualizações
•
32 slides
Destaque
(20)
JavaScript on the server - Node.js por Rody Middelkoop
JavaScript on the server - Node.js
Rody Middelkoop
•
4.6K visualizações
Plataformasweb por urbibhi
Plataformasweb
urbibhi
•
873 visualizações
Ajax And JSON por Rody Middelkoop
Ajax And JSON
Rody Middelkoop
•
1.1K visualizações
Interneten Sartzeko Konexio Motak por urbibhi
Interneten Sartzeko Konexio Motak
urbibhi
•
588 visualizações
Ict Curriculum Ideas por helenhayward
Ict Curriculum Ideas
helenhayward
•
244 visualizações
Scrum in informaticaonderwijs por Rody Middelkoop
Scrum in informaticaonderwijs
Rody Middelkoop
•
758 visualizações
2 N General Presentation por A. Richard Martinez
2 N General Presentation
A. Richard Martinez
•
345 visualizações
Softwarekwaliteit in een ontwikkelstraat por Rody Middelkoop
Softwarekwaliteit in een ontwikkelstraat
Rody Middelkoop
•
1.8K visualizações
Lydia por helenhayward
Lydia
helenhayward
•
235 visualizações
Saas: Software AND Service por Rody Middelkoop
Saas: Software AND Service
Rody Middelkoop
•
512 visualizações
Work1 por kornkawi Sunggakaroon
Work1
kornkawi Sunggakaroon
•
175 visualizações
Rusija por erikute858
Rusija
erikute858
•
772 visualizações
Folder_Yulius_Academie por Yulius Academie
Folder_Yulius_Academie
Yulius Academie
•
146 visualizações
Student social media tips por Jahnae Gumbs
Student social media tips
Jahnae Gumbs
•
163 visualizações
Resumen Augusto Marín por Augusto Marín Guzmán
Resumen Augusto Marín
Augusto Marín Guzmán
•
183 visualizações
Answering the Questions Nobody Asks (But Should): Using Social Listening to C... por Tara Hall
Answering the Questions Nobody Asks (But Should): Using Social Listening to C...
Tara Hall
•
101 visualizações
Scrum implemented in an educational context por Rody Middelkoop
Scrum implemented in an educational context
Rody Middelkoop
•
2.1K visualizações
JavaFX - Next Generation Java UI por Yoav Aharoni
JavaFX - Next Generation Java UI
Yoav Aharoni
•
854 visualizações
Service Analysis And Design por Rody Middelkoop
Service Analysis And Design
Rody Middelkoop
•
3.6K visualizações
DDOA = Software Craftmanship por Rody Middelkoop
DDOA = Software Craftmanship
Rody Middelkoop
•
748 visualizações
Similar a Pragmatic Model Driven Development In Java Using Smart Use Cases
20090410 J Spring Pragmatic Model Driven Development In Java Using Smart por
20090410 J Spring Pragmatic Model Driven Development In Java Using Smart
Sander Hoogendoorn
2.2K visualizações
•
50 slides
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact... por
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Prolifics
3K visualizações
•
32 slides
CV por
CV
kenntrix
808 visualizações
•
5 slides
Hi tech it services por
Hi tech it services
Naresh Dhingra
459 visualizações
•
19 slides
Evento SugarCRM 2008 - Corporate Overview por
Evento SugarCRM 2008 - Corporate Overview
DRI - Discovery/Reinvention/Integration/
341 visualizações
•
7 slides
Cast Iron Overview Webinar 6.13 por
Cast Iron Overview Webinar 6.13
gaborvodics
2.3K visualizações
•
25 slides
Similar a Pragmatic Model Driven Development In Java Using Smart Use Cases
(20)
20090410 J Spring Pragmatic Model Driven Development In Java Using Smart por Sander Hoogendoorn
20090410 J Spring Pragmatic Model Driven Development In Java Using Smart
Sander Hoogendoorn
•
2.2K visualizações
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact... por Prolifics
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Prolifics
•
3K visualizações
CV por kenntrix
CV
kenntrix
•
808 visualizações
Hi tech it services por Naresh Dhingra
Hi tech it services
Naresh Dhingra
•
459 visualizações
Evento SugarCRM 2008 - Corporate Overview por DRI - Discovery/Reinvention/Integration/
Evento SugarCRM 2008 - Corporate Overview
DRI - Discovery/Reinvention/Integration/
•
341 visualizações
Cast Iron Overview Webinar 6.13 por gaborvodics
Cast Iron Overview Webinar 6.13
gaborvodics
•
2.3K visualizações
Imaginea - Ideas to Life - About Us por Imaginea
Imaginea - Ideas to Life - About Us
Imaginea
•
481 visualizações
Model Driven Architecture (MDA): Motivations, Status & Future por elliando dias
Model Driven Architecture (MDA): Motivations, Status & Future
elliando dias
•
3K visualizações
Understanding Mda por Alberto Lagna
Understanding Mda
Alberto Lagna
•
562 visualizações
Cast Iron Overview Webinar 6.13.12 Final(Jb) por Carolyn Crowe
Cast Iron Overview Webinar 6.13.12 Final(Jb)
Carolyn Crowe
•
357 visualizações
Romulus Project start version en por Grupo Gesfor I+D+i
Romulus Project start version en
Grupo Gesfor I+D+i
•
308 visualizações
M3 Modernization Case Study por ADC Austin Tech
M3 Modernization Case Study
ADC Austin Tech
•
552 visualizações
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode... por XebiaLabs
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs
•
1.2K visualizações
42windmills: model driven cloud apps por 42windmills
42windmills: model driven cloud apps
42windmills
•
697 visualizações
Adopting Agile Tools & Methods In A Legacy Context por Xavier Warzee
Adopting Agile Tools & Methods In A Legacy Context
Xavier Warzee
•
1.9K visualizações
Visual Resume por Nader Yassa
Visual Resume
Nader Yassa
•
1.5K visualizações
Build, train and deploy ML models with SageMaker (October 2019) por Julien SIMON
Build, train and deploy ML models with SageMaker (October 2019)
Julien SIMON
•
690 visualizações
Aras ALM Workshop for PLM Configuration Management por Aras
Aras ALM Workshop for PLM Configuration Management
Aras
•
1.3K visualizações
Codecentric At Ajax World Conference San Jose por Fabian Lange
Codecentric At Ajax World Conference San Jose
Fabian Lange
•
740 visualizações
Portlet factory 101 por Phillip de Ridder
Portlet factory 101
Phillip de Ridder
•
674 visualizações
Mais de Rody Middelkoop
Integration and Unit Testing in Java using Test Doubles like mocks and stubs por
Integration and Unit Testing in Java using Test Doubles like mocks and stubs
Rody Middelkoop
591 visualizações
•
38 slides
An agile mindset in education por
An agile mindset in education
Rody Middelkoop
443 visualizações
•
36 slides
Themalunch scrum por
Themalunch scrum
Rody Middelkoop
238 visualizações
•
29 slides
Eduscrum presentatie Scrum event 2016: Scrum als onderwijsaanpak por
Eduscrum presentatie Scrum event 2016: Scrum als onderwijsaanpak
Rody Middelkoop
1.3K visualizações
•
40 slides
Pecha Kucha eduScrum Agile Education por
Pecha Kucha eduScrum Agile Education
Rody Middelkoop
1.6K visualizações
•
20 slides
Unit Testing Android Applications por
Unit Testing Android Applications
Rody Middelkoop
1.2K visualizações
•
24 slides
Mais de Rody Middelkoop
(11)
Integration and Unit Testing in Java using Test Doubles like mocks and stubs por Rody Middelkoop
Integration and Unit Testing in Java using Test Doubles like mocks and stubs
Rody Middelkoop
•
591 visualizações
An agile mindset in education por Rody Middelkoop
An agile mindset in education
Rody Middelkoop
•
443 visualizações
Themalunch scrum por Rody Middelkoop
Themalunch scrum
Rody Middelkoop
•
238 visualizações
Eduscrum presentatie Scrum event 2016: Scrum als onderwijsaanpak por Rody Middelkoop
Eduscrum presentatie Scrum event 2016: Scrum als onderwijsaanpak
Rody Middelkoop
•
1.3K visualizações
Pecha Kucha eduScrum Agile Education por Rody Middelkoop
Pecha Kucha eduScrum Agile Education
Rody Middelkoop
•
1.6K visualizações
Unit Testing Android Applications por Rody Middelkoop
Unit Testing Android Applications
Rody Middelkoop
•
1.2K visualizações
Software Process Models por Rody Middelkoop
Software Process Models
Rody Middelkoop
•
1.3K visualizações
Back to the Future: Onderwijs van 1991 tot 2031 por Rody Middelkoop
Back to the Future: Onderwijs van 1991 tot 2031
Rody Middelkoop
•
375 visualizações
OO JavaScript por Rody Middelkoop
OO JavaScript
Rody Middelkoop
•
951 visualizações
ORM JPA por Rody Middelkoop
ORM JPA
Rody Middelkoop
•
2.8K visualizações
Contract First Modeling Services Using Uml por Rody Middelkoop
Contract First Modeling Services Using Uml
Rody Middelkoop
•
1.2K visualizações
Último
Voice Logger - Telephony Integration Solution at Aegis por
Voice Logger - Telephony Integration Solution at Aegis
Nirmal Sharma
39 visualizações
•
1 slide
Piloting & Scaling Successfully With Microsoft Viva por
Piloting & Scaling Successfully With Microsoft Viva
Richard Harbridge
12 visualizações
•
160 slides
Future of AR - Facebook Presentation por
Future of AR - Facebook Presentation
ssuserb54b561
15 visualizações
•
27 slides
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive por
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Network Automation Forum
34 visualizações
•
35 slides
Zero to Automated in Under a Year por
Zero to Automated in Under a Year
Network Automation Forum
15 visualizações
•
23 slides
SUPPLIER SOURCING.pptx por
SUPPLIER SOURCING.pptx
angelicacueva6
16 visualizações
•
1 slide
Último
(20)
Voice Logger - Telephony Integration Solution at Aegis por Nirmal Sharma
Voice Logger - Telephony Integration Solution at Aegis
Nirmal Sharma
•
39 visualizações
Piloting & Scaling Successfully With Microsoft Viva por Richard Harbridge
Piloting & Scaling Successfully With Microsoft Viva
Richard Harbridge
•
12 visualizações
Future of AR - Facebook Presentation por ssuserb54b561
Future of AR - Facebook Presentation
ssuserb54b561
•
15 visualizações
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive por Network Automation Forum
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Network Automation Forum
•
34 visualizações
Zero to Automated in Under a Year por Network Automation Forum
Zero to Automated in Under a Year
Network Automation Forum
•
15 visualizações
SUPPLIER SOURCING.pptx por angelicacueva6
SUPPLIER SOURCING.pptx
angelicacueva6
•
16 visualizações
Special_edition_innovator_2023.pdf por WillDavies22
Special_edition_innovator_2023.pdf
WillDavies22
•
18 visualizações
20231123_Camunda Meetup Vienna.pdf por Phactum Softwareentwicklung GmbH
20231123_Camunda Meetup Vienna.pdf
Phactum Softwareentwicklung GmbH
•
41 visualizações
The Research Portal of Catalonia: Growing more (information) & more (services) por CSUC - Consorci de Serveis Universitaris de Catalunya
The Research Portal of Catalonia: Growing more (information) & more (services)
CSUC - Consorci de Serveis Universitaris de Catalunya
•
80 visualizações
Kyo - Functional Scala 2023.pdf por Flavio W. Brasil
Kyo - Functional Scala 2023.pdf
Flavio W. Brasil
•
400 visualizações
PRODUCT LISTING.pptx por angelicacueva6
PRODUCT LISTING.pptx
angelicacueva6
•
14 visualizações
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... por Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker
•
40 visualizações
Igniting Next Level Productivity with AI-Infused Data Integration Workflows por Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software
•
280 visualizações
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... por James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson
•
92 visualizações
Business Analyst Series 2023 - Week 3 Session 5 por DianaGray10
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10
•
300 visualizações
Case Study Copenhagen Energy and Business Central.pdf por Aitana
Case Study Copenhagen Energy and Business Central.pdf
Aitana
•
16 visualizações
HTTP headers that make your website go faster - devs.gent November 2023 por Thijs Feryn
HTTP headers that make your website go faster - devs.gent November 2023
Thijs Feryn
•
22 visualizações
Ransomware is Knocking your Door_Final.pdf por Security Bootcamp
Ransomware is Knocking your Door_Final.pdf
Security Bootcamp
•
59 visualizações
Unit 1_Lecture 2_Physical Design of IoT.pdf por StephenTec
Unit 1_Lecture 2_Physical Design of IoT.pdf
StephenTec
•
12 visualizações
Uni Systems for Power Platform.pptx por Uni Systems S.M.S.A.
Uni Systems for Power Platform.pptx
Uni Systems S.M.S.A.
•
56 visualizações
Pragmatic Model Driven Development In Java Using Smart Use Cases
1.
Pragmatic model driven
development in Java using smart use cases and domain driven development Sander Hoogendoorn, Capgemini Rody Middelkoop, Avisi TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 1 © Copyright Capgemini2008 All Rights Reserved
2.
Sander Hoogendoorn Capgemini
Principal technology officer Capgemini agile thought leader Certifiedglobal software engineer (SE4) Chief architect Accelerated Delivery Platform Other Author books (UML, agile) and articles Speaker at conferences Microsoft Partner Advisory Council .NET Columnist Software Release Magazine, SDN Magazine Editorial board Software Release Magazine Editorial board Tijdschrift IT Management Advisory board @Portunity Member expert panel Computable Web www.sanderhoogendoorn.com www.accelerateddeliveryplatform.com TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 2 © Copyright Capgemini2008 All Rights Reserved
3.
Rody Middelkoop Avisi
Technical consultant Hogeschool Arnhem Nijmegen (HAN) Lecturer Software Engineering Other Sun Certified Java Programmer / Developer Author of severalarticles ContributorLivre Speaker at conferences Web www.avisi.nl rodymiddelkoop.blogspot.com TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 3 © Copyright Capgemini2008 All Rights Reserved
4.
Agenda Introduction
Model driven development Pragmatic model driven development Ourapproach Benefite Smart use cases Modeling smart use cases Smart use cases in code Domain driven design Domain objects Smart references Value objects Generating code Text templating Using Tobago MDA Demo’s TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 4 © Copyright Capgemini2008 All Rights Reserved
5.
Model driven development
An introduction TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 5 © Copyright Capgemini2008 All Rights Reserved
6.
Model driven development
SH Why? Bridge gap between design and code Improvequality of delivered software Raiseproductivity Achieve platform and framework independency Increasetestability How? Proprietarytechniques DSL’s (textual and graphical) UML Database India What? Modeling tool code generation Development tool code generation Intermediate code generation TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 6 © Copyright Capgemini2008 All Rights Reserved
7.
A pragmaticapproach
To model driven development TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 7 © Copyright Capgemini2008 All Rights Reserved
8.
User interface
Software Architecture specification 1. Map your 5. Finalize your business processes application to smart use cases Existing Applications Smart use cases Forms Use cases 4. Generate code using a Tobago text template Frameworks MDA engine Specifications Domain Domain objects Model Data / Service Business classes models 2. Create the Test 3. Establish scenario’s domain model your software Databases architecture(s) TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 8 © Copyright Capgemini2008 All Rights Reserved
9.
Smart use cases What
makes a use cases smart? TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 9 © Copyright Capgemini2008 All Rights Reserved
10.
Different levels of
use cases Merge companies Cloud level High summary Merge mortgage systems Kite level Summary Place order Sea level User goal Fish level Sub-function Select product Clam level Too low Insert orderline TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 10 © Copyright Capgemini2008 All Rights Reserved
11.
Different levels of
use cases ‘Regular’ use cases Regular Smart Only user goal level use cases use case use case Use cases ‘as they are intended’ A single use case describes Format Textual Visual a single elementary business process Differ in granularity too much Very Granularity Unified different Law of Large Numbers does not apply Smart use cases Estimates Hard Easier User goal and sub function level use cases Good unit of work and estimation Unit of work Lousy Good A single elementary business process is modeled in a single use case diagram Re-use Incidental Normal A single user goal level use case + auxiliary use cases at sub-function level Very similar granularity Traceability Possible Likely in code TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 11 © Copyright Capgemini2008 All Rights Reserved
12.
Modeling smart use
cases TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 12 © Copyright Capgemini2008 All Rights Reserved
13.
Modeling smart use
cases Approach Create a use case diagram for each elementary business process Model a (user goal level) use case that maps to the elementary business process Name it after the elementary business process Identify the actors executing the use case Identify the sub-function level use cases Model include and extend relationships Identify supporting actors TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 13 © Copyright Capgemini2008 All Rights Reserved
14.
Identifying sub-function level
use cases Guidelines Identify re-use Model one form per use case Model one use case per functional web part Isolate unknown functionality Identify complex functionality Show extensive reporting Model complex calculations Isolate interaction with others Avoid low level (database) interaction TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 14 © Copyright Capgemini2008 All Rights Reserved
15.
Modeling smart use
cases TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 15 © Copyright Capgemini2008 All Rights Reserved
16.
Smart use case
stereotypes Decorating the model TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 16 © Copyright Capgemini2008 All Rights Reserved
17.
Smart use case
stereotypes RM What? Classify model elements Do notaddmeaning to model Definecustom stereotypes Why? Speed up analysis and design Map design to software architecture Generatelots of code! Standardizefunctional testing TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 17 © Copyright Capgemini2008 All Rights Reserved
18.
Adding stereotypes
SH TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 18 © Copyright Capgemini2008 All Rights Reserved
19.
Adding stereotypes
TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 19 © Copyright Capgemini2008 All Rights Reserved
20.
Smart use case
stereotypes TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 20 © Copyright Capgemini2008 All Rights Reserved
21.
Mapping to software
architecture Smart use cases and domain design TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 21 © Copyright Capgemini2008 All Rights Reserved
22.
Pages
UserControls Presentation Panels Use cases Process Workflow Domain objects / Entities Factories / Repositories Domain Enums / Value objects / Smart references [Mapping] Table Gateways Queries Data / Services [Mapping] Outside world Database TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 22 © Copyright Capgemini2008 All Rights Reserved
23.
Pages
UserControls Presentation Panels Use cases Process Workflow Domain objects / Entities Factories / Repositories Domain Enums / Value objects / Smart references [Mapping] Service gateways Service locators Data / Services [Mapping] Exact SAP BizTalk Java Outside world Services / ESB TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 23 © Copyright Capgemini2008 All Rights Reserved
24.
Service contracts Presentation
Operation contracts Data contracts Use cases Process Services Domain objects / Entities Factories / Repositories Domain Enums / Value objects / Smart references [Mapping] TableGateways / Service Gateways Data / Services Queries / Service Locators [Mapping] Exact SAP BizTalk Java Database Outside world Services / ESB TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 24 © Copyright Capgemini2008 All Rights Reserved
25.
Domain driven design
A brief introduction TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 25 © Copyright Capgemini2008 All Rights Reserved
26.
Domain driven design Definition
Base complex domain designs on the model Primary focus is on the domain and domain logic In practice Model the domain Apply the extended domain driven vocabulary Build the domain layer Hook in process layer Plug in data / services layer Useful when The domain of your application is core Two tier is not (never?) desirable Application needs to function independent of back office, data sources or services TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 26 © Copyright Capgemini2008 All Rights Reserved
27.
Domain driven design Vocabulary
Entity / Domain object Association Value object Aggregate Repository Factory Service Additional vocabulary Enumeration Smart reference TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 27 © Copyright Capgemini2008 All Rights Reserved
28.
Example – Class
diagram TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 28 © Copyright Capgemini2008 All Rights Reserved
29.
Defining classes Properties and
property types TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 29 © Copyright Capgemini2008 All Rights Reserved
30.
Properties and property
types RM Basic types string, integer, DateTime Include nullable wrapping Enumerations Set up at design time, unchangeable at run-time Genders, Categories Value objects No specific instances Isbn, Email, Url, Money Smart references Changeable at run-time, such as ContractType Associations Cached domain objects such as Country, Nationality First level citizens such as Customer, Product TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 30 © Copyright Capgemini2008 All Rights Reserved
31.
Value object
TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 31 © Copyright Capgemini2008 All Rights Reserved
32.
Value object -
Implementing TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 32 © Copyright Capgemini2008 All Rights Reserved
33.
Value object –
In use TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 33 © Copyright Capgemini2008 All Rights Reserved
34.
Smart reference
TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 34 © Copyright Capgemini2008 All Rights Reserved
35.
Smart reference -
Table TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 35 © Copyright Capgemini2008 All Rights Reserved
36.
Smart reference -
In entity TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 36 © Copyright Capgemini2008 All Rights Reserved
37.
Smart reference –
In use TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 37 © Copyright Capgemini2008 All Rights Reserved
38.
Text templating
TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 38 © Copyright Capgemini2008 All Rights Reserved
39.
Model driven development
– Template engines SH How? Define project Define patterns Import model Generate deliverable Finalize code Additional features Combine model elements Combine types of model elements Remember location Changing the model withourlosing code Partial classes Inherited classes Marking code TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 39 © Copyright Capgemini2008 All Rights Reserved
40.
Tobago MDA –
www.accelerateddeliveryplatform.com TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 40 © Copyright Capgemini2008 All Rights Reserved
41.
Tobago MDA
TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 41 © Copyright Capgemini2008 All Rights Reserved
42.
Tobago MDA
TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 42 © Copyright Capgemini2008 All Rights Reserved
43.
Model driven development
- Template engines RM Properties can be used in templates Template engine knows (part of) the UML meta model TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 43 © Copyright Capgemini2008 All Rights Reserved
44.
Freemarker
Sitemesh Presentation DisplayTag Struts2 Process XWorkActions Spring EJB3 Services EJB3 DataAccessObjects Data / Services Spring JPA Domain objects Enums Domain Value objects Smart references Outside world MySQL TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 44 © Copyright Capgemini2008 All Rights Reserved
45.
Model driven development
- Templates TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 45 © Copyright Capgemini2008 All Rights Reserved
46.
Generate many things
e.g. Table create scripts TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 46 © Copyright Capgemini2008 All Rights Reserved
47.
Generate many things
e.g. Table create scripts TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 47 © Copyright Capgemini2008 All Rights Reserved
48.
FAQ You
TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 48 © Copyright Capgemini2008 All Rights Reserved
49.
FAQ
SH Yes No I don’t know I am not allowed to go into details about this TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 49 © Copyright Capgemini2008 All Rights Reserved
50.
Generating code
Demo! TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 50 © Copyright Capgemini2008 All Rights Reserved
51.
www.accelerateddeliveryplatform.com
SH TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 51 © Copyright Capgemini2008 All Rights Reserved
52.
References and questions
www.accelerateddeliveryplatform.com sander.hoogendoorn@capgemini.com r.r.middelkoop@avisi.nl Twitter: aahoogendoorn LinkedIn: aahoogendoornrodym TWO GUYS TRYING TO TALK REALLY FAST AND BUILD AN APP IN 45 MINUTES 52 © Copyright Capgemini2008 All Rights Reserved