logo ABC_logo SHOP_logo

Français

English

Identité

Produits

Librairies

Formations

Downloads

Contact

Partenaires

Demo ABC

Qu'est-ce que la qualité en matière de logiciel

Des composants logiciels doivent avoir les trois qualités suivantes:
  • Fiabilité,
  • extensibilité,
  • efficacité.

Fiabilité .

Le tout premier objectif est la fiabilité. Est-il utile d'insister sur le fait qu'il est dangereux de réutiliser des composants non fiables. Ceci est une évidence. Mais, la question qui suit sera : quand un composant est-il fiable? La seule réponse sensée est: lorsqu'il remplit son cahier des charges, et que, bien sur, l'utilisateur a accès au dit cahier des charges. Pour répondre à ce problème.

Extensibilité

L'extensibilité est cette propriété qu'un module à d'être la source partielle ou unique d'un autre composant soit plus spécialisé soit intersection de plusieurs concepts.

Efficacité .

L'efficacité est la propriété d'un logiciel d'utiliser au mieux la plateforme matériel sur laquelle il fonctionne tant du point de vue vitesse que du point de vue de quantité de resource utilisée notamment en terme de mémoire.

L'aproche Eiffel

En Eiffel, l'approche de la qualité ne peut pas ce concevoir indépendament de la réutilisabilité. La méthode ou le langage, qui sont indissociables, postule que la qualité ne s'obtient que progressivement grâce à un travail constant du code visant à atteindre le plus parfaitement possible la spécication tout en ne sacrifiant pas les performances. Toutes les questions de qualité sont donc rapportées à celles de chaque composants, ou plus précisément à chaque type de composant appelé classe.

Fiabilité .

Eiffel répond à la question de la fiabilité par la programmation par contrattm. Il s'agit d'un système d'assertions qui encadre le code en définissant ainsi la spécification (formelle) de la classe. Ces assertions définissent les propriétés permanente de tout représentant (instance) de la classe par les invariants. Elles définisse ensuite les conditions d'utilisation des routines par le biais des précoditions et enfin la qualité du travail de ces routine par les post-coditions.

Extensibilité

Eiffel répond a ce problème par l'héritage simple et multiple. Mais pas n'importe quel héritage pour simplifier la vie du programmeur pressé. Il s'agit ici d'héritage sémantique. Autrement dit: héritage du code et des contraintes à respecter, celles-ci étant la condition de la fiabilité.

Efficacité .

En terme de performance, Eiffel se compare aisément au langage orienté machine tel que C/C++. Pour de petit projet concernant de manipulation de tableau numériques, EIffel donne des performances égales à du code C optimisé à la main. Mais, pour des systèmes plus complexes, l'optimiseur d'Eiffel n'est jamais ni distrait ni fatigué!

Réutilisabilité .

Au coeur de cette stratégie se trouve la réutilisation. celle-ci commence, pour un développement par Objet, par l'usage des composants mis à disposition par les vendeurs des compilateur et des d'environnements de développement. Ici, aussi l'approche d'Eiffel est très en pointe. Contrairement à d'autres langages Objets qui ont plusieurs dialectes et donc des librairies de base différentes qui rendent les portages entre dialectes extrêmement pénible, Eiffel n'a pas de dialecte. Mais comme le monde du logiciel ne commence pas avec la technologie Objet la première réutilisation à promouvoir est celle des librairies existantes. Eiffel répond à cette question par un mécanisme d'interfaçage C et C++ très soigné. Non pas par une porte ouverte aux attitudes brouillonnes, mais bien par une méthode d'encapsulation objets, d'entités qui ne l'étaient pas. Par cette approche on obtient a nouveau un renforcement de la qualité. Mieux, on parvient même a équiper d'un ramasse miette des langages qui n'en peuvent avoir! Eiffel doit donc être aussi considéré comme un outil d'intégration.
Abstraction.ch all rights reserved