Management Plan



Major Features of the System
The Time Traveller Time Table System will provide a reliable and user friendly system for automating the registration process. The user interaction section describes the user interface and how the user will use the application.
The major features to take note of are:
1) Students can administer their registrations using the Time Traveller application.
2) Administrators can manage course scheduling and student registration using Time Traveller.
3) the Time Traveller provides an attractive and user friendly graphical user interface.
4) the Time Traveller provides a secure and well organized registration system that is easily expandable.

Data Structures
To fulfill system requirements, we will keep track of information mainly on students and courses. This will be accomplished using a relational database because of their reliability , flexibility, and speed. With this in mind, here is a list of basic information that the system will keep track of.

Variable Name Type Description
Student
Student ID number each student will have unique student id
Student Name string this may have a specific format
Student Major enum this will be defined from a set of predefined faculties (i.e. SC, SS, ...)
Password string user defined password used to enter system. Must contain at least one non-alphanumeric character.
Amount Paid $ the amount a student has paid to date for the CURRENT school year
Courses
Course Discipline enum this will be defined from a set of predefined disciplines (i.e. CPSC, ENGG, ...)
Course Number number differentiates courses within a given discipline (ie CPSC 231, CPSC 233)
Course Name string title of course
Course Weight number credit value of course (ie 1/2 credit, 1 credit, etc)
Hours number the number of hours of instruction required for a given course
Course Sections
Course Discipline enum
Course Number number
Section Type enum this will be defined from a set of predefined section types(i.e. L = Lecture, B = lab, etc.)
Section Number number this will be used to differtiate between different course sections
Semester enum this will be defined from a set of predifined semester(Fall, Winter, etc)
Year number the year of the given section
Day enum the day of the given section
Start Time time this will be the start time of the given course section
Duration number the number of minutes for a given individual course section
Location string location of a given course section
Capacity number the maximum number of students allowed to register in a given course section
Instructor Name string this may have a specific format
Instructor ID number each instructor will have a unique ID number
Instructor Dept enum this will be defined from a set of department types

Algorithms

At the software level, all operations such as additions, deletion, modifications, and queries will be handle by the database. However, at the user level we propose to use these procedures:

Student Login
- the user enters their Student ID
- the user enters their Password
- the database checks if the Student ID exists and checks if the password matches. If the Student ID does not exists or the Password does not match, the program gives an error message. Otherwise, the user is allowed to enter the system

Add a course
- the user selects all course sections (ie lecture, lab, tutorial)
- the database checks if the course has prerequisites, corequisites, or equivalents
- if the course has prerequisites or corequisites, the database will check if the user has taken the course or if the user is planning to take the course. If the user has not met either of these requirements, the database will check if the user has special permission to take the given course. If the user does not have the prerequisites, corequisites, or special permission, the program will allow the user to continue adding the course, but display a message indicating that they have not met one of the above requirements
- if the student has taken an equivalent, the program will allow the user to continue adding the course, but display a message indicating that they have an equivalent course
- the database checks if the course sections are full. If a course section is full, the program will display a message and allow the user to make changes to the course sections that they have selected
- the database checks if the course sections the user has selected has any time conflicts any other courses the user has. If there are any time conflicts, the program will display the time conflicts and will ask the student to adjust the course sections that they have selected
- program adds the course sections to the user's schedule Modify a course
- user selects the course to modify
- user selects the course section(s) to modify
- the database checks if the course sections are full. If a course section is full, the program will display a message and allow the user to make changes to the course sections that they have selected
- the database checks if the course sections the user has selected has any time conflicts any other courses the user has. If there are any time conflicts, the program will display the time conflicts and will ask the student to adjust the course sections that they have selected - the program asks for confirmation. At this time, the user can cancel changing their schedule
- the database modifies the user's schedule

Remove a course
- user selects the course they wish to remove
- the program asks for confirmation. At this time, the user can cancel changing their schedule
- the database removes the course from the user's schedule

Print timetable
- This will allow the student to print their time table

Help
- the help is function is yet to be determined and will be implemented depending on the system's complexity.


Possible Implementations

The following is a brief discussion of possible implementations of the system. The advantages and disadvantages of each option are discussed. The functionality of the proposed system is described along with future enhancements.

Browser Interface: This system would implement user interface screens as HTML documents that could be accessed via a web browser such as Netscape or Explorer. Some intermediate processing would be required to allow for the interaction of the database and the user interface.
ADVANTAGES: HTML provides a highly flexible environment for developing a graphical user interface(GUI). As HTML functionality continues to grow, the power of applications using it also expands. Browsers are widely available and HTML documents can be viewed on Internet/WWW.
DISADVANTAGES: Reliability and security of a browser based system are serious concerns. The additional processing that is required in such an application is also a problem.

Structured Programming: A possible implementation would involve designing and programming the system from the bottom-up using a structured programming language such as C or C++.
ADVANTAGES: Complete control over the design of the database, program, and algorithm design.
DISADVANTAGES: This option is essentially unworkable in the time constraints that exist. Such a system would prove to be very expensive, and potentially unreliable.

Non Electronic Systems: This system would use clerical personnel that would handle student registration through a filing and paper tracking system.
ADVANTAGES: none
DISADVANTAGES: This option is not feasible, due to the size of the student population at Easy University. It would likely result in high staffing costs, delays for students and administrators, and frequent errors.

Text Based System: This system would involve using a text based interface as a user interface. All information and commands would be shown to the user only in text format.
ADVANTAGES: This system would be inexpensive to implement in that hardware requirements are minimal. Terminals could be used by users and remote access to the system could be easily added.
DISADVANTAGES: The user interface for such a system would be very limited and outdated.

Multimedia or Virtual Reality System: These types of systems are in their infancy and provide an enhanced graphical environment for interacting with the system.
ADVANTAGES: Leading edge user interface technology, that users can easily learn to use.
DISADVANTAGES: These types of systems are unproven, and require extreme expertise to develop. At present such systems are too expensive and experimental.


THE PROPOSED SYSTEM

A reliable and accessible student registration system is necessary for the successful operation of the University on a daily basis. The system that we are proposing will allow student users to conveniently administrate and view the details of their registration. In addition, it will allow departmental and administrative users an extremely functional and powerful system for course scheduling and information. The proposed system can be implemented using the current information systems infrastructure available at Easy University.

Minimal System
The minimal system that Goodacker proposes to implement will satisfy all of Easy University's needs(as specified to us) for a registration system[A. This is the first version of the system and it will be complete by the end of February.
The minimal functionality for the two main classes of users is described below.
Students Users
- the student user will be able to perform functions such as:
1) adding a course to their registration
2) dropping a course from their registration
3) modifying a course component
4) complete withdrawal from the university
5) view/print current registration information
6) view/print past courses and grades

Administrative Users
Administrative users have the highest level of access to the system, and can affect changes to any part of the system.
1) adding a course to the course calendar
2) discontinue a course from the calendar
3) modifying a course component(time, location, etc.)
6) view/print student information

The system has two main components:
1) Personal Computer Based Graphical User Interface
All users of the system will interact with this elegant and functional interface(described in detail in the User Interaction section of this document). We propose to implement this interface using either the Java programming language or an application development tool such as Power Builder, Visual Basic or Access. Java allows for the implementation of a platform independent application.
2) Database Management System
The database management system (DBMS) manages and maintains the data contained within the system. We propose to use a third party DBMS such as Access, Paradox, Sybase, or Oracle. Such software will provide the system a well organized, well supported, secure, and efficient system for data management. We feel that using such a DBMS is a cost effective and realistic way to implement the database component of this system. Using a proven DBMS will allow the system to scale to the growing needs of Easy University.
It should be noted that the minimal system is designed as a "stand alone" system. Therefore, the system will be minimally implemented on a single personal computer system.


Future Enhancements
We have a proposed a powerful and flexible system that can be enhanced as the needs of the students and the University change. At this stage in the design it is important to consider what future enhancements may be made to the system. The most important enhancements are allowing network access, multi-user access, database locking, security and internet access.

Network Access
This involves allowing users to use the system over a network connection. This would be implemented on a local area network or (LAN) and would be available to users who have access at the site. Implementation of the system on Easy University's LAN is the next logical step and would increase the accessibility of the system. We strongly recommend that this enhancement be made.

Multi-user Access
Allowing multiple users to access the system must occur along with implementing a networked system. This feature will allow the system be used to it's full potential.

Database Locking
This feature must also implemented on a networked, multi-user system. This feature prevents multiple users making changes to data at the same time. It ensures that the system will respond in a predictable and efficient manner. Most of the DBMSs that we are considering have this feature built in.

Internet Access
By allowing users to access the sytem via the World Wide Web(WWW) Easy University could reduce strain on it's on-campus computing facilities. However, the system for accommodating the increased access must be put into place.

Encryption and Enhanced Security
In allowing users to access the system via the internet, it must be ensured that the security of sensitive information is maintained. The use of encryption software and security measures will deter security breaches.

Telephone Registration System
Allowing registration by telephone would allow remote access to many users. There have been successful implementations of such systems at other universities. User Access Level Enhancements This improvement would involve refining the user access levels to even more specific user groups. In doing so the system would restrict user groups to specific operations on the system. This would increase the security and integrity of the system.

Improved On Line Help
The minimal system will implement a small on line help system, however further improvement to this system will allow students to use the system with greater ease.