Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Kiczales, G., Lam**, J., Menhdhekar, A., Maeda, C., Lopes, C., Loingtier, J.M., Irwin, J.: Aspect-oriented programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)
Kiczales, G., Mezini, M.: Aspect-oriented programming and modular reasoning. In: Intl. Conf. on Software Engineering, pp. 49–58 (2005)
Hannemann, J., Kiczales, G.: Overcoming the prevalent decomposition of legacy code. In: Wkshp on Advanced Separation of Concerns at ICSE (2001)
van Deursen, A., Marin, M., Moonen, L.: Aspect mining and refactoring. In: Wkshp on Refactoring: Achievements, Challenges, Effects at WCRE (2003)
Seybold, C., Glinz, M., Meier, S., Merlo-Schett, N.: An effective layout adaptation technique for a graphical modeling tool. In: Intl. Conf. on Software Engineering, pp. 826–827 (2003)
Baniassad, E., Clements, P.C., Araújo, J., Moreira, A., Rashid, A.: Discovering early aspects. IEEE Software 23(1), 61–70 (2006)
Rashid, A., Moreira, A., Araújo, J.: Modularisation and composition of aspectual requirements. In: Intl. Conf. on Aspect-Oriented Software Development, pp. 11–20 (2003)
Rashid, A., Sawyer, P., Moreira, A., Araújo, J.: Early aspects: A model for aspect-oriented requirements engineering. In: Intl. Requirements Engineering Conf., pp. 199–202 (2002)
Yu, Y., do Prado Leite, J.C.S., Mylopoulos, J.: From goals to aspects: Discovering aspects from requirements goal models. In: RE, pp. 38–47 (2004)
Zhang, C., Jacobsen, H.A., Yu, Y.: Linking goals to aspects. In: Early Aspects Wkshp at AOSD (2005)
Yu, Y., Niu, N., González-Baixauli, B., Candillon, W., Mylopoulos, J., Easterbrook, S., Leite, J.C.S.d.P., Vanwormhoudt, G.: Tracing and validating goal aspects. In: Proc. of the 15th IEEE International Requirements Engineering Conference (RE 2007), 15-19 October 2007, pp. 53–56 (2007)
Niu, N., Yu, Y., González-Baixauli, B., Ernst, N., Leite, J.C.S.d.P., Mylopoulos, J.: Aspects across software life cycle: A goal-driven approach. Trans. on Aspect-Oriented Software Development IV (to appear, 2008)
van Lamsweerde, A.: Goal-oriented requirements engineering: A guided tour. In: Intl. Symp. on Requirements Engineering, pp. 249–262 (2001)
Nuseibeh, B.: Crosscutting requirements. In: Intl. Conf. on Aspect-Oriented Software Development, pp. 3–4 (2004)
Sabetzadeh, M., Easterbrook, S.M.: View merging in the presence of incompleteness and inconsistency. Requir. Eng. 11(3), 174–193 (2006)
Niu, N., Easterbrook, S., Yu, Y.: A taxonomy of requirements aspects. In: Early Aspects Wkshp at AOSD (2007)
Cleland-Huang, J., Settimi, R., Zou, X., Solc, P.: The detection and classification of non-functional requirements with application to early aspects. In: Intl. Requirements Engineering Conf., pp. 39–48 (2006)
Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design: The Theme Approach. Addison-Wesley, Reading (2005)
Haley, C.B., Laney, R.C., Nuseibeh, B.: Deriving security requirements from crosscutting threat descriptions. In: Intl. Conf. on Aspect-Oriented Software Development, pp. 112–121 (2004)
Dardenne, A., van Lamsweerde, A., Fickas, S.: Goal-directed requirements acquisition. Science of Computer Programming 20(1-2), 3–50 (1993)
Chung, L., Nixon, B., Yu, E., Mylopoulos, J.: Non-Functional Requirements in Software Engineering. Kluwer Academic Publishers, Dordrecht (2000)
Yu, E.: Towards modeling and reasoning support for early-phase requirements engineering. In: Intl. Symp. on Requirements Engineering, pp. 226–235 (1997)
Castro, J., Kolp, M., Mylopoulos, J.: Towards requirements-driven information systems engineering: The Tropos project. Information Systems 27(6), 365–389 (2002)
**e, T., Zhao, J.: A framework and tool supports for generating test inputs of AspectJ programs. In: Intl. Conf. on Aspect-Oriented Software Development, pp. 190–201 (2006)
Lesiecki, N.: Unit test your aspects – eight new patterns for verifying crosscutting behavior. IBM DeveloperWorks (2005)
Sokenou, D., Herrmann, S.: Aspects for testing aspects? In: Wkshp on Testing Aspect-Oriented Programs at AOSD (2005)
Leite, J., Yu, Y., Liu, L., Yu, E., Mylopoulos, J.: Quality-based software reuse. In: Intl. Conf. on Advanced Information Systems Engineering, pp. 535–550 (2005)
Zave, P., Jackson, M.: Four dark corners of requirements engineering. Trans. of Software Engineering and Methodology 6(1), 1–30 (1997)
Salifu, M., Yu, Y., Nuseibeh, B.: Specifying monitoring and switching problems in context. In: Proc. of the 15th IEEE International Requirements Engineering Conference (RE 2007), pp. 211–220 (2007)
Giorgini, P., Mylopoulos, J., Nicchiarelli, E., Sebastiani, R.: Reasoning with goal models. In: Spaccapietra, S., March, S.T., Kambayashi, Y. (eds.) ER 2002. LNCS, vol. 2503, pp. 167–181. Springer, Heidelberg (2002)
Yin, R.: Case Study Research: Design and Methods. Sage Publications, Thousand Oaks (2003)
Yu, Y., et al.: osCommerce’s phpAspect report (Last accessed on August 15, 2008), http://www.cs.toronto.edu/~yijun/aspectPHP
Niu, N., Easterbrook, S.: Analysis of early aspects in requirements goal models: A concept-driven approach. Trans. on Aspect-Oriented Software Development III, 40–72 (2007)
Grundy, J.C.: Aspect-oriented requirements engineering for component-based software systems. In: Intl. Symp. on Requirements Engineering, pp. 84–91 (1999)
Grundy, J.: Multi-perspective specification, design and implementation of software components using aspects. Intl. Journal of Software Engineering and Knowledge Engineering 10(6), 713–734 (2000)
Araújo, J., Whittle, J., Kim, D.K.: Modeling and composing scenario-based requirements with aspects. In: Intl. Requirements Engineering Conf., pp. 58–67 (2004)
Yu, Y., Wang, Y., Mylopoulos, J., Liaskos, S., Lapouchnian, A., do Prado Leite, J.C.S.: Reverse engineering goal models from legacy code. In: Intl. Requirements Engineering Conf., pp. 363–372 (2005)
Whittle, J., Jayaraman, P.K.: Generating hierarchical state machines from use case charts. In: Intl. Requirements Engineering Conf., pp. 16–25 (2005)
Katz, S., Rashid, A.: From aspectual requirements to proof obligations for aspect-oriented systems. In: Intl. Requirements Engineering Conf., pp. 48–57 (2004)
Maiden, N.: Improve your requirements: Quantify them. IEEE Software 23(6), 68–69 (2006)
Mylopoulos, J., Chung, L., Liao, S., Wang, H., Yu, E.: Exploring alternatives during requirements analysis. Software 18(1), 92–96 (2001)
González-Baixauli, B., do Prado Leite, J.C.S., Mylopoulos, J.: Visual variability analysis for goal models. In: Intl. Requirements Engineering Conf., pp. 198–207 (2004)
Ernst, N.A., Yu, Y., Mylopoulos, J.: Visualizing non-functional requirements. In: Wkshp on Requirements Engineering Visualization at RE (2006)
Wang, Y., McIlraith, S.A., Yu, Y., Mylopoulos, J.: An automated approach to monitoring and diagnosing requirements. In: Proc. of the 22nd ACM/IEEE International Conference on Automated Software Engineering (ASE 2007), pp. 293–302 (2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Yu, Y., Niu, N., González-Baixauli, B., Mylopoulos, J., Easterbrook, S., do Prado Leite, J.C.S. (2009). Requirements Engineering and Aspects. In: Lyytinen, K., Loucopoulos, P., Mylopoulos, J., Robinson, B. (eds) Design Requirements Engineering: A Ten-Year Perspective. Lecture Notes in Business Information Processing, vol 14. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-92966-6_24
Download citation
DOI: https://doi.org/10.1007/978-3-540-92966-6_24
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-92965-9
Online ISBN: 978-3-540-92966-6
eBook Packages: Computer ScienceComputer Science (R0)