SE-2002 SOFTWARE ENGINEERING Today - motivation: - Software Engineering: Why? - Software Engineering: What?

Slides:



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

Overview of IS Controls, Auditing, and Security Fall 2005.
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
© Devon M.Simmonds, 2007 CSC 550 Graduate Course in Software Engineering ______________________ Devon M. Simmonds Computer Science Department University.
Chapter 2 The Software Process
PERTEMUAN - 2 SOFTWARE QUALITY. OBJECTIVES After completing this chapter, you will be able to: ■ Define software, software quality and software quality.
Software Engineering 2003 Jyrki Nummenmaa 1 SOFTWARE ENGINEERING Today - motivation: - Software Engineering: Why? - Software Engineering: What?
F21DF1 : Databases & Information SystemsLachlan M. MacKinnon & Phil Trinder Introduction to Information Systems Databases & Information Systems Lachlan.
MADALINA CROITORU Software Engineering week 1 Madalina Croitoru IUT Montpellier.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
6/10/20151 Introduction to Software Engineering. 6/10/20152 Programming versus Software Engineering l programming 1. The process of translating a problem.
What is Software Engineering? And why is it so hard?
INDUSTRIAL & SYSTEMS ENGINEERING
OHT 2.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 What is software? Software errors, faults and failures Classification.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Software Engineering About the Course Software Engineering Qutaibah Malluhi Computer Science and Engineering Department Qatar University.
F29IF2 : Databases & Information Systems Lachlan M. MacKinnon The Domain of Information Systems Databases & Information Systems Lachlan M. MacKinnon.
1 IS371 WEEK 8 Last and Final Assignment Application Development Alternatives to Application Development Instructor Online Evaluations.
Software Process and Product Metrics
 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.
Software Engineering Introduction. Why are you here? …alternatively, why do we think you need to be here? Why a course on software engineering? How is.
Software Project Management
PGD-1303 Software Project Management?. What is software? Software  Computer programs and associated documentation Documentation includes  requirements.
Introduction to Software Engineering. Topic Covered What is software? Attribute of good S/w? Computer Software? What is Software Engineering? Evolving.
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
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.
SE513 Software Quality Control Lecture01: Introduction to Software Quality Assurance Galin, SQA from Theory to Education Limited.
Chapter 2 소프트웨어공학 Software Engineering 임현승 강원대학교
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
Project Management Methodology Project Closing. Project closing stage Must be performed for all projects, successfully completed or shut off by management.
Chapter 2 Process: A Generic View
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
An Introduction to Software Engineering. What is Software?
Jump to first page (c) 1999, A. Lakhotia 1 Software engineering? Arun Lakhotia University of Louisiana at Lafayette Po Box Lafayette, LA 70504, USA.
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
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.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
OHT 1.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The uniqueness of software quality assurance The environments for which.
IT Essentials: PC Hardware and Software v4.0. Chapter 4 Objectives 4.1 Explain the purpose of preventive maintenance 4.2 Identify the steps of the troubleshooting.
Software Requirements and Design Khalid Ishaq
1 EE29B Feisal Mohammed EE29B: Introduction to Software Engineering Feisal Mohammed Ph: x3156.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
OHTO -99 OHJELMISTOJEN TOTEUTUS - SOFTWARE ENGINEERING Today - motivation: - Software Engineering: Why? - Software Engineering: What?
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Requirements Engineering Process
Software Engineering Issues Software Engineering Concepts System Specifications Procedural Design Object-Oriented Design System Testing.
1 Chapter 2 A Generic View of Process Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Software Engineering Introduction.
Software Engineering (CSI 321) Software Process: A Generic View 1.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission.
Project Management Methodology Project Closing. Project closing stage Must be performed for all projects, successfully completed or shut off by management.
Can We Trust the Computer? FIRE, Chapter 4. What Can Go Wrong? What are the risks and reasons for computer failures? How much risk must or should we accept?
Advanced Software Engineering Dr. Cheng
Introduction to management
OHJELMISTOJEN TOTEUTUS - SOFTWARE ENGINEERING
Software Verification and Validation
Introduction to Software Engineering
Software Engineering - CSC 323
CO5021 Systems Development Week 1
Software Engineering (CSI 321)
Software Engineering (CSE 314)
What is software quality?
Chapter 1. Introduction Eric Braude and Michael Bernstein.
What is software quality?
Presentation transcript:

SE-2002 SOFTWARE ENGINEERING Today - motivation: - Software Engineering: Why? - Software Engineering: What?

SE-2002 WHY SOFTWARE ENGINEERING? High failure rate of software projects. Expensive or dramatic failures - urces.html has, in addition to an also otherwise good set of links, also links to descriptions of failed software projects. urces.html Also the partially succesfull software projects have problems. A belief that systematic work could improve things.

SE-2002 HOW TO IDENTIFY SOFTWARE PROJECT SUCCESS The product is accepted or sells Economical profit Low error rate Schedule and budget are kept

SE-2002 SUCCESS FACTORS Good project management Understanding the needs and freezing the requirements Controlled implementation and delivery Skilled project personnel Sufficient resources Good communication between groups

SE-2002 MAJOR ERRORS Too optimistic design Over-emphasizing technology Management problems No profitability pre-evaluation Unrealistic resources Communication problems

SE-2002 SUCCESS STUDIES - ONNI’88 (Finland) Over 100 projects Good success: 33% Questionable: 42% Failure: 25%

SE-2002 ONNI’88 - REASONS FOR FAILURE Inabilities of the Software Engineering personnel Insufficient resources Management problems

SE-2002 SUCCESS STUDIES: USA’82 - Gibson & Singer 18 projects Good success: 17% Partly usable/in use: 28% Satisfactory (just about?) 11% Failure: 22% No evaluation: 11%

SE-2002 USA’82 - REASONS FOR FAILURE Organisational problems New work methods and salary policies Unexpected changes in business

SE-2002 FORSMAN’S STUDIES (FINLAND) From Forsman’s book ”ATK-projektin läpivienti”, Suomen ATK-kustannus Oy, projects Good success: 18% Partially usable/in use: 29% Satisfactory (just about?): 29% Failure: 24%

SE-2002 FORSMAN - REASONS FOR FAILURE Problems in organisation and attitudes The customer could not decide what it wants Problems with customer and software producer communication Inexperience of the software producer

SE-2002 EXAMPLES OF FAILING SOFTWARE RISKS: Nuclear war General technical device malfunction (e.g. failing life-support devices) Economical transaction failures Economical losses in business Personal tragedies from faulty information Y2K was considered to imply several different kinds of risks, but all went reasonably well

SE-2002 A BELIEF IN SYSTEMATIC WORK AND METHODS There is no way to guarantee success Sometimes also the not so good practices seem to bring some success However, the studies suggest that the way software is made is meaningful for the success, at least statistically Practical observations support the belief

SE-2002 LARGE SYSTEMS Some problems grow with the size of the software, below we give example sizes: Dutch KLM airline reservation system (1993), assembler loc (lines of code) Unix System V, relese 4.0 with Xnews and X11, over loc Nokia NMS/2000 network management system, over loc NASA Space Shuttle software, lines of object code IBM OS360: 5000 man years of development

SE-2002 SOFTWARE ENGINEERING - WHAT IEEE: Software engineering is the systematic approach to the development, operation, maintenance, and retirement of software An earlier definition: Software engineering is the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines.

SE-2002 SOFTWARE ENGINEERING - WHAT (observations) Software engineering concerns the construction of large programs. Mastering complexity is essential. Regular co-operation between people is an integral part of the process. Software evolves. Software development efficiency is important The software has to serve its purpose and users.