Michael Sherwin

Craig Fisher

Yaroslav O. Zolotukha

Data Requirements

All users will have a user name and password that they will use to login to the application. Every user has a type (student, guardian, teacher, or administrator) that determines their access privileges.

Academic Years will be identified by their start year and stop year. They will also have a start date and stop date.

Quarters will be uniquely identified by Academic Year and quarter number (1 - 4). Like Academic Years, they will also have a start date and stop date.

Courses will be identified by a unique number. They will also have a title. Any given course may have multiple sections in a given year and semester. Sectionswill be identified by their Course, their Academic Year, and a section number. Sections will also have students and a teacher.

Students will be identified by their SSN. They will also have name (first, last, middle), graduation year, birth date, address, and phone number. We will also store their entire history of sections, including sections they have taken and sections they are currently enrolled in. Students should naturally have final grades in all the courses they have taken. For every student, section, and quarter, there will be a final grade. The value of the Final Grade will be a decimal number from 0 - 100.

Guardians will be identified by their SSN. They will also each have a first, middle, and last name, address, contact phone number, and email.

Teachers will have an SSN, name (first, middle, last), an email address, an address, and a list of the sections they are teaching or have taught.

Assignments will be identified by their Section and an assignment number. Assignments will also belong to a quarter. Students will complete assignments, and they will receive grades for them. Semantically, “Assignments” will refer to anything that is given a grade: tests, quizzes, class participation, etc. Assignments will also have a name, description, weight, creation date, and due date (or date of test). A teacher may want to display some of them on the “Assignment Page” but not others. For example, it makes sense to display a research paper, but it makes less sense to display “section participation”. To handle this, Assignments will have a “hidden” boolean attribute.

There will also be one final grade for every student per section per quarter.

Administrators will have a first, middle, and last name, an SSN, and a permission type. “Permission Types” do not need to be associated with any data. They will be interpreted strictly at the application layer. Permission type will be an integer, with 1 being a top level administrator.