A Formative Assessment Tool for Conceptual Database Design Using UML Class Diagram

Database design is one of the main topics of any introductory database course. Traditionally, for teaching it entity-relationship diagrams (ERD) are used. However, in the last years, Unified Modeling Language (UML) has emerged as an effective modeling tool for database design. In this paper we present a web-based tool designed to give support to teaching and learning conceptual database design using UML class diagrams. The proposed UML environment is an effective tool for formative assessment since it is capable of correcting automatically UML class diagrams exercises providing immediate feedback to the student. The tool is part of a more general framework, denoted ACME, which provides the main functionalities of an e-learning platform. The tool has been used in a first experimental group of an introductory database course.


INTRODUCTION
Assessment is one of the most important tasks in the learning process.Its aim is to determine if the student has achieved the objectives/competences of the course.Assessment can be classified as summative or formative according to its aim and function.
Summative assessment qualifies or certifies the level of the student when the topic/course is completed.It does not consider the learning process or how the student has acquired his/her knowledge.On the contrary, formative assessment takes into account all the learning process applying methods that establish what progress a student is making during learning and also returning feedback to enhance the student learning process.The benefits of formative assessment are clear, as reflected in [1] [2].However, a good formative assessment requires many resources and effort.To track the students' progress throughout the course different activities have to be proposed, corrected and feedback has to be returned to the students.This effort increases when the number of students increases too.Therefore formative assessment is difficult to apply.
To overcome this limitation computer based assessment (CBA) systems have been proposed [2].The aim of CBA is to automate, as far as possible , in learning and teaching tasks.Therefore the functionalities of these systems, amongst others, are the delivery of materials for teaching and assessment, the input of solutions by the students, the automated assessment process and the delivery of feedback.All these are achieved through an integrated online system.
Over the years different e-learning tools have been proposed to give support to the assessment process.However, the majority of them have been designed to support the automatic correction of exercises with pre-defined answers, such as multiple choice or test exercises.In general, these tools are used for evaluating the lowest levels of Bloom's taxonomy (knowledge and comprehension) [3].The evaluation of intermediate (application and analysis) or highest (synthesis and evaluation) levels requires more specialized environments able to support more complex activities where no predetermined answers are given.
In this paper, we focus our interest on conceptual database design using class diagram.We propose a new environment designed to support the formative assessment of this topic.
The paper has been structured as follows.In Section 2 conceptual modeling is revised, In Section 3, related work on UML class diagrams and the ACME-DB e-learning environment are presented.In Section 4, the proposed correction UML tool is described.In Section 5, the first results obtained with the use of the tool are given.Finally, in Section 6, conclusions and future work are presented.

II. CONCEPTUAL MODELING
Traditionally, a database course uses entity-relationship diagrams (ERD) when teaching conceptual modeling.Describing ERD and how to use them to illustrate conceptual database design is one of the main objectives of an introductory database course [4].But, despite the popularity of ERD, in the last years, different authors have proposed the UML (Unified Modeling Language) class diagram as an alternative to be used instead of ERD notation.
The UML [5] is the standard language for modeling object-oriented applications and is commonly used in the development of software applications.Although, this methodology was developed mainly for software design, a major part of software design involves designing the databases that will be accessed by the software modules.Hence, an important part of the UML is the class diagrams.A class diagram is a type of diagram that describes the static structure of a system by showing the system's classes and the relationships between them.Therefore, it can be considered that class diagrams are similar to ERD in many ways [6].Moreover, UML provides an advantage with respect to entity-relationship model (ER) since it is widely understood within the computing community, whereas ER is limited primarily to the database community.
In non-academic environments, UML has emerged as an effective modeling tool for database design.However, it is still rare to see UML class diagram as the primary iJET -Volume 5, Issue 3, September 2010 notation when teaching conceptual data modeling [7].In academic textbooks the primary modeling techniques are based on ER notation.However, this tendency is changing in recent versions of the books, and chapters presenting UML methodology for conceptual modeling are included [8].There are also different books focused only on the use of UML for database design [9,10].These books claim that UML make a closer database design with real business applications.
We agree with [11,12] that this new tendency has to be taken into account in basic database courses, and hence UML class diagram notation has to be taught as well as ERD.Since building UML class diagrams is a complex process, we decided to develop a web-based tool to support its teaching and learning.This tool has been integrated in a more general e-learning framework, denoted ACME-DB, used in database courses in our university.The ACME-DB is used as a support for teaching and learning the main topics of the course, amongst them, entity-relationship diagrams, relational database schemas, database normalization, SQL and relational algebra.
The proposed UML environment is an effective tool for formative assessment since it provides the functionalities required to automatically correct exercises providing immediate feedback to the student.The purpose of this paper is to present the UML developed tool and how it is used for formative assessment in a database course.

III. RELATED WORK
In this section, we review the main concepts of UML class diagrams and their equivalences with ERD.Then, we present previous work on UML modeling tools and finally, the ACME-DB environment where our proposed tool has been integrated.

A. UML class diagram and ERD
There are many similarities between UML class diagrams and ERD [6].Below we describe them by considering the examples extracted from [8] and illustrated in Fig. 1 and 2, where the same database has been modeled using UML and ERD, respectively.
The entity types in ER are modeled as classes in UML notation.An entity in ER corresponds to an object in UML.In UML class diagrams, a class is displayed as a box that includes three sections: the class name, the attributes and the operations that can be applied to these objects.Operations are not specified in ERD.
Relationship types in ERD are called associations in UML terminology, and relationship instances are called links.A binary association is represented as a line connecting the participating classes and optionally may have a name.A relationship attribute is placed in an association class that is connected to the association's line by a dashed line.
The cardinality in ER model is equivalent to multiplicity in UML terminology and denotes the number of objects that can participate in the relationships.Multiplicities are specified in the form min..max, and an asterisk (*) indicates no maximum limit on participation.Possible multiplicities are 0..1, 1..1 (or 1), 1..*, n..m and 0..* (or *).
In UML, there are two types of relationships: association and aggregation.An aggregation is meant to represent a relationship between a whole object and its components parts.In UML, it is graphically represented as a hollow Figure 2. UML class diagram of a company database from [8] diamond shape on the containing class.A composition is a stronger form of aggregation where the part is created and destroyed with the whole.The composition is drawn like the aggregation, but this time the diamond shape is filled.UML also distinguishes between unidirectional associations, which are displayed with an arrow to indicate that only one direction for accessing related objects is needed, and bidirectional, which are the default.Weak entities in the ER model can be modeled using the construct called qualified association in UML which can represent both the identifying relationship and the partial key, which is placed in a box attached to the owner class.UML has the ability to specify methods, but when modeling a database, this feature is not needed as we only deal with data.
The UML is the standard notation for modeling business and software application needs.The main advantage of UML with respect to ER is that it can serve as a unifying framework that facilitates the integration of database design with the rest of a system design.

B. UML modeling tools
Building diagrams is a complex process and different modeling tools have been proposed for creating them.The majority of these tools has been designed for advanced users and only gives support to diagram drawing requirements.For teaching purposes, these tools are not appropriate since more advanced features are required.
The teacher desires a CBA system capable of assigning activities to the students and correcting them as well as providing support to all assessment needs.Moreover, most of the current systems only correct fixed-response questions, such as multiple choice or test-questions, and can only be used for evaluating basic skill levels of Bloom's taxonomy (knowledge and understanding).The evaluation of intermediate (application and analysis) or upper (synthesis and evaluation) levels requires more specialized environments able to support more complex activities where no predetermined answers are given.The design of specialized CBA environments is not trivial.The main difficulty is with the development of the correction strategies.These require a high degree of specialization to satisfy the needs of the area to be evaluated.
On the other hand, in our context the student desires a friendly tool where he/she can practice and improve his/her skills on conceptual database modeling.In this section, we will focus on teaching/learning tools that can be very valuable in the academic context.Below we describe some of them.
Hoggarth and Lockyer [13] proposed an automated student diagram assessment system that provides a verification mechanism where the student manually compares his/her solution with the one designed by the teacher.At the end of the comparison process, the system generates a list with the differences with comments that can be used by the student to improve his/her diagram.H.Ali et al [14] proposed a UML class diagram environment using notation extraction which compares two Rational Rose files.The first file is a description of the UML class diagram proposed by the student and the second one the description of a correct solution defined by the teacher.The system compares these files line by line and generates a list with the differences.Feedback is returned according to this list.Baghaei, Mitrovic and Irwin [15] presented a constraint-based tutoring system for learning UML class diagrams.The system observes students' actions and adapts to their knowledge and learning abilities.The system compares the student's solution with the ideal one proposed by the tutor.The comparison process is based on a set of rules.They proposed a single user and also a collaborative version of the tool.Virvou and Tourtoglou [16] proposed an environment for the adaptive support to a software engineering trainer.It considers two users, the trainer, considered an expert, and the student.The system assigns a degree of knowledge to the student and also an expert to monitor his/her work.N.Le [17] proposed an extension of the ArgoUML tool that allows for the creation of UML class diagrams in a free-form way, i.e., with any restriction with respect to the name of the classes or the attributes.The system provides a set of guidelines for the student to create the diagram.
Despite the capabilities of these tools, in the academic context, it is desired that the e-learning tools provide not only the functionalities for which they have been designed but also other functionalities related with academic issues such as continuous assessment, tracking student work, etc.Another limiting factor of these tools is that all of them need to be installed and the majority require an additional software for drawing the diagrams [13,14,17].On the other hand, the tools are independent in the sense that they can not be integrated in a more general framework for giving support to different topics of database courses.

C. The ACME environment
ACME is a CBA system developed in our university to give support to the teaching and learning of different subjects.Originally, it was designed for teaching mathematics in engineering and technical degrees.ACME has a common repository of problems.The teacher can select problems from it and the system automatically generates workbooks.The student enters solutions and the system corrects them returning feedback.All the work is stored in a database and the teacher can extract information for formative assessment.For a detailed description of the platform please see [18].
The good academic results obtained when applying ACME, encourages us to extend the platform in order to support other subjects.Currently, amongst others, it supports mathematical [18], computer programming [19], database problems, etc.
The set of modules of the platform related with database topics is denoted ACME-DB.We started to develop this environment in 2005 with the development of the relational database schemas module [20].Since then, normalization [21], entity-relationship diagrams [22], SQL and relational algebra [23] correctors have been developed and integrated in the environment.
Compared with other e-learning platforms, ACME-DB presents, amongst others, the following advantages: (i) It integrates in a single environment, different tools for different database topics; (ii) supports automatic correction of exercises, providing feed-back and (iii) supports automatic student assessment.
Taking into account the limitations of current UML class diagrams tools and the advantages of our environment, we decided to develop the modules required to support the formative assessment of UML class diagram exercises.Such functionality will be a very valuable tool for teaching and learning conceptual database design in database courses.

IV. THE UML CLASS DIAGRAM TOOL
In this section, we present the proposed tool for teaching UML class diagrams.First, we introduce the main design decisions that have been taken into account to develop the tool.Then, we describe the tool from a technical perspective, giving a detailed description of the main modules that compose it.

A. Design decisions
The proposed tool has to be capable of automatically correcting UML class diagram exercises in order to reinforce the teaching and learning of the topic.To design this tool, we consider that our system has to be able to assign UML class diagram exercises and also the tools required for the students entering the solution, i.e., a graphical interface that allows UML class diagram to be drawn.
A second main requirement is the ability to support online correction.The system has to be able to automatically correct the exercises solved by the students.That is, when students enter a solution to a UML problem, it is desired that the system returns immediate feedback with detailed information about errors.
The system has to allow students to enter more than one solution until the correct one is obtained or a deadline is reached.The system has to record all student work, i.e. all iJET -Volume 5, Issue 3, September 2010 attempts entered until the correct one is obtained.Such information will be very valuable for the teacher to carry out a tracking of student progress.The information recorded in the system can be used for continuous assessment purposes.In addition usability requirements are also desired.For instance, the tool has to be easily accessible for teachers and students, no special installation has to be required, only a web browser.The system has to provide a communication channel that enhances student-teacher contact, whether students ask about doubts or teachers give hints about how to solve diagrams.
The ACME environment provides some of the desired requirements, such as, easy access, a record of student work, continuous assessment and the student-teacher communication channel.Therefore, to reach our objective we have to focus on the functionalities not provided by the environment and required to support the correction of UML class diagram exercises.
At a broad level, we can reduce our problem as illustrated in Fig. 3. Our system has to propose exercises, the student will enter solutions, the system will provide feedback according to the correctness of the solution, and this process will be repeated until a certain deadline or the correct solution is obtained.Hence, we have to design two main modules: the class diagram student interface and the class diagram correction module.Both are described in detail in the next sections.

B. The problem structure
Previous to the definition of the different modules that will compose our tool, we have to determine the structure of a UML class diagram problem.This structure is crucial for defining the correction strategy that has to be applied.
We define the problem structure following the guidelines used for the definition of the database problems that are also supported by ACME-DB.It is important to take into account that a UML class diagram problem can have more than one correct solution.The proposed structure is illustrated in Fig. 4.There is a first part with a description of the problem that has to be solved.It consists of a set of requirements for a real life application.A constraint of our approach is that attributes have to appear in the problem descriptor with a specific name and in brackets.Although the identification of attributes is an important skill to be acquired, for students of introductory database courses we consider the ability to properly group attributes in the correct class or attach to the corresponding relationships more important.
For each problem we also store a set of possible correct solutions.In Fig. 5, we illustrate the information codified for each solution.We have to specify all the classes and the relationships that define it.We assign one name to each of the classes and also the list of all its attributes.In the case of association classes, we have to enter also the Name of the association to which it is related.For the relationships, we have to specify its name, the related classes, its multiplicity and the direction (unidirectional or bidirectional).We also have to indicate if it is an association, aggregation, composition or a generalization.In the case of qualified associations, we have to indicate the qualified class and the qualifier attribute.
The teacher enters the problems and the solutions into the system using a specific editor integrated in the tool that makes this task easier.Each problem is recorded in an   independent file, and once it has been created the system verifies that all the parameters have been entered correctly.If the system detects that the entered file does not fit the expected structure, it generates a message indicating where the error is.Problems are stored in a common repository and once saved they are available to be assigned to the students' workbooks.For creating the workbooks, the teacher selects exercises from the repository and then the generation module assigns it to the students.Once the student has assigned a workbook, he can select exercises and solve them using the module presented in the next section.

C. Class diagram interface
Before presenting the UML class diagram student interface, just to put it into context, we briefly describe how the information is showed to the student.Students enter into the ACME environment by using their username and password.Then, the system presents a list of topics and one of them corresponds to UML class diagram exercises.The student selects this and then accesses the list of class diagram exercises that have been assigned to his/her workbook.When he/she selects one of these exercises, an interface appears with all the information and the tools required to solve it.
In Fig. 6 we illustrate the student interface.Its main parts are: (i) At the top, the problem descriptor area, which is the space where the system displays the problem descriptor.(ii) On the left, there is a button bar with the drawing tools that contains a set of buttons where all the elements required for creating a diagram are represented.(iii) In the middle, the working area where the student design the UML class diagram.In this example we show the UML class diagram designed for a database problem from [8].Since the dimension of the class diagram can be larger than the working area, there is a zoom button to select the part of the diagram that has to be displayed in it.(iii) At the bottom, there is an area with different tabs, each one related to a diagram element.This space is designed for entering the information and the main parame-ters related to it.For example, when defining a class we enter the attributes, for an association the multiplicity, the type of association, etc.In this example, the association between the two highlighted classes has been selected and hence the corresponding tab allows the type of association, related classes, etc. to be entered.
The student enters the solution and then presses the correct button.At this moment, the correction process (described in the next section) starts and when it finishes it returns feedback to the student.Feedback messages appear in an independent window jointly with the sent solution.If the solution is not correct, the returned message gives some advice on how to solve it (see Table I).A FORMATIVE ASSESSMENT TOOL FOR CONCEPTUAL DATABASE DESIGN USING UML CLASS DIAGRAM

D. Correction module
The correction strategy is based on a comparison process that proceeds as follow.The solution entered by the student is compared with the possible correct solutions of the problem stored in the repository of the system.If any one of the correct solutions coincides with the one of the student's, the solution is considered incorrect.In this case the feedback module selects the solution from the repository which is most similar to the one proposed by the student and sends a feedback message to the student.The content of the message aims at directing him/her to the selected correct solution.The student can enter a new solution and repeat the process until the correct solution is obtained or a deadline has been reached.
The key of the correction process strategy is on the name of the attributes.Note that the only restriction that has been imposed to design the solution is that only attributes marked in brackets in the problem descriptor can be used.There is no restriction on the names of the class nor the relationships.Classes are corrected by considering the set of attributes attached to them..Relationships are evaluated in terms of the classes they relate to, their multiplicity and their type (associations, aggregations, compositions and generalization).
The differences between the correct solution and the student solution determine the message that has to be sent.We have classified the different types of errors that can be found and we have assigned a message to each one of them.The feedback module maintains this set of possible messages and according to the type of error detected by the correction module, it automatically selects the message to be sent.In Table I, we present some of the message errors.

E. Integration in the ACME-DB
All presented modules have been integrated in the ACME-DB platform.The modularity of the platform allows such integration to be done easily.
The main advantage of this integration is that ACME-DB becomes a framework capable of giving support to the main topics of a database course.The student can use it to solve entity-relationship diagrams, relational database schemas and normalization, SQL and relational algebra queries.With the integration of the new tool, now it can also solve UML class diagrams.As far as we know, this is the only environment that integrates all these features in a single framework.

V. EXPERIMENTAL RESULTS
To evaluate the proposed tool we consider two groups of students of an introductory database course.The 48 students of the course were divided into two groups of 24 students.In the first one, we used the proposed tool and in the second one any tool was used.In both groups to teach UML, we spent the same number of hours.The teacher introduced the main UML concepts and then the same exercises were proposed to the students to acquire practice.These exercises, in order to be solved, require UML class diagrams with a number of classes that range from four to eight and from six to twelve associations.
In the first group (group A), the teacher introduced some example exercises through the proposed UML tool.Then, a personalized workbook with four different UML exercises was assigned to each student.In the second group (group B), the teacher presented the same examples as group A, but without using the tool.The students solved the exercises by hand.The teacher encouraged students to solve all the exercises and in case of questions, to go to his office.
For each group we collected the number of student and the number of exercise that they solved correctly.The obtained results are reported in Table II.Note that the best results are obtained using the tool.
We also evaluate the advantages of the tool from the teacher's point of view.The tool provides information of the type of student errors.For instance, we detected that 34.2% of errors are multiplicity errors, 31.3% are association type errors, 17.5% are definition class errors and 17.0% other errors.We also detect that to solve a problem correctly the student requires on average 3.2 attempts.The students sent solutions to 95.8% of the problems and 84.3% of the problems were solved correctly.
At the end of the UML sessions, students of both groups have to pass an exam.The exam consists of one exercise similar to the exercises assigned to the students.The exam was the same for both groups.In Table III, we illustrate the obtained results, where capitals from A to D represent excellent to failing the exam, respectively.In these first experiments, we detect that the students that used the tool obtained better results than the other ones.From the teacher's first impressions, we can remark that the environment is easy to use.It does not require any installation, only a web browser.More importantly, it provides gains with respect to the classical teaching methodology in the sense that it offers a system for the continuous assessment of the student's progress, makes personalized attention to the student easier and assesses the degree of participation of the students.
The data obtained from our first experiment, although it is satisfactory, we consider that it is not enough to evaluate the quality of the proposed framework and a deeper study has to be carried out.
From a pedagogical point of view, the benefits of the CBA proposed tool, amongst others, are: it increases assistance to weaker students because problems in learning can be immediately traced and teaching strate-gies adapted accordingly; it provides immediate feedback which ensures that the student can internalize the submission and feedback as one entity while both are fresh in the mind; it increases student awareness about the assessment process since students are more willing to answer automatically generated results and, therefore, become interested in determining what the assessor is looking for in a model solution; it increases student confidence by allowing easy early exercises and by demonstrating to students that they are performing well; it encourages students to effectively manage their own workload since students can increase their mark through multiple submissions if they begin to submit before the deadline;, etc.
From the teacher's point of view it is important to note that an effort has to be made when preparing the exercises.Then the correction is done automatically and since the system returns the errors, he/she can spend time dealing with students' difficulties.
The students' impressions have also been positive especially the fact that to access the system they only need an internet connection.During the different sessions students were asked to comment on the problems they faced while using the system.The responses were very positive.The students feel motivated to solve the proposed problems.The possibility to correct a problem in real time encourages them to work until a correct solution is found.

VI. CONCLUSIONS
Formative evaluation requires CBA systems to be able to automate the main procedures of the teaching/learning process.In the case, of specialized subjects, these systems have to provide advanced features to fit the subject requirements.In this paper we have presented a UML class diagram tool that provides support to the teaching and learning of conceptual database design, which can be considered as an advanced subject.We have presented the tool and the first experimental results that have been obtained.In addition we have described the advantages provided by the tool.

Figure 1 .
Figure 1.Entity-Relationship diagram of a company database from[8]

Figure 3 .
Figure 3. Main functionalities to be considered for the design of the UML class diagram correction tool.

Figure 4 .
Figure 4. Main parts of a UML class diagram problem.

Figure 5 .
Figure 5. Parameters recorded for each correct solution

TABLE I
… … Figure 6.Student interface designed for entering a UML class diagram.