Intra Flashcards

1
Q

C’est quoi un processus de développement logiciel

A

C’est l’ensemble des étapes qui mène à la mise en oeuvre d’un logiciel

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

À quoi sert un processus de développement logiciel

A

Répondre aux besoin de gestion et planification (budget,échéancier…)
Voir le progrès
Contrôle de qualité du produit final

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

Que signifie itératif et incrémental dans un processus de développement logiciel

A

Itératif = Mini-projet testé et exécutable qui permet un feedback
Incrémental = Système croit avec chaque itération qui converge vers un produit final

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

C’est quoi les intrants (3)

A

Intrant= spécification des exigences
1)Exigence fonction
2)Exigence de qualité(Capacité,temp de réponse…)
3)Contrainte(technique,règlements…)

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

Que se passe-t-il dans la phase de conception (2 types)

A

On élabore les différentes parties du système et leurs interactions
-Conception architecturale : Séparer le système en sous-sytème
-Conception Détaillé:
Définir le contenu des sous-système

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

Quelles sont les artefacts de conceptions

A

Diagramme de classe,séquence, d’état
Des descriptions textuelles…

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

C’est quoi les objectifs de la conception orientée objet

A

Identifier les classes
Identifier les responsabilités des classes
Identifier le relations

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

C’est quoi une classe et qu’est-ce qui définit une classe

A

Une classe spécifie le comportement et état d’un ensemble d’objet du même type

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

Attribut statique vs d’instance

A

Statique = partagé par tout les objets du même type
D’instance = attribut propre à chaque objet

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

Méthode statique vs d’instance

A

Statique = n’opère pas sur un objet
D’instance = doit être appelé par un objet

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

Quelle sont les différentes visibilité d’un attribut

A

Public = toutes les classes du projet
Protected = toutes les classes d’un package et les sous-classes
Private = que lui-même

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

C’est quoi la différence entre un dépendance de type Association et Utilisation

A

Association = Connaît, possède un attribut d’une autre classe
utilisation = utilise un méthode d’un autre classe

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

C’est quoi l’héritage

A

Permet de créer des sous-classes qui permet la réutilisation des états et du comportement d’une classe général par une classe plus spécialisé

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

C’est quoi un couplage et pourquoi il faut le minimiser

A

Un couplage c’est la dépendances entres les classes et il faut minimiser pour faciliter la compréhension, la maintenance et la réutilisation des classes

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

C’est quoi la cohésion

A

C’est le fait qu’une seule classe effectue l’abstraction d’un seul concept

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

C’est quoi une classe abstraite

A

Une classe abstraite est un classe qui ne peut pas être instancié. Elle déclare des méthodes abstraites et peut implémenter ses propres méthodes et attributs

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

C’est quoi une interface

A

C’est un classe qui définit les méthodes et des variables public statiques finaux

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

C’est quoi le polymorphisme

A

C’est le fait qu’une classe client peut appeler les méthodes d’une super-classes et qu’elle exécute les méthodes redéfinit des sous-classes

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

C’est quoi les avantages du polymorphisme

A

C’est la réduction du couplage statique vu qu’une classe cliente n’a seulement besoin que d’être lié à une super-classe
Extensibilité, car l’ajout de sous-classe n’aura pas d’influence sur les relations de la classe cliente

20
Q

C’est quoi le principe de substitution de Liskov

A

Une méthode d’une sous-classe a priorité sur une super-classe,car la précondition des la sous-classe est plus forte que la super-classe

21
Q

C’est quoi l’encapsulation

A

C’est le fait de cacher le fonctionnement et l’accès d’une classe pour pas modifier une classe

22
Q

C’est quoi la loi de Demeter

A

Une classe ne doit retourner de référence à un objet qui fait partie de son implémenttion. Elle doit prendre les responsabilités d’intéraction avec cet objet.

23
Q

C’est quoi les 5 qualités d’un interfaces

A

Cohésion: Une classe = abstraction d’un seul concept
Complétude: Supporte toutes les opérations qui font partie de l’abstraction représentée par la classe
Convenace(commodité) : Interface rend simple les tâches usuelle
Clarté : Interface claire et n’introduit aucune confusion
Cohérence : Adopter une façon uniforme dans la définition des noms, paramère et du comportement des méthodes

24
Q

C’est quoi un patron de conception

A

C’est une famille de solution qui guident le concepteur à traver des micro-architectures utiles qui supporte la flexibilité,maintenabilité et la réutilisation en minimisant l’impact des changements
Elle capitalise la connaissance d’experts sur la façon de concevoir et fournit un vocabulaire commun

25
Q

Comment est décrit un patron de conception

A

Par un nom significatif
Le contexte qui est l’ensemble de situtation récurrentes dans lesquelles le patron est appliqué
Le problème qui est l’ensemble de d’objectif-contraintes du contexte
La solution qui est le modèle de conceptions pour résoudre le problème
la conception qui est le résultat du patron

26
Q

C’est quoi les trois familles de patrons

A

Les patrons créateurs =créer classes et objets
Les patrons structurels = Composition d’objets ou classes pour d’autre fonctionnalité
Les patrons comportementaux = Les intéractions entres classes et l’affection des responsabilités

27
Q

C’est quoi le patron Itérateur

A

C’est un patron de conception qui créer une classe qui va parcourir une collection d’objet sans que son dernier connait son implémentation

28
Q

C’est quoi le contexte qui utilise un patron observateur

A

Lorsqu’on a un sujet qui est la source d’évènement et qu’on désire à être averti lors d’un changement d’évènement et qu’on ne veut pas créer un fort couplage entre le sujet et les observateur

29
Q

C’est quoi les problèmes du patron observateur

A

Le changement d’un objet doit se répercuter sur un autre
On ne sait pas le nombre d’objet à modifier
L’objet doit avisé les autres sans être fortement couplé

30
Q

C’est quoi la solution à un patron Observateur

A

Définir une interface observateur

Le sujet gère une collection obervateur et fournit des méthodes pour ajouter ou enlever des obs

Lorsqu’un évènement arrive le sujet notifie tout les obs

31
Q

C’est quoi les 3 parties d’une architecture MVC

A

Modèle : Encapsule des données et des fonctions noyau de l’application

Vue : Une interface GUI qui permet à l’utilisateur de déclancher des évènements

Contrôleur : Il encapsule les actions du GUI

32
Q

Pourquoi le modèle MVC réduit le couplage

A

Car le modèle ne connaît pas la vue à par ceux qui doivent être notifié

Les vues connaissent pas les contrôleurs

33
Q

Quel patron applique le modèle MVC

A

Il applique le patron observateur, car le modèle doit avertir les vues
Le modèle ne connaît rien des vues
Les vues s’abonnent auprès du modèle afin d’être averties

34
Q

C’est quoi le contexte du patron Stratégie

A

Lorsqu’il y a une classe qui nécessite différent algorithme pour une même solution

35
Q

C’est quoi le problème du patron Stratégie

A

On a besoin d’une fonction ou méthode qui se charge d’exécuté les différents algorithmes qui sont difficilement ajoutable et manipulable

36
Q

C’est quoi les solutions du patron Stratégie

A

Définir une interface qui abstracte l’algorithme
Avoir des sous-classe qui implémente les algorithmes
Une classe contexte qui appelle les méthodes appropriée

37
Q

C’est quoi les avantages et inconvénients du patron Stratégies

A

Avantage : flexible et factorisation des éléments communs de chaque algorithmes
Inconvénient = clients doivent savoir les différentes stratégie et +stratégie alors + classe

38
Q

C’est quoi le contexte du patron Composite

A

Regrouper des objets qui peuvent eux même être regrouper ensemble

39
Q

C’est quoi la solution du patron Composite

A

Définir une interface Component

Les objets composites sont des objets de type Component

L’appelle d’une méthode d’un objet composite appelle la méthode de ses composants et combine les résultats

40
Q

C’est quoi le contexte d’un patron Médiateur

A

Faire intéragir de le fonctionnement complexe de plusieurs classes ce qui est difficile à cause de tout les couplages

41
Q

C’est quoi la solution d’un patron Médiateur

A

Définir une interface Médiateur qui intéragit avec des objets Colleagues

Définir ConcreteMediator qui implémente l’intéraction entre les différents Colleague

Chaque Colleague ne connaît que son médiateur

42
Q

C’est quoi les conséquence d’un patron Médiateur

A

Limite le besoin d’étendre plusieur classe

Le médiateur découple les objets de type Colleague

Les intéractions sont faciles à comprendre, maintenir et étendre

Le médiateur centralise le contrôle

43
Q

C’est quoi le contexte d’un patron décorateur

A

On désire rajouter un comportement à un objet.
L’objet décoré peut être utilisé comme un objet non-décoré

44
Q

C’est quoi la solution d’un patron Décorateur

A

Définir une interface Component pour les composants et décorateur

Quand une classe décoratrice applique une méthode sur un objet décorée, elle fusionne le résultat

45
Q

C’est quoi le contexte d’un patron Template

A

On a un algorithme qui s’applique à plusieurs types

Cette algorithme est composé de différentes opérations que les types implémentes

46
Q

C’est quoi la solution à un patron Template

A

Définir une classe abstraite qui implémente une méthode qui définit un algorithme et des méthodes primitives

Hériter la classe abstraite en sous classe qui implémente les méthodes primitives

47
Q

C’est quoi les conséquences d’un patron Template

A

On a supprimé la duplication de code
La mise à jour d’un bout de code se fait à une seule place
On contrôle les extensions permises aux sous-classes