SOFTWARE ENGINEERING AND
SOFTWARE ARCHITECTURE
INHOUD
1. Introduction: software engineering and architecture .................................................................................... 6
1.1. architecture and design science; on the essence of software architecture and the relationship with
traceability and evolvability ................................................................................................................................ 6
engineering ..................................................................................................................................................... 6
On science and engineering ............................................................................................................................ 6
On design science ............................................................................................................................................ 6
The science of design ...................................................................................................................................... 7
On architecture ............................................................................................................................................... 7
Meaning of architecture ................................................................................................................................. 7
on software architecture................................................................................................................................. 8
scope of software architecture ....................................................................................................................... 9
Crucial issues for software architectures ........................................................................................................ 9
SOftware architecture and need for traceability .......................................................................................... 10
1.2. architecture & design science; why a design science approach is needed going beyond information
systems development methodologies .............................................................................................................. 10
on the essence of software programming .................................................................................................... 10
on information systems methodologies ....................................................................................................... 11
some definitions ............................................................................................................................................ 11
Scientific literature ........................................................................................................................................ 11
Which methodologies ................................................................................................................................... 12
Authors of methodologies ............................................................................................................................ 12
Advantages of methodologies ...................................................................................................................... 12
Issue 1: adoption ........................................................................................................................................... 13
issue 2: vagueness >> minimize coupling ...................................................................................................... 13
Issue 3: systematics >> enterprise service bus ............................................................................................. 14
Issue 4: traceability ....................................................................................................................................... 15
1.3. an inconventient thruth; on the software develiopment thruths we do not speak of ....................... 16
Critical issues >> time to dig deeper ............................................................................................................. 16
2. Software architecture: 6 lectures.................................................................................................................. 17
2.1. Lecture 1: The design cycle as a dynamic system ................................................................................ 17
Dynamic instability due to positive feedback ............................................................................................... 17
Systems theory and stability ......................................................................................................................... 17
1
, Aeroelastic flutter of Tacoma narrow bridge ................................................................................................ 17
Positive feedback in childbirth contractions ................................................................................................. 18
From stable operations to evolvable designs ............................................................................................... 18
The design cycle as a dynamic system? ........................................................................................................ 18
The software design cycle as a dynamic system ........................................................................................... 19
2.2. Lecture 2: Design theorems for software ............................................................................................ 22
Principle 1: Separation of concerns: reductio ad absurdum ......................................................................... 22
Principle 2: Action vs Transparency .............................................................................................................. 24
Principle 3: data version transparency ( reductio ad absurdum) .................................................................. 26
Principle 4: separation of states; reductio ad absurdum .............................................................................. 26
Design theorems interpreted ........................................................................................................................ 28
2.3. Lecture 3: the concept of software element structures ...................................................................... 30
Separating cross cutting concerns ................................................................................................................ 30
The emergence of elements ......................................................................................................................... 32
An advanced transformation ........................................................................................................................ 32
Instability of basic transformation ................................................................................................................ 33
Normalized systems elements ...................................................................................................................... 34
2.4. Lecture 4: on expansion, harvesting and rejuvenation ....................................................................... 35
On updating recurring structure ................................................................................................................... 35
Catch 22: the only way out ........................................................................................................................... 36
Variability dimensions and expansions ......................................................................................................... 38
2.5. Lecture 5: on dimensions of variability and evolvability ..................................................................... 40
Creating and updating recurring structures .................................................................................................. 40
Change dimension one: Mirrors .................................................................................................................... 43
Change dimension 2: the utilities .................................................................................................................. 44
Change dimension 3: the skeletons .............................................................................................................. 46
Change dimension 4: the craftings (custom made software) ....................................................................... 47
2.6. Lecture 6: on the realization of meta circular expansion .................................................................... 47
Automatic programming ............................................................................................................................... 47
The need for automatic programming .......................................................................................................... 47
The field of automatic programming ............................................................................................................ 48
Relevance of automatic programming .......................................................................................................... 48
Artifact = Expansion(template, model) ......................................................................................................... 52
Need for meta level interfaces ...................................................................................................................... 53
The power of circularity: resonance ............................................................................................................. 55
3. chapter 16: information systems development and analysis ....................................................................... 55
16.1 data analysis techniques ....................................................................................................................... 57
2
, 16.2 flow analyse technieken ........................................................................................................................ 64
16. 3 The system development process ........................................................................................................ 68
4. Groepswerk ................................................................................................................................................... 70
Phase 1 – issues............................................................................................................................................. 71
Phase 2- addressing issues to proceed ......................................................................................................... 71
FHIR _ fast healtcare interoperability resources ........................................................................................... 72
Phase 2 – domain bus architecture ............................................................................................................... 73
Phase 2 – modelling tool collaboration ......................................................................................................... 73
5. Guest Lecture 1: Colruyt ............................................................................................................................... 73
5.1. Colruyt ................................................................................................................................................. 73
5.2. colruyt IT .............................................................................................................................................. 73
History ........................................................................................................................................................... 75
Today ............................................................................................................................................................. 75
5.3. IT .......................................................................................................................................................... 76
5.4. architecture ......................................................................................................................................... 79
What is enterprise architecture @colruyt .................................................................................................... 79
5.5. CG Capability Landscape overlays – examples .................................................................................... 82
5.6. Buzz – hypes – reality – innovation – vision ........................................................................................ 83
6. Guest Lecture 2: Skynote/ engie .................................................................................................................. 85
6.1. Agile & architectuur essentials ............................................................................................................ 85
What is agile? ................................................................................................................................................ 85
What is architecture ...................................................................................................................................... 85
What happens when you combine agile & architecture ............................................................................... 85
Agile architecting .......................................................................................................................................... 86
Agile architecture .......................................................................................................................................... 86
Agile architecting & architecture scale ......................................................................................................... 87
Combining the agile scales ............................................................................................................................ 88
6.2. Clean architecture ............................................................................................................................... 88
6.3. NS in the application landscape........................................................................................................... 91
Analysing SAFe from OSR point of view ........................................................................................................ 95
7. Guestlecture 3: Randstad group ................................................................................................................... 99
7.1. Global IT: capabilities, architecture and scope ........................................................................................ 100
7.1.1. customer journey ............................................................................................................................. 101
7.1.2. Business capability model ................................................................................................................ 101
7.1.4. Business process............................................................................................................................... 103
7.1.5. DAta................................................................................................................................................... 104
7.2. Let’s talk architecture............................................................................................................................... 106
3
, 7.2.1. an ecosystem integration approach .................................................................................................. 106
7.3. Let’s build architecture ............................................................................................................................ 110
8. Overview of software engineering and architecture .................................................................................. 111
9. introduction EA ........................................................................................................................................... 114
9.1. postioning EA in Mi/dbe .................................................................................................................... 114
EA and the core of MIS/DBE ........................................................................................................................ 114
9.1.1. N applications => integration problem ..................................................................................... 114
9.1.2. N applications => complexity .................................................................................................... 115
9.1.3. N applications => agility/innovation ......................................................................................... 115
From IT strategy to EA ................................................................................................................................. 116
Who is working in IT departments? ............................................................................................................ 116
9.2. Definitions: what is entreprise architecture ...................................................................................... 117
Entreprise architecture: state of the art ..................................................................................................... 118
9.3. case colruyt ........................................................................................................................................ 119
9.4. zachan framwork ............................................................................................................................... 121
History of enterprise architecture............................................................................................................... 121
9.5. archimate ........................................................................................................................................... 123
10. archimate ............................................................................................................................................... 124
10.1. architecture and modeling ............................................................................................................ 125
Key points .................................................................................................................................................... 125
Key terms .................................................................................................................................................... 126
10.2. Introduction Architmate................................................................................................................ 127
Stakeholder, driver, assesment ................................................................................................................... 129
Goal and outcome ....................................................................................................................................... 130
10.3. archimate: core ............................................................................................................................. 131
10.4. fundamentals of the language ...................................................................................................... 131
10.5. archimate: the business layer ....................................................................................................... 135
Business layer: active structure................................................................................................................... 135
Business layer: behaviour ........................................................................................................................... 136
Business layer: passive structure ................................................................................................................ 138
Business layer: services and interfaces ....................................................................................................... 139
10.6. application/technology layer ........................................................................................................ 140
Application layer: active structure .............................................................................................................. 141
Application layer: internal behvior.............................................................................................................. 141
application layer: passive structure ............................................................................................................ 142
Application layer: service ............................................................................................................................ 142
Application layer: interface ......................................................................................................................... 143
4
SOFTWARE ARCHITECTURE
INHOUD
1. Introduction: software engineering and architecture .................................................................................... 6
1.1. architecture and design science; on the essence of software architecture and the relationship with
traceability and evolvability ................................................................................................................................ 6
engineering ..................................................................................................................................................... 6
On science and engineering ............................................................................................................................ 6
On design science ............................................................................................................................................ 6
The science of design ...................................................................................................................................... 7
On architecture ............................................................................................................................................... 7
Meaning of architecture ................................................................................................................................. 7
on software architecture................................................................................................................................. 8
scope of software architecture ....................................................................................................................... 9
Crucial issues for software architectures ........................................................................................................ 9
SOftware architecture and need for traceability .......................................................................................... 10
1.2. architecture & design science; why a design science approach is needed going beyond information
systems development methodologies .............................................................................................................. 10
on the essence of software programming .................................................................................................... 10
on information systems methodologies ....................................................................................................... 11
some definitions ............................................................................................................................................ 11
Scientific literature ........................................................................................................................................ 11
Which methodologies ................................................................................................................................... 12
Authors of methodologies ............................................................................................................................ 12
Advantages of methodologies ...................................................................................................................... 12
Issue 1: adoption ........................................................................................................................................... 13
issue 2: vagueness >> minimize coupling ...................................................................................................... 13
Issue 3: systematics >> enterprise service bus ............................................................................................. 14
Issue 4: traceability ....................................................................................................................................... 15
1.3. an inconventient thruth; on the software develiopment thruths we do not speak of ....................... 16
Critical issues >> time to dig deeper ............................................................................................................. 16
2. Software architecture: 6 lectures.................................................................................................................. 17
2.1. Lecture 1: The design cycle as a dynamic system ................................................................................ 17
Dynamic instability due to positive feedback ............................................................................................... 17
Systems theory and stability ......................................................................................................................... 17
1
, Aeroelastic flutter of Tacoma narrow bridge ................................................................................................ 17
Positive feedback in childbirth contractions ................................................................................................. 18
From stable operations to evolvable designs ............................................................................................... 18
The design cycle as a dynamic system? ........................................................................................................ 18
The software design cycle as a dynamic system ........................................................................................... 19
2.2. Lecture 2: Design theorems for software ............................................................................................ 22
Principle 1: Separation of concerns: reductio ad absurdum ......................................................................... 22
Principle 2: Action vs Transparency .............................................................................................................. 24
Principle 3: data version transparency ( reductio ad absurdum) .................................................................. 26
Principle 4: separation of states; reductio ad absurdum .............................................................................. 26
Design theorems interpreted ........................................................................................................................ 28
2.3. Lecture 3: the concept of software element structures ...................................................................... 30
Separating cross cutting concerns ................................................................................................................ 30
The emergence of elements ......................................................................................................................... 32
An advanced transformation ........................................................................................................................ 32
Instability of basic transformation ................................................................................................................ 33
Normalized systems elements ...................................................................................................................... 34
2.4. Lecture 4: on expansion, harvesting and rejuvenation ....................................................................... 35
On updating recurring structure ................................................................................................................... 35
Catch 22: the only way out ........................................................................................................................... 36
Variability dimensions and expansions ......................................................................................................... 38
2.5. Lecture 5: on dimensions of variability and evolvability ..................................................................... 40
Creating and updating recurring structures .................................................................................................. 40
Change dimension one: Mirrors .................................................................................................................... 43
Change dimension 2: the utilities .................................................................................................................. 44
Change dimension 3: the skeletons .............................................................................................................. 46
Change dimension 4: the craftings (custom made software) ....................................................................... 47
2.6. Lecture 6: on the realization of meta circular expansion .................................................................... 47
Automatic programming ............................................................................................................................... 47
The need for automatic programming .......................................................................................................... 47
The field of automatic programming ............................................................................................................ 48
Relevance of automatic programming .......................................................................................................... 48
Artifact = Expansion(template, model) ......................................................................................................... 52
Need for meta level interfaces ...................................................................................................................... 53
The power of circularity: resonance ............................................................................................................. 55
3. chapter 16: information systems development and analysis ....................................................................... 55
16.1 data analysis techniques ....................................................................................................................... 57
2
, 16.2 flow analyse technieken ........................................................................................................................ 64
16. 3 The system development process ........................................................................................................ 68
4. Groepswerk ................................................................................................................................................... 70
Phase 1 – issues............................................................................................................................................. 71
Phase 2- addressing issues to proceed ......................................................................................................... 71
FHIR _ fast healtcare interoperability resources ........................................................................................... 72
Phase 2 – domain bus architecture ............................................................................................................... 73
Phase 2 – modelling tool collaboration ......................................................................................................... 73
5. Guest Lecture 1: Colruyt ............................................................................................................................... 73
5.1. Colruyt ................................................................................................................................................. 73
5.2. colruyt IT .............................................................................................................................................. 73
History ........................................................................................................................................................... 75
Today ............................................................................................................................................................. 75
5.3. IT .......................................................................................................................................................... 76
5.4. architecture ......................................................................................................................................... 79
What is enterprise architecture @colruyt .................................................................................................... 79
5.5. CG Capability Landscape overlays – examples .................................................................................... 82
5.6. Buzz – hypes – reality – innovation – vision ........................................................................................ 83
6. Guest Lecture 2: Skynote/ engie .................................................................................................................. 85
6.1. Agile & architectuur essentials ............................................................................................................ 85
What is agile? ................................................................................................................................................ 85
What is architecture ...................................................................................................................................... 85
What happens when you combine agile & architecture ............................................................................... 85
Agile architecting .......................................................................................................................................... 86
Agile architecture .......................................................................................................................................... 86
Agile architecting & architecture scale ......................................................................................................... 87
Combining the agile scales ............................................................................................................................ 88
6.2. Clean architecture ............................................................................................................................... 88
6.3. NS in the application landscape........................................................................................................... 91
Analysing SAFe from OSR point of view ........................................................................................................ 95
7. Guestlecture 3: Randstad group ................................................................................................................... 99
7.1. Global IT: capabilities, architecture and scope ........................................................................................ 100
7.1.1. customer journey ............................................................................................................................. 101
7.1.2. Business capability model ................................................................................................................ 101
7.1.4. Business process............................................................................................................................... 103
7.1.5. DAta................................................................................................................................................... 104
7.2. Let’s talk architecture............................................................................................................................... 106
3
, 7.2.1. an ecosystem integration approach .................................................................................................. 106
7.3. Let’s build architecture ............................................................................................................................ 110
8. Overview of software engineering and architecture .................................................................................. 111
9. introduction EA ........................................................................................................................................... 114
9.1. postioning EA in Mi/dbe .................................................................................................................... 114
EA and the core of MIS/DBE ........................................................................................................................ 114
9.1.1. N applications => integration problem ..................................................................................... 114
9.1.2. N applications => complexity .................................................................................................... 115
9.1.3. N applications => agility/innovation ......................................................................................... 115
From IT strategy to EA ................................................................................................................................. 116
Who is working in IT departments? ............................................................................................................ 116
9.2. Definitions: what is entreprise architecture ...................................................................................... 117
Entreprise architecture: state of the art ..................................................................................................... 118
9.3. case colruyt ........................................................................................................................................ 119
9.4. zachan framwork ............................................................................................................................... 121
History of enterprise architecture............................................................................................................... 121
9.5. archimate ........................................................................................................................................... 123
10. archimate ............................................................................................................................................... 124
10.1. architecture and modeling ............................................................................................................ 125
Key points .................................................................................................................................................... 125
Key terms .................................................................................................................................................... 126
10.2. Introduction Architmate................................................................................................................ 127
Stakeholder, driver, assesment ................................................................................................................... 129
Goal and outcome ....................................................................................................................................... 130
10.3. archimate: core ............................................................................................................................. 131
10.4. fundamentals of the language ...................................................................................................... 131
10.5. archimate: the business layer ....................................................................................................... 135
Business layer: active structure................................................................................................................... 135
Business layer: behaviour ........................................................................................................................... 136
Business layer: passive structure ................................................................................................................ 138
Business layer: services and interfaces ....................................................................................................... 139
10.6. application/technology layer ........................................................................................................ 140
Application layer: active structure .............................................................................................................. 141
Application layer: internal behvior.............................................................................................................. 141
application layer: passive structure ............................................................................................................ 142
Application layer: service ............................................................................................................................ 142
Application layer: interface ......................................................................................................................... 143
4