Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007
Spring2004 M4 - Read GEDCOM files and provide multi-generation views
It is now time to begin working with larger genealogies than can be conveniently constructed using an interactive interface. The availability of many genealogies as GEDCOM files will provide you with the data needed to take the next step in constructing a useful genealogy manipulation tool.
Here is what you need to do:
- Add the ability to read a GEDCOM file like the ones you already can generate. Reading a GEDCOM file should create a new Genealogy, so if you write out a GEDCOM of one Genealogy and then read it back in, you should have two distinct but identical Genealogies. This situation obviously implies that you need to add something to your user interface to deal with the existence of multiple Genealogies. You don't have to support every GEDCOM tag by having a slot for it in your Person and Family objects, but you should have some way to perserve all of the information that was in the file. That is, when you write out what you have read in, no information should be lost.
- Add the capability to select a single individual as a focus and, using a graphical (Morphic) user interface, display the stored information about this individual plus a multigenerational view of his/her ancestors and descentants. This display must include:
- The individual and his/her spouse, along with any available marriage information. The first spouse should be displayed by default if there are multiple spouses and some mechanism must be provided to switch to displaying the other spouses.
- The children of the selected individual and the displayed spouse.
- At least two generations of ancestors of the selected individual. If any of these ancestors are not available, simply leave the appropriate slot in the dispay blank.
- Your interface should make it possible to edit information about the selected individual and about the displayed family. All of the capabilities required for M2 must be available through this interface.
- Extend your SUnit tests for everything added in this Milestone.
A single zip file containing all your design documents & code (.ect design and .txt/.doc/.pdf materials and .st, .cs or .pr file) should be turned in on the cs2340turnin coweb: http://coweb.cc.gatech.edu/cs2340turnin. This file should be submitted to the coweb before class (noon) on March 25.
(NOTE: In order to help your TA evaluate your submission, include a summary of updates to each of the deliverables.)
- 5% Updated ECoDE CRC CARDS representing a good behavior analysis: Reasonable names, understandable and clearly defined responsibilities, useful comments.
- 5% Updated ECoDE SCENARIOS (About Scenarios) described from specific examples that touch on every major function in the system from the user's point of view.
- Clear descriptions for each scenario are written for a non-computer-science audience.
- Good assignment of responsibilities impelemented by CRC Cards that satisfy each scenario.
- 10% Updated UML CLASS DIAGRAM reflecting your analysis and design.
- A quality design covering all the features of the project.
- Detailed and understandable names and comments.
- All the classes are connected with responsibilities.
- 5% Updated TEST PLAN (About Test Plans) with clear linkages between scenarios and test cases and expected results. We should be able to verify that your test plan covers all of the system requirements.
- 5% Well-documented & good style source code
- Reuse of existing code
- Effective Commenting
- 15% Quality of the design and implementation
- Code matched design
- Usable interface
- The users (your TA) like it.
- 55% Working system:
- 20% Ability to read a GEDCOM file
- 14% Reading in all the same info you can export
- 6% Not losing any information that is contained in additional tags you don't explicitly support
- 25% Multigenerational view
- 5% Provide a way to select an individual as the focus
- 10% Display focus individual, spouse & marriage information & provide a way to switch between different spouses
- 10% Display all of the correct generations: children, parents, grandparents
- 5% M2 functionality still works (ie. the user can edit information about families and people, and create new families and new people through some integrated graphical ui)
- 5% SUnit tests which cover all non-ui classes and methods
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 Spring2004 M4 Milestone
Links to this Page