ABSTRACT
System builders have historically used informal software architecture models to understand options, make choices, and communicate with others. Research into software architecture over the past fifteen years has indicated that more precise architecture models may be beneficial. At a large financial firm, we applied precise software architecture techniques on four software projects and this experience has revealed a number of practical issues. We made the following observations across the projects: 1) Architecture models can be used to bridge gaps between business requirements and technology, 2) A small collection of techniques and a detail knob are practical and useful in a variety of projects, 3) Architecture modeling techniques amplify the skills of the architects, 4) A model of domain concepts and relationships is helpful when building architecture models, and 5) It is difficult to know when to stop adding detail to your architecture model. We believe that these observations motivate future research and can help practitioners make software architecture more effective in practice.
- Len Bass, Paul Clements, and Rick Kazman. Software Architecture in Practice. Addison-Wesley, 1998. Google Scholar
Digital Library
- John Cheesman and John Daniels. UML Components: A Simple Process for Specifying Component-Based Software. Addison-Wesley, 2000. Google Scholar
Digital Library
- Paul Clements, Felix Bachmann, Len Bass, David Garlan, James Ivers, Reed Little, Robert Nord, and Judith Stafford. Documenting Software Architectures: Views and Beyond. Addison-Wesley, 2002. Google Scholar
Digital Library
- Desmond F. D'Souza and Alan Cameron Wills. Objects, Components and Frameworks With UML: The Catalysis Approach. Addison-Wesley, 1998. Google Scholar
Digital Library
- Why can't they create architecture models like "Developer X"?: an experience report. In ICSE '03: Proceedings of the 25th International Conference on Software Engineering, pages 548--552, 2003. Google Scholar
Digital Library
- David Garlan, Robert T. Monroe, and David Wile. Acme: Architectural description of component-based systems. In Gary T. Leavens and Murali Sitaraman, editors, Foundations of Component-Based Systems, chapter 3, pages 47--67. Cambridge University Press, 2000. Google Scholar
Digital Library
- Christine Hofmeister, Robert Nord, and Dilip Soni. Applied Software Architecture. Addison-Wesley, 2000. Google Scholar
Digital Library
- Michael Jackson. Problem Frames: Analyzing and Structuring Software Development Problems. Addison-Wesley, 2000. Google Scholar
Digital Library
- Rick Kazman, Mark Klein, and Paul Clements. ATAM: Method for architecture evaluation. Technical Report CMU/SEI-2000-TR-004, Carnegie Mellon University / Software Engineering Institute, 2000.Google Scholar
Cross Ref
- Jeff Kramer and Jeff Magee. Engineering distributed software: a structural discipline. In ESEC/FSE-13: Proceedings of the 10th European Software Engineering Conference and 13th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pages 283--285, 2005. Google Scholar
Digital Library
- Emmanuel Letier and Axel van Lamsweerde. Reasoning about partial goal satisfaction for requirements and design engineering. In SIGSOFT '04/FSE-12: Proceedings of the 12th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pages 53--62, 2004. Google Scholar
Digital Library
- Martin Ould. Business Processes - Modeling and Analysis for Re-engineering and Improvement. John Wiley and Sons, 1995.Google Scholar
- Samuel Redwine, Jr. and William Riddle. Software technology maturation. In ICSE '85: Proceedings of the 8th International Conference on Software Engineering, pages 189--200, Los Alamitos, CA, USA, 1985. Google Scholar
Digital Library
- Jim Rumbaugh, Ivar Jacobson, and Grady Booch. The Unified Modeling Language Reference Manual. Addison-Wesley, 1998. Google Scholar
Digital Library
- Mary Shaw and David Garlan. Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, 1996. Google Scholar
Digital Library
- Ian Sommerville. Software Engineering. Addison-Wesley, 7th edition, 2004. Google Scholar
Digital Library
Index Terms
- Software architecture at a large financial firm
Recommendations
Software architecture: reflections on an evolving discipline
ESEC/FSE '11: Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineeringSoftware Architecture emerged in the 1990's as an important sub-field of software engineering. While good architectural design had long been recognized as critical to the success of any complex software system, before then the practice of architecting ...
A Review on Software Architecture Styles with Layered Robotic Software Architecture
ICCUBEA '15: Proceedings of the 2015 International Conference on Computing Communication Control and AutomationThis paper provides an introduction to the field of software engineering requires facility in architectural software design. The goal is to demonstrate the current state of the discipline and examine the ways in which architectural design can impact ...
What is software architecture?
SAICSIT '12: Proceedings of the South African Institute for Computer Scientists and Information Technologists ConferenceCurrently there is no consensus on what exactly software architecture is or where the boundary between software architecture design and application design lies. In this paper the concept of a software architecture is analyzed from a number of different ...




Comments