Chapitre 9-11 Flashcards
Conception architecturale
- haut niveau
- définit la structure et l’organisation générale du logiciel
Conception détaillée
- bas niveau
- décrit le fonctionnement interne de chaque module
On veut décomposer le design en modules de sorte qu’on ________ les interactions au sein du module
maximise
On veut décomposer le design en modules de sorte qu’on ________ les interactions entre les modules
minimise
Cohésion d’un module
Degré d’interaction au sein du module
Couplage d’un module
Degré d’interaction entre les modules
Abstraction
Décomposition intuitive exprimée en terme du problème, qui permet de se concentrer sur un module à la fois
Encapsulation et dissimulation d’information
Détails d’implémentation propices à changer sont cachés derrière une interface stable
La conception évolutive tiens en compte
– Des besoins existants
– Des besoins à venir
module
- Une séquence lexicalement contiguë d’instructions de programme, délimité par des éléments frontières, accessible par un identifiant global.
- Morceau de code encapsulé auquel on peut référé par un nom et qui peut être utilisé via une interface bien définie
Syntaxe d’un attribut
[visibilité] [portée] <nom> : <type> [= <valeur_initiale>]</valeur_initiale></type></nom>
Syntaxe d’une operation
[visibilité] [portée] <nom> (<params>) : <type_resultat></type_resultat></params></nom>
préfixe pour les attributs “public”
+
préfixe pour les attributs “private”
-
préfixe pour les attributs “protected”
#
préfixe pour les attributs “package”
~
Syntaxe des Paramètres des Opérations
<direction> <nom> : <type> [= valeur_initiale]
</type></nom></direction>
Paramètre “in”
La valeur du paramètre est transmise à l’appel de la méthode (par l’appelant de la méthode) et ne peut pas être modifiée
Paramètre “out”
La valeur finale du paramètre est transmise au retour de l’appel de la
méthode
Paramètre “inout”
La valeur du paramètre est transmise à l’appel et au retour
Attributs Calculés
Attributs dont leurs valeurs sont proposées au travers d’une fonction utilisant les autres attributs précédemment exprimés.
- nom précédé du signe « / » et suivi d’une contrainte permettant de le calculer
Cardinalité d’un attribut
Indique le nombre de valeur que l’attribut peut contenir (l’attribut est souvent un tableau de valeurs, statique ou dynamique)
Enumération
Déclare des types discrets ou un ensemble fini de valeurs possibles
Association réflexive
Une association qui lie une classe avec elle-même
Association n-aire
Une association qui lie plus de 2 classes entre elles
Classe-association
Une association avec ses propres attributs, qui ne sont disponibles dans aucune des classes qu’elle lie.
agrégation
Forme particuliere d’association qui represente la relation d’inclusion d’un element dans un ensemble
composition
contenance structurelle entre instances
Un diagramme de séquence
– Décrit les CU en mettant en évidence les interactions entre les instances des classes (objets) du logiciel
– Capture le comportement dynamique du système
– Montre la séquence au cours du temps des échanges de messages entre les objets participant à un scénario
Message Synchrone
Émetteur bloqué en attente du retour
Message Asynchrone
Émetteur non bloqué, continue son exécution
Syntaxe des messages synchrones et asynchrones
numéro : nom(parametres)
Syntaxe des réponses
numéro : attribut = nomMessage (paramètres) : valeurDeRetour.
Message perdu
un message dont nous connaissons l’émetteur mais pas le récepteur.
Message trouvé
un message dont nous connaissons le destinataire mais pas l’émetteur.