Skip to main content

Emerging Issues in Relating Software Requirements and Architecture

  • Chapter
  • First Online:
Relating Software Requirements and Architectures
  • 1320 Accesses

Abstract

Many of the previous chapters have touched on, some in detail, the issue of whether we should develop a set of software requirements first and then an architecture for a system based on these requirements, or whether available architectural and technological platforms must be considered when actually eliciting, documenting and using requirements. Traditional wisdom has been that requirements for a system are captured and then a suitable architecture developed to fulfill these [2, 6]. As we have seen, many application domains, development approaches and technology solutions challenge this approach. For example, an understanding of architectural characteristics and technologies available for a problem domain are useful when discussing possible requirements with stakeholders e.g. what is actually feasible and what is not [3]. Similarly, many approaches have adopted round-trip engineering between requirements and architecting where enhancing or changing one necessarily impacts greatly the other. Many of the previous chapters indicate that the field is moving towards a view that requirements and architecture for a software system are necessarily closely related and therefore often need to be engineered, if not in parallel, then closely informing one another in an iterative manner. Some domains the notion of what the requirements are or what the available technology solutions to architect are ill-defined. Open source projects are an example where requirements are often organic and emerge from user communities over time. Rapid technology change fields like consumer appliance engineering and cloud computing similarly have architectures and technologies rapidly changing during development. Some applications have requirements that are difficult to anticipate during development e.g. social networking applications and mash-ups where an application may be composed of parts and the “requirements” both dynamic and run-time emergent from stakeholders.

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. Amoui M, Mirarab S, Ansari S, Lucas C (2006) A GA approach to design evolution using design pattern transformation. Int J Inf Technol Intell Comput 1:235–245

    Google Scholar 

  2. Bass L, Clements P, Kazman R (2003) Software architecture in practice, 2nd edn. Prentice Hall, Reading

    Google Scholar 

  3. Cheng B, de Lemos R, Giese H, Inverardi P, Magee J (2009) Software engineering for self-adaptive systems: a research roadmap. In: Cheng BHC, Lemos R de, Giese H, Inverardi P, Magee J (eds) Software engineering for self-adaptive systems. Lecture notes in computer science, vol 5525. Springer, Amsterdam

    Google Scholar 

  4. Emmerich W (2000) Software engineering and middleware: a road map. In: Finkelstein A (ed) Future of software engineering. ACM Press, New York

    Google Scholar 

  5. Erdogmus H, Boehm B, Harriosn W, Reifer DJ, Sullivan KJ (2002) Software engineering economics: background, current practices, and future directions. In: Proceeding of 24th international conference on software engineering. Orlando

    Google Scholar 

  6. Hull E, Jackson K, Dick J (2010) Requirements engineering. Springer Verlag, Berlin

    MATH  Google Scholar 

  7. Larman C (2004) Agile and iterative development: a manager’s guide. Addison-Wesley, Reading

    Google Scholar 

  8. Menascé DA, Sousa JP, Malek S, Gomaa H (2010) QoS architectural patterns for self-architecting software systems. In: Proceedings of the 7th international conference on autonomic computing and communications. ACM Press, Washington DC, USA, p 195

    Google Scholar 

  9. Nuseibeh B(2001) Weaving the software development process between requirements and architectures. In: Proceedings of STRAW 01 the first international workshop from software, Toronto

    Google Scholar 

  10. Selonen P, Koskimies K, Systä T (2001) Generating structured implementation schemes from UML sequence diagrams. In: QiaYun L, Riehle R, Pour G, Meyer B (eds) Proceedings of TOOLS 2001. IEEE CS Press, California, USA, p 317

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to J. Grundy .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Grundy, J., Avgeriou, P., Hall, J., Lago, P., Mistrik, I. (2011). Emerging Issues in Relating Software Requirements and Architecture. 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_17

Download citation

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

  • 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