Abstract
The main challenge of software engineering has always been to bring software complexity under control. Different kinds of abstractions have been devised and applied for that purpose at different levels of software design. Some of them have proven successful, such as function hierarchies, layers, API’s, abstract classes, encapsulation, interfaces etc. and are widely used in practice. Concepts from the genre of software architecture should also help to manage software complexity. We argue that, before architecture decisions and architecture decision-making become a common industrial practice, they have to support software complexity management much more efficiently than at present. Despite the substantial progress already made, it is still a major challenge both in theory (architecture decisions representation and architecture decision-making methods) and practice (tool support).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Brooks, F.P.: The Mythical Man-Month: Essays on Software Engineering, 2nd Anniversary edn. Addison-Wesley Professional, Reading (1995)
Bosch, J., Jansen, A.: Software Architecture as a Set of Architectural Design Decisions. In: WICSA 2005, pp. 109–120. IEEE Computer Society, Los Alamitos (2005)
Tyree, J., Akerman, A.: Architecture Decisions: Demystifying Architecture. IEEE Software (2005)
Kruchten, P.: The 4+1 View Model of Architecture. IEEE Software 12, 45–50 (1995)
Harrison, N.B., Avgeriou, P., Zdun, U.: Using Patterns to Capture Architectural Decisions. IEEE Software 24(4), 38–45 (2007)
Ali Babar, M., et al.: Architecture knowledge management. Theory and Practice. Springer, Heidelberg (2009)
Capilla, R., et al.: A Web-Based Tool for Managing Architectural Design Decisions. In: Proc. SHARK 2006, Software Eng. Notes. ACM SIGSOFT, vol. 31(5) (2006)
Zimmermann, O., et al.: Managing architectural decision models with dependency relations, integrity constraints, and production rules. Journal of Systems and Software 82(8), 1249–1267 (2009)
Avgeriou, P., Zdun, U.: Architectural patterns revisited - a pattern language. In: 10th European Conference on Pattern Languages of Programs (EuroPlop 2005), Irsee, Germany (2005)
Ran, A., Kuusela, J.: Design decision trees. In: Eighth International Workshop on Software Specification and Design, pp. 172–175 (1996)
Workshop summary: Patterns for decision-making in architectural design, Conference on Object Oriented Programming Systems Languages and Applications, pp. 132-137 (1995)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Zalewski, A., Kijas, S. (2010). Architecture Decision-Making in Support of Complexity Control. In: Babar, M.A., Gorton, I. (eds) Software Architecture. ECSA 2010. Lecture Notes in Computer Science, vol 6285. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-15114-9_50
Download citation
DOI: https://doi.org/10.1007/978-3-642-15114-9_50
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-15113-2
Online ISBN: 978-3-642-15114-9
eBook Packages: Computer ScienceComputer Science (R0)