Chapter 5 - Documenting Requirements in Natural Language
Chapter 5 - Documenting Requirements in Natural Language
3443
Requirements
Engineering
UNIVERSITI TENAGA
NASIONAL
MODULE 5.0
Documenting Requirements in Natural Language
Introduction
• Elicited requirements for the system to be developed are
frequently documented using natural language.
• Natural language has the advantage; does not require preparation
time in order to be read and understood by stakeholders.
• Natural language is universal in the sense that it can be used to
describe any circumstances.
5.1 Effects of Natural Language
• The following list includes the five transformational processes that are most
relevant for requirements engineering:
Nominalization
Nouns without reference index
Universal quantifiers
Incompletely specified conditions
Incompletely specified process verbs
5.1.1 Nominalization
• Nominalization is when you
use a noun instead of another
part of speech, usually a verb.
• It is not necessary to avoid
nominalizations, but they
should only be used if the
underlying process is
completely defined.
5.1.1 Nominalization
5.1.2 Nouns Without Reference
Indices
• Missing or inadequate index of reference. Examples of terms:
the user, the controller, the system, the message, the data, the
function.
• Example: The data shall be displayed to the user on the
terminal.
• What data exactly, which user exactly, which terminal exactly?
5.1.3 Universal Quantifiers
• The specified behavior or property does not apply to all objects within the
specified set.
• Universal quantifiers can be easily identified through trigger words such as
never, always, no, none, every, or nothing.
• Example: The system shall allow all data sets to be displayed in every
submenu.
• In this case, the following question must be asked: Really in every sub-menu?
Really all data sets?
5.1.4 Incompletely Specified
Conditions
• Potential loss of information.
• Especially in complex conditional structures, decision tables can be
invaluable tools to find unspecified variants of conditions or actions.
• Trigger words are, for instance, if ... then, in case, whether, depending
on.
• Example: The restaurant shall offer all beverages to a registered guest
over the age of 20 years.
5.1.4 Incompletely Specified
Conditions
• The correct one:
• The restaurant system shall offer:
• All alcohol-free beverages to any registered user younger than 21
years
• All beverages including all alcoholic beverages to any user over
the age of 20
5.1.4 5.13
U •A l U i I U
• Requirement using active voice: The system must allow the user
to enter his user name and password using the keyboard of the
terminal.
5.2 Requirement Construction using
Templates
• Requirements templates provide a simple and easily
understandable approach to reduce language effects when
documenting requirements.
• Templates support the author in achieving high quality and
syntactic unambiguousness in optimal time and at low costs.
5.1.4 5.13
• User interaction
THE SYSTEM SHALL/SHOULD/WILL/MAY provide
<whom?> with the ability to <process verb>
Example: The system shall provide the student with the
ability to print the registered subjects.
5.1.4 5.13
• Interface requirement
THE SYSTEM SHALL/SHOULD/WILL/MAY be
able to <process verb>
Example: The system shall be able to turn off
automatically after 10 seconds not in use.
5.1.4 5.13
<autonomous>
The system shall display the list of registered subjects after the user
choose the subjects.
5.1.4 5.13
User interaction
<user interaction>
The system shall provide the user with the ability to print the
registered subjects in alphabetical order .
5.1.4 5.13
interface requirement
<interface requirement>
The system shall be able to turn off automatically after 10 seconds
not in use.
5.2 Requirement Construction using Templates
If the user is detected as a lecturer, the system shall display the list
of students registered for the subject taught by the lecturer.
REFERENCES