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

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 1 Software Engineering 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.
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
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.
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.
Chapter 1- Introduction
Software Engineering II Lecture 1 Fakhar Lodhi. Software Engineering - IEEE 1.The application of a systematic, disciplined, quantifiable approach to the.
Objectives of the Lecture
Software Engineering ‘The establishment and use of sound engineering principles (methods) in order to obtain economically software that is reliable and.
PROJECT MILESTONES Group Presentations: ~ 5 mins presentations.
1 An Introduction to Software Engineering. 2 Objectives l To introduce software engineering and to explain its importance l To set out the answers to.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
Software Engineering I
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 Software Engineering The first lecture.
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.
Software engineering. What is software engineering? Software engineering is an engineering discipline which is concerned with all aspects of software.
Software Engineering Lecture # 1. What is Software? 2 Software is a set of items or objects that includes: programs data documents.
What is Software?  Computer programs and associated documentation such as requirements, design models and user manuals  Software products may be developed.
1 Software Engineering, 7th edition. Chapter 1 Courtesy: ©Ian Sommerville 2004 Sep 02, 2008 Lecture # 1 An Introduction to Software Engineering.
Lecture 1Software Engineering1 (Trimester I Session 2002/2003) Lecturer / Tutor Name : Mr. R. Logeswaran
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Software Engineering EKT 420 MOHAMED ELSHAIKH KKF 8A – room 4.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
An Introduction to Software Engineering. What is Software?
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.
©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.
An Introduction to Software Engineering Support Lecture.
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.
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.
©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.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
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
An Introduction to Software Engineering
INTRODUCTION The economies of ALL developed nations are dependent on software. More and more systems are software controlled Software engineering is concerned.
Chapter 1- Introduction
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 Software Engineering is the science and art of
Software Engineering I
Software Engineering Lecture # 01
CS385T Software Engineering Dr.Doaa Sami
An Introduction to Software Engineering
Software Engineering Software Engineering is the science and art of
An Introduction to 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 Embedded Systems Economic significance 4

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

Software Characteristics

Continued..

Continued

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

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

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.

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

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

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

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

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

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

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

Characteristics of a Well Engineered Software Provides the required functionality Maintainable 26  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 27

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

Challenge is to balance these requirements 29

Law of diminishing returns

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

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

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