Group Project

Your group has been hired to construct a database to assist the operators of a small business. You are to analyze the description and produce a database to perform this task.

Teams:
Alpha Beta Gamma Delta Epsilon
Robert Bragg Brandon Clements Zachary Demmel Travis HamiltonCharles Panighetti
Majid Djellouli Michael Coghill Jordan GardeckiNicholas Huff Devesh Shukla
Asith Fernando Deven Gibson Joshua Genis Ryan Key Joshua Szall
Jason Klins Nicole SickafooseJoshua Huson Matthew Olson Tessa Williams
  Todd Tirums Travis Mink Nicholas RennerEdward Zinz

Phase 1

You should begin by identifying the entities and attributes. Identify the relationships between identities and specify the cardinalities of each. Construct a Crow's Foot diagram to represent this work.

Phase 2

Prepare for an interview with the owner of the company by producing a documented list of questions to confirm your work, or to remove ambiguities found during phase 1. Once this is complete, schedule and conduct an interview with the owner (your instructor). The list of questions, as well as the result of the interview should be placed in the final report and clearly labeled. Please submit the questions to the owner when scheduling your interview.

Using the new information, please modify/update the ER diagram produced previously. Both versions of the ER diagram should be placed in the final report. make sure that each is clearly labeled.

Phase 3

From the revised ER diagram, produce a complete data base design. Each table should be in BCNF or better. If a decision is made not to normalize a table, document the justification for this decision. For each table, document the schema, keys, constraints. Write a brief description for the contents of the table.

Phase 4

From the previous database design, construct a database. This should be accomplished through a series of scripts. You should construct example data to populate your database. Document your scripts, including author, date created and a revision log. Your final database must include at least one trigger and custom views for at least five of the sample query transactions.

You should implement at least one program in C/C++ which can accomplish the following tasks (You can write a single monolithic program or several programs)

All programs should be well written and well documented. They should be modular. The documentation should include a history of changes and track the author of the changes.

Phase 5

You should produce two final reports. The first should be to the owner of the company describing, to a non-programmer. This report should describe the database and the interface (limited) that you have provided. It should also summarize the systems used and provide an estimate of the number of man-hours required to complete the project. It should include a description of the team and the rolls each team member performed in the production of the final database. Finally, your report should include a list of known bugs and deficiencies.

Appended to this report should be a user manual, software design documents (described above) and database documentation. It should also include a hard copy of all code and scripts used to produce the database and examples of the data in each table. This report should be produced by the group. The second report should be produced by each individual and submitted separately. This report should include experiences related to the project, personal observations and difficulties encountered.

Points

Final Submission

All documents are due Friday May 10 at class time. No late work will be accepted on this project. Your group document should be placed in a three ring binder, with a table of contents and tabs dividing each section. Your personal report may be handed in as a stapled document.

The final database should be constructed in the team's database space on MySQL on CSCI313Lin.

A tar file of all code, including a Makefile, should be submitted to danbennett360@gmail.com by class time on that date. All programs should compile on CSCI313Lin.