Skip to:Content
|
Bottom
Cover image for UML for systems engineering : watching the wheel
Title:
UML for systems engineering : watching the wheel
Personal Author:
Series:
IEE professional applications of computing series ; 2
Publication Information:
London : Institution of Electrical Engineers, 2001
ISBN:
9780852961056

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010015774 TA168 H64 2001 Open Access Book Book
Searching...

On Order

Summary

Summary

This book is based on a very successful IEE course which is in turn based on many years research into modelling and the Unified Modelling Language (UML) by the author. The UML is the new industry standard for modelling software-intensive systems and this book looks at several applications where the UML can be used as part of a generic approach to aid many kinds of problem solving and information modelling. These include: modelling standards, processes and procedures, requirements engineering, implementation of processes, assessment of tools, defining a quality system, lifecycles and lifecycle models and software. The book is intended to bring UML to the wider audience of systems engineers, and its application to real examples for non-software applications; a problem which is widely acknowledged in other texts, but rarely addressed.


Author Notes

Jon Holt set up Brass Bullet Ltd in 1997


Table of Contents

Forewordp. xvii
Prefacep. xix
Acknowledgementsp. xxi
List of figuresp. xxiii
Part I. Problems
Chapter 1 Systems engineering
1.1 Problems with systemsp. 3
1.1.1 Defining systems engineering--first attemptp. 3
1.1.2 The need for systems engineeringp. 3
1.1.3 Disasters and failuresp. 5
1.1.4 Causes of problemsp. 5
1.1.5 Defining a systemp. 6
1.1.6 Defining systems engineering--second attemptp. 7
1.1.7 Summaryp. 7
1.2 Complexity, communication and understandingp. 8
1.2.1 Introductionp. 8
1.2.2 Complexityp. 9
1.2.2.1 Essential complexityp. 9
1.2.2.2 Accidental complexityp. 10
1.2.3 Minimising complexityp. 11
1.2.4 Communicationsp. 11
1.2.4.1 Introductionp. 11
1.2.4.2 Languagesp. 12
1.2.4.3 Common languagesp. 13
1.2.5 A good approachp. 14
1.2.5.1 Summaryp. 15
1.3 Qualityp. 15
1.3.1 Introductionp. 15
1.3.2 The need for qualityp. 17
1.3.3 Level of responsibilityp. 17
1.3.4 Requirements for systems professionalsp. 18
1.3.5 Processes and qualityp. 19
1.3.6 Standardsp. 20
1.3.7 Problems with standardsp. 21
1.3.8 Consequences of problems with standardsp. 22
1.3.9 Compliance with standardsp. 22
1.3.10 Processesp. 23
1.3.11 Summaryp. 24
1.4 Conclusionsp. 25
1.5 Further discussionp. 25
1.6 Referencesp. 26
Part II. Talking the language
Chapter 2 Modelling
2.1 Introduction to modellingp. 29
2.1.1 The importance of modellingp. 29
2.1.1.1 The kennel (doghouse)p. 29
2.1.1.2 The housep. 30
2.1.1.3 The office blockp. 31
2.1.1.4 The pointp. 32
2.1.2 Why projects failp. 33
2.1.3 Modellingp. 34
2.1.4 Defining a 'model'p. 35
2.1.5 Principles of modellingp. 35
2.1.5.1 The choice of modelp. 35
2.1.5.2 Abstraction of the modelp. 36
2.1.5.3 Connection to realityp. 36
2.1.5.4 Independent views of the same systemp. 37
2.2 The UMLp. 37
2.2.1 Introductionp. 37
2.2.2 Types of modelp. 37
2.2.3 Views vs. modelsp. 39
2.2.4 Extending the UMLp. 40
2.2.5 Background of the UMLp. 40
2.2.5.1 History of the UMLp. 42
2.2.5.2 Traditional modelling techniquesp. 42
2.2.5.3 Object-oriented modelling techniquesp. 42
2.2.5.4 Unification of different modelling techniquesp. 43
2.2.6 A non-proprietary languagep. 44
2.3 Conclusionsp. 44
2.4 Further discussionp. 45
2.5 Referencesp. 46
Chapter 3 Static Modelling
3.1 Introductionp. 48
3.1.1 Static modelling using class diagramsp. 49
3.1.1.1 Modelling classes and relationshipsp. 49
3.1.2 Basic modellingp. 49
3.1.2.1 Adding more detail to classesp. 53
3.1.2.2 Adding more detail to relationshipsp. 54
3.1.2.3 Aggregation and compositionp. 54
3.1.2.4 Specialisation and generalisationp. 56
3.1.2.5 Instantiationp. 60
3.1.3 Other static diagramsp. 61
3.1.4 Conclusionp. 62
3.2 Further discussionp. 63
3.3 Referencesp. 64
Chapter 4 Behavioural Modelling
4.1 Introductionp. 65
4.1.1 Behavioural modelling using statechartsp. 67
4.1.1.1 Introductionp. 67
4.1.1.2 Basic modellingp. 67
4.1.2 Behavioural modelling--a simple examplep. 69
4.1.2.1 Introductionp. 69
4.1.2.2 Simple behaviourp. 70
4.1.2.3 Adding more detailp. 71
4.1.2.4 Ensuring consistencyp. 72
4.1.3 Solving the inconsistencyp. 74
4.1.3.1 Changing the statechartp. 74
4.1.3.2 Changing the class diagramp. 75
4.2 Styles of behavioural modellingp. 76
4.2.1 Actions and activitiesp. 76
4.2.1.1 Activity-based statechartsp. 76
4.2.1.2 Action-based statechartsp. 77
4.2.2 Comparing the approachesp. 78
4.3 Other behavioural modelsp. 78
4.4 Conclusionsp. 79
4.5 Further discussionp. 80
4.6 Referencesp. 80
Chapter 5 The UML diagrams
5.1 Introductionp. 81
5.2 Class diagramsp. 82
5.2.1 Overviewp. 82
5.2.2 Diagram elementsp. 83
5.2.3 Example diagrams and modelling--class diagramsp. 84
5.2.4 Using class diagramsp. 88
5.3 Object diagramsp. 88
5.3.1 Overviewp. 88
5.3.2 Diagram elementsp. 89
5.3.3 Example diagrams and modelling--object diagramsp. 90
5.3.4 Using object diagramsp. 93
5.4 Statechart diagramsp. 94
5.4.1 Overviewp. 94
5.4.2 Diagram elementsp. 95
5.4.3 Example diagrams and modelling--statechartsp. 97
5.4.4 Using statechartsp. 100
5.5 Interaction diagramsp. 101
5.5.1 Introductionp. 101
5.5.2 Overview--collaboration diagramsp. 101
5.5.3 Diagram elements--collaboration diagramsp. 102
5.5.4 Examples and modelling--collaboration diagramsp. 103
5.5.5 Using collaboration diagramsp. 106
5.5.6 Overview--sequence diagramsp. 107
5.5.7 Diagram elements--sequence diagramsp. 107
5.5.8 Example and modelling--sequence diagramsp. 108
5.5.9 Using sequence diagramsp. 110
5.5.10 Sequence diagrams vs. collaboration diagramsp. 111
5.6 Activity diagramsp. 112
5.6.1 Overviewp. 112
5.6.2 Diagram elementsp. 112
5.6.3 Examples and modellingp. 113
5.6.4 Using activity diagramsp. 118
5.7 Use case diagramsp. 119
5.7.1 Overviewp. 119
5.7.2 Diagram elementsp. 119
5.7.3 Examples and modellingp. 121
5.7.4 Using use case diagramsp. 125
5.8 Component diagramsp. 126
5.8.1 Overviewp. 126
5.8.2 Diagram elementsp. 126
5.8.3 Examples and modellingp. 127
5.8.4 Using component diagramsp. 130
5.9 Deployment diagramsp. 131
5.9.1 Overviewp. 131
5.9.2 Diagram elementsp. 131
5.9.3 Examples and modellingp. 132
5.9.4 Using deployment diagramsp. 135
5.10 Summary and conclusionsp. 136
5.10.1 Summaryp. 136
5.11 Conclusionsp. 137
5.12 Further discussionp. 138
5.13 Referencesp. 139
Part III. Solutions
Chapter 6 Modelling standards, processes and procedures
6.1 Introductionp. 143
6.1.1 Introductionp. 143
6.2 Standardsp. 144
6.2.1 Standards, standards, standardsp. 144
6.2.2 Requirements for using standardsp. 147
6.3 Analysing standardsp. 147
6.3.1 Aspects of modelling using the UMLp. 148
6.3.2 Modelling examplep. 148
6.3.3 EIA 632 Processes for engineering a systemp. 149
6.3.4 ISO 15504 Software process improvement and capability determination (SPICE)p. 151
6.3.5 Comparing modelsp. 154
6.3.5.1 Highlighting complexityp. 156
6.3.5.2 Continued analysisp. 158
6.3.6 Other standards and processesp. 159
6.3.6.1 Introductionp. 159
6.3.6.2 ISO 15288 Life cycle management - system life cycle processesp. 159
6.3.6.3 IEC 61508 Functional safety of electrical/electronic/programmable electronic safety-related systemsp. 160
6.3.6.4 IEEE 1220 Application and management of the systems engineering processp. 161
6.3.6.5 The Rational Unified Process (RUP)p. 162
6.3.6.6 EIA 731 Systems engineering capability modelp. 162
6.3.7 Summaryp. 163
6.4 Defining new processes using the UMLp. 164
6.4.1 A new procedurep. 164
6.4.2 Completing the modelp. 172
6.4.3 Summaryp. 173
6.5 Life cycles and life cycle modelsp. 174
6.5.1 Choosing a life cycle modelp. 176
6.5.2 Summaryp. 178
6.6 Tailoring the processp. 179
6.6.1.1 Creating a life cyclep. 181
6.6.1.2 Summaryp. 182
6.7 Defining deliverablesp. 182
6.7.1 Deliverables by typep. 183
6.7.2 Deliverables by processp. 184
6.7.3 Deliverables by structurep. 185
6.8 Implementing the systems engineering process using a toolp. 185
6.8.1 Uses for a toolp. 187
6.8.2 The information modelp. 188
6.8.3 The assumption modelp. 190
6.8.4 The implementation modelp. 190
6.8.5 Summaryp. 192
6.9 Conclusionsp. 192
6.10 Further discussionp. 192
6.11 Referencesp. 193
Chapter 7 Modelling requirements
7.1 Introductionp. 194
7.2 Requirements engineering basicsp. 195
7.2.1 Introductionp. 195
7.2.2 The requirements phasep. 195
7.2.3 Capturing requirementsp. 197
7.2.4 Requirementsp. 200
7.2.4.1 Overviewp. 200
7.2.4.2 Business requirementsp. 200
7.2.4.3 Functional requirementsp. 202
7.2.4.4 Non-functional requirementsp. 202
7.2.4.5 Properties of requirementsp. 203
7.2.5 Stakeholdersp. 205
7.2.5.1 Overviewp. 205
7.2.5.2 Types of stakeholderp. 205
7.2.6 Summaryp. 208
7.3 Using use case diagrams (usefully)p. 209
7.4 Context modellingp. 210
7.4.1 Types of contextp. 210
7.4.1.1 Business contextp. 211
7.4.1.2 System contextp. 212
7.4.2 Practical context modellingp. 213
7.4.3 Summaryp. 217
7.5 Requirements modellingp. 218
7.5.1 Introductionp. 218
7.5.2 Modelling requirementsp. 218
7.5.3 Describing use casesp. 224
7.5.3.1 Overviewp. 224
7.5.3.2 Confusion with visual use case descriptionsp. 225
7.5.3.3 Text descriptions if use casesp. 226
7.5.3.4 Statechart description of a use casep. 226
7.5.3.5 The better approachp. 227
7.6 Modelling scenariosp. 228
7.6.1 Scenarios in the UMLp. 229
7.6.2 Example scenariosp. 229
7.6.3 Collaboration vs. sequence diagramsp. 233
7.6.4 Wrapping up scenariosp. 234
7.7 Documenting requirementsp. 235
7.7.1 Overviewp. 235
7.7.2 Populating the documentp. 236
7.7.2.1 Section 1 - introductionp. 236
7.7.2.2 Section 2 - generalp. 237
7.7.2.3 Section 3 - requirementsp. 237
7.7.3 Finishing the documentp. 237
7.8 Summary and conclusionsp. 238
7.9 Further discussionp. 240
7.10 Referencesp. 241
Chapter 8 Extending the UML
8.1 Introductionp. 243
8.2 Modelling websitesp. 243
8.2.1 Backgroundp. 243
8.2.2 Modelling HTMLp. 245
8.3 Stereotypesp. 246
8.3.1 Introduction to stereotypesp. 246
8.3.2 Defining stereotypesp. 249
8.3.3 The assumption modelp. 251
8.3.4 Stereotyping symbolsp. 252
8.4 Summaryp. 253
8.5 Constraintsp. 253
8.5.1 Introductionp. 253
8.5.2 Formal constraints - the object constraint language (OCL)p. 254
8.5.2.1 Overviewp. 254
8.5.2.2 Invariantsp. 255
8.5.2.3 Pre-conditions and post-conditionsp. 256
8.6 Tagged valuesp. 260
8.7 Conclusionsp. 261
8.8 Further discussionp. 261
8.9 Referencesp. 262
Chapter 9 Tools
9.1 Introductionp. 263
9.2 Introduction to toolsp. 264
9.3 Selecting a toolp. 265
9.3.1 What tools can dop. 265
9.3.2 What tools cannot dop. 266
9.3.3 Typical CASE tool capabilitiesp. 267
9.3.3.1 Drawing diagramsp. 267
9.3.3.2 Verificationp. 270
9.3.3.3 Software-related featuresp. 271
9.3.3.4 Report generationp. 274
9.3.3.5 Import/export with other packagesp. 275
9.3.4 Business considerationsp. 276
9.4 Conclusionsp. 277
9.5 Further discussionp. 278
Indexp. 279
Bibliographyp. 283
Go to:Top of Page