hw1

advertisement
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-ofconcept 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,
Responsibilities:
* register courses
* keep student in status.
Collaborators:
b) RegInterface class,
Responsibilities:
* provide login prompt
* validate input login requirements
* dispatch event to action
* display or allover course information
Collaborators:
c) Event class,
Responsibilities:
* queue
* signal
* isolate
Collaborators:
d) Transaction class,
Responsibilities:
* sequence
* validate & perform registration action
* keep auditing information transition
Collaborators:
e) RemoteDB class,
Responsibilities:
* get student's course information &
retrieve student's record
* get student's billing status
* record transaction
Collaborators:
* RegInterface,
* Event,
* Transaction.
* Event,
* Transaction,
* StudentRegistration,.
* RegInterface,
* RemoteDB
* StudentRegistration.
* RemoteDB
* StudentRegistration
* RegInterface
* RemoteDB
* StudentRegistration
* Event
* 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
Registration
RegInterface
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.
Download