GithubHelp home page GithubHelp logo

cheukchuen / thesis Goto Github PK

View Code? Open in Web Editor NEW
0.0 3.0 0.0 28.1 MB

Concern-Oriented Use Case Maps

Home Page: https://escholarship.mcgill.ca/concern/theses/pg15bh386

TeX 100.00%
model-driven-engineering metamodel

thesis's Introduction

Concern-Oriented Use Case Maps

Abstract: Concern-Oriented Reuse (CORE) is a reuse paradigm that extends model-driven engineering with advanced modularization, goal modeling, and software product lines. Previous work enables modeling with CORE at the design level using Reusable Aspect Models (RAM). Requirements elicitation is also a crucial aspect of software development process, and one of the visual notation that expresses use cases as graphical workflows is Use Case Maps (UCM). UCM bridges the gap between requirements and design, and is part of the User Requirements Notation (URN) for scenario modeling. This thesis addresses the need for enabling scenario modeling in CORE. Based on Aspect-Oriented Use Case Maps (AoUCM), we introduce a novel technique that applies advanced separation of concerns for model-driven requirements elicitation with use cases—Concern-Oriented Use Case Maps (CoUCM). We define a metamodel for CoUCM that derives from the CORE metamodel, and formulate the weaving algorithm for CoUCM model composition. We then implement CoUCM in the TouchCORE tool as proof of concept. We present a working application of scenario modeling with TouchCORE, in which we further validate our implementation through case studies and workflow patterns. Validation shows that CoUCM is able to model certain requirements concerns in a reusable way, and that they can then easily be applied to different reuse contexts.

Abrégé: Concern-Oriented Reuse (CORE) est une nouvelle approche de réutilisation qui s'appuie sur l'ingénierie dirigée par les modèles (IDM), la modularisation avancée, la modélisation des besoins, et les lignes de produits logiciels. Jusqu'à présent, CORE permettait seulement la modélisation de conceptions avec le langage de modélisation Reusable Aspect Models (RAM). Cependant, la modélisation des besoins est une partie fondamentale de l'approche IDM. Use Case Maps (UCM) est un langage de modélisation qui permet d'exprimer les cas d'utilisations visuellement en tant que flux de travails. UCM permets de formaliser les cas d'utilisations textuels et donc informels, et ainsi passer plus facilement des modèles de besoins au modèles de concéption. Ce travail de thèse intègre UCM avec l'approche de réutilisation CORE. En s'inspirant de la téchnique Aspect-Oriented Use Case Maps (AoUCM), nous proposons une extension de UCM orienté-préoccupations nommée Concern-Oriented Use Case Maps (CoUCM). Nous définissons un meta modèle pour CoUCM qui s'intègre avec le méta modèle de CORE, et nous proposons des algorithmes de tissage qui permettent la composition de modèles UCM venant de différents préoccupations ou charactéristiques. Une implémentation prototype de CoUCM dans l'outil de modélisation TouchCORE est également décrite. Pour valider l'expressivité de notre solution, nous montrons comment CoUCM s'applique à plusieurs cas d'utilisation, qui démontrent que CoUCM permet de modulariser et rendre réutilisable certaines préoccupations, tel que par exemple les différents intéractions de payment.

thesis's People

Contributors

cheukchuen avatar djeminy avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.