Develop an online web-based university administration system Patrick Ward D11124386 Instructor: Mr. Patrick Mathews Module: Advanced Database Systems 1st March 2012
D e v e l o p a n o n l i n e w e b - b a s e d u n i v e r s i t y a d m i n i s t r a t i o n s y s t e m
Patrick WardD11124386
Instructor: Mr. Patrick MathewsModule: Advanced Database Systems
1st March 2012
1. Assignment Overview! 3
1.1.User Types! 3
1.2.User Functionality! 4
1. Students will be able to:! 4
2. Lecturers will be able to:! 4
3. Administrators will be able to:! 4
2. Database Tables! 5
2.1.User Tables! 5
2.2.Main Tables! 6
1. Scheduling Tables:! 6
2. Linking Tables to avoid Many to Many relationships:! 7
3. Entity Relationship Diagram! 8
4. Use Case Diagrams! 9
4.1.Basic Use Case Diagram! 9
4.2.Student Use Case Diagram! 10
4.3.Lecturer Use Case Diagram! 11
4.4.Administrator Use Case Diagram! 12
1. Assignment OverviewDesign a database system that will allow the efficient management of the university.
1.1. User TypesThe system will have three user types:
1. Students
2. Lecturers
3. Administrators
University administration system database design
Page 3
1.2. User Functionality1.2.1. Students will be able to:
1. register for a semester
2. view all available modules
3. enrol to up to 4 modules
4. view the modules they are enrolled to
5. view their class timetables
6. view their grades
7. un-enrol from modules (provided the module has not been closed by an administrator)
1.2.2. Lecturers will be able to:1. view the modules they are assigned to
2. view their timetable
3. view a list of all enrolled students to each module
4. assign grades to each student enrolled on the module (if the module is closed)
1.2.3. Administrators will be able to:1. assign modules to semesters
2. assign lecturers to modules (1 lecturer will be assigned to a maximum of 3 modules per semester.
3. assign and edit room, days and timeslots to modules (this combination must be unique to avoid timetable clashes)
4. view timetables for lecturers and students
5. close a module for enrolment
6. produce lists of enrolled students for each module
7. view grades for all students on a module
8. view all grades of a particular student
University administration system database design
Page 4
2. Database TablesThe tables below have been designed to meet the requirements of 3rd Normal Form that states
that “all non-key columns are independent of each other” in addition to meeting 1st and 2nd Normal Forms.
2.1. User TablesNote: Colour coding =
University administration system database design
Page 5
Staff
Staff_ID int (11) Primary KeySystemLogin_id int (10)fist_name varchar (55)last_name varchar (55)addressLine1 varchar (55)addressLine2 varchar (55)addressLine2 varchar (55)addressLine2 varchar (55)email varchar (55)mobilePhone int (14)officePhone int (14)job_typeId int (1) Foreign Key
Student
id int (11) Primary KeySystemLogin_id int (10) Foreign Keyfist_name varchar (55)last_name varchar (55)addressLine1 varchar (55)addressLine2 varchar (55)addressLine2 varchar (55)addressLine2 varchar (55)email varchar (55)mobilePhone int (14)officePhone int (14)
Job_Type
id int (1) Primary Keytitle varchar (55)
SystemLogin
id int (10) Primary Keyusername varchar (25)password varchar (25)
Primary Key
Foreign Key
Combined Key
2.2. Main Tables
2.2.1. Scheduling Tables:
University administration system database design
Page 6
Module
code varchar (5) Primary Keytitle varchar (55)openOrClosed binary (1)SemesterID int (10) Foreign Key
Semester
id int (6) Primary KeystartDate dateendDate date
Day
id int (1) Primary Keyname varchar (3) ‘mon’, ‘tues’, etc.This will be read-only table representing 7 day week.This will be read-only table representing 7 day week.This will be read-only table representing 7 day week.
Room
roomName varchar (6) Primary Keycapacity int (4)
TimeSlot
id int (2) Primary KeystartTime timeendTime timeThis will be read-only table representing 24 hour clock.
Class (event)
RoomName int(10) Primary KeyTimeSlot int(2) Primary KeyDayID int(1) Primary KeyModuleCode varchar (5) Primary KeyCombined key will prevent scheduling conflicts
2.2.2. Linking Tables to avoid Many to Many relationships:
University administration system database design
Page 7
Registration
SemesterID int(6)Student_ID int(11)Date timestamp
StudentToModule
StudentID int(10)SemesterID int(6)ModuleCodegrade varchar (5)Restricted to 4 per student using a trigger
LecturerToModule
staff_id int(10)ModuleCode varchar(5)staffJob_Type int (1)Restricted to 3 per lecturer using a triggerRestricted to 3 per lecturer using a triggerRestricted to 3 per lecturer using a trigger
4. Use Case Diagrams4.1. Basic Use Case Diagram
University administration system database design
Page 9