2390 F96: Design Assignment #1
Design a Registration System
Due October 23 in Class.
You are asked to re-design Georgia Tech's Registration System. Key new
features that are desired (i.e., keeping the current functionality, but
adding):
- The registration system is to be de-coupled from the interface. It
should be possible to register via terminal (as students do now) or via
the new WWW pages that will be set up to handle registration.
- The registration system needs to know what students have taken before,
their major, and whether they have had passing grades in their classes
(including what counts as passing, e.g., some departments may require a
higher passing grade in major classes).
- The registration system needs to check the pre-requisites for courses:
Students may not register for courses if the pre-requisites are not satisfied
(unless they have permission from their unit.) If the pre-requisite is
teacher approval, the registration system will require that approval.
- A protection system must be implemented. Teachers can give approval
for courses, but can't see students' grades or courses. Colleges can see
student grades, past courses, and current courses, and can grant over-rides.
Students can see their own grades and courses, but not anyone elses, and
may not grant over-rides.
Your job is not to implement this system, but to analyze
the problem and to design a solution. At the current time, it's not been
decided if this system should be in Java, C++, or Smalltalk, so design for
an object-oriented solution, but you may not assume a specific language.
Be sure to follow the design documentation
standards for the course.
Discuss
the Design Assignment in WebCaMILE.