CS 240 Homework 3 - Comparing Requirements Processes

Due Fri Oct 03 at 11:59pm

Overview

In this assignment you will be writing a Use Case Specification for your system---a method of documenting requirements commonly used in "Plan and Document" process models. You will be formally documenting a use case and its scenarios for one (1) piece of functionality described by one of the user stories you developed as part of Project Iteration 0.3, as well as identifying a few non-functional requirements. You will then briefly compare this process for documenting requirements with the Agile approach used with the project.

Wait a second, so I am writing the same requirement twice? Yup! This is intentional---not only will it help you make sure you have a really clear understanding of your project's functionality, but it will give you a chance to compare activities from different approaches to software engineering.

Objectives

Assignment Details

Pick one of the user stories you developed as part of Project Iteration 0.3. You will likely need to use a small number of related user stories to cover a complete Use Case with its different scenarios. Make sure that your chosen user stories don't overlap with those chosen by other members of your team--the goal is that in the end your team will have use cases that give decent coverage of the system.

Write a detailed Use Case Specification describing the functionality of your system that is represented by your chosen user stories. This use case will follow the modified version of Cockburn's template for a fully dressed use case that is described below.

You can find more information about writing Use Cases online; for example, this write-up has extensive, good examples of event flows.

Note that you are not required to include a UML Use Case diagram (though you of course can if you want!)

Comparison

In addition to your Use Case Specification, include a short (~2 paragraph) written discussion of your experiences writing User Stories and Use Case Specification. You should draw on your project's User Stories and Use Cases as examples! You might consider:

Other points of reflection are of course welcome! The goal is to evaluate the benefits and drawbacks of these different forms!

Submitting

Please take some time to proofread and revise your specification--iterate your writing!. Think of this as a professional document, something that you would show to your boss!

Submit your specification as a post on Piazza, tagged with #Hwk3. You are welcome to make this private, though I encourage you to post it more publically so that (a) you can share your specification with your team mates, and (b) so that you can share with others examples of how to write these specifications!

Grading

This assignment will be graded out of 10 points: