Maintenabilité
# Maintenabilité

La maintenabilité est, dans le domaine informatique, la capacité pour des composants ou des applications à être maintenus, de manière cohérente et à moindre coût, en état de fonctionnement. Plus généralement, dans l'industrie le terme exprime la capacité d'un système à être simplement et rapidement réparé et ainsi à diminuer les temps et les coûts d'intervention.

## Calcul de la maintenabilité

La maintenabilité d'un système est souvent caractérisée lors de sa conception. Elle se calcule suivant les temps moyen d'intervention et suit une loi log-normale.

## Amélioration de la maintenabilité

Les solutions permettant une meilleure maintenabilité sont diverses :

* la conception par sous-ensembles faciles à démonter et à interchanger (un stock de ces sous-ensembles sera alors à prévoir)
* la non-utilisation de composants commerciaux à l'approvisionnement difficile (un seul fournisseur).
* une parfaite communication entre opérateur logistique et technicien de maintenance.

## L'indice de maintenabilité

En informatique, l'indice de maintenabilité (en anglais maintainability index) est calculé à partir de certaines formules des mesures de lignes de code, des mesures McCabe et des mesures Halstead.

L'index de maintenabilité a pour objectif d'aider à créer des logiciels faciles à entretenir. Il indique également quand il devient plus facile et moins coûteux de réécrire le code que de le modifier.

Aujourd'hui, la mesure de la maintenabilité utilise aussi des indices reposant sur d'autres critères que le code. Par exemple, la mesure de la dépendance d'un logiciel par rapport à d'autres logiciels (externe ou interne) est un indicateur prépondérant de la complexité de la maintenance du dit logiciel.

On pourrait citer aussi comme indicateurs sensibles : documentation (qualité, complétude, automatisation et taux de mise à jour), tests (qualité, complétude et taux de mise à jour).

## Outils

* Testwell CMT++ (pour C et C++)
* Testwell CMTJava (pour Java)
