Tuesday and Thursday
12:30 PM - 1:45 PM
What's New (Home)
Homework 3: Object-Oriented Analysis
For this homework assignment, you are asked to do a partial analysis of a software system using use cases, class diagrams, interaction diagrams, state diagrams, and activity diagrams.
This assignment continues with the system described in Homework 2, the Web-based system for managing the review of papers submitted to a journal. Building on the description presented in Homework 2, the client has submitted the following additional requirements.
A complete paper submission consists of a document in PDF format and the following metadata: the name, affiliation, and e-mail address of the contact author, and the title, list of authors, abstract, and total number of words for the paper. Once this information has been submitted, a unique id is assigned to the paper and an acknowledgment of receipt is sent to the contact author. The acknowledgment contains a copy of the submitted metadata along with a message containing the paper's unique id and the name and e-mail address of the managing editor.
If, after examination by the managing editor and editor-in-chief, a paper is found to be both in-scope and problem-free, then the editor-in-chief sends the title and abstract to each action editor asking for a volunteer to handle the paper. If an action editor responds, the editor-in-chief assigns the paper to him/her. If no action editors volunteer after four days, the editor-in-chief assigns the paper to an action editor whose area of expertise matches the paper's topic. If more than one action editor responds, the paper is assigned to the first respondent (all subsequent respondents are notified that the paper was already assigned).
An action editor sends e-mail to three candidate reviewers asking if they are willing to review the paper. Once a reviewer agrees, the action editor assigns the paper to the reviewer and sets a deadline of three months for the review to be completed. A reminder to complete the review is sent to the reviewer twice, the first after one and a half months and the second one week before the deadline. If a reviewer misses the deadline, the system "nags" the reviewer weekly until the review is submitted. If a reviewer declines the invitation to review the paper, the action editor selects another candidate reviewer until three reviewers have agreed to review the paper.
Write three use cases for the following scenarios. One use case should be written informally using only natural language text (a "low ceremony" use case). The other two use cases should make use of the template provided by Cockburn. One of the two should make use of most, if not all, of the fields in the template (a "high ceremony" use case) while the other should use only the most important fields (a "medium ceremony" use case). Note, some of the scenarios below describe failure situations, your use case should handle these failures as an extension to its main success scenario. In other words, be sure to develop a generic use case that describes what happens when everything goes right, then develop an extension to handle the particular failure described by the scenario.
a. John submits a paper to the journal whose length exceeds the journal's publication guidelines.
b. After John revises the paper and resubmits it, the editor-in-chief sends its title and abstract to the action editors and waits for a volunteer. No action editor responds to the request, even though the paper's topic falls within Tom and Sally's area of expertise.
c. Having been assigned to John's paper by the editor-in-chief, Sally sends e-mail to Bob, Ellen, and Peter asking if they are interested in reviewing the paper. Bob and Ellen accept but Peter declines. Sally 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.
Create an activity diagram for each use case.
Select an activity from each activity diagram and draw a sequence diagram that shows the objects that participate in that activity. You may also choose to draw a sequence diagram that covers the entire activity diagram. Be sure to clearly indicate the scope of the sequence diagram.
Develop a class diagram that contains the class definitions for the objects that participate in your interaction diagrams.
Pick two classes from your class diagram and develop state change diagrams for them.
Your assignment will be evaluated in terms of the quality of your analysis and the accuracy and consistency of your diagrams. This assignment is worth 50 points: 15 points for the use cases, 15 points for the activity diagrams, 10 points for the sequence diagrams, 5 points for the class diagram, and 5 points for the state change diagrams.
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.
Send questions to <firstname.lastname@example.org>. Answers to common questions will be discussed in class and/or posted to the class website.