1,597 research outputs found

    A design recording framework to facilitate knowledge sharing in collaborative software engineering

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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
    corecore