Requirements Engineering and Aspects

A fundamental problem with requirements engineering (RE) is to validate that a design does satisfy stakeholder requirements. Some requirements can be fulfilled locally by designed modules, where others must be accommodated globally by multiple modules together. These global requirements often crosscut with other local requirements and as such lead to scattered concerns. We explore the possibility of borrowing concepts from aspect-oriented programming (AOP) to tackle these problems in early requirements. In order to validate the design against such early aspects, we propose a framework to trace them into coding and testing aspects. We demonstrate the approach using an open-source e-commerce platform. In the conclusion of this work, we reflect on the lessons learnt from the case study on how to fit RE and AOP research together.

[1]  Bashar Nuseibeh,et al.  Deriving security requirements from crosscutting threat descriptions , 2004, AOSD '04.

[2]  Stephan Herrmann,et al.  Aspects for Testing Aspects , 2005 .

[3]  Yijun Yu,et al.  Tracing and Validating Goal Aspects , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[4]  Shmuel Katz,et al.  From aspectual requirements to proof obligations for aspect-oriented systems , 2004, Proceedings. 12th IEEE International Requirements Engineering Conference, 2004..

[5]  John Mylopoulos,et al.  Visual variability analysis for goal models , 2004, Proceedings. 12th IEEE International Requirements Engineering Conference, 2004..

[6]  Jane Cleland-Huang,et al.  The Detection and Classification of Non-Functional Requirements with Application to Early Aspects , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[7]  Stefano Spaccapietra,et al.  Conceptual Modeling — ER 2002 , 2002, Lecture Notes in Computer Science.

[8]  Axel van Lamsweerde,et al.  Goal-Oriented Requirements Engineering: A Guided Tour , 2001, RE.

[9]  João Araújo,et al.  Modeling and composing scenario-based requirements with aspects , 2004, Proceedings. 12th IEEE International Requirements Engineering Conference, 2004..

[10]  Gregor Kiczales,et al.  Aspect-oriented programming , 1996, CSUR.

[11]  Siobhán Clarke,et al.  Aspect-oriented analysis and design - the theme approach , 2005, Addison Wesley object technology series.

[12]  Satoshi Matsuoka,et al.  ECOOP'97 — Object-Oriented Programming , 1997, Lecture Notes in Computer Science.

[13]  Stephen Fickas,et al.  Goal-Directed Requirements Acquisition , 1993, Sci. Comput. Program..

[14]  Eric S. K. Yu,et al.  Towards modelling and reasoning support for early-phase requirements engineering , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[15]  Julio Cesar Sampaio do Prado Leite,et al.  On Non-Functional Requirements in Software Engineering , 2009, Conceptual Modeling: Foundations and Applications.

[16]  John Mylopoulos,et al.  Reasoning with Goal Models , 2002, ER.

[17]  John C. Grundy,et al.  Aspect-oriented requirements engineering for component-based software systems , 1999, Proceedings IEEE International Symposium on Requirements Engineering (Cat. No.PR00188).

[18]  Tao Xie,et al.  A framework and tool supports for generating test inputs of AspectJ programs , 2006, AOSD.

[19]  G. Kiczales,et al.  Aspect-oriented programming and modular reasoning , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[20]  Gregor Kiczales,et al.  Overcoming the Prevalent Decomposition in Legacy Code , 2001 .

[21]  Hans-Arno Jacobsen,et al.  Linking goals to aspects , 2005 .

[22]  Neil A. Ernst,et al.  Aspects across Software Life Cycle: A Goal-Driven Approach , 2009, LNCS Trans. Aspect Oriented Softw. Dev..

[23]  João Araújo,et al.  Early aspects: a model for aspect-oriented requirements engineering , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[24]  Michael Jackson,et al.  Four dark corners of requirements engineering , 1997, TSEM.

[25]  John Mylopoulos,et al.  Towards requirements-driven information systems engineering: the Tropos project , 2002, Inf. Syst..

[26]  Mehrdad Sabetzadeh,et al.  View merging in the presence of incompleteness and inconsistency , 2006, Requirements Engineering.

[27]  João Araújo,et al.  Modularisation and composition of aspectual requirements , 2003, AOSD '03.

[28]  Yijun Yu,et al.  An automated approach to monitoring and diagnosing requirements , 2007, ASE.

[29]  Jon Whittle,et al.  Generating Hierarchical State Machines from Use Case Charts , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[30]  Yijun Yu,et al.  Reverse engineering goal models from legacy code , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[31]  Neil A. M. Maiden Improve Your Requirements: Quantify Them , 2006, IEEE Software.

[32]  Nan Niu,et al.  Analysis of Early Aspects in Requirements Goal Models: A Concept-Driven Approach , 2007, LNCS Trans. Aspect Oriented Softw. Dev..

[33]  Bashar Nuseibeh Crosscutting requirements , 2004, AOSD '04.

[34]  Stephen Shaoyi Liao,et al.  Exploring Alternatives during Requirements Analysis , 2001, IEEE Softw..

[35]  R. Yin Case Study Research: Design and Methods , 1984 .

[36]  John Grundy,et al.  Multi-Perspective Specification, Design and Implementation of Software Components Using Aspects , 2000, Int. J. Softw. Eng. Knowl. Eng..

[37]  Yijun Yu,et al.  Quality-Based Software Reuse , 2005, CAiSE.

[38]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[39]  João Araújo,et al.  aspect- oriented pr ogramming , 2006 .

[40]  Neil A. Ernst,et al.  Visualizing non-functional requirements , 2006, 2006 First International Workshop on Requirements Engineering Visualization (REV'06 - RE'06 Workshop).

[41]  Bashar Nuseibeh,et al.  Specifying Monitoring and Switching Problems in Context , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[42]  Martin Glinz,et al.  An effective layout adaptation technique for a graphical modeling tool , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[43]  Yijun Yu,et al.  From goals to aspects: discovering aspects from requirements goal models , 2004, Proceedings. 12th IEEE International Requirements Engineering Conference, 2004..