Page 38 - Software and Systems Requirements Engineering in Practice
P. 38
I
n
:
1
h
a
e
p
t
n
o
d
r
r
t
i
o
t
u
c
C
C h a p t e r 1 : I n t r o d u c t i o n 11 11
When two requirements conflict with each other or create contextual
ambiguity, they are said to be inconsistent (see the later section
“Consistent”).
Verifiable
A requirement is verifiable if the finished product or system can be
tested to ensure that it meets the requirement. Product features are
almost always abstract and thus not verifiable. Analysis must be done
to create testable requirements from the product features. For example,
the requirement “The car shall have power brakes” is not testable,
because it does not have sufficient detail. However, the more detailed
requirement “The car shall come to a full stop from 60 miles per hour
within 5 seconds” is testable, as is the requirement “The power brake
shall fully engage with 4 lbs. of pressure applied to the brake pedal.”
As we have noted, product features lack detail and tend to be
somewhat vague and not verifiable. However, the analysis of those
features and the derived requirements should result in a specification
from which full coverage test cases can be created.
Modifiable
The characteristic modifiable refers to two or more interrelated
requirements or a complete requirements specification. A requirements
specification is modifiable if its structure and style are such that any
changes to a requirement can be made easily, completely, and
consistently while retaining the structure and style. Modifiability
dictates that the requirements specification has a coherent, easy-to-
follow organization and has no redundancy (e.g., the same text
appearing more than once), and that it keeps requirements distinct
rather than intermixed. A general rule is that information in a set of
requirements should be in one and only one place so that a change to
a requirement does not require cascading changes to other
requirements.
A typical way of ensuring modifiability is to have a requirement
either reference other requirements specifically or use a trace
mechanism to connect interrelated requirements.
Consistent
In general, consistency is a relationship among at least two
requirements. A requirement is consistent if it does not contradict or is
not in conflict with any external corporate documents or standards or
other product or project requirements. Contradiction occurs when
the set of external documents, standards, and other requirements
result in ambiguity or a product is no longer feasible to build. For
example, a corporate standard might require that all user interface
forms have a corporate logo in the upper-right corner of the screen,