Intra Flashcards

1
Q

Identifiez les attentes d’un bon développement logiciel (6)

A
  • Bonne qualité
  • Respect des dates limites
  • Optimisation des dépenses
  • Expérience agréable
  • Logiciel disponible 100%
  • Feedback des usagers
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Identifiez les qualités d’un bon logiciel (8)

A
UTILISATION
- Peu de bogues
- Répond aux besoins
- Facilité d'utilisation
PRODUIT
- Maintenabilité
- Tolérence aux pannes
- Sécurité
DONNÉES
- Traçabilité
- Portabilité
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Identifiez comment respecter les dates limites (6)

A
- Planification du projet
Jalons intermédiaires
- Estimations selon les expériences précédentes
Collecte de données en cours de projet
- Produit toujours fonctionnel
Intégration continue
- Mise en production fréquente
Livraison continue
- Connaitre les avancements de chacun
Réunion de suivi
- Gestion des imprévus
Planification d'alternatives
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Identifiez comment bien utiliser les ressources (5)

A
- Garantir un effort constant
Paralléliser les activités
- Activités de complexité égales
Design modulaire du code
- Limiter les heures supplémentaires
Cycles de temps fixe et court
- Répartir les responsabilités de chacun
Définir les compétences de chacun
- Prévoir les activités d'opération dès l'implémentation
Infrastructure-as-code
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Identifiez les utilités d’un processus (6)

A
COMMUNICATION
- Interne : Au sein de l'entreprise pour distribuer l'information
- Externe : Certifications et demandes des clients
ÉVALUATION DES PRATIQUES EN PLACE
- Analyse de la situation
- Solutions selon analyse
PLANIFICATION DU TRAVAIL
- Haut niveau (Général)
- Orienté produit (Spécifique)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Définissez ce qu’est un SRS

A

Software Requirements Specification

  • Transforme besoins abstraits en fonctionnalités concrètes et mesurables
  • Défini la portée du projet
  • Fractionne le projet
  • Aide à la rédaction du contrat ($)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Définissez ce qu’est une exigence fonctionnelle

A

Décrit une action possible dans le projet

Ex. : Le système doit, dans son menu principal, permettre de modifier le nom d’utilisateur

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

Définissez ce qu’est une exigence non-fonctionnelle

A

Décrit une caractéristique/qualité du logiciel

Ex. : Le serveur doit être capable de gérer au moins cinq jeux simultanément

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

Définissez ce qu’est la norme IEEE 830

A

Gabarit standard pour un SRS

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

Identifiez les qualités d’une bonne exigence individuelle (7)

A
  • Attention au pluriel
  • Évite les négations
  • Évite les exigences composées
  • Testable
  • Indépendant du design
  • Faisable
  • Compréhensible
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Identifiez les qualités d’un document complet (8)

A
  • Complétude : Tous les besoins sont présents
  • Correct : Aucune exigence superflue
  • Cohérence : Pas de contradiction
  • Traçabilité : Numéro unique pour chaque exigence
  • Organisation : Facilité à trouver l’information dans le doc
  • Consicion : Niveau de détail adéquat
  • Ambiguité : Définition d’un glossaire et réutilisation des termes
  • Redondance : Aucune redondance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Définissez un récit utilisateur (user story)

A

Exigence traditionnelle plus haut niveau populaire en Agile

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

Définissez la structure d’une exigence sous forme de récit utilisateur (user story)

A

En tant que UTILISATEUR, quand CONTEXTE, je veux faire FONCTIONNALITÉ afin
de OBJECTIF

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

Identifiez les objectifs fixés suite à la conférence de l’OTAN de 1968 (3)

A
  • Mieux comprendre le processus de création logiciel
  • Intégrer le feedback utilisateur dès le début
  • Ajouter des tests automatisés
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Identifiez pourquoi les frontières sont floues dans les différents domaines du génie logiciel (4)

A
  • Complexité : Tous les logiciels sont uniques
  • Conformité : Pas de loi fondamentale
  • Invisibilité : Difficile de voir les incompatibilités (Mettre une porte au plafond)
  • Flexibilité : Mises à jour difficile à évaluer ($) Comparaison avec un bâtiment
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Définissez ce qu’est un cycle de vie

A

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

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

Identifiez les éléments d’un cycle de vie (2)

A
  • Phase : Temps entre deux jalons

- Jalon (milestone) : Définis

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

Identifiez les cycles de vie traditionnels (4)

A
  • Modèle cascade : V, W, X
  • Modèle incrémental (itératif)
  • Modèle transformationnel
  • Modèle spirale
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Définissez les modèles cascades V et W

A

V
Uniquement les activités de développement
W
Ajout du QA à V (Deux V superposés)

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

Identifiez lorsque le modèle cascade est approprié (6)

A
  • Faible incertitude des besoins
  • Faible incertitude technique
  • Peu novateur
  • Pas d’urgence
  • Réalisation répétitive
  • Faible participation de l’utilisateur
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Identifiez les avantages du modèle cascade (1)

A
  • Facilité de gestion
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Identifiez les avantages du modèle incrémental (itératif) (4)

A
  • Génère du code fonctionnel rapidement
  • Moins coûteux pour les changements (flexible)
  • Facilite la gestion du risque
  • Chaque itération -> approche cascade facile à gérer
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Identifiez les inconvénients du modèle incrémental (itératif) (3)

A
  • Itérations rigides ne permettent pas de retour en arrière
  • Risque de problème d’architecture (requis pas tous connus)
  • Difficile de déterminer la durée du projet
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Définissez le modèle transformationnel

A

Prototypage évolutif

loop (Modification du prototype -> Test du prototype -> Demande de changement)

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

Identifiez les avantages du modèle transformationnel (2)

A
  • Cycles très rapides

- Feedback étoffé directement sur le produit fréquemment

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

Identifiez les inconvénients du modèle transformationnel (3)

A
  • Difficile à gérer (Dépassement d’échéancier et budget)
  • Avancement d’une fonctionnalité qui ira à la poubelle
  • Qualité du code déficiente à cause du prototypage
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Identifiez les avantages du modèle spirale (3)

A
  • Peut utiliser n’importe quel cycle de vie
  • Analyse de risques élaborée
  • Prototype fonctionnel rapidement
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

Identifiez les inconvénients du modèle spirale (3)

A
  • Possible que le processus ait qu’une itération -> cascade
  • Difficile à gérer (Dépassement d’échéancier et budget)
  • Processus près du projet (peu réutilisable d’un projet à l’autre)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

Définissez quand prendre le modèle cascade

A

Projet peu risqué ou tout est connu

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

Définissez quand prendre le modèle incrémental (itératif)

A

Projet avec une base d’exigences fractionnables

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

Définissez quand prendre le modèle transformationnel

A

Projet avec beaucoup d’incertitudes

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

Définissez quand prendre le modèle spirale

A

Projet complex à haut risque

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

Identifiez les principes de l’Agile (6)

A
  • Accueillir positivement le changement
  • Livrer fréquemment
  • Travaille collaboratif entre users/dev
  • Favoriser les dialogues face à face
  • Minimiser le travail inutile
  • Autonomie
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

Identifiez les principes de l’XP (5)

A
  • Test Driven Development (TDD)
  • You Ain’t Gonna Need It (YAGNI)
  • Pair Programming (PP)
  • Refactoring
  • Client présent en PERMANENCE
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

Identifiez les principes de SCRUM (3)

A
  • Backlog : Ensemble d’exigences
  • Sprint : Itération de 2 à 4 semaines
  • Daily Scrum : Réunion répondant à trois question
    Fait depuis hier
    Faire pour demain
    Obstacles?
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

Identifiez les problèmes de discipline (5)

A
  • Write-only artefact : Rapports jamais lus
  • Big up-front design : Structure complète sans tout comprendre
  • Communication indirecte : les non-dits ne sont pas la
  • Totalitarisme : Vouloir trop de contrôle
  • Sclérose : Rigide aux dérogations
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

Identifiez les problèmes de l’Agile (5)

A
  • Itérations trop courtes : Manque de temps
  • Dépendance aux rétroactions : Arrive trop tard et opinion based
  • Client absent
  • Mauvaise planification des itérations
  • Dépendance aux communications
  • Manque d’une vue globale
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

Identifiez les méta-modèles selon l’Object Management Group (OMG) (4)

A
  • M3 : Méta-méta modèle .. Besoins
  • M2: Méta-modèle .. Document d’exigences
  • M1 : Modèle .. Diagramme de classes
  • M0 : Monde réel .. Code
39
Q

Identifiez les éléments d’un processus (3)

A
  • Activité : Élément de travail (évalue/rédige un doc)
  • Artéfact : Élément d’information (document)
  • Rôle : Compétences et responsabilités
40
Q

Définissez ce qu’est une discipline

A

Ensemble de pratiques et activités reliées qui représentent un domaine (Requis, Analyse et conception, ..)

41
Q

Identifiez les paires discipline/artéfact principal de l’UPEDU (6)

A
  • Requis : Cas d’utilisation
  • Analyse et conception : Architecture et modèle de conception
  • Implémentation : Programmes
  • Tests : Plan de tests et cas de test
  • Gestion de projet : Diagramme de Gantt
  • Gestion de configuration : Référentiel (SVN, Git)
42
Q

Comparez un besoin et une exigence

A

Besoin : Flou et haut niveau

Exigence : Besoin documenté sur ce que le produit logiciel devrait faire (SRS)

43
Q

Identifiez des activités de la discipline des requis dans l’UPEDU (5)

A
  • Elicit Stakeholder Request
  • Find Actors and Use Cases
  • Structure the Use Case Model
  • Detail a Use Case
  • Review Requirements
44
Q

Identifiez les approches traditionnelles de saisie d’exigences (3)

A
  • Rencontre avec les parties prenantes
    Étude de marché, réunions, interviews, sondages, questionnaires…
  • Introspection et remue-méninges
  • Analyse de documents existants
45
Q

Identifiez les approches cognitives de saisie d’exigences (3)

A
  • Analyse de tâches, du processus d’affaire
    Trouver les endroits nécessitant un logiciel
  • Technique d’acquisition de connaissances
46
Q

Identifiez les trois approche de résolution d’un problème

A
  • Approche en logique
  • Approche en science
  • Approche en ingénierie
47
Q

Définissez ce qu’est un problème wicked

A

Problème qui n’est pas clairement défini dont la solution optimale n’est pas clairement défini

48
Q

Identifiez les approches de résolution par heuristiques pour les problèmes wicked (5)

A
  • Définition de sous-buts
  • Approximations successives
  • Essais-erreurs
  • Diagramme
  • Analogie
49
Q

Identifiez les activités cognitives du concepteur (4)

A
  • Acquisition : Obtention de l’information
  • Crystalliser : Production des informations sur la solution
  • Synchroniser : Communication de l’information (Diffusion)
  • Valider : Évaluation de la qualité de l’information
50
Q

Identifiez les difficultés associées à la génération de solutions (3)

A
  • Fixation sur une idée
  • Manque de créativité
  • Se perdre dans la recherche d’information
51
Q

Définissez l’approche rationnelle

A

Ne pas prendre de décisions avant d’avoir toutes les informations pertinentes (Irréaliste dans un projet logiciel)

52
Q

Définissez l’approche naturaliste

A

Sauter sur la première solution qui semble fonctionner (Pas idéal problème complexe)

53
Q

Définissez l’approche satisficing

A

Rechercher des informations jusqu’à avoir une gamme de solutions pertinentes et prendre l’optimal

54
Q

Identifiez des activités de la discipline de l’analyse et de la conception dans l’UPEDU (5)

A
  • Architectural Analysis
  • Use-Case Analysis
  • Use-Case Design
  • Class Design
  • Review the Architecture and Design
55
Q

Identifiez les aspects importants de l’implémentation (4)

A
  • Programmer
  • Déboguer
  • Tests unitaires
  • Intégrer
56
Q

Identifiez des activités de la discipline de l’implémentation dans l’UPEDU (7)

A
  • Plan System Integration
  • Plan Component Integration
  • Implement Components
  • Perform Unit Tests
  • Fix a Defect
  • Review Code
  • Integrate Systems
57
Q

Identifiez le contenu d’un guide de programmation (3)

A
  • Niveau de documentation du code
  • Restrictions de programmation
  • Conventions de nommage
58
Q

Identifiez des principes de programmation populaires (4)

A
  • Don’t Repeat Yourself (DRY)
  • Keep It Simple Stupid (KISS)
  • You Ain’t Gonna Need It (YAGNI)
  • SOLID
59
Q

Identifiez les approches d’intégration (6)

A
  • Bottom-up : Aspects matériels importants -> Création de drivers
  • Top-down : Interfaces importantes -> Création de stubs
  • Par silo : Par module indépendant
  • En étoile : À partir d’un élément central critique
  • Par bus : À travers un canal commun de communication
  • Par microservices : Petits logiciels indépendants
60
Q

Associez chaque type de test à la compétence nécessaire (13)

A
  • Débogage / Implémenteur
  • Tests unitaires / Implémenteur
  • Tests d’intégration / Intégrateur
  • Tests de système / Testeur
  • Tests d’acceptation / Client
  • Tests de charge / SysAdmin
  • Tests de vulnérabilités / Expert en sécurité
  • Tests de migration / SysAdmin
  • Tests de régression / Testeur
  • Tests de conversion / Expert en base de données
  • Tests de mise en production (MEP) / SysAdmin
  • Test Alpha / Utilisateurs choisis
  • Test Beta / Utilisateurs
61
Q

Identifiez des activités de la discipline de tests dans l’UPEDU (6)

A
  • Plan Test
  • Design Test
  • Design Test Classes
  • Implement Test Components
  • Execute Tests
  • Evaluate Tests
62
Q

Identifiez le contenu d’un plan de tests (3)

A
  • Planification des ressources
  • Choix des stratégies pour chaque type de test
  • Objectif des tests

Ce document évolue avec les itérations

63
Q

Identifiez les facteurs de qualité importants pour un projet (3)

A
  • ISO 25010 Qualité en utilisation (boite noire)
  • ISO 25010 Qualité du produit (boite blanche)
  • ISO 25012 Qualité des données
64
Q

Identifiez les aspects importants de la gestion de projet (4)

A
  • Planification des itérations
  • Assignation des ressources
  • Gestion des risques
  • Suivi de l’avancement
65
Q

Définissez ce qu’est un risque

A

Variable pouvant mettre en danger ou réduire le succès du projet

Conséquence d’un manque d’information

66
Q

Identifiez les types de risque (2)

A
  • Direct/Indirect

- Connu/Inconnu

67
Q

Identifiez les attributs d’un risque (3)

A
  • Probabilité d’occurence : Faible, moyen, ..
  • Impact potentiel : Mineur, modéré, ..
  • Niveau de risque : Proba * Impact
68
Q

Identifiez les stratégies de gestion de risques (5)

A
  • Accepter : Vivre avec
  • Éviter : Réorganiser pour éliminer
  • Mitiger : Réduire la proba ou l’impact
  • Contourner : Planifier un plan B
  • Transférer : Sous-contracter
69
Q

Définissez le principe du Iron Triangle

A

En priorisant un pôle, on s’éloigne systématiquement des deux autres

70
Q

Identifiez les pôles du Iron Triangle en génie logiciel (3)

A
  • Portée plus grande
  • Meilleure qualité
  • Échéancier plus serré
71
Q

Identifiez les étapes de l’approche des low-hanging fruits (3)

A
  1. Évaluer l’effort de chaque tâche
  2. Évaluer le bénéfice de chaque tâche
  3. Ordonnancer selon bénéfice/effort
72
Q

Identifiez les étapes du planning poker (SCRUM poker) (4)

A
  1. Estimation de la tâche sans le montrer aux autres
  2. Révélation des estimations
  3. Justification des estimations extrêmes (plus haute et plus basse)
  4. Recommencer à 1. jusqu’à un consensus
73
Q

Identifiez des activités de la discipline de gestion de projet dans l’UPEDU (6)

A
  • Develop Measurement Plan
  • Plan Phases and Iterations
  • Review Project Planning
  • Develop Iteration Plan
  • Schedule and Assign Work
74
Q

Définissez ce qu’est un processus

A

Ensemble d’activités partiellement ordonnées dont l’objectif est de présenter comment l’information est transformée

75
Q

Définissez ce qu’est un projet

A

Ensemble de tâches ordonnées dont l’objectif est de planifier l’utilisation des ressources

76
Q

Définissez ce qu’est une activité

A

Transformation de l’information

77
Q

Définissez ce qu’est une tâche

A

Utilisation des ressources (Lien acteur/activité)

78
Q

Définissez ce qu’est une marge de manoeuvre dans un projet

A

Zone tampon laissé entre la fin du projet et la remise du projet pour les imprévus

79
Q

Identifiez les approches d’estimation de la marge nécessaire (3)

A
  • Agile : Deux fois l’écart-type
  • PERT : Diagramme avec chemin critique
  • Simul. Monte Carlo : Évaluation de la proba de retard
80
Q

Définissez ce qu’est le principe LEAN

A

Éliminer toutes les activités inutiles

81
Q

Définissez ce qu’est le principe Kaizen

A

Amélioration continue

82
Q

Définissez ce qu’est le principe Genchi Genbutsu

A

Management By Wandering Around (MBWA)

Trouver la cause racine du problème sur le terrain

83
Q

Définissez ce qu’est le principe Just-in-time/Pull

A

Travail sur demande

84
Q

Définissez ce qu’est le principe PDCA

A

Plan the projet
Do the project
Compare the results with the plan
Act by correcting problems

85
Q

Identifiez les vérifications faites par l’analyse de processus (5)

A
  • Éléments de trop
  • Éléments manquants
  • Complexité des éléments
  • Cycle de vie
  • Ordonnancement
86
Q

Définissez ce qu’est une analyse qualitative

A

Interprétation d’observations, souvent basée sur un

jugement d’expert

87
Q

Définissez ce qu’est la codification

A

Transformation des données qualitatives en données quantitatives (Prob. de perte de contexte)

88
Q

Définissez ce qu’est l’approche GQM

A

Goal
Question(s)
Metric(s)

89
Q

Identifier la hiérarchie des échelles de mesure (4)

A
  1. Échelle ratio
  2. Échelle intervalle
  3. Échelle ordinale
  4. Échelle nominale

Un niveau supérieur englobe toutes les propriétés des niveaux inférieurs

90
Q

Définissez ce qu’est l’échelle nominale

A

Classification selon des catégories sans relations hiérarchiques

91
Q

Définissez ce qu’est l’échelle ordinale

A

Classification selon des catégories avec relations hiérarchiques abstraites (pas une mesure précise)

Exemple : Chandail small, medium, …

92
Q

Définissez ce qu’est l’échelle intervalle

A

Classification selon des mesures entières ou fractionnaires avec ABSENCE du zéro absolu non-arbitraire

Exemple : Température (Deg Celsius)

93
Q

Définissez ce qu’est l’échelle ratio

A

Classification selon des mesures entières ou fractionnaires avec PRÉSENCE du zéro absolu non-arbitraire

Exemple : Longueur (m)

94
Q

Identifiez les raisons de l’importance des mesures (5)

A
  • Comprendre
  • Évaluer
  • Contrôler
  • Prédire
  • Améliorer