CS3811 - Project 2003
 2003 January 31
Important notes
-  Your work will be done by a team of 2 or 3 and 
all members of each team will participate in all phases of the 
project. That is, each team member will contribute to the  
design, implementation and documentation. Each team member is expected to 
be familiar with  mysql/php, and each team member must take part in 
writing the User Guide. 
 -  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.
 -  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. 
 -  The grade for the project will be based about equally on the 
results of each of the three phases.
 -  After carefully considering the project outline, 
your team will select one of the two application domains 
below and report this choice by email 
to the course instructor. A maximum of three teams may select 
each project: first come, first served. 
 -  You will have noted that this is a 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 deprecated. 
 -  A 25 minute presentation of your project will be done in class 
during the last week of classes, and we may have time for short 
(max 15 min) presentations on the designs after March 10.
 -  You will spend about five hours  
each week outside of class 
on this project (but you must not exceed 6-8 hours in any week). 
This provides at least 50 hours for completion 
of your part of the project, more time than necessary. 
 - 
The project completion 
date is April 8. 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 
front-end using  php. There are two choices for 
the application domain (see below), but the main elements are common: 
- 
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 will 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 on February 21, 
and in final form, after consultation with the  
course intructor, on March 7. 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 using 
an assigned account on the Math/CS server. The implementation is required to 
follow your design document. 
Your 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. 
 - 
Third phase: User Guide. 
 - Of course, this part of the project will be developed from the design document 
simultaneously with the second phase. 
It will include 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 15 pages. 
A draft of the User Guide will be provided to the 
course instructor on March 28. 
 
The applications
Each application has a client in the Mount Allison community. You will be provided 
with coordinates for the client of your application immediately after 
your team is assigned to an 
application. You will have up to 90 minutes available for meeting with your client over 
the course of the project. You may use up to 60 minutes of this time during the 
design phase. Available client meeting times will be determined by the client. 
Application 1: The TGV System
French National Railways (SNCF) operates a system of very fast 
passenger trains throughout the country 
known as the TGV (for Train à Grand Vitesse).  
The project is to design a database that will store information
about trains (including their locations), trips and passengers. 
The client will be a user of the system, and is very familiar with TGV's. 
Note: This client may be unavailable the week of February 3, 
contact the course instructor.
Application 2: The IT Knowledge Base
Mount Allison's Computing Services Department has 
information on a wide variety of problems and solutions for software and hardware. 
This project is to design a database that makes this 
information (or at least references to sources) available to members of the Department 
and eventually to others. 
The client will be a user of the system, and is very familiar with 
the information. 
Note: This client will be unavailable during the week of February 10.