Good Practices as a Modeling Assistant
Abstract — In order to ensure the quality of their software development, companies incorporate best practices from recognized repositories or from their own experiences. These good practices are often described in software quality manuals which does not guarantee their implementation. In this paper, we propose a framework for the implementation of best practices. We treat first the case of modeling activities because they are becoming the main activity of software development processes. Our framework enables on the one hand to describe the good practices and on the other hand to check their application by the designers. We present an implementation of our framework in the Eclipse platform, and we give some examples of use of the modeling of UML Class diagrams.
Part 1: Description of good modeling practices using the GooMod language and the GMP Definition Tool
The GMP Definition Tool is designed for QAM in charge of the definition of GMP which should be observed in a company. The graphical editor, designed using the Eclipse Graphical Modeling Framework (GMF), allows the representation of GMP in the form of a process. Such a process is represented by a path in a graph. Each node of the path is a step. At each step of the process, the GMP Definition tool allows for the selection of a subset of manipulated concepts from the target language (the one used by modelers to design their systems, UML for example), as well as the definition of a set of OCL pre- and postconditions, as well as entry and exit actions.
Part 2: Applying good modeling practices using the GooMod language and the GMP Activation Tool
The GMP Activation Tool aims to link a modeling process deﬁned with the GMP Deﬁnition tool to a target modeling tool. It applies a given process during the ﬁnal modeling stage in order to control the enforcement of GMP.
To demonstrate how our proposed platform could be used, consider the following situation: in a company, some developers are not really used to UML, and when they need to design UML Class diagrams, it takes a signiﬁcant amount of time and it also often leads to incorrect diagrams. To tackle this problem, the QAM of the company has already identiﬁed some good practices that he wants the developers’ follow.
With the help of the GooMod language and the GMP Deﬁnition tool, the QAM has deﬁned its own methodology using an OMT-based process and for each step of the process, he associated some pre- and post-conditions, entry and exit actions and editable concepts.
Screencast Part 1: Definition
Screencast Part 2: Enactment