Final Exam - COM3205 Fall 2001

Fifteen minutes to read the exam.

90 minutes to answer the exam.

System description:

Northmostern University wants to install a new student self-service system for student enrollment, registration and payment.   A local bank called YMOM (Your Money is Our Money) Bank Corp. will join Northmostern to create a flexible bank account that can be used to conveniently pay for courses as well as other on-campus expenses.  Northmostern will issue a new campus-wide Id card that combines all the features of a bank ATM card as well as a University ID card.

The course registration system is available as a web-based application.  It is part of the joint application maintained by NU and YMOM.

The following are some of the business rules governing the application:

1.     Every course has a cost.

2.     Every course has an optional list of prerequisites, in the form a list of courses.

3.     Every course has a list of quarters when it is offered.

4.     A student must have an established NU student enrollment record in the system, with an ID card and YMOM account before registering for a course.

5.     A student will have a list of courses, described with the quarter they took the course, payment status and their grade, if appropriate.

6.     A student can register for a course without having the money to pay for it in their YMOM account, as long as all prior courses have been paid for.

7.     Registration for a specific course is only possible during a defined window of time, 3 week before the end of the current quarter and 2 weeks into the beginning of the next quarter.

8.     A student will not see a grade for a course unless they have registered for the course and have paid for it in full.

9.     A professor can submit a grade for a course for a student, but the student will not see the grade until the course is paid for in full.

10.  A student may declare a Major and a Minor, each one implying a list of required and optional courses.

11.  A student can drop a course they have registered for and the money will be automatically made available in their YMOM account.

The students can access the system via their own PC accessing the web or via a network of YMOM ATMs.

The number on their student id/ATM  card is the user id for the application and the ATM PIN number is the password for the site.

They can:

1.     See their current transcripts,

2.     Register for a course in the next quarter.

When they register for a course, they will be presented with the set of courses that match their Major or Minor selections, the current courses offered and the courses with which they have fulfilled the prerequisites.

3.     Transfer funds from the YMOM account to pay for a course.

The University is a progressive IT customer.  They want to roll out system functionality as fast as it can be made available.

They want to engage student-lead focus groups to assess the quality and acceptance of the application.

They are concerned with the security and integration of the application with the YMOM systems.

The system development is not with out risks however, as COM3205 has very limited experience with the kind of networking complexity and distributed computing involved in this project.

Questions:

Answer as many of the following questions you can, in any order.  A score of 100 marks is a perfect score for this exam.

1.     What life cycle model would you choose for this project?  What life cycle would be the least appropriate? Explain your choice. (25)

2.     Who are the stakeholders? (10).

3.     Identify the class name, the class responsibilities and collaborators (CRC) for each class involved in the registration of a student in a course via the web site.  (Up to 5 marks for each class description - max 35.)

4.     Produce a UML class diagram specifying all the classes involved. (25 marks for completeness and clarity)

5.     Produce a UML state diagram that defines the states and transitions for the object (or objects) involved in implementing the rules that control the registration, grade submission, grade visibility, payment and dropping of a course for a student. (25 marks for completeness and clarity)

6.     Assuming the student has entered a valid PIN number at an YMOM ATM, diagram the interaction (using a sequence or collaboration diagram) between the different objects involved when a student registers for a course using UML notation. (25 marks for completeness and clarity)

7.     Draw the physical architecture of this system, identifying the different clients and servers that are involved. How would you describe this system in terms of the number of tiers (10).

8.     Using UML component, package and/or deployment diagrams, identify the different software modules that may be involved in this system. (10)

9.     From the requirements phase right through to the delivery of the code to the bank, describe as many of the non-programming tasks to be performed in this project as you can.  (Up to 5 marks for each description).    Using a timeline, identify when these tasks would be performed (10).