(23) Software Engineering

(23) Software Engineering - 1 CMSC 132: Object-Oriented...

Info iconThis preview shows pages 1–4. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: 1 CMSC 132: Object-Oriented Programming II Software Development Department of Computer Science University of Maryland, College Park 1 2 Modern software development Why would we want to study the software development process? To understand: Software development problems Why software projects fail Impact of software failures How to develop better software Definition of software engineering from Wikipedia: Field that creates and maintains software applications by applying technologies and practices from computer science, project management, engineering, application domains, and other fields. 2 3 Software development problems Software is Expensive More expensive than projected (cost overruns) Cost per line of code growing (unlike hardware) Frequently late (schedule overruns ) Difficult to use and understand Missing features Too slow 3 4 Software projects fail Anywhere from 25-50% of custom software fails Example – FBI Virtual Case File Began Jan 2001 Officially scrapped Jan 2005; about $100 million wasted in its development 4 5 Software projects fail Reasons for failure of FBI Virtual Case File Poor specification 800-page requirement document Repeated changes in specification New requirements continually added Poor management Repeated management turnover Micromanagement of software developers FBI personnel with no software experience 5 6 Impact of software failures increasing Software becoming part of basic infrastructure Software in cars, appliances Business transactions moving online Computers becoming increasingly connected Failures can propagate through internet Internet worms Failures can be exploited by others Viruses Spyware 6 7 Software contributes to real failures Bugs in software may cause real-world failures Example– Air Force F-22A Raptor A stealth fighter that costs $300 million each Its avionics are controlled by 1.7 million lines of code 7 8 Software contributes to real failures Air Force F-22A Raptor software fails midair DefenseNews.com (March 5, 2007) “When a dozen Raptors en route from Hawaii to Japan crossed the International Date Line for the first time, the jets’ Global Positioning System navigation avionics went haywire, forcing the pilots to turn around.” A happy ending for the Raptor? Lockheed-Martin provided a software fix in 48 hours For “operational security reasons” the USAF declined to elaborate, saying only that the F-22A “experienced a software problem involving the navigation system” 8 9 Other famous software failures 1990 AT&T long distance calls fail for 9 hours 1996 Ariane rocket explodes on launch 1999 Mars Climate Orbiter crashes on Mars Other failures are discussed at: http://news.zdnet.com/2424-9595_22-177729.html 9 10 10 Why is software so difficult?...
View Full Document

This note was uploaded on 11/16/2011 for the course CMSC 132 taught by Professor Padua-perez during the Fall '08 term at Maryland.

Page1 / 15

(23) Software Engineering - 1 CMSC 132: Object-Oriented...

This preview shows document pages 1 - 4. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online