






Hotspots: Admin Pages | Turn-in Site |
Current Links: Case Final Project Summer 2007
Team Us M5 Case Study
Other Case Studies: Team Us M3 Case Study Team Us M4 Case Study Team Us M6 Case Study
The Problem:
Check out the problem description: Sp2002 P5 - Help people find their way
Our Approach
Our approach to this milestone was similar to our approach to M3 and M4. We first assessed the functional requirements to be added for this milestone, and discussed possible implementations. We relied heavily on the design work we did initially in M3.
Our Solution
Our goals in this milestone were to find a route between two buildings that a user selected and to display that route on the map. When we started this milestone, we decided not to let the user type in any information. If all possible buildings were displayed, then the user would not be able to type in an invalid building or accidentally misspell a building name. To solve this problem, we made a menu where the user picked two buildings, then a path was displayed when the appropriate button was pressed. We also wanted to use a shortest path method to find the route between two buildings. We decided to use nodes, which included building and intersection nodes, to solve this problem. Drawing the route was very easy. We had a collection of points and we used a pen to move to each point. The hardest part of this milestone was finding the route between two buildings using a breadth first search.
The user interface was our map from previous milestones that showed all the buildings and streets. The user accessed all options by right clicking on the map. The user was able to perform all functionality that was involved in milestone 4 and an extra option was added to display the route between two buildings. When that option was chosen, a new window popped up with a place to select two different buttons. There was a third button that drew the route. The user would pick two buildings, and then hit the third button. The route window would disappear and then the route would be drawn on the map.
Finding a route:

A route displayed on the map:

Lowest level of zoom with a route marked:

Our Code: M5source.st

Class Descriptions
Team Us M5 Class Descriptions
Reflections on our Solution
We kept our visual solution simple: a pen drawing a line on a form to represent the route. As far as the graph of buildings and streets, we knew the demands that the 3D environment would have and kept those in mind when implementing the graph and its nodes. For the most part, we stuck with our initial design from M3 - we just filled it out a little more. In M3 we could not have possibly forseen every method and instance variable, but our design was flexible enough to adapt to these changes.
Refactoring Ideas
After looking over milestone 5 again, we believe that we could have made the user interface a little better. When the map is first displayed, there was no way that the user knows to right-click to get all options. We put a note in the workspace to let the TA know that is how you accessed all options. If we had had more time we would have fixed this slight issue with the user interface.
Links to this Page
- Us last edited on 29 April 2002 at 5:30 pm by user-1120qo2.dsl.mindspring.com
- Team Us M3 Case Study last edited on 26 April 2002 at 10:57 pm by user-1120qo2.dsl.mindspring.com
- Team Us M4 Case Study last edited on 27 April 2002 at 4:23 pm by user-1120qo2.dsl.mindspring.com
- Team Us M6 Case Study last edited on 27 April 2002 at 5:33 pm by user-1120qo2.dsl.mindspring.com