Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007
Spring 2005 M2: Build a Simple Location Service
(Group, Due 2/17)
Now that you've implemented some of the initial classes, you'll need to build a first version of your location server and create a simple graphical interface. The very first step is to form your team. Then your team will develop a server that will store information about places and create a simple graphical interface to allow users to specify their location, view the location of other people, and select a person to get more information.
Questions on Spring 2005 Milestone 2
- To form your team.
- To get more experience building classes.
- To build a simple network server.
- To try your hand at building simple GUI elements.
- To use SUnit for more complex tests.
For this milestone you will need to form a group of 3-4 students from within the class. You might find it helpful to read about Team Issues, particularly the Tips for working in groups. This group will be responsible together for milestones 2 through 6. Your first task for M2 is to form your group, and create a team entry on the Swiki in the Spring 2005 Team Declaration Page. YOU CANNOT DO THIS PROJECT ALONE (or in a 2 person group)!! You may reuse any code that you wrote for M1 if you feel it is useful. The only restriction is that the M1 code reused must have been written by one of the members of your group.
For this milestone you'll be creating a server for your places and a simple graphical user interface. You can create this GUI using whatever mechanism you want (MVC, Morphic, etc.).
The specific requirements for the server are:
- Must accept connections from multiple clients
- Must be able to manage multiple places (including returning information about them and handling updates)
The specific requirements for the GUI are:
- Must allow users to choose the place they are in
- Must display a map of that place to the user
- Must allow users to edit the details about themselves
- Must display the location of people (including the user) on the map
- Must allow users to change their location on the map
- Must allow users to select other people to view information about them
- Users must be able to display the GUI by executing LocationViewer show.
Before class time, turn-in your code on the cs2340turnin coweb: http://coweb.cc.gatech.edu/cs2340turnin with the code 'M2'. It will greatly help your TA if you also include a README with instructions on how to work your UI, presuming you haven't shown them in person (which would be even better).
In class, please turn-in:
Include your TA's name, as well as the names of the team members, on materials you turn-in in class.
- CRC Card analysis of objects: CRC cards for each class added for M2. It's REQUIRED to hand in xeroxed or generated-tables that represent your CRC cards rather than the actual 3x5 cards (xeroxed/scanned cards are preferred - its great if they're messy - we want to see that you used them!) You must also include written text of at least one scenario that you used in your analysis.
- UML class diagram of classes
- 20% Good CRC card analysis: Reasonable names, understandable and clearly defined responsibilities, good exploration of other class names, believable scenario.
- 10% Good UML class diagram: Correct usage of notation (5%), matches CRC analysis (5%)
- 10% A generally good design.
- 10% Well-documented and good style source code
- 50% Working system:
- 15% Fully implemented server.
- 5% Choose / display place
- 5% Edit user details
- 10% Change location, view details about other people
- 15% for corresponding SUnit tests.
Link to this Page