Preliminary Requirements
Home
Team Members

442/542 Menu
Preliminary Requirements
System Specification
Software Specification
Project Plan

453/510 Menu
Preliminary Requirements
Problem Free Requirements


Contact Webmaster

Problem Statement:

Community Information Database/Website – a local news organization would like to offer people the capability to click use Google maps to find their house, and click on it to get a list of all available info on the surrounding area:
            - Waste dumps nearby
            - Houses for sale / price
            - Upcoming activities in the area
            - Flood information
            - Planned construction
            - Traffic patterns
            - Etc.

Apparently, all of the information exists currently in online databases. We would have to design the web GUI and access the databases to consolidate.

Preliminary Requirements:

The main goal of our project is to create a website which pulls information from various sources of all available information on establishments surrounding a location the user inputs.  Before we start to work on this, we need to identify the basic tasks the application needs to accomplish.

The first and most obvious thing that needs to be created is a user-friendly Graphical User Interface that allows the user to input a location and select the types of establishments they want to display surrounding that location.  The next task involves determining which types of establishments should be available. 

Some examples of these types of establishments are:

  • Waste Dumps
  • Recycling centers
  • Grocery Stores
  • Drug Stores
  • Emergency Information
  • Hospitals
  • Gas Stations
  • Bus Stops
  • Etc.

Finally we need to grab the locations of each of these establishments and output them to a graphical map focused on the area originally input by the user.  Next we will discuss the ideas on how we can accomplish these tasks.Now that the basic tasks of the application are determined, it is time to figure out how it can accomplish these tasks.  To do this we will take the tasks mentioned above and separate them into sub-tasks.  For each sub-task, we will develop an idea of how we can convert the sub-task into code.
The following are a list of sub-tasks and ideas for converting these sub-tasks into code…

  • Allow the user to input an address or location of an area
    • Using asp.net and basic html input areas (input text, input buttons to submit, etc.) we can accomplish this
  • With this information, get the latitude and longitude of that area on the world map
    • There is an ability to do this using Geocoding with the Google Maps API.  With the code-behind files of asp.net we can retrieve this information and convert it, and temporarily place it in a database table.
  • Find location on the map and depending on what establishments the user has selected to find, search these establishments in a certain radius around the calculated coordinates
    • Repeat the idea from the previous step for each establishment, and redirect to the resulting map page.
  • Display these establishments to the map (color coordinated for the different types of establishments, and labeled in an order to determine which is closer to the location (A, B, C, …; 1, 2, 3, …)
    • From the resulting map page, we will read the information temporarily stored in the database table from the previous 2 steps, and plot them on the map.  Depending on which type of establishment each plot it (will probably need to store this information temporarily as well during the previous 2 steps) we will color coordinate and label them.
  • Give user options to select these establishments and get directions for the quickest route, highlighting the path on the map
    • Using the temporarily stored starting location stored in the database, and the coordinates of the selected establishment, we will use the Google Maps API to get the directions and pull them back into the Community Information Database website.
  • Give the user an option to save the results to go back to it quickly if they are planning on searching it again.
    • If the registered user (using roles in asp.net) decides to save the current results, it was take the information temporarily being stored in the data table, and place it permanently in a data table associated with the user’s unique id.  If the user does or does not decide to save, it will always be removed from the temporary data table upon exit from the site, or new search is entered.
  • Have options for users to register and add temporary items to the database (ie. Garage Sales)
    • Registration will be set up through roles and membership in asp.net.  Creating a membership table in the database that holds the users email, password, profile information, and giving them a unique id will allow keeping track of who posts items, reviews, etc.
    • Creating a unique registration application will allow customization of what information we want the table to allow, and also allow roles for allowing administrators, moderators, etc.
  • Registered users are able to post information about businesses (ie. Reviews for Restaurants)
    • A data table specifically for reviews will be created which link unique membership id’s, establishment id’s, and reviews so the site can keep track of where to place the reviews and who posts them, allowing other administrators to delete inappropriate and/or falsified reviews.
  • Message Boards and Forums for community discussion
    • Each message board will have its separate data table in the database which holds the new messages users post, and these boards will have a separate data table which hold replies to these posts, linking the main post id to the comments, allowing the website to successfully retrieve and display posts and replies in the appropriate places.

These are the basic preliminary requirements decided upon.  From this we will develop a system specification in order to convey the in-depth needs the application needs to have, and what system it needs to be run on/accessed by.