Current Challenges in Practical Object-Oriented Software Design

Maurício Aniche, Joseph W. Yoder, Fabio Kon

Research output: Chapter in Book/Conference proceedings/Edited volumeConference contributionScientificpeer-review

3 Citations (Scopus)
250 Downloads (Pure)


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.
Original languageEnglish
Title of host publication41st ACM/IEEE International Conference on Software Engineering
Subtitle of host publicationNew Ideas and Emerging Results (ICSE-NIER)
EditorsP. Kellenberger
Place of PublicationPiscataway
Number of pages4
ISBN (Electronic) 978-1-7281-1758-4
ISBN (Print)978-1-7281-1759-1
Publication statusPublished - 2019
Event2019 IEEE/ACM 41st International Conference on Software Engineering: New Ideas and Emerging Results (ICSE-NIER) - Montreal, Canada
Duration: 25 May 201931 May 2019


Conference2019 IEEE/ACM 41st International Conference on Software Engineering


  • software design
  • class design
  • object-oriented design
  • domain modeling
  • software engineering
  • software architecture
  • object-oriented programming

Fingerprint Dive into the research topics of 'Current Challenges in Practical Object-Oriented Software Design'. Together they form a unique fingerprint.

Cite this