CS3811/2008 - Project Specification

2008 October 24

Important notes

  1. Your work will be done by a team of 3 or 2 and all members of each team will participate in all phases of the project. That is, each team member must contribute to the design, implementation and documentation. Each team member is expected to become familiar with mysql/php, and each team member must take part in writing the User Guide.
  2. Normally, all team members will receive the same grade for the project. Therefore, you will contact the course instructor if you do not participate fully with your team in the completion of any of the three phases of the project.
  3. The project forms a major part of the assessment in the course. Late submission of a part of the project will result in a penalty of .67 grade points per day for up to three days, after which that part of the project will be graded incomplete.
  4. The grade for the project will be based roughly equally on the results of each of the three phases.
  5. After carefully considering the project outline, your team will select an application domain and report this choice to the course instructor. You may choose the application domain described below, or you may propose a domain to the instructor.
  6. You will have noted that this is an HTML document. The visual presentation of your documents will be considered in grading. TeX or HTML are acceptable for achieving good presentation. Word-processing systems may also provide suitable formatting, but are heavily deprecated.
  7. A presentation of your project will be done in class during the last week of classes, and there may be time for short presentations on designs earlier.
  8. You will spend about five hours each week outside of class on this project (but you must not exceed 8 hours in any week). This allows each team member from 30 to 45 hours for completion of their part of the project, more time than necessary. Each team member will provide a log of time spent on the project.
  9. The project completion date is December 5. On that date a final version of the Design document, the User Guide and a dump of your database will be handed in.

Project outline

You will use mysql to construct your database and you will construct a light front-end using php. There is some choice of the application domain, but the design and implementation must include:
First phase: Design.
You will consult with the client about what is expected from the database application. You will consider the attributes, entities, relationships, constraints and views which your system needs, and design an E/R (or sketch) model. This model will be translated into the design of a relational database. Your database design must include examples of the main elements of relational systems (primary keys, foreign keys, other constraints ...); normalization is expected. You will document the design, including normalization, and provide it to the client and course instructor in draft form byNovember 15, and in final form, after consultation with the course instructor, by November 20. The design document will not exceed 10 pages (single-spaced, minimum 12 pt type). In order to facilitate your work in the second phase of the project, we will examine features of mysql near the end of the design period.
Second phase: Implementation.
You will construct a mysql database and accompanying php forms. You may use an account on the Math/CS server or a PC. If you intend the former option, you must notify the instructor by November 10. The implementation is required to follow your design document. Your php forms will allow data entry, updating and access to the database. They will also enforce integrity. You will consult with the client and course instructor using a prototype during the implementation phase. At this time you will consider user views and security issues. You will write an Implementation and Programmer's Guide as a narrative of the implementation and a guide to programmers for maintenance and/or enhancement.
Third phase: User Guide.
This part of the project will be developed from the design document simultaneously with the implementation. It will include brief instructions on using mysql and/or your forms for naive users. You are not expected to give an instruction manual for mysql or SQL, but you should write clear explanations of how to get into and out of the program and access your forms, how to use the forms for entering/updating data and how to write simple SQL queries. The User Guide will not exceed 10 pages. A draft will be provided to the course instructor by November 28.

Application domains

You will create your design to satisfy a client. If you choose an application domain described below one of the clients is the course instructor. You may propose another application domain. If you do so your proposal must identify a client and ensure their willingness to interact with your team during the project.

You will have up to two hours available for meeting with your client over the course of the project. You may use up to 90 minutes of this time during the design phase. More time with the client may be available at the client's discretion. Time with the client will be included in your time log. You are expected to discuss implementation requirements with the client after completing the design phase. Client availability times will be determined by the client.

Suggested Application: Air Navigation

Air navigation for instrument flight (IFR) is a rapidly changing field combining technologies developed as early as 1929 to the GPS system that became publicly available in the 1990's.

There are two main elements in system: en route information (how and where aircraft fly between airports), and Instrument Approach Procedures (IAP) which allow aircraft to safely get close to a runway threshold even through clouds.

There is a variety of Web sites that contain some information about the US (and to some extent, Canadian) systems. However, believe it or not, in Canada the primary information about an IAP is on a chart known as an `Approach Plate'.

A well-designed database schema that will encode and correlate en route, airport and approach specifications is desired. The client (your course instructor) is a knowledgeable user of the air navigation system.

Suggested Application: Physical Plant Database

A nearby post-secondary school, The Moncton Flight College (MFC), has an extensive and varied set of buildings, grounds, parking lots (for vehicles and airplanes) and other physical facilities.

In order to organize and maintain information about these facilities, a well-designed database is needed. The information currently exists in a variety of (mainly paper) formats. Some of the information is governed by a regulatory environment.

The challenge is to ensure that all relevant data is available, so your solution may contain visual and GIS related elements.

The client is the Buildings Committee at MFC, of which your course instructor is a member.