Find a job that needs to be done by a program with a GUI.
Describe and analyze the potential users for the program, using the techniques described in the textbook (chapters 4-6). Ideally, this should include interviewing at least two possible users, then developing one or more personas based on the information in the interviews. (The book talks about interviewing half a dozen or more users for at least an hour apiece; for our purposes, we can reduce both the number and duration of interviews.)
Design the user interface for this program. You may want to suggest which features to include in the "minimal version", which to include in the "intermediate version", and which to include only in the "full version"; note that these correspond not to levels of user expertise, but rather to stages of implementation completeness.
Present your user interface design, along with the process you went through to develop it, to the class, either with PowerPoint slides or using the whiteboard (or other appropriate tools). Be prepared to answer questions about your design.
Turn in
Design and implement the program, presenting as nearly as possible the interface your fellow student designed. If you think part of the interface is unworkable, discuss it with the designer and get the designer's approval for each specific change to the interface. The designer will be expected to update the user's manual for each such change.
Turn in
Test-drive your fellow student's program, using the user's manual and the checklist of implemented UI features but not looking at the source code. Write a review (1-2 pages) of the program, pointing out good and bad features of the user interface and any places that the program disagrees with the user's manual.
Then take off your "user's hat" and put on a "programmer's hat". Read the source code and write your comments about it.
Your grade on HW3a is computed as follows:
Your grade on HW3b is computed as follows:
Your grade on HW3c is my assessment of your review: is it careful, detailed, correct, etc.? Are the ``letter grades'' you assigned consistent with your comments?