Improving software quality by improving architecture management

For a software-intensive system, software quality measures how well the software is designed and how well the software conforms to that design, whereas architecture of a software system is typically defined as the fundamental organization of the system embodied in its components, their relationships to each other and the environment, and the principles governing the system's design and evolution. Obviously, as long as there were no software systems, governing their architecture was no problem at all; when there were only small systems, governing their architecture became a mild problem; and now we have gigantic software systems, and governing their architecture has become an equally gigantic problem (to paraphrase Edsger Dijkstra). In this paper we propose a unified approach to the problem of governing (or managing) the knowledge about architecture of software systems and demonstrate by example its impact on a certain software project. First we postulate that only the holistic approach that supports continuous integration and verification for all system architectural artifacts is one worth taking. Next we demonstrate by example how a concrete large software project being developed in an agile approach is being perceived using the model in question

[1]  Leon J. Osterweil,et al.  Software processes are software too , 1987, ISPW.

[2]  Robert B. France,et al.  A Generic Approach for Automatic Model Composition , 2008, MoDELS.

[3]  Fevzi Belli,et al.  View graphs for analysis and testing of programs at different abstraction levels , 2005, Ninth IEEE International Symposium on High-Assurance Systems Engineering (HASE'05).

[4]  Tom Mens,et al.  A Graph-Based Metamodel for Object-Oriented Software Metrics , 2002, Electron. Notes Theor. Comput. Sci..

[5]  Krzysztof Stencel,et al.  Stream Execution of Object Queries , 2010, FGIT-GDC/CA.

[6]  Philippe Kruchten,et al.  Building up and Exploiting Architectural Knowledge , 2005, 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05).

[7]  Robert Dabrowski,et al.  Software Is a Directed Multigraph , 2011, ECSA.

[8]  Volker Gruhn,et al.  State of the art in testing components , 2003, Third International Conference on Quality Software, 2003. Proceedings..

[9]  John Derrick,et al.  Model transformations across views , 2010, Sci. Comput. Program..

[10]  Marco Torchiano,et al.  On the effectiveness of the test-first approach to programming , 2005, IEEE Transactions on Software Engineering.

[11]  James D. Herbsleb,et al.  Collaboration In Software Engineering Projects: A Theory Of Coordination , 2006, ICIS.

[12]  Bran Selic,et al.  Modelling Foundations and Applications - 6th European Conference, ECMFA 2010, Paris, France, June 15-18, 2010. Proceedings , 2010, European Conference on Modelling Foundations and Applications.