CS 48, Spring 2018

Requirements Analysis Instructions


First, read about requirements analysis and related artifacts.

Required reading (note the Exam will cover this reading too)
Craig Larman, Chapters 5, 6 and 7 of Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design, and the Unified Process. 2nd Edition.
Also read Code Complete (textbook), Chapters 1, 2 and 3 (at least through section 3.4).
Recommended reading:
Laurie Williams, "Use Case-based Requirements." Online chapter.
And here is a concise beginner's guide to user stories by Boost online.


  1. Update the project description you prepared for Progress Report 1 to make sure this description is still an informative introduction to your proposed project.
  2. Prepare a Vision (Larman chapter 7), including at least the following sections:
    • Problem statement
    • Key high-level goals and user goals (okay to combine to one section)
    • System features
    • Other requirements and constraints (enhanced, with details that might appear in the "Supplementary Specification" of a more elaborate project).
  3. Identify, and write use cases (Larman chapter 6) for the proposed system. Use an "essential UI-free style" (section 6.11) and include at least the following sections:
    • Name of use case
    • Primary actor
    • Main success scenario (basic flow)
    • Extensions (alternative flows)
    Use case diagrams are not required, but would be helpful if there are many use cases and/or important relations between use cases.
    User stories in this form (including acceptance tests) can be used instead of or in addition to use cases if you prefer.
  4. Prepare a schedule for implementing the use cases over at least two development iterations. Say which use cases will be fully implemented in the first iteration. If your intention is to implement simplified versions of any of the use cases in iteration 1 (and complete them in a later iteration), describe the simplified use cases.
  5. Begin a glossary (Larman sections 7.6 and 7.7).
  6. Assemble a complete requirements analysis document. All text must be typewritten (but hand-drawn diagrams are acceptable). The document must be contained in a single PDF file, assembled in the following order:
    1. Cover page with Group ID code, project title, and each of your names.
    2. Project description
    3. Vision
    4. Use cases and/or user stories
    5. Project schedule
    6. Glossary
  7. Turn in the PDF to Gauchospace. Officially, it is due Friday, April 20 by 6:30pm. Credit will be reduced significantly for late submissions.

Updated March 30, 2018 by C. Michael Costanzo

CS 48 homepage