[G6] Specify Functions after User Analysis
Users of the system that are often forgotten are e.g.
the system administrator or the manager who only
uses the system for monthly reports.
Before the requirements are created, a good
analysis of all system user roles during the entire life
cycle of the system must be made. If the user roles
are known, the system functions for each role can be
listed.
If a proper user analysis is left out the final
system may miss important user interfaces such as a
report facility for managers or a configuration screen
for administrators.
[G7] Document the Picture Techniques
Although pictures often contain less ambiguity than
natural language, the symbols that are used in
pictures can still mean different things to different
people: what is the meaning of the shaded symbols,
the arrows, the dotted lines vs. the full lines, etc.
Most modelling tools, even if they are based on
standards like UML, do not put any restrictions on
the symbols in a certain diagram type.
To explain the meaning of each symbol and
colour used in the picture, a legend must be added to
the picture. Another good option is to document the
standard meaning in a company reference and only
include exceptions with the pictures themselves.
If no explanation of picture symbols (including
arrows and lines) and colours is included, different
interpretations are bound to be made. The different
interpretation will lead to inconsistencies in the
implementation or other actions that are based on the
pictures.
[G8] Relate Pictures to Text
When both pictures and text are used to explain the
same concept (e.g. steps in a use case scenario) they
must be consistent with each other.
To make it easy to verify the consistency of the
text and the picture, the same wording must be used.
If steps are pictured, the steps should be numbered
the same as in the text to make it easy to relate the
steps. Any other relations between the pictures and
text should be marked in the picture.
If text and pictures are not clearly related, it is
difficult to compare them. The inconsistencies
between text and picture might be overlooked.
[G9] Maintain Cross-References
A cross-reference indicates for a certain type of item
in which requirements or use cases a specific item is
addressed. Cross-references allow for forward and
backward traceability of the requirements.
The cross-reference is useful during update
actions of the requirements. If e.g. a new type of
printer is attached to the system, the ‘peripheral
equipment’ cross-reference indicates which
requirements or use cases are influenced by this. It
takes some extra time to maintain the cross-
reference unless the requirements are stored in a
requirements management tool that automatically
creates the indexes.
If no cross-references are maintained during
requirement development, an update action will take
a long time because all documents need to be
searched for references to the updated item. If
multiple names were used for the item, references
can easily be missed.
[G10] Maintain a Glossary
A glossary must indicate the meaning of each
ambiguous or project-specific term in the user
requirements. Moreover, if the requirements are
written in a non-native language a list of translations
should be included. A glossary is not only intended
for the lookup of abbreviations. It must provide a
unique source for the terminology in the project (e.g.
simple things like “do we use ‘customer’ or ‘client’
to indicate the buyer of our services?”).
A picture of the relations between the different
entities can be included to make the glossary more
informative. A less informal version of the glossary
would be a data dictionary, which also defines data
representations.
If not at least a basic glossary is provided for the
project the different possible interpretation of terms
will lead to inconsistencies in follow-up activities.
Moreover, the use of multiple terms for the same
entity (because there was no glossary that uniquely
defined the term to use) will lead to items being
easily overlooked.
[G11] Create Templates Pre-filled with Examples
A template that only outlines the structure of the
document can cause different writers to fill in fairly
distinct contents for the sections.
To make the template more indicative each
section should contain comments on what is
expected from the writer (are pictures mandatory? is
there a standard way of numbering items? when can
this section be left empty? etc.), and an example of
the contents. Checks that the author can perform on
the contents can also be included in the template.
If a template only contains section headings the
contents of the documents will vary from author to
author. It is hard to find inconsistencies between
documents that are not similar. Guidelines, examples
ICEIS 2007 - International Conference on Enterprise Information Systems
504