Software Design
An Introduction |
Prof. David Bernstein
|
Computer Science Department |
bernstdh@jmu.edu |
The pervasiveness of software in contemporary society means that software designers are increasingly responsible for our:
When I Say Leap... | On Feb. 29, 1988 a supermarket was fined for having 1-day-old meat on its shelves. The meat had been processed that day. |
Y19C Bug | In 1992 Mary (from Winona, MN) received her application for kindergarten. She was 104. |
Y2020 Bug | On January 1, 2020 several parking meters, a WWE game, and many other applications stopped working because of Y2K bug "fixes" that still used 2 digits for years (i.e., they assumed 00-19 were in 2000 and 20-99 were in 1900). |
B Bye | In 1995 software bugs in the automated luggage system of the new Denver airport caused suitcases to be destroyed. It opened 16 months late (using a manual system). |
A Meter Is Approximately A Yard | The $165 million Mars Polar Lander probe was destroyed in its final descent to the planet in 1999, probably because its software shut the engines off 100 feet above the surface. |
Was It A Snow Day? | Faulty software in anti-lock brakes forced the recall of 6,000 school buses in 2000 (not to mention 39,000 trucks and tractors). |
You Want Fries With That? | The MD C-17 cargo plane was $500mil over budget because of problems with its avionics software. It had 19 computers, 80 microprocessors and software written in 6 different languages. |
Go Left? Right! | A bug in the Rockwell Collins Aerospace-made flight management systems (FMSes) running on Combardier CRJ-200 aircraft that were trying to follow certain missed approaches caused them to turn right instead of left (or vice versa). |
System | A set of entities, their attributes, and the relationships between them. |
Entities | The components of the system that are known/observed. |
Attributes | The properties of the entities (i.e., the external manifestations of the way the objects are known or observed). |
Relationships | The bonds that link objects and attributes |
Environment | The set of all other systems (also known as the context and the domain) |
Subsystems | Parts of the whole which display a richness of interrelationships |
Elements/Atoms | The smallest parts of the system (i.e., black boxes) |