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.