Lecture 1

12
Software Engineering??? Preeti Mishra Subject Incharge

Transcript of Lecture 1

Software Engineering???

Preeti MishraSubject 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

Non Engineered software…

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..

Class Rules

• Time… Class\Lab timings.. • Submission Timings• Don’t Copy!!! • Feel free to come up with any idea• Early feedbacks will be beneficial… ;)