Management Plan
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.