software engineering background dr. david a. gaitros

9
Software Engineering Background Dr. David A. Gaitros

Upload: amie-gray

Post on 30-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Software Engineering Background

Dr. David A. Gaitros

Classic Software Engineering problems

• IBM OS/260 – Decade long project with many cost overruns. – Fred Brooks claims to have made a multi-million

dollar mistake by not developing a coherent architecture first.

• Ariane 5 Flight 501– First unsuccessful flight of the Equropean Ariane 5

expendable launch system. Reused software from the Ariane 4 and a data conversion problem not previousley discovered.

Classic Software Engineering problems

• MIM-104 Patriot surface-to-air missile system. – Not designed to stay in operation for an extended

period of time. The longer the system was on the higher the error on a continuous calculation which through of the accuracy of the system.

• Mariner 1– A hardware failure caused the system to lose

contact with the ground and the computer took over. A mistranslation of an equation sent the rocket off course.

Classic Software Engineering problems

• Therac-25 Radiation Therapy Machine– Allowed patients to receive lethal doses of

radiation.

• Denver Airport Baggage Handling – Significant mechanical and software problems

plagued the automated baggage handling system. In tests of the system, bags were misloaded, were misrouted, or fell out of telecarts, causing the system to jam.

Classic Software Engineering problems

• Mars Climate Orbiter– The Mars Climate Orbiter crashed because a

contractor delivered a navigational instrument that output Imperial units instead of metric.

• 180 Degree Bug– Torpedoes use to be programmed so that if they

deviated more than 90 degrees they exploded to avoid self destruction of the ship. One time a ship fired a torpedo that go stuck in the tube and he ordered the ship to return to the harbor! BOOM!

Classic Software Engineering problems

• USS Yorktown Stops, 1998– A crewmember of the computer controlled

guided-missile cruiser USS Yorktown mistakenly entered a zero on their console. A divide by zero operation caused the engines to shut down.

• Pentium Chip– 1994 pentium chip used pre-calculated set of

numbers to speed up division. Initially there were five missing numbers. Cost - $4 billion.

However – Before Software Engineering

• Scientists accurately calculated the mathematics needed to detonate a nuclear explosion.

• Man traveled to the moon on a computer less powerful than today’s hand held calculators.

• The Unix operating system was developed using the C-programming language which has been touted by the world of Software Engineers to be the worst language to use.

• The Voyager spacecraft is still working.• The SR-71 Aircraft was developed in the 1950’s and is

still today the fastest production aircraft ever built.

Why were some projects successful and other not?

• Answer: – Poor software developers produce poor software. – Mediocre software developers produce mediocre

software. – Outstanding software developers produce

superior quality software.

Software Engineering was conceived to take the human element out of the equation.

Class Discussion

• What were some of the initiatives designed to aid in improving the quality of software?

• What would you compare the development of software to?

• What are the attributes of a good software developer?

• What are the attributes of an excellent software developer?

• Have these attributes changed over the years?