La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Michel Tollenaere U.M.L. fondamentaux 1 Modélisation objet des données et processus UML (Unified Modelling Language) Michel Tollenaere (INPG)

Présentations similaires


Présentation au sujet: "Michel Tollenaere U.M.L. fondamentaux 1 Modélisation objet des données et processus UML (Unified Modelling Language) Michel Tollenaere (INPG)"— Transcription de la présentation:

1 Michel Tollenaere U.M.L. fondamentaux 1 Modélisation objet des données et processus UML (Unified Modelling Language) Michel Tollenaere (INPG) Master 2 Mécanique et Génie Mécanique Parcours : Intégration en Conception de Produit

2 Michel Tollenaere U.M.L. fondamentaux 2 UML : Unified Modelling Language Historique : Grady Booch 1981, ADA, « Object Oriented Development » James Rumbaugh 1991, OMT, JOOP (Journal of OO programming) Ivar Jacobson, OOSE sept 97, UML 1.1 Références : site en français en France Pierre Alain Muller (U-Mulhouse) et Valtech Outils : StarUML 5.0 Objecteering Rational ROSE, plus de 30 outils de modélisation et de CASE (Computer Aided Software Engineering)

3 Michel Tollenaere U.M.L. fondamentaux 3 Technologie Architecture propriétés Constituant : acteur (intéragissant avec VEGA2) Système (VEGA2) message UML modelling information systems at conceptual level at logical level

4 Michel Tollenaere U.M.L. fondamentaux 4 Booch methodOMT Unified Method 0.8 OOPSLA ´95 OOSE Other methods UML 0.9 Web - June ´96 public feedback Final submission to OMG, Sep 97 First submission to OMG, Jan ´97 UML 1.1 OMG Acceptance, Nov 1997 UML 1.3 UML 1.0 UML partners Creating the UML UML UML

5 Michel Tollenaere U.M.L. fondamentaux 5 Meyer Before and after conditions Harel Statecharts Gamma, et al Frameworks and patterns, HP Fusion Operation descriptions and message numbering Embley Singleton classes and high-level view Wirfs-Brock Responsibilities Odell Classification Shlaer - Mellor Object lifecycles Rumbaugh OMT Booch Booch method Jacobson OOSE Contributions to the UML

6 Michel Tollenaere U.M.L. fondamentaux 6 diagramme de classes diagramme dobjets diagramme de composants diagramme de déploiement Statique (ce que le système EST) diagramme de séquence diagramme de collaboration diagramme détats-transitions diagramme dactivités Fonctionnel (ce que le système FAIT) Dynamique (comment le système EVOLUE) diagramme de cas dutilisation diagramme de collaboration Axes de modélisation d un système

7 Michel Tollenaere U.M.L. fondamentaux 7 Conceptuel organisationnel logique physique En UML, les mêmes modèles peuvent être utilisés à différents niveaux dabstraction du plus conceptuel à limplantation. On peut donc appliquer des mécanismes de transformation continue. Niveaux dabstraction dun SI

8 Michel Tollenaere U.M.L. fondamentaux 8 diagramme de cas dutilisation diagramme de classes diagramme de séquence diagramme de collaboration diagramme dobjets diagramme détats-transitions diagramme dactivités (nous utiliserons IDEF 0) diagramme de composants diagramme de déploiement Les 9 diagrammes dUML 1.1 (13 diag en 2.0)

9 Michel Tollenaere U.M.L. fondamentaux 9 DiagrammeClassesComposantsDéploiementCollaborationEtats TransitionsSéquenceObjetsCas d utilisation ClassesEtats TransitionsSéquence Ceci est un commentaire Description UML des diagrammes UML Activité

10 Michel Tollenaere U.M.L. fondamentaux 10 Cas dutilisation une fonctionnalité attendue du système par les différents acteurs. Exemples : Quelques diagrammes : acteur (intéragissant avec VEGA2) Système (VEGA2) message Diagramme de séquence Chaque cas d'utilisation apparaît comme un scénario, décrit par un ou plusieurs diagrammes de séquence. Un diagramme de séquences montre les interactions entre les acteurs et le système selon un point de vue temporel pour accomplir une fonctionnalité attendue du système (un cas d utilisation). Cest une ensemble de messages échangés entre les acteurs et le système, ordonnés chronologiquement. Diagramme de Classes

11 Michel Tollenaere U.M.L. fondamentaux 11 Modèle Fonctionnel Use Cases = cas dutilisation diagramme de collaboration

12 Michel Tollenaere U.M.L. fondamentaux 12 Représente les fonctions du système de point de vue de l utilisateur. Cas d utilisationActeur relation Eléments du diagramme : acteur : un rôle joué par une personne, un service, etc. qui interagit avec le système étudié cas dutilisation : manière spécifique d utiliser un système. Image dune fonctionnalité attendue, déclenchée en réponse à la stimulation dun acteur relations entre cas dutilisations et acteurs Ceci est un cas dutilisation Ceci est une relation Ceci est un acteur Diagramme de cas dutilisation

13 Michel Tollenaere U.M.L. fondamentaux 13 Trois types de relations : relation de communication : entre un acteur et un cas dutilisation. Exprime léchange dinformations entre lacteur et le système. Déclencher virementclient relation dutilisation : entre deux cas dutilisation. Exprime que le cas dutilisation source comprend également le comportement décrit par le cas dutilisation destinataire (utile pour la factorisation de cas). Déclencher virement identification « use » relation dextension : entre deux cas dutilisation. Exprime que le cas dutilisation source étend le comportement du cas dutilisation cible (utile pour la spécialisation de cas). Virement par Internet Déclencher virement « extend » Relations entre cas d utilisation

14 Michel Tollenaere U.M.L. fondamentaux 14 Source

15 Michel Tollenaere U.M.L. fondamentaux 15 Récupère les Acteur humain : il sagit ici dun rôle et non dun acteur identifié. Acteur non humain : exemple un logiciel de comptabilité ou dERP avec lequel le système interagit Exemple Définit les contraintes mécaniques Conçoit les schémas et nomenclatures Gère la création et les révisions des dossiers variantes Gère la création et les révisions d un job Développeur Gestion des schémas Responsable CFAO Gestion des jobs Gestion des contraintes Gestion des dossiers > Responsable BE schémas Récupère les contraintes Acteurs : diagramme de cas dutilisation

16 Michel Tollenaere U.M.L. fondamentaux 16 Interactions entre objets du système avec un accent particulier sur la structure spatiale statique des objets (contexte des objets). Les messages sont numérotés pour indiquer lordre des envois. Permet de situer le contexte du système. Message : Simple, Asynchrone, Synchrone, Minuté : ascenseur : cabine : porte : lumière 1 : monter 3 : fermer 2 : allumer Objet 1 Objet 2 Objet 3 1 : message 3 : message 2 : message 4 : message 5 : message Diagramme de Collaboration

17 Michel Tollenaere U.M.L. fondamentaux 17 Modèle Statique diagramme d objets Diagramme de classes

18 Michel Tollenaere U.M.L. fondamentaux 18 TaVoiture : Voiture Marque = Renault Modèle = Megane Immatriculation = 648DBX38 1 re immatriculation = 16 sept 2009 Kilométrage = Kilométrage-annuel ? () AutreVoiture : Voiture Marque = Renault Modèle = Megane Immatriculation = 648DBX38 1 re immatriculation = 16 sept 2007 Kilométrage = Kilométrage-annuel ? () Objet : une entité concrète avec une identité bien définie qui encapsule un état et un comportement. Létat est représenté par des valeurs dattribut et des associations, le comportement par des méthodes. Un objet est une instance dune classe. Classe : une description dun ensemble dobjets qui partagent les mêmes attributs, opérations, méthodes, relations et contraintes. Une classe peut posséder des attributs ou des méthodes «de classe». Objets et classes Voiture Marque : chaîne Modèle : chaîne Immatriculation : chaîne (8) 1re immatriculation : date Kilométrage : entier Kilométrage-annuel ? ( ) Kilometrage_annuel_moyen ( ) MaVoiture : Voiture Marque = Renault Modèle = Megane Immatriculation = 648DBX38 1 re immatriculation = 16 sept 1997 Kilométrage = Kilométrage-annuel ? ()

19 Michel Tollenaere U.M.L. fondamentaux 19 Structure statique dun système, en termes dobjets et de liens entre ces objets. Ces objets et ces liens possèdent des attributs qui possèdent des valeurs. Un objet est une instance de classe et un lien est une instance dassociation. Personne âge : entier patron collaborateur 1 * Diagramme de classes Nom de lobjet : Classe Attributs = valeurs Liens diagramme dobjets -/- diagramme de classes Etienne : personne âge = 35 Jean-Luc : personne âge = 25 patron Diagramme d objets collaborateur emploie> Abstraction Concrétisation

20 Michel Tollenaere U.M.L. fondamentaux 20 Structure statique dun système, en termes de classes et de relations entre ces classes. Nom de classe Attributs Opérations () Voiture Couleur Cylindrée Vitesse max Démarrer () Accélérer () Freiner () Visibilité : trois niveaux de visibilité pour les attributs et les opérations: public (+) : élément visible à tous les clients de la classe protégé ( #) : élément visible aux sous-classes de la classe privé (-) : élément visible à la classe seule Syntaxe: nom_attribut : type_attribut = valeur initiale nom_opération (nom_argument : type_argument = valeur_par_défaut, …) : type_retourné exemple : Diagramme de classes

21 Michel Tollenaere U.M.L. fondamentaux 21 Nommage des associations véhiculeconstructeur fabricant produit véhiculepersonne Conduit> conducteurvéhicule Possède> propriétairevéhicule directeursociété Possède> actionnaire société

22 Michel Tollenaere U.M.L. fondamentaux 22 PersonneSociétéEmployeur Employé1 0..* m.. n * ou 0.. * 1.. * Un et un seul (obligatoire) Zéro ou un (optionnel) De m à n (entiers) quelconque Au moins 1 Multiplicité des associations

23 Michel Tollenaere U.M.L. fondamentaux 23 Agrégation: Association transitive : si voiture est composée de moteur et si moteur est composé de courroie alors voiture est composée de courroie Association non systémique : si voiture est composée de moteur, moteur ne peut pas être composé de voiture Association qui peut être réflexive : exemple, une fonction peut être composée dautres fonctions, un sous ensemble dautres sous ensembles. Rôle et multiplicité : Une classe a un rôle dans une association. Les rôles portent une information de multiplicité précisant le nombre d associations auquel une instance d objet peut être associée. Les multiplicités les plus courantes sont : 1 / 0..1 / m..n / * /0..* / 1..* Associations

24 Michel Tollenaere U.M.L. fondamentaux 24 Classe-association Permet de «qualifier» plus finement une association

25 Michel Tollenaere U.M.L. fondamentaux 25 Placement des attributs et des associations Diplôme TravailEtudiant Chambre Réalise > Note - valeur Numéro Mention 0..* * 1

26 Michel Tollenaere U.M.L. fondamentaux 26 Contraintes comptepersonne {Ordonnée} Est_titulaire> * classepersonne {Sous ensemble} 0.. * Parent d élève Délégués universitépersonne {Ou-exclusif} 0.. * Enseignants Etudiants

27 Michel Tollenaere U.M.L. fondamentaux 27 Agrégation ChapitreLivre {Ordonnée} * Paragraphe {Ordonnée} 1.. *

28 Michel Tollenaere U.M.L. fondamentaux 28 Composition TêteHomme 1 1 La composition traduit une dépendance existentielle forte.

29 Michel Tollenaere U.M.L. fondamentaux * 1 0..* EstResoluPar 1 0..* 1..* 1 Induit 1..* LesProblèmes LesProjets 1..* LesEtudes 0..1 ComplétéePar 0..* * 0..1 Suivant 0..* * Exemple de diagramme de classes

30 Michel Tollenaere U.M.L. fondamentaux 30 Modèle Statique Passage dun diagramme de classe UML à un modèle relationnel pour SGBD

31 Michel Tollenaere U.M.L. fondamentaux 31 Relation / Table Produit (Réf-produit, Libellé-p, Prix-vente-p) Fournisseur (Code-fournisseur, Adresse, Téléphone) Règle 0 & 1: attribut et classe produit Réf-produit Libellé-p Prix-vente-p fournisseur Code-fournisseur Adresse Téléphone Classe Passage du modèle statique UML au relationnel : les associations

32 Michel Tollenaere U.M.L. fondamentaux 32 Produit (Réf-produit, Libellé-p, Prix-vente-p, Code-fournisseur, remise) Fournisseur (Code-fournisseur, Adresse, Téléphone) Relation / Table Règle 2 : relation de multiplicité (1) fournisseur Code-fournisseur Adresse Téléphone Classe < fournir 1 produit Réf-produit Libellé-p Prix-vente-p Passage du modèle statique UML au relationnel : les associations Remise - valeur

33 Michel Tollenaere U.M.L. fondamentaux 33 Classe Produit (Réf-produit, Libellé-p, Prix-vente-p, remise, Code-fournisseur) Fournisseur (Code-fournisseur, Adresse, Téléphone) Relation / Table Règle 3 : relation de multiplicité (0-1) fournisseur Code-fournisseur Adresse Téléphone < fournir 0-1 produit Réf-produit Libellé-p Prix-vente-p Passage du modèle statique UML au relationnel : les associations * Remise - valeur

34 Michel Tollenaere U.M.L. fondamentaux 34 Produit (Réf-produit, Libellé-p, Prix-vente-p) Fournisseur (Code-fournisseur, Adresse, Téléphone) Relation / Table Fournir (Réf-produit, Code-fournisseur, remise) Règle 4 : relation de multiplicité (0..*) (1..*) fournisseur Code-fournisseur Adresse Téléphone < fournir 0..* ou 1..* produit Réf-produit Libellé-p Prix-vente-p Classe Passage du modèle statique UML au relationnel : les associations Remise - valeur

35 Michel Tollenaere U.M.L. fondamentaux 35 Père (nom-fils, nom-père) Relation / Table Personne nom père de > Classe 0..* 1 Règle 5 : relation réflexive orientée Passage du modèle statique UML au relationnel : les associations

36 Michel Tollenaere U.M.L. fondamentaux 36 Personne nom frère de Classe Personne (Nom) Frère (nom, nom) Relation / Table Règle 6 relation réflexive symétrique Passage du modèle statique UML au relationnel : les associations Attention, la relation étant transitive, des traitements devront être associés au modèle.

37 Michel Tollenaere U.M.L. fondamentaux 37 Modèle Dynamique Diagramme détat transition Diagramme de séquences

38 Michel Tollenaere U.M.L. fondamentaux 38 Diagramme d états-Transition Description des séquences possibles détats et d actions par lesquelles un objet peut passer tout au long de sa vie. Ces séquences résultent de sa réaction à des événements discrets. Eléments du diagramme : état : situation dun objet à un moment donné transition : connexion entre deux états, permettant le passage dun état à lautre événement : occurrence d une situation donnée dans le domaine du système qui déclenche la transition garde : condition booléenne qui valide ou non le déclenchement dune transition lors de loccurrence dun événement (cas de plusieurs transitions exclusives déclenchées par le même événement) action : opération exécutée pendant que lobjet est dans un état donné ou lorsque une transition est déclenchée (correspondant à des opérations déclarées dans la classe de lobjet destinataire). Une action dun état est dite activité quand lopération associée a un temps dexécution non négligeable (do : nom_opération) (exemple notification) Etat A action do:opération Etat B Evénement [garde] / Action …. état initialétat final

39 Michel Tollenaere U.M.L. fondamentaux 39 Personne age Société * Les personnes ne possèdent pas toutes un emploi et se trouvent, à un moment donné, dans un des états suivants : en activité, au chômage, à la retraite Létat d une personne donnée est déterminé selon son âge et la présence ou non d un lien vers une société. Diagramme d états-Transition Exemple Diagramme de classesDiagramme d états-transitions En activité do: travailler Au chômage A la retraite Perte d emploi Embauche Plus de 60 ans

40 Michel Tollenaere U.M.L. fondamentaux 40 Diagramme de Séquences Pour chaque cas dutilisation, nous pouvons décrire un ou plusieurs scénario, décrit chacun par un diagramme de séquences. Diagramme de séquence : exprime la séquence des interactions entre objets du système selon un point de vue temporel, pour réaliser le cas dutilisation.

41 Michel Tollenaere U.M.L. fondamentaux 41 Diagramme de Séquences Objet 1Objet 2 1 : [condition A] message 2 : message synchrone 4 : message 6 : [condition B] message 9 : message asynchrone 7 : message réflexif Evénement / Communication entre objets Objet 3 3 : message de création 5 : message 8 : message de destruction Période dactivité de lobjet

42 Michel Tollenaere U.M.L. fondamentaux 42 message synchrone: lémetteur est bloqué et attend que lappelé ait fini de traiter le message (message 1) message asynchrone: lémetteur nest pas bloqué et peut continuer son exécution (message 6) Un message réflexif indique souvent un point d entrée dans une activité de plus bas niveau qui s exerce entre objets contenus par l objet composite (message 7) Un message dont les délais de transmission sont non négligeables est matérialisé par une flèche oblique (message 4) Messages conditionnés : flèches prenant leur origine au même instant avec des conditions mutuellement exclusives (messages 1 et 6) Possibilité de compléments d informations sous forme de texte libre ou de pseudo-code à côté du diagramme Période d activité : temps pendant lequel un objet effectue une action, directement ou par l intermédiaire d un autre objet sous-traitant Des contraintes temporelles peuvent être exprimées en graduant la ligne de vie (pour dire par exemple: « 10 secondes plus tard ») Diagramme de Séquences Cas particuliers

43 Michel Tollenaere U.M.L. fondamentaux 43 Diagramme de Séquences Exemple Appelant Ligne téléphonique Appelé décroche tonalité numérotation sonnerieindication de sonnerie décroche allô

44 Michel Tollenaere U.M.L. fondamentaux 44 Gestion des composants externes: Création composant constance

45 Michel Tollenaere U.M.L. fondamentaux 45 Gestion des composants externes: Mise à jour composant constance Solution N°1 (non retenue): Avec validation par lopérateur

46 Michel Tollenaere U.M.L. fondamentaux 46 Gestion des composants externes: Mise à jour composant constance Solution N°2 (retenue): avec validation par lopérateur

47 Michel Tollenaere U.M.L. fondamentaux 47 Modèle Organisationnel de Traitements (MOT) de Merise Enchaînement des opérations ou taches condition denchaînement acteur affecté (qui ?) période de traitement (quand ?)

48 Michel Tollenaere U.M.L. fondamentaux 48

49 Michel Tollenaere U.M.L. fondamentaux 49

50 Michel Tollenaere U.M.L. fondamentaux 50 Diagramme de Classes Métier notice > Documentation

51 Michel Tollenaere U.M.L. fondamentaux 51 Modélisation de S.I. Étude de cas Compagnie aérienne : CRM ENSGI – MSI 2ème année Michel Tollenaere Inspiré de UML par la pratique 2ème Edition Pascal Roque Groupe Eyrolles, 2003 ISBN :

52 Michel Tollenaere U.M.L. fondamentaux 52 ÉTUDE DUN SYSTÈME DE GESTION DE LA RELATION CLIENT POUR UN RESEAU DAGENCES DE VOYAGES Un réseau dagences de voyages désire améliorer son système dinformation pour la relation avec sa clientèle. Il a été convenu de commencer ce travail par la gestion de la composante « transport aérien ». Les fonctions principales attendues du système sont : -- permettre une sélection dans loffre de vols et de places disponibles. -- assurer les réservations pour les passagers. -- permettre aux compagnies aériennes partenaires douvrir ou de fermer des vols -- mettre en place des tableaux de bord permettant de mieux connaître les clients. Les principaux utilisateurs visés par le système sont : -- les hôtesses dans les agences qui sont en contact avec les clients. -- les opérateurs de guichets dans les aéroports qui délivrent les cartes dembarquement aux passagers -- les responsables du réseau dagences qui désirent disposer de tableaux de bord sur lactivité -- les clients et les passagers via Internet -- les compagnies aériennes partenaires Les interviews des experts métier ont permis de résumer leur connaissance du domaine sous la forme des phrases suivantes : 1. Des compagnies aériennes proposent différents vols. 2. Un vol est ouvert à la réservation et refermé sur ordre de la compagnie. 3. Un client peut réserver un ou plusieurs vols, pour des passagers différents. 4. Une réservation concerne un seul vol et un seul passager. 5. Une réservation peut être annulée ou confirmée. 6. Un vol a un aéroport de départ et un aéroport darrivée. 7. Un vol a un jour et une heure de départ, et un jour et une heure darrivée. 8. Un vol peut comporter des escales dans des aéroports. 9. Une escale a une heure darrivée et une heure de départ. 10. Chaque aéroport dessert une ou plusieurs villes.

53 Michel Tollenaere U.M.L. fondamentaux 53 Fonctions et acteurs : Cas dutilisation réserver Hôtesse dagence Fonctions : permettre une sélection dans loffre de vols et de places disponibles. -- assurer les réservations pour les passagers. -- permettre aux compagnies aériennes partenaires douvrir ou de fermer des vols -- mettre en place des tableaux de bord permettant de mieux connaître les clients. Délivrer carte embarquement Guichet aéroport Ouvrir et fermer des vols Compagnie Consulter disponibilités Les principaux utilisateurs visés par le système sont : -- les hôtesses dans les agences qui sont en contact avec les clients. -- les opérateurs de guichets dans les aéroports qui délivrent les cartes dembarquement aux passagers -- les responsables du réseau dagences qui désirent disposer de tableaux de bord sur lactivité -- les clients et les passagers via Internet -- les compagnies aériennes partenaires Consulte tableaux de bord Responsable agence « extend » Réserver par Internet Consulter disponibilités par Internet Client et passager « extend »

54 Michel Tollenaere U.M.L. fondamentaux 54 Modèle statique : classes et objets 1. Des compagnies aériennes proposent différents vols. Vol Compagnie propose> 1.. ? 1.. * nom numéro

55 Michel Tollenaere U.M.L. fondamentaux 55 Modèle statique : classes et objets 2. Un vol est ouvert à la réservation et refermé sur ordre de la compagnie. Vol Compagnie propose> 11.. * nom Numéro État : (ouvert, fermé) affréteur

56 Michel Tollenaere U.M.L. fondamentaux 56 Modèle statique : classes, états - transitions 2. Un vol est ouvert à la réservation et refermé sur ordre de la compagnie. Vol Compagnie propose> 11.. * nom affréteur Numéro État : (ouvert, fermé) Ouvert état initial Fermé Ouverture par compagnie état final Fermeture par compagnie Diagramme détat – transition de la classe « Vol » Diagramme détat – transition Diagramme de classes OuvrirRéservation () FermerRéservation ()

57 Michel Tollenaere U.M.L. fondamentaux 57 Modèle dynamique : diagramme de collaboration Vol Compagnie propose> 11.. * nom affréteur Numéro Diagramme de collaboration Diagramme de classes ouvrirRéservation () fermerRéservation () AirFrance : Compagnie AF506 : Vol AF519 : Vol AF714 : Vol 1 : ouvrirRéservation () 2 : fermerRéservation () 3 : ouvrirRéservation ()

58 Michel Tollenaere U.M.L. fondamentaux 58 Continuons daffiner la classe « Vol » Vol Compagnie propose> * nom affréteur numéro dateDépart heureDépart dateArrivée heureArrivée Ouvert état initial Fermé Ouverture par compagnie état final Fermeture par compagnie Diagramme détat – transition de la classe « Vol » ouvrirRéservation () fermerRéservation () 6. Un vol a un aéroport de départ et un aéroport darrivée. 7. Un vol a un jour et une heure de départ, et un jour et une heure darrivée. 8. Un vol peut comporter des escales dans des aéroports. 9. Une escale a une heure darrivée et une heure de départ. 10. Chaque aéroport dessert une ou plusieurs villes.

59 Michel Tollenaere U.M.L. fondamentaux 59 Les aéroports Vol * numéro dateDépart heureDépart dateArrivée heureArrivée aeroportdépart aeroportArrivée ouvrirRéservation () fermerRéservation () 6. Un vol a un aéroport de départ et un aéroport darrivée. {ordered} utilise> Aeroport nom pays

60 Michel Tollenaere U.M.L. fondamentaux 60 Les aéroports (suite) Vol * numéro dateDépart heureDépart dateArrivée heureArrivée ouvrirRéservation () fermerRéservation () 6. Un vol a un aéroport de départ et un aéroport darrivée. part-de> Aeroport nom pays arrive-à> 1 AeroportArrivée Aeroportdépart 1.. *

61 Michel Tollenaere U.M.L. fondamentaux 61 Les aéroports (fin) Vol * numéro dateDépart heureDépart dateArrivée heureArrivée ouvrirRéservation () fermerRéservation () 6. Un vol a un aéroport de départ et un aéroport darrivée. départ> Aeroport nom pays * arrivée>

62 Michel Tollenaere U.M.L. fondamentaux 62 Les villes Vol * numéro dateDépart heureDépart dateArrivée heureArrivée ouvrirRéservation () fermerRéservation () départ> Aeroport nom pays * arrivée> 10. Chaque aéroport dessert une ou plusieurs villes. Ville nom pays 1.. *? dessert>

63 Michel Tollenaere U.M.L. fondamentaux 63 Association « dessert » (multiplicité) Aeroport nom pays 10. Chaque aéroport dessert une ou plusieurs villes. Ville nom pays 1.. * * dessert> Charles de Gaulle : Aeroport Paris :Ville Orly : Aeroport Metz-nancy-lorraine : Aeroport Metz :Ville Nancy :Ville Passage par les diagrammes dobjets

64 Michel Tollenaere U.M.L. fondamentaux 64 ou…. factorisation des attributs AeroportVille 1.. * * dessert> Lieu-geo nom pays decalage-horaire Affiche(carte)

65 Michel Tollenaere U.M.L. fondamentaux 65 Vol * numéro dateDépart heureDépart dateArrivée heureArrivée ouvrirRéservation () fermerRéservation () départ> Aeroport nom pays * arrivée> * 0.. * faitEscale> InfosEscale heureDépart heureArrivée Les escales {ordered}

66 Michel Tollenaere U.M.L. fondamentaux 66 Vol * numéro dateDépart heureDépart dateArrivée heureArrivée ouvrirRéservation () fermerRéservation () départ> Aeroport nom pays * arrivée> * 0.. * faitEscale> InfosEscale heureDépart heureArrivée Ville nom pays 1.. * * dessert> Compagnie propose>1 1.. * nom affréteur Récapitulons (1) Ouvert état initial Fermé Ouverture par compagnie état final Fermeture par compagnie Diagramme détat – transition de la classe « Vol » + {ordered}

67 Michel Tollenaere U.M.L. fondamentaux 67 Vol numéro dateDépart heureDépart dateArrivée heureArrivée capacité ouvrirRéservation () fermerRéservation () Réservation concerne> 0..* 1 annuler () confirmer () Les réservations 3. Un client peut réserver un ou plusieurs vols, pour des passagers différents. 4. Une réservation concerne un seul vol et un seul passager. 5. Une réservation peut être annulée ou confirmée. Passager nom prénom téléphone num-carte nb-pts créditer-pts (res) concerne> 1

68 Michel Tollenaere U.M.L. fondamentaux 68 Vol numéro dateDépart heureDépart dateArrivée heureArrivée capacité ouvrirRéservation () fermerRéservation () Réservation concerne> 0..* 1 annuler () confirmer () Les réservations 3. Un client peut réserver un ou plusieurs vols, pour des passagers différents. Passager nom prénom téléphone num-carte nb-pts créditer-pts (res) concerne> 1 0..* Client nom téléphone Fax adresse totalfacturé () effectue> 10..* date

69 Michel Tollenaere U.M.L. fondamentaux 69 Vol * numéro dateDépart heureDépart dateArrivée heureArrivée capacité ouvrirRéservation () fermerRéservation () départ> Aeroport * arrivée> * 0.. * faitEscale> InfosEscale heureDépart heureArrivée Ville 1.. * * dessert> Compagnie propose> * nom affréteur Récapitulons (2) Ouvert état initial Fermé Ouverture par compagnie état final Fermeture par compagnie Diagramme détat – transition de la classe « Vol » + Réservation concerne> 0..* 1 annuler () confirmer () Passager nom prénom téléphone num-carte nb-pts créditer-pts (res) concerne> 1 0..* Client nom téléphone Fax adresse totalfacturé () effectue> 10..* date Lieu-geo nom pays decalage-horaire {ordered}

70 Michel Tollenaere U.M.L. fondamentaux 70 Dynamique de la réservation Vol numéro dateDépart heureDépart dateArrivée heureArrivée capacité ouvrirRéservation () fermerRéservation () Réservation concerne> 0..* 1 annuler () confirmer () Passager nom prénom téléphone num-carte nb-pts créditer-pts (res) concerne> 1 0..* date Délivrer carte embarquement Guichet aéroport Liste passagers (n° vol) Diagramme de séquences Passager VolRéservationPassager Présente identité passagers (etat = confirmé) Délivrer carte Si {état = attente paiement ; Demande paiement} Passager-id () Liste passagers () Passer (état = embarqué) Sélectionne réservation Passager-id

71 Michel Tollenaere U.M.L. fondamentaux 71 Dynamique de la réservation Etat – transition de « réservation » Guichet aéroport Liste passagers (n° vol) Passager VolRéservationPassager Présente identité passagers (etat = confirmé) Délivrer carte Si {état = attente paiement ; Demande paiement} Passager-id () Passer (état = embarqué) Sélectionne réservation Vol numéro dateDépart heureDépart dateArrivée heureArrivée capacité ouvrirRéservation () fermerRéservation () Réservation concerne> 0..* 1 annuler () confirmer () Passager nom prénom téléphone num-carte nb-pts créditer-pts (res) concerne> 1 0..* date Passager-id Liste passagers () Demandée état initial Confirmée par client état final par compagnie Diagramme détat – transition de la classe « Réservation » Payée par aéroport embarquée Annulée Jvol - 8

72 Michel Tollenaere U.M.L. fondamentaux 72

73 Michel Tollenaere U.M.L. fondamentaux 73 Implémentation dans MSAccess Notez les pertes sémantiques sur : les états – transitions, les associations {ordered}, lhéritage ville-aéroport ……. etc

74 Michel Tollenaere U.M.L. fondamentaux 74 Analyse de la classe « Vol » comporte de nombreuses responsabilités est elle en troisième forme normale ? la clef primaire « Num-vol » est elle correcte ? parle-t-on des vols « réguliers » ou affrétés ? Vol * numéro dateDépart heureDépart dateArrivée heureArrivée capacité ouvrirRéservation () fermerRéservation () départ> Aeroport * arrivée> * 0.. * faitEscale> InfosEscale heureDépart heureArrivée * Compagnie propose> * nom affréteur Réservation concerne> 0..* 1 annuler () confirmer () Passager nom prénom téléphone num-carte nb-pts créditer-pts (res) concerne> 1 Client nom téléphone Fax adresse totalfacturé () effectue> 10..* date {ordered} loffre de vols Domaine de loffre de volsDomaine des réservations

75 Michel Tollenaere U.M.L. fondamentaux 75 Analyse de la classe « Vol » Les éléments de loffre sont plus stables que ceux des réservations Vol-générique * numéro heureDépart heureArrivée capacité départ> Aeroport * arrivée> * 0.. * faitEscale> InfosEscale heureDépart heureArrivée * Compagnie propose> * nom affréteur Réservation concerne> 0..* 1 annuler () confirmer () Passager nom prénom téléphone num-carte nb-pts créditer-pts (res) concerne> 1 Client nom téléphone Fax adresse totalfacturé () effectue> 10..* date {ordered} loffre de vols Domaine de loffre de vols Vol dateDépart dateArrivée ouvrirRéservation () fermerRéservation () Est-décrit-par> 1 0..* Domaine des réservations == > les responsabilités sont mieux établies

76 Michel Tollenaere U.M.L. fondamentaux 76 Implémentation dans MSAccess Reste à traiter laspect dynamique : les requètes, les formulaires et interfaces, ……. etc

77 Michel Tollenaere U.M.L. fondamentaux 77 Traitement de lembarquement Guichet aéroport Liste passagers (n° vol) Passager VolRéservationPassager Présente identité passagers (etat = confirmé) Délivrer carte Si {état = attente paiement ; Demande paiement} Passager-id () Passer (état = embarqué) Sélectionne réservation Vol numéro dateDépart heureDépart dateArrivée heureArrivée capacité ouvrirRéservation () fermerRéservation () Réservatio n concerne> 0..* 1 annuler () confirmer () Passager nom prénom téléphone num-carte nb-pts créditer-pts (res) concerne> 1 0..* date Passager-id Liste passagers () Deman dée état initial Confir mée pa r cli ent état final par compag nie Diagramme détat – transition de la classe « Réservation » Payée par aéro port embar quée Annulé e Jvol - 8

78 Michel Tollenaere U.M.L. fondamentaux 78 Traitement de lembarquement Guichet aéroport Liste passagers (n° vol) Passager VolRéservationPassager Présente identité passagers (etat = confirmé) Délivrer carte Si {état = attente paiement ; Demande paiement} Passager-id () Passer (état = embarqué) Sélectionne réservation Vol numéro dateDépart heureDépart dateArrivée heureArrivée capacité ouvrirRéservation () fermerRéservation () Réservatio n concerne> 0..* 1 annuler () confirmer () Passager nom prénom téléphone num-carte nb-pts créditer-pts (res) concerne> 1 0..* date Passager-id Liste passagers () Deman dée état initial Confir mée pa r cli ent état final par compag nie Diagramme détat – transition de la classe « Réservation » Payée par aéro port embar quée Annulé e Jvol - 8

79 Michel Tollenaere U.M.L. fondamentaux 79 Délivrer carte embarquement Guichet aéroport

80 Michel Tollenaere U.M.L. fondamentaux 80 Pays de Loire ENS Cachan ENSAM Ile de France Auvergne Toulouse Rhône Alpes Ouest Lorraine Nord Pas de calais Dauphiné Savoie Franche comté Centrale Paris


Télécharger ppt "Michel Tollenaere U.M.L. fondamentaux 1 Modélisation objet des données et processus UML (Unified Modelling Language) Michel Tollenaere (INPG)"

Présentations similaires


Annonces Google