|
Qu'est-ce que la qualité en matière
de logicielDes 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 EiffelEn 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
|