• Aucun résultat trouvé

IFT2251 Introduction au génie logiciel Travail pratique #1 par: Nicola Grenon GREN30077303 le lundi treize février deux mille six

N/A
N/A
Protected

Academic year: 2022

Partager "IFT2251 Introduction au génie logiciel Travail pratique #1 par: Nicola Grenon GREN30077303 le lundi treize février deux mille six"

Copied!
1
0
0

Texte intégral

(1)

IFT2251

Introduction au génie logiciel

Travail pratique #1

par:

Nicola Grenon GREN30077303

le lundi treize février deux mille six

(2)

Question 1a:

Élément Commentaire À inclure ?

architecture

client-serveur Représente la structure de notre système. (Donc

l'intérieur du système) non

vote On doit en mémoriser plusieurs. oui

bureau d'élection N'est pas dans le système tel que défini. non terminal client Partie intégrante du système à implémenter. non isoloir Ne fait pas partie de notre système tel que déf. non électeur On doit en représenter plusieurs et conserver

des informations à son sujet. oui

carte d'identité à puce Possède probablement un identifiant unique. oui code secret Est un attribut associé directement à la carte. non

détenteur de la carte Synonyme de «électeur». non

serveur de vote Partie intégrante du système à implémenter. non

utilisateur Synonyme de «électeur». non

lecteur (de carte) Fait partie du système. non

liste électorale Il s'agit d'un élément unique que le système

doit connaître. oui

élection Plusieurs avec leurs attributs propres. oui

jour Attribut d'une élection. non

régionale Attribut d'une élection. non

municipale Attribut d'une élection. non

liste des élections Liste qui doit être connue du système. oui

choix (possibles) Attributs d'une élection. non

horaire de vote Attributs d'une élection. non

8h / 22h Exemple de «horaire de vote». non

nom (de l'électeur) Attribut de «électeur». non

liste d'émargement Liste qui doit être connue du système. oui

option Il y en a plusieurs par élection. oui

interface utilisateur Fait partie du système non

clavier Composante du système non

nom (d'une élection) Attribut d'une «élection». non

souris Composant du système. non

temps de vote Résultat. non

vote blanc Type d'option. non

page de confirmation Fait partie de l'interface du système. non bulletin de vote Représentation virtuelle du «vote». non fenêtre(de l'interface) Fait partie de l'interface du système. non page (de l'interface) Fait partie de l'interface du système. non bouton (de la page) Fait partie de l'interface du système. non

connexion Interne au système. non

nombre (de connexions) Interne au système. non

volume (des connexions) Interne au système. non

données Représente des votes et/ou des listes.

(Résultat) non

chaîne cryptée Fait partie d'un «vote». non

audit (de l'élection) Hors de notre système. non

nombre (de votants) Résultat. non

nombre (d'inscrits) Résultat. non

taux de participation Résultat. non

résultats Résultat. non

nombre de votes Résultat. non

pourcentage Résultat. non

Donc: vote, électeur, carte d'identité, liste électorale, élection, liste des élections, liste

d'émargement, option de vote.

(3)

Question 1b:

Type Événement Déclencheur Source Activité (cas d'util.) Réponse Destination

temporel Début de l'élection L'heure de début de vote.

Récupération de la liste des élections et des options de vote du jour.

Message «prêt» (...) sur le terminal client.

Électeur

externe Identification de l'électeur auprès du terminal client.

L'électeur entre sa carte dans le lecteur et donne son code secret.

Électeur - Demande au lecteur (qui demande à la carte) de confirmer la validité du code secret.

- Récupération du droit de vote à toutes les élections du jour (selon les listes électorales et

d'émargement)

- Message d'erreur ou - Menu des élections disponibles.

Électeur

externe Choix d'une élection L'électeur sélectionne une élection au menu des élections.

Électeur Génération de la liste des choix Affichage des choix Électeur

externe Choix d'une option de vote

L'électeur clic sur un des choix de vote.

Électeur Génère un message de confirmation vers le moniteur.

Demande de confirmation

Électeur externe Confirmation d'un vote L'électeur clique sur la

confirmation (ou non)

Électeur Cryptage et transmission des données.

Confirme la dernière action et offre le retour au menu

Électeur

externe Fin de la session avec un électeur.

L'électeur retire sa carte du lecteur.

Électeur Réinitialisation de l'interface (à l'interne).

Message «prêt» sur le terminal client.

Électeur État Le site web doit être mis

à jour.

Un nouveau vote a été reçu par le serveur

Génération de la page web de statistiques de vote.

Mise en ligne de la page modifiée.

Serveur web temporel La fin de la journée de

vote. L'heure de fin du vote Génération de la page web de

résultats du vote (reçus à date) Mise en ligne de la page

modifiée. Serveur web

Question 1c:

S y s t è m e d e v o t e É le c t e u r

S e r v e u r w e b

C a r t e à p u c e

C o d e s e c r et ,

C h o ix d ' é lem e n u s , c oM e s s a g e sc t i o n , C h on f i r m a tio nd ' e r r e u r ,i x d e v o te .s P a g e w e b m is e à jo u r

C on f ir m a t i on o u i n fi r m a t i on C od e s ec r et

Question 2: Les besoins fonctionnels

A) Identification & authentification de l'électeur.

11. La carte de l'électeur contient un code secret. [besoin fonctionnel – stockage]

(On pourrait aussi considérer cet élément comme hors de notre rayon d'action puisqu'il n'est pas précisé si on doit gérer ou pas les cartes.)

12. L'électeur doit s'identifier et s'authentifier au terminal client. [besoin fonctionnel – entrées]

12.a L'électeur doit insérer sa carte dans le lecteur de carte.

12.b L'électeur doit entrer son code secret au clavier du système.

13. La vérification du code secret se fait sur la carte. [besoin fonctionnel – calcul]

14. L'électeur doit être authentifié avant de pouvoir voter. [besoin fonctionnel – sortie]

(au sens qu'on accède ensuite à un menu d'élections affiché à l'écran)

(4)

B) Le vote

21. Le serveur de vote stocke l'information de façon centralisée. [besoin fonctionnel – stockage]

21.a La liste électorale 21.b La liste des élections

21.c Les choix possibles pour chaque élection 21.d La liste d'émargement

21.e Les votes confirmés.

22. Le système doit pouvoir gérer plusieurs élections en même temps. [besoin fonctionnel – entrées]

23. Il y a une heure de début et une heure de fin pour chaque élection. [besoin fonctionnel – temps]

24. L'électeur doit pouvoir voter pour les élections auxquelles il est autorisé. [besoin fonctionnel – entrées]

24.a On doit vérifier que: L'électeur est sur la liste électorale.

24.b On doit vérifier que: L'électeur n'a pas déjà voté à cette élection. (N'est pas sur la liste d'émargement.)

24.c On doit vérifier que: Nous sommes le jour de l'élection.

24.d On doit vérifier que: Nous sommes dans les heures d'ouverture de l'élection.

25. L'électeur n'est obligé de voter à aucune élection. [besoin fonctionnel – entrées]

26. Un électeur doit toujours avoir la possibilité de voter blanc. [besoin fonctionnel – entrées]

27. Le vote doit rester anonyme. [besoins fonctionnels – stockage] (lié à #31)

28. Le retrait de la carte à puce annule les opérations non confirmées. [besoin fonctionnel – entrées]

29. Des pages web de statistiques sont générées automatiquement. [besoin fonctionnel – sorties]

29.a Après chaque vote pour les pages sur le taux de participation.

29.b À la fin des heures de vote pour le résultat des élections.

Question 3: Les besoins non-fonctionnels de qualité.

31. Le vote doit être anonyme. [Non-fonctionnel – Qualité – Sécurité] (lié à #27) 32. L'interface utilisateur doit être simple à utiliser. [Non-fonctionnel – Qualité – Convivialité]

32.a Ne présenter que des choix valides à l'électeur.

32.b Utiliser la souris pour toutes les opérations (sauf le code secret) 32.c Réduire la complexité de l'interface (une fenêtre à la fois, etc.) 32.d L'électeur est l'initiateur de tout changement d'état du terminal client.

33. L'interface doit permettre de minimiser le temps de vote. [Non-fonctionnel – Qualité – Performance]

34. Le système demande la confirmation du vote. [Non-fonctionnel – Qualité – Sécurité]

35. L'électeur doit pouvoir choisir à tout moment de ne pas voter ou d'annuler l'opération en cours. [Non- fonctionnel – Qualité – Convivialité]

36. Le système doit minimiser le nombre et le volume des connections. [Non-fonctionnel – Qualité – Performance]

36.a Minimiser le nombre de connections.

36.b Minimiser le volume des transferts.

37. Le terminal client doit éviter de poser des questions dont il connaît la réponse au serveur. [Non- fonctionnel – Qualité – Performance]

38. Chaque vote confirmé doit être crypté et transmis dès que possible. [Non-fonctionnel – Qualité – Sécurité]

39. Permettre un éventuel audit de l'élection à partir des données stockées du vote. [Non-fonctionnel – Qualité – Facilité de maintenance (Adaptatif/Perfectif)]

Question 4: Les besoins non-fonctionnels concernant la plateforme.

41. Le système doit avoir une architecture client-serveur (Terminaux clients et Serveur de vote). [Non- fonctionnel – Plateforme – Type]

(5)

Question 5: Vérification de la cohérence des besoins.

 On veut que l'électeur n'ait que des choix valides comme possibilité sur le menu de votation (32a), Mais la liste d'émargement est centralisée sur le serveur de vote (21d) et n'est pas recopiée sur le terminaux clients (minimiser les informations transmises: 36b). {Donc 32a versus 36b}

Question 6: Vérification de la complétude des besoins.

a) Offrir une interface auditive pour les déficients visuels ou analphabètes.

(Donc une prise à écouteurs et générer des instructions vocales en même temps que les instructions visuelles...)

[fonctionnel – sorties]

b) S'assurer d'une qualité du système permettant d'avoir un niveau de service constant pour 99,99% du temps. [non-fonctionnel – fiabilité]

Prévoir un chemin de connexion secondaire en cas de panne du lien primaire entre le

terminal client et le serveur de vote. [non-fonctionnel – robustesse]

Références

Documents relatifs

Ainsi, des animaux se côtoyant sur la litière d’une même stabulation vont être plus sujets à l’infection et ce, par le biais, notamment, des leptospires présents dans les

Comme on applique au passage à chaque dessinateur les transformations que devra subir le dessinateur final, on obtient deux listes de

La première difficulté à laquelle nous sommes confrontés est la complexité du problème. En apparence simple, il se subdivise en une multitude de contraintes se

Chaque fois qu'on voudra ajouter une chaîne de caractère à notre base de données, on vérifiera donc si elle est déjà présente dans la liste de toutes celles déjà employées et

Le logiciel affiche un message d'information, ferme la session et après quelques secondes réinitialise l'écran.. 

Le logiciel affiche un message d'information, ferme la session et après quelques secondes réinitialise l'écran.

Les paires de parenthèses n'ont pas besoin d'être une classe, mais un simple attribut de l'expression. On pourrait utiliser un booléen pour indiquer lorsqu'on veut

Remarquons ici qu'il est probablement très fallacieux de déclarer que NFT, NDT, NMFT et NFK sont réellement indépendantes... les précédents TP ont eu le mérite de nous montrer le