Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Engineering Lecture # 1. What is Software? 2 Software is a set of items or objects that includes: programs data documents.

Similar presentations


Presentation on theme: "Software Engineering Lecture # 1. What is Software? 2 Software is a set of items or objects that includes: programs data documents."— Presentation transcript:

1 Software Engineering Lecture # 1

2 What is Software? 2 Software is a set of items or objects that includes: programs data documents

3 Why is it important?

4 Importance of Software Software in everyday life Business decisions Products and services Technology and innovations Embedded Systems Economic significance 4

5 Hardware Vs. Software Hardware Wears out Replaceable spare parts Software Does not wear out No spare parts 5

6 Software Characteristics

7 Continued..

8 Continued

9

10

11 The source of inherent complexity in software The difference between a software system and a car !!

12 Cost of Software Software costs often dominate system costs. The costs of software on a PC are often greater than the hardware cost Software costs more to maintain than it does to develop. For systems with a long life, maintenance costs may be several times development costs 12

13 13 The name of the game is continuous change and evolution in all dimensions!

14 Engineering The study concerned with putting scientific knowledge to practical use Webster’s Dictionary 14

15 Engineering… A way of approaching a problem An approach to productively use scientific knowledge Examples: Electrical Engineering Mechanical Engineering Civil Engineering 15 Physics as basic science

16 Difference between Computer Science and Software Engineering 16 Software Engineering uses knowledge from Computer Science to effectively build software

17 Software Crisis A Historical Perspective (1950’s) The advent of more powerful and cheaper hardware resulted in more complex applications. The tools and technologies for primitive computer systems were inadequate for newer systems Resulted in Prolonged schedule slippages Astronomical development and maintenance costs Unreliable software systems Disappointment !!! Software was in Crisis 17

18 Result.. In most of the cases that software which was tried to be build using those old tools and techniques were not complete. Most of the times it was delivered too late. Most of the projects were over-budgeted. And in most of the case systems build using these techniques were not reliable –meaning that they were not be able to do what they were expected to do.

19 The Birth of Software Engineering Born in 1960 in a conference on Software Crisis Software Crisis resulted in realization that: 19 “Coding” alone was not enough!! New techniques and methods were required to control the complexity inherent in “LARGE” software systems

20 The Birth of Software Engineering… Decision There should be some engineering principles applied for the development of successful software 20 The Term ‘Software Engineering’ was coined

21 Software Engineering-Definitions IEEE The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software 21

22 Software Engineering-Definitions Ian Sommerville- All aspects of software production: Software engineering is not just concerned with the technical processes of software development, but also with activities such as software project management and with the development of tools, methods and theories to support software production 22

23 Software Engineering 23 Software Engineering is not just about producing software, but about producing software in a COST- EFFECTIVE manner. The set of processes and tools to develop software

24 Software Engineering: Points to Remember SE is has a wide scope and is concerned with anything that has something to do with software SE is concerned with cost effective software development SE is NOT just coding; there is a lot more to it 24 SE is nothing but a disciplined and systematic approach to developing software

25 No Silver Bullet Fred Brooks, “The Mythical Man-month” There is no short cut to software development Software can be disastrous to managers in the form of: Schedule slippages High costs Delivery of unreliable systems 25

26 Characteristics of a Well Engineered Software Provides the required functionality Maintainable 26  Efficient  User-friendly  Cost-effective Reliable

27 A software engineer is challenged to produce high- quality software with a finite amount of resources, within predicted schedule and budget 27

28 The Balancing Act Software requirements may be conflicting Cost vs. Efficiency Cost vs. Reliability Efficiency vs. User-interface 28

29 Challenge is to balance these requirements 29

30 Law of diminishing returns

31 Effort Breakdown Breakdown of activities involved in software development (Caper Jones) Project Management 8.08% Requirements 14.43% Design 11.36% Coding13.50% SQA30.64% SCM13.02% Integration6.54% Miscellaneous ~3% 31 SE is NOT just Coding !!

32 Software Engineering is nothing but a disciplined and systematic approach to software development! (In a cost effective manner) 32

33 Well-Engineered Software Well-engineered software is one that has the following characteristics. It is reliable It has good user-interface It has acceptable performance It is of good quality It is cost-effective


Download ppt "Software Engineering Lecture # 1. What is Software? 2 Software is a set of items or objects that includes: programs data documents."

Similar presentations


Ads by Google