Vous êtes sur la page 1sur 21

INSA - ASI TechnoWeb : Rappels UML 1/21

Technologie Web
Conception de sites Web
Alexandre Pauchet
INSA Rouen - Dpartement ASI
BO.B.RC.18, pauchet@insa-rouen.fr
INSA - ASI TechnoWeb : Rappels UML 2/21
Plan
1
Dmarche
2
Cas dutilisation
3
Navigation
4
Interaction
5
Modle objet
6
Conclusion
INSA - ASI TechnoWeb : Rappels UML 3/21
Dmarche (1/4)
Rappel cycle en V du dveloppement logiciel
Codage
Conception
dtaille
Tests
unitaires
Document de
Conception
Dtaille (DCD)
Composants
dtermins
Document de
Conception
Prliminaire (DCP)
Composants
tests
Conception
globale
Intgration
Spcication Validation
Logiciel
recett
Besoin
exprim
Documents de
Spcication
(DSE, DSI)
Architecture
teste
Plan de Tests d'Intgration (PTI)
Plan de Tests de Validation (PTV)
Plan de Tests Unitaires (PTU)
INSA - ASI TechnoWeb : Rappels UML 4/21
Dmarche (2/4)
Approche
Besoins
utilisateurs
Cas d'utilisation
Systme
Diagrammes de
squence systme
Modle
du domaine
classe1
methode()
classe2
methode()
classe3
methode()
Diagramme de
classes participantes
Diagrammes
d'interaction
Maquette
Diagramme de navigation
Diagrammes de classes
CODE
INSA - ASI TechnoWeb : Rappels UML 5/21
Dmarche (3/4)
Documentation
Spcications
Externes : formalisation du besoin, contractuel
Internes : points non ncessaires au client (domaine de comptence)
Artefacts UML : maquette, diagramme de navigation, cas dutilisation
Plan de tests de validation et Cahier de recette raliss // la
spcication
Conception Prliminaire : modle du domaine, diagramme de classes
participantes, diagrammes de squences et dinteraction, diagramme
de packages
Plan de tests dintgration et Journal des tests dintgration raliss
// la conception prliminaire
Conception Dtaille : diagramme de classes, pseudo-code
Plan de tests unitaires et Journal des tests unitaires raliss // la
conception dtaille
INSA - ASI TechnoWeb : Rappels UML 6/21
Dmarche (4/4)
Approche simplie
Besoins
utilisateurs
Cas d'utilisation
Maquette
Diagramme de navigation
Diagrammes de classes
CODE
Diagrammes de squence
Diagrammes de collaboration
INSA - ASI TechnoWeb : Rappels UML 7/21
Spcication des exigences (cas dutilisation) (1/5)
Cas dtude
Librairie en ligne
Ex : www.amazon.fr, www.fnac.com, www.eyrolles.com, etc.
Exigences fonctionnelles : recherche, prsentation douvrages,
slection, commande
Exigences non fonctionnelles : ergonomie, simplicit dutilisation,
performance, etc.
Contraintes de conception :
Mise jour des donnes de rfrence
Mise jour depuis les formulaires du site
Panier
Paiement scuris
INSA - ASI TechnoWeb : Rappels UML 8/21
Spcication des exigences (cas dutilisation) (2/5)
Dmarche
Structuration en cas dutilisation
Cas d'utilisation
Identier les acteurs
Identier les cas dutilisation
Structurer les cas dutilisation en package
tudier les relations entre cas dutilisation
Hirarchiser les cas dutilisation
INSA - ASI TechnoWeb : Rappels UML 9/21
Spcication des exigences (cas dutilisation) (3/5)
Exemple : cas dutilisation de linternaute
Consulter
l'aide en ligne
Effectuer une
commande
Grer son
panier
Rechercher
des ouvrages
Consulter ses
commandes
en cours
Internaute
<< extends >>
Effectuer une
recherche rapide
Effectuer une
recherche avance
Effectuer une
recherche par thme
Effectuer une
recherche par
rubrique ditoriale
Gnralisation
S'identifier
<< include >>
<< include >>
<< extends >>
Inclusion
Extension
INSA - ASI TechnoWeb : Rappels UML 10/21
Spcication des exigences (cas dutilisation) (4/5)
Scenarios
Exemple : Eectuer une commande
Acteur principal : linternaute
Objectifs : tout moment, le client doit pouvoir accder au formulaire du bon de commande, dans lequel il peut
saisir ses coordonnes et les informations ncessaires au paiement et la livraison.
Prconditions : Le panier nest pas vide et lInternaute a pu accder au formulaire de commande (cf. Grer son
panier).
Postconditions : Une commande a t enregistre et transmise au service Commandes.
Scnario nominal :
1. LInternaute saisit lensemble des informations ncessaires au paiement et la livraison :
- son adresse email,
- son adresse de facturation,
- son adresse de livraison si elle est diffrente de son adresse de facturation,
- son numro de carte de crdit.
2. Le Systme affiche un rcapitulatif de la commande.
3. Linternaute valide sa commande.
4. Le Systme envoie la commande valide au service Clients.
5. Le Systme confirme la prise de commande lInternaute.
Extensions :
1a. LInternaute est dj client.
1. Linternaute sidentifie avec son e-mail et son mot de passe.
2. Le Systme affiche les donnes concernant lInternaute.
2a. Le Systme ne reconnat pas le client
Le Systme prvient lInternaute du problme (retour en 1a.1).
1-3a. LInternaute annule sa commande.
1. Le Systme revient laffichage du panier (cas dutilisation termin).
Exigences supplmentaires : Utilisation de SSL.
INSA - ASI TechnoWeb : Rappels UML 11/21
Spcication des exigences (cas dutilisation) (5/5)
Planication
Remarque importante
Scenarios diagrammes de squence systme
Packages
UC de linternaute
UC des employs
Acteurs
UC secondaires
Classement des cas dutilisation
Cas dutilisation Priorit Risque Itration
Rechercher des ouvrages Haute Moyen 2
Grer son panier Haute Bas 3
Eectuer une commande Moyenne Haut 4
Consulter ses commandes en cours Basse Moyen 6
Consulter laide en ligne Basse Bas 7
Maintenir le catalogue Haute Bas 1
Maintenir les informations ditoriales Moyenne Bas 5
Maintenir le site Moyenne Bas 5
INSA - ASI TechnoWeb : Rappels UML 12/21
Navigation (1/2)
Approche
Approche
Maquette
Diagramme de navigation
Maquette
Dessins/canevas pouvant intgrer des fonctionnalits de navigation
Vue concrte mais non dnitive de lIHM
Support de discussion avec le client
INSA - ASI TechnoWeb : Rappels UML 13/21
Navigation (2/2)
Diagramme de navigation
<<page>>
Nouveauts
<<page>>
Meilleurs ventes
<<page>>
...
<<page>>
Aide
<<page>>
Page d'accueil
<<page>>
Recherche avance
<<action>>
Mettre dans le panier
<<action>>
Recherche
<<action>>
Recalculer
<<frame>>
Recherche rapide
<<frame>>
Rsultat de recherche
<<action>>
Classement
<<page>>
Fiche d'auteurs
<<page>>
Panier
<<page>>
Fiche dtaille d'ouvrage
<<action>>
Parcours des pages
<<action>>
tablir un devis
<<frame>>
Devis
<<action>>
Commander
<<page>>
Fiche client vide
<<action>>
Saisir infos commande
<<page>>
Fiche de commande
<<action>>
Acheter
<<page>>
Fiche client remplie
<<action>>
Modification compte
[il reste au
moins 1 livre] [plusieurs pages]
[Fin normale avec achat]
[client identifi]
livre trouv ?
[non]
[oui]
<<exception>>
erreur
INSA - ASI TechnoWeb : Rappels UML 14/21
Interaction (1/3)
Approche
Diagrammes dinteraction
Diagrammes de squence
Diagrammes de collaboration
Approche
Systme
Diagrammes de squence
Systme
Diagrammes de collaboration
Systme
Diagrammes de
squence systme
Cas d'utilisation
(scnarios)
INSA - ASI TechnoWeb : Rappels UML 15/21
Interaction (2/3)
Diagramme de squence
Exemple : Recherche avance
Internaute RechercheAvance
pageSuivante()
vrifierSyntaxeRecherche(phrase)
ContrleRecherche
chercherLivres(phrase)
Catalogue
chercherLivresParAuteur(a)
tous les : Livre
find()
rsultats : Livre
create
RsultatRecherche
create(resultats)
pagePrcdente()
rsultats
chercher(phrase)
INSA - ASI TechnoWeb : Rappels UML 16/21
Interaction (3/3)
Diagramme de collaboration
Exemple : Recherche avance
Internaute
RechercheAvance
ContrleRecherche Catalogue
tous les : Livre
rsultats : Livre
RsultatRecherche
1. rechercher(phrase)
1.1. vrifierSyntaxeRecherche(phrase)
2. pageSuivante()
3. pagePrcdente()
1.2.2. create(rsultats)
1.2. chercherLivres(phrase)
1.2.1. chercherLivresParAuteur(a)
1.2.1.1.1.2 rsultats
1.2.1.1.1.1. create 1.2.1.1. find()
1.2.1.1.1.
INSA - ASI TechnoWeb : Rappels UML 17/21
Modle objet (1/2)
Rappel : MVC
MVC : Modle-Vue-Contrleur
Vue
Contrleur
Modle
Notification d'vnements
de mise jour + donnes modifies
observateur
observable
services de mise jour
services du modle
Choix du paradigme
Au moment de lanalyse du problme (Cas dutilisation, modle du
domaine, diagramme de navigation)
3 approches :
1
Fonctionnelle/Procdurale
2
Objets
3
Composants
INSA - ASI TechnoWeb : Rappels UML 18/21
Modle objet (2/2)
Diagramme de classes
Gestion du panier
PageResultatRecherche
- mettreDansPanier()
PagePanier
- quantite [0...*] : integer=1
+ afficher(idSession, code)
+ modifierQuantiteLigne(code, nombre)
+ supprimerLigne(code)
+ recalculer()
+ viderPanier()
+ demanderDevis()
+ commander()
+ verifierNombre() : boolen
Panier
- total : real
- contenu
+ ajouterLigne(code, nombre=1)
+ modifierQuantiteLigne(code, nombre)
+ supprimerLigne(code)
+ viderPanier()
Page
ErreurPanierVide
- messageErreur : string
...
Session
- id
- nom : string
- prenom : string
- email : string
...
1
1
1
0...1
INSA - ASI TechnoWeb : Rappels UML 19/21
Conclusion (1/3)
Limites du modle UML
Qualits
Simple
Expressif
Mthodologique
Limites
Ne reprsente pas les tats du systme
Rapidement limit (gros systmes)
Pas dinterconnexion de systmes
Pas dynamique (Agents informatiques, composants, etc.)
Pas de vrication
INSA - ASI TechnoWeb : Rappels UML 20/21
Conclusion (2/3)
Alternatives
e1 e2
e3
t1
t3
t4
e4
t2
2
p1
p2
p3
t1
Alternatives
Approche SMA
Repsentation des interactions par automates/rseaux de Petri
Vrication logique
Contrainte : vnements discrets
INSA - ASI TechnoWeb : Rappels UML 21/21
Conclusion (3/3)
Rfrences
UML : Modliser un site e-commerce, Pascal Roques, Eyrolles.
http://laurent-audibert.developpez.com/Cours-UML/html/
index.html
http://www.coredump.fr.to/category/modelisation/uml/
http://uml.free.fr/

Vous aimerez peut-être aussi