CSSE 371  --  Software Requirements and Specification  --  Fall 2004

Homework 10

Due Monday, October 25, 2004

Purpose: Practice analyzing requirements for traceability and other quality considerations

Note:  This is an individual assignment, but it uses artifacts your team is working on for the class project.  You will need access to those artifacts, and you will need to coordinate what you do on this assignment with the rest of your team (see items 3 and 4, below, with a little more in items 9 and 10).

What to do:

1.      Keep track of the amount of time you spend on this assignment.

2.      As you did in HW 9 -- From the actual project you are working on as a team, gather the following:


a.       The Supplementary Specification (in whatever its current condition is), and

b.      The Use Cases (however many of those you have, in whatever condition they are in).

3.      Pick one quality attribute (nonfunctional requirement area) for your project, from among the official list of six in the Template.  Discuss how you will do this as a team.  Each team member should select a different quality attribute, as in HW 9.  Make it one of the quality attributes for which you now have at least one scenario.  Save this for use in step 7, below, following the work on one of your use cases.  (That’s next.)

4.      Likewise, pick one use case from your project’s use cases.  Make it one which has some substance (i.e., length, and with at least one extension), like the example use cases.  Discuss also how you will do this as a team, so each team member selects a different use case.

5.      Read the article “Test Cases From Use Cases” at http://www.mcbreen.ab.ca/papers/TestsFromUseCases.html.  Alistair Cockburn’s use case format, mentioned in this article, is the format we’ve been using for textual use cases.

6.      Sketch at least 2 test cases from this use case, as shown in the above article, using the format:

Initial System State:

Inputs from the Actors:

Final State and Expected Outputs:

…and filling-in sample data you would expect, as shown in the article.  The fact your use case has at least one Extension lets you create the second test case from it. 

à As you are doing this, you will discover changes which need to be made to the use cases, to make them “testable” or to fix other problems.  Document these changes, for step 9, below.

7.      And now for that quality attribute you selected in step 3!  Pick a scenario you’ve written for this quality attribute, and pretend for the moment that this scenario is a use case.  Using the same format as in part 6, above, write a test case for this scenario.  As before, when you discover changes which need to be made in the scenario you had written, document these changes for step 9, below.

8.      Label your 3 test cases, two from (6) and one from (7), to show which Use Case or Quality Attribute Scenario they are from, respectively.  This gives the test cases “traceability” back to the requirements they were derived from (the use case or quality attribute, respectively).  Turn them in, in a file, in your H10 Drop Box.

9.      Recommend to your team any changes to the use case and quality attribute scenario you worked on, based on any ways you discovered they had to be fixed up to make them testable.  This is the part where you actually show you “Practiced analyzing requirements for traceability and other quality considerations,” the objective of this homework!

10.  Figure out how to include all the test cases the members of your team did, in a single file for your team’s use in the Project!