YCP Logo Assignment 2: Detailed Proposal

Due: Monday, Feb 7th by 11:59 PM

This is a Team assignment.

Preliminary assignment description - may be subject to revision

Your Task

In this assignment, you have four tasks:

  1. In the form of names of use cases, list all the requirements that your system will address by the end of the semester, in decreasing order of priority.
  2. Choose a subset of requirements that your team will work on in the first project iteration (2 weeks). This should be the first n items of your list for some value of n.
  3. Write full use cases for each of the n requirements in the subset.
  4. Develop a design model that will allow your system to address the each of the n requirements.

Details on each task follow.

Summarize/prioritize overall requirements

List the names of all of the use cases that you will implement this semester, in decreasing order of priority.

If you have requirements that are not use cases---for example, "the system will support communication via SSL"---list those as well.

This list should convey a fairly accurate picture of the features your system will have at the end of the semester.

You can re-use information from Assignment 1 as appropriate.

Choose a subset of requirements

Specify which requirements your team will be working on for the first project iteration.

Provide a brief explanation of why you chose to address these requirements first. (In other words, explain how you prioritized your overall requirements.)

Write full use cases

Write use cases for each requirement in your subset. If any of the requirements are not use cases, write a short explanation of the requirement, and why it is important to address.

Use a standard notation (e.g., the one in Chapter 9 of UML Distilled) for your use cases.

Design Model

Show a UML class diagram (or diagrams) illustrating how you will update your design model to accomodate the new features you will be adding. You don't need to go into a lot of detail, but indicate the important classes and methods that will be involved in the new features you are adding.

Write a brief description of your design changes, and how they will enable the system to accomodate the new features you are adding.


  • List of overall requirements, completeness/scope: 25%
  • Prioritization of requirements, explanation: 25%
  • Use cases for initial requirements: 25%
  • Update design model for initial requirements: 25%


Upload a PDF file to the assignment submission server as assign2. Only one team member needs to submit.

The URL of the submission server is


Please check the file you uploaded to make sure it is what you intended to submit. We may assign a grade of 0 for incorrectly submitted work.