Chapitres 12-14 Flashcards

1
Q

La conception de l’architecture est guidé par les besoins

A

non-fonctionnels

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

La conception architecturale inclu la conception…

A
  • des interfaces utilisateurs du logiciel
  • des bases de données
  • des points de contrôle du logiciel
  • du réseau
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Conséquence d’un couplage fort entre modules M et N

A

Changer M nécessite de changer N

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

4 principes d’un bonne
conception architecturale

A
  • Faible couplage et forte cohésion
  • Réutilisation
  • Conception modulaire
  • Conception évolutive
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Conception évolutive

A

Minimiser l’effort d’apporter des modifications au logiciel après le développement initial

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

Conception modulaire

A

Décomposition en modules indépendants et interchangeables qui contiennent tout ce qui leur est nécessaire pour exécuter un aspect d’une fonctionnalité

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

Rigidité

A

Logiciel difficile à modifier car chaque changement impacte beaucoup trop de parties du système

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

Fragilité

A

Quand on effectue une modification, des parties imprévues du système ne fonctionnent plus

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

Immobilité

A

Difficile de réutiliser un composant dans une autre application car on ne peut la démêler de l’application courante

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

Librarie

A

Ensemble de programmes/modules réutilisables

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

But du programmation orientée composants

A

maximiser la réutilisation

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

Programmation orientée composants

A

Concevoir en assemblant des composants fortement encapsulés avec une interface concise et rigoureuse

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

Aspects d’intégration de composants

A
  • Interface avec l’architecture et l’environnement externe
  • activités communes à plusieurs composants
  • gestion et accès aux ressources matérielles cohérente pour tous les composants de la librairie
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Différents types de systèmes

A
  • interactif
  • évènement
  • transformationel
  • base de données
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

MVC

A

Modèle-vue-controleur

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

Modèle

A

encapsule l’état de l’application et répond aux demandes d’état en exposant les fonctions de l’application

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

Vue

A

fait le rendu du modèle et envoie des actions de l’utilisateur au contrôleur

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

Contrôleur

A

définit le comportement de l’application. Il traite les actions de l’utilisateur et met à jour le modèle.

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

Peer-to-peer

A

Chaque nœud joue le rôle à la fois du client et du serveur (aucun serveur central)

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

Architecture 3-tier

A

Client tier
Business logic tier
Database tier

21
Q

Polymorphism

A

Une opération définie dans plus d’une classe qui prend différentes implémentations

22
Q

Dissimulation

A

utilisation de l’encapsulation pour restreindre la perception depuis l’extérieur sur les méchanismes internes

23
Q

Généricité

A

Mécanisme pour que les clients décident du type d’objets dans une classe à travers des paramètres passé lors de la déclaration et qui est évalué lors de la compilation

24
Q

Singleton

A

Garantir qu’une classe n’a qu’une seule instance et offre un point d’accès global

25
Q

Patrons de conception

A

Schéma générique d’une solution à un problème récurrent dans un contexte donné.

26
Q

Objectifs des Patrons de conception

A

Augmenter flexibilité
Augmenter fiabilité
Augmenter compréhension/performance

27
Q

Patron de méthode

A

Implémente les parties invariantes d’un algorithme et laisse les sousclasses implémenter le comportement qui va varier

28
Q

SOLID

A
  • single responsibility principle
  • open-closed principle
  • Liskov substitution principle
  • interface segregation principle
  • dependency inversion principle
29
Q

Open-closed principle

A

Class must be closed to modification and open to extension.

New class functionality should be added to an existing class through inheritance, and not by modifying the existing one.

30
Q

The Liskov Substitution Principle

A

If you have a function or class X using class A, then the replacement of class A by any of its subclasses should not break the function of X.

31
Q

Interface Segregation Principle

A

Do not overload a class and force it to implement and execute functionality that it does not need.

32
Q

Dependency Inversion Principle

A

Classes should depend on abstractions, not on specific implementations of those abstractions.

33
Q

Une bonne conception contribue à ________ d’implémentation !

A

la moitié de l’effort

34
Q

L’implémentation d’un artéfact est toujours suivi de _____

A

tests

35
Q

Taches d’implémentation

A
  • Choisir le langage de programmation le plus approprié
  • Établir les normes de programmation
  • Répartir l’effort de travail
  • Implémenter = coder + tester
  • Intégrer
36
Q

Le développement de ______ est crucial pour la programmation distribuée

A

interfaces

37
Q

Le but de standardiser est de…

A

rendre la maintenance plus facile

38
Q

L’imbrication d’expressions SI ne doit pas dépasser ___ niveaux

A

3

39
Q

Path pour code source (Java)

A

src/main/java/

40
Q

Path pour tous le code et autres
fichiers pour les tests.

A

src/test/

Doit correspondre à la structure de main/

41
Q

Path pour fichiers, text, images, etc…

A

src/main/resources/

42
Q

fichiers classes compilé

A

target/

43
Q

la documentation générée

A

doc/

44
Q

Débogage

A

Processus méthodique de trouver et réduire le nombre de défauts dans un programme lors de l’exécution afin qu’il se comporte tel qu’attendu

45
Q

Défaut bloqueur

A

empêche de poursuivre les tests jusqu’à ce qu’il soit corrigé ou une alternative est identifiée

46
Q

Défaut critique

A
  • impossible d’éviter la perturbation d’opérations essentielles;
  • sécurité compromise
47
Q

Défaut majeur

A

opération essentielle est affectée, mais on peut continuer

48
Q

Défaut mineur

A

opération non-essentielle est perturbée

49
Q
A