CSCI 6448

Object Oriented Analysis and Design

Course Location
   ECCS 1B12

Course Time
   TR 12:30 PM - 01:45 PM

    What's New
    Related Materials
    Contact Information
    Evaluation Criteria

Homework 4: Responsibility-Driven Design


For this homework assignment, you are asked to continue your work on the Web-based system for managing the review of papers submitted to a journal described in Homework 2 and Homework 3. Now, you will apply the techniques of responsibility driven design to construct collaborations that will support the three use cases that were requested for Homework 3. (If you missed points in Homework 3 on the structure of your use cases, then send e-mail to Dr. Anderson and he will provide you with a set of use cases that you can use for this assignment.)


The first step of this assignment is develop a list of responsibilities derived from the three use cases.

The second step is to create a set of objects that will participate in your collaborations using CRC cards. Since we are now performing design, you will need to create boundary and controller objects to add detail to the analysis models that you created for Homework 3. Be sure to assign the responsibilities developed in step 1 to these objects. In addition, be sure to assign a stereotype to each object, identify its purpose and its collaborators. Note: you do not have to use actual index cards for this assignment. Just make sure to present the required information for each card in a format that matches the spirit of the CRC card technique.

The third step is to create collaborations that show how your objects work to handle the following three scenarios.

a. John submits a paper to the journal via the website. The paper's length exceeds the journal's publication guidelines so the system does not accept the paper and it displays an error message explaining why.

b. The editor-in-chief logs into the system and uses it to send a new submission's title and abstract to the journal's action editors. (The paper has already passed the validation checks of the system, the managing editor, and the editor-in-chief.) No action editor responds to the request (even though the paper's topic falls within Tom and Sally's area of expertise), so the system notifies the editor-in-chief. He, in turn, logs into the system and assigns the paper to Sally. The system sends the paper's info to Sally.

Sally contacts three reviewers, Bob, Ellen, and Peter asking if they are interested in reviewing the paper. Bob and Ellen accept but Peter declines. Sally then asks Tom if he is interested and he accepts. Ellen completes her review in one month, Bob takes four months, and Tom finishes his review in three and a half months. Once all the reviews are complete, Sally writes her summary review and sends (using the system) all four reviews to the author of the paper.

You should create one collaboration (e.g. sequence diagram) for each distinct event in the scenarios above except for the review reminders in scenario 3. (Ellen never gets a reminder. Bob is reminded a minimum of 5 times and Tom is reminded a minimum of 3 times.) For the reminders, you can create one collaboration that shows how a reminder works and indicate that it is used each time a reminder needs to be sent. Your collaborations should make use of your new boundary and controller classes to access the relevant entity classes. Make sure that each object participates such that it is fulfilling the responsibilities you assigned to it in step 2.


Your assignment will be evaluated in terms of the quality of your design and the accuracy and consistency of your diagrams. This assignment is worth 50 points: 5 points for the list of responsibilities, 20 points for the CRC cards, and 25 points for your collaborations.

This homework can be turned in via hard copy, fax, or submitted electronically. Please remember that acceptable formats for electronic submission are ASCII, postscript, and PDF. Send ASCII submissions in the body of an e-mail message (not as an attachment). Send postscript/PDF submissions as an attachment to an e-mail message. If you send postscript, be sure to embed any special fonts that you may use directly into the postscript font. (Most printer drivers provide an option to allow you to embed fonts.) Make sure that your e-mail message is clearly marked (as discussed in lecture 1) and that this same information appears in the attached document.

Any questions?

Send questions to <>. Answers to common questions will be discussed in class and/or posted to the class website.

© Ken Anderson, 1998-2003.
Last Updated: 3/27/03; 2:42 PM