Development of a modeling education program for novices using model-driven development

Modeling education is necessary for software engineers because object-oriented modeling is used widely in the computing industry. However, there may be problems in terms of the "necessity of models," "modeling methodology," and "model refinement" when learning about modeling. Model-driven development (MDD) can verify the accuracy of models and generate the source code, which allows a programmer to reduce the development time required to check the software so he or she can focus on the modeling process. Thus, modeling should be taught with MDD because it allows students to acquire modeling skills in a short period of time. We developed an education program using MDD for novices. The first concept used by this program is "software modeling education using MDD," which allows students to repeat model refinement in a short period of time. The second concept used by this program is "spiral education in the fundamental techniques and development experience," which allows students to learn fundamental techniques and understand methods that utilize these fundamental techniques. We conducted a trial course in a college, and the results confirmed improvement of modeling skills and reduction in the above-stated problems.

[1]  Henry J. Gardner,et al.  Executable/Translatable UML in Computing Education , 2004, ACE.

[2]  Ven Yu Sien,et al.  An investigation of difficulties experienced by students developing unified modelling language (UML) class and sequence diagrams , 2011, Comput. Sci. Educ..

[3]  Håkan Burden,et al.  Executable and Translatable UML -- How Difficult Can it Be? , 2011, 2011 18th Asia-Pacific Software Engineering Conference.

[4]  Stephen J. Mellor,et al.  Executable UML - A Foundation for Model-Driven Architecture , 2002, Addison Wesley object technology series.

[5]  Cortland Starrett Teaching UML Modeling Before Programming at the High School Level , 2007, Seventh IEEE International Conference on Advanced Learning Technologies (ICALT 2007).

[6]  Timothy Lethbridge,et al.  Teaching UML using umple: Applying model-oriented programming in the classroom , 2011, 2011 24th IEEE-CS Conference on Software Engineering Education and Training (CSEE&T).

[7]  Peter Liggesmeyer,et al.  Trends in Embedded Software Engineering , 2009, IEEE Software.

[8]  Fumihiko Kinoshita Practices of an Agile Team , 2008, Agile 2008 Conference.