Question Prof Flashcards

(18 cards)

1
Q

Quelles sont les principales activités de la réalisation technique?

A

Principales activités de la réalisation technique:
–Conception technique de la BD et des traitements
–Programmation/développement des parties du logiciel et leur intégration
–Tests

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

Quels sont les avantages discutés en classe d’une approche modulaire ?

A
  • Permet de planifier la répartition du travail de développement entre les développeurs (ou entre équipes)
  • Identification claire des responsabilités de chaque développeur
  • Permet de gérer l’intégration des divers modules
  • Permet de planifier leurs tests (unitaires et d’intégration)
  • Permet de décider de la priorité de développement et d’intégration des modules.
  • Permet de fixer les échéances de livraison et d’intégration des modules dans l’architecture du système
  • Permet de créer une architecture de logiciel développée de façon progressive (incrémentale)
  • Permet le développement par itération
  • Permet le développement incrémental et la livraison par incrément
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Qu’est-ce qu’un système de gestion des versions?

A

Logiciel qui permet de repérer les fichiers de code source et à contrôler la modification de ces fichiers (ex: Visual Source Safe, Subversion: SVN, Git)

Ce sont des systèmes qui permettent de gérer des fichiers de codes avec toutes les versions pour chaque modification

Cela permet de travailler en équipe. Chaque version antérieure étant conservé, on peut revenir en arrière
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Quel artéfact produit dans le cadre du TP2 nous permet de tester l’exactitude des sorties?

A

Les maquettes

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

Dans l’approche en V, quel niveau de test correspond à la phase d’analyse?

A

tests de validation

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

À quoi correspond le haut taux de défaillances au début du cycle de la courbe en baignoire?

A

À la mortalité infantile. Ce taux correspond soit à une piece défectueuse à la sortie de l’usine pour un équipement, soit au taux élevé de bogue habituellement identifiés à la suite d’un premier déploiement.

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

Généralement, pourquoi les entreprises investissent dans la maintenance?

A

Pour maintenir la valeur de ces systèmes, il faut les faire évoluer (D’où l’absolue nécessité de la maintenance)

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

Quelles sont les 2 premières lois de Lehman?

A

1 - Loi du changement continuel

–un programme utilisé dans un environnement du monde réel doit nécessairement changer, sinon il deviendra progressivement moins utile dans cet environnement

2 - Loi de la complexité croissante

–Lorsqu’un programme change, sa structure tend à devenir complexe. Des ressources additionnelles doivent être consacrées pour maintenir et pour préserver sa structure.
–Plus on maintient un logiciel, plus sa maintenance devient difficile !

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

Quel type de maintenance est la plus fréquente?

A

Maintenance perfective (~ 55%)
–modifications du logiciel entraînées par des changements ou ajouts dans les besoins de l’usager

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

Quelle est l’approche du IEEE pour la maintenance logicielle?

A

1.Demande de Changement (par le biais d’un système de billet ou un courriel avec processus automatisé)
2.Classification (On enregistre la demande et on la catégorise selon le type: corrective, adaptative ou perfective)
*Un bogue va être traité de manière prioritaire, surtout si elle a un impact sur les opérations
*Une demande d’amélioration ou d’adaptation peut être mieux planifiée

3.Analyse (~ diagnostic) - faisabilité (impact sur code, version de base, coût) -Planifie la version dans laquelle la modification sera apportée
*Quel est l’impact d’ajouter un champ, de changer de librairie, de changer de version de framework…

4.Conception - Planifie la version dans laquelle la modification sera apportée) - Conception générale et détaillée - Sortir les modules de la configuration de base
*Des analystes peuvent avoir à faire une analyse sur l’impact sur l’ensemble de l’œuvre

5.Implantation - Codage avec système de contrôle de versions
*Les développeurs font la correction, la demande de changement, on code…

6.Tests - Unitaire, intégration…
*Différents tests pour s’assurer qu’il n’y a pas de bogues de régression
*On va tester le module si on a une architecture en module
7.Acceptation - Tests par l’usager
8.Mise en opération - Livraison du logiciel et des autres composants (documentation…)

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

Qu’est-ce système patrimonial?

A

Définition:
–systèmes anciens qui sont toujours utiles et très importants pour l’entreprise mais qui posent des problèmes

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

Pourquoi dit-on que les systèmes patrimoniaux sont difficiles à maintenir?

A

–Les concepteurs du logiciel ne sont plus dans l’organisation (et on dépend des programmeurs qui font la maintenance)
–Les logiciels a été écrits en fonction de matériels/langages qui sont désuets … ou même plus maintenus dans l’industrie
–La documentation est périmée, incomplète ou même absente
–Les données utilisées par ces systèmes sont mal (ou pas du tout) structurées
–Le langage de programmation est vieillot, périmé ou peu populaire

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

Pouvez-vous décrire l’approche en fer à cheval pour la réingénierie d’un logiciel?

A

À partir du système hérité, nous réaliser la rétro-ingénierie afin d’obtenir une représentation au niveau du code, au niveau des fonctions ainsi qu’au niveau du concept.

Nous réalisons ensuite une nouvelle architecture globale, et nous réalisons enfin le développement en reprenant le chemin dans le sens inverse, soit en recréant la représentation au niveau du concept, au niveau fonction et au niveau du code afin de livrer le nouveau système.

Représentation au niveau du code:

Représente le code source qui sera analysé lors de la rétro-ingénierie et qui sera retravaillé lors du développement

Représentation au niveau fonction:

Représente les relations entre les appels de fonctions, les données et les fichiers, qui seront également analysés lors de la rétro-ingénierie et qui seront retravaillé lors du développement

Représentation au niveau concept:

le niveau de concept dans lequel on regroupe les artéfacts du niveau fonction et du niveau de code pour les assemblés et créer des composantes au niveau de l’architecture

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

Quelles sont les caractéristiques d’une méthode en cascade “pure”

A

–chaque phase du cycle est réalisée en séquence
–les résultats d’une phase sont utilisés dans la phase suivante
–il n’est pas prévu de revenir en arrière après l’achèvement d’une phase
–les décisions prises à chaque étape sont figées une fois pour toute

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

Pourquoi la méthode en cascade peut entrainer des problèmes de relation avec le client?

A

Un logiciel est fonctionnel seulement vers la fin du projet

Cela exige beaucoup de patience de la part du client

Peut être désastreux si on découvre des problèmes majeurs lors de la validation et de l’acceptation du logiciel

On a constaté que généralement le client aura besoin de raffiner ses besoins en cours de route.

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

Qu’est-ce qu’une approche itérative?

A

Approche itérative :

on raffine plusieurs fois le logiciel

On fait un découpage en fonctions ou en composantes (sous-systèmes)

chaque itération permet de valider nos choix avec le client

Parce qu’on fait une livraison à chaque itération, on a une rétroaction fréquente

17
Q

Qu’est-ce qu’une approche incrémentale?

A

–La première itération fournit le ‘core product’ (partie du logiciel qui répond aux besoins essentiels)
–On met le système en opération après quelques itérations
–A chaque itération on continue le développement itératif et on met à jour la version opérationnelle (jusqu’à ce que toutes les fonctions soient incorporées)

18
Q

Quel type de prototype permet de valider l’architecture?

A

Prorotype expérimental