Software Engineering - Detailed Notes
Evolution of Software Engineering (Timeline)
1950s Early Programming Era (Machine & Assembly language)
1960s Software Crisis – Failure of large projects
1970s Structured Programming, Waterfall Model
1980s CASE Tools, ISO & IEEE Standards
1990s Object-Oriented Design, Internet
2000s Agile, Scrum, Iterative Development
2010s-Present Cloud, DevOps, AI, Microservices
Characteristics of Good Software
Characteristic Description
Correctness Meets the specified requirements accurately.
Reliability Performs correctly under given conditions for a time period.
Efficiency Optimized use of resources like memory and CPU.
Usability Easy to understand and operate.
Maintainability Can be easily modified and updated.
Portability Runs on multiple hardware/software platforms.
Security Protects against unauthorized access and attacks.
Scalability Handles increasing load without performance issues.
Conclusion: Software Engineering has evolved as a systematic discipline solving the software
crisis and providing structured development methods. Its impact on industry, society, and economy
is immense, and its benefits outweigh the challenges.