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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
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
Bass L, Clements P, Kazman R (2003) Software architecture in practice, 2nd edn. Prentice Hall, Reading
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
Emmerich W (2000) Software engineering and middleware: a road map. In: Finkelstein A (ed) Future of software engineering. ACM Press, New York
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
Hull E, Jackson K, Dick J (2010) Requirements engineering. Springer Verlag, Berlin
Larman C (2004) Agile and iterative development: a manager’s guide. Addison-Wesley, Reading
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
Nuseibeh B(2001) Weaving the software development process between requirements and architectures. In: Proceedings of STRAW 01 the first international workshop from software, Toronto
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
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)