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

Donated By Intel Milestone 3

Goal:

This milestone involved no code at all, but required us to create a solid, complete design for all of the milestones remaining for the semester. Specifically, we needed Scenarios, CRC card analysis, a test plan, a UML class diagram, specific descriptions of the responsibilities of all team members, and a rough timeline for completion of our work.

Purpose:

To gain some experience with really focusing on just design, to hopefully come away with some solid understanding of the OO design process.

Design:

This milestone ended up taking a lot of time to complete, far more than we anticipated. The milestones for the semester covered alot of different areas (a morphic GUI, web page mining for data to complete information, loading and saving of GEDCOM files, and the ability to compare and merge multiple Genealogy maps). At this point in the semester, our group had little to no experience with design, and to make matters worse, we were all more interested in the actual coding.

We started with the CRC cards, and UML diagram from milestone2. Then, we just went through each milestone, and thought out (argued some) about what specific classes we would need, and what specific purpose those classes would serve. We spent a large amount of time on just this thinking about classes, but it did pay off, as our design changed very little the entire semester, and we were able to concentrate on the actual coding, and getting the milestones to function well.

For the group responsiblities, we split the work by milestone, with one or 2 group members doing everything for a specific milestone. In hindsight, this was not the best way to do it, as there are pieces of the project, that each group member has absolutely no knowledge of. It worked well enough however, and we were able to turn in solid programs for each milestone.

Our timeline generally followed the due dates of the milestones, with some dates in between by which we hoped to finish code, or familiarize ourselves with various tools (GEDCOM files, HTML Parsing in squeak, etc). If we could do this all over again, we would include more time between when we wanted the code for the milestone complete, and the actual due date of the milestone, as something we didn't think of always seemed to creep up at the last minute. More time for testing and/or integration would have allowed us to polish up our work further, and made our grades even higher.

The UML for this milestone got really large, so rather than display it, it is linked below.

Implementation:

There was none, this milestone involved only design.

Conclusion:

As much as most of our group dislikes design, spending the significant amount of time that we did on this milestone did help us throughout the remainder of the semester. We had to change our design very little (no classes changed, there were just some different methods), and were able to concentrate almost completely on coding. We created a realistic, clean design, and it paid off. Though the focus on design in this class can sometimes seem excessive, spending some time on it can really help.

For more information about what this milestone involved, take a look at the Fall2002 M3 page.

Files



(The UML has a weird extension so squeak doesn't inline the image. Some browers will display it just fine if you click on it. Otherwise, you'll have to download and rename it.)

Link to this Page