Présentation
EnglishNOTE DE L'ÉDITEUR
Cet article est la version actualisée de l’article intitulé « Apport
d’une norme de qualité dans la conduite d’un projet logiciel basé sur UML », écrit par Marie Christine LAFAYE et publié par nos éditions en 2009.
RÉSUMÉ
Cet article traite de la norme de qualité ISO/CEI 12207 : 2008 (E) IEEE Std 12207™ intitulée «Ingénierie des systèmes et du logiciel - Processus du cycle de vie du logiciel». Il est montré comment cette norme applique les principes de base de l’assurance qualité. Puis la norme est comparée avec deux cadres de référence de production du logiciel: RUP et l’approche Agile décrite par SBOK™ pour la mise en œuvre de Scrum. La mise en œuvre de cette norme est détaillée à travers l'utilisation du langage de modélisation UML et son impact sur les caractéristiques des modèles de produit UML associés est étudiée. Un exemple d’illustration est fourni.
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleAuteur(s)
-
Marie Christine LAFAYE : Maître de conférences honoraire - Université de La Rochelle, France
-
Annick LASSUS : Professeur Agrégé - IUT, Université de La Rochelle, France -
INTRODUCTION
Pour représenter les systèmes d’information, plusieurs types de modèles (ou modèles de produit) sont élaborés. La complexité d’un système d’information est telle qu’il est nécessaire de combiner plusieurs points de vue avec différents niveaux d’abstraction. On distingue classiquement les points de vue fonctionnel, dynamique et ontologique et les niveaux conceptuel, organisationnel, logique et physique. Nous nous intéressons au cas où le projet logiciel à conduire est intégré dans un système d’information particulier.
Les normes de la famille ISO 9000 : 2000, dont la dernière révision date d’octobre 2015, sont la référence internationale en assurance qualité. Pour faciliter leur application, des normes outils sont proposées, telle la norme ISO/IEC 12207, elle-même révisée en 2008. Nous montrons comment cette norme applique les principes de base de l’assurance qualité. Cette norme préconise une approche processus. Un « processus » y est défini comme un « ensemble d'activités corrélées ou interactives qui transforment des éléments d'entrée en éléments de sortie ». Les éléments de sortie sont dans la plupart des cas des modèles de produit. Pour décrire les différents modèles de produit, nous disposons depuis plusieurs années du langage de modélisation UML (Unified Modeling Language).
La mise en œuvre avec le langage UML est généralement associée au modèle de processus RUP (Rational Unified Process). L’usage des méthodologies « Agiles », apparues depuis le début des années 1990, s’est répandu au sein des entreprises de services numériques. Ces méthodologies sont, quant à elles, indépendantes d’UML, ce qui ne veut pas dire qu’on s’y interdit l’usage d’outils de modélisation. Parmi elles, nous avons choisi de présenter Scrum et plus particulièrement sa déclinaison processus : le guide de connaissance SBOK™ (Scrum Body of Knowledge). RUP et SBOK™ sont des processus génériques, c’est-à-dire qu’ils proposent une trame commune à adapter en fonction du projet traité. Nous montrons que chacun d’eux correspond à une mise en œuvre particulière de la norme ISO/IEC 12207.
Dans la version 2.5, UML propose 14 types de diagrammes différents. Cette richesse de représentation a pour corollaire une difficulté de mise en œuvre : quel diagramme choisir ? Comment utiliser les différents éléments de modélisation associés en fonction du point de vue et du niveau d’abstraction ? Quel objectif poursuit-on en utilisant UML : mode « esquisse » pour communiquer certains aspects du système, ou mode « plan » qui permet de préparer la génération du code ? Quoi qu’il en soit, le but de cet effort de modélisation est d’améliorer la qualité du logiciel produit en améliorant la qualité de son mode de production.
Dans cet article, nous privilégions l’étude des types de modèles de produit élaborés avec UML pouvant être construits pour chaque activité des processus d‘implantation de logiciel : analyse des exigences, conception de l’architecture, conception détaillée et pour les processus d’ingénierie du domaine et de conception de l’architecture système. Nous fournissons en annexe des exemples de diagrammes UML correspondant à ces modèles de produit et illustrant comment mettre en œuvre une approche Agile avec l’AGL (Atelier de Génie Logiciel) UML Modelio.
VERSIONS
- Version archivée 1 de août 2009 par Marie Christine LAFAYE
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
2. Indépendance de la norme vis-à-vis des modèles de cycle de vie
Dès le début des années 1970, des modèles de processus de développement du logiciel ont été identifiés et qualifiés de modèles de cycle de vie. Un modèle de cycle de vie propose non seulement les types de tâche à effectuer, mais aussi leur enchaînement.
Le cycle de vie en cascade permet principalement d’identifier les différentes phases de production du logiciel et met en œuvre un chaînage avant pour le projet par validation de chaque phase avant le passage à la phase suivante. Ce modèle a pour inconvénient d’entraîner de nombreux retours arrière, car il arrive fréquemment que des corrections sur les phases précédentes soient nécessaires. Ce modèle reste néanmoins valable pour les projets de petite taille (avec une phase de codage réduite), dont les besoins sont parfaitement connus et stables, et pour lesquels l’équipe projet maîtrise les difficultés. La norme ISO/IEC12207 permet d’appliquer ce modèle de cycle de vie. Il suffit d’effectuer les différentes activités qu’elle propose dans l’ordre de numérotation de la norme.
Le cycle en V concerne des projets de taille plus importante car il permet de les fractionner et de réduire le délai de production en décomposant la phase de validation en deux temps : la spécification des tests de validation et d’intégration se fait en même temps que l’analyse et la conception. Leur exécution est réalisée après la phase de codage. L’activité 6.4.3.3.1 du processus de conception de l’architecture du système (6.4.3) permet de fractionner le projet en identifiant notamment les différents éléments logiciels qui seront ensuite étudiés au cours de l’activité 7.1.2.3.1 du processus d’analyse des exigences du logiciel (7.1.2).
Pour garantir que le logiciel produit correspond aux attentes des utilisateurs qui évoluent avec le temps et qu’il est difficile de cerner, la construction finale du produit logiciel s’obtient par une suite de prototypes réalisant des évolutions incrémentales (voir à ce sujet les travaux sur le cycle de vie en spirale de Boehm ). Les...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Indépendance de la norme vis-à-vis des modèles de cycle de vie
BIBLIOGRAPHIE
-
(1) - AFNOR - Ingénierie et qualité du logiciel et des systèmes, Tome 1, Définition des processus et qualité des produits. - ISBN 2-12-236141-7 (2002).
-
(2) - BOEHM (B.) - A Spiral Model of Software Development and Enhancement. - ACM SIGSOFT Software Engineering, Volume 11 Issue 4, August 1986 Pages 14-24 (1986).
-
(3) - KRUTCHEN (P.) - Introduction au Rational Unified Process. - Eyrolles (2000).
-
(4) - BOOCH (G.), RUMBAUGH (J.), JACOBSON (I.) - Le guide de l’utilisateur UML. - Eyrolles (2000).
-
(5) - FOWLER (M.) - UML 2.0. - Campus Press (2004).
-
(6) - KRUTCHEN (P.) - How the Rational Unified Process Supports ISO 12207. - The Rational Edge : IBM...
DANS NOS BASES DOCUMENTAIRES
-
Référentiels normatifs – Processus d’ingénierie informatique.
-
Référentiels normatifs – Gestion du cycle de vie du logiciel.
-
Langage UML : développement de logiciel et modélisation visuelle.
-
Sys ML : une notation pour spécifier et concevoir des systèmes.
-
UML : une notation pour spécifier et concevoir des logiciels.
-
Sys ML/UML : comment les utiliser ? Avec quelle méthode ? Un exemple d'application...
Modelio version 3.5.0, http://www.modeliosoft.com/fr.html
Zend Framework version 2, https://framework.zend.com/learn
HAUT DE PAGE
Scott Ambler Modélisation Agile, http://www.agilemodeling.com
HAUT DE PAGE
ISO/IEC 12207 - IEEE Std 12207-2008 Second Edition 2008-02-01‘Systems and software engineering – software life cycle processes’.
ISO/IEC/IEEE 15288:2002 - Ingénierie des systèmes et des logiciels – Processus du cycle de vie du système.
OMG Business Process Model and Notation (BPMN), http://www.bpmn.org.
OMG Unified Modeling Language (UML), http://www.uml.org.
OMG Model-Driven Architecture (MDA) http://www.omg.org/mda.
OMG Common Warehouse Metamodel (CWM™), http://www.omg.org/spec/CWM/.
The Open group Architecture framework (TOGAF®), http://www.opengroup.org/togaf/.
...Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive