Exploring a Comprehensive Approach for the Automated Assessment of UML UML is an important tool in structured software design and is commonly taught in undergraduate software courses. UML defines a complex set of linked notations and mastery requires instruction and examples over many taught courses. Such examples are typically disparate, modelling subsets of distinct systems. Teaching UML benefits from an endtoend approach where consistency between modelling, design and implementation are equally emphasised and regular feedback is provided. A drawback of this is that assessing learnerderived UML models is a timeintensive and errorprone task if both formative and summative assessment is required. In this paper a novel framework is presented for the automated assessment of UML. The framework allows learners to be provided with automatically generated formative feedback for selfdirected learning in the development of UML skills. Emphasis is placed upon the identification of the consistency and coverage of learner diagrams as this is an important skill in the application of UML. By integrating an implementation of this framework, instructorbased UML teaching can be supplemented with an endtoend tool which allows learners to receive automated formative feedback in their understanding and usage of UML.

A survey on the practical use of UML for different software architecture viewpoints Abstract   Context  Software architecture viewpoints modularize the software architectures in terms of different viewpoints that each address a different concern. Unified Modeling Language (UML) is so popular among practitioners for modeling software architectures from different viewpoints.    Objective  In this paper, we aimed at understanding the practitionersxe2x80x99 UML usage for the modeling of software architectures from different viewpoints.    Method  To this end, 109 practitioners with diverse profiles have been surveyed to understand practitionersxe2x80x99 UML usage for six different viewpoints: functional, information, concurrency, development, deployment, and operational. Each viewpoint has been considered in terms of a set of software models that can be created in that viewpoint.    Results  The survey includes 35 questions for different viewpoint models, and the results lead to interesting findings. While the top popular viewpoints for the UMLbased software architecture modeling are the functional (96%) and information (99%) viewpoints, the least popular one is the operational viewpoint that is considered by 26% of the practitioners. The top popular UML modeling tool is Enterprise Architect regardless of the viewpoints considered. Concerning the software models that can be created in each viewpoint, UMLxe2x80x99s class diagram is practitionersxe2x80x99 top choice for the functional structure (71%), data structure (85%), concurrency structure (75%), software code structure (34%), and system installation (39%), and system support (16%) models; UMLxe2x80x99s sequence diagram is the top choice for the data lifecycle models (47%); UMLxe2x80x99s deployment diagram for the physical structure (71%), mapping between the functional and physical components (53%), and system migration (21%) models; UMLxe2x80x99s activity diagram for the data flow (65%), software build and release processes (20xe2x80x9322%), and system administration (36%) models; UMLxe2x80x99s component diagram for the mapping between the functional and concurrent components (35%), software module structure (47%), and system configuration (21%) models; and UMLxe2x80x99s package diagram for the software module structure (47%) models.