TY - GEN
T1 - Current Challenges in Practical Object-Oriented Software Design
AU - Aniche, Maurício
AU - Yoder, Joseph W.
AU - Kon, Fabio
N1 - Accepted author manuscript
PY - 2019
Y1 - 2019
N2 - According to the extensive 50-year-old body of knowledge in object-oriented programming and design, good software designs are, among other characteristics, lowly coupled, highly cohesive, extensible, comprehensible, and not fragile. However, with the increased complexity and heterogeneity of contemporary software, this might not be enough. This paper discusses the practical challenges of object-oriented design in modern software development. We focus on three main challenges: (1) how technologies, frameworks, and architectures pressure developers to make design decisions that they would not take in an ideal scenario, (2) the complexity of current real-world problems require developers to devise not only a single, but several models for the same problem that live and interact together, and (3) how existing quality assessment techniques for object-oriented design should go beyond high-level metrics. Finally, we propose an agenda for future research that should be tackled by both scientists and practitioners soon. This paper is a call for arms for more reality-oriented research on the object-oriented software design field.
AB - According to the extensive 50-year-old body of knowledge in object-oriented programming and design, good software designs are, among other characteristics, lowly coupled, highly cohesive, extensible, comprehensible, and not fragile. However, with the increased complexity and heterogeneity of contemporary software, this might not be enough. This paper discusses the practical challenges of object-oriented design in modern software development. We focus on three main challenges: (1) how technologies, frameworks, and architectures pressure developers to make design decisions that they would not take in an ideal scenario, (2) the complexity of current real-world problems require developers to devise not only a single, but several models for the same problem that live and interact together, and (3) how existing quality assessment techniques for object-oriented design should go beyond high-level metrics. Finally, we propose an agenda for future research that should be tackled by both scientists and practitioners soon. This paper is a call for arms for more reality-oriented research on the object-oriented software design field.
KW - Class design
KW - Domain modeling
KW - Object oriented design
KW - Object oriented programming
KW - Software architecture
KW - Software design
KW - Software engineering
UR - http://www.scopus.com/inward/record.url?scp=85072059918&partnerID=8YFLogxK
U2 - 10.1109/ICSE-NIER.2019.00037
DO - 10.1109/ICSE-NIER.2019.00037
M3 - Conference contribution
SN - 978-1-7281-1759-1
T3 - Proceedings - 2019 IEEE/ACM 41st International Conference on Software Engineering: New Ideas and Emerging Results, ICSE-NIER 2019
SP - 113
EP - 116
BT - Proceedings - 2019 IEEE/ACM 41st International Conference on Software Engineering
A2 - Kellenberger, P.
PB - IEEE
CY - Piscataway
T2 - 2019 IEEE/ACM 41st International Conference on Software Engineering
Y2 - 25 May 2019 through 31 May 2019
ER -