Chapitre 8 : Conception Flashcards

1
Q

Donne la définition de conception

A

Offrir une solution implémentable

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Le workflow de la conception détermine quoi ?

A

La structure interne du logiciel : comment il va atteindre ses buts

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Vrai ou faux ? Bonne conception contribue à la qualité du logiciel

A

Vrai (fiabilité, flexibilité, modularité)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Donne les deux types de conceptions

A

Conception architecturale (haut niveau)

Conception détaillée (bas niveau)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Défini la conception architecturale

A
  • Définit la structure et l’organisation générale du
    logiciel
  • Décrit les modules clés du domaine, les relations entre eux et contraintes
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Défini la conception détaillée

A
  • Réalise chaque cas d’utilisation
  • Respecte le plan de la conception architecturale
  • Décrit le fonctionnement interne de chaque module * Prépare l’implémentation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Donne les objectifs d’une bonne conception

A

Forte cohésion, faible couplage, abstraction, encapsulation et dissimulation d’information

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Qu’est-ce qu’une forte cohésion ?

A

Éléments ne sont pas réunis dans un même module par hasard, ils forment un tout pour réaliser une tâche

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Qu’est-ce qu’un faible couplage ?

A

Modules sont relativement indépendants : dépendent le moins possible des éléments d’autres modules

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Qu’est-ce qu’une abstraction ?

A

Décomposition intuitive exprimée en termes du problème, qui permet de se concentrer sur un module à la fois

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

La conception doit tenir compte de quoi ?

A

Des besoins existants, des besoins à venir

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Qu’est-ce qu’une encapsulation et dissimulation d’information ?

A

Détails d’implémentation propices à changer sont cachés derrière une interface stable

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Vrai ou faux ? On doit obtenir une conception qui facilite l’adaptation du logiciel aux changements

A

Vrai, les types de changements sont :
* Fonctionnalité, algorithme
* Représentation des données * Environnement
* Processus de développement

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Devrait-on diviser le système en petits modules ?

A

Oui, ils sont individuellement plus faciles à concevoir et implémenter

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Qu’est-ce qu’un module ?

A
  • Unité fournissant des ressources et/ou des services
    • Morceau de code indépendant muni d’une interface bien définie avec le reste du
      système (ex : classes, méthode, objet…)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Le système est partitioné en modules distincts mis en relation. Quelles sont les relations ?

A
  • Relation « spécialise » : raffine les détails du module plus général
  • Relation « contient » : modules contenus dans un module parent
  • Relation « utilise » : fait référence/dépend d’un autre module
17
Q

Pourquoi devrions-nous établir une hiérarchie ?

A
  • Facilite la compréhension de la structure par niveau d’abstraction
  • Facilite les tests unitaires
  • Permet de bâtir un système partiel mais fonctionnel: de manière incrémentale
18
Q

Explique la différence entre l’interface et l’implémentation

A

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

19
Q

Quel est le but de la conception orientée-objet ?

A

But: Concevoir le logiciel en termes d’objets
Instances des classes extraites du modèle d’analyse

20
Q

Décrit le diagramme de séquence

A

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

21
Q

Quelles sont les spécificités dans le diagramme des classes ?

A

Identifier les classes, identifier les attributs (type d’attribut : primitifs et abstraits), identifier les méthodes