6 CONCLUSIONS AND RESULTS
In this paper, we have presented our approach to
specify, detect, and automatically discover the
interactions among software requirements. The
approach is based on events and actions and uses a
semi-formal method. The method requires neither
the user intervention nor any external knowledge for
the identification of interactions. The method is able
to identify most interaction types described in the
literature (negative and positive interactions).
The proposed approach detected all interactions
reported by Heisel and Souquières (2001) and
Shehata (2005), besides extra interactions not
detected by other approaches (mostly positive
interactions). These are the interaction types that
allow the behaviour modelling of the system, mainly
those that enable interaction between objects. Table
15 summarises this comparison.
Table 15: Comparing Results.
Approach Positive
Interactions
Negative
Interactions
Proposed Approach 13 8
(Heisel and Souquières, 2001) - 6
(Shehata, 2005) - 7
The method reduces the human participation,
because the process of interactions detection
(applying interaction detection rules) can be
automated and implemented through a
computational support tool.
To facilitate and avoid unnecessary comparisons
during the interactions detection, the process of
identification of the common events and actions
associated to the requirements was conceived.
The knowledge of interactions allows resolving
eventual conflicts and planning the requirements
implementation (priorities) considering
dependencies interactions.
The method proposed in this paper works well if
a requirements analyst can properly identify
requirements attributes as shown in Table 7.
However, this work is less complex than to specify
the requirements using a formal specification
language.
We plan to expand the method to cover
additional interactions types, which were not
considered in this paper. Moreover, we intend to
work on the improvement of the method by
identifying and complementing the rules for
interactions detection. This will enable us to make
the algorithms more efficient and precise.
We are also working on a software prototype to
support the user to validate, improve or reject the
interactions identified by our method.
ACKNOWLEDGEMENTS
This work was partially funded by CNPq grants
311454/2006-2 and 305900/2005-6.
REFERENCES
Dahlstedt, Å.G., Persson, A., 2003. Requirements
Interdependencies - Moulding the State of Research
into a Reseach Agenda. In Proceeding of the Ninth
International Workshop on Requirements
Engineering: Foundation for Software Quality,
Austria, 2003.
Robinson, W. N., Pawlowski, S. D., Volkov, V., 2003
Requirements interaction management. In ACM
Computing Surveys 35 (2), 2003, pages 132-190.
Shehata, M., 2005. Detecting Requirements Interactions
using Semi-Formal Methods. PhD. Thesis (Doctor of
Philosophy), Department of Electrical and Computer
Engineering, Calgary University, Canada, 2005.
Yuqin, L., Chuanyao, Y., Chongxiang, Z., Wenyun, Z.,
2006. An Approach to Managing Feature
Dependencies for Product Releasing in Software
Product Lines, In Proc. of the International
Conference on Software Reuse, LNCS 4039, 2006,
pages 127-141.
Zhang, W., Mei, H., Zhao, H., 2006. Feature-driven
Requirement Dependency Analysis and High-level
Software Design, Requirements Engineering Journal,
volume 11, number 3, 2006, pages 205-220.
El-Ansary, A., 2002. Behavioral Pattern Analysis: towards
a new representation of systems requirements based on
actions and events. In The ACM Symposium on
Applied Computing, Madrid, Spain. 2002.
BPMN, 2006. Business Process Modeling Notation,
OMG.
Calder, M., Magill, E., 2000. Feature Interactions in
Telecommunications and Software Systems VI,
Amsterdam: IOS press, 2000.
Lamsweerde, A. V, Darimont, R., Letier, E., 1998.
Managing Conflicts in Goal-Driven Requirements
Engineering. In IEEE Trans. on Software Engineering,
volume 24, number 11, 1998, pages 908-926.
Pohl, K., 1996. Process-Centered Requirements
Engineering, John Wiley & Sons Inc.
Mylopoulos, J., Chung, L., Yu, E. 1999. From object-
oriented to goal-oriented requirements analysis.
Commun. ACM, 42, pages 31–37.
Heisel M., Souquières, J., 2001. A heuristic algorithm to
detect feature interactions in requirements. In
Language Constructs for Describing Features, M.
Ryan, Ed.: Springer-Verlag London Ltd, 2001.
Sarmiento, E.C., 2008. Detecting interactions between
requirements in software development. M.Sc.
Dissertation in preparation, Graduate Program in
Informatics, Federal University of Rio de Janeiro,
Brazil (In Portuguese).
ICEIS 2009 - International Conference on Enterprise Information Systems
230