Computer Science and Software Engineering 371

Software Requirements and Specification

Fall 2005

Exam 2 Review

  

       Exam 2 (to be given on Friday, October 21 in class) will cover the lectures, discussion, homework and reading material from Tuesday, September 27 through Tuesday, October 18, inclusive.  The exam will be closed book and closed notes, except for a single 8.5 by 11 sheet of paper, with which you can put info on both the front and the back.  Up to 10% of the exam could come directly from the reading material (without having been covered otherwise).

 

Example Problems (one from each lecture day):

 

1.    The following table is Table 18-5 of the requirements text (page 218) with the risk values from Table 18-3 (page 215) inserted.  This is a final prioritized feature list for something described in the text only as a “shrink-wrapped software product” (page 212).

 

Feature

Priority

Effort

Risk

Feature 1: External relational database support

Critical

Medium

Low

Feature 4: Portability to a new OS release

Critical

High

Medium

Feature 6: Import of external data by style

Critical

Low

High

Feature 3: Ability to clone a project

Important

High

Medium

                                    Baseline (features above this line are committed features)

Feature 2: Multiuser security

Important

Low

High

Feature 5: New project wizard

Important

Low

Low

Feature 7: Implementation of tool tips

Useful

Low

High

Feature 8: Integration with a version-manager subsystem

Useful

High

Low

 

Looking at the priority and effort values alone makes one wonder why of the three important features (all equal in importance, according to the rating scheme) the one with the highest amount of effort (Feature 3) was chosen to be part of the baseline rather than one of the two with somewhat lower effort required (Features 2 and 5).  Assuming, that the requirements team has done a good job in selecting Features 3 instead of 2 or 5, answer the following two questions:

 

(a)     From the information provided in the table and the brief description of the product, what is the most likely reason for Feature 3 being selected over Feature 2?  Please explain the rationale for your answer.

 

(b)     From the information provided in the table and the brief description of the product, what is the most likely reason for Feature 3 being selected over Feature 5?  Once again, please explain the rationale for your answer.


 

2.    Consider the use case below.

 

Name of Use Case

ATM Checking Withdrawal

Brief Description

Withdraw money from a checking account using an ATM

Actor(s)

User, Bank database

Basic Flow

1.  The user enters the amount of the withdrawal request within 60 seconds.

2.  The ATM gives the user the desired amount on money.

Alternate Flow(s)

1.  The user does not provide an amount within 60 seconds, and is then prompted, asking if more time is desired.  There are two possible outcomes:

a.  If the user answers “yes”, step 1 starts again from the beginning

b.  If the user answers “no” or does not respond within 60 more seconds, the withdrawal is cancelled.

 

2.  If the user enters an amount greater than the balance on that account, the user prompted for a new amount (as in step 1).

 

3.  The user presses the cancel button instead of entering an amount, and the withdrawal is cancelled.

Pre-conditions

The user has already specified that withdrawal from their checking account is desired, and the ATM screen is already prompting the user for an amount to withdraw.

Post-conditions

The user received prompt asking if additional transactions are desired.

Special requirements

none

 

Produce the set of test cases for this use case (with data values, as in Table 26-6 of the text).  The test case template is below.  It is strongly suggested that you show work (using the four steps shown on pages 310-316 of the requirements text) in order to receive the maximum amount of partial credit in there is an error in your table.  [Note: I will do this for the solution to this problem.]

 

Test Case Id

Scenario

Description

Condition:

<condition>

Condition:

<condition>

Condition:

<condition>

Expected

Result

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

3.    Suppose a member of the implementation team wants to add a new feature to the software, and all of the requirements (use case model and supplementary specifications) have already been baselined.

 

(a)     Assuming an effective change control process is in effect, what should now happen in order to request and receive approval for the change?

 

(b)   Assuming the change is properly approved, what development artifacts now need to be modified, and in what order?

 

4.    Describe when and how testing is done in the agile development process.