Homework 3: Design

Introduction

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. Now, you will apply the techniques of responsibility driven design discussed in lectures 11 and 12 to design collaborations that will support the three use cases described in Homework 2. (If you missed points in Homework 2 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.)

Instructions

The first step of this assignment is to ensure that you have an appropriate set of objects to arrange into a set of collaborations. 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 2. Create a list of all of your objects, indicating which ones are new. Describe each object in your list using the information that appears on the unlined side of a CRC card.

The second 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 Bob's 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.

c. Sally contacts three reviewers, Max, Ellen, and Peter asking if they are interested in reviewing the paper. Max and Ellen accept but Peter declines. Sally then asks Tom if he is interested and he accepts. Ellen completes her review in one month, Max 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 (i.e. sequence diagram or collaboration diagram) for each distinct event in the scenarios above. These events are:

ScenarioEvent
1Paper Submitted
2Submission Info Sent to Action Editors
2Timer expires; Editor-In-Chief Notified
2Editor-In-Chief Assigns Paper
3Action Editor Selects Reviewers
3Reviewer Accepts; Paper Assigned to Reviewer with Deadline
3Reviewer Declines; Action Editor Notified
3Timer Expires; Reviewer Sent Reminder
3Reviewer Submits Review
3Action Editor Submits Summary Review

Your collaborations should make use of your boundary, controller, and domain objects to completely handle each event. If needed, you may combine several of these events into a single sequence diagram, just as long as all of your diagrams combined cover the ten events listed above.

Evaluation

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 70 points: 10 points for your list of objects; 6 points for each event that is correctly documented in either a sequence or collaboration diagram.

This homework can be turned in via hard copy, fax, or submitted electronically via the Moodle. Acceptable formats for electronic submission for this assignment are postscript and PDF. If you do not submit your assignment electronically be sure to upload a text file into the moodle that states that you submitted a hardcopy version of your assignment. This allows us to record your grade in the moodle, as well as to provide feedback to you via the moodle.

Any questions?

Send questions to <kena@cs.colorado.edu>. Answers to common questions will be discussed in class and/or posted to the class website.

Honor Code

Note: This is an individual assignment. Please do not work on or discuss this assignment with other students in the class.