Software Engineering is a text for undergraduate software engineering students, appropriate as a survey or introduction to this topic. It covers the history of software development, theory and principles coupled with examples of application and tools, human issues, uniting all with a common case example. This 2nd edition includes object-oriented development, metrics and cost estimation, and process considerations.