ASAS 2014 - Sander Hoogendoorn
-
Upload
avisi-bv -
Category
Technology
-
view
303 -
download
1
description
Transcript of ASAS 2014 - Sander Hoogendoorn
![Page 1: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/1.jpg)
@aahoogendoorn
Sander HoogendoornPrincipal Technology Officer, Global Agile Thought Leader Capgemini
PRAGMATIC AGILE MODEL DRIVEN DEVELOPMENT USING SMART USE CASES
![Page 2: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/2.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
2Sander HoogendoornMe
Dad (3)
Programmer, trainer, coach, architect
Books (3)
Articles (+250)
International conferences (+100)
Capgemini
Principal technology officer
Global design authority agile
Web
www.sanderhoogendoorn.com
www.smartusecase.com
www.speedbird9.com
@aahoogendoorn
![Page 3: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/3.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
![Page 4: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/4.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
4On being a developer...
![Page 5: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/5.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
5Agenda Agile. How does it work?
Agile requirements and modeling?
The backlog. Where does it come from?
User stories. An agile requirements anti-pattern
Smart use cases
Different levels of use cases
Standardizing and stereotypes
Estimating smart use cases
The backlog revisited. Where does it come from?
Automating test design
Generating code from agile requirements
In retrospective
![Page 6: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/6.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
6Agenda. Demo’s Agile. How does it work?
Agile requirements and modeling?
The backlog. Where does it come from?
User stories. An agile requirements anti-pattern
Smart use cases
Different levels of use cases
Standardizing and stereotypes
Estimating smart use cases
The backlog revisited. Where does it come from?
Automating test design
Generating code from agile requirements
In retrospective
![Page 7: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/7.jpg)
@aahoogendoorn
AGILE. HOW DOES IT WORK?
![Page 8: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/8.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
8Agile. Backlog
![Page 9: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/9.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
9Agile. Iterations
![Page 10: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/10.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
10Agile. In iteration
![Page 11: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/11.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
11Agile. Iteration backlog
![Page 12: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/12.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
12Agile. Working in iterations
![Page 13: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/13.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
13Agile. New work items
![Page 14: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/14.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
14Agile. Remaining work items
![Page 15: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/15.jpg)
@aahoogendoorn
WHAT ABOUT AGILE REQUIREMENTS AND MODELING?
![Page 16: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/16.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
16Scrum
![Page 17: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/17.jpg)
@aahoogendoorn
THE BACKLOG.WHERE DOES IT COME FROM?
![Page 18: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/18.jpg)
@aahoogendoorn
AND ON THE SEVENTH DAY KEN CREATED THE BACKLOG
![Page 19: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/19.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
19The automagical backlog
![Page 20: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/20.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
20The automagical backlog
![Page 21: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/21.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
21Agile. Where does the backlog come from?
![Page 22: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/22.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
22Preliminary iterations
![Page 23: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/23.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
23Preliminary iterations
![Page 24: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/24.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
24Smart
Create
project
proposal
Write
project plan
Deliver
working
software
Stabilize
software
![Page 25: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/25.jpg)
@aahoogendoorn
An agile requirements anti-patternUSER STORIES
![Page 26: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/26.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
26User stories
![Page 27: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/27.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
27User stories. The approach
![Page 28: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/28.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
28User stories in complex system landscapes
Often too unstructured
Unsuitable in complex environments
![Page 29: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/29.jpg)
@aahoogendoorn
Part I. From scope to smart use casesSMART USE CASES
![Page 30: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/30.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
30Levels of requirements
![Page 31: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/31.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
31Agile requirements. Approach
D
E
F
SmartUse Cases
A
Project
Scope
D
Use Cases
A
B C
Hierarchical
Processes
B
D
D
Hierarchical
Processes
Chronological
Processes
Cloud Level Kite Level Sea Level Fish Level
C
![Page 32: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/32.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
32Identifying scope at cloud level
![Page 33: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/33.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
33Cloud level
![Page 34: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/34.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
34Kite level
![Page 35: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/35.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
35Modeling smart use cases. Sea and fish level
![Page 36: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/36.jpg)
@aahoogendoorn
Modeling at different levels of granularitySMART USE CASES
![Page 37: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/37.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
37Different levels of use cases
User goal
Sub function
![Page 38: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/38.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
38Different levels of use casesTraditional
use cases
Smart
use cases
Format Textual Visual
Granularity Different Unified
Estimate Hard Easy
Unit of work Lousy Good
Reuse Incidental Normal
Traceability Possible Normal
Testability Poor Good
![Page 39: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/39.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
39Identifying sub-function level use casesGuidelines for identifying sub-function level use cases
Identify re-use
Model one form per use case
Model one use case per functional web part
Isolate unknown functionality
Identify complex functionality
Show reporting
Model complex calculations
Isolate interaction with others
Avoid low level (database) interaction
![Page 40: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/40.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
41Smart use cases. Stereotyped
![Page 41: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/41.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
42Smart use cases. Service orientation
![Page 42: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/42.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
43Identifying reuse
![Page 43: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/43.jpg)
@aahoogendoorn
Thinking in stereotypesSMART USE CASES
![Page 44: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/44.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
45Smart use case stereotypes
![Page 45: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/45.jpg)
@aahoogendoorn
Using www.speedbird9.com
DEMO THE BACKLOG REVISITED.WHERE DOES IT COME FROM?
![Page 46: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/46.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
47Filling the backlog (www.speedbird9.com)
![Page 47: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/47.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
48www.speedbird9.com
![Page 48: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/48.jpg)
@aahoogendoorn
ESTIMATING SMART USE CASES
![Page 49: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/49.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
50Estimating smart use cases
![Page 50: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/50.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
51Estimating smart use cases
4
32
3
84
3
3
![Page 51: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/51.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
52Standardizing estimationEstimating smart use cases
while modeling
![Page 52: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/52.jpg)
@aahoogendoorn
Using Enterprise Architect, Tobago MDA
DEMO GENERATINGYOUR ESTIMATES
![Page 53: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/53.jpg)
@aahoogendoorn
Part II. Implementing smart use casesSMART USE CASES
![Page 54: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/54.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
55The smart use case life cycle
Define work
on use case
Write
test cases
Generate
and build
use case
Run
test cases
Adjust
use case
Describe
use case
Accept
use case
![Page 55: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/55.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
56Analysis & Design. Writing use cases
![Page 56: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/56.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
57Test Design. Test scenarios for smart use cases
![Page 57: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/57.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
58Test Design. Testing smart use cases
![Page 58: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/58.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
59Test Design. Test cases for smart use cases
![Page 59: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/59.jpg)
@aahoogendoorn
Using Sparx’ Enterprise Architect
DEMO AUTOMATING SMART USE CASE TEST DESIGN
![Page 60: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/60.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
62Writing smart use cases. Using Enterprise Architect
![Page 61: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/61.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
63Writing smart use cases. Using Enterprise Architect
Alternative flows
Exception flows
Basic flow
![Page 62: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/62.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
64Writing smart use cases. Using Enterprise Architect
Fields on form
with smart use cases
Smart use case
specific business rules
and validations
![Page 63: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/63.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
65Test scenarios for a smart use case
![Page 64: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/64.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
66Testing a smart use case. Using Enterprise Architect
![Page 65: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/65.jpg)
@aahoogendoorn
CAN WE GENERATE CODE FROM (AGILE) REQUIREMENTS?
![Page 66: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/66.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
68Can we generate code from (agile) requirements?Why generate code?
Higher productivity?
Higher quality?
Get rid of repetitive work?
Prototyping?
Prerequisites to generating code
Standardize, standardize, standardize
A decent and pragmatic model
A simple code generator
A straightforward templating language
Templates!
Clear and present software architecture
Frameworks to back up your software architecture
![Page 67: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/67.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
Presentation
Process
Domain
Data / Services
Outside world
Pages
UserControls
Panels
Use cases
Workflow
Domain objects / Entities
Factories / Repositories
Enums / Value objects / Smart references
Data / Service gateways
Service locators
[Mapping]
Databases
Services / ESB
Exact SAP BizTalk Java
![Page 68: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/68.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
70Using Tobago MDA
![Page 69: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/69.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
71Model driven development - Templates
![Page 70: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/70.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
Forms
Use cases
Domain
objects
Data / Serviceclasses
Databases
Software Architecture
TobagoMDA
Test
scenario’s
FrameworksSpecifications
Existing
Applications
Businessmodels
DomainModel
Smartuse cases
User interface
specification
1. Map
business processes
to smart use cases
2. Set up
domain model3. Refine
software
architecture(s)
4. Generate
code using
a text template engine
5. Finalize
application
![Page 71: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/71.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
73Generated code in ASP.NET
![Page 72: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/72.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
74Generated code Windows 8
![Page 73: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/73.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
75Generating code. Twitter Bootstrap & JSF
![Page 74: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/74.jpg)
@aahoogendoorn
Using Enterprise Architect, Tobago MDA, Visual Studio 2013
DEMO GENERATING CODE FROM SMART USE CASES
![Page 75: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/75.jpg)
@aahoogendoorn
IN RETROSPECTIVE?
![Page 76: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/76.jpg)
UML AND SMART USE CASES©2001 - 2014 Sander Hoogendoorn. All Rights Reserved@aahoogendoorn
![Page 77: ASAS 2014 - Sander Hoogendoorn](https://reader030.fdocuments.net/reader030/viewer/2022020218/557ae6aad8b42a63778b54e2/html5/thumbnails/77.jpg)
@aahoogendoorn
www.sanderhoogendoorn.comwww.smartusecase.comwww.speedbird9.com
@aahoogendoorn
REFERENCES AND QUESTIONS