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

dc.contributor.advisorPerera, I
dc.contributor.authorRathnayake, RMHSB
dc.date.accept2023
dc.date.accessioned2025-02-03T08:00:29Z
dc.date.available2025-02-03T08:00:29Z
dc.date.issued2023
dc.description.abstractThe 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 maintainabilityen_US
dc.identifier.accnoTH5298en_US
dc.identifier.citationRathnayake, 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.degreeMSc in Computer Scienceen_US
dc.identifier.departmentDepartment of Computer Science & Engineeringen_US
dc.identifier.facultyEngineeringen_US
dc.identifier.urihttp://dl.lib.uom.lk/handle/123/23387
dc.language.isoenen_US
dc.subjectGOF DESIGN PATTERNS
dc.subjectMICRO SERVICES
dc.subjectSOFTWARE MAINTAINABILITY
dc.subjectCOMPUTER SCIENCE & ENGINEERING – Dissertation
dc.subjectCOMPUTER SCIENCE- Dissertation
dc.subjectMSc in Computer Science
dc.titleAn Analysis of gof software design patterns on software maintainability in micro servicesen_US
dc.typeThesis-Abstracten_US

Files

Original bundle

Now showing 1 - 3 of 3
Loading...
Thumbnail Image
Name:
TH5298-1.pdf
Size:
189.96 KB
Format:
Adobe Portable Document Format
Description:
Pre-text
Loading...
Thumbnail Image
Name:
TH5298-2.pdf
Size:
94.41 KB
Format:
Adobe Portable Document Format
Description:
Post-text
Loading...
Thumbnail Image
Name:
TH5298.pdf
Size:
2.04 MB
Format:
Adobe Portable Document Format
Description:
Full-thesis