UNIVERSITY OF TORONTO


Faculty of Arts and Science

 

FINAL EXAMINATION - APRIL 2003

 

CSC 407H1 S
 

Duration – 2 ˝ hours

 

Aids Allowed: Books and notes

 

 

Total Marks: 100

 

Answer all questions in the EXAMINATION BOOKS provided. All answers in the books must be numbered to correspond with their question.


1.       [30 marks] Give an Object-Oriented Analysis using UML diagrams and written text for the following requirements statement.

We are a company that sells large software systems to multi-national investment banks, corporations, asset management companies, insurance companies, and anybody else who will buy from us. We currently have 80 sales offices spread around the world, and a sales force of 375 salespeople. Each sale takes anywhere from 6 months to a year and will involve multiple people from the prospect’s organization (a “prospect” is a company that might become a customer if all goes well). We require a flexible system for keeping track of all the sales efforts currently underway (called the “sales pipeline”), and a history of all past sales efforts, whether successful (a “closed” sale) or not  (a “lost” sale).

Each sale is run by one salesperson. All salespeople ultimately report into the VP Sales. Some report directly, others report through a regional sales manager, and yet others through a local sales manager reporting into a regional sales manager (our regions are Canada, US, Latin America, Europe, Eastern Europe, Asia, and Japan, but this is subject to change).

A “sales model” gives the typical stages in a sale. Our current sales model is as follows (but is subject to frequent change):

1.       Identified
A prospect organization is identified as having a need.

2.       Initial Contact
One of our salespeople has spoken to an individual in the prospect organization.

3.       Decision Maker Identified
The decision makers (those with budget and the authority to spend it) within the prospect organization have been identified.

4.       Demo Complete
A customer service representative has demonstrated the software and done presentations to all of the decision-makers in the customer’s organization.

5.       Pilot Negotiated
There is an agreement that a pilot project will be conducted at the client site.

6.       Pilot Complete
The pilot project has been completed. It was run by a project manager from our customer service team and had various customer service representatives involved.

7.       Terms Negotiated
There is agreement in principle on the business terms of the deal.

8.       Sale Closed
Contracts specifying all details of the deal have been signed.

9.       Payment Received
All license payments have been received from this customer.

Associated with each stage of each sale is information including lists of the various people involved, and predictions [SG1] of:

·         the probability of the sale going through

·         an estimate of the dollar value of the sale

·         an estimate of the Sale Closed date.

Based on historical data, there are default predictions for the various estimates given the type of customer, size of the customer’s organization, the sales office, region, and the stage in the sales model.

For each new prospect, a salesperson is assigned who will be responsible for creating a Sales Plan, based on the Sales Model. As the stages in the Model are completed, the salesperson updates the Sales Plan with dates and other information. If a sale is lost, or once final payment has been received, the date is noted and the Sales Plan is closed, with an explanation.

We require a system that enables salespeople to create a Sales Plan, add new information to their plans, access and update existing information in their plans, and allows sales managers to view various reports of all Sales Plans in the sales pipeline. Most interfaces should be Web-based and graphical in nature. All data on the sales pipeline should be kept indefinitely, including a history of when all the stages were reached in each sales effort, a history of the updates to the prediction information, which sales efforts were successful and which not, and for those that were not successful a reason explaining why not (see question 2 for additional requirements).

2.        [45 marks] Give an Object-Oriented Design using UML diagrams and written text for a command-line program based on the requirements from Question 1, above. Explicitly identify all design patterns used and justify your use of them. Do not write any code.

The program reads from a relational database into memory the entire sales pipeline, including all historical data. Based on the historical data, the system should compute and print to standard output default predictions of Sale Closing, expected elapsed time to Sale Closing, and expected dollar value of the sale, divided out by sales office, region, customer type, customer size, and pipeline stage.

 

3.        [25 marks] Produce a systems architecture document for the sales pipeline tracking system discussed in Question 1. The company using the system will have sales offices in approximately 80 different sales offices in 7 regions. Any employee from any office should be able to query any of the data, although we anticipate higher traffic within an office and within a region than between offices or regions. The system will also be accessed by salespeople on the road from laptops and wireless PDAs (personal digital assistants).


 [SG1] I think predictions is better here because it is referenced later