1) Software and Software Engineering Part One - The Software Process 2) Process Models 3) Agility and Process 4) Recommended Process Model 5) Human Aspects of Software Engineering Part Two - Modeling 6) Principles That Guide Practice 7) Understanding Requirements 8) Requirements Modeling - A Recommended Approach 9) Design Concepts 10) Architectural Design - A Recommended Approach 11) Component-Level Design 12) User Experience Design 13) Design for Mobility 14) Pattern-Based Design Part Three - Quality and Security 15) Quality Concepts 16) Reviews - A Recommended Approach 17) Software Quality Assurance 18) Software Security Engineering 19) Software Testing - Component Level 20) Software Testing - Integration Level 21) Software Testing - Specialized Testing for Mobility 22) Software Configuration Management 23) Software Metrics and Analytics Part Four - Managing Software Projects 24) Project Management Concepts 25) Creating a Viable Software Plan 26) Risk Management 27) A Strategy for Software Support Part Five - Advanced Topics 28) Software Process Improvement 29) Emerging Trends in Software Engineering 30) Concluding Comments Appendix I - An Introduction to UML Appendix II - Data Science for Software Engineers.
ISE Software Engineering: a Practitioner's Approach