2 THE GOAL AND THE
QUALITY OF REQUIREMENTS
SPECIFICATION
One of the goals that a requirements specification
needs achieving is that the customers can validate
that the specification meets their expectations from
the viewpoint of the actual usage. Namely, they
want to confirm how to use the system to get their
desired service. The other goal is that the developer
can verify the specification so as to confirm the
feasibility of the specification. Namely, it is
important that a requirements specification has no
ambiguity for the developers at the design phase
about the terms and their relations among it, so that
all the sentences can be interpreted by them in
uniquely. All the expected responses of the system at
every effective usage of it need specifying from the
viewpoint of the input/output data. Moreover, it is
required that there is no contradiction in the relation
between behaviour and data on the requirement.
Even if a requirements specification is written in not
natural language, but such diagrams as UML and
screen images, the qualitative problems may still
remain unsolved. This is because these qualitative
problems cannot be checked by using such an
executable integrated model as program codes.
IEEEstd.830 (IEEE Computer Society, 1998) has
been known as a standard of requirements
specification construction. When most developers
specify a requirements specification according to the
standard, it is difficult for them to fully pay attention
to interrelationship between all components in the
documents so as to achieve the goal of a
requirements specification.
As our model-driven requirements analysis
method has argued, models are effective in
specifying the target system by the different aspects.
However, the resultant integrated model often has
some defects that are difficult to detect on each
model such as omissions on entity data life cycle.
Model checking is a promising approach because
it has a mechanism exhaustive checking. Several
researches (Achenbach and Ostermann, 2009; Bao
and Jones, 2009; Aoki and Matsuura, 2011) on
model checking have been proposed about detecting
defects on source codes. However, to define
application dependent formulas for checking of the
target mode, the ambiguity of the models need to be
removed.
We propose a stepwise development method of
requirements analysis models so that we can check
various application dependent formulas stepwise.
3 MODEL DRIVEN
REQUIREMENTS ANALYSIS
PROCESS
3.1 Outline
To validate and verify the requirements specification
at the requirements analysis phase, we propose the
following model driven requirements analysis
process as shown in Figure 1.
Figure 1: Validation and Verification of Requirements
Analysis Model.
At the second step, the developer refines the model
from the feasibility of the requirements for each use
case. To achieve the feasibility of the requirements
specification, the developers must confirm that a
sequence of actions and data flows within the system
partition of the activity diagrams can produce the
expected output data from the specified input data.
System side Prototype helps the developers to
confirm that input data being defined by the user can
be transformed into entity data of the system.
Moreover, actions in the system can be specified
with data life cycle functions. Data life cycle means
that every data in a system has such four functions
as create, read, update and delete. These functions
are called CRUD of data, and several general rules
are set on them for the consistecy.
After the developer has revealed the feasibility of
the required interaction, the model is translated into
the UPPAAL (UPPAAL, 2010) model which is one
of known model checking tools. He/she can
exhaustively verify whether the requirements
analysis model meets the other required conditions.
At this time, the behavioural relations between these
four CRUD functions can set several rules in the
basic system behaviour on every entity data on the
requirements specification (see Figure 5).
ICEIS 2012 - 14th International Conference on Enterprise Information Systems
%p