Teaching pragmatic model-driven software development
Open Access
- 1 January 2015
- journal article
- Published by National Library of Serbia in Computer Science and Information Systems
- Vol. 12 (2) , 683-705
Abstract
Model-driven software development is surrounded by numerous myths and misunderstandings that hamper its adoption. For long, our students were victims of these myths and considered MDSD impractical and only applied in academy. In this paper we discuss these myths and present our experience with devising an MDSD course that challenges them and motivates students to understand MDSD principles. The main contribution of this work is a set of MDSD teaching guidelines that can make the course pragmatic in the eyes of students - programmers. These guidelines introduce MDSD from the viewpoint of a programmer as a pragmatic tool for solving concrete problems in the development process. In our MDSD course we implemented the presented guidelines. The course shows several techniques and principles of model-driven development in multiple incremental iterations instead of concentrating on a single tool. At the same time we unite these techniques by using a dynamic visualisation tool that shows to the students the whole infrastructure in the big picture. The course is implemented as an iterative incremental MDSD case study. The paper concludes with a survey performed with our students that indicates positive results of the approach.Keywords
This publication has 18 references indexed in Scilit:
- Model-driven engineering practices in industry: Social, organizational and managerial factors that lead to success or failureScience of Computer Programming, 2014
- An object-oriented approach to language compositions for software language engineeringJournal of Systems and Software, 2013
- Tree template matching in unranked ordered treesJournal of Discrete Algorithms, 2013
- A Task-driven Grammar Refactoring AlgorithmActa Polytechnica, 2012
- Mismatches between Industry Practice and Teaching of Model-Driven Software Development2012
- Experiences in teaching a graduate course on model-driven software developmentComputer Science Education, 2011
- Towards Interoperability in Component Based Development with a Family of DSLs2008
- Using code generation approach in developing kiosk applicationsComputer Science and Information Systems, 2008
- A preliminary study on various implementation approaches of domain-specific languageInformation and Software Technology, 2007
- Agile model driven development is good enoughIEEE Software, 2003