Abstract
Although Software Architecture appears to be a widely discovered field, in fact it represents a rather young and still maturing discipline. One of its essential topics which still need special consideration is systematic software architecture design. This chapter illustrates a set of proven practices as well as a conceptual method that help software engineers classify and prioritize requirements which then serve as drivers for architecture design. All design activities follow the approach of piecemeal growth.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Cockburn A (2000) Writing effective use cases. Addison-Wesley, New York
Bass L, Clements P, Kazman R (2003) Software architecture in practice, 2nd edn. Addison-Wesley, Boston
Evans E (2003) Domain-driven design: tackling complexity in the heart of software. Addison-Wesley, New York
Buschmann F, Meunier R, Rohnert H, Sommerlad P, Stal M (1996) Pattern-oriented software architecture, volume 1 – a system of patterns. Wiley, Chichester
Schmidt DC, Stal M, Rohnert H, Buschmann F (2000) Pattern-oriented software architecture, volume 2 – patterns for concurrent and networked objects. Wiley, Chichester
Weiss DM, Lai CTR (1999) Software product-line engineering: a family-based software development process. Addison-Wesley, New York
Petroski H (1992) To engineer is human – the role of failure in successful design, Reprint edn. Vintage, Chicago
Clemens P, Kazman R, Klein M (2002) Evaluating software architectures: methods and case studies. Addison Wesley, New York
Maranzano JF, Rozsypal SA, Zimmermann GH, Warnken GW, Wirth PA, Weiss DM (2005) Architecture reviews: practice and experience. IEEE Softw 22(2):34–43
Bosch J (2000) Design and use of software architectures – adapting and evolving a product-line approach. Addison-Wesley, New York
Clements P, Northrop L (2001) Software product lines: practices and patterns. Addison-Wesley, New York
Constantine L, Lockwood L (1999) Software for use: a practical guide to the models and methods of usage-centred design. Addison-Wesley, New York
Hohmann L (2003) Beyond software architecture – creating and sustaining winning solutions. Addison-Wesley, New York
Maier MW, Rechtin E (2000) The art of systems architecting. CRC Press, Boca Raton
Fowler M, Beck K, Brant J, Opdyke W, Roberts D (1999) Refactoring: improving the design of existing code. Addison-Wesley, New York
Beck K (1999) Extreme programming explained: embrace the change. Addison-Wesley, New York
Kruchten P (2000) The rational unified process, an introduction. Addison-Wesley, New York
Alexander C (1979) The timeless way of building. Oxford University Press, Oxford, UK
Gabriel RP (1996) Patterns of software. Oxford University Press, Oxford, UK
Gamma E, Helm R, Johnson R, Vlissides J (1995) Design patterns – elements of reusable object-oriented software. Addison-Wesley, New York
Pattern languages of program design (1995, 1996, 1997, 1999), vols 1–4. Addison-Wesley, New York
Rozanski N, Woods E (2008) Software systems architecture. Addison-Wesley, New York
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
Stal, M. (2011). Onions, Pyramids & Loops – From Requirements to Software 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_16
Download citation
DOI: https://doi.org/10.1007/978-3-642-21001-3_16
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)