Ingénierie du logiciel | Génie Logiciel

Exercice-Corrige Génie Logiciel :

Exercice 1:

1) L'entreprise Genius adopte un processus de développement logiciel qui consiste à enchainer les différentes phases de développement : étude de faisabilité, spécification, conception, implémentation, tests et livraison. Les retours en arrière entre ces différentes phases ne sont pas planifiés mais si des erreurs sont détectées pendant les tests, il est possible que l’équipe de développement réadapte la conception et/ou l’implémentation du logiciel. Le succès des projets de développement logiciel de cette entreprise est garanti seulement s’il s’agit de reproduire un projet
déjà réalisé.
Question : En tant qu’ingénieure en Génie Logiciel déterminez le modèle de cycle de vie utilisé par cette entreprise.

2) En considérant le cycle de vie de la question (1) indiquer la ou les phases où est produit chacun des documents suivants : Manuel d’utilisation, conception architecturale, plan d’assurance qualité, spécification des modules, code source, cahier de charges, plan de test, manuel utilisateur préliminaire, conception détaillée, estimation des couts, calendrier du projet, rapport des tests, documentation. Quelles différences y a-t-il avec un modèle de processus ?
3) Donnez une représentation graphique de ce modèle puis préciser les entrées et sorties principales (pas forcément des documents) pour chaque phase. Quelles sont les phases concernées par la vérification et/ou la validation ?

4) L'entreprise Genius souhaite savoir comment combiner le modèle en cascade ou en V avec le modèle en spirale ? Donner une réponse vraiment adéquate et fiable .

Exercice 2

Un processus logiciel est un ensemble structuré d'activités nécessaires pour développer un système logiciel. Un modèle de processus logiciel est une représentation abstraite d'un processus. Il présente une description d'un processus d'une certaine perspective particulière : 

Question a Choix Multiples :
1 : Le modèle de développement des logiciels en cascade est :


a. Une approche raisonnable lorsque les exigences sont bien définies.
b. Une bonne approche lorsqu'un programme de travail est requis rapidement.
c. La meilleure approche à utiliser pour les projets avec de grandes équipes de développement.
d. Un modèle ancien qui est rarement utilisé.

2: Le modèle incrémentiel de développement de logiciel est :


a. Une approche raisonnable lorsque les exigences sont bien définies.
b. Une bonne approche lorsqu'un produit de base est exigé rapidement.
c. La meilleure approche à utiliser pour les projets avec de grandes équipes de développement.
d. Un modèle révolutionnaire qui n'est pas utilisé pour les produits commerciaux.


3: Modèles de processus évolutifs


a. Ils sont de nature itérative.
b. Peut facilement répondre aux changements des exigences du produit.
c. Ne produisez généralement pas de systèmes jetables.
d. Tout ce qui précède.


4: Le modèle de prototypage de développement des logiciels est :


a. Une approche raisonnable lorsque les exigences sont bien définies.
b. Une approche utile lorsqu'un client ne peut pas définir clairement les exigences.
c. La meilleure approche à utiliser pour les projets avec de grandes équipes de développement.
d. Un modèle risqué qui produit rarement un produit significatif.


5: Le modèle en spirale de développement de logiciels


a. Se termine par la livraison du produit logiciel.
b. Est plus chaotique que le modèle incrémental.
c. Comprend l'évaluation des risques du projet au cours de chaque itération.
d. Tout ce qui précède.


6: Le modèle de développement concurrent est :


a. Un autre nom pour l'ingénierie concurrente.
b. Définit les événements qui déclenchent les transitions d'état de l'activité d'ingénierie.
c. Utilisé uniquement pour le développement de systèmes parallèles ou distribués.
d. Utilisé chaque fois qu'un grand nombre de demandes de modification sont anticipées.
e. a et b


7: Le modèle de développement à base de composants est


a. Seulement approprié pour la conception du matériel informatique.
b. N‟est pas capable de supporter le développement de composants réutilisables.
c. Dépendant de l‟approche orientée objet.
d. N‟est pas rentable selon les mesures logicielles quantifiables connues.


8: Le modèle des méthodes formelles de développement de logiciels utilise des méthodes mathématiques pour


a. Définir la spécification des systèmes informatiques.
b. Développer des systèmes informatiques sans défaut.
c. Vérifiez l'exactitude des systèmes informatiques.
d. Tout ce qui précède.

 

Système de réalité virtuelle : Ceci est un système où les besoins vont changer et il y aura des
composants d'interface utilisateur (UI or GUI) étendus. Le développement incrémental avec,
peut-être, certain prototypage de l'interface utilisateur (UI) est le modèle le plus approprié. Un
processus agile peut être utilisé.

 

Correction :

Exercice 1 :

1) Modèle de cycle de vie "en cascade"

2) Nous allons résume tout cela dans un tableau :

Tableau cascade doc pandacodeur

2-a)  Le modèle de cycle de vie d'un logiciel indique les principales phases de son développement et les principaux produits livrables, alors qu'un modèle de processus décrit les taches de bas niveau, les artefacts nécessaires et produits ainsi que les acteurs responsables des différents taches.

3) Représentation :

Entrées

Phase

Sorties

Idée de développement d’un projet

Etude préalable

Décision : Accord (Green light), Report, Reserves, Rejet (en cas d'accord)

Cahier des charges (en cas d'accord)

Cahier des charges

Spécification

Dossier de spécification,

 Plan des tests de vérification

Manuel utilisateur préliminaire

Dossier de spécification

Conception générale

Dossier de conception générale

Architecture

Plan des tests d’intégration

Dossier de Conception générale (Modules identifiés + Architecture)

Conception détaillée

Dossier de conception détaillée

Plan des tests unitaires

Dossier de conception détaillée

Plan de tests unitaires

Codage

Modules de programmes (Code source)

Manuel technique

Test unitaire et son rapport

Manuel utilisateur final

Modules de programmes

(Code source)

Plan de test d’intégration

Architecture

Intégration

Logiciel entier

Test d’intégration et son rapport

Logiciel entier (à tester avec

les users)

Besoins réels des users

Validation recette

Satisfaction des users (ou non)

Acceptation du produit (ou non) / logiciel accepte

Rapport des tests de recette (réception)

Logiciel accepté par usersManuel utilisateur final

Diffusion (Déploiement)

Logiciel opérationnel

Logiciel opérationnel

Manuel utilisateur final

Software Input

Exploitation

Rapports d’activités users

Feedback users

Software Output

3-a) Les phases concernées par la validation et la vérification :
=> Validation
Analyse, Validation recette (Vérification)
=> Vérification
Spécification, Conception générale, Conception détaillée, Codage, Intégration.

4) Le modèle spirale peut être vu comme une succession de modèle « en cascade » ou « en v »

Exercice 2 : QCM

Questions 1 2 3 4 5 6 7 8
Réponses a b d b c e c d

 

Si vous avez trouvé les exercices corrigés en Génie Logiciel de Mr JoëlYk intéressants et utiles, pourquoi ne pas les partager avec d'autres personnes qui pourraient également en bénéficier ? Partagez ce lien sur les réseaux sociaux ou envoyez-le à vos amis et collègues. Vous pourriez aider quelqu'un à améliorer ses compétences en programmation ou à trouver des solutions à des problèmes complexes. N'oubliez pas que la connaissance doit être partagée pour grandir. Merci pour votre soutien et votre partage !

Contact WhatsApp : +237 658395978 | Réaliser Par Joël_Yk

  • 1 vote. Moyenne 5 sur 5.

Ajouter un commentaire

Anti-spam