Seminaire Borland UML (2003)

2,466
-1

Published on

La modélisation d’un site marchand avec UML : une démarche agile mise en oeuvre avec Together

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,466
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
58
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Seminaire Borland UML (2003)

  1. 1. La modélisation d’un site marchand avec UML :une démarche agile mise en œuvre avec Together09 Octobre 2003 Modéliser un site marchand avec UML et Together 1
  2. 2. 1 : Introduction Concevoir© 2003 – Valtech Training 09 Octobre 2003
  3. 3. Présentations Intervenant : Pascal Roques Consultant senior chez Valtech Training Responsable des formations autour d’UML Auteur de 3 ouvrages sur UML parus chez Eyrolles : UML en action - 2e édition UML par la pratique UML - Modéliser un site De lanalyse des besoins à la Cours et exercices Java et C# e-commerce conception en Java - 2ème édition Les Cahiers du Programmeur09 Octobre 2003 Modéliser un site marchand avec UML et Together 3
  4. 4. Notre programme 1. Introduction 2. Spécification des exigences : les cas d’utilisation 3. Analyse du domaine : les objets « métier » 4. Conception objet et passage au code 5. Conclusion Et des exemples de diagrammes réalisés avec Together®09 Octobre 2003 Modéliser un site marchand avec UML et Together 4
  5. 5. UML UML Langage de modélisation graphique destiné à : comprendre et décrire des besoins, spécifier et documenter des systèmes, esquisser des architectures logicielles, concevoir des solutions concrètes, communiquer des points de vue. Standardisé par l’OMG www.omg.org Mars 2003 : UML 1.5 Bientôt UML 2.0 ?09 Octobre 2003 Modéliser un site marchand avec UML et Together 5
  6. 6. Les diagrammes d’UML UML 1.5 propose 9 types de diagrammes : Diagramme de cas d’utilisation Fonctionnel Diagramme de classes Diagramme d’objets DIAGRAMME DE CAS DUTILISATION Diagramme de séquence Diagramme de collaboration Statique Dynamique Diagramme d’activités DIAGRAMME DE CLASSES DIAGRAMME DÉTATS DIAGRAMME DOBJETS DIAGRAMME DACTIVITÉS Diagramme d’états DIAGRAMME DE COMPOSANTS DIAGRAMME DE DÉPLOIEMENT DIAGRAMME DE SÉQUENCE DIAGRAMME DE COLLABORATION Diagramme de composants Diagramme de déploiement09 Octobre 2003 Modéliser un site marchand avec UML et Together 6
  7. 7. Le processus proposé Un processus agile pour la Domain UC Diagram Model Class Diagram Foo modélisation de site marchand, Foo2 Operation Contracts fondé sur UP (Unified Process) : High Level UC Name: Responsibilites: Collaboration Diagram Name: Actors: 1:bar() Description: Preconditions: Postconditions: foo() Conduit par les cas d’utilisation, 2:baz() Expanded UC Name: System Sequence Actors: Diagram Description: :System TCOE: Actor Action Sys Response Léger et restreint, foo() 1. Abcde 2. Zidjen 3. Scndi foo2() Mais sans négliger les activités de modélisation en analyse et en conception, Basé sur un sous-ensemble nécessaire et suffisant du langage UML. Pour trouver le meilleur rapport qualité / prix !09 Octobre 2003 Modéliser un site marchand avec UML et Together 7
  8. 8. L’étude de cas Une librairie en ligne Société fictive : jeBouquine.com But : prendre place sur le marché de la librairie en ligne Besoin : inventer rapidement des éléments différentiateurs Le site Web devra donc être facilement évolutif Objectifs principaux : permettre aux internautes de … Chercher des ouvrages par thème, auteur, mot-clef, etc., Se constituer un panier virtuel, Pouvoir commander et payer directement sur le Web.09 Octobre 2003 Modéliser un site marchand avec UML et Together 8
  9. 9. L’étude de cas Exigences fonctionnelles : gestion du panier09 Octobre 2003 Modéliser un site marchand avec UML et Together 9
  10. 10. L’étude de cas Exigences fonctionnelles : commande Accès facile au formulaire de commande09 Octobre 2003 Modéliser un site marchand avec UML et Together 10
  11. 11. 2 : Spécification des exigences - les cas d’utilisation Concevoir© 2003 – Valtech Training 09 Octobre 2003
  12. 12. La démarche Comment décrire les besoins ?09 Octobre 2003 Modéliser un site marchand avec UML et Together 12
  13. 13. Acteurs et cas d’utilisation Exemples de diagramme de cas d’utilisation e-librairie (administration) Nouveautes Maintenir le catalogue Administrateur Service logistique Webmaster Administrer le site09 Octobre 2003 Modéliser un site marchand avec UML et Together 13
  14. 14. Acteurs et cas d’utilisation e-librairie (user) Creer un compte Rechercher des ouvrages Internaute Gerer son panier virtuel Systeme dautorisation de paiement Commander des livres Client Gerer son compte Service logistique Gerer ses commandes Suivre les commandes en cours09 Octobre 2003 Modéliser un site marchand avec UML et Together 14
  15. 15. Les cas d’utilisation Chaque cas d’utilisation va être décrit textuellement Par une description narrative dont le plan-type n’est pas standardisé Contient en général : Préconditions et postconditions Scénario nominal Scénarios alternatifs … On peut compléter cette description textuelle par des diagrammes dynamiques simples09 Octobre 2003 Modéliser un site marchand avec UML et Together 15
  16. 16. Les cas d’utilisation Exemple de description de cas d’utilisation Titre : Commander des livres Acteurs : Client (principal), Service d’autorisation de paiement, service logistique (secondaires). Préconditions : Le panier du client n’est pas vide et il a pu accéder à au formulaire de commande (voir le cas d’utilisation Gérer son panier) Postconditions : Une commande a été enregistrée et transmise au service Logistique. Scénario nominal : 1.Le Système affiche un récapitulatif de la commande. 2.Le Client valide sa commande. 3.Le Système ouvre une connexion sécurisée 4.Le Client saisit un numéro de carte de crédit avec son type et sa date de validité. 5.Le Système récapitule les infos sur la transaction. 6.Le Client valide sa commande. 7.Le Système envoie les informations cryptées au système d’autorisation de paiement. 8.Le Système d’autorisation de paiement valide la transaction. 9.Le Système confirme la prise de commande au client. 10.Le Système envoie la commande validée au service Logistique. Extensions : 2-6a. L’Internaute annule sa commande. Le Système revient sur l’affichage du panier et le cas d’utilisation est terminé. 3a. Le système n’arrive pas à ouvrir une connexion sécurisée. Le cas d’utilisation se termine en erreur. 8a. Le Système d’autorisation de paiement ne valide pas la transaction. Le cas d’utilisation se termine en erreur. Exigences supplémentaires : Pour garantir la sécurisation et la confidentialité des échanges, il est impératif que lenvoi des données se fasse de manière cryptée (protocole SSL). Le passage de commande est disponible 24h/24, 7j/7.09 Octobre 2003 Modéliser un site marchand avec UML et Together 16
  17. 17. Le diagramme de séquence système Le diagramme de séquence « système » illustre la succession temporelle des événements causés par des messages venant des acteurs le système est considéré comme une boîte noire on montre ses interactions avec les acteurs, dans le cadre d’un scénario d’un cas d’utilisation Acteur principal à gauche Acteurs secondaires éventuels à droite du système En général très bien accepté par les experts métier09 Octobre 2003 Modéliser un site marchand avec UML et Together 17
  18. 18. Le diagramme de séquence système e - lib r airie Exemple de c lie n t syst au t o p aie me n tse r vic e logist iq u e diagramme acces formulaire de commande de séquence recapitulatif commande « système » passage de commande pour un cas ouverture connexion securisee d’utilisation saisie infos carte recapitulatif transaction verification carte validation commande infos cryptees transaction validee confirmation commande nouvelle commande09 Octobre 2003 Modéliser un site marchand avec UML et Together 18
  19. 19. Le diagramme d’activités Client e-librairie Exemple de affichage commande diagramme Passage de commande d’activités Ouverture connexion securisee pour un cas Saisie infos carte d’utilisation Verification carte [NOK] [OK] Affichage recapitulatif Systeme dautorisation de Validation commande paiement Cryptage des infos Validation transaction Command e [NOK] [OK] Consolidation Service logistique Traitement commande09 Octobre 2003 Modéliser un site marchand avec UML et Together 19
  20. 20. 3 : Analyse du domaine - les objets « métier » Concevoir© 2003 – Valtech Training 09 Octobre 2003
  21. 21. Le modèle du domaine Un modèle du domaine représente des concepts existant dans un domaine du monde réel. choses tangibles, physiques (Livre, Client) concepts abstraits, logiques (Thème, Panier) Il poursuit deux objectifs importants : aider à la compréhension d’un domaine complexe dégager un ensemble de classes et associations candidates pour la conception objet Le modèle du domaine utilise la notation UML des diagrammes de classes (statique)09 Octobre 2003 Modéliser un site marchand avec UML et Together 21
  22. 22. Le modèle du domaine Exemple de diagrammes de classes pour la maintenance du catalogue Catalo gue 1 1..* Ed ite ur T heme 1..* nom nom pays 0..* sousTheme 0..1 1..* 1 Livr e titre 1..* est edite par sousTitre Aut eur ISBN nom 1..* a ecrit 1..* langue dateParution prenom prix09 Octobre 2003 Modéliser un site marchand avec UML et Together 22
  23. 23. Le modèle du domaine Exemple de diagrammes de classes pour le passage de commande P anier Command e 1 donne lieu a 0..1 total date modeReglement delaiLivraison fraisDePort montant 0..* commandesEnCours est passee par 1 Cart eBanc aire Client type 0..1 1 nom numero prenom dateValidite email09 Octobre 2003 Modéliser un site marchand avec UML et Together 23
  24. 24. Le modèle du domaine passer commande validation[incomplete] Initialisee On peut aussi validation[complete] annulation avoir besoin du diagramme Validee annulation d’états… prise en compte annulation Ex. : la classe colis perdu ou incorrect En preparation Commande Incident incident mission depart mission after(6 mois) incident termine livraison[OK] En cours de livraison Livree livraison[NOK]09 Octobre 2003 Modéliser un site marchand avec UML et Together 24
  25. 25. 4 : Conception objet – passage au code Concevoir© 2003 – Valtech Training 09 Octobre 2003
  26. 26. La démarche De l’analyse à la conception09 Octobre 2003 Modéliser un site marchand avec UML et Together 26
  27. 27. La démarche L’architecture logique <<layer>> P re se n t at ion <<layer>> A p p lic atio n <<layer>> Me t ie r Catalo gu e Clie n t P an ie r <<layer>> S e r vic e s te c h n iq u e s09 Octobre 2003 Modéliser un site marchand avec UML et Together 27
  28. 28. Les diagrammes Exemple : diagramme de séquence Client EcranPanier ControleurCommandes ControleurPanier S yste me d aut or isatio S er vice logist iq ue n passerCommande():void passerCommande():void panier:=getPanier():Panier create(panier) no uvelle Co mmand e Commande create(nouvelleCommande) EcranCommande effectuerPaiement():void effectuerPaiement():void create EcranPaiement saisirInfosCarte():void verifCarte():void validationCommande():void validationCommande():void infos cryptees nouvelleCommande09 Octobre 2003 Modéliser un site marchand avec UML et Together 28
  29. 29. Les diagrammes Exemple : diagramme de collaboration généré <<actor>> <<actor>> S yste me d aut or isatio n S er vice logist iq ue 4.1.1: infos cryptees 4.1.2: nouvelleCommande 2.1.1: create 1.1.1: panier:=getPanier():Panier <<control>> 3.1: verifCarte():void :Cont r oleu rP anie r <<control>> <<boundary>> :Cont r oleu rComman d es:Ec ran Paie ment 1.1: passerCommande():void 1.1.2: create(panier) 2.1: effectuerPaiement():void 3: saisirInfosCarte():void 4.1: validationCommande():void 1.1.3: create(nouvelleCommande) <<boundary>> :Ec ran Pan ier <<entity>> 1: passerCommande():void no uvelle Co mmand e :Co mmand e 2: effectuerPaiement():void 4: validationCommande():void <<actor>> <<boundary>> Client :Ec ran Co mmand e 09 Octobre 2003 Modéliser un site marchand avec UML et Together 29
  30. 30. La démarche De l’analyse à la conception Le concepteur objet applique des “Design Patterns” Singleton State Factory Proxy …09 Octobre 2003 Modéliser un site marchand avec UML et Together 30
  31. 31. Les diagrammes ...P re sent at ion.Ecr anCommand e <<singleton>> ...Ap p lic atio n.Cont r oleu rComman d es ...P re sent at ion.Ecr anP aiemen t +effectuerPaiement():void -instance:ControleurCommandes=null +validationCommande():void +saisirInfosCarte():void #ControleurCommandes() +validationCommande():void +passerCommande():void +effectuerPaiement():void Exemple : +verifCarte():void +validationCommande():void +getInstance():ControleurCommandes diagramme de classes de 0..* Command e 0..* conception -date:Date Client -modeReglement:int -nom:int -delaiLivraison:int 0..* 1 -prenom:int -fraisDePort:int commandesEnCours -email:int <<singleton>> -montant:int ...Ap p lic atio n.Cont r oleu rP anie r +saisirInfos():void +valider():void -instance:ControleurPanier=null 1 #ControleurPanier() +getPanier():Panier +getInstance():ControleurPanier <<parameter>> 0..1 Cart eBanc aire P anier -type:int 1 -dateValidite:int -total:int -numero:int +verifier():void09 Octobre 2003 Modéliser un site marchand avec UML et Together 31
  32. 32. La démarche De la conception préliminaire à la conception détaillée Dialogues Pages PHP JSP + FormBean + Page HTML ASP.NET + WebForms Contrôles Pages PHP Servlet + actions CodeBehind … Entités Classes ou bibliothèques de fonctions PHP EJB ou JavaBeans Classes C# ou Serviced Components09 Octobre 2003 Modéliser un site marchand avec UML et Together 32
  33. 33. Passage au code Java09 Octobre 2003 Modéliser un site marchand avec UML et Together 33
  34. 34. 5 : Conclusion Concevoir© 2003 – Valtech Training 09 Octobre 2003
  35. 35. La démarche Comment passer des besoins au code ?09 Octobre 2003 Modéliser un site marchand avec UML et Together 35
  36. 36. La démarche09 Octobre 2003 Modéliser un site marchand avec UML et Together 36
  37. 37. L’outillage e - lib r airie Together ! c lie n t acces formulaire de commande recapitulatif commande syst au t o p aie me n tse r vic e logist iq u e passage de commande ouverture connexion securisee saisie infos carte e-librairie (user) recapitulatif transaction verification carte Creer un compte validation commande infos cryptees <<actor>> <<actor>> S yste me d aut or isatio n transaction validee S er vice logist iq ue Rechercher des ouvrages confirmation commande Internaute <<extend>> <<extend>> nouvelle commande 4.1.1: infos cryptees 4.1.2: nouvelleCommande Gerer son panier virtuel <<extend>> Systeme dautorisation 2.1.1: create 1.1.1: panier:=getPanier():Panier <<control>> 3.1: verifCarte():void de paiement <<control>> :Cont r oleu rP anie r Commander des livres <<boundary>> :Cont r oleu rComman d es :Ec ran Paie ment <<extend>> 1.1: passerCommande():void 1.1.2: create(panier) Client Gerer son compte Service logistique 2.1: effectuerPaiement():void Gerer ses commandes <<layer>> 3: saisirInfosCarte():void 4.1: validationCommande():void 1.1.3: create(nouvelleCommande) <<boundary>> P re se n t at ion 1: passerCommande():void :Ec ran Pan ier <<entity>> no uvelle Co mmand e :Co mmand e Suivre les commandes en cours 2: effectuerPaiement():void <<layer>> 4: validationCommande():void A p p lic atio n <<actor>> Client <<boundary>> :Ec ran Co mmand e Catalo gue <<layer>> 1 Me t ie r ...P re sent at ion.Ecr anCommand e <<singleton>> Catalo gu e ...Ap p lic atio n.Cont r oleu rComman d es ...P re sent at ion.Ecr anP aiemen t Clie n t P an ie r +effectuerPaiement():void -instance:ControleurCommandes=null 1..* +validationCommande():void +saisirInfosCarte():void Ed ite ur #ControleurCommandes() +validationCommande():void T heme +passerCommande():void 1..* nom +effectuerPaiement():void nom pays +verifCarte():void 0..* sousTheme <<layer>> +validationCommande():void +getInstance():ControleurCommandes 0..1 1..* 1 S e r vic e s te c h n iq u e s Livr e validation[incomplete] 0..* passer commande titre Initialisee Command e 0..* 1..* est edite par sousTitre Client Aut eur ISBN -date:Date -modeReglement:int -nom:int nom 1..* a ecrit 1..* langue annulation -delaiLivraison:int 0..* 1 -prenom:int dateParution validation[complete] -fraisDePort:int prenom commandesEnCours -email:int prix -montant:int <<singleton>> Validee annulation ...Ap p lic atio n.Cont r oleu rP anie r +saisirInfos():void +valider():void -instance:ControleurPanier=null 1 prise en compte #ControleurPanier() annulation +getPanier():Panier +getInstance():ControleurPanier <<parameter>> colis perdu ou incorrect En preparation 0..1 Cart eBanc aire Incident incident mission depart mission P anier -type:int after(6 mois) 1 -dateValidite:int incident termine -total:int -numero:int livraison[OK] En cours de livraison Livree +verifier():void livraison[NOK]09 Octobre 2003 Modéliser un site marchand avec UML et Together 37
  38. 38. Fin Pour en savoir plus : Les Cahiers du Programmeur UML : Modéliser un site e-commerce P. Roques, Eyrolles, 2002 Merci de votre attention ! pascal.roques@gmail.com09 Octobre 2003 Modéliser un site marchand avec UML et Together 38
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×