Services
Nous proposons aussi de vérifier la conformité des activités d’ingénierie des exigences avec les standard d’ingénierie de votre domaine (ARP4754A et DO 178B/C pour l’avionique, ECSS-E-ST {10, 40,80} pour le spatial, CENELEC EN{59026, 28, 29} pour le ferroviaire… et nous nous engageons à mettre en lumière les non conformités et déviations si nous en détectons.
Dans le cas d’un processus basé sur l’utilisation des modèles, nous vous conseillons sur l’ensemble des problématiques à adresser concernant la traçabilité entre exigences et éléments de modélisation, sujet délicat. A titre d’illustration, voici quelques questions clé qui doivent être traitées pour permettre une utilisation efficace des modèles avec traçabilité fine permettant d’améliorer l’analyse d’impact lors des changements:
- Où doit-on stocker les liens de traçabilité entre exigences et modèle? dans l’outil des exigences? dans le modèle? ailleurs?
- Comment être averti qu’un lien est devenu suspect? Il peut devenir suspect quand l’exigence a changé, mais aussi quand le modèle a changé… et parfois un modèle peut avoir beaucoup évolué sans que l’élément de modèle au bout du lien ait évolué (cas d’un paquet ou d’un bloc par exemple dont le nom reste identique mais dont le contenu a évolué…)
- Peut-on tracer les exigences vers des diagrammes ? est-ce une approche valide vis-à-vis des autorités de certification?
- Comment maintenir les liens de traçabilité quand les exigences et les modèles évoluent en parallèle?
- …
La qualité des exigences peut être guidée par l’utilisation de « canevas » d’exigences (« le système devrait faire… ») et par l’utilisation de règles syntaxiques ou sémantiques qui seront vérifiées sur la base d’exigences. Certains outils se sont spécialisés dans ce support à l’écriture d’exigences textuelles de bonne qualité.
Quant un système ou logiciel est complexe et/ou critique et nécessite beaucoup d’efforts pour garantir une bonne cohérence entre les exigences, nous préconisons de combiner les bonnes pratiques d’écriture textuelle des exigences avec une approche basée sur l’utilisation des modèles. L’idée est utiliser les modèles pour transformer les besoins et attentes en exigences et pour rafiner et transformer les exigences de niveau système en exigences de niveaux inférieurs (sous-système, logiciel ou matériel).
La modélisation aide principalement à maturer rapidement les exigences très tôt dans le cycle de définition/développement et dès les premières itérations grâce aux étapes suivantes:
- identification/capture des exigences grâce aux différents points de vue que le modèle permet d’exprimer sur le contexte du système
- formalisation cohérente des exigences: cohérence locale obtenue par construction grâce aux diagrammes et cohérence globale grâce à l’utilisation d’une démarche systématique permettant de relier les éléments de modèle entre eux; cela permet de détecter les ambiguïtés, erreurs et possibles manques dans les attentes et dans la définition du système ou de son architecture.
- vérification et validation des exigences tôt dans le cycle de développement grâce à l’analyse, la revue et la simulation des modèles qui les représentent, et en présence des parties prenantes.
Note: Samares Engineering a animé un groupe de travail de l’AFIS (Association Française des Ingénieurs Système) sur « l’ingénierie des exigences dans un contexte d’utilisation des modèles et pendant la phase de définition d’architecture ». La contribution des différents participants industriels a permis de construire un livre blanc, actuellement en revue par la direction technique de l’AFIS. Nous espérons une publication prochaine (avant fin février 2016). Un lien sera fourni sur notre site.
Concernant les outils de gestion et traçabilité des exigences nous avons une bonne expérience sur la plupart de ceux utilisés dans l’industrie aujourd’hui: l’onglet « Sélection d’outil d’ingénierie des exigences » vous donnera un bon aperçu.
Concernant les outils de modélisation utiles pour la formalisation et transformation des exigences, voyez Outils de modélisation des exigences
A titre d’exemple pour les spécificités de processus, dans le cadre d’ingénierie logicielle la capture du besoin n’est pas fondamentale dans la mesure où les exigences amont sont en général bien identifiées par l’équipe « système » qui les fournit. Les capacités de capture des exigences sont donc peu utiles pour le choix d’un outil.
Concernant l’outillage du client, si l’ingénieur système ou logiciel doit utiliser un outil de modélisation se trouvant sur son poste de travail, un critère important sera de pouvoir tracer les exigences vers les éléments de modèle fournis par cet outil. Une connexion directe entre les 2 outils sera forcément plus appréciée qu’un travail indirect via des identifiants. Or ce type d’intégration sur le poste client n’est pas toujours bien supporté par les solutions basées « navigateur », ce qui constitue une forte tendance depuis quelques années…
Voici une liste de quelques outils que nous avons évalué récemment pour certains de nos clients:
- Polarion (Siemens)
- Integrity Lifecycle Manager (PTC)
- Aras Innovator Requirements (Aras)
- JAMA (Jama Software)
- DOORS NG (IBM)
- Reqtify (Dassault Systems)
- ProR (Eclipse community)
L’idée principale est d’utiliser les modèles pour formaliser les exigences et les décliner à différents niveaux de raffinement de façon à pouvoir établir des liens de traçabilité au travers des modèles.
Samares Engineering a animé un groupe de travail de l‘AFIS, (Association Française des Ingénieurs Système) sur « l’ingénierie des exigences dans un contexte d’utilisation des modèles et pendant la phase de définition d’architecture ». La contribution des différents participants industriels a permis de construire un livre blanc: Requirements and Architecture within Modelling context.
Note: ce livre blanc est aussi disponible directement ici sur le magasin de l’INCOSE.
Le schéma ci-dessous présente les différents types de modèles préconisés par Samares Engineering pour transformer les exigences entre les différents niveaux d’ingénierie.
Pour plus d’information, renez-vous sur la partie « IDM » ici.
Exemple de mission
- Choisir un outil de gestion et traçabilité d’exigences capable de:
- supporter le processus d’ingénierie du client
- s’intégrer avec l’environnement « outil » du client
- permettre une navigation entre les différents artefacts d’ingénierie reliés par des liens de traçabilité, notamment les liens entre exigences et éléments de modélisation
- Appliquer un processus formel de sélection d’outil pour faciliter la compréhension du choix par la direction et les autres départements:
- Définition formelle d’un ensemble de critères, avec précision permettant de les évaluer de 1 à 5
- Justification des critères haut niveau utilisés pour initier une première liste de 10 outils
- Justification pour l’affectation des poids de chaque critère en accord avec le client
- Note d’évaluation de chaque critère pour chaque outil et commentaires pour justifier la note si besoin
- Formalisation du processus d’ingénierie afin de détailler les activités concernant l’ingénierie des exigences et la traçabilité (import des exigences amont, transformation/raffinement en exigences courantes, définition d’architecture et traçabilité avec les exigences courantes, …, analyse des changements sur les exigences amont…)
- Détail de tous les outils connectés aux activités d’ingénierie des exigences ( gestion de version, modélisation, tests, gestion documentaire…, )
- Definition des critères clef de sélection d’outil d’exigences en partant des critères standard pour ce type d’outil (ISO/IEC TR 24766:2009) et en prenant en compte le processus client et son environnement
- Evaluation des outils de gestion et traçabilité d’exigences en regard des critères définis précédemment