1,597 research outputs found
A design recording framework to facilitate knowledge sharing in collaborative software engineering
This paper describes an environment that allows a development team to share knowledge about software artefacts
by recording decisions and rationales as well as supporting the team in formulating and maintaining design constraints. It explores the use of multi-dimensional design spaces for capturing various issues arising during development and presenting this meta-information using a network of views. It describes a framework to underlie the collaborative environment and shows the supporting architecture and its implementation. It addresses how the artefacts and their meta-information are captured in a non-invasive way and shows how an artefact repository is embedded to store and manage the artefacts
Highlighting model elements to improve OCL comprehension
Models, metamodels, and model transformations play a central role in Model-Driven Development
(MDD). Object Constraint Language (OCL) was initially proposed as part of the Unified
Modeling Language (UML) standard to add the precision and validation capabilities lacking
in its diagrams, and to express well-formedness rules in its metamodel. OCL has several other
applications, such as defining design metrics, code-generation templates, or validation rules
for model transformations, required in MDD.
Learning OCL as part of a UML course at the university would seem natural but is still the
exception rather than the rule. We believe that this is mainly due to a widespread perception
that OCL is hard to learn, as gleaned from claims made in the literature. Based on data gathered
over the past school years from numerous undergraduate students of di↵erent Software
Engineering courses, we analyzed how learning design by contract clauses with UML+OCL
compares with several other Software Engineering Body Of Knowledge (SWEBOK) topics. The
outcome of the learning process was collected in a rigorous setup, supported by an e-learning
platform. We performed inferential statistics on that data to support our conclusions and identify
the relevant explanatory variables for students’ success/failure. The obtained findings lead
us to extend an existing OCL tool with two novel features: one is aimed at OCL apprentices and
goes straight to the heart of the matter by allowing to visualize how OCL expressions traverse
UML class diagrams; the other is intended for researchers and allows to compute OCL complexity
metrics, making it possible to replicate a research study like the one we are presenting.Modelos, metamodelos e transformações de modelo desempenham um papel central em
MDD. OCL foi inicialmente proposta como parte da UML para adicionar os recursos de precisão
e validação que faltavam nestes diagramas, e também para expressar regras de boa formação
no metamodelo. OCL possui outras aplicações, tais como definir métricas de desenho, modelos
de geração de código ou regras de validação para transformações de modelo, exigidas em MDD.
Aprender OCL como parte de um curso de UML na universidade parecia portanto natural,
não sendo no entanto o que se verifica. Acreditamos que isso se deva a uma percepção generalizada
de que OCL é difícil de aprender, tendo em conta afirmações feitas na literatura. Com base
em dados recolhidos em anos letivos anteriores de vários alunos de licenciatura de diferentes
cursos de Engenharia de Software, analisámos como a aprendizagem por cláusulas contratuais
de UML + OCL se compara a outros tópicos do SWEBOK. O resultado do processo de aprendizagem
foi recolhido de forma rigorosa, apoiado por uma plataforma de e-learning. Realizámos
estatísticas inferenciais sobre os dados para apoiar as nossas conclusões, de forma a identificar
as variáveis explicativas relevantes para o sucesso / fracasso dos alunos. As conclusões obtidas
levaram-nos a estender uma ferramenta OCL com duas novas funcionalidades: a primeira é
voltada para os estudantes de OCL e permite visualizar como as expressões percorrem um
diagrama de classes UML; a segunda é voltada para investigadores e permite calcular métricas
de complexidade OCL, habilitando a réplica de um estudo semelhante ao apresentado
Applying Model Driven Engineering Techniques and Tools to the Planets Game Learning Scenario
24 pagesInternational audienceCPM (Cooperative Problem-Based learning Metamodel) is a visual language for the instructional design of Problem-Based Learning (PBL) situations. This language is a UML profile implemented on top of the Objecteering UML Case tool. In this article, we first present the way we used CPM language to bring about the pedagogical transposition of the planets game learning scenario. Then, we propose some related works conducted to improve CPM usability: on the one hand, we outline a MOF solution and an Eclipse GMF solution instead of the UML profile approach. On the other hand, we propose some explanations about transforming CPM models into LMS compliant data, and tool functionality
The Testing of an Experiential Framework for Teaching System Development Projects Using a Collaborative Project Management Approach
Experiential learning approaches have been especially effective in information systems courses where ‘real-world’ scenarios are used to provide a degree of complexity that reflects actual system development projects. Students are shown how the principles of project management can provide a framework for reducing the difficulty and complexity of the development process to a more manageable procedure as they put into practice their knowledge and skills from previous courework in creating working application systems. This paper outlines an experiential approach for teaching the value of information systems project management in the systems development process through the collaborative efforts of the graduate class in Information Technology Project Management, and the undergraduate senior capstone projects course
Automatic Feedback for UML Modeling Exercises as an Extension of INLOOP
In recent years, e-learning systems have become an important part of normal and university education. One reason for this is the growth in student numbers. INLOOP is an assessment system for object-oriented programming and is used in a beginner software engineering course of the TU Dresden. Unfortunately, for the course, there is no assessment system for object-oriented modeling. This thesis extends the INLOOP concept with functionality to assess object-oriented modeling. For that, it introduces INLOOM as a constraint-based model assessment system that works well with the architecture and workflow of INLOOP. It is based on a two-stage system that generates constraint-based test sets out of expert solution models and uses these to generate feedback and a score for a student's solution model. The system was designed by first surveying the literature on model assessment systems and then creating a design that is easy to include into INLOOP. To assess the new INLOOM system, a proof-of-concept realization for analysis UML class models is introduced. For evaluation, this realization is used to assess student solutions for tasks of multiple exams. The results of the assessment system are then compared with the assessments of human instructors. It could be shown that the INLOOM system works as well as other comparable systems. In conclusion, the INLOOM system can be used alongside INLOOP to improve the student feedback in the beginner software engineering course
- …