Course Registration System - GVSU School of Computing and

advertisement
CIS622 Software Design
Object-Oriented Design for a Course Registration System
Consider a course registration system for a small college. After the administration makes the decision on
course offerings for the coming semester, the registrar’s office enters into the registration system the
information about each course offering, including course number, section, meeting time, class room,
instructor, and class size, making it accessible to students. Occasionally the administration needs to make
a few changes after the course schedule is published; for example, cancel a course with low enrolment or
add a section to meet unexpected demand.
Students can use the registration system to register for courses they want to take in the coming semester.
A student must enter one’s ID and password to start a registration session. Once the input is validated,
the student can register for each course one chooses to take. In most cases, the student should be able
to get one’s first choice. However, if a course is closed or canceled, then the student needs to find an
alternative course. Sometimes, due to time conflict or some other reason, the student has to delete one
or more courses one signed up earlier and add other courses. After this session is over, the student can
enter the registration system again, adding or dropping courses as needed until a certain date. In addition,
the student’s registration information, that is, the number of credit hours, is made available to a billing
system that handles students’ billing issues.
Once the initial registration period is over, professors receive a student roster for each course they are
scheduled to teach. Professors are allowed to access the registration system and find relevant information
about each of the classes they teach.
In this project, you will conduct object-oriented design for this registration system. Apparently, its
requirements description given above is not as complete as it should be. You can make reasonable
assumptions based on your knowledge of a course registration system. You need to produce the following
documents for submission and also present your work in class.
1. A domain model (also known as a class diagram) that shows classes in the registration system, their
attributes, and relationships between them.
2. A use case diagram for the system and a complete description for each of the use cases (i.e., an
expanded user case) in which a student registers or changes courses that he/she is intended to take.
You need to include login and logout so as to show a complete registration session.
3. A sequence diagram for each use case that you described above, which depicts how objects interact
to carry out the use case.
4. A design class diagram for the system, which involves classes that play a role in sequence diagrams
that you described above.
Note that documents described in each item above is considered as a part of this project and items 3 and
4 together are one part. You will present one part of your project in class on its due day, revise it according
to comments that you receive, and then submit it in the following week.
Download