Abstract

Software modeling is a creative activity in which software components and their relationships are identified based on customer requirements. Based on the literature, object-oriented software modeling is based on four fundamental pillars which are abstraction, encapsulation, decomposition, and inheritance. However, despite the existence of guidelines and recommendations for implementing the object-oriented approach, novice software designers do not make good design decisions, leading to inefficient designs that cannot be modifiable, understandable, or user-friendly distribute at the development level. The literature reveals that the most common difficulties faced by software designers is a lack of understanding and confusion of concepts related to the object-oriented approach, as well as difficulties in creating Unified Modeling Language diagrams, especially class diagrams. The work presented in this article uses a qualitative and quantitative approach to determine, in a group of university students, what are the most recurrent difficulties and their persistence during the time. The qualitative case study is the method that allowed to generate the documents: <i>diagnostic</i> and <i>evaluation</i> tests. Additionally, a thematic analysis was used to identify, analyze and report patterns within the data. In order to know the occurrences of the problems in the case study, as part of our quantitative approach, a comparative study was applied to compare the results obtained between the diagnostic and evaluation tests and thus establish the similarities and differences among the cases observed, through the hierarchical clustering technique. The findings of this study show us 16 difficulties identified after the qualitative analysis, while the quantitative analysis shows us the number of occurrences and their persistence over time. The difficulties reported in both analyzes focus on these three difficulties: a) Definition of attributes that could be a class, b) Classes with inadequate or insufficient behavior and, c) Incorrect use of multiplicity between classes. Each of these difficulties is analyzed in depth in this study.

Highlights

  • Software engineering (SE) is a branch of computer science that studies the creation of reliable and quality software based, on engineering methods and techniques [1]

  • In the literature we find that the most common difficulties faced by software designers are:

  • RELATED WORK In the literature we have found works related to how students implement software design concepts under the objectoriented approach, considering both qualitative and quantitative perspectives

Read more

Summary

Introduction

Software engineering (SE) is a branch of computer science that studies the creation of reliable and quality software based, on engineering methods and techniques [1]. Software design is a creative activity where the components of the software and their relationships are identified, based on customer requirements. The object-oriented approach, is based on four principles: abstraction, encapsulation, decomposition and inheritance [4], [5]. This approach is one of the most used to represent the problem domain and involves the design of classes and the relationships between those classes. Such classes define both the objects in the system and their interactions [3]; the standardized language to express such a scenario is

Methods
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call