Project for  COMP 442


Summary

The customer wants a generic web framework to make lists of locations along with user commentary available on the web. For example one persom might use this system to display information about used-book stores while another might use it to track resteraunts.

More complete requirements description.

This system needs to run on the web without fancy client side requirements (typical cross-platform client requirements like java and javascript are fine). The system should keep the names, locations and other data concerning the establishments in some sort of retrievable storage. The user should be able to view the entire list on the web as html. The user should also be able to download the entire list as either text, postscipt or pdf for offline viewing. The system should also be tied in to one of the free online mapping programs (google, frapper maps or something entirely different). When using the mapping feature, the locations of the establishments should be available visually (using 'pins' or some other technique. There should be a way of clicking on a pin and seeing (more) information about the establishment. Ideally, there should also be a mechanism  to select a subset of locations for printing or download by clicking on map pins.

Users should be able to update the list of locations and establishments. There should be a mechanism for the user to submit data (a record) about an establishment and its location via the site. There should be a flag to either allow this data to be automatically be added to the visible data or for it to be quaranteened till a moderator can vett it. Finally there should be a mechanism to allow users to comment on existing entries. A moderator should be allowed to remove inappropriate comments.

Assignment 1:

Due Feb 15th in class, one document per group.

You will now gather a more formal set of requirements for this project. Each group should schedule a time with the instructor to meet and use that as an interview for requirements gathering.
Each group will produce a requirements document including each of the type of requirements studied in the class lecture. You must also include at least 5 use cases that you think will be critical in some way to the system.

Assignment 2:

Due March 29th (after break)  (once again, there should be one document per group)
This sounds like a long time, but its only about 2 weeks of class time.

I strongly encourage you all to read Chapter 9 completely before starting this phase.

Now it is time to design your proposed  system. Produce an objected oriented design that implements your requirements. Include UML class diagrams showing the proposed classes and their relationships to one another. You should also include Object constraint language statements for any required conditions and any other text that would be needed for a computer scientist unfamiliar with this project to understand the design. Suggest languages to be used for each of the various pieces of the solution. Declare and summarize any external existing systems that will be used in your design.

You should use any of the design patterns studied in class (or others that you are familiar with) as appropriate in your design.