CSCI 6448

Object Oriented Analysis and Design

Course Location
   ECCS 1B12

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

Topics
    What's New
    Schedule
    Bibliography
    Lectures
    Homeworks
    Related Materials
    Contact Information
    Evaluation Criteria

Homework 3: Object-Oriented Analysis

Introduction

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.

Instructions

  1. Write a set of medium ceremony use cases that can support the following sequence of events.

  2. 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. Once all the reviews are complete, Sally writes her summary review and sends all four reviews to John.

    At a minimum, there should be one use case that handles submitting a paper, one use case that handles selecting an action editor for a paper, and one use case that handles the review process for a paper. (You can write more if you find a need...for instance, if you find that an extension is getting too big, you can put it's information in a separate use case.) Use the use case template provided by Cockburn that was covered in Lecture 9, but stick to the most important fields: Name, Primary Actor, Main Success Scenario, and Extensions. The Trigger and Precondition fields can be used if you find a need for them.

    Note, your use cases need to support the sequence of events above, not mimic them. Thus, your use cases should not refer to John, Sally, Bob, Ellen, or Peter! Instead, they should generically capture the functional requirements of the system, correctly handling success and failure scenarios.

  3. Create an activity diagram for each of the three main use cases.

  4. Select a complex activity from each activity diagram and draw a sequence diagram that shows the objects that participate in that activity. If the activity diagram contains no complex activities, you can instead choose to draw a sequence diagram that covers the entire activity diagram. Be sure to clearly indicate the scope of the sequence diagram.

  5. Develop a class diagram that contains the class definitions for the objects that participate in your interaction diagrams.

  6. Pick two classes from your class diagram that have interesting states and develop state change diagrams for them.

Evaluation

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, 10 points for the three activity diagrams, 15 points for the three sequence diagrams, 5 points for the single class diagram, and 5 points for the two 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.

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.


© Ken Anderson, 1998-2003.
Last Updated: 3/8/03; 12:23 PM