UML Jean-Marc Vanel Septembre 2005. UML en 2005 - Plan ● Introduction: historique, diagrammes, modèles, notions Orientées Objet, processus de développement.

Slides:



Advertisements
Présentations similaires
Sensibilisation a la modelisation
Advertisements

2 Processus de conception de BD
(UML) Unified Modeling Language
EJB 2 et spécialisation Présentation. Spécialisation La spécialisation Concept objet implémenté dans les langages dits orientés objet. Très souvent accompagné.
Projet de fin d'étude pour l'obtention du Diplôme Nationale d'Ingénieur en Informatique Conception et développement des modules de GED pour l’ indexation.
UML EPITECH 2009 UML1 - Introduction UML – Définition – Historique – UML en entreprise – Couverture Concepts – Objet – Classe –
1 UML partie 2 Jean-Marc Vanel Septembre /09/2016UML2 Visite guidée du langage (suite) Les mécanismes généraux Les paquetages Les stéréotypes.
Les systèmes d'information 1- Une pratique quotidienne 2- Les données 3- Approche conceptuelle 4- Notion de serveur 5- Conception d'un système d'information.
1- Introduction 2ème partie Modèle Conceptuel des Données 2- Entités- Associations 4- Associations plurielles 3- Cardinalités 5- Associations réflexives.
1- Régles de normalisation 2ème partie : normalisation Modèle Conceptuel des Données 2- Les Formes Normales 3- Dépendances Fonctionnelles 4- Recap - Méthodologie.
1 Programmation Orientée Objet ● Qu'est-ce qu'un objet ● Collaboration des objets ● Les classes ● Relations entre les classes – “Utilise”, “Contient”,
1 Modèles de conception métier J.M. Vanel Architecture en couches – Présentation – Logique applicative – Modèle Métier – Accès aux données – Stockage.
1- Introduction 1ère partie Le langage SQL 2- Connexion 3- Structure & Contenu 4- Requêtes.
Initiation à la conception des systèmes d'informations. Cours N°4 : Modèle Logique de Données (MLD) Initiation à la conception des systèmes d'informations.
1- Introduction Sommaire Modèle Logique des Données 2- Structure 3- Traduction du MCD en MLD 4- Recap - Méthodologie.
1 UML: applications, études de cas ● Processus (Extreme Programming, Unified Process) ● Architectures ● Expression du besoin technique Conception Préliminaire.
UML2 : Panorama de la notation Laurent Henocque Enseignant Chercheur ESIL/INFO France
Un système autonomique basé sur des bases de connaissances pour améliorer les performances d’un entrepôt de données Réalisé par : OUSSAFI MOHAMMED HOURRI.
Windows NT/2000/XP Enjeux et contraintes techniques
Classes, objets, séquences, communication, états
Les Bases de données Définition Architecture d’un SGBD
Cours Initiation aux Bases De Données
Initiation à la conception des systèmes d'informations
Modèle objet : les classes
Qu’est-ce un serveur de messagerie?
4 Modèle conceptuel de données MCD
Ch.1 : Modélisation des systèmes par SysML
Pas de variable globale
Les notions de classe et d'objet
Modélisation Statique
5ème Livre 1.
Gestion de projet: Quelques notions clés
EXERCICES.
Conception de Projet UML Conception de
Les bases de données et le modèle relationnel
Langages de programmation TP10
Diagramme de classe UML et C++
Système flexible de Workflow pour la plate-forme Motu
Bonnes pratiques Orienté Objet et Java
Exercice I : Diagramme de classes
Structure D’une Base De Données Relationnelle
Modélisation avec UML 2.0 Partie II Diagramme de classes.
Programmation Orientée Objet
Plan du chapitre Diagramme de classes Les extensions syntaxiques
© Robert Godin. Tous droits réservés.
Calcul Scientifique Initiation à SCILB
© Robert Godin. Tous droits réservés.
Introduction en systèmes d’information et bases de données B.Shishedjiev -Introduction en BD 1.
I Copyright © 2004, Oracle. Tous droits réservés. Introduction.
Bases de données sous Access. Initiation aux bases de données  Structure d’une base de données.
Chapitre2: SGBD et Datawarehouse. On pourrait se demander pourquoi ne pas utiliser un SGBD pour réaliser cette structure d'informatique décisionnelle.
Diagrammes UML 420-KE2-LG.
1 Centre d’intérêt 4 : Représentation graphique du réel  Le dessin technique.
Modélisation Orientée Objet / UML
MPR - Le concept de réseau - 06
Les classes et les objets
SYSTèMES à évènements discrets
Conception Orienté Objet Avancée UML et le Processus unifié Hela LTIFI 1.
Les cas d’utilisation 420-KE2-LG.
Paradigme Orienté Objet
EPITECH 2009 UML EPITECH 2009
Rappels sur le grafcet Normes NF EN CEI /01/2019
PRESENTATION ACCESS Editeur : Microsoft Environnement Windows (SE)
© Robert Godin. Tous droits réservés.
Merise le modèle de traitement
© Robert Godin. Tous droits réservés.
EXPOSE D’UML Licence 2 SI/GL/IM Réalisé par :Demandé par : AYITCHEME Auréane D r HOUNDJI TCHEGNON AlbertRatheil YAYA Hanane ZINSE Bienvenu.
Qu’est ce qu’une page web? Comment fonctionne un site web?
DONNÉE DE BASE QM Manuel de formation. Agenda 2  Introduction  Objectif de la formation  Données de base QM: Caractéristique de contrôle Catalogue.
Transcription de la présentation:

UML Jean-Marc Vanel Septembre 2005

UML en Plan ● Introduction: historique, diagrammes, modèles, notions Orientées Objet, processus de développement ● Diagrammes d'objets ● Diagrammes de classes ● Diagrammes de séquence & de collaboration ● Diagrammes de cas d'utilisation ● Diagrammes d'état et d'activité ● Diagrammes de déploiement ● OCL (Object Constraint Language) ● Cohérence globale du projet ● UML en pratique: outils, formats d'échange, place dans le processus de développement ● Conclusion. Avenir: UML, MDA, Ontologies

18/09/2016UML3 UML d'après les «amigos» OMT ObjectoryBooch UML Jim Rumbaugh Grady Booch Ivar Jacobson

18/09/2016UML4 Historique : Évolution de UML 0.8 -> >0.91-> >1.1->1.2->1.3-> x. y Comprendre la logique d’évolution d’UML. (Object Management Group) est un Consortium comprenant des éditeurs et des utilisateurs.

18/09/2016UML5 Devant et derrière, Avant et après... UM L OM T Merise SA/RT ERD SAD T DFDDFD etc. procédés industriels de production de logiciels et de systèmes. JSD Méthode = Langage(s) + Démarche + Outils

18/09/2016UML6 Points de vues multiples Vue du notaire Vue du maçon Vue du plombier Vue de l'électricien Vue du locataire Vue du propriétaire Vue de l'architecte Vue du service des impots locaux Vue du cadastre

18/09/2016UML7 UML=Vues multiples (aspects d'un système logiciel) Fonctions du système du point de vue de l’utilisateur. Composants physiques d’une application. Représentation du comportement en termes d’états. Structure statique des classes et des relations entre ces classes. Schémas de l’installation des composants sur les dispositifs matériels. Représentation du comportement des opérations en termes d’actions. Représentation des objets et de leurs interactions temporelles. Représentation des objets, des liens mutuels et des interactions potentielles. Les objets et les relations de base entre ces objets.

18/09/2016UML8 Qu'est ce qu'un objet? Entité correspondant à un objet du monde réel, ou à un concept, et encapsulant des données, un état et un comportement. Les notions fondamentales : ● Il a une individualité ● Il a une durée de vie ● Il rend des services ● Il n'est pas tout seul: – il appartient à une classe

18/09/2016UML9 Individualité d'un objet ● Un objet n'est pas défini par son contenu, il a une identité – il est unique dans l'univers entier – Analogies: ● jumeaux parfaits, ● copie d'un fichier: ce sont des “objets” différents ● Un objet peut avoir plusieurs points d'entrée – Analogies: ● propriété avec plusieurs adresse, numéros de téléphone; raccourci vers un fichier – ces points d'entrée s'appelent des références

18/09/2016UML10 Durée de vie d'un objet transitoire ● Statut transitoire – L'objet ne survit pas à l'exécution du programme: ● exemple : objets graphiques persistant ● Statut persistant – L'objet survit à l'exécution des programmes: ● exemple: compte en banque ● Mécanismes de persistance variés: ● Fichier ● Bases de données ● Conteneurs variés: serveurs FTP, EJB, moniteurs transactionnels

18/09/2016UML11 L'Objet rend des services ● On peut lui envoyer des messages qui : – Changent l'état interne (modifieurs), ou – Renvoient un résultat (accesseurs), ou – Effectuent une action dans le monde réel ● exemple: afficher une fenêtre, ouvrir une porte,... – Synonymes: message=méthode=fonction membre ● L'ensemble des messages acceptés par un objet s'appelle Interface – Synonymes: comportement = rôle = API

18/09/2016UML12 L'Objet appartient à une classe ● Classe = ensemble des objets qui ont les même types de données et comportement ● Donc, – ils ont aussi la même Interface ● Le polymorphisme: Même interface mais classe (implémentation) différente – Exemple: un gestionnaire de fichiers: ● la méthode “ouvrir” existe pour tous les fichiers, ● mais ses résultats sont différents suivant le type de fichier

18/09/2016UML13 Visite guidée du langage UML Les mécanismes généraux Les paquetages Les stéréotypes Les étiquettes Les notes Les contraintes Les diagrammes de base Les diagrammes d’objets Les diagrammes de classes Les diagrammes de séquence Les diagrammes de collaboration Les diagrammes de cas d'utilisation Les diagrammes d'états/transitions Les diagrammes d'activités Les diagrammes de composants Les diagrammes de déploiement

18/09/2016UML14 Les mécanismes généraux Les paquetages ● Analogues aux paquetages Java ● Espace de nommage ● Permettent de gérer les dépendances

18/09/2016UML15 Les stéréotypes ● Extension contrôlée des classes du méta-modèle ● > ● Possibilité de modifier l’icône

18/09/2016UML16 Les étiquettes ● Extension des attributs des classes ● Paire (nom, valeur)

18/09/2016UML17 Les notes ● Commentaire attaché à un ou plusieurs éléments de modélisation – Appartient à la vue, pas au modèle – Peut être stéréotypée en contrainte

18/09/2016UML18 Les contraintes ● Relation sémantique quelconque entre éléments de modélisation ● Exprimée en OCL (Object Constraint Language) ou en langage naturel – {contrainte}, inv, pre, post ( -condition )

18/09/2016UML19 Exemples de contraintes CopieLivre Journal {xor} Transaction quantité:Euro {quantité est un multiple de €5} {self.roues->size <= 4}

18/09/2016UML20 Quelques exemples de contraintes standard Généralisation Complete Incomplete Disjoint Overlapping Instance ou lien New Destroyed Transient

18/09/2016UML21 Extensibilité du formalisme UML stéréotype de classe stéréotype d'opération contrainte Étiquette ou valeur marquée (tagged value)

18/09/2016UML22 Visite guidée du langage Les mécanismes généraux Les paquetages Les stéréotypes Les étiquettes Les notes Les contraintes Les diagrammes de base Les diagrammes d’objets Les diagrammes de classes Les diagrammes de séquence Les diagrammes de collaboration (de communication) Les diagrammes de cas d'utilisation Les diagrammes d'états/transitions Les diagrammes d'activités Les diagrammes de composants Les diagrammes de déploiement

Diagrammes d'objets ● Objets et champs – nom objet souligné – avec ou sans classe Pierre: Personne domicile="Lyon" dateNaissance=1957 :Entreprise nom="Michelin" CodeActivite="D34" siege="Clermont-Ferrand"

Diagrammes d'objets ● Graphe d'objets

Diagrammes de classes ● Les « boîtes » – Attributs – méthodes ● Les « connecteurs » – Association (simple), cardinalité – Héritage – Dépendance – Agrégation, composition

18/09/2016UML26 Exemples de classes Mutuelle Assure' +taux(): double +crediter(int montant) Prestation +montant(Assure'): int Math Matrice +multiplierPar(Matrice): Matrice +inverser(): Matrice Simulation Animal +avancer(Direction) +crier() +manger(Animal) +procreer(avec:Animal): Animal Banque Compte +solde(): Devise +deposer(montant:Devise) +retirer(montant:Devise)

18/09/2016UML27 Visibilité des propriétés ● Public + Visible à l’extérieur de la classe ● Protégé # Visible seulement par les descendants ● Private - Visible à l’intérieur des méthodes ● Souligné Variable/opération de classe

18/09/2016UML28 Les relations entre classes ● L’association ● La généralisation ● La dépendance ● L’agrégation ● La composition ● L’association exprime une connexion sémantique bidirectionnelle entre classes ● Une association est une abstraction des liens qui existent entre les objets instances des classes associées

18/09/2016UML29 Nommage des associations ● Indication du sens de lecture

18/09/2016UML30 Multiplicité des rôles 1Un et un seul 0..1Zéro ou un M.. NDe M à N (entiers naturels) *Plusieurs 0.. *De zéro à plusieurs 1.. *D'un à plusieurs

18/09/2016UML31 Exemple : graphe non orienté

18/09/2016UML32 Exemple : graphe orienté

18/09/2016UML33 Exemple d'associations

18/09/2016UML34 Généralisation (héritage) Hiérarchies de classes ● Gérer la complexité – Arborescences de classes d’abstraction croissante

18/09/2016UML35 Sémantique de la Généralisation ● Si A <|----- B – A généralise B – B est un cas particulier de A – Tout B est un A (inclusion d'ensembles) – En même temps tous les attributs définis pour A le sont aussi pour B (c'est l'héritage) ● B a en lui un composant A, – mais ce n'est pas dynamique (on ne peut pas changer d'ancêtre), d'où l'intérêt des conceptions utilisant une simple association

18/09/2016UML36 Héritage versus association ● Soit le classique: Personne <| Employé ● Un objet Employé ne peut pas changer de nature – Ne permet pas de modéliser la perte du statut employé ● Solution: Personne >RoleEmployé RoleEmployé a les mêmes champs que Employé, mais c'est une classe indépendante.

18/09/2016UML37 Association qualifiée ● Une association qualifiée met en relation deux classes sur la base d'une clef. ● La technique associée de mise en œuvre est souvent un tableau associatif ou un dictionnaire. Commande Produit LigneDeCommande Quté: Entier Une personne peut être associée à plusieurs banques. Etant donnés une banque et un numéro de compte, Il y a au plus une personne ayant ce numéro de compte à cette banque.

18/09/2016UML38 Exemple association + héritage

18/09/2016UML39 Navigabilité 1 ● par défaut une association est navigable dans les deux sens. ● une indication de navigabilité suggère qu'à partir d'une extrémité on peut atteindre l'autre extrémité, mais l'inverse est faux ● lors d'une mise en œuvre programmée, – ceci suggère qu'un objet source mémorise une référence directe aux objets cible; – Permet de réduire les dépendances entre classes ● étant donné un utilisateur, on désire pouvoir accéder à ses mots de passe ● étant donné un mot de passe, on ne souhaite pas pouvoir accéder à l'utilisateur correspondant

18/09/2016UML40 Navigabilité 2 ● Exemples typiques: ● Client ---> Commande ---> Article ● Un Article peut exister avant toute commande ● Employe ---> PosteDeTravail ● Le Poste de travail est défini avant l'embauche Se poser la question: lequel peut exister sans l'autre ?

Agrégation ● Relation dissymétrique: – Tout - partie – Contenant - contenu

● Comme l'agrégation, mais beaucoup plus forte: – Le contenant et les contenus ont la même durée de vie – Un contenu ne peut appartenir qu'à un contenant Maison *Mur FenetreGraphique PanneauDansFenetre Composition

18/09/2016UML43 Les classes-associations ● Permet l'ajout d’attributs ou d’opérations à l'association ● Exemples: – Employeur – Employé – Contrat – Etudiant – Cours - Inscription

18/09/2016UML44 Associations ternaires (et plus) ● Pas d’agrégation, pas de qualifier ● Multiplicité plus difficile à lire

Exemple: réservation de vols La connaissance du domaine est contenue dans ces phrases : ● 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 d'arrivée. ● 7. Un vol a un jour et une heure de départ, et un jour et une heure d'arrivée. ● 8. Un vol peut comporter des escales dans des aéroports. ● 9. Une escale a une heure d'arrivée et une heure de départ. ● 10. Chaque aéroport dessert une ou plusieurs villes.