Abstract
The engineering of enterprise software systems suffers from an inherent lack of creativity and innovation and is often left to user-centric incremental changes that are not often disruptive enough for business needs. A design-driven approach to systems creates opportunities for transformative evolution of such systems that are both immediate and futuristic in their impact. Software systems stability can be maintained and monitored during evolution utilizing architectural-level, program-level, and information-level stability metrics. Despite increasing complexities involved in the design, development, and testing of such large-scale software systems, they are often predicated by simple techniques for decomposition, generalization, and specification. However, as always they are much more difficult to merge back together in order to rationalize the entire architecture for the levels of confidence necessary during testing, deployment, and commissioning of these systems. mDSM, an extension to Design Structure Matrix (DSM) approach to software systems design and testing, is a methodology developed by the authors to address design-driven rationalization of such complex software system architectures.
Keywords
Note: The earlier results of this study (Sects. 2.4, 3.1, and 4.1) were published in Proceedings of the Twenty-sixth IEEE International Symposium on Software Reliability Engineering, Gaithersburg, MD, November 2–5, 2015.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Verganti, R, Design driven innovation, 3 Aug 2009, http://www.designdriveninnovation.com. Retrieved 20 May 2015
P.M. Senge, The fifth discipline: the art and practice of the learning organization (Doubleday/Currency, New York, 1990)
D. Carrington, Teaching software design and testing, in Frontiers in Education Conference, 1998. FIE ‘98. 28th Annual, vol 2, 4–7 Nov 1998, pp. 547, 550. doi:10.1109/FIE.1998.738732
S.S. Yau, J.J.-P. Tsai, A survey of software design techniques. IEEE Trans. Softw. Eng. SE-12(6), 713,721. doi:10.1109/TSE.1986.6312969
Introduction to OMG’s Unified Modeling Language® (UML®) (n.d.). Retrieved 12 Aug 2015
T. Gorschek, E. Tempero, L. Angelis. On the use of software design models in software development practice: an empirical investigation. J. Syst. Softw. 95, 176–193 (2014). doi:10.1016/j.jss.2014.03.082
L. Yu, D. Threm, S. Ramaswamy, Toward evolving self-organizing software systems: a complex system point of view, in Proceedings of the 24th International Conference on Industrial Engineering and Other Applications of Applied Intelligent Systems Conference on Modern Approaches in Applied Intelligence—Volume Part II (IEA/AIE’11), ed. by K.G. Mehrotra, C.K. Mohan, J.C. Oh, P.K. Varshney, M. Ali, vol. Part II (Springer, Berlin, Heidelberg, 2011), pp. 336–346
L. Luo, Software testing techniques: technology maturation and research strategy. Class report for (2001)
S.G. Eick, T.L. Graves, A.F. Karr, J.S. Marron, A. Mockus, Does code decay? Assessing the evidence from change management data. IEEE Trans. Softw. Eng. 27(1), 1–12 (2001)
P. Mohagheghi, R. Conradi, O.M. Killi, H. Schwarz, An empirical study of software reuse vs. defect-density and stability, in Proceedings of the 26th International Conference on Software Engineering (ACM Press, New York, 2004), pp. 282–292
T. Menzies, S. Williams, B. Boehm, J. Hihn, How to avoid drastic software process change (using stochastic stability), in Proceedings of the 31st International Conference on Software Engineering (ACM Press, New York, 2009), pp. 540–550
G. Leavens, M. Sitaraman, Foundations of Component-Based Systems (Cambridge University Press, Cambridge, 2000)
F. Dantas, Reuse vs. maintainability: revealing the impact of composition code properties, in Proceeding of the 33rd International Conference on Software Engineering (ACM Press, New York, 2011), pp. 1082–1085
E. Figueiredo, N. Cacho, C. Sant’Anna, M. Monteiro, U. Kulesza, A. Garcia, S. Soares, F. Ferrari, S. Khan, F. Filho, F. Dantas, Evolving software product lines with aspects: an empirical study on design stability, in Proceedings of the 30th International Conference on Software Engineering (ACM Press, New York, 2008), pp. 261–270
M.E. Fayad, A. Altman, An introduction to software stability. Commun. ACM 44(9), 95–98 (2001)
M.E. Fayad, Accomplishing software stability. Commun. ACM 45(1), 111–115 (2001)
M.E. Fayad, S.K. Singh, Software stability model: software product line engineering overhauled, in Proceedings of the 2010 Workshop on Knowledge-Oriented Product Line Engineering (ACM Press, New York, 2010), Article 4
P.E. Xavier, E.R. Naganathan, Productivity improvement in software projects using 2-dimensional probabilistic software stability model (PSSM). ACM SIGSOFT Softw. Eng. Notes 34(5), 1–3 (2009)
E.R. Naganathan, P.E. Xavier, Architecting autonomic computing systems through probabilistic software stability model (PSSM), in Proceedings of International Conference on Interaction Sciences (IEEE Computer Society Press, Washington, DC, 2009), pp. 643–648
D. Grosser, H.A. Sahraoui, P. Valtchev, Predicting software stability using case-based reasoning, in Proceedings of the 17th IEEE International Conference on Automated Software Engineering (ACM Press, New York, 2002), pp. 295–298
J. Bevan, E.J. Whitehead, Identification of software instabilities, in Proceedings of the 10th Working Conference on Reverse Engineering (IEEE Computer Society Press, Washington, DC, 2003), pp. 134–145
Z. Wang, D. Zhan, X. Xu, STCIM: a dynamic granularity oriented and stability based component identification method. ACM SIGSOFT Softw. Eng. Notes 31(3), 1–14 (2006)
H.S. Hamza, Separation of concerns for evolving systems: a stability-driven approach, in Proceedings of 2005 Workshop on Modeling and Analysis of Concerns in Software (ACM Press, New York, NY, 2005), pp. 1–5
S.S. Yau, J.S. Collofello, Some stability measures for software maintenance. IEEE Trans. Softw. Eng. 6(6), 545–552 (1980)
S.S. Yau, J.S. Collofello, Design stability measures for software maintenance. IEEE Trans. Softw. Eng. 11(9), 849–856 (1985)
T. Nakamura, V.R. Basili, Metrics of software architecture changes based on structural distance, in Proceedings of IEEE International Software Metrics Symposium (IEEE Computer Society Press, Washington, DC, 2005), pp. 54–63
D. Kelly, A Study of design characteristics in evolving software using stability as a criterion. IEEE Trans. Softw. Eng. 32(5), 315–329 (2006)
L. Yu, S. Ramaswamy, Measuring the evolutionary stability of software systems: case studies of Linux and FreeBSD. IET Softw 3(1), 26–36 (2009)
L. Fortnow, Kolmogorov complexity, in Aspects of Complexity, Minicourses in Algorithmics, Complexity, and Computational Algebra (Walter De Gruyter Incorporation, 2001)
C. Bennett, P. Gacs, M. Li, P. Vitányi, W. Zurek, Information distance. IEEE Trans. Inf. Theory 44(7), 1407–1423 (1998)
M. Li, X. Chen, X. Li, B. Ma, P. Vitányi, The similarity metric. IEEE Trans. Inf. Theory 50(12), 3250–3264 (2004)
R. Cilibrasi, P. Vitányi, Clustering by compression. IEEE Trans. Inf. Theory 51(4), 1523–1545 (2005)
N. Tran, The normalized compression distance and image distinguishability, in Human Vision and Electronic Imaging, vol. XII (2007), 64921D
T. Arbuckle, A. Balaban, D.K. Peters, M. Lawford, Software documents: comparison and measurement, in Proceedings of the 19th International Conference on Software Engineering & Knowledge Engineering (Knowledge Systems Institute Graduate School, Skokie, 2007), pp. 740–745
T. Arbuckle, Visually summarizing software change, in Proceedings of the 12th International Conference on Information Visualisation (IEEE Computer Society Press, Washington, DC, 2008), pp. 559–568
T. Arbuckle, Measure software and its evolution using information content, in Proceedings of the Joint International and Annual ERCIM Workshops on Principles of Software Evolution and Software Evolution Workshops (ACM Press, New York, 2009), pp. 129–134
T. Arbuckle, Studying software evolution using artefacts’ shared information content. Sci. Comput. Program. 76(12), 1078–1097 (2011)
T. Arbuckle, Measuring multi-language software evolution: a case study, in Proceedings of the 12th International Workshop on Principles of Software Evolution and the 7th Annual ERCIM Workshop on Software Evolution (ACM Press, New York, 2011), pp. 91–95
S.D. Eppinger, T.R. Browning, Design Structure Matrix Methods and Applications, 1st edn, vol. 1 (MIT Press, Cambridge, 2012), number 0262017520
T.R. Browning, Applying the design structure matrix to system decomposition and integration problems: a review and new directions. IEEE Trans. Eng. Manage. 48(3), 292–306
A. Thurimella, S. Ramaswamy, On adopting multi-criteria decision-making approaches for variability management in software product lines, in First International Workshop on Requirements Engineering Practices On Software Product Line Engineering, 16th International Software Product Line Conference, Salvador, Brazil, 2–7 Sept 2012
A. Engel, T.R. Browning, Designing systems for adaptability by means of architecture options. Syst. Eng. 11, 125–146 (2008). doi:10.1002/sys.20090
T.B. Callo Arias, P. Spek, P. Avgeriou, A practice-driven systematic review of dependency analysis solutions. Empirical Softw. Eng. 16(5), 544–586
R.R. Yager, Intelligent control of the hierarchical agglomerative clustering process. IEEE Trans. Syst. Man Cybern. B 30, 835–845 (2000)
D. Aceituna, Do. Hyunsook, G.S. Walia, S.-W. Lee, Evaluating the use of model-based requirements verification method: a feasibility study, in Empirical Requirements Engineering (EmpiRE), 2011 First International Workshop on, 30 Aug 2011, pp. 13–20
Frequently Asked Questions. Apache Ant. N.p. (n.d.). Web. 6 Dec 2015
Apache Release History, Apache Release History. N.p. (n.d.). Web. 6 Dec 2015
A. Causevic, D. Sundmark, S. Punnekkat, An industrial survey on contemporary aspects of software testing, in Software Testing, Verification and Validation (ICST), 2010 Third International Conference on, 6–10 April 2010, pp. 393, 401. doi:10.1109/ICST.2010.52
M. Venkataraman, Testing services, 29 June 2015. Retrieved 2 Aug 2015
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer Science+Business Media Singapore
About this chapter
Cite this chapter
Threm, D., Yu, L., Sudarsan, S.D., Ramaswamy, S. (2017). mDSM: A Transformative Approach to Enterprise Software Systems Evolution. In: Mohanty, H., Mohanty, J., Balakrishnan, A. (eds) Trends in Software Testing. Springer, Singapore. https://doi.org/10.1007/978-981-10-1415-4_6
Download citation
DOI: https://doi.org/10.1007/978-981-10-1415-4_6
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-10-1414-7
Online ISBN: 978-981-10-1415-4
eBook Packages: EngineeringEngineering (R0)