# Journée thématique QeR Assurance Qualité Logiciel :
Référentiels et normes de codage

Zenaida Tucsnak

► To cite this version:

Zenaida Tucsnak. Journée thématique QeR Assurance Qualité Logiciel : Référentiels et normes de codage. École thématique. Journée thématique QeR Assurance Qualité Logiciel, Paris, France. 2019. cel-02111955

HAL Id: cel-02111955

https://hal.science/cel-02111955v1

Submitted on 26 Apr 2019

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons CC BY-SA 4.0 - Attribution - ShareAlike - International
License
# Journée thématique QeR
## Assurance Qualité Logiciel

18 avril 2019 à Paris
# Référentiels et normes de codage
# Analyse qualité logicielle

## Assurance qualité :

"Mise en œuvre d'un ensemble approprié de dispositions préétablies et
systématiques destinées à donner confiance en l'obtention de la qualité requise."
(AFNOR)

* Organisation : définir les besoins, spécifier, planifier, concevoir, développer, valider, qualifier, distribuer, maintenir

* Contrôle : valider, vérifier

* Communication: manuel qualité, plan qualité
# Normes /standards

* **Norme:** ensemble de règles de conformité ou de fonctionnement légiféré par un organisme de normalisation mandaté: AFNOR, ISO, CEN, IEEE.

> « Document établi par consensus et approuvé par un organisme reconnu, qui fournit, pour des usages communs et répétés, des règles, des lignes directrices ou des caractéristiques, pour des activités ou leurs résultats garantissant un niveau d'ordre optimal dans un contexte donné. » (ISO)

> 98% des normes sont « d'application volontaire »

* **Référentiel:** ensemble de recommandations ou de préférences préconisées par un groupe d'utilisateurs caractéristiques et avisés

* **Standard de facto:** référentiel à diffusion large
# Normes pour un plan AQL

* La norme IEEE 730 décrit le contenu d'un plan d'AQL pour un logiciel

* ISO 15939 (SWEBOK)

* modèles de la qualité des produits logiciels :statique, manuelle, analytique,dynamique

* les modèles de maturité et de pratiques logicielles
# Normes pour un plan AQL

* ISO 9126

* ISO 25000

* qualité interne

* qualité externe

* qualité en service

* ISO 12207: gestion de la qualité
# Evaluation de la qualité

* CMMI (Capability Maturity Model Integration) : développement

* ISO 15504

* ITIL et ISO 2000 : gestion de service et infrastructure

* CobIT : audit interne
# ISO 9001

<figure><img src="image_2.png" /></figure>

- ISO 9001

- ISO 9003

Processus et produit
# ISO 9001

ISO : International Standardization Organization

* ISO 9000 : ensemble de recommandations et standards pour la garantie de la qualité dans les relations clients-fournisseurs

* ISO 9001-1 recommandations pour l'utilisation de ces standards

* ISO 9001 : fourniture de logiciels, certification pour le logiciel

* ISO 9003 : guide pour l'utilisation des standards ISO 9001 pour la fourniture de logiciels
# CMMi (1986)

## Capability Maturity Model

Référentiel pour classifier une organisation (SSII) qui développe du logiciel selon sa compétence (niveau)

1. initial: le logiciel est développé sans méthode prédéfinie.

2. reproductible (repeatable)

3. défini: il existe un système commun pour toutes les activités de développement

4. géré(managed) : le procédé de développement logiciel est stable

5. en optimisation constante(optimizing) :
# ISO 9001/CMMi

## CMM

### ISO 9001

* norme

* définit un cadre pour les rapports clients fournisseurs.

* Grille dédié à l'industrie du logiciel
La vérification et la validation

* analyse de situation critique

* analyse d'allocation d'exigences logicielle / utilisateur / matériel

* analyse de traçabilité

* analyse de sécurité

* analyse de risques

* test de logiciel
# Analyse de programme

Déduire mécaniquement des propriétés sur le comportement d'un programme
sans l'exécuter.

Domaines d'application :

* la compilation (optimisation de code)

* la vérification
# Analyse statique/dynamique

## Vérification statique :

* réalisée au moment de la compilation ou de l'installation

* caractérise toutes les exécutions possibles

* approximative : considère plus d'exécutions que nécessaire

* peut prédire l'arrêt...

## Vérification dynamique :

* occasionne un cout à l'exécution

* ne caractérise qu'une exécution (ou un sous ensemble)

* précise : connait l'état courant du programme

* ne peut pas regarder dans le futur
# Règles de codage

* facilitant la lecture

* facilitant la modification

* facilitant la portabilité

* règles évitant les erreurs de programmation

MISRA C : ensemble de règles initialement réalisées pour l'automobile et

MISRA C++ : version de MISRA C adaptée au langage C++
# Les revues et les audits

* La revue de gestion

* La revue technique

* La revue de type inspection

* La revue de type 'walk-through'

* L'audit.
# Gestion des risques

* la gestion des configurations

* la gestion du risque
# Application de la qualité

* le domaine du système dans lequel le logiciel les exigences de système et de logiciel

* les composants : internes, externes ou standard

* les normes spécifiques de génie logiciel

* les outils logiciels et méthodes à employer pour le développement et la maintenance ainsi que l'évaluation et l'amélioration de la qualité

* le budget, le personnel, l'organisation du projet, les plans et l'établissement de l'échéancier de tous les processus

* les utilisateurs et l'utilisation prévus du système

* le niveau d'intégrité du système

* la taille de l'organisation

* la répartition géographique des équipes de développement

* la diversité culturelle