Learning Pros and Cons of Model-Driven Development in a Practical Teaching Experience

Current teaching guides on Software Engineering degree focus mainly on teaching programming languages from the first courses. Conceptual modeling is a topic that is only taught in last courses, like master courses. At that point, many students do not see the usefulness of conceptual modeling and most of them have difficulty to reach the level of abstraction needed to work with them. In order to make the learning of conceptual modeling more attractive, we have conducted an experience where students compare a traditional development versus a development using conceptual models through a Model-Driven Development (MDD) method. This way, students can check on their own pros and cons of working with MDD in a practical environment. Comparison has been done in terms of Accuracy, Effort, Productivity and Satisfaction. The contribution of this paper is twofold: the description of the teaching methodology used throughout the whole course; and the presentation of results and discussions of the comparison between MDD and a traditional development method. Results show that Accuracy, Effort and Productivity are better for MDD when the problem to solve is not easy. These results are shown to students to promote a discussion in the classroom about the use of MDD. According to this discussion, the most difficult part of using MDD is the learnability and the best part is the automatic code generation.

[1]  Peri L. Tarr,et al.  Model-driven development : The good , the bad , and the ugly & , 2006 .

[2]  Jacob Cohen Statistical Power Analysis for the Behavioral Sciences , 1969, The SAGE Encyclopedia of Research Design.

[3]  Adrian Gardiner,et al.  Comparing Top-down with Bottom-up Approaches: Teaching Data Modeling , 2013 .

[4]  Akira Fukuda,et al.  Using Model-Driven Development Tools for Object-Oriented Modeling Education , 2013, EduSymp@MoDELS.

[5]  Gerrit Muller Challenges in Teaching Conceptual Modeling for Systems Architecting , 2015, ER Workshops.

[6]  Antoni Olivé Tomàs Conceptual Schema-Centric Development: A Grand Challenge for Information Systems Research , 2005 .

[7]  Daniel L. Moody,et al.  The method evaluation model: a theoretical model for validating information systems design methods , 2003, ECIS.

[8]  Yashwant Singh,et al.  Model Driven Architecture: A Perspective , 2009, 2009 IEEE International Advance Computing Conference.

[9]  Monique Snoeck,et al.  Assessing the effectiveness of feedback enabled simulation in teaching conceptual modeling , 2014, Comput. Educ..

[10]  Li Na,et al.  Exploration of teaching model of the database course based on constructivism learning theory , 2012, 2012 2nd International Conference on Consumer Electronics, Communications and Networks (CECNet).

[11]  Oscar Pastor,et al.  In search of evidence for model-driven development claims: An experiment on quality, effort, productivity and satisfaction , 2015, Inf. Softw. Technol..

[12]  Bran Selic,et al.  The Pragmatics of Model-Driven Development , 2003, IEEE Softw..

[13]  Karen C. Davis Teaching Conceptual Design Capture , 2013, ER Workshops.

[14]  John Mylopoulos,et al.  The Importance of Teaching Systematic Analysis for Conceptual Models: An Experience Report , 2015, ER Workshops.

[15]  Oscar Pastor,et al.  Conceptual-Model Programming: A Manifesto , 2011, Handbook of Conceptual Modeling.

[16]  Natalya Keberle,et al.  Teaching Conceptual Modeling in ER: Chen Worlds , 2012, ICTERI.

[17]  R. Allan Reese,et al.  Linear Mixed Models: a Practical Guide using Statistical Software , 2008 .