Software Engineering??? Preeti Mishra Subject Incharge
Lecture Outline• What is Software… (development
lifecycle)• What is Software Engineering• Limitations of Non-Engineered Software• Need of Software Engineering• How we proceed the teaching• Class Rules
Software• Software is a general term for the various kinds
of programs used to operate computers and related devices.
Software Engineering• Engineering is the application of scientific, economic,
social, and practical knowledge in order to invent, design, build, maintain, research, and improve structures, machines, devices, systems, materials, and processes.
• Software engineering is the study and an application of engineering to the design, development, and maintenance of software.
• “An engineering discipline that is concerned with all aspects of software production“
• The term "software engineering", coined by Margaret Hamilton
Example space shuttle software• Cost: $10 Billion, much more than planned• Time: 3 years late• Quality: first launch of Columbia was cancelled
due to synchronizatio problem ( reason was a programmer changed some delay from 50 to 80 milliseconds , 2 years back!!)
• Many errors still exists
Example 2: Software released in market• Never error free• Updates are needed to meet users
requirements.. (ms windows XP)
Some facts..
• Standard software : 25 bugs per 1,000 lines of program
• Windows 95: 200,000 errors!!!• Space shuttle software< 1 errors per
10,000 lines
Additional Problems
• Exploding cost during development• Delivery date cannot be met• Organizational structure changes
Need of Software Engineering• The discipline of software engineering was created to address:
– poor quality of software, – get projects exceeding time and budget under control,
• And ensure that software is built :– systematically, – rigorously, – measurably, – on time, – on budget,– and within specification.
• Engineering already addresses all these issues, hence the same principles used in engineering can be applied to software.
How we proceed..• Theory Class: Theoretical concepts of S/W Engg• Tutorial: Exercises, case Studies to prove the
theoretical concepts..• Lab: Modelling Techniques using UML• Tutorial and Lab work will be in teams of 2-3
Students..