IFT2255 - Génie Logiciel Solutiont Démo 3 Question 1 Quelle est la différence entre un besoin fonctionnel et un besoin non-fonctionnel. Donnez trois exemples pour chacun. R : Un besoin fonctionnel est relatif aux fonctions, c est-à-dire à ce que le logiciel va faire. Un besoin non-fonctionnel est plus relatif aux contraintes sur comment le logiciel doit effectuer une fonction. (Contraintes de qualité) Besoin fonctionnel : fonction de traduction, Calcul de la moyenne d un étudiant, fonction d aide disponible sur la demande d un utilisateur. Besoin non-fonctionnel : un maximum de deux secondes entre la requête et la réponse, facilité d utilisation, maintenable. Question 2 Voici une liste de besoins. Faites une hiérarchisation de ces besoins. 1. Utilisation de fonction mathématique 2. Calcul symbolique 3. Différentielle d une fonction 4. Intégrale d une fonction 5. Recherche de 0 d une fonction 6. Représentation graphique d une fonction 7. Résolution d équations 8. Résolution numérique d équations 9. Affichage très rapide de fonctions en 3D 10. Affichage très fin des fonctions à l aide de rendu logiciel 11. Affichage de fonctions en 4D 12. Affichage de fonctions en 5D 13. Affichage de fonctions en 100D R : Hiérarchie : Mathématique o 1 o Rendu 6 9 10 11 12 o Calcul Symbolique 2 3
4 5 7 Numérique 8 Question 3 Considérez le système logiciel suivant: Les pompes à essence d une station service offrent plusieurs options aux automobilistes qui les utilisent : Chaque pompe permet de choisir entre trois types d essence. L utilisateur peut effectuer son paiement directement à la pompe avec une carte de crédit, ou en espèces en passant par le caissier. Un utilisateur qui effectue son paiement directement à la pompe peut optionnellement utiliser une carte fidélité pour accumuler des points bonis avec son achat d essence. L utilisateur peut choisir de faire le plein ou entrer une limite sur le montant d argent. Dans ce cas, la pompe arrête automatiquement de verser l essence lorsque ce montant est atteint. Un utilisateur qui effectue son paiement à la pompe reçoit aussi un reçu imprimé. De plus, toutes les pompes sont reliées à un système central de gestion de l inventaire qui calcule le nombre de litres d essences restants dans les réservoirs et ce pour chaque type d essence vendue par le commerce. Cet inventaire est mis à jour automatiquement après chaque vente. Chaque vente est aussi enregistrée dans le système de gestion à des fins de vérification. 1) Pour chacune des catégories suivantes, identifiez une exigence non-fonctionnelle possible pour le système de pompe à essence décrit plus haut : R : a. Utilisation : La police de l affichage doit être facilement lisible à une distance de 1.5 mètres. b. Fiabilité : Le système doit être disponible 99.999% du temps d ouverture du commerce. c. Performance : Le système doit répondre aux actions des utilisateurs en moins de 0.5s. d. Support : Le système doit être bilingue (anglais/français). R : 2) Décrivez d une façon textuelle le cas d utilisation Acheter de l essence avec paiement à la pompe par carte de crédit. Incluez les scénarios alternatifs montant d argent spécifié et carte fidélité. UC1: Acheter de l essence avec paiement à la pompe par carte de crédit Acteurs: Utilisateur (automobiliste), compagnie de crédit, système central d inventaire Préconditions: La pompe est active et disponible. Postconditions: La pompe est disponible pour le prochain client. Scénario principal: 1. L utilisateur glisse sa carte de crédit dans le lecteur.
2. Le système confirme avec la compagnie de crédit que la carte de crédit est valide et préapprouve un achat de 50$. 3. Le système demande à l utilisateur s il détient une carte fidélité. 4. L utilisateur appuie sur le bouton Non 5. Le système demande à l utilisateur de choisir le type d essence désiré. 6. L utilisateur appuie sur le bouton correspond au type d essence désiré. 7. Le système demande à l utilisateur s il désire faire le plein 8. L utilisateur appuie sur le bouton Oui 9. Le système demande à l utilisateur de prendre le pistolet et de commencer à faire le plein. 10. L utilisateur prend le pistolet et commence à faire le plein. 11. Durant le remplissage, le système affiche le montant total de la vente et le nombre de litres d essences écoulés. 12. L utilisateur replace le pistolet 13. Le système conclut la vente avec la compagnie de carte de crédit. 14. Le système communique les détails de la vente au système central. 15. Le système imprime un reçu et remet les quantités affichées à zéro. Scénarios alternatifs: 4a. L utilisateur appuie sur le bouton Oui 1. Le système demande à l utilisateur de glisser sa carte fidélité 2. L utilisateur glisse sa carte fidélité dans le lecteur 3. Retour à l étape 5 du cas principal. 8a. L utilisateur appuie sur le bouton Non 1. Le système demande à l utilisateur d entrer le montant maximum désiré 2. L utilisateur entre le montant maximum à l aide du clavier numérique et appuie sur Entrer 3. Le système demande à l utilisateur de prendre le pistolet et de commencer à verser l essence. 4. L utilisateur prend le pistolet et commence à verser l essence. 5. Le système affiche le montant total de la vente et le nombre de litres d essences écoulés durant le remplissage.
6. Lorsque le montant entré est atteint, le système arrête le flot d essence 7. Retour à l étape 12 du cas principal. Question 4 Le Département d informatique vous demande de faire un logiciel de gestion des cours en ligne du genre StudiUM. Ils ne sont pas satisfaits du système présentement disponible. Ce sont les techniciens qui s occupent de la gestion des cours dans ce système. Ils sont donc en mesure d enregistrer des cours, de supprimer un cours, d inscrire des étudiants au programme de formation en ligne, d inscrire un étudiant à un cours, d annuler l inscription d un étudiant à un cours. Quand le technicien inscrit un étudiant au programme, il doit absolument l inscrire à au moins un cours pour que l inscription soit valide. Quand le technicien supprime un cours, il doit aussi annuler les inscriptions de tous les étudiants de ce cours. Le technicien peut aussi envoyer des courriels à tout utilisateur du système en ligne (i.e. professeurs, étudiants et techniciens). Un professeur peut entrer des notes, entrer des documents et envoyer des courriels aux utilisateurs. Si certaines notes contiennent la mention «note non disponible», un courriel est envoyé automatiquement aux étudiants concernés. Il peut aussi préparer des tests électroniques qui pourront être passés par les étudiants à une période bien précise choisie par le professeur. Pour faire tout ceci, le professeur doit s identifier et inscrire son mot de passe. Les étudiants pour leur part, peuvent consulter leurs notes et des documents, peuvent envoyer des courriels aux autres utilisateurs et passer des tests. Ils doivent bien sûr s identifier pour participer à chacune de ces activités. Une fois sur la page du test, l étudiant choisit de le démarrer ou de quitter. Si l étudiant quitte le test alors qu il n est pas terminé, un e-mail est envoyé au professeur automatiquement et le test n est plus disponible pour lui jusqu à preuve du contraire. Si l étudiant complète le test de manière normale, les notes sont automatiquement entrées dans la base de données. L étudiant est ensuite sorti de l application et le test n est plus disponible pour lui. N.b. Le service de courriel offert en ligne est très rudimentaire. Il permet seulement d envoyer des messages aux utilisateurs du système. Il faut utiliser un autre système pour lire les courriels. R : 1) Pour chacune des catégories suivantes, identifiez une exigence non-fonctionnelle possible pour le système de pompe à essence décrit plus haut : a. Utilisation : Les couleurs utilisées pour le texte ne doivent pas être associées aux formes communes de daltonisme. b. Fiabilité : Si une défaillance se produit dans le système lorsque l étudiant passe son test, le système doit effectuer les opérations de récupération de données nécessaires. c. Performance : Le système doit répondre aux actions des utilisateurs en un temps raisonnables moins de 3s. (selon l action). Le système doit être en mesure de traiter 1Ko de données par transaction durant les tests. d. Support : Le système devra pouvoir incorporer plusieurs composants externes pour lire les courriels
2) Faire le diagramme des cas d utilisation 3) Donner la documentation pour le cas d utilisation «Passer un test» Cas d utilisation : Passer un test Acteurs principaux : Étudiant Pré Conditions : L étudiant se trouve sur la page des tests. Les tests proposés sont ceux qui peuvent actuellement être passé. Au moins un test est disponible. L étudiant s est identifié. Post-Conditions du scénario principal: La page de test n est plus affichée. Le test n est plus disponible pour cet étudiant et sa note est enregistrée dans la base de donnés. Déclencheur : Sélection d un test par l étudiant Déroulement Principal : 1. Le système demande de confirmer le démarrage du test ou de le quitter. 2. L étudiant choisit de démarrer le test. 3. Le système affiche les questions du test. Il s agit de questions à choix multiples pour lesquelles une et une seule réponse est attendue. 4. L étudiant répond aux questions du test puis signale au système qu il a terminé. 5. Le système désactive le test que l étudiant vient de compléter. Ce test n est donc plus disponible pour l étudiant. Le système affiche une nouvelle page et indique à l étudiant de patienter pendant la correction du test. 6. Le système corrige le test et vérifie que l étudiant a bel et bien répondu à toutes les questions du test. 7. Le système enregistre le résultat de l étudiant dans la base de données. Le système indique à l étudiant qu il peut consulter sa note en accédant à son dossier scolaire. Variantes de déroulement : 2. (A). L étudiant choisit de quitter le test : 1. Le système ne poursuit pas avec le test : il ramène l étudiant à la page des tests disponibles.
6. (A) Le système détecte que l étudiant n a pas répondu à toutes les questions : 1. Le système indique à l étudiant que son test ne peut être évalué car il n est pas complet, envoie un courriel au professeur pour lui signaler le cas problématique de cet étudiant et comme résultat, il attribue à l étudiant la mention «undef».
Identification Utilisateur Inscrire un étudiant au programme «include» Introduire documents Envoyer email Inscrire étudiant à un cours Préparer test Enregistrer cours Professeur Saisir notes Supprimer cours Technicien «include» Passer test «extend» Annuler une inscription d un étudiant à un cours Etudiant Consulter notes Consulter documents Annuler une inscription d un étudiant à un programme