Software Engineering for Students A Programming Approach

Software Engineering for Students A Programming Approach Software Engineering for Students A Programming Approach

web.firat.edu.tr
from web.firat.edu.tr More from this publisher
21.08.2013 Views

Detailed contents ix Answers to self-test questions 65 Further reading 65 6 Modularity 67 6.1 Introduction 67 6.2 Why modularity? 68 6.3 Component types 70 6.4 Component size and complexity 70 6.5 Global data is harmful 73 6.6 Information hiding 74 6.7 Coupling and cohesion 76 6.8 Coupling 77 6.9 Cohesion 79 6.10 Object-oriented programming 82 6.11 Discussion 84 Summary 84 Exercises 85 Answers to self-test questions 85 Further reading 86 7 Structured programming 87 7.1 Introduction 87 7.2 Arguments against goto 89 7.3 Arguments in favor of goto 92 7.4 Selecting control structures 94 7.5 What is structured programming? 96 Summary 98 Exercises 99 Answer to self-test question 100 Further reading 101 8 Functional decomposition 102 8.1 Introduction 102 8.2 Case study 103 8.3 Discussion 107 Summary 109 Exercises 109 Answer to self-test question 110 Further reading 110

x Detailed contents 9 Data flow design 111 9.1 Introduction 111 9.2 Identifying data flows 113 9.3 Creation of a structure chart 115 9.4 Discussion 117 Summary 118 Exercises 119 Answers to self-test questions 120 Further reading 120 10 Data structure design 121 10.1 Introduction 121 10.2 A simple example 122 10.3 Processing input files 126 10.4 Multiple input and output streams 127 10.5 Structure clashes 130 10.6 Discussion 134 Summary 136 Exercises 136 Answers to self-test questions 138 Further reading 138 11 Object-oriented design 139 11.1 Introduction 139 11.2 Design 140 11.3 Looking for reuse 144 11.4 Using the library 145 11.5 Class–responsibility–collaborator cards 145 11.6 Iteration 146 11.7 Discussion 147 Summary 147 Exercises 148 Answers to self-test questions 149 Further reading 149 12 Design patterns 151 12.1 Introduction 151 12.2 Inheritance 152 12.3 Delegation 153

Detailed contents ix<br />

Answers to self-test questions 65<br />

Further reading 65<br />

6 Modularity 67<br />

6.1 Introduction 67<br />

6.2 Why modularity? 68<br />

6.3 Component types 70<br />

6.4 Component size and complexity 70<br />

6.5 Global data is harmful 73<br />

6.6 In<strong>for</strong>mation hiding 74<br />

6.7 Coupling and cohesion 76<br />

6.8 Coupling 77<br />

6.9 Cohesion 79<br />

6.10 Object-oriented programming 82<br />

6.11 Discussion 84<br />

Summary 84<br />

Exercises 85<br />

Answers to self-test questions 85<br />

Further reading 86<br />

7 Structured programming 87<br />

7.1 Introduction 87<br />

7.2 Arguments against goto 89<br />

7.3 Arguments in favor of goto 92<br />

7.4 Selecting control structures 94<br />

7.5 What is structured programming? 96<br />

Summary 98<br />

Exercises 99<br />

Answer to self-test question 100<br />

Further reading 101<br />

8 Functional decomposition 102<br />

8.1 Introduction 102<br />

8.2 Case study 103<br />

8.3 Discussion 107<br />

Summary 109<br />

Exercises 109<br />

Answer to self-test question 110<br />

Further reading 110

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!