Download suivant
Transcript
Qu’est-ce qu’un module? Une partie d’un logiciel correspondant à une unité fonctionnelle reliée aux données qu’il manipule. Une unité fonctionnelle : une fonction élémentaire / une fonction complexe (ensemble de fonctions). Exemples Pascal module = procédure C module = fonction Fortran module = sous-programme Ada module = package Pourquoi une structure modulaire ? - Structure maîtrisable : « diviser pour régner » - Qualités acquises d’un logiciel : facilité de modification, facilité de vérification, facilité de réutilisation. - Changement facile : caractéristique principale des logiciels. Relation : inclure / utilise / call Propriété : validité / sécurité Contraintes : localisation / matériel / taille des modules D'autres définitions au terme architecture logicielle ont été proposées dont: • • • "A Software architecture is the structure of the components of a program/system, their interrelationships, and principles and guidelines governing their design and evolution over time" (Garlan et Perry, IEEE 1995) "A Software architecture is an abstract system specification consisting primarily of functional components described in terms of their behaviors and interfaces and component-component interconnections" (Hayes-Roth,1994) "The software architecture of a program or a computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships among them" (Bass, Clement and Kazman, 1997) 4. Caractéristiques d'une bonne conception Une bonne conception en modules devra favoriser : • Une forte cohésion : les éléments ne sont pas réunis par hasard dans un même module. Ils forment un tout dans le but de réaliser une tâche commune. • Un faible couplage : les modules sont relativement indépendants. • L’abstraction : prendre en considération ce dont on a besoin pour l’utilisation souhaitée (considérer uniquement les aspects importants d’un système à un moment donné en faisant abstraction des autres aspects. • Le masquage d’information : seules les informations qui servent à la communication avec d’autres modules sont visibles de l’extérieur du module. 5. Stratégies de conception Comment procéder à la décomposition en modules ?