Build a requirements document and design a database for an n-tier web application for an online registration system for the UVMTA's music festival competition.
This will be a team assignment. The class will be divided into teams of 3 students each.
This assignment consists of two parts:
Part 1: Build a requirements document. Each team is to gather all the requirements for the
registration system and create a single requirements specification document.
This will be
The requirements will be gathered from multiple sources:
1. From documents and forms currently used by the UVMTA in their registration process.
2. Input from myself during class discussions, class brainstorming sessions, etc.
3. From a class visit of a member of the music festival committee where you will have the
opportunity to ask questions, gather additional requirements, clarify needs, and gather
additional information about current procedures, problems, and desired needs.
Part 2: Design the database schema for the festival registration system. All tables and fields needed
for the registration system must be defined.
This database design must provide the data storage and retrieval to fulfill all the specifications in your requirements document. These database tables will be used for assignment #10. Each team will turn in a single document showing the database schema. This document will include a description of each table indicating the data type for each field and any primary or foreign keys.
Each year, thousands of instrumental, vocal, and piano students participate in a musical festival competition sponsored by the Upper Valley Music Teachers Association (UVMTA). It is usually held at BYU-Idaho because of the facilities available, but has been held in individual homes through out the valley when BYU-Idaho was not available. They perform before judges and receive scores for their performance. For students to participate they must be registered by their piano teacher. A teacher registers their student for a performance type, skill level, and instrument. This registration process has always been done by hand, through a mail-in process. Keeping track of students, registering for time slots, room #'s, and locations is difficult and tedious. Participant cancellations or modifications to the schedule are difficult and slow and therefore modifications are not allowed unless done two weeks prior to the festival date. Teacher selection of performance time slots for their students is vary limited and most time slots are simply assigned. Each registered student performs and is judged and awarded points. Each time a student participants their earned points are recorded and accumulated. Awards are given to the students over the years as they reach certain thresholds in their accumulated point totals. A fee is charged for each student that participates in the festival. A teacher may not register any of their students for festival unless the teachers membership dues are current.
Your job is to gather requirements, then design a database schema for a web application that allows for online music festival registration.
First gather the requirements for the online music festival registration. Second, based upon those requirements design the necessary database to serve the application.
This database design will be used by assignment #10.
The requirements document and the database schema will be graded as a team score. Each member of the team will receive the same score. However, as part of assignment #9 each team member must also privately rate every other team member on his contribution to this assignment and turn in their rating. The purpose of this rating is to encourage everyone on the team to contribute. Simply rate each team member on a scale of 1 to 3.
1 - didn't contribute much, or didn't show up to team meetings.
2 - was involved in every meeting, helped build the requirements and contributed to the database design.
3 - made extra effort and contributed more than most others on the team.
You may email me the rating of your teammates, or hand in a private paper to me in class.
Your final grade for this assignment will be a combination of the team grade and the rating you received from the other team members.