Download
software engineering n.
Skip this Video
Loading SlideShow in 5 Seconds..
Software Engineering PowerPoint Presentation
Download Presentation
Software Engineering

Software Engineering

208 Vues Download Presentation
Télécharger la présentation

Software Engineering

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  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’

  2. The statistics – Chaos Report • Standish Group – 1995 • 365 IT executives in US companies in diverse industry segments. • 8,380 projects average time overrun = 222%. • 61% of originally specified features included  ?  average cost overrun = 189%

  3. Over budget Home Office IT project millions over budget- Lisa Kelly [12-01-2001] 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. http://www.computing.co.uk/News/1116278

  4. Over budget / Over schedule New air traffic system already obsolete By Steve Ranger [24-01-2002] - www.vnunet.com/News/1128597 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   http://www.vnunet.com/News/1130791  [10-04-2002]

  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 email 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: http://www.hpl.hp.com/shl/papers/kazaa/KazaaUsability.pdf or from our lab web page at http://www.hpl.hp.com/shl/ Source: Nathan Good, Information Dynamics Lab, HP Laboratories, Palo Alto

  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. http://www.msnbc.com/news/758979.asp

  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 http://128.240.150.127/Risks/13.88.html#subj1.1

  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, theyinitalized 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. http://www.digitoday.no/dtno.nsf/pub/dd20010807092448_er_28707255 (in Norwegian)

  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). • http://www.byte.com/art/9512/sec6/art1.htm • Many many more - See http://catless.ncl.ac.uk/Risks

  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.

  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.

  12. Why does software fail (Charette 1989) • Terminated for convenience/ non-performance of contract. • Completed but the system is not deployed as users cannot or will not use it. • Completed but the system does not meet the originally promised cost. • Completed but the system does not meet the originally promised schedule. • Completed but the system does not meet the originally promised quality. • Completed but the system does not meet the originally promised capability. • Completed but the system could not be evolved in a cost-effective manner

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

  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)

  15. Software Engineering • Definitions: • Simple Definition: Designing, building and maintaining large software systems • 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

  16. Software Engineering cont. • Definitions cont. • ‘The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software’ IEEE Standard 610.12 • ‘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

  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’

  18. Summary • 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’ • 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’

  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’