Institutional-Repository, University of Moratuwa.  

An Analysis of gof software design patterns on software maintainability in micro services

Show simple item record

dc.contributor.advisor Perera, I
dc.contributor.author Rathnayake, RMHSB
dc.date.accessioned 2025-02-03T08:00:29Z
dc.date.available 2025-02-03T08:00:29Z
dc.date.issued 2023
dc.identifier.citation Rathnayake, R.M.H.S.B. (2023). An Analysis of gof software design patterns on software maintainability in micro services [Master's theses, University of Moratuwa]. Institutional Repository University of Moratuwa. http://dl.lib.uom.lk/handle/123/23387
dc.identifier.uri http://dl.lib.uom.lk/handle/123/23387
dc.description.abstract The purpose of this paper is to identify how gang of four design patterns impact the maintainability of micro services-based systems. Design patterns were introduced as solutions to common problems that occur in programming. These are supposed to improve the maintainability of a system by improving the code quality. But with modern programming languages, frameworks, and integrated development environments, whether these patterns serve their purpose is a question that is not fully addressed. This paper proposes a tool that can be used to identify whether use of a specific design pattern by a specific developer for a particular micro service-based project can improve its maintainability or not. To do this a model has been created by analyzing enterprise micro service-based applications and gathering data from developers who were involved in the development of those projects. This data is used to create models for maintainability metrices coupling, lack of cohesion, duplication and cyclomatic complexity. This tool will help to decide whether the system is more maintainable with or without the use of selected design patterns. This helps better decision making in deciding how to write new code or refactoring existing code. Results of this research have shown that lack of cohesion is not affected by developer experience, design patterns or the language used in enterprise micro service-based applications. Cyclomatic complexity was only affected by the language used. Also, use of certain design patterns decreased the coupling in the system. But some of the design patterns caused duplications to be increased. So, the results showed that use of design patterns can have a negative and positive impact on the maintainability of a microservice depending on the design pattern used. This research also emphasizes the importance of code review process and code quality analysis automation. Keywords: GOF design patterns, micro services, software maintainability en_US
dc.language.iso en en_US
dc.subject GOF DESIGN PATTERNS
dc.subject MICRO SERVICES
dc.subject SOFTWARE MAINTAINABILITY
dc.subject COMPUTER SCIENCE & ENGINEERING – Dissertation
dc.subject COMPUTER SCIENCE- Dissertation
dc.subject MSc in Computer Science
dc.title An Analysis of gof software design patterns on software maintainability in micro services en_US
dc.type Thesis-Abstract en_US
dc.identifier.faculty Engineering en_US
dc.identifier.degree MSc in Computer Science en_US
dc.identifier.department Department of Computer Science & Engineering en_US
dc.date.accept 2023
dc.identifier.accno TH5298 en_US


Files in this item

This item appears in the following Collection(s)

Show simple item record