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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
EUR 32.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or Ebook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free ship** worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. 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)

    Chapter  Google Scholar 

  2. Kiczales, G., Mezini, M.: Aspect-oriented programming and modular reasoning. In: Intl. Conf. on Software Engineering, pp. 49–58 (2005)

    Google Scholar 

  3. Hannemann, J., Kiczales, G.: Overcoming the prevalent decomposition of legacy code. In: Wkshp on Advanced Separation of Concerns at ICSE (2001)

    Google Scholar 

  4. van Deursen, A., Marin, M., Moonen, L.: Aspect mining and refactoring. In: Wkshp on Refactoring: Achievements, Challenges, Effects at WCRE (2003)

    Google Scholar 

  5. 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)

    Google Scholar 

  6. Baniassad, E., Clements, P.C., Araújo, J., Moreira, A., Rashid, A.: Discovering early aspects. IEEE Software 23(1), 61–70 (2006)

    Article  Google Scholar 

  7. 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)

    Google Scholar 

  8. 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)

    Google Scholar 

  9. 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)

    Google Scholar 

  10. Zhang, C., Jacobsen, H.A., Yu, Y.: Linking goals to aspects. In: Early Aspects Wkshp at AOSD (2005)

    Google Scholar 

  11. 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)

    Google Scholar 

  12. 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)

    Google Scholar 

  13. van Lamsweerde, A.: Goal-oriented requirements engineering: A guided tour. In: Intl. Symp. on Requirements Engineering, pp. 249–262 (2001)

    Google Scholar 

  14. Nuseibeh, B.: Crosscutting requirements. In: Intl. Conf. on Aspect-Oriented Software Development, pp. 3–4 (2004)

    Google Scholar 

  15. Sabetzadeh, M., Easterbrook, S.M.: View merging in the presence of incompleteness and inconsistency. Requir. Eng. 11(3), 174–193 (2006)

    Article  Google Scholar 

  16. Niu, N., Easterbrook, S., Yu, Y.: A taxonomy of requirements aspects. In: Early Aspects Wkshp at AOSD (2007)

    Google Scholar 

  17. 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)

    Google Scholar 

  18. Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design: The Theme Approach. Addison-Wesley, Reading (2005)

    Google Scholar 

  19. 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)

    Google Scholar 

  20. Dardenne, A., van Lamsweerde, A., Fickas, S.: Goal-directed requirements acquisition. Science of Computer Programming 20(1-2), 3–50 (1993)

    Article  MATH  Google Scholar 

  21. Chung, L., Nixon, B., Yu, E., Mylopoulos, J.: Non-Functional Requirements in Software Engineering. Kluwer Academic Publishers, Dordrecht (2000)

    MATH  Google Scholar 

  22. Yu, E.: Towards modeling and reasoning support for early-phase requirements engineering. In: Intl. Symp. on Requirements Engineering, pp. 226–235 (1997)

    Google Scholar 

  23. Castro, J., Kolp, M., Mylopoulos, J.: Towards requirements-driven information systems engineering: The Tropos project. Information Systems 27(6), 365–389 (2002)

    Article  MATH  Google Scholar 

  24. **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)

    Google Scholar 

  25. Lesiecki, N.: Unit test your aspects – eight new patterns for verifying crosscutting behavior. IBM DeveloperWorks (2005)

    Google Scholar 

  26. Sokenou, D., Herrmann, S.: Aspects for testing aspects? In: Wkshp on Testing Aspect-Oriented Programs at AOSD (2005)

    Google Scholar 

  27. 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)

    Google Scholar 

  28. Zave, P., Jackson, M.: Four dark corners of requirements engineering. Trans. of Software Engineering and Methodology 6(1), 1–30 (1997)

    Article  Google Scholar 

  29. 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)

    Google Scholar 

  30. 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)

    Chapter  Google Scholar 

  31. Yin, R.: Case Study Research: Design and Methods. Sage Publications, Thousand Oaks (2003)

    Google Scholar 

  32. Yu, Y., et al.: osCommerce’s phpAspect report (Last accessed on August 15, 2008), http://www.cs.toronto.edu/~yijun/aspectPHP

  33. 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)

    Article  Google Scholar 

  34. Grundy, J.C.: Aspect-oriented requirements engineering for component-based software systems. In: Intl. Symp. on Requirements Engineering, pp. 84–91 (1999)

    Google Scholar 

  35. 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)

    Article  Google Scholar 

  36. 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)

    Google Scholar 

  37. 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)

    Google Scholar 

  38. Whittle, J., Jayaraman, P.K.: Generating hierarchical state machines from use case charts. In: Intl. Requirements Engineering Conf., pp. 16–25 (2005)

    Google Scholar 

  39. Katz, S., Rashid, A.: From aspectual requirements to proof obligations for aspect-oriented systems. In: Intl. Requirements Engineering Conf., pp. 48–57 (2004)

    Google Scholar 

  40. Maiden, N.: Improve your requirements: Quantify them. IEEE Software 23(6), 68–69 (2006)

    Article  Google Scholar 

  41. Mylopoulos, J., Chung, L., Liao, S., Wang, H., Yu, E.: Exploring alternatives during requirements analysis. Software 18(1), 92–96 (2001)

    Article  Google Scholar 

  42. 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)

    Google Scholar 

  43. Ernst, N.A., Yu, Y., Mylopoulos, J.: Visualizing non-functional requirements. In: Wkshp on Requirements Engineering Visualization at RE (2006)

    Google Scholar 

  44. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics

Navigation