Extension d'un outil SaaS d'ingénierie de systèmes complexes

Extension d’un outil SaaS d’ingénierie de systèmes complexes

Profil Etudiant en fin de bac en informatique ou en cours de master
Prérequis Bonnes notions de programmation en langage Java, si possible Javascript
Durée min 12 semaines, ampleur du travail modulée en fonction de la durée

Département: Ingénierie logicielle basée sur les modèles et systèmes informatiques distribués 

Expertises:

Ingénierie des systèmes IT complexes 

Contact : Christophe Ponsard

Contexte

Le CETIC soutient activement la conception et le développement d’une plateforme web permettant de réaliser collaborativement la phase d’ingénierie des exigences de systèmes complexes. La démarche s’appuie sur une méthode d’ingénierie des exigences orientée buts nommée KAOS. Techniquement le travail s’appuie sur une architecture basée sur un serveur capable de stocker des modèles conceptuels EMF, une API REST et un client javascript qui s’exécute dans un navigateur comme illustré à la figure suivante.

L’architecture est capable de haute disponibilité et propose un mécanisme de plugin qui permet de facilement étendre l’outil à la fois au niveau de fonctionnalités métiers s’exécutant sur le serveur et au niveau de l’interface utilisateur permettant la saisie et la présentation des résultats.

Travail à réaliser

Le travail consistera à étendre les fonctionnalités de l’outil. Un sujet plus précis sera établit sur base des compétences de l’étudiant en regard de la complexité, de la durée du stage et des uses cases industriels liés. Une liste non-exhaustive de têches concerne :

  • la mise à niveau d’un plugin permettant l’échanges de modèles sur base de protocoles standards (Java)
  • l’extension de l’éditeur graphique web pour gérer le modèle des opérations (Javascript/html)
  • la mise en place d’une gestion avancée de numérotation des exigences (Java)
  • la validation de l’intégration et de la synchronisation d’exigences et de modèles avec des outils externes tels que DOORS et Enterprise Architect (Java, DevOps)

Les tâches à réaliser suivront le schéma suivant qui sera réalisé selon une gestion de projet agile

  • niveau utilisateur : comprendre le domaine (méthodologie d’ingénierie des exigences) et apprendre à utiliser l’outil
  • niveau développeur : comprendre le fonctionnement de l’outil actuel (installation, tutoriel, software development kit)
  • analyser le problème et le découper en taches successives de complexité croissante à réaliser dans des sprints successifs
  • sprints : implémenter les fonctionnalités et les valider sur base de cas également de complexité croissante et avec un retour industriel régulier (mensuellement)
  • derniers sprints : générer un plugin packagé déployable aisément, documenter, rédiger le rapport

Informations complémentaires

Le travail se fera au sein de l’équipe d’experts de la méthodes et l’architecture de l’outil. Il impliquera aussi des contacts régulier avec la société Respect-IT exploitant l’outil potentiellement avec certains de ses clients dans le cadre de la validation (projet Morse notamment)

Références

Contact : Christophe Ponsard (christophe.ponsard@cetic.be)