Introduction à la Programmation Orientée Objet

Conception par objet

  • Issue d'une réflexion menée autour de la vie du logiciel.

  • Nécessité d'utiliser des règles permettant d'assurer la qualité des réalisations et notamment des projets de grande taille.

  • Réalisation d'un logiciel = développement + maintenance (corrections, évolution)

  • Maintenance = 70 % du coût total d'un logiciel

Cycle de vie d'un logiciel

  • Cycle de vie = toutes les phases de développement du logiciel, depuis l'établissement des besoins du client jusqu'à l'achèvement du logiciel en tant que produit commercial,

  • Phases principales[1] :

    • analyse des besoins (du client ou d'un cahier des charges),

    • conception de l'architecture générale du logiciel (dans le cas de l'informatique industrielle, on inclura également l'architecture matérielle),

    • conception détaillée des différents modules du logiciel (en tenant compte de ce qui existe déjà),

    • programmation proprement dite,

    • vérification du fonctionnement de chaque module (test unitaire),

    • vérification du fonctionnement de l'ensemble des modules (test d'intégration),

    • correction des défauts détectés,

    • documentation,

    • etc.

ComplémentCycle en cascade

Le modèle précédent se rapproche du modèle en cascade suivant :

  • Avantages :

    • simplicité

    • facilité de planification des étapes et des délais

    • adapté à des petits systèmes (info. indus. par exemple)

  • Inconvénients :

    • mal adapté aux systèmes complexes,

    • révision et réflexion quasi impossible,

    • pas de validation intermédiaire

Cycle de développement logiciel en cascadeInformations[2]

Il existe cependant d'autres modèles, consultez par exemple cette référence[3].

Critères de qualité

DéfinitionValidité

Le fait qu'un logiciel effectue exactement les tâches pour lesquelles il a été conçu.

DéfinitionExtensibilité

Capacité à intégrer facilement de nouvelles spécifications.

DéfinitionRéutilisabilité

Capacité des éléments logiciels à servir à la construction de plusieurs applications différentes. Les logiciels doivent être réutilisables, complètement ou en partie. En phase de conception une attention particulière est portée à l'organisation du logiciel et à la définition de ses composantes.

DéfinitionRobustesse

Aptitude à fonctionner même dans des conditions anormales.