Proceedings of the IFIP WG8.1 Working Conference on Engineering Information
Systems in the Internet Context (EISIC’02), Kanazawa, Japan, September 2002.
C. Rolland, S. Brinkkemper, M. Saeki (Eds.), Kluwer Academic Publishers,
pp.127-152.
Requirements Definition for the Situational Method
Engineering
Jolita Ralyté
CUI, Université de Genève, 24 rue du Général Dufour, CH-1211 Genève 4, Switzerland
[email protected]
Abstract:
1.
The work presented in this paper is related to the situational method
engineering domain, which focus on the project-specific method construction.
The techniques proposed by this discipline aim to construct methods by
assembling reusable method fragments. The selection of the method fragments
is requirements driven. The first step in the situational method engineering
consists in analysing the situation of the current project and specifying the
requirements for a method supporting this situation. In this paper we propose
an approach supporting the definition of the requirements for a situational
method. The approach considers different method engineering situations and
provides guidelines supporting method requirements definition in each of
them. The application examples illustrate our approach throughout the paper.
INTRODUCTION
The increasing complexity of the Information Systems (IS) asks for new
IS engineering methods, which could take into account the specific situation
of each IS development project and help to manage thus its complexity.
However, the traditional method construction techniques are too expensive
and time-consuming and are not suitable for a project-specific method
construction. The Situational Method Engineering (SME) discipline emerges
as a reaction to this problematic. Brinkkemper defines the SME as “the
discipline to build project-specific methods, called situational methods, from
parts of the existing methods, called methods fragments” [2]. Hence, the
objective of the SME is to provide rapid method engineering techniques
based on the reuse of the existing method parts in the construction of new
1
2
Jolita Ralyté
methods, more flexible and better adaptable to the situation of every IS
development project.
Different approaches have been proposed to achieve this goal. These
approaches introduce the notions of method fragment [6, 18] and method
chunk [9, 15, 19] as the basic blocks for constructing ‘on the fly’ methods.
Some authors propose repositories for method fragments/chunks storage [15,
19, 23]. The process model for reengineering of the existing methods into
collections of method chunks is proposed in [13]. This model helps to
identify the reusable parts of the existing methods, which are not modular in
origin, and to specify them as method chunks, which can be stored in a
method base. In addition, there are a number of proposals for approaches to
assemble these fragments/chunks [3, 9, 11, 12, 14, 24]. Following these
approaches, new methods can be constructed by selecting the
fragments/chunks that are the most appropriate to a given situation from the
method repository. As a result, SME favours the construction of modular
methods that can be modified and augmented to meet the requirements of a
given situation [6, 26].
The work presented in this paper is related to the SME domain and focus
on the method requirements definition technique. To enable ‘on the fly’
method construction we need to define first the requirements for a new
method. These requirements are used next by the method chunk selection
and assembly process that we have presented in [12].
This paper is organised as follows: section 2 provides an overview of our
SME approach. Sections 3 and 4 describe and illustrate two method
requirements elicitation processes. Section 5 draws some conclusions and
discussions around our future work.
2.
OVERVIEW OF THE SITUATIONAL METHOD
ENGINEERING PROCESS
The objective of the SME is to adapt existing methods or to construct
new ones according to the situation of the current IS development project.
As a consequence, the first step in the SME process consists in analysing the
situation of the current project and specifying the requirements for a method
supporting this situation. Afterwards, the second step consists in constructing
the method following these requirements.
The method construction depends of the objective of the SME. There are
many different reasons for constructing a new method. We identified four of
them:
1. To define a brand new method to satisfy a set of situational requirements;
Requirements Definition for the Situational Method Engineering
3
2. To add alternative ways-of-working in a method to its original one;
3. To extend a method by a new functionality;
4. To select in a method only relevant functionalities.
Each of these delineates a specific strategy for method engineering that
we have embedded in our Method Engineering Process Model (MEPM)
[12]. The first strategy, called From scratch, is pertinent in situations where
either there is no method in use or the used one is irrelevant for the project
(or class of projects) at hand. The second one, Completeness driven assembly
strategy, is relevant when the method in use is strong from the product point
of view but weak from the process viewpoint. Enhancing the process model
of the existing method by one or several new ways of working is thus the
key motivation for method engineering. The third strategy, named Extension
driven assembly strategy, is required in situations where the project at hand
implies to add a new functionality to the existing method, which is relevant
in its other aspects. Finally, the fourth strategy is appropriated in situations
where the project at hand does not need to use all the functionalities
proposed by the usually applied method. This strategy, named Restriction
driven strategy, helps to select the functionalities, which are significant in
the project situation and to eliminate the others. These four method
construction strategies demonstrate that requirements elicitation process
depends of the initial method situation in the project at hand. There are two
possible situations:
1. The IS development crew is in the habit to use the same method for all IS
development projects but consider that in some situations this method
must be adapted.
2. The IS development crew does not posses any regular method.
Each of these situations characterizes a specific strategy for method
requirements elicitation and is included in our MEPM [12]. The first strategy
is based on the analysis of the existing method and the detection of the
engineering activities (engineering intentions), which must be included into
this method, eliminated from it or the achievement of which must be
enhanced by new ways of working. We call this strategy – Intention driven
strategy. The second strategy is based on the identification of the
engineering activities, which must be supported by the new method. The
identified activities are organised in the manner to form the process model of
the required method and the strategy is called – Process driven strategy.
This way of thinking shows us that we have several different manners to
achieve the method engineering objective that is to construct a new method
or to adapt an existing one. For this reason, it seems for us that the more
suitable process model to represent our MEPM is the strategic process metamodel proposed in [1, 22] and called a map.
4
Jolita Ralyté
The two fundamental concepts in the map are intention and strategy. An
intention I is a goal that can be achieved by the performance of the process.
It refers to a task (activity) that is a part of the process and is expressed in the
intentional level. The strategy S represents the manner in which the intention
can be achieved. The map is a directed labelled graph with nodes
representing intentions and labelled edges expressing strategies. The directed
nature of the map identifies which intention can be done after a given one. A
map includes two specific intentions, Start and Stop, to begin and end the
process respectively. There are several paths from Start to Stop in the map
for the reason that several different strategies can be proposed to achieve the
intentions. A map therefore includes several process models that are selected
dynamically when the process proceeds, depending on the current situation.
The core notion of the map is a section defined as a triplet <source
intention, target intention, strategy> <Ii, Ij, Sij>. Each section is defined by
an intention achievement guideline (IAG), which provides advice to fulfil the
target intention Ij following the strategy Sij given the source intention Ii has
been achieved. Furthermore, a section can be refined as an entire map at a
lower level of granularity.
Intention driven
strategy
Start
Process driven
strategy
Specify method
requirements
Requirements
correction
strategy
Stop
Validation
strategy
From scratch
assembly strategy
Restriction
driven
strategy
Completeness driven
assembly strategy
Construct
method
Extension driven
assembly strategy
Figure 1. The method engineering process model MEPM.
Our MEPM map is shown in Figure 1. It includes two main intentions
Specify method requirements and Construct method. The latter corresponds
to the method engineering essential goal, whereas the former is the
prerequisite for the latter. The formulation of this intention, Specify method
requirements means that our approach is requirements-driven. As stated
above, in order to construct a new method, we propose to start by eliciting
Requirements Definition for the Situational Method Engineering
5
requirements for the method engineering activity. This is possible following
one of two strategies (Intention driven and Process driven) presented above.
Both lead to a set of requirements expressed as a map that we call the
requirements map. However, each strategy corresponds to a different way of
eliciting the requirements. The former is based on the inventory of
engineering goals whereas the latter infers these goals from an analysis of
the engineering activities that must be supported by the method.
Once the requirements have been elicited, the intention Construct method
can be achieved. The four assembly strategies (From scratch, Completeness
driven, Extension driven and Restriction driven) proposed by the MEPM
correspond to the four method engineering situations that were identified and
motivated above. Backtracking to the requirements definition is possible
thanks to the Requirements correction strategy. Finally, the Validation
strategy helps verifying that the assembly of the selected method chunks
satisfies all requirements and ends the method engineering process.
In the previous paper [12] we have presented and illustrated some
guidelines associated to the MEPM sections dealing with the method
construction that is, the assembly of method chunks. This paper focuses on
the refinement of the guidelines supporting the specification of the
requirements for the situational method that are, the Intention driven and the
Process driven strategies of the MEPM map (Figure 1).
3.
PROCESS DRIVEN STRATEGY FOR
REQUIREMENTS SPECIFICATION
As mentioned in the previous section, the Process driven strategy for
method requirements specification is relevant in the case when we need to
construct a completely new method. Following this strategy, the requirement
elicitation process consists in identifying requirements for a new method in
terms of the general intentions to satisfy in the IS development process and
the strategies to satisfy these intentions. Consequently, the requirements for
a new method must be expressed in the form of a map that we call the
requirements map. We adopt the multi-process approach of [1] for
requirements map construction and the linguistic-based goal structure
proposed in [10] for intention formulation.
The meta-process proposed in [1] provides the guidelines for map
construction specified in form of contexts. The two principal steps in this
approach are (1) the definition of the map sections and (2) the definition of
the associated guidelines. Our requirements map construction is limited to
6
Jolita Ralyté
the definition of its sections. The definition of the associated guidelines is a
part of the method chunk selection and assembly process.
A map in Figure 2 expresses our process driven strategy for method
requirements specification as a requirements map. According to this process
model, we start the requirements map construction following the Activity
driven strategy. The guideline associated to this map section helps to define
the principal activities of the required method and to formalise them as
sections of the requirements map.
Start
Decomposition
discovery
startegy
Aggregation
discovery
startegy
Activity driven
startegy
Define
sections
Verification
startegy
Alternative
discovery
startegy
Progression
discovery
startegy
Stop
Figure 2. The process driven requirements elicitation model.
Analysis of the already defined sections may imply the definition of new
sections or the modification of the existing ones. As shown in Figure 2, the
obtained requirements map can be refined and other sections can be
discovered from the existing ones following four strategies:
– The Decomposition discovery strategy helps decomposing an existing
section in several ones.
– The Aggregation discovery strategy advises how to combine a set of
sections into a new one.
– The Alternative discovery strategy helps to identify a new section having
an alternative strategy or an alternative source or target intention to the
existing one.
– The Progression discovery strategy helps to define a new section
allowing to progress in the method map from the existing one.
Finally, the Verification strategy allows to finish the requirements
elicitation process after the documentation of the obtained map sections and
the verification of its coherence and completeness.
We detail next the guidelines associated to the sections of this process
model. The notion of a context, defined by a couple <situation, intention>,
is used to specify these guidelines. The intention expresses the objective to
attain in the requirements elicitation process whereas the situation defines
the products necessary to achieve the corresponding intention.
Requirements Definition for the Situational Method Engineering
3.1
7
Activity Driven Strategy
The guideline supporting the Activity driven strategy is formalised as
follows:
G1: <Project description; Define sections of the requirements
map following activity driven strategy>
G1.1: <Project description; Define the signature of the
requirements map>
G1.2: <The map signature is defined; Identify the core and
essential intentions necessary to achieve the intention
specified in the map signature>
G1.3: <Intentions are elicited; Abstract intentions>
G1.4: <Intentions are elicited; Discover strategies>
G1.5: <Intentions and strategies are defined; Define
sections>
This guideline proposes to define first the signature of the required
method map expressing the global objective of the method (G1.1) and then
to identify the core activities necessary to achieve the intention specified in
the map signature (G1.2). We use the goal structure proposed in [10] for
intention formulation. A goal is expressed as a natural language statement
comprising a verb and several parameters like object, result, source,
destination, manner etc., where each parameter plays a different role with
respect to the verb. This facilitates to explicitly specify the semantics of
different parts of a goal. Next, the guideline proposes to make sure that all
elicited intentions are at the same level of abstraction (G1.3). The following
rules must be verified:
R1: There is not an intention that can be considered as a subset of another
one.
R2: There is not an intention that appears to be a way to achieve another one.
Once the intentions have been elicited, we need to discover the possible
strategies (G1.4) to achieve these intentions. In other words, we need to
consider different manners to reach every intention with respect that
strategies, like intentions, also must be at the same level of abstraction and
verify the following rules:
R3: There is not a strategy that appears to be a part of one another.
R4: There is not a strategy that specifies the way to an intention at the
implementation level.
After that, the map sections can be defined as follows (G1.5):
For every intention I and one of its strategies S, identify
(I,S)pre and (I,S)post.
Connect sections using the following section construction
predicate:
8
Jolita Ralyté
Map: Intention, Intention, Strategy → Section
Ii, Ij, Sij → Section (Ii, Ij, Sij) if (∃ Ski ∈ Strategy: (Ii,
Ski)Post
(Ij, Sij)Pre AND (Ij, Sij)Pre
(Ij, Sij)Post
That means, for every intention I and one of its strategies S we need to
identify the situation in which this strategy can be applied (its precondition
(I,S)pre) as well as the result of the intention achievement following this
strategy (its post-condition (I,S)post). The precondition (I,S)pre corresponds to
the product necessary for the execution of the strategy S in order to achieve
the intention I and can be determined by identifying the intention, which
produces this product. The post-condition (I,S)post corresponds to the product
obtained by executing the intention I following the strategy S. The obtained
sections must be documented in the informal manner in order to facilitate the
retrieval of the appropriate method chunks.
To illustrate our approach we propose an exemple of the IS project that
we have developed for one Swiss watchmakers company. The objective of
this project was to develop a B2B system intended to support the
information exchange between the company and its subsidiaries and agents
distributed in the world. The system ought to support the principal task of
the subsidiaries and agents, which is the construction of their purchase plans
for the next year as well as the responsibilities of the market service of the
company, which consist in validating and consolidating purchase plans and
providing the information about delivery terms. A particular method
supporting analysis and design of such system is indispensable to take into
account the high interactivity level of the system. The signature of the
corresponding requirements map can be defined as:
<B2B project described, Construct a method supporting analysis and
design of a B2B system>
It is clear, that the step of functional requirements elicitation and
conceptualisation is very important for the realisation of such system.
Besides object structure for data storage, dynamic perspective of the system
is also very important. It must specify life cycles of principal objects as well
as global dynamic view representing external, internal and temporal events
arriving in the system and how the system reacts to them. The hyperlink
navigational structure, typical to web based systems, must also be taken into
account. As a consequence, we identify the following intentions:
– Discover requirements
– Construct object behavioural view
– Validate requirements
– Construct global behavioural view
– Construct structural view
– Construct navigation structure
Considering the abstraction level of these intentions we may notice that
the intention Validate requirements is at the lower level of detail in
Requirements Definition for the Situational Method Engineering
9
comparison with other intentions and can be seen as a part of the intention
Discover requirements.
Next, we consider the different strategies to achieve these intentions. For
exemple, to discover functional system requirements we prefer to use a
Goal/scenario-based approach. Requirements validation step may be seen as
a strategy in the requirements discovery process. For the structural view of
the system we prefer to have two possibilities: Preliminary object modelling
approach and Detailed object modelling approach. A State-based modelling
approach could be used for object behavioural view construction whereas the
global system behavioural view could be supported by an Event-based
modelling approach. Finally, we need to connect the intentions and strategies
to obtain a requirements map. It is clear that the first step in this process is
the requirements discovery step. The creation of all other models depends of
the obtained requirements specification. The precondition for the
construction of the object behavioural view is the existence of the structural
view defining the participating objects. Global behavioural views requires as
precondition the life-cycle models of different objects that is the object
behavioural view. Lastly, the construction of the web site navigation
structure requires as a precondition the existence of the global behavioural
view of the system. Figure 3 illustrates the obtained requirements map.
Start
Stop
Goal/scenario driven strategy
Discover
requirements
Validation
strategy
Preliminary object
modelling strategy
Completeness strategy
Construct
navigation
structure
Construct
structural view
Hyper-link
modelling strategy
Construct
global behavioural
view
Construct
object behavioural
view
Detailed
object
modelling
strategy
State-based
modelling strategy
Event-based
modelling strategy
Figure 3. The initial requirements map.
3.2
Aggregation Discovery Strategy
The guideline associated to the Aggregation discovery strategy helps to
group together some sections by aggregating their target intentions or by
10
Jolita Ralyté
aggregating their strategies. The intentions can be aggregated if one of the
following conditions is truth:
C1. There exist two or more intentions resulting in the same kind of
products.
C2. There exist two or more intentions mutually complement and usually
going together.
C3. There exist two or more intentions belonging to the consecutive sections
and there exists only one strategy for each intention.
The section aggregation is based on the grouping of the strategies of
parallel sections and is controlled by the condition C4. Parallel sections are
those that have the same source and target intentions but different strategies.
C4. There exist several parallel sections and their strategies represent
different tactics of the same manner to achieve the target intention.
Therefore, the guideline is specified as follows:
G3: <A section is defined; Define sections following
aggregation discovery strategy>
G3.1: If C1 or C2 or C3 is truth then <The intentions are
identified, Aggregate intentions>
G3.2: If C4 is truth then <The parallel sections are
identified, Aggregate strategies>
In the requirements map shown in Figure 3, the intentions Construct
object behavioural view and Construct global behavioural view could be
aggregated for the reason that both views are closely related and represent
dynamic perspective of the system. We propose to aggregate these two
intentions into a new one that we call Construct dynamic view. The obtained
requirements map is shown in Figure 4.
Start
Goal/scenario driven strategy
validation
strategy
Discover
requirements
Stop
Detailed object
modelling strategy
Construct
structural view
Construct
navigation
structure
Completeness
strategy
Preliminary object
modelling strategy
Hyper-link
modelling strategy
Construct
dynamic
view
State-based
modelling strategy
Event-based
modelling strategy
Figure 4. The requirements map after application of the aggregation discovery strategy.
Requirements Definition for the Situational Method Engineering
3.3
11
Decomposition Discovery Strategy
The guideline supporting the Decomposition discovery strategy permits
to split some sections into several ones in two alternative ways: (1) by
decomposing an intention if the condition C5 is satisfied or (2) by
decomposing a strategy if the condition C6 is satisfied.
C5: There exists an intention with the level of granularity higher than this of
the other intentions.
C6: There exists a strategy containing several different manners to achieve
the target intention.
In the first case we need to discover strategies for every new intention
and to define the new sections. In the second case we obtain a set of parallel
sections. This guideline is specified as follows:
G2: <A section is defined; Define sections following
decomposition discovery strategy>
G2.1: If C5 is truth then <An intention is identified,
Decompose intention>
<New intentions are defined, Discover strategies>
<Intentions and strategies are defined; Define sections>
G2.2: If C6 is truth then <A strategy is identified,
Decompose strategy>
Start
Goal driven strategy
Elicit
requirements
Alternative
discovery strategy
Scenario based
strategy
Validation
strategy
Variants
discovery
strategy
Completeness
discovery
strategy
Conceptualise
requirements
Exceptions
discovery strategy
Preliminary object
modelling strategy
…
Figure 5. The requirements map after application of the decomposition strategy.
In our example (Figure 4), we decide to decompose the section <Start,
Discover requirements, Goal/scenario-based strategy>. Its target intention,
Discover requirements, represents a complex process and could be
decomposed into two sub-intentions: Elicit requirements and Conceptualise
requirements. Different strategies can be identified to realise these subintentions. For exemple, Alternative discovery strategy could be added in
order to elicit requirements representing alternative functional solutions to
12
Jolita Ralyté
the existing ones; Variant and Exception discovery strategies are necessary
to guaranty requirements completeness and can be applied on the already
conceptualised requirements. New sections are constructed by using the two
identified sub-intentions and the above-mentioned strategies. The concerned
fragment of the resulting map is shown in Figure 5.
3.4
Alternative Discovery Strategy
The Alternative discovery strategy helps to discover new sections by
considering other possible ways to achieve the same target intention or by
identifying alternative intentions. In the first case the condition C7 is verified
whereas in the second case the condition C8 must be satisfied.
C7: There exist alternative strategies to achieve an intention.
C8: There exist alternative intentions to a target intention.
G4: <A section is defined; Define
alternative discovery strategy>
G4.1: If C7 is truth then <An
defined; Define section>
G4.2: If C8 is truth then <An
Discover strategies>
<Intention and strategies are
sections following
intention and a strategy are
intention is defined;
defined; Define sections>
In our example, we consider other ways to reach intention Elicit
requirements. Besides Goal driven strategy, we propose to add Actor-based
discovery strategy. As a result, our requirements map is enriched by a new
section <Start, Elicit requirements, Actor-based discovery strategy>. The
refined map fragment is illustrated in Figure 6.
Start
Goal driven strategy
Actor-based
discovery strategy
Alternative
discovery strategy
Elicit
requirements
Figure 6. The requirements map after application of the alternative discovery strategy.
3.5
Progression Discovery Strategy
The Progression discovery strategy helps to discover other sections,
which follow an existing one. In other words, it helps to find new sections,
Requirements Definition for the Situational Method Engineering
13
which allows to progress from the situation created by a given section to
another one. This guideline is defined as follows:
G5: <A section is defined; Define sections following
progression discovery strategy>
G5.1: <A section is selected; Identify a target product>
G5.2: <A target product is identified; Define an intention
requiring this product as source>
G5.3: <An intention is defined; Discover strategies>
G5.4: <Intention and strategies are defined; Define
sections>
To illustrate this guideline, we consider the section <Construct structural
view, Construct dynamic view, State-based strategy> of our requirements
map (Figure 4). This section supports the construction of a model
representing object life cycle. This kind of models generally uses the notion
of activity (or operation) responsible of the object state transition. Some
activities can be complex enough and require detailed specification. As a
consequence, we need to add new intention Construct activity view.
However, this intention is a part of the intention Construct dynamic view.
Therefore, the new section to add is a recursive one <Construct dynamic
view, Construct dynamic view, Activity-based modelling strategy>. The final
requirements map is illustrated in Figure 7.
Goal driven strategy
Start
Elicit
requirements
Alternative
discovery strategy
Scenario based
strategy
Variants
discovery
strategy
Completeness
discovery
strategy
Validation
strategy
Conceptualise
requirements
Hyper-link
modelling strategy
Stop
Preliminary object
modelling strategy
Detailed object
modelling strategy
Construct
structural view
Construct
navigation
structure
Completeness
strategy
Exceptions
discovery strategy
Construct
dynamic
view
Activity-based
modelling strategy
State-based
modelling strategy
Event-based
modelling strategy
Figure 7. The final requirements map.
14
Jolita Ralyté
3.6
Role of the Requirements Map in the Assembly
Based Method Construction Process
As mentioned in the section 2 of this paper, the requirements map is
used as a basis for the method chunk selection and assembly process. This
process is based on the matching mechanism between the requirements map
and method chunk process model. For every section in the requirements map
we retrieve potentially required candidate chunks. After that, we analyse the
process and product models of the retrieved chunks and select the more
appropriate ones. Every selected method chunk must cover at least one
section of the requirements map. Due to the lack of space, we do not detail
here our method chunk selection and assembly process model. The details
and examples of it can be found in [12]. We provide only the resulting
method that we have obtained by using our assembly approach.
Start
OOSE
actor driven
discovery
strategy
CREWS-L’Ecritoire
goal driven strategy
Elicit
a use case
CREWS-L’Ecritoire
alternative
discovery strategy
CREWS-L’Ecritoire
composition discovery
CREWS-L’Ecritoire
strategy
case.-based
discovery strategy
CREWS-L’Ecritoire
Conceptualise
free prose
a use case
strategy
Construct
navigation
structure
CREWS-L’Ecritoire
completeness
strategy
Include
strategy
Prototyping
strategy
Completeness
strategy
Stop
Extension
strategy
Construct
dynamic
model
UML activity-based
modelling strategy
M/ object
modelling strategy
UML object
modelling strategy
Construct
object model
M/ dynamic
modelling strategy
Remora event-based
modelling strategy
Figure 8. Example of the method matching the requirements map.
To cover requirements elicitation and conceptualisation process we have
decided to use the Use case model proposed in [8]. In this model we have
selected Actor driven discovery strategy for use case elicitation and Include
and Extension strategies for use case conceptualisation. We have found that
the guidelines for use case writing provided by this model were too poor to
be integrated in our method. For this, we have selected the CREWS-
Requirements Definition for the Situational Method Engineering
15
L’Ecritoire [20, 21] method chunk providing more rich guidelines for
scenario writing and conceptualisation. In this method we also selected
chunks supporting elicitation of alternative and complementary use cases,
variant and exception scenarios and validation of the obtained use case
model. For the preliminary structural view construction we have selected
object model from the M7 method [5] for its evolutionary characteristics
whereas for the detailed object model we have selected UML [25] object
diagram. In order to express the dynamic view of the system we have
selected: M7 dynamic model (based on the Petri-net modelling approach) for
objects life-cycle representation, Remora [17] for global system behaviour
modelling and UML activity diagram for activity specification. Finally, the
prototyping with Microsoft FrontPage was used to construct the web site
navigation structure. Figure 8 illustrates the obtained method process model.
4.
INTENTION DRIVEN STRATEGY FOR
REQUIREMENTS DEFINITION
In this paragraph we detail the guideline associated to the MEPM section
<Start, Specify method requirements, Intention driven strategy> (Figure 1).
This guideline helps the method engineer to specify which kind of
adaptations the method must endure in order to satisfy the situation of the
current project. A map, of a lower level of detail, expresses this guideline in
Figure 9.
Start
Enhancement
strategy
Selection/elimination
strategy
Addition
strategy
Identify
a section
Stop
Validation strategy
Figure 9. The intention driven requirements elicitation model.
We consider that the process model of every method can be expressed as
a map with associated guidelines. (The method reengineering process model
allowing to do that was presented in [13].) Therefore, the intention driven
requirements elicitation process deals with the fundamental concepts of the
16
Jolita Ralyté
map that is its sections. It is based on the analysis of the existing map
sections and identification, which new sections must be added and which
ones must be eliminated from the method map. That’s why the key intention
in the intention driven requirements elicitation map (Figure 9) is called
Identify a section. The three strategies, Enhancement, Addition and
Selection/elimination, supporting the achievement of this intention,
correspond to the three methods adaptation cases presented in the paragraph
2 of this paper.
– The Enhancement strategy helps to identify the sections, which could be
added into the method map with the objective to enrich the way of
working proposed by the initial method by new manners to achieve some
of the method intentions.
– The Addition strategy helps to identify the intentions, which could be
added into the initial method map, and to specify the sections having
these intentions as source and as target intentions.
– The Selection/elimination strategy helps to evaluate every section of the
initial method map and to decide which sections must be kept in the
adapted method and which ones could be eliminated from it.
Obviously, the three strategies may be combined to obtain the most
suitable method for the situation at hand. The guidelines associated to these
three strategies are introduced in the next sub-sections followed by an
application exemple.
4.1
Enhancement Strategy
The Enhancement strategy deals this the method enrichment from the
way of working perspective. It is relevant when the guidelines, proposed by
the method, supporting the achievement of its intentions are inadequate or
are not riche enough in the situation at hand. The guideline supporting this
strategy is defined as follows:
G6: <Initial method map exists; Define a section to add into
the method map in order to enhance its way of working>
G6.1: <Initial method map exists; Identify a target
intention>
G6.2: <Initial method map exists, a target intention is
identified; Discover strategies>
G6.3: <Intention and strategies are defined; Define
sections>
This guideline proposes to identify first the intention, achievement of
which must be enhanced by a new way of working (G6.1) and to discover
potential strategies to attain this intention (G6.2). After that, the required
sections can be defined and documented: for each identified strategy we
Requirements Definition for the Situational Method Engineering
17
need to discover first the precondition of its applicability that is the products
required for the achievement of the target intention and to identify then the
intention creating this product (G6.3). This is a source intention in the
section under construction. The application of this guideline is illustrated in
the section 3.2.4.
4.2
Addition Strategy
The Addition strategy deals this the method enrichment from the
functional perspective. It is appropriate when the method does not posses all
the required models for the current IS project development. The guideline
supporting this strategy is defined as follows:
G7: <Initial method map exists; Define sections to add into
the method map in order to complete its coverage>
G7.1: <Initial method map exists; Define an intention to
introduce into the method map>
G7.2: <A new intention is defined; Discover strategies to
achieve the new intention>
G7.3: <A new intention is defined; Discover strategies
applying the result of the new intention>
G7.4: <A new intention is defined, strategies are defined;
Define sections>
The process starts by the definition of the intention to include into the
method map. Then, this intention must be attached to the rest of the method
map that is to its other intentions by at least two strategies: one defining the
manner to reach the new intention (G7.2) and one defining how the product,
obtained after the execution of the new intention, could be applied for the
achievement of the other intentions (G7.3). Therefore, at least two sections
must be defined (G7.4): one containing the new intention as a target
intention and the other containing this intention as a source intention. In the
first case, we need to discover products necessary for the execution of the
new intention following discovered strategies and to identify the intentions
providing these products (the preconditions). In the second case, we should
identify potential ways to apply the product constructed by the new intention
and which intentions of the map will use this product as a source product
(the post-conditions).
4.3
Selection/elimination strategy
The Selection/elimination strategy deals this the method restriction in
order to keep in the method map only these sections, which are relevant in
18
Jolita Ralyté
the situation at hand. The guideline supporting this strategy is defined as
follows:
G8: <Initial method map exists; Identify the sections to keep
in the method map>
G8.1: <Initial method map exists; Select a section>
G8.2: <A section is selected; Evaluate the relevance of
the section>
The objective of this guideline is to look at every section of the method
map and to evaluate the relevance of its associated intention achievement
guideline (IAG) in the current project situation.
4.4
Method adaptation exemple
As an application exemple, we propose to enhance the Use case model
proposed in [8]. The map representing its process model is shown in Figure
10 (a). The details about the construction of this map can be found in [13].
It is evident that the use case conceptualisation task asks a lot of efforts
and time. Moreover, the use case writing guidelines proposed by the authors
of this model in [8] are not rich enough and are not really helpful. It is clear
that not all scenarios necessitate to be written in the top level of details. It is
possible that some use cases are less important or evident and a simple
abstract could be sufficient to describe them whereas other use cases are
essential and must be described very carefully. For that reason, we would
like to reduce the effort required for the use case writing by classifying them
and identifying the level of details necessary to their description. As a
consequence, we decide to add a new intention into the use case model map
that we call Classify use cases. To do that, we use the Addition strategy
presented in the section 3.2.2. Following its guideline, we need to connect
the defined intention with the other method intentions. The strategy required
to reach this intention could be called Organisation strategy. The
precondition for this strategy is the existence of at least one already elicited
use case.
The classification of the use cases will influence their writing process.
Therefore, the Rank-based writing strategy could connect the intentions
Classify use cases and Conceptualise use cases. Moreover, the obtained use
case classification could be helpful for the discovering other use cases, more
or less important, of the lower or higher level of abstraction. For this, we add
another strategy that we call Rank-based elicitation strategy coming from
the intention Classify use cases to the intention Elicit use cases.
Some use cases may perhaps ask several pages to be written completely.
A graphical representation could be helpful to obtain a clear global view of a
Requirements Definition for the Situational Method Engineering
19
use case including all its alternatives and exceptions. For this reason, we
propose to include a Graphical representation strategy representing another
manner to conceptualise use cases. This may be done by applying the
Enhancement strategy (section 3.2.1), which helps to add a new required
section <Conceptualise use cases, Conceptualise use cases, Graphical
representation strategy>.
Finally, we consider that the use case writing guidelines proposed by
initial use case model authors could be eliminated from the final use case
model map thanks to the Selection/elimination strategy (section 3.2.3). The
obtained requirements map is shown in Figure 10 (b).
Start
Actor driven
discovery
strategy
Start
Elicit
use cases
Elicit
use cases
Reuse
strategy
Normal case
first
strategy
Actor driven Organisation
discovery
strategy
strategy
Abstraction
strategy
Reuse
strategy
Normal case
first
strategy
Conceptualise
use cases
Include
strategy
Classify
use cases
Rank-based
elicitation
strategy
Abstraction
strategy
Conceptualise
use cases
Include
strategy
Extension
strategy
Completeness
strategy
Completeness
strategy
Stop
Stop
(a) Use case model map
Rank-based
writing
strategy
Extension
strategy
Graphical
representation
strategy
(b) Requirements map
Figure 10. The use case model map.
The assembly process in this case consists in selecting at least one
method chunk for each required section. In this example we select the use
case classification and writing guidelines proposed by Cockburn [4]. This
approach proposes two complementary use case classification techniques:
one is based on a three level goal hierarchy; other defines a design scope to
capture in a use case typology. These two techniques cover the section
<Elicit use cases, Classify use cases, Organisation strategy> in the
requirements map. The guidelines supporting elicitation of other use cases of
the lower or higher abstraction level are also provided by this approach and
cover the section <Classify use cases, Elicit use cases, Rank-based
elicitation strategy> in the requirements map. Moreover, this approach
proposes different templates for use case writing as well as the content
guidelines depending on the use case goal level and design scope. We decide
20
Jolita Ralyté
to introduce this technique as a manner to write use cases. It covers the
section <Classify use cases, Conceptualise use cases, Rank-based writing
strategy>.
To cover the last section <Conceptualise use cases, Conceptualise use
cases, Graphical representation strategy> of the requirements map, we
select the approach proposed by Regnell [16], which helps to represent a
complete use case as a graph called usage view. The resulting method map is
illustrated in Figure 11.
Cockburn’s scope-based
classification strategy
Start
Actor driven
discovery
strategy
Cockburn’s
goal-based
classification strategy
Elicit
use cases
Reuse
strategy
Cockburn’s
goal-based
elicitation
strategy
Cockburn’s
template-based
writing strategy
Abstraction
strategy
Conceptualise
use cases
Include
strategy
Extension
strategy
Completeness
strategy
Stop
Classify
use cases
Regnel’s
Usage view strategy
Figure 11. The adapted use case model map.
5.
CONCLUSION
In this paper we look at situational method engineering from the
method requirements elicitation perspective. To enable project-specific
method construction we need to analyse the situation of the concerned
project and to define the requirements for a method, which could be
appropriate in this situation. For this reason, we propose an approach
supporting the method requirements elicitation given specific project
situation. The approach take into account the situation where a completely
new method must be constructed as well as the possibility to adapt an
existing method in different manners. The two requirements definition
processes are represented as maps with associated guidelines. This allows us
Requirements Definition for the Situational Method Engineering
21
to offer flexibility to the method engineer for carrying out the requirements
engineering activity. All the guidelines are detailed and illustrated in the
paper.
Our approach has been applied in the IS development project with a
Swiss watchmakers company. For this project we have developed a specific
method by assembling chunks selected from different methods. The
requirements for this method were defined by using our method
requirements definition approach. The obtained results were satisfying and
the experience was positive.
Our future preoccupation is the definition of the attributes to better
specify the IS project situation. The identification of such characteristics
could enrich our method requirements definition process as well as the
method chunk selection process.
REFERENCES
1. Benjamen A., Une Approche Multi-démarches pour la modélisation des démarches
méthodologiques. Thèse de doctorat en informatique de l'Université Paris 1, 1999.
2. Brinkkemper S., Method engineering: engineering of information systems development
methods and tools. Information and Software Technology, Vol. 38, No.4, 1996.
3. Brinkkemper S., M. Saeki, F. Harmsen, Assembly Techniques for Method Engineering.
10th Conf. on Advanced Information Systems Engineering, CAiSE’98. Pisa Italy, 1998.
4. Cockburn A., Writing Effective Use Cases. Addison-Wesley, 2001.
5. Estier T., G. Falquet, J. Guyot, M. Léonard, Six Spaces for global Information Systems
Design. Proc. of IFIP Working Conference on the Object-Oriented Approach in
Information Systems, Québec, Canada, October 1991.
6. Harmsen A.F., S. Brinkkemper, H. Oei, Situational Method Engineering for Information
System Projects. In Olle T.W. and A.A. Verrijn Stuart (Eds.), Mathods and Associated
Tools for the Information Systems Life Cycle, Proc. of the IFIP WG8.1 Working
Conference CRIS'94, pp. 169-194, North-Holland, Amsterdam, 1994.
7. Harmsen A.F., Situational Method Engineering. Moret Ernst & Young , 1997.
8. Jacobson I., M. Christerson, P. Jonsson, G. Oevergaard, Object Oriented Software
Engineering: a Use Case Driven Approach, Addison-Wesley, 1992.
9. Plihon V., J. Ralyté, A. Benjamen, N.A.M. Maiden, A. Sutcliffe, E. Dubois, P. Heymans,
A Reuse-Oriented Approach for the Construction of Scenario Based Methods. Proc. of the
Int. Software Process Association's 5th Int. Conf. on Software Process (ICSP'98), Chicago,
Illinois, US, 1998.
10. Prat N., Goal Formalisation and Classification for Requirements Engineering. Proceedings
of the Third International Workshop on Requirements Engineering: Foundations of
Software Quality REFSQ’97 , Barcelona, June 1997.
11. Punter H.T., K. Lemmen, The MEMA model : Towards a new approach for Method
Engineering. Information and Software Technology, 38(4), pp.295-305, 1996.
12. Ralyté J., C. Rolland, An Assembly Process Model for Method Engineering. Proceedings
of the 13th Conference on Advanced Information Systems Engineering, CAISE’01,
Interlaken, Switzerland, June 6 – 8 2001.
22
Jolita Ralyté
13. Ralyté J., C. Rolland, An approach for method reengineering. Proceedings of the 20th
International Conference on Conceptual Modeling, ER2001, Yokohama, Japan, November
27-30 2001.
14. Ralyté J., C. Rolland, V. Plihon, Method Enhancement by Scenario Based Techniques.
11th Conf. on Advanced Information Systems Engineering CAiSE’99, Germany, 1999.
15. Ralyté J., Reusing Scenario Based Approaches in Requirement Engineering Methods:
CREWS Method Base. Proceedings of the 10th International Workshop on Database and
Expert Systems Applications (DEXA'99), 1st International Workshop on the Requirements
Engineering Process – Innovative Techniques, Models, Tools to support the RE Process
(REP’99). Florence, Italy, 1999.
16. Regnell B., K. Kimbler, A. Wesslen, Improving the Use Case Driven Approach to
Requirements Engineering. I. C. S. Press, Eds., Second IEEE International Symposium On
Requirements Engineering, (York, England), 1995.
17. Rolland C., O. Foucaut, G. Benci, Conception des Systèmes d’Information, la méthode
Remora. Eyrolles, 1987.
18. Rolland C., N. Prakash, A proposal for context-specific method engineering. IFIP WG 8.1
Conf. on Method Engineering, Chapman and Hall, pp 191-208, Atlanta, Gerorgie, USA,
1996.
19. Rolland C., V. Plihon, J. Ralyté, Specifying the reuse context of Scenario Method Chunks.
Proceedings of the 10th International Conference on Advanced Information System
Engineering (CAISE'98), Pisa, Italy, 1998.
20. Rolland C., C. Souveyet, C. Ben Achour, Guiding Goal Modelling Using Scenarios. IEEE
Transactions on Software Engineering, special issue on Scenario Management, Vol 24, No
12, 1998.
21. Rolland C., C. Ben Achour, Guiding the construction of textual use case specifications.
Data & Knowledge Engineering Journal, 25(1), pp. 125-160, March 1998.
22. Rolland C., N. Prakash, A. Benjamen, A multi-model view of process modelling.
Requirements Engineering Journal, p. 169-187,1999.
23. Saeki M., K. Iguchi, K Wen-yin, M Shinohara, A meta-model for representing software
specification & design methods. Proc. of the IFIP¨WG8.1 Conference on Information
Systems Development Process, Come, pp 149-166, 1993.
24. Song X., A Framework for Understanding the Integration of Design Methodologies. ACM
SIGSOFT Software Engineering Notes, 20 (1), pp. 46-54, 1995.
25. Rational Software Corporation, Unified Modelling Language version 1.3. Available at
http://www.rational.com/uml/resources/documentation/, 2000.
26. van Slooten K., S. Brinkkemper, A Method Engineering Approach to Information Systems
Development. In Information Systems Development process, N. Prakash, C. Rolland, B.
Pernici (Eds.), Elsevier Science Publishers B.V. (North-Holand), 1993.