• Aucun résultat trouvé

IFT2251 Introduction au génie logiciel Travail pratique #3 par: Nicola Grenon GREN30077303 le mercredi quatre avril mars deux mille six

N/A
N/A
Protected

Academic year: 2022

Partager "IFT2251 Introduction au génie logiciel Travail pratique #3 par: Nicola Grenon GREN30077303 le mercredi quatre avril mars deux mille six"

Copied!
1
0
0

Texte intégral

(1)

IFT2251

Introduction au génie logiciel

Travail pratique #3

par:

Nicola Grenon GREN30077303

le mercredi quatre avril mars deux mille six

(2)

a) Le style architectural client-serveur.

b)

t e r m in a l : c lie n t V o t e

le c t e u r :le c t e u r D e C a r t e

s e r v e u r E le c t io n :s e r v e u r D e V o t e

s it e :s e r v e u r W e b

n a v ig a t e u r :c l ie n t W e b

« c o m m u n ic a t io n » a c c è s f t p

« c o m m u n ic a t io n » a c c è s h t t p

« c o m m u n i c a t i o n » R é c u p é r a t i o n d e s l i s t e s

« c o m m u n i c a t i o n » E n v o i d e s v o t e s a u t h e n t if ic a t io n ( p o r t s é r ie )

v e r s l' u t ilis a t e u r ( s o u r is , c la v ie r , é c r a n )

v e r s l' u t ilis a t e u r

( s o u r i s , c la v ie r , é c r a n )

(3)

a)

b)

É l e c t e u r

p a g e id e n t if ic a t o n

le c t e u r d e c a r t e v a lid a t i o n

a f f i c h a g e p a g e id e n t if ic a t i o n

r é c u p é r a t io n

c o d e s e c r e t c o m p a r a is o n d u c o d e

a f f ic h a g e p a g e i n f o r m a t io n s

p a g e in f o r m a t io n s

c o n f ir m a t io n d e l ' a c c o r d

r é c u p é r a t io n

d e l a li s t e é le c t o r a l e L is t e é l e c t o r a l e

a f f ic h a g e p a g e c h o ix d ' é le c t i o n p a g e d e c h o ix

d ' é le c t io n

s u it e . . .

c o m p a r a is o n a v e c le n o m d e l' é le c t e u r

E le c t e u r E le c t i o n V é r if ic a t io n d e s h e u r e s d e s é l e c t io n s ( o k ? )

C li e n t _ d e _ v o t e

É l e c t e u r

: P a g e I d e n t i f i c a t i o n

1 . V é r if i e r V a li d i t é ( )

: P a g e I n f o r m a t i o n

1 . 1 Af f i c h er P a g eI D

3 .4A fi c ha ge Pa ge Ch oix Éle ct i on ()

: E l e c t e u r 3 .3V

é rifierÉ lig ib ilité

3 C o n f ir m a t io n A c c o r d ( )

P a g e C h o i x É l e c t i o n

: E l e c t i o n : L e c t e u r

: L i s t e E l e c t o r a l e : C l i e n t d e V o t e

2 . 1 R é c u p é r e r C o d e ( ) 2 . 2 C o n f i r m e r C o d e O k ( )

2 R e ce v o i r Co d e S ec e t ( )

2 . 3A f fi c he r Pa g eI n fo s ()

3 . 1 D eb u te r () 3 .2Vé rifie rHe ures ()

3 .2 .1Co nfirme rHe ure 3 .3.1

É lig ib ilité Ok

3 . 3 . 1 R é cu p é r e r I D 3 . 3 . 2 R e tou r I D

(4)

a)

b)

É l e c t e u r

p a g e i d e n t i f ic a t o n

a f f ic h a g e p a g e id e n t if i c a t io n

r é c u p é r a t io n

c o d e s e c r e t c o m p a r a is o n d u c o d e

p a g e d e v o t e

v é r if ic a t io n

d ' é l ig i b i lit é lis t e

é l e c t o r a le

E le c t i o n r é c u p é r a t io n d e s

c h o ix d e v o t e a f f ic h a g e

p a g e d e v o t e

p a g e d e

c o n f i r m a t io n a f f i c h a g e p a g e

d e c o n f ir m a t io n

g é n è r a t io n d u b u lle t in

c r y p t a g e d u b u l le t in

e n r e g i s t r e m e n t a f f i c h a g e p a g e

c o n f i r m a n t l ' e n r e g i s t r e m e n t p a g e c o n f i r m a n t

l' e n r e g i s t r e m e n t

s u i t e . . .

B u lle t i n C lie n t _ d e _ v o t e

E l e c t e u r

: P a g e i d e n t i f i c a t i o n

1 . 4 V é r if ie r é lig ib ilit é

: P a g e d e v o t e

: P a g e c o n f i r m a t i o n

: P a g e c o n fi r m a n t v o t e e x é c u t é

: C l i e n t d e v o t e

: L i s t e

é l e c t o r a l e : É l e c t i o n : B u ll e t i n

1 d e m a n d e d u c o d e 1 . 1 « S a is ie d u c o d e »

1 . 2 R é c u p é r e r C o d e

1.3ComparerCode

1 . 5 R é c u p é r e r C h o ix

1 . 6 C r é e r ( )

1 . 7 A f f ic h e r ( )

2 d e m a n d e r u n c h o ix d e v o t e 2 . 1 « E n t r e r u n c h o ix d e v o t e »

2 . 2 C r é e r ( ) 2 . 3 A f f ic h e r ( ) 2 . 4 d e m a n d e r u n e c o n f ir m a t io n

2 . 5 « E n t r e r la c o n f ir m a t io n »

3 G é n é r e r le b u lle t in

3.1Crypter 3.2 Enregistrer/expédier

3 . 3 C r é e r ( ) 3 . 4 A f f ic h e r ( )

(5)

L i s t e _ E l e c t o r a l e

- D a t e _ d e r _ m a j : D a t e - C o m m e n t a i r e : S t r i n g

+ n o m P r e s e n t ? ( I D : s t r i n g ) + d e j a V o t e ? ( I D : s t r i n g )

E l e c t e u r - I d e n t i f i a n t : S t r i n g - N o m : S t i n g - P r e n o m : S t r i n g - D a t e _ n a i s s a n c e : D a t e - A d r e s s e : S t r i n g

E l e c t i o n - N u m e r o : I n t e g e r - D a t e : D a t e - H e u r e _ d e b u t : T i m e - H e u r e _ F i n : T i m e

+ H e u r e O k ? ( ) + g e t C h o i x ( )

C h o i x _ d e _ v o t e - N u m e r o : I n t e g e r - N A S _ C a n d i d a t : S t r i n g - N o m _ C a n d i d a t : S t r i n g - P r é n o m _ C a n d i d a t : S t r i n g - D a t e _ n a i s s _ C a n d i d a t : S t r i n g - N o m _ p a r t i : S t r i n g

+ g e t L i b e l l é ( )

B u l l e t i n _ d e _ v o t e - N u m é r o : I n t e g e r

- D a t e _ v o t e : D a t e - H e u r e _ v o t e : T i m e

+ s e t C h o i x ( u n C h o i x : C h o i x D e V o t e ) + c r y p t a g e ( )

+ e n r e g i s t r e m e n t _ e x p é d i t i o n ( )

C l i e n t _ d e _ v o t e - N u m é r o : S t r i n g

+ g e t C o d e S u r L a C a r t e ( ) + v e r i f C o d e S e c r e t ( c o d e : s t r i n g ) P a g e _ d e _ l _ i n t e r f a c e

+ a f f i c h e r ( )

P a g e I d e n t i f i c a t i o n

é l e c t e u r

P a g e d ' i n f o r m a t i o n s

+ c o n f i r m e r ( )

P a g e d e c h o i x d ' é l e c t i o n

P a g e d e v o t a t i o n

P a g e d e c o n f i r m a t i o n

+ c o n f i r m e r ( )

P a g e c o n f i r m a n t l ' e n r e g i s t r e m e n t

d u v o t e 0 . . n

1

I n s c r ir e

V o t e r

0 . . n 0 . . n 1

0 . . n 1

2 . . n

C o n t e n ir

C o n c e r n e r

0 . . n

0 . . n

1 1

S é le c t io n n e r

U t ilis e r

A f f ic h e r

0 . . n 0 . . n

(6)

a)

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 s'en servir... ou un int pour signifier qu'un expression comme (((a))) est valable.

b)

E x p r e s s i o n

- n o m b r e P a i r e s P a r e n t h è s e s : i n t e g e r

I t e m

+ e v a l u e r ( ) + t o S t r i n g ( )

V a r i a b l e - t y p e : e n u m - v a l e u r : S t r i n g + g e t T y p e ( ) + g e t V a l ( )

C o n s t a n t e v a l e u r : r e e l O p é r a t i o n

n b O p e r a n d e s : i n t e g e r

1 . . n

O p é r a t e u r t y p e : e n u m ( + , - , * , / , . . . )

+ c a l c u l e r ( o p é r a n d e s )

F o n c t i o n

+ c a l c u l e r ( o p é r a n d e s )

0 . . 1 0 . . n

0 . . n

I c i é v i d e m m e n t c e s o n t e n q u e l q u e s o r t e d e s p s e u d o - c l a s s e s q u i n ' o n t p a s à ê t r e c o n c r è t e m e n t i m p l a n t é e s e n p r a t i q u e c o u r a n t e , m a i s q u i

p o u r r a i e n t l ' ê t r e s i o n d é s i r a i t c r é e r u n m o d è l e d e s i m u l a t i o n .

a :I t e m b :I t e m c :I t e m d :I t e m e :I t e m f :I t e m g :I t e m

+ # 1 :F o n c t io n

f u n c :F o n c t io n + # 2 :F o n c t io n

/ # 1 :F o n c t io n

/ # 2 :F o n c t io n

* # 1 :F o n c t io n - # 1 :F o n c t io n

+ # 3 :F o n c t io n

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

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....

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