• Aucun résultat trouvé

IFT2251 Introduction au génie logiciel Travail pratique #2 par: Nicola Grenon GREN30077303 le lundi six mars deux mille six

N/A
N/A
Protected

Academic year: 2022

Partager "IFT2251 Introduction au génie logiciel Travail pratique #2 par: Nicola Grenon GREN30077303 le lundi six mars deux mille six"

Copied!
7
0
0

Texte intégral

(1)

IFT2251

Introduction au génie logiciel

Travail pratique #2

par:

Nicola Grenon GREN30077303

le lundi six mars deux mille six

(2)

Question 1: Diagramme de classes

Électeur

- nom:String

+ Identifier()

Bulletin de vote

+ EncrypteVote() + DecrypteVote()

Choix de vote

- Libellé: String

Élection

- Infos:String

+ TxParticipation() + Resultats() + ListeÉlect() + ListeÉmarge() vote

possède

1

2..n

1

0..n

1 0..n

rempli

(3)

Question 2: Diagramme de cas d'utilisation

Électeur

Horloge système

Individu du public

Système de votation

Voter à une élection

Préposé du bureau des élections

Directeur en chef des élection Délégué

Modification d'une élection (ou création)

Identification / Authentification

Ouvrir une élection

Fermer une élection

Modification de la liste électorale (ou création)

Production/impression de la listed'émargement

Déclenchement

d'un dépouillement

Déclenchement

d'unrecomptage

Consulter les résultats

<<include>>

<<include>>

<<include>> <<

inclu de>>

<<include>>

<<include>>

Ne serait-ce que pour changer l'affichage à l'écran signalant entre

deux électeurs les élections qui sont actuellement ouvertes...

On pourrait également définir la création à part de la modification, mais alors la modification serait une généralisation

de la création Exécuter une

session de vote <<in clude

>>

<<extends>>

Question 3: Documentation des cas d'utilisation

! Cas d'utilisation: Exécuter une session de vote.

o Acteurs principaux: Électeur

o Pré-conditions: - Le terminal client est en bon état de marche (pas en panne et allumé) - La session précédente est fermée.

- La carte de l'électeur est fonctionnelle.

o Post-conditions: - L'électeur a retiré sa carte

o Déclencheur: Un électeur introduit sa carte dans le lecteur.

! Déroulement principal

1. L'électeur introduit sa carte d'électeur

2. Le terminal initie la procédure d'authentification – include Identification / Authentification 3. Le terminal affiche la liste des élections disponibles

4. L'électeur choisit une élection

5. Le terminal initie la procédure de vote à une élection – extends Voter à une élection 6. L'électeur indique qu'il a terminé de voter

7. Le terminal ferme la session et éjecte la carte de l'électeur (et affiche un rappel de prendre la carte).

(4)

! Variantes de déroulement

2. (A) L'opération d'authentification a échoué:

Le terminal affiche un message d'information et éjecte la carte. Après quelques secondes l'écran se réinitialise.

3. (A) Il n'y a aucune élection disponible à laquelle l'électeur n'a pas voté:

Le terminal informe l'électeur de ce fait et indique, s'il y a lieu, les heures d'ouverture des élections du jour où il n'a pas encore voté. Le terminal ferme la session et éjecte la carte et après quelques secondes l'écran se réinitialise.

x. (A) À tout moment, l'électeur sort sa carte du lecteur:

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

! Exigences spéciales

o Contrainte fonctionnelle

" Diffuser en simultané les instructions vocales dans les écouteurs pour déficients visuels.

Cas d'utilisation: Voter à une élection.

o Acteurs principaux: Électeur

o Pré-conditions: - L'élection est est ouverte et l'électeur n'y a pas déjà voté.

- L'électeur est déjà identifié - La carte est dans le lecteur.

o Post-conditions: - Le bulletin de vote a été transmis au serveur et stocké adéquatement o Déclencheur: L'électeur a sélectionné une élection disponible au menu des élections.

! Déroulement principal

1. Le terminal demande à l'électeur de s'authentifier de nouveau – include Identification / Authentification 2. Le terminal affiche les informations de l'élection avec entre autre les différents choix possibles (dont un blanc).

3. L'électeur fait son choix au moyen de la souris.

4. Le terminal demande la confirmation du choix.

5. L'électeur indique qu'il est d'accord avec le choix.

6. Le terminal affiche un message neutre indiquant que le vote est en traitement.

7. Le terminal crypte le vote.

8. Le terminal transmet sans attendre le bulletin.

9. Le serveur confirme la réception au terminal client.

10. Le terminal affiche une fenêtre neutre confirmant que le vote a bien été enregistré (sans plus d'ifnormations).

11. L'électeur clic sur «ok».

12. Le terminal retourne au menu des élections ...

! Variantes de déroulement

1. (A) L'opération d'authentification a échoué:

Le logiciel affiche un message d'information et éjecte la carte. Après quelques secondes l'écran se réinitialise.

5. (A) L'électeur indique que le choix était erroné:

Retour au menu des choix pour cette élection.

x. (A) L'électeur choisit d'annuler l'opération (bouton annuler): [À tout moment sauf entre 6 et 11]

Le logiciel informe l'électeur que l'opération a été annulée et retourne au menu des élections.

! Exigences spéciales

o Contrainte non fonctionnelle

" S'assurer de transmettre le plus rapidement possible le bulletin.

" Si une panne survient avant l'étape 9, l'opération est annulée.

" S'assurer que l'information sur le choix de vote n'apparaisse pas sur l'écran de confirmation du vote.

(5)

Question 4: Diagrammes d'activités

Voter à une élection

Le terminal demande de s'authentifier

L'électeur entre son code secret

Le terminal affiche un message d'erreur

[<3 erreurs]

[Code erroné]

Le terminal affiche les choix de l'élection [Code correct]

Le terminal affiche un message d'information et éjecte la carte

[>2 erreurs]

L'électeur clique sur son choix

Le terminal demande de valider le choix L'électeur indique s'il est

certain

[non]

[oui] Le terminal affiche un message d'attente neutre

Le terminal crypte le vote

Le terminal transmet le bulletin au serveur Le serveur confirme la

réception au terminal

Le terminal confirme l'enregistrement du vote L'électeur clique sur

«ok»

Le terminal confirme l'annulation

[L'électeur a choisi le bouton d'annulation]

nota: Le choix d'utiliser les lignes courbes à gauche est volontaire, dans un esprit de clarté. J'aurais tout aussi bien pu ajouter un choix (et un losange au besoin) à la sortie de chacune des boîtes reliées, mais c'eut rendu le diagramme plus difficile à lire! Dans le prochain diagramme, comme il y a peu de choix, la lecture reste aisée, donc j'ai utilisé une façon plus formelle de représenter le choix.

(6)

Exécuter une session de vote

Le terminal demande de s'authentifier

L'électeur entre son code secret

Le terminal affiche un message d'erreur

[<

3 erreurs]

[Code erroné]

Le terminal affiche la liste des élections disponibles [Code correct]

Le terminal affiche un message d'information et éjecte la carte

[>2 erreurs]

L'électeur choisi une élection ou quitter

[quitter ou sort sa carte du lecteur]

[une élection] extends:

Voter à une élection

L'électeur entre sa carte

[bouton annuler ou sort sa carte du lecteur]

Le terminal réinitialise l'écran d'accueil

[Au moins une élection disponible]

[Aucune élection disponible]

(7)

Question 5: Diagramme d'états(d'une élection)

État post électoral

Ouverte

Indéterminée

time(HeureDeDébut)

Déterminée

Dépouillement

Archivée

after(3 mois) En édition

En attente fin de l'édition

édition

time[HeureDeFin]

Recomptage

Références

Documents relatifs

On voit parcontre qu'on peut l'améliorer à 100% (dans notre test) avec des données triées. Ceci s'explique par le fait que l'on va systématiquement essayer de placer le cas le plus

La seconde partie effectue une fouille en profondeur en marquant chaque nouveau noeud rencontré d'une valeur alternant entre gauche et droite. Si en

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

Méthodes, techniques, outils Développer un logiciel c’est comme cuisiner.. „ Principe = Règles d’hygiène, fraîcheur

L’analyse structurelle d’un réseau de Petri permet de prouver certaines propriétés du réseau sans avoir à construire le graphe des marquages accessibles.. Matrice d’incidence

Donc: vote, électeur, carte d'identité, liste électorale, élection, liste des élections, liste d'émargement, option de vote....