Identifying Difficulties of Software Modeling Through Class Diagrams: A Long-Term Comparative Analysis

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 inheri...

Full description

Bibliographic Details
Main Authors: Pamela Flores, Mayra Alvarez, Jenny Torres
Format: Article
Language:English
Published: IEEE 2022-01-01
Series:IEEE Access
Subjects:
Online Access:https://ieeexplore.ieee.org/document/9729702/
_version_ 1811271262524145664
author Pamela Flores
Mayra Alvarez
Jenny Torres
author_facet Pamela Flores
Mayra Alvarez
Jenny Torres
author_sort Pamela Flores
collection DOAJ
description 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: <italic>diagnostic</italic> and <italic>evaluation</italic> 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.
first_indexed 2024-04-12T22:16:58Z
format Article
id doaj.art-ff93fb36ab2a4e93abc428c47a5eb501
institution Directory Open Access Journal
issn 2169-3536
language English
last_indexed 2024-04-12T22:16:58Z
publishDate 2022-01-01
publisher IEEE
record_format Article
series IEEE Access
spelling doaj.art-ff93fb36ab2a4e93abc428c47a5eb5012022-12-22T03:14:30ZengIEEEIEEE Access2169-35362022-01-0110288952891010.1109/ACCESS.2022.31572909729702Identifying Difficulties of Software Modeling Through Class Diagrams: A Long-Term Comparative AnalysisPamela Flores0https://orcid.org/0000-0002-4536-2780Mayra Alvarez1Jenny Torres2https://orcid.org/0000-0002-8920-1225Department of Informatics and Computer Science, Escuela Polit&#x00E9;cnica Nacional, Quito, EcuadorDepartment of Informatics and Computer Science, Escuela Polit&#x00E9;cnica Nacional, Quito, EcuadorDepartment of Informatics and Computer Science, Escuela Polit&#x00E9;cnica Nacional, Quito, EcuadorSoftware 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: <italic>diagnostic</italic> and <italic>evaluation</italic> 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.https://ieeexplore.ieee.org/document/9729702/Computer sciencecomputer science educationobject oriented modelingsoftware designsoftware engineeringsystems engineering education
spellingShingle Pamela Flores
Mayra Alvarez
Jenny Torres
Identifying Difficulties of Software Modeling Through Class Diagrams: A Long-Term Comparative Analysis
IEEE Access
Computer science
computer science education
object oriented modeling
software design
software engineering
systems engineering education
title Identifying Difficulties of Software Modeling Through Class Diagrams: A Long-Term Comparative Analysis
title_full Identifying Difficulties of Software Modeling Through Class Diagrams: A Long-Term Comparative Analysis
title_fullStr Identifying Difficulties of Software Modeling Through Class Diagrams: A Long-Term Comparative Analysis
title_full_unstemmed Identifying Difficulties of Software Modeling Through Class Diagrams: A Long-Term Comparative Analysis
title_short Identifying Difficulties of Software Modeling Through Class Diagrams: A Long-Term Comparative Analysis
title_sort identifying difficulties of software modeling through class diagrams a long term comparative analysis
topic Computer science
computer science education
object oriented modeling
software design
software engineering
systems engineering education
url https://ieeexplore.ieee.org/document/9729702/
work_keys_str_mv AT pamelaflores identifyingdifficultiesofsoftwaremodelingthroughclassdiagramsalongtermcomparativeanalysis
AT mayraalvarez identifyingdifficultiesofsoftwaremodelingthroughclassdiagramsalongtermcomparativeanalysis
AT jennytorres identifyingdifficultiesofsoftwaremodelingthroughclassdiagramsalongtermcomparativeanalysis