Accueil > Archives > Expertises > Qualité et gouvernance du cycle de vie du logiciel

Qualité et gouvernance du cycle de vie du logiciel

Le département ’Software and System Engineering’ (SSE) met à jour continuellement son expertise en méthodes et outils permettant d’assurer la qualité des systèmes à base de logiciels. Cette expertise couvre tout le cycle de développement de systèmes à différents niveaux de criticité. Le département transfère activement son savoir-faire aux entreprises afin de leur assurer une ingénierie de qualité de leurs développement IT.

Enormément d’entreprises éprouvent des difficultés à garder la maîtrise des systèmes qu’elles développent. Une des raisons est que ces systèmes ne cessent de se complexifier et intègrent une portion croissante de logiciel, dont la réalisation est parfois sous-traitée à l’étranger. Les entreprises ne sont pas toujours bien armée tant en méthode qu’en outils appropriés face à cette évolution. Des problèmes récurrents sont notamment la faible qualité des cahiers de charges techniques, des architectures imprécises, un manque de maîtrise des tests, une mauvaise gestion de la traçabilité, des mauvaises pratiques de codages, un processus de documentation lacunaire, Un manque de maîtrise de certains aspects transversaux : qualité/sécurité/sûreté un . Ces problèmes, souvent combinés, résultent dans des retards des projets, des surcoûts de développement et un produit résultant moins fiable.

L’objectif du département SSE est d’aider les entreprises à intégrer des méthodologies et outils augmentant la maîtrise de leurs développements informatiques en adressant les diverses problématiques clefs citées ci-dessus et couvrant tout le cycle de développement logiciel. Une conséquence directe est la réduction des coûts associés, une augmentation de la qualité et donc une meilleure compétitivité.

Cette mission couvre les besoins spécifiques de différents types d’entreprises. Au niveau des PME, l’objectif est plus spécifiquement d’introduire et de consolider des bonnes pratiques qui font souvent défaut. Au niveau d’entreprises de plus grandes tailles ou de PME plus matures, des problématiques plus pointues peuvent se poser, notamment en termes de techniques de modélisation et de vérification rigoureuses, de production des tests, de gestion de la traçabilité, de certification

Afin de conserver une expertise avancée dans ce domaine, le département a également pour objectif de s’impliquer activement dans la recherche appliquée au niveau européen et de nouer des contacts avec d’autres partenaires de recherche et industriels à la pointe dans le domaine.

Qualité des processus


La qualité des pratiques de développement software (Software Engineering Practices) augmente la compétitivité des entreprises car elle permet d’optimiser les efforts de développement et donc de réduire les coûts, mais aussi de respecter les délais et de satisfaire les attentes du client quant à la qualité logicielle. Le CETIC dispose d’une large expertise en qualité des processus et dans les standards associés tels que CMMI, ISO 12207, ISO 15504. Pour les PME et TPE, cependant, ces normes sont trop coûteuses à mettre en œuvre. La plupart ne peuvent pas se permettre les ressources, en termes (...)

Qualité des produits logiciels

La qualité des produits logiciels résulte de la qualité du processus de développement. S’il est important d’évaluer ces derniers, il est également nécessaire de pouvoir mesurer directement la qualité des produits résultants : documents de spécification, d’architecture, plan de tests ; modèles d’aspects statiques ou dynamique du logiciel duquel du code peut-être écrit ou dérivé ; code source ; jeux de tests.
Un spectre de techniques de complexité croissante et exigeant un outillage d’autant plus spécifique peuvent être utilisée à cette fin : revues manuelles, analyse statique basée sur des métriques, analyse statique basée sur des techniques de vérification.


La qualité des produits logiciels résulte de la qualité du processus de développement. S’il est important d’évaluer ces derniers, il est également nécessaire de pouvoir mesurer directement la qualité des produits résultants, et en particulier du code source. Sur base de son expertise sur les métriques logicielles, le CETIC a adopté une approche d’analyse statique pour réaliser des mesure précises du code ciblant les caractéristiques clefs de maintenabilité, sécurité et fiabilité. Cette expertise est soutenue par des outils de pointe du laboratoire de génie logiciel rassemblant des outils les plus pertinents (...)

Test logiciel


Le test logiciel est une procédure de vérification partielle d’un logiciel basé sur l’exécution de scénarios de test et leur comparaison avec un comportement attendu conformément à la spécification définie pour son développement. Les tests peuvent être réalisés à différents niveaux d’intégration : depuis les tests de fonctions indépendantes (test unitaires), l’intégration du système (test système) et du système dans son environnement (test d’acceptance). Les tests sont intrinsèquement incomplets : ils peuvent permettre de découvrir des erreurs mais ne garantissent pas leur absence contrairement à des techniques (...)

Lignes de produits logiciels


Une ligne de produits logiciels (LPL) est un ensemble de systèmes logiciels partageant un ensemble de propriétés communes, satisfaisant des besoins spécifiques pour un domaine particulier et développée sur base d’un ensemble de composants clefs à l’aide de méthodes, outils et techniques de génie logiciel. Les lignes de produits sont connues de longues dates dans d’autres domaines de l’ingénierie notamment en automobile. L’application récente dans le domaine de l’ingénierie du logiciel se distingue des approches précédentes par son orientation sur la prédictabilité de la réutilisation alors que les (...)

Interfaces Utilisateurs


Les interactions homme-machine (IHM) s’intéressent à l’ensemble de dispositifs matériels et logiciels permettant à un utilisateur de communiquer de manière efficace et agréable avec un système informatique, voire même de contribuer à son élaboration. Les modes d’interactions possibles sont variés et peuvent être multiples au sein d’un même système, combinant par exemple des dispositifs tactiles, des interfaces graphiques et des interfaces vocales. La cohérence, l’ergonomie, l’utilisabilité et l’accessibilité de ces dispositifs sont donc des critères essentiels afin d’améliorer l’expérience utilisateur et la (...)

Accessibilité


L’eInclusion a pour but de réaliser une accessibilité non seulement en s’assurant que les TIC soient accessibles mais aussi en utilisant les TIC pour développer des solutions accessibles innovantes. L’eInclusion implique tous les individus et communautés dans tous les aspects de la société numérique afin de réduire la fracture numérique, d’éviter l’exclusion, d’améliorer la qualité de la vie, l’intégration sociale ainsi que les performances économiques en permettant à tous d’exprimer son potentiel dans un emploi. Guidé par des besoins de personnes spécifiques, de nombreuses solutions ont également des (...)