Jun 17, 2015 - We believe an ITS that teaches these multiple modelling tasks will be able to support learners to develop the skill of UML modeling efficiently ...
UML-IT: An ITS to Teach Multiple Modelling Tasks Amali Weerasinghe() and Bernard Evans School of Computer Science, University of Adelaide, Adelaide, SA, Australia {amali.weerasinghe,bernard.evans}@adelaide.edu.au
Abstract. Modelling software systems using Unified Modelling Language (UML) is a core skill expected from a software engineer. This involves modelling a software system using multiple diagrams. Students find it very difficult to develop this skill due to the open-ended nature of this task: the final outcome is defined in abstract terms but there is no well-defined procedure to achieve the outcome. Students also find it difficult to understand the different modelling conventions used to represent multiple perspectives of a particular system and the consistencies need to be maintained between these diagrams. We believe an ITS that teaches these multiple modelling tasks will be able to support learners to develop the skill of UML modeling efficiently and effectively. Keywords: UML-modelling · Open-ended task · Multiple modeling tasks
1
Introduction
Modelling software systems using Unified Modelling Language (UML) is a core skill expected from a software engineer [4]. Thus UML modelling is a core topic in a majority of undergraduate computer science programmes. UML consists of multiple graphical notations, which capture different aspects of a software system including static structures, component behaviours and component interactions. These graphical notations enable software engineers to capture multiple perspectives of a single system. Students find it very difficult to develop this skill due to a number of reasons: (i) modelling is an open-ended task: the final outcome is defined in abstract terms but there is no well-defined procedure to achieve the outcome; (ii) the need to be familiar with multiple graphical notations; (iii) the need to understand and model the system from multiple perspectives and (iv) the need to maintain consistencies between these graphical notations. Thus, an ITS that can provide a customised learning environment that teaches UML modeling will assist novices to learn these multiple modeling tasks efficiently and effectively. There have been several research attempts to develop automated tools to support the learning of UML modeling. However, the focus of the majority of attempts have been to ease the teachers’ workload in assessing UML models and providing feedback to students [3,5]. Limited learning support was provided through feedback, but there was no customised support using an adaptive learning environment. However, COLLECTUML provides customised learning support to learn system modeling via class diagrams [1]. Even though it has shown to significantly improve the performance of the © Springer International Publishing Switzerland 2015 C. Conati et al. (Eds.): AIED 2015, LNAI 9112, pp. 816–819, 2015. DOI: 10.1007/978-3-319-19773-9_123
UML-IT: An ITS to Teach Multiple Modelling Tasks
817
students who learnt with COLLECT-UML, its focus is limited to teaching class diagrams. Hence it is not possible for COLLECT-UML to teach students the need to maintain consistencies between different types of diagrams. The overall goal of this research is to develop UML-IT, an ITS that support the learning of different types of UML diagrams including Class diagrams, Sequence diagrams, Activity diagrams and State diagrams.
2
UML-IT
The modelling process starts with a Use Case diagram, which enables to specify the boundary of the system being modelled. The boundary is represented as a square. Outside the boundary, we specify other systems, organizations or people that either provide information to the software system or consume information from the system. These other systems are known as Actors. Inside the boundary we model a set of Use Cases, which is a high-level view of the system requirements. Upon completion of the Use case diagram, the class diagram is developed. This provides the structure of the system by showing the classes, their attributes, methods and the relationships among classes. After the Class diagram, a Sequence diagram is created for each Use Case. A Sequence diagram represents the sequence of messages exchanged between the Classes that are needed to carry out the functionality of the Use Case. While Class diagrams represent a static view of the system, Sequence diagrams provide a dynamic view of the system. Even though there are many other types of diagrams available in UML, we will limit our discussion to these three types of diagrams (Use case diagrams, Class diagrams and Sequence diagrams) to stay within the scope of the paper. UML-IT also supports the same modelling sequence. It provides the students with a correct Use Case diagram and will ask students to develop the Class diagram. After completing the Class diagram, students will be asked to develop the Sequence diagram for each of the use cases. Then the student will be asked to focus on other diagrams including Activity and State. Currently UML-IT focuses only on supporting the development of Class diagrams and Sequence diagrams. Figure 1 shows the interface of UML-IT, showing the problem statement at the top left corner, and the feedback area on the right. This figure shows a student attempting to create a sequence diagram (right-side of the screen) after completing the class diagram (left-side of the screen). A toolbox containing the required components for each diagram is available above the drawing area. As the required components for a diagram depends on the diagram, components of the toolbox will change accordingly. The student can select which diagram he/she wants on each side by using the drop-down menu (the first item in the tool box). The second component in the Sequence diagram toolbox specifies the Use Case for which the Sequence diagram being drawn. Students have the freedom both with the order in which they choose to model the components and their positions in the drawing area. The constraint-base of UML-IT is modelled as a set of constraints [2]. Upon a student’s request, the constraint-base, the problem statement and the prespecified correct solution will be used to diagnose the errors. A feedback message is associated with each constraint and the corresponding message for each violated constraint (a constraint violation identifies a mistake in the student solution) will be displayed in the feedback pane.
818
A. Weerasinghe and B. Evans
Fig. 1. UML-IT interface
3
Problem and So olution Representation
Each problem statement iss tagged to identify which word/phrase has been seleccted during the modelling processs. For instance, the first sentence of the problem statem ment in Fig.1 has a tag C1 for brranch. The tag C1 is used to indicate that Branch shouldd be modeled as a class. This app proach is similar to that of constraint-based tutors [2]. Each problem has a set off solution types including a Class diagram and a Sequeence diagram. We need an abstrract model that captures the characteristics of all these different types of solutions as well as the consistencies between these diagrams. Figurre 2 presents this model. The ab bstract model captures the characteristics of these differrent types of diagrams. An item m (denoted by UItem in Figure 2) can be a construct suchh as a Use Case, an Actor or a Class. C An item can also be a property (denoted by UPropperty in Figure 2) or a link (denoted ( by ULink). A property can be a method orr an attribute. A link is used to represent different kinds of relationships such as inheeritance, aggregation and com mposition. Dotted lines indicate the items that are not included to avoid the diagram m being cluttered. The diagram model (Figure 2) enabbles the system to visually geneerate a particular type of diagram without having to sttore each solution as an image. This T is useful when a student requests the final solutionn for a particular diagram. A Claass represented in a Class diagram (denoted by CDClaass) contains attributes and metthods. When the same class is represented in a Sequeence diagram (denoted by SDClaass), it is modelled without attributes and methods. Thiis is because the focus of the Seequence diagrams is the messages that are passed betw ween Classes.
UML-IT: An ITS to Teach Multiple Modelling Tasks
819
Fig. 2. Solution representation
4
Future Work
The next step is to test the constraint-base for its ability to identify all the errors iin a student solution. Then we plan to evaluate the effectiveness of UML-IT througgh a study involving authentic users enrolled in an introductory software engineerring course at The University off Adelaide.
References 1. Baghaei, N., Mitrovic, A..: From modelling domain knowledge to metacognitive skkills: extending a constraint-baased tutoring system to support collaboration. In: Conati, C., McCoy, K., Paliouras, G. G (eds.) UM 2007. LNCS (LNAI), vol. 4511, pp. 217–2227. Springer, Heidelberg (2007 7) 2. Mitrovic, A.: Fifteen yearss of Constraint-Based Tutors: What we have achieved and whhere we are going. User Modelin ng and User-Adapted Interaction 22(1–2), 39–72 (2012) 3. Outair, A., Lyhyaoui, A., Tanana, M.: Towards a semi automatic assessment of U UML diagrams by graph transforrmation. In: Proc. of the International Conference on Multimeedia Computing and Systems, pp. p 668–673 (2014) 4. Sommerville, I.: Software Engineering, E 9th edn. Pearson (2011) 5. Striewe, M., Goedicke, M.: M Automated Checks on UML Diagrams. In: Proc. of the 116th Annual Joint Conference on o Innovation and Technology in Computer Science Educattion, pp. 38–42 (2011)