 Software Software  Program vs Software Products Program vs Software Products  Software Characteristics Software Characteristics  Software Crisis.

Slides:



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

Developed by Reneta Barneva, SUNY Fredonia
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.
Lecture 1: Software Engineering: Introduction
Software Engineering Course Instructor: Aisha Azeem.
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
Difference between project and other assignments  real customer  before programming: negotiations with client to clarify requirements  often.
MADALINA CROITORU Software Engineering week 1 Madalina Croitoru IUT Montpellier.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
SWE Introduction to Software Engineering
OHT 2.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 What is software? Software errors, faults and failures Classification.
Lecture 2: Software Production & Processes Dr Valentina Plekhanova University of Sunderland, UK
Software Crisis It was in late 1960’s Many software projects failed.
TCS2411 Software Engineering1 Course Overview zLectures: attendance compulsory zTutorials: attendance compulsory y(80%) for both lecturer & Tutorial zAssessment.
Introduction to Software Testing
CS4/542- Software Engineering  Software Design and Development  Required Text -- Code Complete by Steve McConnell  (Focuses on the problems of designing.
Chapter : Software Process
University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec22 1 Lecture 22: Software Measurement Basics of software measurement.
1 Software Engineering Muhammad Fahad Khan Software Engineering Muhammad Fahad Khan University Of Engineering.
Quality Assurance ITEC Rick Price. Expectations This course is not purely a lecture course – Classroom participation is a large portion – Everyone.
Software Project Management
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
PROJECT MILESTONES Group Presentations: ~ 5 mins presentations.
Software System Engineering: A tutorial
Software Reliability SEG3202 N. El Kadri.
SOFTWARE ENGINEERING1 Introduction. Software Software (IEEE): collection of programs, procedures, rules, and associated documentation and data SOFTWARE.
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
1 Scope of Software Engineering Somnuk Keretho, Assistant Professor Department of Computer Engineering Faculty of Engineering, Kasetsart University
Software Engineering Lecture # 1. What is Software? 2 Software is a set of items or objects that includes: programs data documents.
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.
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.
Basic of Software Testing Presented by The Smartpath Information System An ISO 9001:2008 Certified Organization
Software Metrics and Reliability. Definitions According to ANSI, “ Software Reliability is defined as the probability of failure – free software operation.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
OHT 1.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The uniqueness of software quality assurance The environments for which.
Introduction to Software Engineering. Why SE? Software crisis manifested itself in several ways [1]: ◦ Project running over-time. ◦ Project running over-budget.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
1 EE29B Feisal Mohammed EE29B: Introduction to Software Engineering Feisal Mohammed Ph: x3156.
Chapter 1 The Product Software is
An Introduction to Software Engineering (Chapter 1 from the textbook)
Amit Singh Introduction to Software Engineering. What is Software? The product that software professionals build and then support over the long term.
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
Software Engineering Introduction.
INTRODUCTION TO SOFTWARE DEVELOPMENT (SOFTWARE ENGINEERING-I)
Chapter 1: Introduction Omar Meqdadi SE 3860 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
PI2134 Software Engineering IT Telkom.  Software definition  Characteristic of software  Software myths  Software Engineering definition  Generic.
MANAGING COMPLEXITY Lecture OO01 Introduction to Object-oriented Analysis and Design Abstract Data Types.
Introduction to Software Engineering
Software Engineering - CSC 323
Software Engineering.
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Software Verification and Validation
Software Engineering - CSC 323
The Systems Engineering Context
CS701 SOFTWARE ENGINEERING
Software Engineering (CSE 314)
Rekayasa Perangkat Lunak
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Software engineering Lecturer: Nareena.
What is software quality?
Software Engineering I
PPT1: Basics of software engineering
CS385T Software Engineering Dr.Doaa Sami
What is software quality?
Rekayasa Perangkat Lunak
Software and Software Engineering
Introduction Software Engineering.
Presentation transcript:

 Software Software  Program vs Software Products Program vs Software Products  Software Characteristics Software Characteristics  Software Crisis Software Crisis  Software engineering Software engineering

Software: Software means a collection of programs to acquire inputs and manipulate them to produce the desired outputs in terms of functions and performance as determined by the user of the software. According to IEEE Software is the collection of computer programs, procedures rules and associated documentation and data. Software=Program + Documentation + Operating Procedures

Program vs Software Products: Program= Source Code + Object Code Software Product=Program + Documentation + Operating Procedure Documentation Object Code Programs Source Code Operating Procedures

Difference between program and software product ProgramSoftware Product 1.A program is developed by individual for personal use. 2.Small in size. 3.Single user. 4.Single developer. 5.Lacks proper documentation. 6.Lack of user interface. 7.Have limited functionality. 1.A software product is developed by team of engineers. 2.Large in size. 3.Large number of users. 4.Team of developers. 5.Good documentation support. 6.Good user interface. 7.More functionality.

Software Characteristics: 1. Software is developed or engineered; it is not manufactured in the classical sense: Hardware is always manufactured because a manufactured product has particular shape and size. Software is developed. Software grows with the passage of time. Manufacturing same hardware increases cost but developing same copies of software does not increase cost. 2. Software doesn’t wear out: There is a well known “bath-tub curve” which depicts the phases of life of a hardware product

The three phases are:  Burn-in: Failure intensity is high.  Useful life phase: Failure intensity is constant.  Wear out phase: Failure intensity is again high due to wearing out of components.

Bath-tub curve Time Failure Intensity Useful Life Phase Burn - in Phase Wear out phase

Software doesn’t have wear-out phase because software does not wear out but becomes reliable over time. It becomes obsolete or may be retired only if its environment changes. Software curve Time Failure Intensity

3. Most Software is custom-built, rather than being assembled from existing components: Most software continues to be custom built, but developments now tend to be component based which enable software engineer to develop new applications from reusable parts. e.g. GUI is built using reusable component like pull down menus, graphic windows etc. 4. Software is not replaceable: If a part of hardware wears out it can be replaced by a spare part. But no such spare part exists for software.

5. Software is flexible: A program can be developed to do almost anything. It may help to accommodate any kind of change. Reuse of components from the libraries help in reduction of developing effort which helps in making software flexible.

Software Crisis: During development of software many problems are raised up that set of problem is known as software crisis. Many software products are either not finished or are delivered with major errors. The software crisis has been around since 1970s. Reasons for software crisis:  Schedule and cost estimates are often inaccurate. i.e. software is not delivered in time or cost of software increases.  The quality of software is sometimes less than adequate. i.e software does not do what it is supposed to do.

 Communication between customer and developer is often poor.  Increase in complexity of the problem area.  Project management problem due to increase in personnel requirement per project.  The software maintenance task increases the cost of software. Cost of maintenance is approximately 30% to 40% of the development cost. To discuss the software crisis software engineering was introduced.

Software engineering: Few Important Definitions: According to IEEE: Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software, i.e. the application of engineering to software.

According to Barry Boehm: Software Engineering is the application of science and mathematics by which the capabilities of computer equipment are made useful to man via computer programs, procedures and associated documentation. According to Stephen Schach: Software Engineering is a discipline whose aim is the production of fault free software that satisfies the user’s needs and that is delivered on time and within budget. According to Somerville: Software Engineering is concerned with the theories, methods and tools that are neede to develop the software products in a cost effective way.

According to Somerville: Software Engineering is concerned with the theories, methods and tools that are needed to develop the software products in a cost effective way.

Thanks!!