27.03.2014 Views

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

cardinality. The heuristics suggests the construction of a table<br />

(Table I) that keeps the traceability between features and<br />

tasks/resources. This table is used to obtain the feature model.<br />

TABLE I.<br />

Element<br />

TABLE OF TRACEABILITY BETWEEN FEATURES AND<br />

TASKS/RESOURCES<br />

Cardinality<br />

Type<br />

Value<br />

Parent<br />

Element<br />

Feature<br />

Add Photo Element [1..1] – Add Photo<br />

Album Element [1..1] Add Photo Album<br />

Store Photo Element [1..1] Add Photo Store Photo<br />

Save Autom. Group Store Photo Save Autom.<br />

Save by User Group Store Photo Save by User<br />

Path Element [1..1] Store Photo Path<br />

Photo Element [1..1] Store Photo Photo<br />

Name Element [1..1] Save by User Name<br />

According to the heuristics defined in this activity, optional<br />

features are obtained from elements with cardinality [0..1],<br />

while mandatory features are obtained from elements with<br />

cardinality [1..1]. Elements involved in a means-end<br />

relationship with cardinality become alternative features with<br />

equivalent cardinality. The FM obtained from the SR model<br />

depicted in Fig. 2 is shown in Fig. 3.<br />

Figure 3. Feature model of MobileMedia<br />

E. Feature Model Refinement<br />

This is an optional activity to be executed if the FM needs<br />

to be reorganized or if new features must be add ed, because<br />

they were not present in the SR model. Reorganization is<br />

required if the FM has repeated features, sub-features with<br />

more than one parent or different features with the same<br />

meaning. This activity can be performed as many times as the<br />

domain engineer believes it is necessary. Our running example<br />

is quite simple and did not require the execution of this activity.<br />

F. Elaboration of Use Case Scenarios<br />

The SPL use case scenarios are specified based on an<br />

adaptation of the guidelines defined by Castro et al. [10]. This<br />

activity obtains the PLUSS scenarios description for an SPL<br />

from its SR model and feature model. The guidelines proposed<br />

by Castro et al. in [10] are a mapping between i* models and<br />

use case scenarios that are not specific for dealing with SPL<br />

variability. We propose guidelines to map i*-c models to<br />

PLUSS use case scenarios. As a result, some of the 10 previous<br />

guidelines were removed; others were split into new ones.<br />

In Step 1, all four guidelines were maintained, but a new<br />

one was inserted (current Guideline 4) to deal with actors that<br />

have only softgoal dependencies with the SPL actor. In Step 2,<br />

the two previous guidelines were merged, since their subguidelines<br />

were exactly the same. In Step 3, (i) a guideline was<br />

inserted (current Guideline 7) to address PLUSS annotations;<br />

(ii) the previous Guideline 8 was split into four (current<br />

Guidelines 8, 9, 10, 11) because of the necessity to deal with<br />

every possible cardinality in i*-c; (iii) the previous Guideline 9<br />

(current Guideline 12) was reformulated to take into account<br />

use cases derived from optional steps; and (iv) previous<br />

Guideline 10 was removed because it was a recommendation to<br />

draw a u se case diagram, but not a mapping guideline. The<br />

guidelines we propose in GS2SPL approach are presented as<br />

follows:<br />

Step 1 – Discovering actors:<br />

<br />

<br />

<br />

<br />

<br />

Guideline 1: Every i* actor is a candidate to be mapped<br />

to a use case actor;<br />

Guideline 2: The candidate i* actor should be external<br />

to the intended software system; otherwise, it cannot be<br />

mapped to a use case actor;<br />

Guideline 3: The candidate i* actor should have at least<br />

one dependency with the actor representing the SPL;<br />

otherwise, it cannot be mapped to a use case actor;<br />

Guideline 4: Analyze the dependencies between the<br />

candidate i* actor and the actor that represents the SPL.<br />

If all of them are s oftgoal dependencies, the i* actor<br />

cannot be mapped to a use case actor;<br />

Guideline 5: Actors in i*, related through the ISA<br />

relationship, and mapped individually to use case<br />

actors (applying guidelines 1, 2, 3 and 4), will be<br />

related through the “generalization” relationship in the<br />

use case diagram;<br />

In our example, there is only one external actor, “User”,<br />

and, according to the presented guidelines, it can be mapped to<br />

a use case actor.<br />

Step 2 – Discovering use cases for the actors:<br />

<br />

Guideline 6: For each use case actor discovered in Step<br />

1, analyze its dependencies with the SPL actor;<br />

o Guideline 6.1: Goal dependencies – goals in i* can<br />

be mapped to use cases;<br />

o Guideline 6.2: Task dependencies – it should be<br />

investigated if the task needs to be decomposed<br />

into sub-tasks. If the task requires many steps to be<br />

executed, then it can be mapped to a use case;<br />

o<br />

Guideline 6.3: Resource dependencies – it should<br />

be investigated if the resource can only be<br />

obtained after many interaction steps between the<br />

discovered actor and the system-to-be. If so, the<br />

dependency can be mapped to a use case;<br />

653

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!