1 Introduction to systems engineering |
|
1 | |
|
|
1 | |
|
|
1 | |
|
1.3 Defining systems engineering |
|
|
2 | |
|
1.4 The need for systems engineering |
|
|
4 | |
|
1.5 The three evils of engineering |
|
|
5 | |
|
|
6 | |
|
1.5.2 Lack of understanding |
|
|
8 | |
|
1.5.3 Communication problems |
|
|
8 | |
|
1.5.4 The vicious triangle of evil |
|
|
9 | |
|
1.6 Systems-engineering concepts |
|
|
10 | |
|
|
11 | |
|
|
13 | |
|
|
15 | |
|
|
18 | |
|
|
19 | |
|
|
20 | |
|
|
20 | |
|
1.7.2 The choice of model |
|
|
21 | |
|
1.7.3 The level of abstraction |
|
|
21 | |
|
1.7.4 Connection to reality |
|
|
21 | |
|
1.7.5 Independent views of the same system |
|
|
22 | |
|
1.8 SysML – the system modelling language |
|
|
22 | |
|
|
23 | |
|
|
23 | |
|
|
24 | |
|
|
24 | |
2 An introduction to SysML |
|
27 | |
|
|
27 | |
|
|
27 | |
|
2.2.1 SysML's relation to UML |
|
|
28 | |
|
|
32 | |
|
|
33 | |
|
2.4 A comparison of versions |
|
|
34 | |
|
2.4.1 The original version |
|
|
35 | |
|
2.4.2 The two evaluation versions |
|
|
36 | |
|
2.4.3 SysML Merge Team version and the Final Adopted Specification |
|
|
41 | |
|
2.5 Potential concerns with SysML |
|
|
43 | |
|
|
44 | |
|
|
44 | |
3 Modelling |
|
47 | |
|
|
47 | |
|
|
47 | |
|
3.3 Structural modelling using block definition diagrams |
|
|
49 | |
|
3.3.1 Modelling blocks and relationships |
|
|
49 | |
|
|
49 | |
|
3.3.3 Adding more detail to blocks |
|
|
52 | |
|
3.3.4 Adding more detail to relationships |
|
|
54 | |
|
3.3.5 A note on instances |
|
|
59 | |
|
3.3.6 Other structural diagrams |
|
|
60 | |
|
|
60 | |
|
3.4 Behavioural modelling |
|
|
62 | |
|
3.5 Behavioural modelling using state machine diagrams |
|
|
64 | |
|
|
64 | |
|
|
64 | |
|
3.5.3 Behavioural modelling – a simple example |
|
|
66 | |
|
3.5.4 Ensuring consistency |
|
|
69 | |
|
3.5.5 Solving the inconsistency |
|
|
71 | |
|
3.5.6 Alternative state machine modelling |
|
|
73 | |
|
3.5.7 Other behavioural diagrams |
|
|
75 | |
|
3.6 Identifying complexity through levels of abstraction |
|
|
76 | |
|
|
76 | |
|
|
76 | |
|
|
76 | |
|
|
77 | |
|
|
81 | |
|
|
81 | |
4 The SysML diagrams |
|
83 | |
|
|
83 | |
|
|
83 | |
|
|
84 | |
|
4.2 The structure of SysML diagrams |
|
|
85 | |
|
|
85 | |
|
|
87 | |
|
|
88 | |
|
|
90 | |
|
|
90 | |
|
4.5 Block definition diagrams (structural) |
|
|
90 | |
|
|
90 | |
|
|
91 | |
|
4.5.3 Example diagrams and modelling — block definition diagrams |
|
|
96 | |
|
4.5.4 Using block definition diagrams |
|
|
105 | |
|
4.6 Internal block diagrams (structural) |
|
|
106 | |
|
|
106 | |
|
|
106 | |
|
4.6.3 Examples and modelling — internal block diagrams |
|
|
109 | |
|
4.6.4 Using internal block diagrams |
|
|
112 | |
|
4.7 Package diagrams (structural) |
|
|
112 | |
|
|
112 | |
|
|
113 | |
|
4.7.3 Examples and modelling — package diagrams |
|
|
115 | |
|
4.7.4 Using package diagrams |
|
|
117 | |
|
4.8 Parametric diagrams (structural) |
|
|
117 | |
|
|
117 | |
|
|
118 | |
|
4.8.3 Examples and modelling — parametric diagrams |
|
|
119 | |
|
4.8.4 Using parametric diagrams |
|
|
122 | |
|
4.9 Requirement diagrams (structural) |
|
|
122 | |
|
|
122 | |
|
|
122 | |
|
4.9.3 Examples and modelling — requirement diagrams |
|
|
124 | |
|
4.9.4 Using requirement diagrams |
|
|
128 | |
|
4.10 State machine diagrams (behavioural) |
|
|
129 | |
|
|
129 | |
|
|
129 | |
|
4.10.3 Examples and modelling — state machine diagrams |
|
|
132 | |
|
4.10.4 Using state machine diagrams |
|
|
137 | |
|
4.11 Sequence diagrams (behavioural) |
|
|
137 | |
|
4.11.1 Overview — sequence diagrams |
|
|
137 | |
|
4.11.2 Diagram elements — sequence diagrams |
|
|
137 | |
|
4.11.3 Examples and modelling — sequence diagrams |
|
|
140 | |
|
4.11.4 Using sequence diagrams |
|
|
142 | |
|
4.12 Activity diagrams (behavioural) |
|
|
143 | |
|
|
143 | |
|
|
144 | |
|
4.12.3 Examples and modelling |
|
|
148 | |
|
4.12.4 Using activity diagrams |
|
|
153 | |
|
4.13 Use case diagrams (behavioural) |
|
|
153 | |
|
|
153 | |
|
|
154 | |
|
4.13.3 Examples and modelling |
|
|
157 | |
|
4.13.4 Using use case diagrams |
|
|
161 | |
|
4.14 Summary and conclusions |
|
|
161 | |
|
|
161 | |
|
|
162 | |
|
|
163 | |
|
|
164 | |
|
|
164 | |
5 Physical systems, interfaces and constraints |
|
165 | |
|
|
165 | |
|
5.2 Connecting parts of the system |
|
|
165 | |
|
5.2.1 Flow ports and flow specifications |
|
|
166 | |
|
5.2.2 Standard ports and interfaces |
|
|
168 | |
|
|
170 | |
|
5.4 Parametric constraints |
|
|
173 | |
|
5.4.1 Relationships to blocks |
|
|
173 | |
|
5.4.2 Types of constraint |
|
|
176 | |
|
5.5 Putting it all together — the escapology problem |
|
|
178 | |
|
|
179 | |
|
5.5.2 Definition of the system |
|
|
180 | |
|
5.5.3 Definition of the constraints |
|
|
183 | |
|
5.5.4 Using the constraints |
|
|
184 | |
|
|
194 | |
6 Process modelling with SysML |
|
195 | |
|
|
195 | |
|
6.1.1 Modelling processes using SysML |
|
|
195 | |
|
6.1.2 The process-modelling meta-model |
|
|
196 | |
|
6.1.3 The process meta-model — conceptual view |
|
|
196 | |
|
6.1.4 Consistency between views |
|
|
200 | |
|
6.1.5 Using the seven-views meta-model |
|
|
202 | |
|
6.2 Modelling life cycles |
|
|
202 | |
|
|
202 | |
|
|
203 | |
|
6.2.3 The process library |
|
|
205 | |
|
|
205 | |
|
6.2.5 Using life cycles and life-cycle models |
|
|
210 | |
|
|
210 | |
|
6.3 Applying the seven views to a standard |
|
|
210 | |
|
|
210 | |
|
6.3.2 Introduction to standards |
|
|
210 | |
|
6.3.3 Process-structure view |
|
|
213 | |
|
|
215 | |
|
6.3.5 Process-content view |
|
|
217 | |
|
|
217 | |
|
|
219 | |
|
|
219 | |
|
6.4 Apply the seven views to a process |
|
|
219 | |
|
|
219 | |
|
6.4.2 The STUMPI life cycle |
|
|
220 | |
|
6.4.3 The STUMPI life-cycle model |
|
|
220 | |
|
6.4.4 The STUMPI process model |
|
|
223 | |
|
|
228 | |
|
|
229 | |
|
|
230 | |
|
|
233 | |
|
|
233 | |
7 Modelling requirements |
|
235 | |
|
|
235 | |
|
7.2 Requirements engineering basics |
|
|
236 | |
|
|
236 | |
|
7.2.2 The 'requirements stage' |
|
|
236 | |
|
7.2.3 Capturing requirements |
|
|
239 | |
|
|
241 | |
|
|
246 | |
|
|
249 | |
|
7.3 Using use case diagrams (usefully) |
|
|
250 | |
|
|
251 | |
|
|
251 | |
|
7.4.2 Practical context modelling |
|
|
256 | |
|
|
260 | |
|
7.5 Requirements modelling |
|
|
260 | |
|
|
260 | |
|
7.5.2 Modelling requirements |
|
|
261 | |
|
7.5.3 Ensuring consistency |
|
|
267 | |
|
7.5.4 Describing use cases |
|
|
271 | |
|
|
273 | |
|
7.6.1 Scenarios in the SysML |
|
|
274 | |
|
|
274 | |
|
7.6.3 Wrapping up scenarios |
|
|
277 | |
|
7.7 Documenting requirements |
|
|
277 | |
|
|
277 | |
|
7.7.2 Populating the document |
|
|
279 | |
|
7.7.3 Finishing the document |
|
|
280 | |
|
7.8 Summary and conclusions |
|
|
281 | |
|
|
283 | |
|
|
284 | |
|
|
284 | |
Appendix A Summary of SysML notation |
|
285 | |
|
|
285 | |
|
|
285 | |
|
|
300 | |
|
A.4 Cross-cutting concepts |
|
|
315 | |
|
A.5 Relationships between diagrams |
|
|
321 | |
Appendix B Using SysML concepts in UML |
|
325 | |
|
|
325 | |
|
B.2 Flow ports and flow specifications |
|
|
325 | |
|
B.3 Parametric constraints |
|
|
327 | |
|
|
329 | |
|
|
330 | |
Index |
|
331 | |