Technical Report 2010-013

Ways to Understand Class Diagrams

Jonas Boustedt

March 2010


The software industry needs well trained software designers and one important aspect of software design is the ability to model software designs visually and understand what visual models represent. However, previous research indicates that software design is a difficult task to many students. This paper reports empirical findings from a phenomenographic investigation on how students understand class diagrams, UML symbols and relations to object oriented concepts. The informants were 20 Computer Science students from four different universities in Sweden.

The results show qualitively different ways to understand and describe UML class diagrams and the "diamond symbols" representing aggregation and composition. The purpose of class diagrams was understood in a varied way, from describing it as a documentation to a more advanced view related to communication. The descriptions of class diagrams varied from seeing them as a specification of classes to a more advanced view where they were described to show hierarchic structures of classes and relations. The diamond symbols were seen as "relations" and a more advanced way was seeing the white and the black diamonds as different symbols for aggregation and composition.

As a consequence of the results, it is recommended that UML should be adopted in courses. It is briefly indicated how the phenomenographic results in combination with variation theory can be used by teachers to enhance students' possibilities to reach advanced understanding of phenomena related to UML class diagrams. Moreover, it is recommended that teachers should put more effort in assessing skills in proper using of the basic symbols and models, and students should get many opportunities to practise collaborative design, e.g., using whiteboards.

Note: Typographic updates 2010-05-04.

Available as PDF (315 kB, no cover)

Download BibTeX entry.