MCS-178 Project 5: GusAir demonstration (Spring 2010)

Due May 5, 2010

Overview

This is the third of three projects based on the GusAir case study, which is described in a the background document. For this project, your goal flows from the following paragraph of that document:

Finally, if our study of dynamic pricing is encouraging, the founders of GusAir are going to need to explain it to a lot of other people including bank loan officers, potential investors, and journalists. Therefore, we have been asked to provide some illustrative examples of how the price might vary over time as customers make their purchasing decisions. We have also been asked to provide a simple user interface that can be used to step through particular what-if scenarios.

Starting points from class discussion

Each of you has chosen a different approach:

Taking screenshots

In documenting a GUI, a picture can be worth a thousand words. An image of some portion of the computer screen is conventionally called a screenshot. I can show you various ways to take screenshots in Mac OS X. For example, if you press the keyboard combination control-shift-command-4, you can then drag through an arbitrary rectangular region of the screen that you want to copy to the clipboard, ready to paste into whatever word processor you are using to write your project report. (Or, without the control key, the screenshot will be saved to a file on your desktop.) If, as is commonly the case, you want to select a whole window rather than an an arbitrary rectangular window, then after the magic key combination, you can press the space bar and then click on the window.

Project report expectations

Your project report will be graded based on the following expectations. Ten percent of your grade will come from each of these ten areas.

  1. You are to explain what your program does in language that would be clear to one of our clients at GusAir. In addition to explaining the particular controls and displays that your program offers (as shown in one or more screenshots that you include), you should provide some higher-level explanation of the value the program provides. How would it allow stake-holders to appreciate the nature of dynamic pricing, including its impact on both the customer experience and the airline's revenue?

  2. Each widget in your GUI should be of an appropriate type for the role it plays. (For example, an output value should show up in a label, rather than in a text entry field that seems to invite the user to edit it. Another example of a mistake would be checkboxes with a label warning users to check only one; radio buttons would be more appropriate for mutually exclusive options.)

  3. The widgets in your GUI should be grouped into logically related categories. Where a number of adjacent widgets of the same kind are used for closely-related information, they should have consistent sizes and positioning.

  4. When there is a logical order to widgets (such as chronological order or cause and effect), that order should be manifest in the top-to-bottom or left-to-right spatial order of your GUI's layout.

  5. Your GUI should not have any distracting gaps (such as between a label and what it is labeling), nor any widgets with sizes grossly out of proportion to their contents. To the extent reasonably possible, this should remain true even if the overall window is resized.

  6. Each widget that provides for user interaction should trigger appropriate behavior from the program when activated.

  7. Your procedures should not only be free of bugs, but also as simple and clear as reasonably can be achieved.

  8. Your project report should use devices such as section headings to provide a clear organizational structure.

  9. The writing mechanics should not embarrass Gustavus in front of our business partners. Examples of mechanical issues are spelling, punctuation, grammar, and paragraph breaks.

  10. You are to demonstrate your program in class on April 30th, accompanying your demonstration with an oral explanation in language that would be clear to one of our clients at GusAir. As in your written report, you should attempt to go beyond the mechanics of your user interface by providing some higher-level explanation of the value the program provides.