Document Type

Thesis - Open Access

Award Date


Degree Name

Master of Science (MS)

Department / School

Electrical Engineering and Computer Science

First Advisor

Yi Liu


Software systems need continuous developing to cope and keep up with everchanging requirements. Source code quality affects the software development costs. In software refactoring object-oriented systems, Large Class, in particular, hinder the maintenance of a system by letting it difficult for software developers to understand and perform modifications. Also, it is making the development process labor-intensive and time-wasting. Reducing the Large Class code smell by applying design patterns can make the refactoring process more manageable, ease developing the system and decrease the effort required for the maintaining of software. To guarantee object-oriented software stays clear to read, understand and modify over time, Fowler and Beck claimed that these classes should, therefore, be divided into several classes, or extract the subclasses from the Large Class. The study presents a methodology designed to reduce the Large Class code smell by understanding the feature of the Large Class then analyzing the causes of the Large Class code smell and depends on two features, complexity and cohesion, then classifying the causes to identical types and proposing a best fit design pattern to address each type and refactor the code to improve the quality of software by reducing the complexity and enhancing cohesion. Our methodology focuses on the Large Class code smell while analyzing the complexity and cohesion; however, the methodology itself can be used wherever the code fits in a category.

Library of Congress Subject Headings

Software patterns.
Software refactoring.
Computer software -- Development.
Computer software -- Quality control.



Number of Pages



South Dakota State University



Rights Statement

In Copyright