- Page 1 and 2:
Software Engineering for Students D
- Page 3 and 4:
We work with leading authors to dev
- Page 5 and 6:
Pearson Education Limited Edinburgh
- Page 7 and 8:
vi Contents Part D ● Verification
- Page 9 and 10:
viii Detailed contents 3 The feasib
- Page 11 and 12:
x Detailed contents 9 Data flow des
- Page 13 and 14:
xii Detailed contents 14.7 Repetiti
- Page 15 and 16:
xiv Detailed contents 19.7 Unit tes
- Page 17 and 18:
xvi Detailed contents 26 Agile meth
- Page 19 and 20:
xviii Detailed contents 32.4 Softwa
- Page 21 and 22:
xx Preface Software Engineering and
- Page 23 and 24:
xxii Preface are engaged on a proje
- Page 26 and 27:
CHAPTER 1 This chapter: ■ reviews
- Page 28 and 29:
1.3 The cost of software production
- Page 30 and 31:
100% 10% 1970 SELF-TEST QUESTION Ha
- Page 32 and 33:
Analysis and design 1 /3 Coding 1 /
- Page 34 and 35:
SELF-TEST QUESTION 1.7 Maintenance
- Page 36 and 37:
1.8 Reliability 13 in the first pla
- Page 38 and 39:
1.8 Reliability 15 contain a comma
- Page 40 and 41:
Ease of maintenance Reliability Con
- Page 42 and 43:
Exercises 19 • Exercises These ex
- Page 44 and 45:
Further reading 21 Analyses of the
- Page 46 and 47:
■ documentation ■ maintenance
- Page 48 and 49:
2.2 The tasks 25 An important examp
- Page 50 and 51:
2.4 Methodology 27 reality. Like an
- Page 52 and 53:
■ error free ■ fault ■ tested
- Page 54 and 55:
3.2 ● Technical feasibility 3.3 C
- Page 56 and 57:
3.5 Case study 33 The hardware cost
- Page 58 and 59:
Answers to self-test questions 3.1
- Page 60 and 61:
4.2 The concept of a requirement 37
- Page 62 and 63:
4.3 The qualities of a specificatio
- Page 64 and 65:
4.5 The requirements specification
- Page 66 and 67:
4.6 The structure of a specificatio
- Page 68 and 69:
4.7 ● Use cases 4.7 Use cases 45
- Page 70 and 71:
Summary The ideal characteristics o
- Page 72:
Further reading 49 Further reading
- Page 76 and 77:
CHAPTER 5 This chapter explains: 5.
- Page 78 and 79:
5.3 Styles of human-computer interf
- Page 80 and 81:
5.5 Design principles and guideline
- Page 82 and 83:
5.5 Design principles and guideline
- Page 84 and 85:
SELF-TEST QUESTION 5.2 What problem
- Page 86 and 87:
5.8 Help systems 63 Our plan is to
- Page 88 and 89:
Further reading 65 5.5 Design a use
- Page 90 and 91:
CHAPTER 6 Modularity This chapter e
- Page 92 and 93:
6.2 Why modularity? 69 observed fau
- Page 94 and 95:
Figure 6.1 Two alternative software
- Page 96 and 97:
■ a simple program is more likely
- Page 98 and 99:
6.6 Information hiding 75 The class
- Page 100 and 101:
6.8 ● Coupling 6.8 Coupling 77 We
- Page 102 and 103:
6. Method calls with parameters tha
- Page 104 and 105:
3. Temporal cohesion 6.9 Cohesion 8
- Page 106 and 107:
> } public void setY(int newY) { y
- Page 108 and 109:
• Exercises 6.1 What is modularit
- Page 110 and 111:
CHAPTER 7 Structured programming Th
- Page 112 and 113:
7.2 Arguments against goto 89 If we
- Page 114 and 115:
■ if-then-else ■ while-do or re
- Page 116 and 117:
7.3 Arguments in favor of goto 93 l
- Page 118 and 119:
7.4 Selecting control structures 95
- Page 120 and 121:
while do if endif then else endWhil
- Page 122 and 123:
• Exercises 7.1 Review the argume
- Page 124 and 125:
count = 0 loop: count = count + 1 i
- Page 126 and 127:
> 8.2 Case study 103 A statement th
- Page 128 and 129:
start button event create defender
- Page 130 and 131:
8.3 ● Discussion Abstraction One
- Page 132 and 133:
Exercises 109 skill. On the other h
- Page 134 and 135:
CHAPTER 9 This chapter explains: 9.
- Page 136 and 137:
9.2 Identifying data flows 113 Noti
- Page 138 and 139:
9.3 Creation of a structure chart 1
- Page 140 and 141:
SELF-TEST QUESTION 9.4 Discussion 1
- Page 142 and 143:
Exercises 119 During the second sta
- Page 144 and 145:
CHAPTER 10 This chapter explains:
- Page 146 and 147:
In English, this reads: 10.2 A simp
- Page 148 and 149:
10.2 A simple example 125 Now comes
- Page 150 and 151:
10.4 Multiple input and output stre
- Page 152 and 153:
Process header Process issue 10.4 M
- Page 154 and 155:
10.5 Structure clashes 131 As seen
- Page 156 and 157:
10.5 Structure clashes 133 Let us r
- Page 158 and 159:
10.6 Discussion 135 ■ teachable -
- Page 160 and 161:
Exercises 137 2. a control block, s
- Page 162 and 163:
CHAPTER 11 Object-oriented design T
- Page 164 and 165:
Figure 11.1 The cyberspace invaders
- Page 166 and 167:
SELF-TEST QUESTION 11.1 Derive info
- Page 168 and 169:
11.5 Class-responsibility-collabora
- Page 170 and 171:
11.7 ● Discussion Summary 147 OOD
- Page 172 and 173:
11.11 Compare and contrast the prin
- Page 174 and 175:
CHAPTER 12 This chapter explains: 1
- Page 176 and 177:
12.3 Delegation 153 The concepts of
- Page 178 and 179:
12.5 Factory method 155 The followi
- Page 180 and 181:
12.8 Model, view controller (observ
- Page 182 and 183:
Figure 12.4 Pipe and Filter pattern
- Page 184 and 185:
Figure 12.6 Layers in a distributed
- Page 186 and 187:
Answers to self-test questions 163
- Page 188 and 189:
CHAPTER 13 Refactoring This chapter
- Page 190 and 191:
13.3 ● Move Method 13.6 Inline Cl
- Page 192 and 193:
class Sprite Instance variables x y
- Page 194 and 195:
Summary Summary 171 it is making po
- Page 196:
PART C PROGRAMMING LANGUAGES
- Page 199 and 200:
176 Chapter 14 ■ The basics and a
- Page 201 and 202:
178 Chapter 14 ■ The basics > > >
- Page 203 and 204:
180 Chapter 14 ■ The basics > Ear
- Page 205 and 206:
182 Chapter 14 ■ The basics > Cas
- Page 207 and 208:
184 Chapter 14 ■ The basics > > >
- Page 209 and 210:
186 Chapter 14 ■ The basics > } }
- Page 211 and 212:
188 Chapter 14 ■ The basics Unfor
- Page 213 and 214:
190 Chapter 14 ■ The basics Ada d
- Page 215 and 216:
192 Chapter 14 ■ The basics The w
- Page 217 and 218:
194 Chapter 14 ■ The basics In a
- Page 219 and 220:
196 Chapter 14 ■ The basics > str
- Page 221 and 222:
198 Chapter 14 ■ The basics Answe
- Page 223 and 224:
CHAPTER 15 Object-oriented programm
- Page 225 and 226:
202 Chapter 15 ■ Object-oriented
- Page 227 and 228:
204 Chapter 15 ■ Object-oriented
- Page 229 and 230:
206 Chapter 15 ■ Object-oriented
- Page 231 and 232:
208 Chapter 15 ■ Object-oriented
- Page 233 and 234:
210 Chapter 15 ■ Object-oriented
- Page 235 and 236:
212 Chapter 15 ■ Object-oriented
- Page 237 and 238: 214 Chapter 15 ■ Object-oriented
- Page 239 and 240: 216 Chapter 15 ■ Object-oriented
- Page 241 and 242: 218 Chapter 15 ■ Object-oriented
- Page 243 and 244: 220 Chapter 15 ■ Object-oriented
- Page 245 and 246: 222 Chapter 16 ■ Programming in t
- Page 247 and 248: 224 Chapter 16 ■ Programming in t
- Page 249 and 250: 226 Chapter 16 ■ Programming in t
- Page 251 and 252: 228 Chapter 16 ■ Programming in t
- Page 253 and 254: 230 Chapter 16 ■ Programming in t
- Page 255 and 256: 232 Chapter 16 ■ Programming in t
- Page 257 and 258: 234 Chapter 16 ■ Programming in t
- Page 259 and 260: 236 Chapter 16 ■ Programming in t
- Page 261 and 262: 238 Chapter 17 ■ Software robustn
- Page 263 and 264: 240 Chapter 17 ■ Software robustn
- Page 265 and 266: 242 Chapter 17 ■ Software robustn
- Page 267 and 268: 244 Chapter 17 ■ Software robustn
- Page 269 and 270: 246 Chapter 17 ■ Software robustn
- Page 271 and 272: 248 Chapter 17 ■ Software robustn
- Page 273 and 274: 250 Chapter 17 ■ Software robustn
- Page 275 and 276: 252 Chapter 17 ■ Software robustn
- Page 277 and 278: 254 Chapter 17 ■ Software robustn
- Page 279 and 280: 256 Chapter 17 ■ Software robustn
- Page 281 and 282: 258 Chapter 17 ■ Software robustn
- Page 283 and 284: 260 Chapter 18 ■ Scripting GNU/Li
- Page 285 and 286: 262 Chapter 18 ■ Scripting In sum
- Page 290 and 291: CHAPTER 19 Testing This chapter:
- Page 292 and 293: 19.4 Black box (functional) testing
- Page 294 and 295: second. So we devise two tests: Tes
- Page 296 and 297: } else { result.setText("you cannot
- Page 298 and 299: Testing the test data 19.6 Other te
- Page 300 and 301: Figure 19.2 Unit testing Driver Com
- Page 302 and 303: Exercises 279 In black box (or func
- Page 304 and 305: Answers to self-test questions 19.1
- Page 306 and 307: CHAPTER 20 Groups This chapter expl
- Page 308 and 309: 20.3 Structured walkthroughs 285 Al
- Page 310 and 311: Summary 287 The strategic thinking
- Page 312: PART E PROCESS MODELS
- Page 315 and 316: 292 Chapter 21 ■ The waterfall mo
- Page 317 and 318: 294 Chapter 21 ■ The waterfall mo
- Page 319 and 320: 296 Chapter 21 ■ The waterfall mo
- Page 321 and 322: 298 Chapter 22 ■ The spiral model
- Page 323 and 324: 300 Chapter 22 ■ The spiral model
- Page 325 and 326: 302 Chapter 22 ■ The spiral model
- Page 327 and 328: 304 Chapter 23 ■ Prototyping a cl
- Page 329 and 330: 306 Chapter 23 ■ Prototyping Draw
- Page 331 and 332: 308 Chapter 23 ■ Prototyping The
- Page 333 and 334: 310 Chapter 23 ■ Prototyping 23.7
- Page 335 and 336: 312 Chapter 23 ■ Prototyping SELF
- Page 337 and 338:
CHAPTER 24 Incremental development
- Page 339 and 340:
316 Chapter 24 ■ Incremental deve
- Page 341 and 342:
318 Chapter 24 ■ Incremental deve
- Page 343 and 344:
320 Chapter 24 ■ Incremental deve
- Page 345 and 346:
CHAPTER 25 This chapter explains: 2
- Page 347 and 348:
324 Chapter 25 ■ Open source soft
- Page 349 and 350:
326 Chapter 25 ■ Open source soft
- Page 351 and 352:
328 Chapter 25 ■ Open source soft
- Page 353 and 354:
CHAPTER 26 This chapter explains:
- Page 355 and 356:
332 Chapter 26 ■ Agile methods an
- Page 357 and 358:
334 Chapter 26 ■ Agile methods an
- Page 359 and 360:
336 Chapter 26 ■ Agile methods an
- Page 361 and 362:
338 Chapter 27 ■ The unified proc
- Page 363 and 364:
340 Chapter 27 ■ The unified proc
- Page 365 and 366:
342 Chapter 27 ■ The unified proc
- Page 367 and 368:
344 Chapter 27 ■ The unified proc
- Page 370 and 371:
CHAPTER 28 Teams This chapter expla
- Page 372 and 373:
Time taken Figure 28.2 Having a bab
- Page 374 and 375:
28.5 The chief programmer team 351
- Page 376 and 377:
28.6 The object-oriented team 353 T
- Page 378 and 379:
Summary Answer to self-test questio
- Page 380 and 381:
CHAPTER 29 This chapter: ■ explai
- Page 382 and 383:
29.3 Complexity metrics 359 that pr
- Page 384 and 385:
29.4 Faults and reliability - estim
- Page 386 and 387:
29.5 Software quality 363 encompass
- Page 388 and 389:
29.7 Process improvement 365 specif
- Page 390 and 391:
Summary Metrics support software en
- Page 392 and 393:
Further reading 369 The definitive
- Page 394 and 395:
■ it comprises a number of indivi
- Page 396 and 397:
30.3 Cost estimation 373 The most r
- Page 398 and 399:
30.4 ● Selecting tools and method
- Page 400 and 401:
30.6 In the heat of the project 377
- Page 402 and 403:
30.7 Managing people 379 productivi
- Page 404 and 405:
Further reading 381 30.5 You are th
- Page 406:
PART G REVIEW
- Page 409 and 410:
386 Chapter 31 ■ Assessing method
- Page 411 and 412:
388 Chapter 31 ■ Assessing method
- Page 413 and 414:
390 Chapter 31 ■ Assessing method
- Page 415 and 416:
CHAPTER 32 Conclusion This chapter:
- Page 417 and 418:
394 Chapter 32 ■ Conclusion Ada c
- Page 419 and 420:
396 Chapter 32 ■ Conclusion may h
- Page 421 and 422:
398 Chapter 32 ■ Conclusion Some
- Page 423 and 424:
400 Chapter 32 ■ Conclusion engin
- Page 425 and 426:
402 Chapter 32 ■ Conclusion • E
- Page 428:
APPENDICES
- Page 431 and 432:
408 Appendix A ■ Case studies The
- Page 433 and 434:
410 Appendix A ■ Case studies ■
- Page 435 and 436:
APPENDIX C The Unified Modeling Lan
- Page 437 and 438:
414 Appendix C ■ UML summary name
- Page 439 and 440:
416 Appendix C ■ UML summary This
- Page 441 and 442:
418 Bibliography Programmers - thei
- Page 443 and 444:
420 Index component types 70 compon
- Page 445 and 446:
422 Index Microsoft Project 376 mid
- Page 447:
424 Index Torvalds, L. 325-6 trust