Relevance for Software Engineering


This chapter discusses connections between principles (or heuristics) of software development and the human aspects of software engineering. Naturally, since heuristics are addressed, the focus is placed on the cognitive aspect of software engineering. Our main target in this chapter is to highlight ideas that can contribute to software development processes, independently of any particular software development method or programming language.

At the beginning of the chapter, we introduce briefly three heuristics: structured programming, successive refinement, and abstraction. Then, the focus is placed on abstraction ”one of the central ideas of software development. As mentioned earlier, the relevance of abstraction to software engineering is illustrated by discussing different topics that have been discussed so far in the book from the perspective of abstraction.

The relevance of the software architecture to software engineering processes seems clear. With respect to software architecture, we discuss the concept of metaphor. In general, metaphors become a useful communication tool between customers and developers and among developers. Specifically, eXtreme Programming (XP) (see Chapter 2, Software Engineering Methods ) includes the use of metaphor as one of its core practices.




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