Dr D. Greer, Queens University Belfast Chapter One 1 Software Engineering Chapter One Introduction Learning Outcomes Appreciate the problems associated.

Slides:



Advertisements
Similar presentations
Copyright 2006 Mid-City Offices Systems. Busy people… How would your business be affected, if you suddenly lost all of your computer data? Rush through.
Advertisements

CSCI 5230: Project Management Software Reuse Disasters: Therac-25 and Ariane 5 Flight 501 David Sumpter 12/4/2001.
ABC. Question 1 Human capital is defined as: The knowledge, talent, and skills that people possess. A The common knowledge, talent, and skills that all.
MADALINA CROITORU Software Engineering week 1 Madalina Croitoru IUT Montpellier.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 5 Duplication.
Ethics in a Computing Culture
Human Computer Interaction G52HCI
©Ian Sommerville 2000CS 365 Ariane 5 launcher failureSlide 1 The Ariane 5 Launcher Failure June 4th 1996 Total failure of the Ariane 5 launcher on its.
Software Engineering I Preface Lecturer: Paul Dunne Course web site:
1 CMSC 132: Object-Oriented Programming II Software Development I Department of Computer Science University of Maryland, College Park.
Software Engineering For Beginners. General Information Lecturer, Patricia O’Byrne, office K115A. –
Principles of Information Technology
Topic 10Summer London Ambulance System Some of the slides created by Sommerville.
Electronic Health Records
©Ian Sommerville 2004Software Engineering Case Studies Slide 1 The Ariane 5 Launcher Failure June 4th 1996 Total failure of the Ariane 5 launcher on its.
C ASE S TUDY 1 Software Engineering. S TATISTIC Conducted by Standish Group – IT executives of US companies in different industries 8,380 projects.
CS4/542- Software Engineering  Software Design and Development  Required Text -- Code Complete by Steve McConnell  (Focuses on the problems of designing.
OHT 3.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan
CHAPTER 4: INTRODUCTION TO COMPUTER ORGANIZATION AND PROGRAMMING DESIGN Lec. Ghader Kurdi.
Introduction to Usability By : Sumathie Sundaresan.
USS Yorktown (1998) A crew member of the guided-missile cruiser USS Yorktown mistakenly entered a zero for a data value, which resulted in a division by.
Copyright Course Technology 1999
What is Software Engineering? the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software”
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
The Ariane 5 Launcher Failure
PGD-1303 Software Project Management?. What is software? Software  Computer programs and associated documentation Documentation includes  requirements.
CRASH AND BURN ARIANE 5 Kristen Hieronymus SYSM6309 Advanced Requirements Engineering
CRASH AND BURN ARIANE 5 Kristen Hieronymus SYSM6309 Advanced Requirements Engineering
Principles of User Centred Design Howell Istance.
Networks and Hackers Copyright © Texas Education Agency, All rights reserved. 1.
Why is software engineering worth studying?  Demand for software is growing dramatically  Software costs are growing per system  Many projects have.
Local Area Networks (LAN) are small networks, with a short distance for the cables to run, typically a room, a floor, or a building. - LANs are limited.
By Anthony W. Hill & Course Technology1 Common End User Problems.
 Is the scientific application of a set of tools and methods to a software system which is meant to result in high-quality, defect-free, and maintainable.
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
CEN st Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi What.
Software Engineering Management Lecture 1 The Software Process.
CSc161 Software Quality Pete Sawyer & Alan Dix
Jump to first page (c) 1999, A. Lakhotia 1 Software engineering? Arun Lakhotia University of Louisiana at Lafayette Po Box Lafayette, LA 70504, USA.
CSCI 51 Introduction to Computer Science Dr. Joshua Stough January 20, 2009.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
1 Software Engineering Ian Sommerville th edition Instructor: Mrs. Eman ElAjrami University Of Palestine.
Advantage of File-oriented system: it provides useful historical information about how data are managed earlier. File-oriented systems create many problems.
1 Chapter 1 The Product. 2 What is Software?  Pressman Instruction (computer programs) Data Structures Documents  Sommerville Software is computer programs.
CS3100 Software Project Management: Monitoring & Control 1 Software Project Management Week 10: Project Monitoring & control Ian Blackman.
Software Defects.
Increasing Efficiency in Data Collection Processes Arie Aharon, Israel Central Bureau of Statistics.
Systems Development Life Cycle
Introduction to Usability By : Sumathie Sundaresan.
IS2210: Systems Analysis and Systems Design and Change Twitter:
1 Chapter 13 (Week 13) SYSTEMS MAINTENANCE AND EVALUATION Chapter 13: SYSTEMS MAINTENANCE AND EVALUATION Throughout its life, a system should operate effectively.
Chapter 8 System Management Semester 2. Objectives  Evaluating an operating system  Cooperation among components  The role of memory, processor,
HNDIT23082– Principals of Software Engineering
National Diploma Unit 4 Introduction to Software Development Program specification & development.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission.
CEN 4021 Software Engineering II Instructor: Peter Clarke Spring 2005.
CS223: Software Engineering Lecture 32: Software Maintenance.
Topic 10Summer Ariane 5 Some slides based on talk from Sommerville.
INTRODUCTION CSE 470 : Software Engineering. Goals of Software Engineering To produce software that is absolutely correct. To produce software with minimum.
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Systems Analysis and Design
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
The Top 10 bugs
Chapter 1. Introduction Eric Braude and Michael Bernstein.
ONLINE SECURE DATA SERVICE
Thanks to Atif Memon from UMD for disaster examples
Terms: Data: Database: Database Management System: INTRODUCTION
Principles of Information Technology
SOFTWARE ENGINEERING CS-5337: Introduction
Presentation transcript:

Dr D. Greer, Queens University Belfast Chapter One 1 Software Engineering Chapter One Introduction Learning Outcomes Appreciate the problems associated with developing software Understand the need for a managed approach to Software Development Be able to define the term ‘Software Engineering’

Dr D. Greer, Queens University Belfast Chapter One 2 The statistics – Chaos Report  Standish Group – 1995  365 IT executives in US companies in diverse industry segments.  8,380 projects average cost overrun = 189% average time overrun = 222%. 61% of originally specified features included  ?

Dr D. Greer, Queens University Belfast Chapter One 3 Over budget Home Office IT project millions over budget- Lisa Kelly [ ] A Home Office IT project run by Bull Information Systems is expected to blow its budget by millions of pounds and is hampered by a restrictive contract, according to a leaked report. The National Audit Office report, due in the Spring, is expected to reveal damning evidence that the project to implement two systems - the National Probation Service Information Systems Strategy, and the Case Record and Management System - for the probation service will cost £118m by the end of the year, 70 per cent over its original budget.

Dr D. Greer, Queens University Belfast Chapter One 4 Over budget / Over schedule New air traffic system already obsolete By Steve Ranger [ ] National Air Traffic Services (Nats) is already looking at replacing the systems at its new control centre at Swanwick in Hampshire, even though the system doesn't become operational until next week. Now running six years late and £180m over budget, the system will control 200,000 square miles of airspace over England and Wales, looking after two million flights a year. It will finally go live on 27 January. But long-term planners are already looking at replacing the systems. Nats told vnunet.com that it plans to do things very differently next time in a bid to avoid delays. Swanwick was originally meant to be operational by 1997, but problems with the development of software by Lockheed Martin caused delays, according to Nats. … Air traffic control system crashes again [ ]Air traffic control system crashes again

Dr D. Greer, Queens University Belfast Chapter One 5 Data Integrity – HP Labs We have just finished a study that shows how user interface design flaws allow users on Kazaa to share their personal files without their knowledge. In a laboratory user study, only 2 out of 12 subjects were able to correctly determine that Kazaa was sharing their entire hard drive. We looked at the current Kazaa network and discovered that many users are sharing personal information such as and data for financial programs such as Microsoft Money. To see if other users on Kazaa were aware of this and taking advantage of users ignorance, we ran a Kazaa client for 24 hours with dummy personal files. During this time, files named "Inbox.dbx" and "Credit Cards.xls" where downloaded from our client by several unique users. The tech report can be accessed here: or from our lab web page at Source: Nathan Good, Information Dynamics Lab, HP Laboratories, Palo Alto

Dr D. Greer, Queens University Belfast Chapter One 6 Data Integrity  Canadian account holders information was accessible, AP, 29 May 2002  A design flaw at a Fidelity Investments online service accessible to 300,000 people allowed Canadian account holders to view other customers' account activity. The problem was discovered over the weekend by Ian Allen, a computer studies professor at Algonquin College in Ottawa. Fidelity said it had fixed the problem and was offering customers the option of changing account numbers.

Dr D. Greer, Queens University Belfast Chapter One 7 Safety - London Ambulance Dispatching System The full introduction of the computer system effectively did away with the radio and telephone calls to stations, with the computer dispatching crews to answer calls. But within hours, during the morning rush, it became obvious to crews and control room staff that calls were going missing in the system; ambulances were arriving late or doubling up on calls. Distraught emergency callers were also held in a queuing system which failed to put them through for up to 30 minutes. Chris Humphreys, Nupe's divisional officer, said that it was hard to verify how many people might have died because of the delays but it could be as many as 20. However, the ambulance service contradicted claims that one 14-year-old boy had died of an asthma attach after waiting 45 minutes. It said that the call was dealt with in 28 minutes - although the Patient's Charter has a target of 14 minutes. A man of 83 was also said to have died before the service reverted to the old system at 2p.m. on Tuesday.  Causes: assumed location of ambulances known, memory leak, operators left out From

Dr D. Greer, Queens University Belfast Chapter One 8 Human Error  EDB Fellesdata AS runs the computer services of about half of Norway's banks. On Thursday 2 Aug 2001, they apparently installed about 280 disks in their Hitachi storage. Then, instead of initializing the new disks, they initalized all their disks -- thereby wiping out the entire warehouse. EDB Fellesdata itself declines to make any statements in the case pending further contact with their customers, the banks. They are considering lawsuits, but if one of their own employees made a "user error", they may have a hard time of it. (in Norwegian)

Dr D. Greer, Queens University Belfast Chapter One 9 Threats to Human Life  Very famous (infamous) case  In 1986, two cancer patients at the East Texas Cancer Center in Tyler received fatal radiation overdoses from the Therac-25, a computer-controlled radiation-therapy machine. There were several errors, among them the failure of the programmer to detect a race condition (i.e., miscoordination between concurrent tasks).   Many many more - See

Dr D. Greer, Queens University Belfast Chapter One 10 Programming/testing Error – Ariane 5 It took the European Space Agency 10 years and $7 billion to produce Ariane 5, a giant rocket capable of hurling a pair of three-ton satellites into orbit with each launch and intended to give Europe overwhelming supremacy in the commercial space business. All it took to explode that rocket less than a minute into its maiden voyage scattering fiery rubble across the mangrove swamps of French Guiana, was a small computer program trying to stuff a 64-bit number into a 16-bit space. At 39 seconds after launch, as the rocket reached an altitude of two and a half miles, a self-destruct mechanism finished off Ariane 5, along with its payload of four expensive and uninsured scientific satellites. This disintegration had begun an instant before, when the spacecraft swerved off course under the pressure of the three powerful nozzles in its boosters and main engine. The rocket was making an abrupt course correction that was not needed, compensating for a wrong turn that had not taken place.

Dr D. Greer, Queens University Belfast Chapter One 11 Ariane 5 continued Steering was controlled by the on-board computer, which mistakenly thought the rocket needed a course change because of the numbers, which in fact were an error message, coming from the inertial guidance system. The guidance system had in fact shut down 36.7 seconds after launch, when the guidance system's own computer tried to convert one piece of data -- the sideways velocity of the rocket -- from a 64-bit format to a 16-bit format = overflow error. When the guidance system shut down, it passed control to an identical, redundant unit, which was there to provide backup in case of just such a failure. Guess what - the second unit (having the same software) failed too. In an earlier design decision, the programmers had decided that this particular velocity figure would never be large enough to cause trouble. After all, it never had been before. BUT Ariane 5 was a faster rocket than Ariane 4. One extra absurdity: the calculation containing the bug actually served no purpose once the rocket was in the air. Its only function was to align the system before launch. So it should have been turned off.

Dr D. Greer, Queens University Belfast Chapter One 12 Why does software fail (Charette 1989) 1. Terminated for convenience/ non-performance of contract. 2. Completed but the system is not deployed as users cannot or will not use it. 3. Completed but the system does not meet the originally promised cost. 4. Completed but the system does not meet the originally promised schedule. 5. Completed but the system does not meet the originally promised quality. 6. Completed but the system does not meet the originally promised capability. 7. Completed but the system could not be evolved in a cost- effective manner

Dr D. Greer, Queens University Belfast Chapter One 13 What makes software special? The main differences in software engineering compared to other engineering disciplines are listed [BSI, 1995]. 1. It is difficult for a customer to specify requirements completely. 2. It is difficult for the supplier to understand fully the customer needs. 3. In defining and understanding requirements, especially changing requirements, large quantities of information need to be communicated and assimilated continuously. 4. Software is seemingly easy to change. 5. Software is primarily intangible; much of the process of creating software is also intangible, involving experience, thought and imagination. 6. It is difficult to test software exhaustively

Dr D. Greer, Queens University Belfast Chapter One 14 A Solution - Software Engineering:  Greater emphasis on systematic development.  A concentration on finding out the user’s requirements  Formal/Semi Formal specification of the requirements of a system  Demonstration of early version of a system (prototyping)  Greater emphases on trying to ensure error free code  Computer assistance for software development (CASE)

Dr D. Greer, Queens University Belfast Chapter One 15 Software Engineering  Definitions: o Simple Definition: Designing, building and maintaining large software systems o Others:  ‘Software engineering is concerned with the theories, methods and tools for developing, managing and evolving software products ’ I. Sommerville  ‘The practical application of scientific knowledge in the design and construction of computer programs and the associated documentation required to develop, operate and maintain them’ B.W.Boehm  ‘The establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines’ F.L.Bauer

Dr D. Greer, Queens University Belfast Chapter One 16 Software Engineering cont.  Definitions cont. o ‘The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software’ IEEE Standard o ‘The technological and managerial discipline concerned with systematic production and maintenance of software products that are developed and modified on time and within cost constraints’ R. Fairley

Dr D. Greer, Queens University Belfast Chapter One 17 Software Engineering Chapter One Introduction Learning Outcomes Appreciate the problems associated with developing software Understand the need for a managed approach to Software Development Be able to define the term ‘Software Engineering’

Dr D. Greer, Queens University Belfast Chapter One 18 Summary  There are many cases of Software Engineering Failure  Failure can be either the system is cancelled before being completed or terminated for some reason or is completed with fewer functions than required, over-budget or over-schedule  Software is different from other products  Need for Engineering Approach to Software Development  Software engineering is concerned with the theories, methods and tools for developing, managing and evolving software products’  Learning Outcomes oAppreciate the problems associated with developing software oUnderstand the need for a managed approach to Software Development oBe able to define the term ‘Software Engineering’

Dr D. Greer, Queens University Belfast Chapter One 19 Software Engineering Chapter One Introduction Learning Outcomes Appreciate the problems associated with developing software Understand the need for a managed approach to Software Development Be able to define the term ‘Software Engineering’