Skip to main content

Goal-Oriented Software Architecting

  • Chapter
  • First Online:
Relating Software Requirements and Architectures

Abstract

Designing software architectures to meet both functional and non-functional requirements (FRs and NFRs) is difficult as it oftentimes relies on the skill and experience of the architect, and the resulting architectures are rarely derived directly from the requirements models. As a result, the relationships between the two artifacts are not explicitly captured, making it difficult to reason more precisely whether an architecture indeed meets its requirements, and if yes, why. This chapter presents a goal-oriented software architecting approach, where FRs and NFRs are treated as goals to be achieved, which are refined and used to explore achievement alternatives. The chosen alternatives and the goal model are then used to derive, using the provided mapping rules, a logical architecture, which is further mapped to a final concrete architecture by applying an architectural style and architectural patterns chosen based on the NFRs. The approach has been applied in an empirical study based on the 1992 London ambulance dispatch system.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Bass L, Clements P, Kazman R (2003) Software architecture in practice. Addison-Wesley Professional, New York

    Google Scholar 

  2. Bengtsson P, Bosch J (1998) Scenario-based software architecture reengineering. In: Proceedings 5th International Conference on Software Reuse, IEEE, pp 308–317

    Google Scholar 

  3. Blevins TJ, Spencer J, Waskiewicz F (2004) TOGAF ADM and MDA. The Open Group and OMG. http://www.opengroup.org/bookstore/catalog/w052.htm

  4. Bosch J, Molin P (2002) Software architecture design: evaluation and transformation. In: Proceedings IEEE Conference and Workshop on Engineering of Computer-Based Systems (ECBS'99), IEEE, pp 4–10, http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=755855

  5. Brandozzi M, Perry D (2003) From goal oriented requirements to architectural prescriptions: the preskiptor process. In: Proceedings from Software Requirements to Architectures Workshop (STRAW'03)

    Google Scholar 

  6. Chung L, Leite JCSP (2009) On non-functional requirements in software engineering. In: Borgida AT, Chaudhri VK, Giorgini P, Yu ES (eds) Conceptual modeling: foundations and applications. Springer, Berlin, pp 363–379

    Chapter  Google Scholar 

  7. Chung L, Nixon BA, Yu E, Mylopoulos J (2000) Non-Functional requirements in software engineering. Kluwer Academic Publishers, Boston

    Book  Google Scholar 

  8. Chung L, Nixon BA, Yu E (1995) Using non-functional requirements to systematically select among alternatives in architectural design. In: Proceedings 1st International Workshop on Architectures for Software Systems, Seattle, pp 31–43

    Google Scholar 

  9. Clements P, Kazman R, Klein M (2002) Evaluating software architectures: methods and case studies. Addison-Wesley, Reading

    Google Scholar 

  10. Dalcher D (1999) Disaster in London: the LAS case study. In: Proceedings 6th Annual IEEE International Conference and Workshop on Engineering of Computer Based System (ECBS), pp 41–52

    Google Scholar 

  11. Dardenne A, van Lamsweerde A, Fickas S (1993) Goal-directed requirements acquisition. Sci Comput Program 20(1–2):3–50

    Article  Google Scholar 

  12. Feiler P, Gluch D, Hudak J, Lewis B (2005) Pattern-based analysis of an embedded real-time system architecture. Arch Description Lang 176:51–65

    Article  Google Scholar 

  13. Harrison N, Avgeriou P (2007) Leveraging architecture patterns to satisfy quality attributes. Software Architecture 4758:263–270

    Article  Google Scholar 

  14. Hill T, Supakkul S, Chung L (2009) Confirming and reconfirming architectural decisions on scalability: a goal-driven simulation approach. In: Proceedings 8th International Workshop on System/Software Architectures, Springer, pp 327–336

    Google Scholar 

  15. Hofmeister C, Kruchten P, Nord RL, Obbink H, Ran A, America P (2007) A general model of software architecture design derived from five industrial approaches. J Syst Softw 80(1):106–126

    Article  Google Scholar 

  16. Hofmeister C, Nord R, Soni D (2000) Applied software architecture. Addison-Wesley Professional, Reading

    Google Scholar 

  17. Ivers J, Clements P, Garlan D, Nord R, Schmerl B, Silva JR (2004) Documenting component and connector views with UML 2.0. Technical report, Software Engineering Institute, CMU

    Google Scholar 

  18. Kazman R, Bass L, Webb M, Abowd G (1994) SAAM A method for analyzing the properties of software architectures. In: Proceedings 16th International Conference on Software engineering, 81–90

    Google Scholar 

  19. Kitchenham B, Pickard L, Peege SL (2002) Case studies for method and tool evaluation. Softw IEEE 12(4):52–62

    Article  Google Scholar 

  20. Kramer J, Wolf A (1996) Succeedings of the 8th international workshop on software specification and design. ACM SIGSOFT Softw Eng Notes 21(5):21–35

    Article  Google Scholar 

  21. Kruchten P (1995) The 4 + 1 view model of architecture. IEEE Softw 12(6):42

    Article  Google Scholar 

  22. Kruchten P, Obbink H, Stafford J (2006) The past, present, and future for software architecture. Softw IEEE 23(2):22–30

    Article  Google Scholar 

  23. Monroe B, Garland D, Wile D (1996) ACME BNF and examples. In Microsoft Component-Based Software Development Workshop

    Google Scholar 

  24. Mylopoulos J, Chung L, Nixon BA (1992) Representing and using nonfunctional requirements: a process-oriented approach. IEEE Trans Software Eng 18(6):483–497

    Article  Google Scholar 

  25. Mylopoulos J (2006) Goal-oriented requirements engineering, part II. Keynote. In: 14th IEEE International Requirements Engineering Conference

    Google Scholar 

  26. Page D, Williams P, Boyd D (1993) Report of the inquiry into the London Ambulance Service. South West Thames Regional Health Authority, vol. 25

    Google Scholar 

  27. Ran A (2000) ARES conceptual framework for software architecture. In: Jazayeri M, Ran A, van der Linden F (eds) Software architecture for product families principles and practice. Addison-Wesley, Boston

    Google Scholar 

  28. Shaw M, Garlan D (1996) Software architecture: perspectives on an emerging discipline. Prentice-Hall, Upper Saddle River

    MATH  Google Scholar 

  29. Supakkul S, Chung L (2005) A UML profile for goal-oriented and use case-driven representation of NFRs and FRs. In: Proceedings 3rd International Conference. on Software Engineering Research, Management & Applications (SERA05)

    Google Scholar 

  30. Supakkul S, Hill T, Chung L, Tun TT, Leite JCSP (2010) An NFR pattern approach to dealing with NFRs. In: 18th IEEE International Requirements Engineering Conference, pp 179–188

    Google Scholar 

  31. The Open Group (2003) The Open Group Architecture Framework v8.1. http://www.opengroup.org/architecture/togaf8-doc/arch, accessed on Dec. 19, 2003

  32. van Lamsweerde A (2003) From system goals to software architecture. Formal Methods for Software Architectures 2804:25–43

    Google Scholar 

  33. Yu E, Mylopoulos J (1994) Understanding why in software process modelling, analysis, and design. In: Proceedings 16th International Conference on Software Engineering, pp 159–168

    Google Scholar 

  34. Zhao J (1997) Using Dependence Analysis to Support Software Architecture Understanding. In: Li M (ed) New Technologies on Computer Software, International Academic Publishers, pp 135–142

    Google Scholar 

Download references

Acknowledgments

The authors would like to thank the anonymous reviewers for their valuable comments that greatly helped improve the presentation of this chapter.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Lawrence Chung .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Chung, L. et al. (2011). Goal-Oriented Software Architecting. In: Avgeriou, P., Grundy, J., Hall, J.G., Lago, P., Mistrík, I. (eds) Relating Software Requirements and Architectures. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21001-3_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-21001-3_7

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-21000-6

  • Online ISBN: 978-3-642-21001-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics