

Results: By analyzing 186 studies, we identified empirical evidence of difficulties faced by software engineers while creating UML diagrams. Then, we used a coding approach inspired by open coding and axial coding procedures from Grounded Theory to categorize the difficulties reported by the selected studies. Method: We have carried out a systematic mapping study to collect the existing studies that present the difficulties of creating UML diagrams and the technologies proposed to minimize such difficulties. Objective: This study aims to investigate and classify the existing empirical evidence about the difficulties software engineers face when learning to design software using UML diagrams and to categorize the technologies that are being used to assist engineers in the modeling process.

One of the reasons for this is related to the difficulties software engineers face in learning UML. However, software engineers either did not use the UML at all or used it only selectively and informally. Context: Unified Modeling Language (UML) is a widely used modeling language for object-oriented systems development.
