Research Article | Open Access | Download PDF
Volume 12 | Issue 1 | Year 2022 | Article Id. IJCOT-V12I1P302 | DOI : https://doi.org/10.14445/22492593/IJCOT-V12I1P302
On Software Modular Architecture: Concepts, Metrics and Trends
Software, Software Architecture, Modular Architecture, Modularity Metrics.
Received | Revised | Accepted |
---|---|---|
10 Feb 2022 | 22 Mar 2022 | 26 Mar 2022 |
Citation :
Software, Software Architecture, Modular Architecture, Modularity Metrics., "On Software Modular Architecture: Concepts, Metrics and Trends," International Journal of Computer & Organization Trends (IJCOT), vol. 12, no. 1, pp. 3-10, 2022. Crossref, https://doi.org/10.14445/22492593/IJCOT-V12I1P302
Abstract
The emergence of digital computers at the tail end of the last century allowed for the evolution of computer languages from low-level languages of the 1940s to the object-oriented, scripting high-level languages of today. This evolution has, in effect, seen the size and complexity of computer programs increase by a large factor. The software industry has, in response, developed different styles for designing and developing these sophisticated computer programs. While the different styles have advantages and disadvantages and different application domains, modular architecture has stood out as an overarching architecture for designing complicated and enormous software systems of today's world. In this paper, we examine how modularity applies to software architecture design, the concepts of modularity, the metrics of modularity, and current trends in software modularization. We advance the position that modularity will keep influencing software design for the foreseeable future due to the flexibility and the several advantages to the discipline of software design.
Keywords
Software,
Software Architecture, Modular Architecture, Modularity Metrics.
References
[1]
(2021). Britannica T, Editors of Encyclopaedia, Software. Encyclopedia
Britannica. [Online]. Available: https://www.britannica.com/technology/software
[2] Garlan D, & Shaw M, An Introduction to Software
Architecture. In Advances in Software Engineering and Knowledge Engineering.
(1993) 1-39.
[3] (2010). Chapter 3: Architectural Patterns and Styles.
[Online].
Available:https://docs.microsoft.com/en-us/previous-versions/msp-n-p/ee658117(v=pandp.10)?redirectedfrom=MSDN
[4] (2014). Rengaiah P, On Modular Architectures. Medium.
[Online].
Available:https://medium.com/on-software-architecture/on-modular-architectures-53ec61f88ff4.
[5] (2021). Accelerator (software) - Wikipedia. [Online].
Available: https://en.wikipedia.org/wiki/Accelerator_(software)
[6] Mehta M. R, Lee S, & Shah J. R, Service-Oriented
Architecture: Concepts and Implementation. In Proceedings of the Information
Systems Education Conference (ISECON). 23(2335) (2006) 1.
[7] Tutisani T, Effective Software Development for Enterprise
Beyond DDD, Software Architecture, and XP 1st edition: Leanpub. (2020).
[8] Narduzzo A, & Rossi A, Modular Design and the
Development of Complex Artefacts: Lessons from Free/Open Source Software,
Quaderno, DISA. 78 (2003).
[9] Knoernschild K, Java Application Architecture: Modularity
Patterns with Examples Using OSGi. Prentice-Hall Press. (2012).
[10] (2021). Tutorialspoint, Software Architecture & Design
Tutorial - Tutorialspoint. [Online] Available:
https://www.tutorialspoint.com/software_architecture_design/index.htm
[11] Giakoumidis N, Bak J. U, Gómez J. V, Llenga A, &
Mavridis N, Pilot-Scale Development of a UAV-UGV Hybrid with Air-Based UGV Path
Planning. In 2012 10th International Conference on Frontiers of Information
Technology IEEE. (2012) 204-208.
[12] Schilling M. A, Toward a General Modular Systems Theory and
its Application to Interfirm Product Modularity, Academy of Management Review.
25(2) (2000) 312-334.
[13] (2020). Mustafic A, Modular Application Architecture.
[Online]. Available: Goetas.com
https://www.goetas.com/modular-application-architecture-intro
[14] (2021). Package Development - Laravel - The PHP Framework
for Web Artisans. [Online]. Available: https://laravel.com/docs/8.x/packages
[15] Soothram S, Efficient Techniques for Partitioning Software
Development Tasks. (2010).
[16] (2021). Kibabii, Kibabii University. [Online]. Available:
https://kibu.ac.ke/kibu-automation-dream-accomplished-in-2019-2020-academic-year.
[17] (2021). Moodle, Moodle Plugins Directory. [Online].
Available: Moodle.org https://moodle.org/plugins
[18] (2021). OpenMRS I, OpenMRS. [Online]. Available:
Openmrs.org https://openmrs.org
[19] (2020). Brinkman S, & Delamore D, The 5 Essential
Elements of Modular Software Design, Medium. [Online]. Available:
https://shanebdavis.medium.com/the-5-essential-elements-of-modular-software-design-6b333918e543.
[20] Nesnas I. A. D, Simmons R, Gaines D, Kunz C, Diaz-Calderon
A, Estlin T, Madison R, Guineau J, McHenry M, Shu I.-H, & Apfelbaum D,
CLARAty: Challenges and Steps toward Reusable Robotic Software, International
Journal of Advanced Robotic Systems. (2006). https://doi.org/10.5772/5766
[21] Sant’Anna C, Figueiredo E, Garcia A, & Lucena C. J, On
the Modularity of Software Architectures: A Concern-Driven Measurement
Framework. In European Conference on Software Architecture, Springer, Berlin,
Heidelberg. (2007) 207-224.
[22] Santos D, de Resende A. M. P, Lima E. C, & Freire A. P,
Software Instability Analysis Based on Afferent and Efferent Coupling Measures.
J. Softw., 12(1) (2017).
[23] Budd T, Introduction to Object-Oriented Programming,
Pearson Education India. (2008).
[24] Page-Jones M, The Practical Guide to Structured Systems
Design. Yourdon Press. (1988).
[25] (2021). Coupling (computer programming) - Wikipedia.
[Online]. Available:
https://en.wikipedia.org/wiki/Coupling_(computer_programming)
[26] Northrop L, Trends and New Directions in Software
Architecture, Carnegie-Mellon Univ Pittsburgh PA Software Engineering Inst.
(2014)
[27] Woods E, Software Architecture in a Changing World, IEEE
Software. 33(6) (2016) 94-97.
[28] Garlan D, Software Architecture: A Travelogue, In Future of
Software Engineering Proceedings. (2014) 29-39.