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

M3 Milestone Use Case

What Image
Stephanie Smiegowski
Andrew Thigpen
Justin Daniels
Michael Wentzel

Milestone 3

The purpose of milestone three was to look at the design for the entire program through the last project implementing the imaginary campus in 3D. This includes scenarios to go through every aspect of our program, CRC card analysis, and a UML diagram. The UML was supposed to be designed to accomodate the later phases of the project, but not necessarily reflect all the details right then.

UML


Uploaded Image: Milestone3.gif


The Bad

As you can see, the UML for our milestone 3 was a bit lacking for detail. This can be seen clearly from the classes that were later eliminated since they ended up doing nothing and by the classes that were either not filled in or only had one or two methods. It still embodied the general classes, etc. that we would need for the remaining projects, but details were not thought out at that point. We tried to design milestone 3 with the rest of the milestones in mind. It is difficult to look 5 projects ahead and consider what designing you need to take into account to accomodate for every little detail. This is almost impossible actually, but we missed being close to this by a long shot.
The main problem with our UML was that it didn't look at the details of implementing the 2D map with routes, zoom, etc. As can be seen by the fact that our main classes only have one or two methods for each, how we were going to actually implement P4 wasn't figured out at this point. By not figuring this out, we ended up having to change a good bit of the design when we went into to start implementing routes, zoom, user interfaces, etc. where we could have taken more time to look ahead at the more detailed design.
This was fixed later on when we started to actually implement some of these features and the functions were added in appropriately, classes changed, and arrangement altered. By P4 we got a lot better idea of what the design needed to be to carry on for the rest of the project, but P3 was definitely the next step for learning overall design.

The Good

Not all of the UML was bad of course. We did design the structures and their layouts so that different features could be added in later besides just road and buildings. Each of these structures were also laid out so that they could even handle 3D. Most of the classes and how they interacted with each other ended up staying true for most of our project from P3 as we went through in detail how each of these classes needed to talk to each other and still maintain the object-oriented design and avoid the 'god class' effect.

The Ugly

Another large part of what we did not think of with the third milestone is how we were going to present all of these classes, etc that we were writing down with the UML. After looking at how to implement user interface type objects, we realized that extending classes was the easiest way to have the object do what we wanted it to under certain events. With this extension, there was obviously a creation of many more classes which needed to be added to the UML and more functions to be created. This was something that basically slipped our minds when designing the UML, and of course needed to be fixed for P4.


Learn This


Later UML
Uploaded Image: milestone6.gif

Link to this Page