For almost three decades, Roger Pressman's Software Engineering: A Practitioner's Approach has been the world's leading textbook in software engineering. The new edition represents a major restructuring and update of previous editions, solidifying the book's position as the most comprehensive guide to this important subject. The chapter structure will return to a more linear presentation of software engineering topics with a direct emphasis on the major activities that are part of a generic software process. Content will focus on widely used software engineering methods and will de-emphasize or completely eliminate discussion of secondary methods, tools and techniques. The intent is to provide a more targeted, prescriptive, and focused approach, while attempting to maintain SEPA's reputation as a comprehensive guide to software engineering.
1) The Nature of Software 2) Software Engineering
Part One - The Software Process 3) Software Process Structure 4) Process Models 5) Agile Development 6) Human Aspects of Software Engineering
Part Two - Modeling 7) Principles That Guide Practice 8) Understanding Requirements 9) Requirements Modeling: Scenario-Based Methods 10) Requirements Modeling: Class-Based Methods 11) Requirements Modeling: Behavior, Patterns, and Web/Mobile Apps 12) Design Concepts 13) Architectural Design 14) Component-Level Design 15) User Interface Design 16) Pattern-Based Design 17) WebApp Design 18) Mobile App Design
Part Three - Quality Management 19) Quality Concepts 20) Review Techniques 21) Software Quality Assurance 22) Software Testing Strategies 23) Testing Conventional Applications 24) Testing Object-Oriented Applications 25) Testing Web Applications 26) Testing Mobile Apps 27) Security Engineering 28) Formal Modeling and Verification 29) Software Configuration Management 30) Product Metrics
Part Four - Managing Software Projects 31) Project Management Concepts 32) Process and Project Metrics 33) Estimation for Software Projects 34) Project Scheduling 35) Risk Management 36) Maintenance and Re-engineering
Part Five - Advanced Topics 37) Software Process Improvement 38) Emerging Trends in Software Engineering 39) Concluding Comments
Appendix I - An Introduction to UML Appendix II - Object-Oriented Concepts Appendix III - Formal Methods