Donne la définition de conception
Offrir une solution implémentable
Le workflow de la conception détermine quoi ?
La structure interne du logiciel : comment il va atteindre ses buts
Vrai ou faux ? Bonne conception contribue à la qualité du logiciel
Vrai (fiabilité, flexibilité, modularité)
Donne les deux types de conceptions
Conception architecturale (haut niveau)
Conception détaillée (bas niveau)
Défini la conception architecturale
Défini la conception détaillée
Donne les objectifs d’une bonne conception
Forte cohésion, faible couplage, abstraction, encapsulation et dissimulation d’information
Qu’est-ce qu’une forte cohésion ?
Éléments ne sont pas réunis dans un même module par hasard, ils forment un tout pour réaliser une tâche
Qu’est-ce qu’un faible couplage ?
Modules sont relativement indépendants : dépendent le moins possible des éléments d’autres modules
Qu’est-ce qu’une abstraction ?
Décomposition intuitive exprimée en termes du problème, qui permet de se concentrer sur un module à la fois
La conception doit tenir compte de quoi ?
Des besoins existants, des besoins à venir
Qu’est-ce qu’une encapsulation et dissimulation d’information ?
Détails d’implémentation propices à changer sont cachés derrière une interface stable
Vrai ou faux ? On doit obtenir une conception qui facilite l’adaptation du logiciel aux changements
Vrai, les types de changements sont :
* Fonctionnalité, algorithme
* Représentation des données * Environnement
* Processus de développement
Devrait-on diviser le système en petits modules ?
Oui, ils sont individuellement plus faciles à concevoir et implémenter
Qu’est-ce qu’un module ?
Le système est partitioné en modules distincts mis en relation. Quelles sont les relations ?
Pourquoi devrions-nous établir une hiérarchie ?
Explique la différence entre l’interface et l’implémentation
Interface: partie publique
* Quoi offrir ? Analyse et conception
* Ensemble des ressources (opérations, attributs…) rendues accessibles aux autres modules (« clients »)
* Conception d’un module ne nécessite que les interfaces des modules qu’il pourra utiliser
Implémentation : partie privée
* Comment le réaliser ? Conception et
implémentation
* Façon dont les ressources sont concrètement représentées et réalisées dans le module
Quel est le but de la conception orientée-objet ?
But: Concevoir le logiciel en termes d’objets
Instances des classes extraites du modèle d’analyse
Décrit le diagramme de séquence
Comment les objets interagissent entre eux pour réaliser chaque CU
Il y a un ordre dans lequel les méthodes sont invoqués
Un diagramme de séquence par CU
Quelles sont les spécificités dans le diagramme des classes ?
Identifier les classes, identifier les attributs (type d’attribut : primitifs et abstraits), identifier les méthodes