Fundamental Approaches to Software Engineering (1998)