Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007
Fall2002 M4 - Provide a graphical user interface for the whole thing
M4 - Build a Morphic Interface
Now provide an interface for your genealogy software. YOU MUST SUPPORT ALL FUNCTIONS THAT WERE IN M1 AND M2! You should be able to define people, make connections between them, fill in information for them, check for accuracy and missing information, querying, and so on.
We will start your system with one of two mechanisms:
- GenealogyMap new open which should open up a blank genealogy map. It should start up assuming a maximum 800x600 display space, but should be resizable by the user for a larger space. (Note however that, whatever you do, a whole genealogy is not going to fit into even the largest display. Think about ways of collapsing information.)
- (GenealogyMap with: (Array with: p with: q)) open which should open up a genealogy with the people p and q already input. In general, GenealogyMap with: should take any ordered collection and input those people.
Now that you have a completely graphical way of creating people, you're going to want some way to save your work. You must provide an Export function that generates to the Transcript all the messages (defined in M1 and M2 – so yes, all of that code must continue to work) to recreate the map. (Now do you see why you're implementing GenealogyMap with:?)
The look and feel of the user interface is entirely up to you! However, if the TA can't use a particular function, she or he can't grade it, and you can't get credit for it. IT IS WORTH YOUR WHILE TO MAKE SURE THAT YOUR TA CAN USE YOUR SOFTWARE!
HINT!: Students in Summer 2002 wrote drawing editors where boxes, circles, etc. could be dragged around and resized in Morphic. Any of their designs and code can be reused from the Cases page.
Turn-in your code using the Fall 2002 Turnin Information with the code 'P4'. Turn in your design in class.
- 10% Good Scenarios: Accounts for all major functions in assignment, touches on every class.
- 10% Good CRC card analysis: Reasonable names, understandable and clearly defined responsibilities, good exploration of other class names
- 10% Good UML class diagram: Correct usage of notation (3%), detailed and understandable descriptions and names (7%).
- 10% Quality of the design
- 10% Well-documented and good style source code
- 50% Working system:
- 20% Can create people, fill in their information, and can create all relationships between them. This includes name and aliases, gender, family relationships, marriage relationships, birth and death information, and miscellaneous information. (6 sets of things, 4 points each.)
- 10% Can check for accurate and complete information, and will fill in information than can be figured out.
- 15% Can generate queries
- 5% Implements Export correctly
Note: If the TAs can't figure out how to do these things, they don't have to give you the points. The UI must be usable.
Questions on Fall2002 M4 Milestone
Links to this Page