461Index 152, 1624+1 view 967 plus or minus 2 99Δ (as used in Z) 431–2Ξ (as used in Z) 431–2Aabstract data type 217, 343, 346, 433, 434abstraction 18, 19, 28, 68, 75, 90, 92, 94, 101,122, 134, 147, 167, 168, 178, 182, 186, 206,214, 278, 299, 347, 349, 357, 379, 389, 420access procedure 79active objects (in HOOD) 373activity diagram 129, 156–7actor 154, 164adaptive maintenance 57ADT see abstract data typeadvisor (in DSDM) 248aggregation (of properties) 410, 412, 413agile methods 242, 244, 413, 443, 444, 446algebraic form (of FDT) 423, 433–8algorithm design 292ambassador (in DSDM) 248ambiguity (in design representation) 99, 102, 420analysis 48, 49, 98, 112, 131, 134, 139, 170, 183,258, 278, 355, 361, 365, 382, 389, 392, 430anti-pattern 225application domain see problem domainAriane-5 406architecturalcomplexity 76design (phase) 29, 48, 181, 183, 245, 258, 267,370, 392, 393, 409, 421design pattern 121mismatch 111, 188, 371, 412model 30, 97pattern 219, 226, 445style 26, 37, 38, 109, 111, 112–18, 119, 123,158, 166, 181, 182, 183, 187, 188, 199, 201,215, 227, 229, 235, 244, 254, 277, 354, 365,404, 405, 406, 408, 409, 412, 413, 414, 443,445, 446architecture 37, 109–18, 370arrowheads 152artifact 4, 7, 64association (relationship) 153attributes (of design or design entity) 64, 66, 68,69, 70, 95, 137, 201axiom 433, 436–8axiomatic form (of FDT) 423Bbacktracking (in design process) 9, 50, 238, 249,303, 337batch systems 188behaviour 17, 94, 139, 143, 217, 346, 363, 364behavioural (viewpoint) 95, 97–8, 141, 144, 147,148, 154, 156, 165, 182, 275, 332, 334, 386,397, 432behavioural pattern 218binding time 26, 353, 412black box 6, 29, 90, 98, 128, 129–57, 201, 242,243, 271, 324, 369, 382, 384, 396, 404, 406,416, 421, 430, 432blackboard (as expert system) 116boundary clash (in JSP) see structure clashbox and line (notation) 90, 100, 108, 152, 163, 164broker 410, 447, 448
462IndexCcall and return (architectural style) 115–16, 236,237, 258, 261, 352, 354, 355call graph 158, 236, 276, 352CASE (tools) 68, 267, 447case-based reasoning 447catalogue(of components) 403(of patterns) 225, 226causal 97, 262CBR see case-based reasoningCBSE see component-based software engineeringcentral transform 269, 270, 273, 283, 284, 285chain of responsibility (pattern) 220, 223–4changeability 27child objects (in HOOD) 373, 374, 375, 376class 153, 345, 348–51, 353, 356, 385, 388, 389,395, 397class diagram 129, 153, 161–4, 381, 395class-responsibility-collaborators 395cliché see design heuristicclient–server 116, 316coding (phase) 48cognitive dimensions 72–5cognitive load 182, 356cohesion 77–9, 235, 271, 274, 414, 445collaboration diagram 364, 395Commercial Off The Shelf 415–17communicating sequential processes 316completeness 299, 384complexity 27, 75, 76, 120, 158, 229, 274, 413,446component 113, 161, 370, 402–17, 422, 443component-based software engineering 404, 408,415, 445component diagram 161compositional (strategy) 199, 207–9, 211, 227,258, 266, 290, 297, 316, 426, 438comprehension 77concealing (design decisions) 80conceptual model 410concurrent systems 188conformity 27connector 113consistency 384constraints 13, 37, 38, 98, 111, 176, 366, 382,443constructional (viewpoint) 94, 95, 96–7, 111, 153,158, 161, 332, 335, 372, 376, 381, 386, 389constructor (operation) 436, 437context diagram 263, 265, 271, 278Control Flow Diagram 262coordinating control coupling 78coroutine 310, 336corrective maintenance 57COTS see Commercial Off The Shelfcouple 159coupling 77–9, 235, 271, 274, 414, 445CRC see class-responsibility-collaboratorscreational pattern 218cyclomatic complexity 67Ddata-centred repository (architectural style) 237data dictionary 259, 261, 263, 266, 272, 281,382, 384, 386dataflow 97, 114, 204 see also information flowData Flow Diagram (DFD) 129, 130–6, 203, 204,259, 263, 266–72, 278–81, 283, 364data-flow stream (in JSD) 320, 326, 330, 336database systems 116, 139data-modelling (viewpoint) 95, 98, 139, 147, 148,208, 238, 261, 275, 333, 382, 386, 432data-processing 187, 259, 316, 330decision diamond 156declarative knowledge 177–9decomposition (as design strategy) 199, 205–7,234–8, 258, 265, 266, 278, 345, 364, 378,425, 426, 438dependency (relationship) 153derived viewpoint 95design(nature of ) 5anti-pattern see anti-patternattribute 75–81audit 39element 201execution 122, 246, 394heuristic see heuristicsinspection 81–2knowledge 443method 33, 34, 35, 37, 59, 91, 92, 109,118–20, 176–87, 194, 199, 214, 445, 446metrics 65–75model 8, 28, 29, 31, 83, 92, 93, 447pattern 33, 37, 59, 109, 120–1, 214, 215,216–29, 367, 368, 370, 371, 414, 443, 444,445, 446, 447plan see plan
- Page 2 and 3:
Software Design
- Page 4 and 5:
Software DesignDavid Budgen
- Page 7 and 8:
viContentsChapter 4 Design Qualitie
- Page 9 and 10:
viiiContentsChapter 16 Designing wi
- Page 11 and 12:
xPreface to the second editiondescr
- Page 13 and 14:
xiiPreface to the First EditionWhy
- Page 15 and 16:
xivPreface to the first editionto t
- Page 17 and 18:
xviPublisher’s AcknowledgementsWe
- Page 20 and 21:
chapter 13The Nature of the Design
- Page 22 and 23:
Design is just as important with so
- Page 24 and 25:
Initialobservations7More systematic
- Page 26 and 27:
development. However, it should als
- Page 28 and 29:
From this relatively simple case st
- Page 30 and 31:
nnWhere possible, the panels used i
- Page 32 and 33:
It might well be argued that while
- Page 34 and 35:
system being developed. Clearly, in
- Page 36 and 37:
case study, the outline plan on squ
- Page 38 and 39:
nnnWicked problems do not have an e
- Page 40:
on to Pittsburgh. Airline B is the
- Page 43 and 44:
262.1 What is software?The software
- Page 45 and 46:
28nChangeability. Software suffers
- Page 47 and 48:
30The software design processFigure
- Page 49 and 50:
32The software design processthat a
- Page 51 and 52:
34The software design processFigure
- Page 53 and 54:
36The software design processFigure
- Page 55 and 56:
38The software design processproces
- Page 57 and 58:
40The software design processform p
- Page 59 and 60:
42The software design processFigure
- Page 61 and 62:
44The software design process2.3 De
- Page 63 and 64:
463.1 A context for designDesign in
- Page 65 and 66:
48Design in the software developmen
- Page 67 and 68:
50Design in the software developmen
- Page 69 and 70:
52Design in the software developmen
- Page 71 and 72:
54A personal itchDesign in the soft
- Page 73 and 74:
56Design in the software developmen
- Page 75 and 76:
58Design in the software developmen
- Page 77 and 78:
60nthe associated role of requireme
- Page 80 and 81:
chapter 463Design Qualities4.1 The
- Page 82 and 83:
is virtually impossible to modify i
- Page 84 and 85:
measurable characteristic that can
- Page 86 and 87:
69Assessing design qualityFigure 4.
- Page 88 and 89:
nnnnreliabilityefficiencymaintainab
- Page 90 and 91:
Table 4.1The cognitive dimensions73
- Page 92 and 93:
system. The results of this study u
- Page 94 and 95:
nnnmodules are easy to replace;each
- Page 96 and 97:
Table 4.3The principal forms of coh
- Page 98 and 99:
Identifying attributes that are the
- Page 100 and 101:
Our study of the nature of the desi
- Page 102:
nTechnical design reviews can provi
- Page 106 and 107:
chapter 589Describing a Design Solu
- Page 108 and 109:
91Figure 5.1Example of a ‘physica
- Page 110 and 111:
term is used to describe ‘stakeho
- Page 112 and 113:
95Design viewpoints for softwareFig
- Page 114 and 115:
nnof mark-up languages such as HTML
- Page 116 and 117:
nnntextdiagramsmathematical express
- Page 118 and 119:
happens with pioneering ideas, it h
- Page 120:
I have termed ‘derived viewpoints
- Page 123 and 124:
1066.1 The need to share knowledgeT
- Page 125 and 126:
108Transferring design knowledge6.1
- Page 127 and 128:
110then briefly consider how the co
- Page 129 and 130:
112Transferring design knowledgethe
- Page 131 and 132:
114Transferring design knowledge6.2
- Page 133 and 134:
116mainTransferring design knowledg
- Page 135 and 136:
118Transferring design knowledgennn
- Page 137 and 138:
120Transferring design knowledgeOne
- Page 139 and 140:
1226.5 A unified interpretation?Tra
- Page 141 and 142:
124Transferring design knowledgeA s
- Page 144 and 145:
chapter 7127Some Design Representat
- Page 146 and 147:
Table 7.1The selection of black box
- Page 148 and 149:
131Black box notationsFigure 7.1A f
- Page 150 and 151:
133Black box notationsFigure 7.3mac
- Page 152 and 153:
135Black box notationsFigure 7.4A
- Page 154 and 155:
nattributes are classes of values t
- Page 156 and 157:
The ERD viewpointERDs are purely an
- Page 158 and 159:
141Black box notationsFigure 7.10A
- Page 160 and 161:
7.2.4 The StatechartLike the STD th
- Page 162 and 163:
145Black box notationsFigure 7.13St
- Page 164 and 165:
7.2.5 The Jackson Structure Diagram
- Page 166 and 167:
149Black box notationsFigure 7.17 A
- Page 168 and 169:
151Black box notationsFigure 7.19A
- Page 170 and 171:
153Figure 7.21The UML class notatio
- Page 172 and 173:
155Use case (title indicates the ac
- Page 174 and 175:
157cardrejectedprocesscardcard acce
- Page 176 and 177:
159White box notationsFigure 7.27A
- Page 178 and 179:
only the presence of the latter is
- Page 180 and 181:
In its most simple form, such a com
- Page 182 and 183:
NarrativeUser starts web browserUse
- Page 184 and 185:
If anything, pseudocode is used rat
- Page 186 and 187:
Many notations can be conveniently
- Page 188 and 189:
171Developing a diagramFigure 7.38E
- Page 190 and 191:
Stevens P. with Pooley R. (2000). U
- Page 192 and 193:
chapter 8175The Rationale for Metho
- Page 194 and 195:
provide a methodological analysis o
- Page 196 and 197:
179Figure 8.2nnSome properties of f
- Page 198 and 199:
ones that may be usefully supported
- Page 200 and 201:
183Figure 8.3The use of virtual mac
- Page 202 and 203:
In particular, the use of a design
- Page 204 and 205:
need to be recognized. Unfortunatel
- Page 206 and 207:
A somewhat different approach to cl
- Page 208:
Exercises1918.1 How would you class
- Page 211 and 212:
1949.1 The role of strategy in meth
- Page 213 and 214:
196Design processes and design stra
- Page 215 and 216:
198Design processes and design stra
- Page 217 and 218:
200Design processes and design stra
- Page 219 and 220:
202Design processes and design stra
- Page 221 and 222:
204Design processes and design stra
- Page 223 and 224:
206Design processes and design stra
- Page 225 and 226:
208Design processes and design stra
- Page 227 and 228:
210Design processes and design stra
- Page 229 and 230:
212ExercisesDesign processes and de
- Page 231 and 232:
21410.1 Design by template and desi
- Page 233 and 234:
216Design patternspatterns for obje
- Page 235 and 236:
218Design patternsFigure 10.1A simp
- Page 237 and 238:
220Design patternsnnnnnnnnnnnName u
- Page 239 and 240:
222Design patternsFigure 10.3The pr
- Page 241 and 242:
224ClientRequesthandlerDesign patte
- Page 243 and 244:
226Design patternsout how to produc
- Page 245 and 246:
2281Design patternsRequirementsPatt
- Page 247 and 248:
230Design patternsThe patterns comm
- Page 250 and 251:
chapter 11233Stepwise Refinement11.
- Page 252 and 253:
2. The degree of modularity resulti
- Page 254 and 255:
compiler237lexical analysisFigure 1
- Page 256:
Further reading239Wirth N. (1971).
- Page 259 and 260:
24212.1 Black box to white box in s
- Page 261 and 262:
244well be to deliver a solution on
- Page 263 and 264:
246Incremental designpossible model
- Page 265 and 266:
248Incremental designnnthe roles, r
- Page 267 and 268:
250Incremental designFunctionalityT
- Page 269 and 270:
252Incremental designBusinessstudyF
- Page 271 and 272:
254Incremental designalthough it ma
- Page 273 and 274:
256ExercisesIncremental design12.1
- Page 275 and 276:
25813.1 Origins, development and ph
- Page 277 and 278:
260Structured systems analysis and
- Page 279 and 280:
262Structured systems analysis and
- Page 281 and 282:
264Structured systems analysis and
- Page 283 and 284:
266Structured systems analysis and
- Page 285 and 286:
268Structured systems analysis and
- Page 287 and 288:
270Structured systems analysis and
- Page 289 and 290:
272Structured systems analysis and
- Page 291 and 292:
274Structured systems analysis and
- Page 293 and 294:
276Structured systems analysis and
- Page 295 and 296:
278Structured systems analysis and
- Page 297 and 298:
280Structured systems analysis and
- Page 299 and 300:
282Structured systems analysis and
- Page 301 and 302:
284Structured systems analysis and
- Page 303 and 304:
286Structured systems analysis and
- Page 305 and 306:
288ExercisesStructured systems anal
- Page 307 and 308:
29014.1 Some background to JSPJacks
- Page 309 and 310:
292Jackson Structured Programming (
- Page 311 and 312:
294Jackson Structured Programming (
- Page 313 and 314:
296Jackson Structured Programming (
- Page 315 and 316:
298Jackson Structured Programming (
- Page 317 and 318:
300Jackson Structured Programming (
- Page 319 and 320:
302Jackson Structured Programming (
- Page 321 and 322:
304Jackson Structured Programming (
- Page 323 and 324:
306Jackson Structured Programming (
- Page 325 and 326:
308Jackson Structured Programming (
- Page 327 and 328:
310Jackson Structured Programming (
- Page 329 and 330:
312Jackson Structured Programming (
- Page 332 and 333:
chapter 15315Jackson System Develop
- Page 334 and 335:
317The JSD modelFigure 15.1Top-leve
- Page 336 and 337:
319Figure 15.3Generic form of ESD.t
- Page 338 and 339:
321Figure 15.6Process 1.The SSD for
- Page 340 and 341:
323The JSD processFigure 15.9 The J
- Page 342 and 343:
Entity analysis (the entity-action
- Page 344 and 345:
327The JSD processFigure 15.13The J
- Page 346 and 347:
329The JSD processFigure 15.14 The
- Page 348 and 349:
331The JSD processFigure 15.15 The
- Page 350 and 351:
333The JSD processFigure 15.16The c
- Page 352 and 353:
Information function step335From a
- Page 354 and 355:
The situation is analogous to that
- Page 356:
Exercises33915.1 Construct an ESD t
- Page 359 and 360:
34216.1 The ‘object concept’Des
- Page 361 and 362:
344Designing with objectsThe evolut
- Page 363 and 364:
346Designing with objectsFigure 16.
- Page 365 and 366:
348Designing with objectsFor the ob
- Page 367 and 368:
350Designing with objectsFigure 16.
- Page 369 and 370:
352 Executable units of code(subpro
- Page 371 and 372:
354A summary of the core concepts o
- Page 373 and 374:
356Designing with objectsnnnnnnnorg
- Page 375 and 376:
358Designing with objectsA rather l
- Page 377 and 378:
360Designing with objects16.2.1 Sur
- Page 379 and 380:
362Designing with objectsFigure 16.
- Page 381 and 382:
364closely at the representation pa
- Page 383 and 384:
366Designing with objectsAn empiric
- Page 385 and 386:
368Designing with objectsof a frame
- Page 387 and 388:
370Designing with objects16.3.2 Des
- Page 389 and 390:
372Designing with objectsDepartment
- Page 391 and 392:
374Designing with objectsFigure 16.
- Page 393 and 394:
376Designing with objects1. The obj
- Page 395 and 396:
378Designing with objectsdescribe a
- Page 397 and 398:
380Designing with objectsnnapproach
- Page 399 and 400:
382Designing with objectssequence d
- Page 401 and 402:
384Designing with objectsnnhow is t
- Page 403 and 404:
386step, it is those analysis-relat
- Page 405 and 406:
388Designing with objectsStep 7: De
- Page 407 and 408:
390Designing with objectsbehaviour,
- Page 409 and 410:
392indicate the degree of effort. A
- Page 411 and 412:
394Designing with objectsThe UP wor
- Page 413 and 414:
396Designing with objectsFigure 16.
- Page 415 and 416:
398Designing with objectsSimilarly,
- Page 417 and 418:
400Designing with objectswww.omg.or
- Page 419 and 420:
40217.1 The component conceptCompon
- Page 421 and 422:
404Component-based designmore than
- Page 423 and 424:
406Component-based designFigure 17.
- Page 425 and 426:
408Component-based designto address
- Page 427 and 428: 410Component-based designnto decomp
- Page 429 and 430: 412Component-based design4. Archite
- Page 431 and 432: 41417.3 Designing componentsCompone
- Page 433 and 434: 416Component-based designSourceInde
- Page 435 and 436: 418Component-based designwww.sei.ed
- Page 437 and 438: 42018.1 The case for rigourA formal
- Page 439 and 440: 422A formal approach to designmight
- Page 441 and 442: 424A formal approach to designFigur
- Page 443 and 444: 426A formal approach to design18.2.
- Page 445 and 446: 428 Table 18.1 Set operations used
- Page 447 and 448: 430A formal approach to designClear
- Page 449 and 450: 432InitResSystA formal approach to
- Page 451 and 452: 434A formal approach to designFigur
- Page 453 and 454: 436A formal approach to designFigur
- Page 455 and 456: 438A formal approach to designThis
- Page 457 and 458: 44018.2 Write simple Z specificatio
- Page 459 and 460: 44219.1 What is software now?Whithe
- Page 461 and 462: 444Whither software design?Figure 1
- Page 463 and 464: 446Whither software design?Figure 1
- Page 465 and 466: 448Whither software design?Another
- Page 468 and 469: 451BibliographyAbbott R.J. (1983).
- Page 470 and 471: Buxton J. and McDermid J. (1992). H
- Page 472 and 473: Guindon R. (1990). Designing the de
- Page 474 and 475: Perry D.E. and Wolf A.L. (1992). Fo
- Page 476: Ward P.T. and Mellor S.J. (1985). S
- Page 481 and 482: 464Indexgraphical user interface (G
- Page 483 and 484: 466Indexprogram design 290program i
- Page 485: 468WYIndexwalkthrough 81waterfall m