1 Introduction
-
Updating the systematic mapping in order to consider papers published in 2014;
-
Including papers with an aspect-oriented approach for SPL use cases modelling;
-
Presenting a controlled experiment, following the guide of Wohlin et al. (2000), conducted to evaluate what kind of template better favors the comprehension of SPL variabilities specified in textual use case descriptions.
2 Background
3 Related work
4 Review
4.1 Methodology
4.2 Research directives
4.2.1 4.2.1 Research questions and search string
-
RQ1: Which are the templates for the textual use cases of an SPL?
-
RQ2: How could SPL variability be modeled in textual use cases?
-
RQ3: Which variability types can be modeled in textual use cases of an SPL?
4.2.2 4.2.2 Inclusion and exclusion criteria
-
(IC1) the study presents a template for textual use cases description of an SPL.
-
(EC1) the study is not written in English;
-
(EC2) the study is just published as an abstract;
-
(EC3) the study does not contain a template for textual use cases description with focus on an SPL; and
-
(EC4) Duplicate use case template. When the same template is presented in different papers, only the paper that proposed the template was included. If this paper was not found, we included the newest paper.
4.2.3 4.2.3 Sources
Database | URL Address |
---|---|
ACM Digital Library | |
Compendex |
http://www.engineeringvillage2.org
|
IEEExplorer | |
ISI Web of Knowledge |
http://www.isiknowledge.com
|
Science Direct |
http://www.sciencedirect.com
|
Scopus |
http://www.scopus.com
|
SpringerLink |
4.3 Data collection
Step | Action | Papers |
---|---|---|
1 | Search in the databases with the search string | 2394 |
2 | Reading title and abstract, removing of duplicate studies obtained by different databases and applying the inclusion and exclusion criteria (EC1, EC3) | 101 |
3 | Reading full paper and applying the inclusion and exclusion criteria (EC1, EC2, EC3) | 23 |
4 | Removing duplicate templates based on the EC4 | 12 |
4.4 Results
4.4.1 4.4.1 Classification scheme
4.4.1.1 4.4.1.0 Category 1: variability description
-
Tags: The use case template uses tags (e.g. [Vo], [ALT]) to indicate the variation points within the use cases. With the tags, use cases can also have a section where the variations are defined;
-
Alternative scenarios: The use case template describes the variations through alternative scenarios within the use cases description;
-
Specific section: The use case template describes all information about the variation points in a specific section. In this section, the variation type, a brief description and the use case steps that are affected by the variation are specified;
-
Step identifier: The use case template uses the step identifier of the use case to describe variants in use case scenarios;
-
Advice use case: The use case template describes the variabilities as advice use cases. The advice use cases capture crosscutting requirements and are defined in the same form as normal use cases, but they may only have some of the use case sections. The linking of advice use cases with affected base use cases is based on syntactical matching of joinpoints and pointcut expressions.
4.4.1.2 4.4.1.0 Category 2: variability type supported
-
Optional: The use case template supports the specification of optional steps;
-
Mandatory alternative exactly 1: The use case template supports the specification of mutually exclusive alternatives for one mandatory step;
-
Mandatory alternative at least 1: The use case template supports the specification of alternatives for one mandatory step out of which at least one must be selected;
-
Optional alternative exactly 1: The use case template supports the specification of mutually exclusive alternatives for one optional step;
-
Optional alternative at least 1: The use case template supports the specification of alternatives for one optional step out of which at least one must be selected.
4.4.2 4.4.2 Outcomes
4.4.2.1 4.4.2.0 Results related to RQ1
Id | Papers with the same UC template | Included paper |
---|---|---|
1 | Bertolino and Gnesi (2003) | Bertolino and Gnesi (2003) |
Colanzi et al. (2013) | ||
Assuncao et al. (2011) | ||
Bertolino and Gnesi (2004) | ||
Bertolino et al. (2006) | ||
Fantechi et al. (2004) | ||
Bonifacio et al. (2008) | ||
Fantechi et al. (2004) | ||
2 | Kamsties et al. (2003) | Kamsties et al. (2003) |
3 | Gomaa (2004) | Gomaa (2004) |
Nakanishi et al. (2007) | ||
4 | Bragança and Machado (2005) | Bragança and Machado (2005) |
5 | Eriksson et al. (2005) | Eriksson et al. (2005) |
Eriksson et al. (2005) | ||
Alferez et al. (2014) | ||
Bonifacio et al. (2008) | ||
6 | Gallina and Guelfi (2007) | Gallina and Guelfi (2007) |
7 | Choi et al. (2008) | Choi et al. (2008) |
8 | Anthonysamy and Some (2008) | Anthonysamy and Some (2008) |
9 | Nguyen (2009) | Nguyen (2009) |
10 | Jirapanthong (2009) | Jirapanthong (2009) |
11 | Bonifacio and Borba (2009) | Bonifacio and Borba (2009) |
Alferez et al. (2014) | ||
12 | Oliveira et al. (2013) | Oliveira et al. (2013) |
Oliveira et al. (2014) |
Reference | Publication Fora | Year |
---|---|---|
Bertolino and Gnesi (2003) | European Software Engineering Conference | 2003 |
Kamsties et al. (2003) | International Workshop on Software Product-Family Engineering | 2003 |
Gomaa (2004) | Book | 2004 |
Bragança and Machado (2005) | International Workshop on Model-BAsed Methodologies for PErvasive and Embedded Software | 2005 |
Eriksson et al. (2005) | International Conference on Software Product Lines | 2005 |
Gallina and Guelfi (2007) | International Working Conference on Requirements Engineering: Foundation for Software Quality | 2007 |
Choi et al. (2008) | International Conference on Computer and Information Technology | 2008 |
Anthonysamy and Somé (2008) | AOSD Workshop on Early Aspects | 2008 |
Nguyen (2009) | International Workshop on Modeling in Software Engineering | 2009 |
Jirapanthong (2009) | International Conference on Advances in Information Technology | 2009 |
Bonifacio and Borba (2009) | International Conference on Aspect-oriented Software Development | 2009 |
Oliveira et al. (2013) | Brazilian Symposium on Software Components, Architectures and Reuse | 2013 |
4.4.2.2 4.4.2.0 Results related to RQ2
4.4.2.3 4.4.2.0 Results related to RQ3
4.4.3 4.4.3 Systematic map
4.5 Discussion
5 Comparison of the SPL use case template structures
5.1 Selected templates for the experiment
5.1.1 5.1.1 Hypotheses, variables, and metrics
-
ERQ1: Which of the evaluated template structures favors the SPL use cases’ comprehensibility?
-
ERQ2: Which of the evaluated template structures requires less time to understand a use case?
-
H 0 a c c u r a c y : there is no statistically significant difference in the SPL use cases’ comprehensibility using the evaluated template structures. H 1 a c c u r a c y : there is a statistically significant difference in the SPL use cases’ comprehensibility using the evaluated template structures;
-
H 0 t i m e : there is no statistically significant difference in terms of time required to understand the use cases’ behavior using the evaluated template structures. H 1 t i m e : there is a statistically significant difference in terms of time required to understand the use cases’ behavior using the evaluated template structures;
“Before selecting the amount of money, the user must:a) at least enter the PINb) at least insert the chip card in the ATMc) at least enter the fingerprint OR a sample voiced) at least enter the PIN, and fingerprint or a voice samplee) all of the above are incorrect”
5.2 Experimental study design and subjects
5.3 Results and data analysis
Level | Structure | Samples (#) | Avg Time (m) | Accuracy (%) |
---|---|---|---|---|
Undergraduate student | Advice Use Case | 10 | 8.20 | 50.00 |
Step Identifier | 9 | 5.55 | 88.88 | |
Specific Section | 21 | 6.04 | 73.80 | |
Tags | 15 | 7.13 | 53.33 | |
SubTotal | 55 | 6.65 | 66.36 | |
Graduate student | Advice Use Case | 12 | 8.41 | 50.00 |
Step Identifier | 22 | 4.50 | 95.45 | |
Specific Section | 15 | 5.40 | 96.67 | |
Tags | 7 | 7.71 | 85.71 | |
SubTotal | 56 | 5.98 | 84.82 | |
Developers | Advice Use Case | 1 | 6.00 | 50.00 |
Step Identifier | 8 | 4.50 | 100.00 | |
Specific Section | 5 | 5.20 | 70.00 | |
Tags | 9 | 5.00 | 100.00 | |
SubTotal | 23 | 4.91 | 91.30 | |
Total | Advice Use Case | 23 | 8.21 | 50.00 |
Step Identifier | 39 | 4.74 | 94.87 | |
Specific Section | 41 | 5.70 | 81.70 | |
Tags | 31 | 6.64 | 74.19 | |
SubTotal | 134 | 6.07 | 78.35 |
Description | Time | Accuracy |
---|---|---|
Kolmogorov-Smirnov Z | 1.833 | 5.004 |
Asymp. Sig (2 tailed) | 0.002 | 0.000 |
Template | Advice use case | Step Identifier | Specific section | Tags | ||||
---|---|---|---|---|---|---|---|---|
Time | Accuracy | Time | Accuracy | Time | Accuracy | Time | Accuracy | |
Advice Use Case | - | - | 0.000 | 0.000 | 0.001 | 0.001 | 0.046 | 0.015 |
Step Identifier | 0.000 | 0.000 | - | - | 0.019 | 0.012 | 0.024 | 0.008 |
Specific Section | 0.001 | 0.001 | 0.019 | 0.012 | - | - | 0.532 | 0.618 |
Tags | 0.046 | 0.015 | 0.024 | 0.008 | 0.532 | 0.618 | - | - |
5.3.1 5.3.1 Answering the experiment research questions
-
ERQ1: Which of the evaluated template structures favors the SPL use cases’ comprehensibility? Answer: The Tags structure, represented by the template of Eriksson et al., favors the understanding of the use cases. The subjects using this template structure had better results in terms of accuracy;
-
ERQ2: Which of the evaluated template structures requires less time to understand a use case? Answer: The Tags structure, represented by the template of Eriksson et al., requires less time to understand a use case. The subjects using this template structure had better results in terms of time spent.