Software Engineering for Students A Programming Approach
Software Engineering for Students A Programming Approach Software Engineering for Students A Programming Approach
Detailed contents xv 23 Prototyping 303 23.1 Introduction 303 23.2 Definition 303 23.3 Throwaway or evolutionary? 304 23.4 Throwaway prototyping 305 23.5 Evolutionary prototyping 307 23.6 Rapid prototyping techniques 308 23.7 Discussion 310 Summary 312 Exercises 312 Answers to self-test questions 313 24 Incremental development 314 24.1 Introduction 314 24.2 Big-bang implementation 315 24.3 Test beds 315 24.4 Top-down implementation 316 24.5 Bottom-up implementation 317 24.6 Middle-out implementation 318 24.7 Use case driven implementation 319 24.8 Discussion 319 Summary 320 Exercises 320 Answers to self-test questions 321 Further reading 321 25 Open source software development 322 25.1 Introduction 322 25.2 The principles of open source development 322 25.3 The schism within open source development 323 25.4 Techniques of open source development 324 25.5 Case Study: the GNU/Linux operating system 325 25.6 Discussion 326 Summary 327 Exercises 328 Answers to self-test questions 328 Further reading 328
xvi Detailed contents 26 Agile methods and extreme programming 330 26.1 Introduction 330 26.2 The agile manifesto 330 26.3 Extreme programming 332 Summary 335 Exercises 336 Answers to self-test questions 336 Further reading 336 27 The unified process 337 27.1 Introduction 337 27.2 Overview 337 27.3 Phases of the UP 338 27.4 Techniques 339 27.5 Iteration 341 27.6 Case study 341 27.7 Discussion 343 Summary 343 Exercises 344 Further reading 344 Part F ● Project management 345 28 Teams 347 28.1 Introduction 347 28.2 The principles of teams 347 28.3 The functional team 351 28.4 The project team 351 28.5 The chief programmer team 351 28.6 The object-oriented team 353 28.7 Discussion 354 Summary 355 Exercises 355 Answer To self-test question 355 Further reading 356 29 Software metrics and quality assurance 357 29.1 Introduction 357 29.2 Basic metrics 358 29.3 Complexity metrics 358
- 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: xiv Detailed contents 19.7 Unit tes
- 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
Detailed contents xv<br />
23 Prototyping 303<br />
23.1 Introduction 303<br />
23.2 Definition 303<br />
23.3 Throwaway or evolutionary? 304<br />
23.4 Throwaway prototyping 305<br />
23.5 Evolutionary prototyping 307<br />
23.6 Rapid prototyping techniques 308<br />
23.7 Discussion 310<br />
Summary 312<br />
Exercises 312<br />
Answers to self-test questions 313<br />
24 Incremental development 314<br />
24.1 Introduction 314<br />
24.2 Big-bang implementation 315<br />
24.3 Test beds 315<br />
24.4 Top-down implementation 316<br />
24.5 Bottom-up implementation 317<br />
24.6 Middle-out implementation 318<br />
24.7 Use case driven implementation 319<br />
24.8 Discussion 319<br />
Summary 320<br />
Exercises 320<br />
Answers to self-test questions 321<br />
Further reading 321<br />
25 Open source software development 322<br />
25.1 Introduction 322<br />
25.2 The principles of open source development 322<br />
25.3 The schism within open source development 323<br />
25.4 Techniques of open source development 324<br />
25.5 Case Study: the GNU/Linux operating system 325<br />
25.6 Discussion 326<br />
Summary 327<br />
Exercises 328<br />
Answers to self-test questions 328<br />
Further reading 328