EVALUATION EN GENIE LOGICIEL TEST  02/ XX   

Examen Genie Logiciel

Exercice 01 : 06pts

  1. En Ingénierie de logiciel, que représente d’après vous la « spécification » ?
  2. Qu’entend-on par méthode de spécification formelle ? Citez des exemples.
  3. A quels types de besoins essayent de répondre les modèles de cycle de vie qui sont proposés en général ?
  4. Pourquoi pensez-vous que les phrases suivantes ne devraient pas apparaître dans un document de spécification ? • Le produit doit être développé à un coût raisonnable
    • Le produit doit être implémenté dans le langage de programmation le plus sûr
  5. Décrire deux cas de problèmes que l’on peut rencontrer lors d’un développement en équipes.
  6. Pourquoi le développement logiciel est devenu de plus en plus un travail d’équipes de professionnels en logiciel ?

Exercice 02 :  Diagramme d'activité : Recette de Cuisine 04pts

Comment réussir sa mousse au chocolat (et ne plus jamais la rater) ? Commencer par casser le chocolat en morceaux, puis le faire fondre. En parallèle, casser les œufs en séparant les blancs des jaunes. Quand le chocolat est fondu, ajouter les jaunes d’œufs, battre les blancs en neige jusqu’à ce qu’ils soient bien fermes. Les incorporer délicatement à la préparation chocolat sans les briser, verser dans des ramequins individuels puis Mettre au frais au moins 3 heures au réfrigérateur (frigo)avant de servir. Elaborer le diagramme diagramme d'activité de cette recette de cuisine.

PROBLEME DIAGRAMME UML : 10pts

Une entreprise souhaite informatiser la gestion automatisée d’une mine, l’aspect sécurité est le point essentiel de la gestion d’une zone d’extraction de minerai, située en sous-sol, avec une présence humaine. Nous allons limiter notre étude au système de gestion de la sécurité qui concerne principalement le contrôle des deux fluides :
– Eau : les eaux de ruissellement sont évacuées par un ensemble de conduites vers un lieu unique, appelé puisard. Le niveau de ce puisard, qui récupère toutes les eaux, est contrôlé en permanence avec une évacuation à l’aide de pompes afin de la maintenir entre deux valeurs de niveaux.
– Air : la ventilation des galeries de la mine est effectuée en permanence. Lors de l’extraction, il peut se produire un accès accidentel à une poche de gaz comme du méthane. Fortement toxique, la meilleure protection consiste à procéder à l’évacuation de la zone ou de la mine entière sachant que le volume de méthane n’est, a priori, pas connu. D’autre part si le niveau de méthane est élevé, il faut éviter toutes les productions d’étincelles (moteur...). Nous allons considérer un système simple de gestion de la sécurité de la mine vis-à-vis de ces deux facteurs. Le pilotage de cet ensemble comprend donc les éléments suivants :

Gestions mine pandacodeur

– un capteur analogique de niveau d’eau, appelé LS (Level Sensor), pour détecter les deux niveaux limites de régulation, soit le niveau bas (LLS, Low Level Sensor) et le niveau haut (HLS, High Level Sensor) ;
– une pompe à eau à débit réglable permettant l’évacuation du puisard ;
– un capteur analogique du taux de méthane contenu dans l’air, appelé MS (Methane Sensor) ;
– une interface vers l’opérateur pour affichage de l’alarme.

QUESTION :

On suppose que la mine doit donc fonctionner tant que la sécurité maximale peut être maintenue. Donnez les 03 Conditions d’indications generales ou regles de fonctionnement de la mine.

  1. Diagramme de Cas d’utilisation du système de : « Gérer sécurité mine »
  2. Diagramme Préliminaire de decomposition.
  3. Diagramme d’Etat-transition : « Controler mine »
  4. Diagramme de Package.
  5. Diagramme de Deploiement de l’application.

                                                                          Contact WhatsApp : +237 658395978

                                                                                                        Réaliser Par Joël_Yk

 
 

Correction

 

exercice 01 : Generalite

1.En ingénierie logicielle, la "spécification" représente une description détaillée et formelle des exigences et fonctionnalités attendues d'un système logiciel. C'est un document essentiel qui définit les comportements et les propriétés que le logiciel doit avoir. Une bonne spécification permet de fournir des informations claires et cohérentes aux développeurs pour la conception et la réalisation du système.

2.La méthode de spécification formelle consiste à définir rigoureusement les spécifications à l'aide de langages formels et de mathématiques. Cela permet d'éliminer l'ambiguïté et les interprétations subjectives qui pourraient survenir dans les spécifications informelles. Les spécifications formelles sont souvent utilisées pour des systèmes critiques tels que les avions, les centrales nucléaires, etc. Exemples de méthodes de spécification formelle :

  • Z : Basé sur la logique des prédicats et utilisé pour spécifier des propriétés mathématiques des systèmes.
  • B : Utilisé pour spécifier les systèmes critiques en utilisant la méthode B (Basée sur la méthode B-Method).
  • VDM (Vienna Development Method) : Utilisé pour spécifier, concevoir et vérifier les systèmes logiciels.

3.Les modèles de cycle de vie en ingénierie logicielle tentent de répondre à différents types de besoins, notamment :

  • Cycle de vie en cascade : Convient aux projets où les exigences sont clairement définies et ne devraient pas changer fréquemment.
  • Modèle en V : Met l'accent sur la vérification et la validation à chaque étape du développement.
  • Méthodes agiles (par exemple, Scrum, Kanban) : Adaptées aux projets où les exigences évoluent fréquemment, favorisant une approche itérative et incrémentale.
  • Modèle en spirale : Combine des éléments du cycle de vie en cascade et des méthodes itératives, en mettant l'accent sur l'analyse des risques et la réduction des risques dès le début du projet.

3.Les phrases suivantes ne devraient pas apparaître dans un document de spécification, car elles ne sont pas assez précises et peuvent donner lieu à des interprétations différentes :

"Le produit doit être développé à un coût raisonnable" : Cette déclaration est trop vague. Il est essentiel d'inclure des paramètres quantifiables concernant le budget alloué au projet.

"Le produit doit être implémenté dans le langage de programmation le plus sûr" : Cette déclaration est subjective. Il est préférable de spécifier les exigences de sécurité spécifiques que le langage de programmation doit respecter.

Dans un document de spécification, il est essentiel de fournir des informations claires et concrètes pour guider les développeurs dans la conception et la réalisation du système logiciel.

  • Le produit doit être développé à un coût raisonnable:

Problème : Le terme "raisonnable" est subjectif et peut varier selon les interprétations. Ce qui est raisonnable pour une organisation peut ne pas l'être pour une autre.

Solution : Au lieu d'utiliser des termes vagues, il est préférable de spécifier un budget ou des contraintes de coûts spécifiques pour le projet. Par exemple, "Le coût de développement ne doit pas dépasser X dollars" ou "Le budget alloué pour le projet est de Y dollars."

  • Le produit doit être implémenté dans le langage de programmation le plus sûr:

Problème : La notion de "langage de programmation le plus sûr" est sujette à interprétation et peut varier en fonction des opinions et des connaissances des individus.

Solution : Pour une spécification plus précise, il est préférable de spécifier des exigences de sécurité spécifiques que le langage de programmation doit respecter. Par exemple, "Le langage de programmation doit offrir des mécanismes de sécurité tels que la vérification des limites d'index pour les tableaux" ou "Le langage de programmation doit empêcher l'injection de code malveillant."

En résumé, les spécifications doivent être formulées de manière objective, sans ambiguïté et avec suffisamment de détails pour que les développeurs puissent les comprendre clairement et les mettre en œuvre correctement. Éviter les phrases vagues et subjectives aide à garantir que le produit final répondra aux exigences définies de manière précise et mesurable.

4.Deux cas de problèmes courants pouvant survenir lors du développement en équipes sont :

Manque de communication : Lorsque les membres de l'équipe ne communiquent pas efficacement, des malentendus et des conflits peuvent survenir, entraînant une diminution de la productivité et de la qualité du logiciel.

Conflits de fusion de code : Lorsque plusieurs développeurs travaillent sur les mêmes parties du code, il peut y avoir des conflits lors de la fusion des modifications. Cela peut entraîner des bogues et des incohérences dans le code.

5.Le développement logiciel est devenu de plus en plus un travail d'équipes de professionnels en logiciel pour plusieurs raisons :

  • Complexité croissante : Les projets logiciels modernes sont devenus de plus en plus complexes, nécessitant une expertise diversifiée pour les concevoir et les développer efficacement.
  • Spécialisation : Différents aspects du développement logiciel, tels que la conception, la programmation, le test et la gestion de projet, nécessitent des compétences spécialisées, qui sont mieux fournies par des professionnels en logiciel travaillant en équipe.
  • Collaboration efficace : En travaillant en équipe, les membres peuvent se compléter les uns les autres, partager des connaissances et des idées, et collaborer de manière à atteindre les objectifs du projet plus rapidement et avec une meilleure qualité.
  • Gestion de projet : Les équipes peuvent mieux gérer les délais, les ressources et les risques associés au développement logiciel grâce à une organisation structurée et à une répartition appropriée des tâches.

Note:  la spécification en ingénierie logicielle est une description détaillée des exigences et des fonctionnalités attendues d'un système. Les méthodes de spécification formelle utilisent des langages formels pour éliminer l'ambiguïté. Les modèles de cycle de vie visent à répondre à différents types de besoins. Il est essentiel d'éviter les déclarations ambiguës dans une spécification. Le développement en équipes résout les problèmes de complexité croissante et permet une meilleure collaboration et gestion de projet.

 

exercice 02 : diagramme d’activité

Diag d activites pandacodeur

problème 1o pts:

03 Conditions d’indications generales ou regles de fonctionnement de la mine.

  1. Règle 1 : La pompe doit être mise en route si le niveau d’eau dépasse le niveau maximum (LS > HLS). La pompe s’arrête dès que le niveau descend en dessous de la valeur inférieure (LS < LLS).
  2. Règle 2 : Une alarme doit être lancée vers la console de l’opérateur dès que le niveau limite du capteur MS est franchi afin de pouvoir opérer une evacuation de la mine. Cette valeur limite est appelée MS_L1 (Methane Sensor Level 1).
  3. Règle 3 : La pompe ne doit pas fonctionner quand le niveau du capteur de méthane (MS) est supérieur à une limite fixée MS_L2 (Methane Sensor Level 2) avec la condition MS_L2 > MS_L1 afin d’éviter les risques d’explosion.

NOTE : Dans cet exemple d’application simple, nous sommes donc en présence de deux lignes de régulation : le contrôle du niveau de l’eau dans le puisard (règle 1) et le contrôle du taux de méthane dans l’air (règle 2). L’interaction entre ces deux régulations se situe au niveau de la commande de la pompe pour l’évacuation de l’eau du puisard dont le fonctionnement est lié non seulement au niveau d’eau, mais aussi au taux de méthane (règle 3).

Diagramme de Cas d’utilisation du système de : « Gérer sécurité mine »

 

 

Use case mine pandacodeur

Diagramme Préliminaire de décomposition :

           Diagramme preliminaire de decomposition pandacodeur

NOTE : Le diagramme préliminaire ci-decu , donne une analyse ou décomposition fonctionnelle du Use Case « Gérer sécurité mine ».Cette analyse fait apparaître quatre processus fonctionnels de base et un processus de contrôle permettant de séquencer l’ensemble. Nous pouvons vérifier la cohérence des flots de données ou d’événements entrants ou sortants par rapport au Use Case .Les processus 1 (Acquérir capteur méthane) et 4 (Afficher alarme) concernent le contrôle du taux de méthane dans l’air avec un processus d’acquisition et de comparaison aux niveaux de consignes (MS_L1, MS_L2) stockés dans une mémoire de stockage «Niveaux_consignes_méthane » et un processus de commande pour déclencher l’alarme. Les processus 2 (Acquérir capteur eau) et 3 (Commander pompe) concernent la régulation du niveau d’eau dans le puisard avec un processus d’acquisition et de comparaison aux niveaux de consignes (LLS, HLS) stockés dans une mémoire de stockage « Niveaux_consignes_eau » et un processus de commande de la pompe. Contrairement à la chaîne de régulation du taux de méthane où les deux processus fonctionnels sont indépendants en termes de données, les deux processus fonctionnels de la chaîne de régulation du niveau d’eau sont liés par le transfert d’une donnée « Vitesse_pompe » qui est, par exemple, proportionnelle à la hauteur du niveau d’eau.

Diagramme d’Etat-transition : « Contrôler mine »

Specification sart 34 1

 

 

NOTE : Le processus de contrôle est lié aux différents processus fonctionnels par des événements qui sont mis en place en même temps que la réalisation du diagramme état/transition. Ce diagramme état/transition, décrits le fonctionnement du processus de contrôle 5 (Contrôler mine), comprend quatre états :– fonctionnement nominal de la mine (niveau d’eau inférieur à HLS et taux de méthane inférieur à MS_L1) ;– pompe en marche (niveau d’eau supérieur à LLS) ;– état alerte (consigne MS_L1 dépassée et niveau d’eau inférieur à HLS, ou consigne MS_L2 dépassée et niveau d’eau quelconque) ;– état alerte (consigne MS_L1 dépassée) et pompe en marche.Nous pouvons remarquer que, dans ce diagramme état/transition complexe, nous avons utilisé dans certains cas des combinaisons logiques de deux événements pour passer d’un état à l’autre, par exemple « MS_L2_dépassée OU Niveau_LLS » pour passer de l’état « État alerte et pompe en marche » à l’état « État alerte ». D’autre part, ce diagramme état/transition fait l’hypothèse pour la surveillance du taux de méthane que les événements « MS_L1_dépassée » et « MS_L2_dépassée » se produisent toujours dans l’ordre cité et, lors du retour à la situation normale, l’événement « Consigne_respectée » est émis.

 Diagramme de Package :

Diag package mine

 

Diagramme de Déploiement de l’application :

Diag deploiment mine

NOTE: Kannel est une passerelle WAP et SMS open source compacte et très puissante, largement utilisée dans le monde entier pour la transmission de milliards de message courts (SMS), les indications du service WAP Push et la connectivité Internet mobile.

Si vous avez trouvé les examens 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 Mr  Joël_Yk

  • Aucune note. Soyez le premier à attribuer une note !

Ajouter un commentaire

Anti-spam