IJCOT-book-cover International Journal of Computer & Organization Trends  (IJCOT)          
 
© 2022 by IJCOT Journal
Volume - 12 Issue - 1
Year of Publication : 2022
Authors : Mbugua Samuel Thaiya, Korongo Julia, Samuel Mbugua
DOI : 10.14445/22492593/IJCOT-V12I1P302

Citation

MLA Style: Mbugua Samuel Thaiya, et al.  "On Software Modular Architecture: Concepts, Metrics and Trends" International Journal of Computer and Organization Trends, vol. 12, no. 1, Jan-Apr. 2022, pp. 3-10.  Crossref, https://doi.org/10.14445/22492593/IJCOT-V12I1P302

APA Style: Mbugua Samuel Thaiya, Korongo Julia, Samuel Mbugua (2022). On Software Modular Architecture: Concepts, Metrics and Trends. International Journal of Computer and Organization Trends, 12(1), 3-10. 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.