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
Patrons de conception
Schéma générique d’une solution à un problème récurrent dans un contexte donné.
26
Objectifs des Patrons de conception
Augmenter flexibilité Augmenter fiabilité Augmenter compréhension/performance
27
Patron de méthode
Implémente les parties invariantes d’un algorithme et laisse les sousclasses implémenter le comportement qui va varier
28
SOLID
- single responsibility principle - open-closed principle - Liskov substitution principle - interface segregation principle - dependency inversion principle
29
Open-closed principle
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
The Liskov Substitution Principle
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
Interface Segregation Principle
Do not overload a class and force it to implement and execute functionality that it does not need.
32
Dependency Inversion Principle
Classes should depend on abstractions, not on specific implementations of those abstractions.
33
Une bonne conception contribue à ________ d’implémentation !
la moitié de l’effort
34
L’implémentation d’un artéfact est toujours suivi de _____
tests
35
Taches d’implémentation
* 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
Le développement de ______ est crucial pour la programmation distribuée
interfaces
37
Le but de standardiser est de...
rendre la maintenance plus facile
38
L’imbrication d’expressions SI ne doit pas dépasser ___ niveaux
3
39
Path pour code source (Java)
src/main/java/
40
Path pour tous le code et autres fichiers pour les tests.
src/test/ Doit correspondre à la structure de main/
41
Path pour fichiers, text, images, etc...
src/main/resources/
42
fichiers classes compilé
target/
43
la documentation générée
doc/
44
Débogage
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
Défaut bloqueur
empêche de poursuivre les tests jusqu’à ce qu’il soit corrigé ou une alternative est identifiée
46
Défaut critique
* impossible d’éviter la perturbation d’opérations essentielles; * sécurité compromise
47
Défaut majeur
opération essentielle est affectée, mais on peut continuer
48
Défaut mineur
opération non-essentielle est perturbée
49