Home   >   CSC-OpenAccess Library   >    Manuscript Information
MVC Architecture from Maintenance Quality Attributes Perspective
Safia Nahhas
Pages - 169 - 180     |    Revised - 30-09-2021     |    Published - 31-10-2021
Volume - 15   Issue - 5    |    Publication Date - October 2021  Table of Contents
MORE INFORMATION
KEYWORDS
MVC Architecture, Maintainability, Modifiability, Modularity, Extensibility, Reusability, Flexibility, Testability.
ABSTRACT
This paper provides an explanatory study on MVC (Model-View-Controller) architecture from the perspective of maintenance. It aims to answer a knowledge question about how MVC architecture supports the maintainability quality attributes. This knowledge boosts the potential of utilizing the maintainability of MVC from several sides. To fulfill this purpose, we investigate the main mechanism of MVC with focusing on maintainability quality attributes. Accordingly, we form and discuss MMERFT maintainability set that consists of Modifiability, Modularity, Extensibility, Reusability, Flexibility, and Testability. Besides investigating the mechanism of MVC regarding MMERFT quality attributes, we explain how MVC supports maintainability by examining measures and approaches such as: complexity of code by using a cyclomatic approach, re-engineering process, use of components, time needed to detect bugs, number of code lines, parallel maintenance, automation, massive assignment, and others. Therefore, this paper is dedicated to providing a concrete view of how MVC gets along with maintainability aspects in general and its several attributes particularly. This view helps to maximize the opportunity of taking advantage of MVC's maintainability features that can encourage reconsidering the maintenance decisions and the corresponding estimated cost. The study focuses on maintainability since software that has high maintainability will have the opportunity to evolve, and consequently, it will have a longer life. Our study shows that MVC generally supports maintainability and its attributes, and it is a recommended choice when maintenance is a priority.
1 Semantic Scholar 
2 refSeek 
3 Doc Player 
4 J-Gate 
5 Scribd 
6 SlideShare 
Akbar, M., & Handriani, I. (2018). Study and Implementation Information System of Zakat using MVC Architecture. Paper presented at the IOP Conference Series: Materials Science and Engineering.
Al Dallal, J. (2009). Software similarity-based functional cohesion metric. IET software, 3(1), 46-57.
Algestam, H., Offesson, M., & Lundberg, L. (2002). Using components to increase maintainability in a large telecommunication system. Paper presented at the Ninth Asia-Pacific Software Engineering Conference, 2002.
Alkhatib, G. (1992). The maintenance problem of application software: An empirical analysis. Journal of Software Maintenance: Research and Practice, 4(2), 83-104.
Barrett, R., & Delany, S. J. (2004). OpenMVC: a non-proprietry component-based framework for web applications. Paper presented at the Proceedings of the 13th international World Wide Web conference on Alternate track papers & posters.
Bass, L., Clements, P., & Kazman, R. (2013). Software Architecture in Practice. In: Pearson.
Chen, J.-C., & Huang, S.-J. (2009). An empirical analysis of the impact of software development problem factors on software maintainability. Journal of Systems and Software, 82(6), 981-992.
Cobaleda, L.-V., Mazo, R., Becerra, J. L. R., & Duitama, J.-F. (2016). Reference software architecture for improving modifiability of personalised web applications-a controlled experiment. International Journal of Web Engineering and Technology, 11(4), 351-370.
Cui, W., Huang, L., Liang, L., & Li, J. (2009). The research of PHP development framework based on MVC pattern. Paper presented at the 2009 Fourth International Conference on Computer Sciences and Convergence Information Technology.
Deinum, M., Serneels, K., Yates, C., Ladd, S., Vervaet, E., & Vanfleteren, C. (2012). Pro Spring MVC: With Web Flow: Apress.
Feiler, P. H. (1993). Reengineering: An engineering problem.
Freeman, A., & Sanderson, S. (2011). The MVC Pattern. In Pro ASP. NET MVC 3 Framework (pp. 63-88): Springer.
Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1993). Design patterns: Abstraction and reuse of object-oriented design. Paper presented at the European Conference on Object-Oriented Programming.
Gining, R. A. J., Fauzi, S. S. M., Jamaluddin, N. F., Azmi, N. A. M., Hashim, M. A., Fuzi, M. F. M., & Ibrahim, A. F. (2018). Adaptation of. NET MVC Framework in Developing an Agriculture Sources Inventory System. Journal of Computing Research and Innovation, 3(3), 6-13.
Grove, R. F., & Ozkan, E. (2011). The MVC-web Design Pattern. Paper presented at the WEBIST.
Gupta, P., & Govil, M. C. (2010). MVC Design Pattern for the multi framework distributed applications using XML, spring and struts framework. International Journal on Computer Science and Engineering, 2(04), 1047-1051.
Hayes, J. H., Patel, S. C., & Zhao, L. (2004). A metrics-based software maintenance effort model. Paper presented at the Eighth European Conference on Software Maintenance and Reengineering, 2004. CSMR 2004. Proceedings.
Henttonen, K., Matinlassi, M., Niemelä, E., & Kanstrén, T. (2007). Integrability and extensibility evaluation from software architectural models–A case study. The Open Software Engineering Journal, 1(1).
Ibrahim, E. (2009). ASP. NET MVC 1.0 Test Driven Development: Problem-Design-Solution: Wrox Press Ltd.
Jegarkandy, S. S., & Ramsin, R. (2016). Assessing the suitability of architectural patterns for use in agile software development. In: PATTERNS.
Kaur, A., Kaur, P., & Kaushal, P. (2020). Maintainability Procedure in Component-Based Software. Journal of Computational and Theoretical Nanoscience, 17(11), 5156-5161.
Kazman, R., Bianco, P., Ivers, J., & Klein, J. (2020). Maintainability.
Kumar, A., Kumar, R., & Grover, P. (2007). An evaluation of maintainability of aspect-oriented systems: a practical approach. International Journal of Computer Science and Security, 1(2), 1-9.
Majeed, A., & Rauf, I. (2018). MVC architecture: a detailed insight to the modern web applications development. Peer Review Journal of Solar & Photoenergy Systems, 1(1), 1-7.
Molnar, A.-J., & Motogna, S. (2020). A Study of Maintainability in Evolving Open-Source Software. arXiv preprint arXiv:2009.00959.
Morales-Chaparro, R., Linaje, M., Preciado, J., & Sánchez-Figueroa, F. (2007). MVC web design patterns and rich internet applications. Proceedings of the Jornadas de Ingenieria del Software y Bases de Datos, 39-46.
Nitze, A., & Schmietendorf, A. (2014). Modularity of javascript libraries and frameworks in modern web applications. Paper presented at the Selected Topics to the User Conference on Software Quality, Test and Innovation.
Otero, C. (2012). Software engineering design: theory and practice: CRC Press.
Prochazka, J. (2011). Agile support and Maintenance of IT services. In Information Systems Development (pp. 597-609): Springer.
Qian, K., Fu, X., Tao, L., & Xu, C.-w. (2010). Software architecture and design illuminated: Jones & Bartlett Learning.
Rahmati, Z., & Tanhaei, M. (2021). Ensuring software maintainability at software architecture level using architectural patterns. AUT Journal of Mathematics and Computing, 2(1), 81-102.
Rosenberg, L. H., & Hyatt, L. E. (1996). Software re-engineering. Software Assurance Technology Center, 2-3.
Safronov, M., & Winesett, J. (2014). Web application development with Yii 2 and PHP: Packt Publishing Ltd.
Sanderson, S. (2009). ASP. Net MVC Framework Preview: Apress.
Seth, K., Sharma, A., & Seth, A. (2009). Component selection efforts estimation–a fuzzy logic based approach. International Journal of Computer Science and Security,(IJCSS), 3(3), 210-215.
Sharma, A., Kumar, R., & Grover, P. (2007). Managing component-based systems with reusable components. International Journal of Computer Science and Security, 1(2), 52-57.
Shekhar, S. (1998). Perfective Maintenance & Extensibility. Retrieved from http://www-users.cs.umn.edu/~shekhar/5180/notes/ch13.html
WAGHMARE, D. V., & ADKAR, P. (2019). Agile Development using Ruby on Rails Framework.
Wang, Y., Guo, C., & Song, L. (2009). Architecture of E-Commerce Systems Based on J2EE and MVC Pattern. Paper presented at the 2009 International Conference on Management of e-Commerce and e-Government.
Wieringa, R. J. (2014). Design science methodology for information systems and software engineering: Springer.
Winesett, J. (2012). Web Application development with Yii and PHP: Packt Publishing Ltd.
Xu, B., & Liao, Y. (2021). The Online Exam System Research Based on the MVC Framework. Paper presented at the 2021 IEEE 4th Advanced Information Management, Communicates, Electronic and Automation Control Conference (IMCEC).
Yaganteeswarudu, A., & VishnuVardhan, Y. (2017). Software appication to prevent suicides of farmers with asp. net MVC. Paper presented at the 2017 7th International Conference on Cloud Computing, Data Science & Engineering-Confluence.
Zhang, H. (2009). An investigation of the relationships between lines of code and defects. Paper presented at the 2009 IEEE International Conference on Software Maintenance.
Zhang, X., & Zhang, Z. (2016). Research on Web Development Paradigm based on MVC Pattern and Agile Development Mode. Paper presented at the 2016 5th International Conference on Advanced Materials and Computer Science (ICAMCS 2016).
Zimmerer, P. (2006). Insights in Real Test-Driven Development. Paper presented at the Conference of the Association for Software Testing (CAST), Indianapolis, Indiana, USA.
Dr. Safia Nahhas
Faculty of Computing and Information Technology, King Abdulaziz University, Jeddah 21577 - Saudi Arabia
nahhas.safia@gmail.com