Chap1 Flashcards

(30 cards)

1
Q

Décrivez l’importance du génie logiciel.

A

Le génie logiciel est essentiel pour structurer et gérer le développement de logiciels, en répondant aux défis actuels et en assurant la qualité et la fiabilité des produits.

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

Comment le processus de développement est-il lié au génie logiciel ?

A

Le processus de développement dans le génie logiciel fournit une méthodologie systématique pour concevoir, créer et maintenir des logiciels, facilitant ainsi la gestion des projets et l’atteinte des objectifs.

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

Décrivez les différents types de logiciels mentionnés dans le contenu.

A

Les types de logiciels incluent les logiciels de base, les systèmes d’exploitation, les applications Web, les jeux vidéo, les logiciels embarqués, et les modules d’intelligence artificielle.

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

Comment chaque logiciel est-il développé selon le contenu ?

A

Chaque logiciel est développé en utilisant une approche différente qui nécessite réflexion.

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

Décrivez l’importance de la livraison dans le génie logiciel.

A

La livraison est influencée par la pression du marché, comme sortir un produit pour Noël ou devancer la compétition. Il est préférable d’être en retard que de livrer un produit dangereux.

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

Comment un bogue peut-il impacter un produit logiciel ?

A

Un bogue peut avoir des conséquences graves, nécessitant un correctif, ou patch”

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

Décrivez les priorités du développement logiciel.

A

Découvrir les besoins des clients, trouver des solutions, implémenter et valider que cela correspond aux besoins.

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

Comment les priorités de la maintenance logicielle se distinguent-elles du développement ?

A

Corriger les bogues, fermer les failles de sécurité, identifier des besoins émergents et assurer que l’architecture reste saine.

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

Décrivez les défis liés aux équipes globalisées en génie logiciel.

A

Les défis incluent la coordination entre différents sites, comme dans le cas de l’Airbus 380 où 16 sites dans 4 pays utilisent des versions différentes de CATIA, entraînant des erreurs de calcul.

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

Comment les équipes multidisciplinaires contribuent-elles au développement de logiciels ?

A

Les équipes multidisciplinaires, comprenant des programmeurs, des architectes logiciels, des experts en sécurité, et d’autres rôles, permettent une approche intégrée et diversifiée pour répondre aux besoins complexes des projets.

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

Décris la loi de Brooks en génie logiciel.

A

La loi de Brooks stipule qu’ajouter des développeurs à un projet en retard le rendra encore plus en retard, en raison du temps nécessaire pour former les nouveaux membres et les intégrer à l’équipe.

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

Quels sont les défis rencontrés par une nouvelle personne dans une équipe de développement ?

A

Une nouvelle personne doit souvent se former, lire la documentation du projet et comprendre la dynamique de l’équipe, ce qui peut la laisser perdue et produire un travail incohérent.

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

Décris les défis actuels en génie logiciel.

A

Le marché exige plus de flexibilité, notamment en accélérant le déploiement de correctifs, en réduisant le temps entre l’énoncé du besoin et le déploiement de nouvelles fonctionnalités, et en diminuant le temps entre les versions pour donner une impression d’innovation continue.

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

Comment les approches agiles contribuent-elles à la flexibilité en génie logiciel ?

A

Les approches agiles permettent de raccourcir le temps entre l’énoncé du besoin et le déploiement de nouvelles fonctionnalités, facilitant ainsi une réponse rapide aux demandes du marché.

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

Décris le processus de déploiement utilisé par Facebook, Netflix et Amazon.

A

Ces entreprises utilisent une implémentation en multiples micro-projets (micro-services) et déploient plusieurs fois par jour lorsque chaque micro-projet est prêt.

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

Uselesscard

17
Q

Décrivez les objectifs typiques du génie logiciel.

A

Produire un produit de qualité, avant la date limite, à un coût raisonnable, et de manière agréable.

18
Q

Comment la qualité doit-elle être gérée dans un projet de génie logiciel ?

A

La qualité doit être planifiée et évaluée durant toute la durée du projet, incluant la qualité des exigences, de la conception, du code et des tests.

19
Q

Décris le concept de l’« usure » dans le génie logiciel.

A

L’« usure » dans le génie logiciel, également connue sous le nom de software aging ou technical debt, se réfère à la dégradation des performances et de la qualité d’un logiciel due à des modifications non optimales, comme l’ajout de nouvelles fonctionnalités qui ne sont pas bien supportées par l’architecture initiale.

20
Q

Comment les changements dans un logiciel peuvent-ils introduire des bogues ?

A

Les changements dans un logiciel peuvent introduire des bogues lorsqu’ils sont effectués sans une compréhension complète des conséquences, un phénomène connu sous le nom de « ignorant surgery », ce qui peut entraîner des erreurs et des problèmes de performance.

21
Q

Décrivez les problèmes rencontrés avec la machine Therac-25.

A

Les problèmes incluent une mauvaise approche de réutilisation du code, un suivi inadéquat des plaintes et un enseignement défaillant, entraînant des incidents mortels.

22
Q

Comment la réutilisation du code a-t-elle contribué aux échecs de Therac-25 ?

A

La réutilisation de code déficient a conduit à des erreurs non testées, car le code fonctionnel de l’ancienne machine n’avait jamais été associé à des accidents.

23
Q

Décrivez l’échec du Mars Climate Orbiter en 1999.

A

L’échec a été causé par un mélange d’unités de mesure entre le système international et le système impérial, entraînant une perte de la sonde de 330 millions de dollars.

24
Q

Comment la gestion des exigences a-t-elle contribué à l’échec du Mars Climate Orbiter ?

A

La mauvaise gestion des exigences a été due à des documents différents entre la NASA et Lockheed, ainsi qu’à un manque de tests et à une consultation inadéquate des experts.

25
Décrivez les complexité dans le génie logiciel.
Complexité Comformité Modifiabilité Invisibilité
26
Comment la flexibilité est-elle perçue dans le développement logiciel ?
Un bon logiciel nécessite des mises à jour fréquentes qui peuvent affecter n'importe quelle partie, contrairement aux bâtiments où les changements sont plus mesurables.
27
Définir l'approche d'ingénierie dans le développement logiciel.
L'application d'une approche systématique, disciplinée et quantifiable au développement, à l'opération et à la maintenance du logiciel.
28
Comment l'approche d'ingénierie est-elle caractérisée ?
Elle est systématique, disciplinée et quantifiable, appliquée à toutes les étapes du développement logiciel.
29
Décrivez l'importance de la maintenabilité dans le développement logiciel.
La maintenabilité est cruciale car entre 60% et 80% de l'effort logiciel est consacré à la correction de bogues et à la maintenance après la livraison.
30
Comment l'approche d'ingénierie influence-t-elle le développement logiciel ?
L'approche d'ingénierie vise à produire un logiciel maintenable, car tout logiciel utilisé sera inévitablement modifié.