Chapter 11: Abstraction and Other Heuristics of Software Development


Introduction

The process of software development comprises different activities, each with its own objective. Some activities aim to improve the code (e.g., testing and code review); others aim at improving the software from the customer s perspective (requirements definition).

This chapter examines different types of activities that are carried out during the software development processes. These activities are continuously conducted , yet it is not obvious specifically when they are performed. They are, in fact, heuristics (or ways of thinking) that one may employ when one performs other activities. One of these ideas is abstraction, discussed previously (see Chapter 8, The History of Software Engineering, and Chapter 10, Learning Processes in Software Engineering ).

This chapter starts by describing three heuristics: structured programming, successive refinement, and abstraction. Then, the focus is placed on abstraction, and different chapters of the book are reexamined through the lens of abstraction. This examination is conducted to illustrate how abstraction may highlight additional dimensions of almost any topic connected to software engineering, and consequently how such an examination may deepen our understanding of this topic. We convey that abstraction is a perspective that can be used for different purposes in different situations. This message is based on the assumption that the awareness of the concept of abstraction may improve one s performance within the profession of software engineering.

The next concepts discussed in this chapter are the human aspects of software architecture and the use of metaphors in software engineering processes. This chapter concludes by describing how abstraction is expressed in computer science and software engineering academic programs.




Human Aspects of Software Engineering
Human Aspects of Software Engineering (Charles River Media Computer Engineering)
ISBN: 1584503130
EAN: 2147483647
Year: 2004
Pages: 242

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net