Daniel J. Duffy9780470848333, 0470848332
Table of contents :
Team DDU……Page 1
Contents……Page 8
Preface……Page 18
PART I Background and fundamentals……Page 20
1.1 What is this book?……Page 22
1.2 Why have we written this book?……Page 23
1.5 What is a domain architecture, really?……Page 24
1.6 The Datasim Development Process (DDP)……Page 27
1.7 The structure of this book……Page 28
1.8 What this book does not cover……Page 29
2.1 Introduction and objectives……Page 30
2.2 Management Information Systems (MIS) (Chapter 5)……Page 32
2.3 Process Control Systems (PCS) (Chapter 6)……Page 35
2.4 Resource Allocation and Tracking (RAT) systems (Chapter 7)……Page 37
2.5 Manufacturing (MAN) systems (Chapter 8)……Page 38
2.6 Access Control Systems (ACS) (Chapter 9)……Page 39
2.7 Lifecycle and composite models (Chapter 10)……Page 40
3.1 Introduction and objectives……Page 42
3.2 The Software Lifecycle……Page 43
3.3 Reducing the scope……Page 44
3.4 The requirements/architecture phase in detail……Page 48
3.5 The object-oriented analysis process……Page 49
3.6 Project cultures and DDP……Page 52
3.6.2 Requirements-driven projects……Page 53
3.6.3 Documentation-driven style……Page 54
3.6.5 Architecture-driven style……Page 55
3.6.6 Process-driven style and the DDP……Page 56
3.7 Summary and conclusions……Page 57
4.1 Introduction and objectives……Page 60
4.2 How we document domain architectures……Page 62
4.3 Characteristics of ISO 9126 and its relationship with domain architectures……Page 63
4.5 Goals and core processes……Page 67
4.7 Stakeholders and viewpoints……Page 69
4.7.1 Documenting viewpoints……Page 71
4.9 De.ning and documenting use cases……Page 73
Appendix 4.1: A critical look at use cases……Page 74
PART II Domain architectures (meta models)……Page 76
5.2 Background and history……Page 78
5.3.1 Simple Digital Watch (SDW)……Page 80
5.3.2 Instrumentation and control systems……Page 81
5.4 General applicability……Page 82
5.5 Goals, processes and activities……Page 83
5.6 Context diagram and system decomposition……Page 84
5.7 Stakeholders, viewpoints and requirements……Page 86
5.8 UML classes……Page 88
5.9 Use cases……Page 89
5.10 Specializations of MIS systems……Page 90
5.10.1 Example: Noise control engineering……Page 91
5.11 Using MIS systems with other systems……Page 93
5.12 Summary and conclusions……Page 95
6.1 Introduction and objectives……Page 96
6.3 Motivational examples……Page 97
6.3.1 Simple water level control……Page 98
6.3.2 Bioreactor……Page 99
6.3.3 Barrier options……Page 100
6.4.1 Basic components and variables……Page 102
6.4.2 Control engineering fundamentals……Page 105
6.5 General applicability……Page 107
6.6 Goals, processes and activities……Page 108
6.7 Context diagram and system decomposition……Page 109
6.7.1 Decomposition strategies……Page 110
6.8 Stakeholders, viewpoints and requirements……Page 115
6.8.2 Robustness criteria……Page 116
6.8.3 Timing……Page 117
6.8.5 State completeness……Page 119
6.9 UML classes……Page 120
6.10 Use cases……Page 121
6.11.1 Multi-level architectures……Page 124
6.12 Using PCS systems with other systems……Page 125
6.13 Summary and conclusions……Page 126
Appendix 6.1: Message patterns in Process Control Systems……Page 127
7.1 Introduction and objectives……Page 130
7.3 Motivational examples……Page 131
7.3.1 Help Desk System (HDS)……Page 132
7.3.2 Discrete manufacturing……Page 134
7.4 General applicability……Page 136
7.6 Context diagram and system decomposition……Page 137
7.7 Stakeholders, viewpoints and requirements……Page 139
7.8 UML classes……Page 140
7.9 Use cases……Page 142
7.10 Specializations of RAT systems……Page 143
7.11 Using RAT systems with other systems……Page 144
7.12 Summary and conclusions……Page 145
8.1 Introduction and objectives……Page 146
8.2 Background and history……Page 147
8.3.1 Compiler theory……Page 149
8.3.2 Graphics applications……Page 151
8.3.3 Human memory models……Page 153
8.4 General applicability……Page 156
8.6 Context diagram and system decomposition……Page 157
8.7.1 Stakeholders and viewpoints……Page 158
8.7.2 Requirements……Page 159
8.8 UML classes……Page 160
8.9 Use cases……Page 161
8.10 Specializations of MAN systems……Page 162
8.12 Summary and conclusions……Page 163
9.1 Introduction and objectives……Page 166
9.3.1 The Reference Monitor model……Page 167
9.5 Goals, processes and activities……Page 171
9.6 Context diagram and system decomposition……Page 172
9.7 Stakeholders, viewpoints and requirements……Page 173
9.9 Use cases……Page 174
9.10.1 Security models for Web-based applications……Page 176
9.10.2 Access control during design: the Proxy pattern……Page 178
9.11 Using ACS with other systems……Page 181
10.1 Introduction and objectives……Page 182
10.3 Motivational example: the Rent-a-machine system……Page 183
10.4 General applicability……Page 187
10.5 Goals, processes and activities……Page 189
10.7 Stakeholders, viewpoints and requirements……Page 190
10.8 UML classes……Page 191
10.9 Use cases……Page 192
10.11 Using LCM systems with other systems……Page 193
10.12 Summary and conclusions……Page 194
PART III Applications (models)……Page 196
11.1 Introduction and objectives……Page 198
11.2 Description and scope of problem……Page 199
11.3 Core processing and context diagram……Page 200
11.4.1 Functional requirements and use cases……Page 202
11.4.2 Non-functional requirements……Page 205
11.5 Validating use cases……Page 206
11.6 Class architecture……Page 208
11.8 Summary and conclusions……Page 211
12.1 Introduction and objectives……Page 212
12.2.1 Hatley–Pirbhai……Page 213
12.4 Goals, processes and context……Page 216
12.5 System decomposition and PAC model……Page 219
12.6 Viewpoints and requirements analysis……Page 220
12.7 Use cases……Page 221
12.8 Validation efforts……Page 226
12.9 Creating statecharts……Page 228
12.10 Generalization efforts……Page 231
12.11 Summary and conclusions……Page 232
13.1 Introduction and objectives……Page 234
13.2 Domain categories and ELS……Page 235
13.3 A traditional object-oriented requirement speci.cation……Page 236
13.4 Re-engineering ELS: goals and processes……Page 239
13.5 Stakeholders and their requirements……Page 242
13.6 Requirements……Page 244
13.7 System decomposition of ELS……Page 246
13.8 PAC decomposition of ELS……Page 249
13.9.1 Normal use cases……Page 251
13.9.2 Exceptional use cases……Page 252
Appendix 13.1: De.nitions……Page 254
14.1 Introduction and objectives……Page 256
14.2.1 Business concerns and stakeholders?viewpoints……Page 258
14.3 OPS as a lifecycle model……Page 259
14.3.1 Order Creation System (OCS)……Page 261
14.3.2 Order Realization System (ORS)……Page 262
14.3.3 Order Management System (OMS)……Page 263
14.4 Behavioural aspects……Page 264
14.4.2 Back Of.ce……Page 265
14.4.4 External groups……Page 266
14.5 Collecting requirements from multiple stakeholder viewpoints……Page 267
14.5.1 Critical use cases……Page 268
14.6.1 Class models and diagrams……Page 269
14.7 Design guidelines for OPS……Page 271
14.7.1 Data patterns……Page 272
14.8 Functional and non-functional requirements and their realization……Page 275
14.8.1 ISO 9126 revisited……Page 276
14.9 Database repository: an architectural style for data-driven systems……Page 277
Appendix 14.1: Documenting use cases……Page 278
Appendix 14.2: Some UML class diagrams……Page 280
15.1 Introduction and objectives……Page 282
15.2 Description of problem……Page 283
15.2.1 Scope and span of problem……Page 284
15.3 Goals, processes and context……Page 285
15.4 Use cases……Page 287
15.5 Creating an initial PAC model……Page 288
15.6 Class structure……Page 289
15.7.1 Sequence diagrams……Page 290
Appendix 15.1: Collaboration diagrams in a nutshell……Page 297
16.1 Introduction and objectives……Page 300
16.2.1 General description of problem……Page 301
16.3 System features……Page 304
16.4 System architecture……Page 305
16.4.1 The PAC models……Page 308
16.6 The proof of the pudding: enter the ACE library……Page 310
16.7 The challenge: applying the ACE library in the extrusion application……Page 312
Appendix 16.1: an introduction to multi-threading……Page 317
PART IV Domain architecture summary and ‘how to use’ documentation……Page 326
17.1 Introduction and objectives……Page 328
17.2 Object Creational Systems (OCS)……Page 329
17.3 Object Alignment Systems (OAS)……Page 330
17.4.1 MIS……Page 331
17.4.2 PCS……Page 332
17.4.3 ACS……Page 333
17.5 Keeping the domain architectures distinct and orthogonal……Page 334
17.5.1 MAN versus RAT……Page 335
17.5.5 RAT versus MIS……Page 336
17.5.9 MIS and PCS versus ACS……Page 337
17.6 Summary and conclusions……Page 338
18.1 Introduction and objectives……Page 340
18.2 In which domain architecture does my application belong? The bird-watching method……Page 341
18.3 Focusing on essential system features: the framework method……Page 343
18.4 The de.ning-attribute view……Page 344
18.4.1 Advantages and disadvantages……Page 345
18.5 The prototype view……Page 346
18.5.1 Advantages and disadvantages……Page 347
18.6 The exemplar-based view……Page 348
18.6.1 Advantages and disadvantages……Page 349
Appendix 18.1: Analogical reasoning and learning by analogy……Page 350
A1.1 Introduction and objectives……Page 354
A1.3.1 Requirements documentation……Page 355
A1.3.3 Requirements evolution……Page 356
A1.4 Using the right questions……Page 357
A1.4.1 General applicability……Page 359
A1.5 The learning loop……Page 360
A1.6 Summary and conclusions……Page 361
A2.1 Introduction and objectives……Page 364
A2.2 Motivation and background……Page 365
A2.2.1 A short history of objects……Page 366
A2.3 Decomposition strategies……Page 367
A2.3.2 System decomposition and context diagrams……Page 369
A2.4 PAC and object-oriented analysis……Page 371
A2.5 The relationship between PAC and UML……Page 374
A2.6 Summary and conclusions……Page 376
A3.1 Introduction……Page 378
A3.2 Information hiding and the work of David Parnas……Page 379
A3.3 The Rummler-Brache approach……Page 380
A3.4 Michael Jackson’s problem frames……Page 382
A3.5 The Hatley-Pirbhai method……Page 383
A3.6 The Garlan and Shaw architectural styles……Page 384
A3.7 System and design patterns……Page 385
A3.9 Viewpoint-based requirements engineering……Page 386
A4.2 Features and description of problem……Page 390
A4.3 Goals and processes……Page 391
A4.5 Context diagram and system decomposition……Page 392
A4.8 Statecharts……Page 394
Appendix 5. Using domain architectures: seven good habits……Page 398
References……Page 402
Index……Page 406
Reviews
There are no reviews yet.