The Elements of Class Design

A scenario for a help kiosk for the MTA

We want to build a path finder for subway stations. The purpose of the device is to help out-of-towners find the proper route to their destination. The kiosk displays a map of the subway system, with all lines and stations. The display indicates the current station ("you are here") prominently. The user can query the system by clicking on the desired destination. The system then indicates the lines to use and the stations at which to transfer.

The user can also query the system by entering the name of the station. The system response can also be displayed in textual form ("take the A to West 4th Street, change to the F,.."), and can be also be printed.

Other desirable features:

a) it should be possible to display a single subway line.

b) The system should calculate the number of stations between start and destination, and possibly give an estimate of the travel time.

c) The information on the system must be up-to-date: local station closings for repairs should be indicated.

d) The system should include maps of the neighborhood of a station, indicating access staircases and the streets to which they lead.

d) Eventually the system should be integrated with the bus and suburban train routes, and it should be possible to enter a street address and obtain a hybrid subway/bus itinerary.