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

Slides:



Advertisements
Similar presentations
Adaptive Processes Introduction to Software Engineering Adaptive Processes.
Advertisements

Ch.1 Introduction to Software Engineering The Evolution 1.1 The Evolving Role of Software 1/15 In the early days: User Computer Software = Place a sequence.
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 1 Software Engineering Software Engineering.
Difference between project and other assignments  real customer  before programming: negotiations with client to clarify requirements  often.
Lawrence Chung Software Engineering: Introduction 1 Module 1: Introduction to Software Engineering.
What is Software Engineering? And why is it so hard?
SWE Introduction to Software Engineering
7M822 Software Engineering Introduction 7 September 2010.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
CS351 - Software Engineering (AY2005)1 What is software engineering? Software engineering is an engineering discipline which is concerned with all aspects.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
SE 112 Slide 1 SE 112 l
Ch.11 Software Engineering A Preview. Ch.12 Outline Definitions of software engineering (SE) Historical origins of SE SE as part of systems engineering.
Lecture 1.
Introduction/overview, Process model. What is Software Engineering? Why we need Software Engineering? Software Process Models.
 Software Software  Program vs Software Products Program vs Software Products  Software Characteristics Software Characteristics  Software Crisis.
CS4/542- Software Engineering  Software Design and Development  Required Text -- Code Complete by Steve McConnell  (Focuses on the problems of designing.
Gerardo Schneider Department of Informatics University of Oslo Oslo, March 2009.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 System and Software Engineering.
Software Engineering II Lecture 1 Fakhar Lodhi. Software Engineering - IEEE 1.The application of a systematic, disciplined, quantifiable approach to the.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Software Engineering ‘The establishment and use of sound engineering principles (methods) in order to obtain economically software that is reliable and.
Software Engineering I
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 Software Engineering The first lecture.
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
2-Oct-15 1 Introduction to Software Engineering Softwares Importance of SWE Basic SWE Concepts ICS Software Engineering.
2-Oct-15 Introduction to SWE1 Introduction to Software Engineering Softwares Importance of SWE Basic SWE Concepts.
Ch.1 1 Software Engineering A Preview Chapter 1. Ch.1 2 Outline My Background Definitions of software engineering (SE) Historical origins of SE SE as.
What is Software?  Computer programs and associated documentation such as requirements, design models and user manuals  Software products may be developed.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
Chapter 1: Introduction Omar Meqdadi SE 2730 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Slide 1 CS 310 Software Engineering Professor C. Shilepsky Spring Chapter 1 u define software engineering.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 1 Slide 1 Chapter 1 Introduction.
Lecture 1 The University of Lahore Software Engineering Saeed Akhtar
Software Engineering, COMP201 Slide 1 Introduction to software engineering Lecture 1.
1 Software Engineering Ian Sommerville th edition Instructor: Mrs. Eman ElAjrami University Of Palestine.
Chapter 1 The Product. 2 Product  What is it?  Who does it?  Why is it important?  How to ensure it be done right?
An Introduction to Software Engineering (Chapter 1 from the textbook)
Overview: Software and Software Engineering n Software is used by virtually everyone in society. n Software engineers have a moral obligation to build.
Software Engineering Lecture # 1. What is Software? 2 Software is a set of items or objects that includes: programs data documents.
Software Development Life Cycle (SDLC)
Pertemuan 1 Introduction to Software Engineering Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun: 2010.
1 Software Engineering, 8th edition. Chapter 1 Jan 28 th, 2009 Lecture # 1 Courtesy: ©Ian Sommerville 2006 An Introduction to Software Engineering.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 CSC 4700 Software Engineering John Lewis These slides are based on originals provided by Ian Sommerville.
HNDIT23082– Principals of Software Engineering
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 1 Slide 1 Chapter 1 Introduction As modified by Randy Smith.
Saroj Saengphongumphai, May Thank you to every teachers, books, websites, posts, articles, etc.
Introduction to Software Project Management Lecture1.
Introduction to Software Engineering
CompSci 280 S Introduction to Software Development
INTRODUCTION The economies of ALL developed nations are dependent on software. More and more systems are software controlled Software engineering is concerned.
Introduction to Software Engineering
Chapter 1- Introduction
Software engineering Lecturer: Nareena.
An Introduction to Software Engineering
Overview: Software and Software Engineering
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Software Engineering I
Software Engineering Lecture # 01
CS385T Software Engineering Dr.Doaa Sami
Software and Software Engineering
Chapter 1: Software and Software Engineering
Presentation transcript:

Software Engineering Lecture # 1

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

Why is it important?

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

Importance of Software … Software acts as basis for: Control of computer – operating systems Communication of information – internet Creation and control of other programs – software tools and environments 5

Hardware Vs. Software Hardware Wears out Replaceable spare parts Software Does not wear out No spare parts 6 Software characteristics: Intangible Exhibits aging Complex Deteriorates ( Decline, Depreciate ) Defect prone

Hardware Vs. Software … 7 Failure Rate Time Infant Mortality Wear out Hardware Failure Curve

Wear Vs. Deterioration 8 idealized / theoretical curve change actual curve Failure rate Time increased failure rate due to side effects Software deteriorates and becomes complex

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

Complexity in Software Complexity of software arises from Complexity of problem domain Difficulty in managing development process Software evolution Direct consequence of software change is software defects 10 The complexity of software is an essential property, not an accidental one

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 11

The Cost of Change 12 Definition Development After release 1x 1.5-6x x

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

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

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

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

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

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

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

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 20

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 21

Software Engineering 22 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

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 23 SE is nothing but a disciplined and systematic approach to developing software

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 24 Begin upright and upfront with a systematic approach to building software

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

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

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

Challenge is to balance these requirements 28

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% 29 SE is NOT just Coding !!

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