title: What modelling language?
keywords: programming education, software design, research methodology
topics: Case studies and Applications , Languages , Software Technology
committee: Ansgar Fehnker


A course on Software Design usually covers the use of using Software Engineering models, such as class diagrams, activity diagrams and state machines, and the accompanying tools with well-defined semantics. It is not uncommon to be pointed to these models when asked what model to use to describe a software system. Instead of asking practitioners what model they would recommend, the aim of this study is to investigate what models practitioner use themselves.   The text book Software Architecture in Practice has about 90 diagrams representing a software system or process, and only 1 is a class diagram.

The aim of this project is to identify relevant and representative sources for design artefacts, such as textbooks, academic proceeding, software patents, or developer presentations, and then classify what type of modelling formalisms, or combination of modelling formalisms is actually used. This project requires a good grasp of software design, and its success depends on applying a very strict research methodology.