Group Project
Details to be provided after midterm.
Teams:
Ace | igu | macz | EightNine | TenJack | DatabaseKings |
Kirk Rudzinski | Sara Sheehan | Alex Mayer | Corey Kunkle | Caleb Jackman | Jeffrey Bilski |
Will Bollendorf | Jacob Sorber | Clem Herrmann | Jeremy Core | Tom Fifield | Ryan Rhodes |
Nathan Walters | Nicholas O'Black | Zach Jakubowski | Tristan Wyatt | Cory Wilson | Andre Torres |
Brandon Levesque | Kurt Pilker | Matthew Mac Allister | Ridge Hudson | Zach Corwin | Robert Stivenson |
Ryan Javens | Jonathan Mervine | | | Jacob Rose | Anthony Sartoris |
Phase 1
You should begin by identifying the entities and attributes. Identify the relationships between identities and specify the cardinality 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 and provide example data.
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)
- Perform at least five additional nontrivial queries, not performed in the previous section.
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, 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. For this report, please distribute 100 points between the members of the group acording to how you feel each person contributed. For example, if everyone in a five person group contributed equally, each person should receive 20 points. If a group member did not participate, they should receive 0 points.
The second report is not intended to be shared with the group. You may add it to your folder or turn it in privately to the instructor at class time when the project is due.
Points
Design through first stage of ER diagram | 15 points |
Questions and interview | 10 points |
Final ER diagram | 10 points |
Database design | 15 points |
Database implementation | 10 points |
C/C++ program interface | 10 points |
Database Documentation | 15 points |
Final Report (Group) | 10 points |
Final Report (Individual) | 5 points |
Final Submission
All documents are due Friday May 4 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 should be handed in as a separate document.
The final database should be constructed in the team's database space on MySQL on CSCI313.
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 CSCI313.