Title: G
1GW Chapter 9 Reducing Ambiguity from Start to
Finish Software SpecificationLecture 16
- Prepared by
- Stephen M. Thebaut, Ph.D.
- University of Florida
2The Enemy and The Strategy
- THE fundamental problem of requirements
definition is ambiguity. - if we are ever to reduce problem statement
ambiguity well need tools to slow down the mind,
tools to prevent us from racing ahead to try
solving a problem prematurely.
Software Specification GW Chapter 9
3Heuristics can uncover sources of ambiguity due
to variations in
- Observation what people see or hear of a
problem (intra-cluster variation). - Recall what people remember of a problem
(intra-cluster variation). - Interpretation how people interpret a problem
(inter-cluster variation). - Problem understanding how people define the
problem in their own mind (inter-cluster
variation).
Software Specification GW Chapter 9
4Ambiguity Poll
- Create a metric that requires a solid
understanding of the problem to estimate. - Give the problem statement (requirements) to
informed individuals and ask them to
independently estimate the value of the metric. - Bring the individuals together to compare and
discuss the tabulated results.
Software Specification GW Chapter 9
5Memorization Heuristic
- Various individuals try to recall the problem
statement precisely from memory. Parts that are
not remembered well are likely to be places where
meaning is not clear. - A variation is to ask individuals what they
consider to be the critical parts of the problem
statement. When the lists are combined and
discussed, differences reveal potentially
ambiguous parts.
Software Specification GW Chapter 9
6Mary had a little lamb Heuristic
Mary had a little lamb.
Mary had a little lamb.
Mary had a little lamb.
Mary had a little lamb.
Mary had a little lamb.
Software Specification GW Chapter 9
7Mary conned the trader Heuristic
Mary owned a petite lamb.
Mary consumed a small amount of lamb.
Mary had a little lamb.
Mary conned the trader.
Mary was involved with a young sheep.
Software Specification GW Chapter 9
8Exercises
- Equivalence Partitioning is a black-box test
case design strategy. Read the description
provided carefully.
Software Specification GW Chapter 9
9Exercises
- An operational specification for selecting a
sub-set of all possible test cases associated
with a Cause-Effect (black-box) system model is
provided. Read the specification carefully. -
Software Specification GW Chapter 9
10Exercises (contd)
- Apply the Mary had a little lamb heuristic to
the statement - Testing is the process of executing a program
with the intent of finding errors. - until as many interpretations as possible are
discovered.
Software Specification GW Chapter 9
11Exercises (contd)
- Apply the Mary conned the trader heuristic to
the statement - Testing is any activity aimed at evaluating an
attribute or capability of a program or system.
It is the measurement of software quality. - to form additional interpretations.
Software Specification GW Chapter 9
12Exercises (contd)
- Without discussion and without re-reading the
Equivalence Partitioning description, write
down what you consider to be the critical parts
of the design strategy. - (When you finish, compare your answers to the
Equivalence Partitioning description.)
Software Specification GW Chapter 9
13Exercises (contd)
- Without discussion and without re-reading the
operational specification for selecting test
cases for a Cause-Effect system model, estimate
the number of programmer days that would be
required to correctly implement a program to
solve this problem. - Submit your estimate in class or to the TA, who
will tabulate and post the results.
Software Specification GW Chapter 9
14GW Chapter 9 Reducing Ambiguity from Start to
Finish Software SpecificationLecture 16
- Prepared by
- Stephen M. Thebaut, Ph.D.
- University of Florida