Professional Documents
Culture Documents
ProductlinRE Online Management Tool For Requirements Engineering of Software Product Lines
ProductlinRE Online Management Tool For Requirements Engineering of Software Product Lines
ProductlinRE Online Management Tool For Requirements Engineering of Software Product Lines
Although many RE tools provide support of collaborative work is time consuming, solutions such as templates are used in most
(e.g. Rational Requirements composer of IBM Jazz2 ) , their focus cases which are suitable in textual explanation of the requirements.
is on handling only the requirements which are in most cases in Though, the artifacts of RE are not limited to these type of docu-
the form of text description. These tools focus on preventing the ments. Generating images, movies and models is time consuming
replication of requirements which are common between members and requires investigations. Such artifacts can at least be utilized
of a product family and do not support the handling the common for inspiration, elicitation and validation of requirements as well as
artifacts between these requirements. Furthermore, the existing ascertaining stable communications between stake holders. Using
tools which support the collaborative works, do not support the online tools increases the level of reuse which leads to optimization
aforementioned functionalities of the planning phase of product in usage of resources, time and expenditure to describe the details
lines by Pereira et al [18] , i.e., pre-analysis documentation and to the requirements engineers. Although distributed tools can cover
matrix of domain in order to reuse artifacts. An other important this case partially, handling the online solutions (e.g. update, change
difference is our focus on usability and re-usability aspects, which is or maintain) are in most cases easier since they don't need special
not a main concern of other existing tools - Actually, there is as far platforms, drivers, or extra version controls and installations.
as we know no existing tool which focuses on usability aspects (see
also [3]). There are also some other approaches such as Filho et al. 2.1 Work-flow of ProductLinRE
[15] which propose a repository based approaches for development
The ProductLinRE online tool manages certain product lines, called
of SPLs. Although this approach considers the reuse of the related
projects within ProductLinRE. The tool itself is able to handle vari-
components to architecture, implementation and features of a SPL,
ous product lines, and allows the shared access to artifacts. These
the artifacts of RE are not well considered.
projects can be generated with ProductLinRE for managing them.
Contribution. This paper tackles the lack of online tools for prod- Furthermore, ProductLinRE provides a repository of artifacts tagged
uct management of product lines while considering the supporting to different features. If the users are searching for the artifacts of
usability. We present ProductLinRE, an online management tool a certain feature, they can search it in this repository and reuse it
which helps the product managers to handle the artifacts of require- instead of creating new feature or collecting new artifacts.
ments engineering for any domain. It provides the re-usability for Figure 5 demonstrates the work-flow process of creating a new
different types of artifacts between and within projects. Analysis of project. Each product line is considered a project in our online tool.
scoping, commonality and variability (SCV) in product line require- After naming the project, features have to be added. Optionally,
ments engineering [13] are supported by ProductLinRE. In addition each feature may have a connection with several artifacts. The
to these wanted features in product line requirements engineering, artifacts themselves are arbitrary, and can be chosen from existing
ProductLinRE supports asset management as well. Asset manage- ones. If no existent artifact is suitable for a certain feature, a user-
ment is the unique feature to the SPL which plays an important role defined amount of new artifacts can be added. These artifacts may
not only in RE, but in all the phases of the lifecycle of a product line. be video, audio, image or text data, or even XML files. The artifacts
It provides effective reusability of assets by application engineers will be tagged to the features as a complete file or a piece of it.
[1]. The user can specify the artifacts data type, as well as the relevant
fragments of the artifacts content for further management purposes.
2 ONLINE PRODUCT MANAGEMENT TOOL Figure 1 illustrates an example of embedded tagging mechanism to
get a part of an image artifacts and link it to a certain feature. In the
The main idea behind this tool is to fill the gaps of an online tool
case of the need for more features, they can be added to the project
for managing the artifacts of RE for product lines [18]. Given that
in the next step. If there’s no further need of more features, the
today’s complexity in software requirements is increasing, filling
project is completed for the time being. Editing, deleting and adding
these gaps is important in several aspects. The variety and the num-
of features and artifacts are possible during the entire process.
ber of these requirements makes managing and monitoring them
Finally, ProductLinRE provides a product-feature-matrix for each
more complex and error-prone. On the other hand, the existence
project that delegates a product line (Figure 2 illustrates an exam-
of such a tool provides the communication between the stakehold-
ple of such matrix). The members of the product family and the
ers that leads to improvement in the quality of the outputs of the
existing features will be listed as two dimensions of this matrix.
requirements analysis phase.
The product manager can select the features for each product. Pro-
Furthermore, it uses a simple tagging mechanism that facilitates
ductLinRE provides a download button which tailors the tagged
the reuse of exactly needed artifacts for certain features in various
artifacts according to the selected features and generates a pack-
projects. One of the core aspects our tool offers is the online func-
age of them. This package contains only required artifacts for the
tionality: ProductLinRE allows multiple users to work together on
analysis and development of selected product. It can be used by
managing projects, features and artifacts, rendering collaborative
application engineers especially for RE purposes.
work possible.
Besides the general benefits of the collaborative online tools,
such as saving time and communication costs as well as fast access 3 EXAMPLE OF UTILIZATION
to knowledge and experts, our collaborative tool facilitates the reuse In order to showcase the abilities of ProductLinRE, we describe a
of artifacts of requirements engineering. Since producing artifacts fictional cooperative work between two application engineers. Both
users are registered with our tools and have access to the projects,
2 https://jazz.net/products/rational-requirements-composer features and artifacts as they log in. They can create new projects,
Browse” > "Assets"" in the navigation bar and search all the assets
You still have the option "Browse”
in the repository. You can also use the built-in
built search function.
Delete assets
You cannot delete assets.
Artefacts
ProductLinRE SPLC ’18, September 10–14, 2018, Gothenburg, Sweden
common. Because working together in distributed teams over var- facilitate the search functionality that works based on assigned tags
ious geographical locations becomes increasingly important and to the features. Furthermore, supporting the constraints between
seems to have a positive impact on work flow and user experience the features of product lines [2] is postponed to the future work.
[12], it was our utmost concern to integrate an online functionality
in ProductLinRE, despite the prior mentioned tracking problems. 6 APPENDIX
This section contains the domain model (Figure 3), the MVC di-
4.1 Evaluating ProductLinRE Referring to agram (Figure 4), and the work-flow diagram (Figure 5) of our
Usability and User Experience proposed tool.
For evaluation purposes, we conducted a qualitative survey and
assignment of tasks with eight test persons. All of them had a
REFERENCES
[1] Vander Alves, Nan Niu, Carina Alves, and George Valença. 2010. Requirements
background in computer science, but despite one subject, none of engineering for software product lines: A systematic literature review. Informa-
them had any experience with SPL management tools. As men- tion and Software Technology 52, 8 (2010), 806–820.
tioned before, user experience, usability and collaborative work [2] Sven Apel, Don Batory, Christian Kästner, and Gunter Saake. 2016. Feature-
oriented software product lines. Springer.
are the main features of ProductLinRE, so it was convenient that [3] Rabih Bashroush, Muhammad Garba, Rick Rabiser, Iris Groher, and Goetz Bot-
almost all of our test persons had no prior experience with SPLs. terweck. 2017. CASE Tool Support for Variability Management in Software
Product Lines. ACM Comput. Surv. 50, 1, Article 14 (March 2017), 45 pages.
Because of the above-mentioned quality requirements, which can https://doi.org/10.1145/3034827
be valued individually, we focused on a qualitative approach for our [4] Elder Cirilo, UirÃą Kulesza, and Carlos Lucena. 2008. A Product Derivation Tool
evaluation. Therefore, we asked our test subjects after assigning Based on Model-Driven Techniques and Annotations. 14 (01 2008), 1344–1367.
[5] Paul Clements and Linda Northrop. 2001. Software Product Lines: Practices and
the tasks about upcoming difficulties, overall progression with the Patterns. Addison-Wesley Professional.
tasks, usage and problems with the manual, general usability, user [6] Deepak Dhungana, Paul Grünbacher, and Rick Rabiser. 2007. DecisionKing: A
experience over the whole scope and performance of ProductLinRE. Flexible and Extensible Tool for Integrated Variability Modeling. VaMoS 2007
(2007), 01.
The result indicated that even if half of our subjects wasn’t able [7] Deepak Dhungana, Paul Grünbacher, and Rick Rabiser. 2011. The DOPLER meta-
to solve the task without errors, everyone, except one person, was tool for decision-oriented variability modeling: a multiple case study. Automated
Software Engineering 18, 1 (2011), 77–114.
able to finish the tasks. Few of them used the manual, and rated the [8] Nicolas Dintzner, Uirá Kulesza, Arie van Deursen, and Martin Pinzger. 2014.
usability and overall user experience with high values. They stated Evaluating Feature Change Impact on Multi-product Line Configurations Using
some missing aspects within the user manual, so we overhauled Partial Information. In Software Reuse for Dynamic Systems in the Cloud and Be-
yond, Ina Schaefer and Ioannis Stamelos (Eds.). Springer International Publishing,
the manual later on. Even those who didn’t used the user manual at Cham, 1–16.
all rated usability and user experience from average to good, mean [9] Christof Ebert and Michel Smouts. 2003. Tricks and Traps of Initiating a Product
value somewhat lower to those persons which used the manual. Line Concept in Existing Products. In Proceedings of the 25th International Con-
ference on Software Engineering (ICSE ’03). IEEE Computer Society, Washington,
For future work, we want to conduct an experiment with more test DC, USA, 520–525. http://dl.acm.org/citation.cfm?id=776816.776882
persons and advanced surveys to establish an adequate methodol- [10] William Frakes, Ruben Prieto-Diaz, and Christopher Fox. 1997. DARE-COTS.
A domain analysis support tool. In Computer Science Society, 1997. Proceedings.,
ogy for measuring usability of SPL management tools, which is a XVII International Conference of the Chilean. IEEE, 73–77.
severe research gap at the moment [3]. The limited results at the [11] Stephan Herrmann, Mira Mezini, and Klaus Ostermann. 2001. Joint efforts to
moment seem to show that ProductLinRE becomes accepted due dispel an approaching modularity crisis - Divide et impera, quo vadis? (2001).
[12] J. Highsmith and A. Cockburn. 2001. Agile software development: the business of
to its intuitive and user-friendly behaviour, generating an overall innovation. Computer 34, 9 (Sep 2001), 120–127. https://doi.org/10.1109/2.947100
high-ranking usability. [13] CharlesW Krueger. 2001. Easing the transition to software mass customization.
In International Workshop on Software Product-Family Engineering. Springer, 282–
293.
5 CONCLUSION AND FUTURE WORK [14] Horst Lichter, Thomas von der Maçen, Alexander Nyçen, and Thomas Weiler.
2003. Vergleich von AnsÃďtzen zur Feature Modellierung bei der Softwarepro-
ProductLinRE is an online software product line management tool duktlinienentwicklung. (07 2003).
for requirements engineering, allowing collaborative work on man- [15] Sindolfo Miranda Filho, Heitor Mariano, Uirá Kulesza, and Thais Batista. 2010.
aging the artifacts of requirements engineering for software product Automating Software Product Line Development: A Repository-Based Approach.
In Software Engineering and Advanced Applications (SEAA), 2010 36th EUROMICRO
lines trough online tracking of projects, features and artifacts. Our Conference on. IEEE, 141–144.
findings indicate that ProductLinRE has found acceptance amongst [16] Varvana Myllärniemi, Mikko Raatikainen, and Tomi Männistö. 2007. Kumbang
our subjects. They stated a good overall usability while experi- Tools.. In SPLC (2). 135–136.
[17] Jihyeon Park, Mikyeong Moon, and Keunhyuk Yeom. 2004. Dream: domain
encing ProductLinRE, which was one of our main goals we tried requirement asset manager in product lines. In International Symposium on Future
to accomplish with ProductLinRE’ online functionality. There are Software Technology (ISFST).
[18] Juliana Alves Pereira, Kattiana Constantino, and Eduardo Figueiredo. 2015. A
barely any online software product line management tools available systematic literature review of software product line management tools. In Inter-
until now, therefore ProductLinRE will bridge this gap. national Conference on Software Reuse. Springer, 73–89.
The most obvious challenges for our approach are (1) handling [19] Giancarlo Succi, Jason Yip, and Witold Pedrycz. 2001. Holmes: an intelligent
system to support software product line development. In Software Engineering,
the origin of the artifacts (copyright) and (2) labeling the artifacts 2001. ICSE 2001. Proceedings of the 23rd International Conference on. IEEE, 829–830.
in the way that the other users can find and reuse them easily. [20] Anil Kumar Thurimella and Bernd Bruegge. 2012. Issue-based variability man-
Since our tool is an online tool, it inherits the common challenges agement. Information and Software Technology 54, 9 (2012), 933–950.
[21] Patrícia Varela, João Araújo, Isabel Brito, and Ana Moreira. 2011. Aspect-oriented
of online and distributed systems, such as security and problems analysis for software product lines requirements engineering. In Proceedings of
related to network. However, most of these challenges have stable the 2011 ACM Symposium on Applied Computing. ACM, 667–674.
solutions that are dependent to the use case of this tool. In future
work, we are going to utilize the relationships between words to
ProductLinRE SPLC ’18, September 10–14, 2018, Gothenburg, Sweden
ProductLinRE domain model
User
avatar binary
confirmation_sent_at datetime
confirmation_token string
confirmed_at datetime
current_sign_in_at datetime
current_sign_in_ip string
description text
email string 21 27 U
encrypted_password string 12 72 SecurityQuestion
failed_attempts integer 21 27
answer string
image string
locale string
is_admin boolean
question string
last_sign_in_at datetime
last_sign_in_ip string
locked_at datetime
name string 21 27 U
remember_created_at datetime
reset_password_sent_at datetime
reset_password_token string
sign_in_count integer 21 27
unconfirmed_email string
unlock_token string
Artifact
description text 12 72
name string 21 27
Project
description text 21 27
name string 12 72
Feature
description text 21 27
name string 21 27
ActiveStorage::Blob
byte_size integer (8) 12 72
Passage Product
checksum string 21 27
content_type string description text 22
17 description text 21 27
filename string 12 72 name string 12 72 name string 12 72
key string 21 27
metadata text
ActiveStorage::Attachment
name string 21 27
record_type string 21 27
Project User
1..* 1
Login
0..* 1..*
1..* login()
10..*
1..*
register()
Artifact
Passage
name: String
name: String description: String
features: Feature[] 1..* 1 passages: Passage[] 1..*
begin: String features: Feature[]
end: String type: String
file: File
createPassage(name, begin, end)
showPassage(id) createArtifact(name, desc, file, type)
editArtifact(id, name, begin, end) showArtifact(id)
deleteArtifact(id) editArtifact(id, name, desc)
deleteArtifact(id)
new project
name project
add feature
want
artifact(s) No
for this
feature?
Yes
Yes
does an No need
add and specify completed
artifact more
artifact(s types) No project
exist? feature?
Yes
No
artifact(s)
relevant
for
feature?
Yes
choose existing
artifact(s)