Cours 2 Flashcards

1
Q

À quoi servent les processus?

A
  • Communication interne à l’équipe.
  • Communication externe avec les parties prenantes.
  • Évaluation et diagnostic des problèmes.
  • Amélioration du processus existant.
  • Structuration du travail à faire.
    etc.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Quelles sont les qualités des exigences individuelles?

A
  • Syntaxe et grammaire
  • Structure d’écriture
  • Utilisation du pluriel et de la négation
  • Exigences composées
  • Testabilité
  • Indépendance du design
  • Faisabilité
  • Compréhensibilité
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Pourquoi les fontières sont elles floues entre les domaines d’expertise en génie logiciel?

A
  • Complexité: Le génie traditionnel se base sur des modèles simplifiés de réalités complexes. En logiciel, c’est le contraire.
  • Conformité: Pas de loi fondamentale comme en Physique et le logiciel doit se conformer à des règles arbitraires parfois stupides.
  • Invisibilité: Le logiciel n’a pas de réalité physique, ce qui rend difficile de voir les incompatibilités.
  • Flexibilité: Un bon logiciel aura des mises-à-jours importantes qui peuvent toucher n’importe quelle partie de celui-ci.
    Etc.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Avec quelles principales difficultés l’ingénieur logiciel doit-il composer?

A
  • Besoin d’intégrer des compétences variées.
  • Besoin de concevoir un produit final complexe.
  • Nécéssité de communiquer une réalité invisible.
    etc.
    Solution = Faire une planification initiale destinée à minimiser les risques.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Quels sont les différents modèles de cycle de vie?

A
  • Modèle Cascade en V, W ou X
  • Modèle Incrémental
  • Modèle Transformationnel
  • Modèle Spirale
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Quels sont les avantages d’un modèle cascade?

A
  • Gestion facile
  • Toutes les tâches se planifient (diagramme de Gantt, réseaux PERT)
  • Points de contrôle précis permettant de décider si l’on va de l’avant.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Quand est-ce qu’un modèle cascade est approprié?

A

– Faible incertitude au niveau des besoins du
client (« client sait ce qu’il veut »),
– Faible incertitude technique,
– Réalisation répétitive,
– Peu d’aspects novateurs,
– Faible participation du client/utilisateurs,
– Pas d’urgence de voir le produit fini.

Si toutes les informations requises sont disponibles au début du projet.

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

Quel est le désavantage du modèle cascade?

A

Un changement mineur peut avoir des répercussions à travers tout le projet.

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

Donnez les caractéristiques du modèle incrémental/itératif.

A
  • Itérations (cycles rapides) de production d’un produit foctionnel, chacune se concentrant sur une fraction des exigences.
  • Les itérations sont indépendantes les unes des autres.
  • Itérations typiques de 2 à 6 semaines.
  • Besoin d’un projet fractionnable où une base d’exigences est connue au préalable.
  • Approche utilisée par plusieurs processus Agiles, par exemple, SCRUM.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Donnez les avantages du modèle itératif/incrémental.

A

– Génère du code fonctionnel rapidement dès le début du projet.
– Plus de flexibilité : Moins coûteux de faire des changements.
– Gestion du risque plus facile : Une itération permet de passer à travers toutes les étapes de développement et d’identifier les problèmes.
– Chaque itération est un jalon (milestone) facile à gérer, comme une approche cascade.

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

Donnez les inconvénients du modèle itératif/incrémental.

A

– Les itérations sont rigides et ne permettent pas de retour en arrière à Sauf en créant de nouvelles exigences.
– Des problèmes d’architecture peuvent survenir parce que les requis ne sont pas tous connus au départ.
– Difficile de déterminer la fin du projet (scope creep).

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

Qu’est ce que le modèle transformationnel?

A

C’est un prototype évolutif:

  • Prototype jetable (utilisé pour déterminer les exigences) ou non (utilisé comme produit final).
  • Toutes les parties sont développées simultanément sans planification initiale : Peut être néfaste sur la modularisation.
  • Itérations très rapides : Une journée à deux semaines.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Quels sont les avantages du modèle transformationnel?

A
  • Cycles très rapides : On peut faire rapidement des corrections.
  • Feedback plus etoffé : plus facile d’évaluer des prototypes que des documents papiers.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Quels sont les inconvénients du modèle transformationnel?

A
  • Difficile à gérer Dépassement d’échéancier, de budgets, etc.
  • Gold-plating: On peut détailler très longtemps une fonctionnalité qui finit aux poubelles.
  • Réutilisation du prototype: Qualité du code souvent déficiente.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Quels sont les avantages du modèle spirale?

A
  • Générateur de processus: Peut utiliser n’importe quel cycle de vie ( + mélanger).
  • Analyse de risque très élaborée pour prioriser l’ordre des cycles.
  • Prototypes fonctionnels disponible rapidement.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Quels sont les inconvénients du modèle spirale?

A
  • Possibilité que le processus exécuté n’ait qu’une seule itération = cycle de vie cascade.
  • Difficle à gérer dépassements d’échéanciers, de bidgets, etc.
  • Processus très proche d’un projet particulier : difficile à réutiliser.
17
Q

Quels sont les valeurs de l’Agile?

A
  • Les individus et leurs interactions plus que les processus et les outils.
  • Des logiciels opérationnels plus qu’une documentation exhaustive
  • La collaboration avec les clients plus que la négociation contractuelle
  • L’adaptation aux changements plus que le suivi d’un plan
18
Q

Quels sont les principes de l’extreme programming?

A
  • Test driven development (TDD)
  • You ain’t gonna need it (YAGNI): On écrit juste assez de code pour faire passer les tests.
  • Pair programming (PP): Tout le code est écrit avec deux développeurs sur un ordinateur.
  • Refactoring: Le code écrit est ensuite révisé pour satisfaire aux critères de qualité.
  • Le client doit être assis en permanence avec les développeurs.
  • Itérations courtes (1 à 2 semaines)
  • Exigences traitées par prioritées, changements possibles pendant itération
19
Q

Quels sont les principes SCRUM?

A

• Backlog : Ensemble d’exigences, trié par scrum master (« value-driven »).
• Sprint : Itération de 2 à 4 semaines (portée fixe).
• Mêlée quotidienne (daily scrum) : Réunion debout où l’on répond aux trois questions suivantes :
– Qu’as-tu fait depuis hier ?
– Que penses-tu faire jusqu’à demain ?
– Y a-t-il des obstacles à ton travail ?

20
Q

Quels sont les principes du Kanban?

A

Du japonais pour ‘enseigne’ ou ‘panneau d’affichage’.
La planification complète du travail est visible pour toute l’équipe
Le développeur prend une tâche du tableau et la remet une fois complétée.

21
Q

Qu’est ce que le processus AUP?

A

Agile unified process: Adaptation du RUP/UPEDU pour la philosophie Agile.
Utilise essentiellement les mêmes activités que le RUP/UPEDU mais adapté pour l’agile, donc itératif (la gestion est séparée en plusieurs étapes) et incrémental (le produit est séparé en plusieurs fonctionnalités).

22
Q

Quels sont les problèmes de l’Agile?

A
  • Itérations trop courtes/mal planifiées
  • Dépendance aux rétroactions
  • Client absent
  • Dépendances aux communications
  • Dépendances externes plus risquées
  • Manque d’une vue globale
23
Q

Quels sont les problèmes du discipliné?

A
  • Problème du write-only artefact : On écrit beaucoup de rapports qui ne sont finalement jamais lus.
  • Problème du big upfront design: On crée une structure complexe pour un logiciel qu’on ne comprend pas parfaitement et on comprend réellement l’important qu’après avoir mis la main à la pâte.
  • Problème de la communication indirecte: Communiquer à travers un rapport n’est jamais mieux que face à face.
  • Problème du totalitarisme: Un besoin absolu de tout contrôler, même quand le risque est minime.
  • Problème de sclérose : Impossibilité de déroger au processus, même quand la situation l’impose.
24
Q

Quel fût l’objectif de la conférence de l’OTAN de 1968 sur la crise du logiciel?

A

Construire des bases théoriques et pratiques reconnues pour le développement logiciel comme pour les autres génies.

25
Q

Qu’est-ce qu’un cycle de vie?

A

Ensemble de phases par lesquelles passe une entité de sa création à sa destruction.

26
Q

Quelles sont les faiblesses du modèle cascade?

A
  • Un changement mineur peut avoir des répercussions à travers tout le projet.
  • La distance entre la vision initiale du client et le produit final implémenté peut être grande.