View this PageEdit this PageAttachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide
Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007

Milestone 3 Case Study - DY

Milestone 3 Specs

Getting Started

Before we met for the first time to start our design, we delegated each milestone to a group member. We each read and started figuring out what was going on in each. So when we met, we each knew what was going to be needed to get everything working together, and how we would integrate each milestone. But first, we had to redesign our old implementation - everything had worked, but there was no way we'd be able to expand it to include everything we were going to need for future milestones.

Designing

After M2 was redone, we outlined each class that was going to be needed for the future milestones. For the GenealogyMap, we figured that we'd need something to handle what was going on with the user - so we figured, like Java, you'd have an event handler to work with the user. Each person could contain their own morph for visualizing a Person. Then a Tree would hold each Person's morph and place them in the correct order and connect them. The main interface would work with the merge interfaces in M7 for comparison. We figured that we could delegate the responsibility of editing a Person's attributes to another class, PersonEditor. I don't remember know why we did that, but we did. We really weren't sure how we would work with GEDCOM files and site parsing, so we did a very basic outline of those - SiteParsing would have four sites to search, and one to direct which site to search and how to handle the information received from those sites. The GEDCOM milestone would require just one class which could import files and export files. We looked at prior cases to get an idea of how we would work with the GenealogyMap interfaces, and how we would parse websites.

The Design

Uploaded Image: m3ClassDiagram.jpg

Afterthoughts

  1. Delegate responsibilities here - if every team member is an expert on each milestone, it's a lot easier than everyone figuring out everything.
  2. Look at past cases for things you don't know how to do yet - they've done them, and their designs might help.
  3. Try your best to make this a good design. If you can follow it, your other milestones will be much easier.
  4. Go ahead and decide what everyone will do for the next milestones so you can start early.


Link to this Page