Intra Flashcards

(94 cards)

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
Identifiez les avantages du modèle transformationnel (2)
- Cycles très rapides | - Feedback étoffé directement sur le produit fréquemment
26
Identifiez les inconvénients du modèle transformationnel (3)
- 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
27
Identifiez les avantages du modèle spirale (3)
- Peut utiliser n'importe quel cycle de vie - Analyse de risques élaborée - Prototype fonctionnel rapidement
28
Identifiez les inconvénients du modèle spirale (3)
- 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)
29
Définissez quand prendre le modèle cascade
Projet peu risqué ou tout est connu
30
Définissez quand prendre le modèle incrémental (itératif)
Projet avec une base d'exigences fractionnables
31
Définissez quand prendre le modèle transformationnel
Projet avec beaucoup d'incertitudes
32
Définissez quand prendre le modèle spirale
Projet complex à haut risque
33
Identifiez les principes de l'Agile (6)
- Accueillir positivement le changement - Livrer fréquemment - Travaille collaboratif entre users/dev - Favoriser les dialogues face à face - Minimiser le travail inutile - Autonomie
34
Identifiez les principes de l'XP (5)
- Test Driven Development (TDD) - You Ain't Gonna Need It (YAGNI) - Pair Programming (PP) - Refactoring - Client présent en PERMANENCE
35
Identifiez les principes de SCRUM (3)
- 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?
36
Identifiez les problèmes de discipline (5)
- 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
37
Identifiez les problèmes de l'Agile (5)
- 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
38
Identifiez les méta-modèles selon l'Object Management Group (OMG) (4)
- 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
Identifiez les éléments d'un processus (3)
- 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
Définissez ce qu'est une discipline
Ensemble de pratiques et activités reliées qui représentent un domaine (Requis, Analyse et conception, ..)
41
Identifiez les paires discipline/artéfact principal de l'UPEDU (6)
- 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
Comparez un besoin et une exigence
Besoin : Flou et haut niveau | Exigence : Besoin documenté sur ce que le produit logiciel devrait faire (SRS)
43
Identifiez des activités de la discipline des requis dans l'UPEDU (5)
- Elicit Stakeholder Request - Find Actors and Use Cases - Structure the Use Case Model - Detail a Use Case - Review Requirements
44
Identifiez les approches traditionnelles de saisie d'exigences (3)
- Rencontre avec les parties prenantes Étude de marché, réunions, interviews, sondages, questionnaires... - Introspection et remue-méninges - Analyse de documents existants
45
Identifiez les approches cognitives de saisie d'exigences (3)
- Analyse de tâches, du processus d'affaire Trouver les endroits nécessitant un logiciel - Technique d'acquisition de connaissances
46
Identifiez les trois approche de résolution d'un problème
- Approche en logique - Approche en science - Approche en ingénierie
47
Définissez ce qu'est un problème wicked
Problème qui n'est pas clairement défini dont la solution optimale n'est pas clairement défini
48
Identifiez les approches de résolution par heuristiques pour les problèmes wicked (5)
- Définition de sous-buts - Approximations successives - Essais-erreurs - Diagramme - Analogie
49
Identifiez les activités cognitives du concepteur (4)
- 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
Identifiez les difficultés associées à la génération de solutions (3)
- Fixation sur une idée - Manque de créativité - Se perdre dans la recherche d'information
51
Définissez l'approche rationnelle
Ne pas prendre de décisions avant d'avoir toutes les informations pertinentes (Irréaliste dans un projet logiciel)
52
Définissez l'approche naturaliste
Sauter sur la première solution qui semble fonctionner (Pas idéal problème complexe)
53
Définissez l'approche satisficing
Rechercher des informations jusqu'à avoir une gamme de solutions pertinentes et prendre l'optimal
54
Identifiez des activités de la discipline de l'analyse et de la conception dans l'UPEDU (5)
- Architectural Analysis - Use-Case Analysis - Use-Case Design - Class Design - Review the Architecture and Design
55
Identifiez les aspects importants de l'implémentation (4)
- Programmer - Déboguer - Tests unitaires - Intégrer
56
Identifiez des activités de la discipline de l'implémentation dans l'UPEDU (7)
- Plan System Integration - Plan Component Integration - Implement Components - Perform Unit Tests - Fix a Defect - Review Code - Integrate Systems
57
Identifiez le contenu d'un guide de programmation (3)
- Niveau de documentation du code - Restrictions de programmation - Conventions de nommage
58
Identifiez des principes de programmation populaires (4)
- Don't Repeat Yourself (DRY) - Keep It Simple Stupid (KISS) - You Ain't Gonna Need It (YAGNI) - SOLID
59
Identifiez les approches d'intégration (6)
- 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
Associez chaque type de test à la compétence nécessaire (13)
- 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
Identifiez des activités de la discipline de tests dans l'UPEDU (6)
- Plan Test - Design Test - Design Test Classes - Implement Test Components - Execute Tests - Evaluate Tests
62
Identifiez le contenu d'un plan de tests (3)
- Planification des ressources - Choix des stratégies pour chaque type de test - Objectif des tests Ce document évolue avec les itérations
63
Identifiez les facteurs de qualité importants pour un projet (3)
- ISO 25010 Qualité en utilisation (boite noire) - ISO 25010 Qualité du produit (boite blanche) - ISO 25012 Qualité des données
64
Identifiez les aspects importants de la gestion de projet (4)
- Planification des itérations - Assignation des ressources - Gestion des risques - Suivi de l'avancement
65
Définissez ce qu'est un risque
Variable pouvant mettre en danger ou réduire le succès du projet Conséquence d'un manque d'information
66
Identifiez les types de risque (2)
- Direct/Indirect | - Connu/Inconnu
67
Identifiez les attributs d'un risque (3)
- Probabilité d'occurence : Faible, moyen, .. - Impact potentiel : Mineur, modéré, .. - Niveau de risque : Proba * Impact
68
Identifiez les stratégies de gestion de risques (5)
- 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
Définissez le principe du Iron Triangle
En priorisant un pôle, on s'éloigne systématiquement des deux autres
70
Identifiez les pôles du Iron Triangle en génie logiciel (3)
- Portée plus grande - Meilleure qualité - Échéancier plus serré
71
Identifiez les étapes de l'approche des low-hanging fruits (3)
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
Identifiez les étapes du planning poker (SCRUM poker) (4)
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
Identifiez des activités de la discipline de gestion de projet dans l'UPEDU (6)
- Develop Measurement Plan - Plan Phases and Iterations - Review Project Planning - Develop Iteration Plan - Schedule and Assign Work
74
Définissez ce qu'est un processus
Ensemble d’activités partiellement ordonnées dont l’objectif est de présenter comment l’information est transformée
75
Définissez ce qu'est un projet
Ensemble de tâches ordonnées dont l’objectif est de planifier l’utilisation des ressources
76
Définissez ce qu'est une activité
Transformation de l'information
77
Définissez ce qu'est une tâche
Utilisation des ressources (Lien acteur/activité)
78
Définissez ce qu'est une marge de manoeuvre dans un projet
Zone tampon laissé entre la fin du projet et la remise du projet pour les imprévus
79
Identifiez les approches d'estimation de la marge nécessaire (3)
- Agile : Deux fois l'écart-type - PERT : Diagramme avec chemin critique - Simul. Monte Carlo : Évaluation de la proba de retard
80
Définissez ce qu'est le principe LEAN
Éliminer toutes les activités inutiles
81
Définissez ce qu'est le principe Kaizen
Amélioration continue
82
Définissez ce qu'est le principe Genchi Genbutsu
Management By Wandering Around (MBWA) | Trouver la cause racine du problème sur le terrain
83
Définissez ce qu'est le principe Just-in-time/Pull
Travail sur demande
84
Définissez ce qu'est le principe PDCA
Plan the projet Do the project Compare the results with the plan Act by correcting problems
85
Identifiez les vérifications faites par l'analyse de processus (5)
- Éléments de trop - Éléments manquants - Complexité des éléments - Cycle de vie - Ordonnancement
86
Définissez ce qu'est une analyse qualitative
Interprétation d’observations, souvent basée sur un | jugement d’expert
87
Définissez ce qu'est la codification
Transformation des données qualitatives en données quantitatives (Prob. de perte de contexte)
88
Définissez ce qu'est l'approche GQM
Goal Question(s) Metric(s)
89
Identifier la hiérarchie des échelles de mesure (4)
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
Définissez ce qu'est l'échelle nominale
Classification selon des catégories sans relations hiérarchiques
91
Définissez ce qu'est l'échelle ordinale
Classification selon des catégories avec relations hiérarchiques abstraites (pas une mesure précise) Exemple : Chandail small, medium, ...
92
Définissez ce qu'est l'échelle intervalle
Classification selon des mesures entières ou fractionnaires avec ABSENCE du zéro absolu non-arbitraire Exemple : Température (Deg Celsius)
93
Définissez ce qu'est l'échelle ratio
Classification selon des mesures entières ou fractionnaires avec PRÉSENCE du zéro absolu non-arbitraire Exemple : Longueur (m)
94
Identifiez les raisons de l'importance des mesures (5)
- Comprendre - Évaluer - Contrôler - Prédire - Améliorer