Software Engineering for Students A Programming Approach
Software Engineering for Students A Programming Approach Software Engineering for Students A Programming Approach
Detailed contents Preface xix Part A ● Preliminaries 1 1 Software – problems and prospects 3 1.1 Introduction 3 1.2 Meeting users’ needs 4 1.3 The cost of software production 5 1.4 Meeting deadlines 10 1.5 Software performance 10 1.6 Portability 11 1.7 Maintenance 11 1.8 Reliability 13 1.9 Human–computer interaction 16 1.10 A software crisis? 16 1.11 A remedy – software engineering? 17 Summary 18 Exercises 19 Answers to self-test questions 20 Further reading 20 2 The tasks of software development 22 2.1 Introduction 22 2.2 The tasks 23 2.3 Process models 26 2.4 Methodology 27 2.5 Hacking 28 Summary 28 Exercises 28 Answer to self-test question 29 vii
viii Detailed contents 3 The feasibility study 30 3.1 Introduction 30 3.2 Technical feasibility 31 3.3 Cost-benefit analysis 31 3.4 Other criteria 32 3.5 Case study 32 3.6 Discussion 34 Summary 34 Exercises 34 Answers to self-test questions 35 Further reading 35 4 Requirements engineering 36 4.1 Introduction 36 4.2 The concept of a requirement 37 4.3 The qualities of a specification 38 4.4 How to elicit requirements 40 4.5 The requirements specification 41 4.6 The structure of a specification 42 4.7 Use cases 45 4.8 Use case diagrams 46 Summary 47 Exercises 47 Answers to self-test questions 48 Further reading 49 Part B ● Design 51 5 User interface design 53 5.1 Introduction 53 5.2 An inter-disciplinary field 54 5.3 Styles of human–computer interface 54 5.4 Different perspectives on user interface design 56 5.5 Design principles and guidelines 57 5.6 Interface design 60 5.7 Case study 62 5.8 Help systems 63 Summary 64 Exercises 64
- 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: vi Contents Part D ● Verification
- 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
Detailed contents<br />
Preface xix<br />
Part A ● Preliminaries 1<br />
1 <strong>Software</strong> – problems and prospects 3<br />
1.1 Introduction 3<br />
1.2 Meeting users’ needs 4<br />
1.3 The cost of software production 5<br />
1.4 Meeting deadlines 10<br />
1.5 <strong>Software</strong> per<strong>for</strong>mance 10<br />
1.6 Portability 11<br />
1.7 Maintenance 11<br />
1.8 Reliability 13<br />
1.9 Human–computer interaction 16<br />
1.10 A software crisis? 16<br />
1.11 A remedy – software engineering? 17<br />
Summary 18<br />
Exercises 19<br />
Answers to self-test questions 20<br />
Further reading 20<br />
2 The tasks of software development 22<br />
2.1 Introduction 22<br />
2.2 The tasks 23<br />
2.3 Process models 26<br />
2.4 Methodology 27<br />
2.5 Hacking 28<br />
Summary 28<br />
Exercises 28<br />
Answer to self-test question 29<br />
vii