Requirements
Engineering
"Basic Patterns"
Software Engineering
Dr. Jose María Alvarez-Rodríguez
Examples of Patterns
-
No unique
-
No all
-
They should be adapted depending on the context
- Domain
- Requirement type
- ...
-
They need a domain vocabulary: concepts and relationships
- ...
Pattern #1
<system> shall <action>
- The <system> can be the whole system, a subsystem or a component.
- Car, braking subsystem, brake pedal, etc.
- The action or capability in simple future.
The car shall speed up.
Pattern #2
<sytem> shall <action> <entity>
The car shall brake when the brake pedal is pressed
Pattern #3
<system> shall allow <entity> to be <state_X>
- ...
- The <state_X> represents a domain verb or concept.
The car shall allow the engine to be idle.
Pattern #4
<system> shall be <entity>
The car shall be idle.
Pattern #5
<system> shall have <entity>
The car shall have a brake pedal.
Pattern #6
<system> shall have <quality_factor>
by at least <quantity> <unit>
The heating subsystem shall have an availability
by at least 4 hours.
- Magnitude and unit of measurement
Pattern #7
<system> shall have <quality_factor>
of a maximum <quantity> <unit>
The heating subsytem shall have an availability of a maximum 6 hours.
Pattern #8
<system> shall not <action>
- Negative requirements! (potentially infinite!)
The car shall not hibernate.
Pattern #9
<system> shall not <action> <entity>
The car shall not speed up when the brake pedal is pressed.
Pattern #10
<system> shall not allow <entity> to be in <state_X>
The car shall not allow drivers to be driving without the seat-belt.
Pattern #11
<system> shall not allow <action> <entity>
The car shall not allow changes in the engine controller.
Pattern #12
<user> shall be able to perform <action>
The driver shall be able to change the gear manually.
Pattern #13
<system> shall be in <state_X> <quantity> <unit>
The engine shall be in idle state after 5 minutes.
...more patterns?...
Design
- Domain
- Need
- Vocabulary
- Type of requirement
- ...
Credits
-
CESAR (Cost-efficient methods and processes for safety relevant embedded systems) Project, entregable D_SP2_R3.3_M3_Vol2: http://www.cesarproject.eu/
- Requirements Quality Suite. The Reuse Company Inc.
Patterns and Requirements Engineering
By Jose María Alvarez
Patterns and Requirements Engineering
- 1,449