Essentials of Software Engineering, Second Edition is a comprehensive, yet concise introduction to the core fundamental topics and methodologies of software development. Ideal for new students or seasoned professionals looking for a new career in the area of software engineering, this text presents the complete life cycle of a software system, from inception to release and through support. The authors have broken the text into six distinct sections covering programming concepts, system analysis and design, principles of software engineering, development and support processes, methodologies, and product management. Presenting topics emphasized by the IEEE Computer Society sponsored Software Engineering Body of Knowledge (SWEBOK) and by the Software Engineering 2004 Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering, the second edition of Essentials of Software Engineering is an exceptional text for those entering the exciting world of software development. New topics of the Second Edition include: Process definition and communications added in Chapter 4 Requirements traceability added in Chapter 6 Further design concerns, such as impedance mismatch in Chapter 7 Law of Demeter in Chapter 8 Measuring project properties and GQM in Chapter 13 Security and software engineering in a new Chapter 14