The Community for Technology Leaders
RSS Icon
Issue No.03 - May/June (2010 vol.27)
pp: 63-65
Frank Buschmann , Siemens Corporate Technology
Kevlin Henney , independent consultant
What are the top five properties that make a software design elegant? That's a tough question that is not easy to answer. In this column we explore the first three of five properties leading architects have found useful: economy, visibility, spacing, symmetry, and emergence. All five properties help with a lean and expressive modularization of architecture, avoid unnecessary design clutter, and support a clear and meaningful separation of concerns where each distinct concept is clearly identifiable and tangible. All together the properties provide a value system that can broadly guide architects' design decisions
architecture economy, architecture elegance, architecture expressiveness, modularization, separation of concern
Frank Buschmann, Kevlin Henney, "Five Considerations for Software Architecture, Part 1", IEEE Software, vol.27, no. 3, pp. 63-65, May/June 2010, doi:10.1109/MS.2010.72
1. F. Buschmann, "Learning from Failure, Part 2: Performitis, and Other Diseases," IEEE Software, vol. 27, no. 1, 2010, pp. 10–11.
2. F. Buschmann, "Learning from Failure, Part 3: On Hammers and Nails, and Falling in Love with Technology and Design," IEEE Software, vol. 27, no. 2, 2010, pp. 49–51.
3. F. Buschmann, K. Henney, and D.C. Schmidt, Pattern-Oriented Software Architecture—A Pattern Language for Distributed Computing, vol. 4, John Wiley & Sons, 2007.
4. K. Henney, "Simplicity before Generality, Use before Reuse," 97 Things Every Software Architect Should Know, Richard Monson-Haefel, ed., O'Reilly, 2009, pp. 36–37.
5. K. Beck, Test-Driven Development: By Example, Addison-Wesley Professional, 2002.
6. R. Wirfs-Brock and A. McKean, Object Design: Roles, Responsibilities, and Collaborations, Addison-Wesley, 2002.
7. E. Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software, Addison-Wesley, 2004.
8. D.M. Weiss and C.T.R. Lai, Software Product-Line Engineering: A Family-Based Software Development Process, Addison-Wesley, 1999.
3 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool