Student Name: Tao Jiang
Total Page:16
File Type:pdf, Size:1020Kb
CS610 Spring 2000 George Lukas
Student Name: Tao Jiang Homework1 - Object-Oriented Design Using CRC Cards
1, Conceptualization, Generating a prototype that could be developed as a proof-of- concept demonstration and to validate important assumptions.
The core requirements of the Registration System are to allow student be able to register for adding courses and deleting courses. It also could check the Burser's office to identify student's status and check Student's Database to identify if student meet prerequisites for registering courses.
2, A description of the major scenarios which you us to validate your initial high-level design.
Major scenarios are: a) Login: identifying student's ID to system, confirm ID and password, querying student's course record from student database system, querying billing status from bursar's computer system. b) Browser allover and individual course's schedule: dealing with registration system to display all courses to student. c) Register (add) courses: verifying if student keep the good status from bursar's computer system. and verifying if student's prerequisite have been met from student database system and calculate the total of student's credits, checking if the course has been filled. Dealing with registration system to add course to his schedule. d) Drop course(delete): displaying all courses that have been registered, then deal with registration system to delete course from his schedule.
3, A set of CRC cards providing the critical classes, their major responsibilities and the collaborators for each responsibilities. Critical classes: a) StudentRegistration class, Collaborators: Responsibilities: * RegInterface, * register courses * Event, * keep student in status. * Transaction. b) RegInterface class, Collaborators: Responsibilities: * Event, * provide login prompt * Transaction, * validate input login requirements * StudentRegistration,. * dispatch event to action * display or allover course information c) Event class, Collaborators: Responsibilities: * RegInterface, * queue * RemoteDB * signal * StudentRegistration. * isolate d) Transaction class, Collaborators: Responsibilities: * RemoteDB * sequence * StudentRegistration * validate & perform registration action * RegInterface * keep auditing information transition * RemoteDB e) RemoteDB class, Collaborators: Responsibilities: * StudentRegistration * get student's course information & * Event retrieve student's record * Transaction * get student's billing status * record transaction
4, An informal description of the sequencing of message between classes(actual objects) involved in carrying out each of the scenarios.
Diagram description: Bursar's office System Student RegInterface Registration Registration System Student's Record DataBase There are many different ways to register courses into Student Registration System, such as Phone register, Web register process and so on, I generate a class called RegInterface to deal with those information that from student input.
Firstly, a student try to register course from web, he/she has to type username and password in order to log into Registration System. After he/she input information, web browser has to validate(using validate() method from RegInterface class) if inputted information is corrected to send to quire student's data from System.
Secondly, 'Login' bottom and click event will carry this information to a certain transaction object. Transaction object will validate student's username and password from Student Registration Database and display right action to this student. System also could generate the total credits for each semester by using 'getTotalCredit()' method with different parameter from Student class.
Thirdly, when student wants to register new courses for new semester, RemoteDB object can access to Student Information System to check whether student meet the prerequisite and talk to Bursar's office system to verify student's status.
Fourthly, Transaction object will perform registration action, and keep record of each transaction.