Preface
Preface to the First Edition
List of Figures
1. INTRODUCTION
1.1 The Software Engineering Disciplinc Its Evolution and Impact
1.1.1 Evolution of an Art into an Engineering Discipline
1.1.2 A Solution to the Software Crisis
1.2 Software Development Projects
1.2.1 Programs versus Products
1.2.2 Types of Software Development Projects
1.2.3 Software Projects being Undertaken by Indian Companies
1.3 What is Wrong with the Exploratory Style of Software Development?
1.3.1 Perceived Problem Complexity: An Interpretation Based on Human Cognition Mechanism
1.3.2 Principles Deployed by Software Engineering to Overcome Human Cognitive Limitations
1.3.3 Why Study Software Engineering?
1.4 Emergence of Software Engineering
1.4.1 Early Computer Programming
1.4.2 High-Level Language Programming
1.4.3 Control Flow-Based Design
1.4.4 Data Structure-Oriented Design
1.4.5 Data Flow-Oriented Design
1.4.6 Object-Oriented Design
1.4.7 What Next?
1.4.8 Other Developments
1.5 Notable Changes-in-S-oftware Development Practices
1.6 Computer Systems Engineering
Summary
Exercises
2. SOFTWARE LIFE CYCLE MODELS
3. SOFTWARE PROJECT MANAGEMENT
4. REQUIREMENTS ANALYSIS AND SPECIFICATION,
5. SOFTWARE DESIGN
6. FUNCTION-ORIENTED SOFTWARE DESIGN
7. OBJECT MODELLING USING UML
8. OBJECT-ORIENTED SOFTWARE DEVELOPMENT
9. USER INTERFACE DESIGN
10. CODING AND TESTING
11. SOFTWARE RELIABILITY AND QUALITY MANAGEMENT
12. COMPUTER AIDED SOFTWARE ENGINEERING
13. SOFTWARE MAINTENANCE
14. SOFTWARE REUSE
15. EMERGING TRENDS
Exercises
References
Index