Homework 2

Homework 2 involves generating a list of requirements, a set of use cases, a class diagram and a sequence diagram for one of the following systems:

  • iTunes
  • YouTube
  • Flickr

Select one of these systems and think about its underlying requirements. Develop a list of requirements that cover the main categories of the system's functionality. Then, develop a set of use cases that document the scenarios that are associated with these requirements until you have adequately covered the system's major features and leaves you with good coverage of the items in your requirements list.

Then develop a class diagram that captures the main concepts of the system and their interrelationships. We are currently operating in the “analysis phase” of software development, so your classes should be documenting concepts in the application's problem domain, not concepts that are part of the application's implementation domain.

Finally, pick one of your longer use cases that documents an interesting service that the system provides and create a sequence diagram that documents how objects from your class diagram interact to provide that service. Since this service will no doubt require objects that are more related to the system's implementation domain, it is okay for implementation domain concepts to appear in this diagram. Sequence diagrams were discussed in Lecture 8.

Please submit a PDF document containing all of these artifacts to Prof. Anderson by 11:55 PM on Monday, Sept. 28th.

You are encouranged to work in teams on this assignment. You should submit only one archive per team and clearly document the members of the team at the top of the assignment.

Any questions? Send them to Prof. Anderson.

Grading Rubric


To achieve this grade: Rubric
A Comprehensive set of requirements and 6-8 use cases that document the primary services of the system and which follow the use case style guidelines discussed in Lecture 7. High-quality class diagram and sequence diagram that make use of the various notations covered in class. Clear attention to detail is evident in the work and the document is well written.
B All requirements are met but with less polish and not all functionality/concepts are covered by the submitted software artifacts.
C All requirements are met but with low polish or with major gaps in the functionality/concepts covered by the lists and diagrams. Use case style guidelines are being ignored, notations are wrong, and there are problems with the overall quality of the writing in the document.
D The assignment was of low quality with the majority of diagrams missing or wrong. Answers are not polished, and the figures/lists contain problems with grammar and spelling.
F The assignment was either not submitted or was of extremely poor quality. Poor quality work would consist of almost all diagrams/lists either missing or wrong or answers lacking any form of detail and containing many grammatical/spelling errors.
© Kenneth M. Anderson, 2009.