Langage de modélisation objet unifié

Slides:



Advertisements
Présentations similaires
Langage de modélisation objet unifié
Advertisements

Génie Logiciel 2 Julie Dugdale
XML - Henry Boccon-Gibod 1 XML, Langage de description La question du choix de formalismes Les entités et leur représentations modalités de modèles et.
Laboratoire Informatique Image Interaction
M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème.
M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème.
UML - Présentation.
Les objets: représentation
Langage de Modélisation Objet Unifié Cours HEI
Introduction à Java - les paquetages -
Gestion de la persistance des objets
Leçon 3 : Héritage IUP 2 Génie Informatique
Introduction à la POO: Les classes vs les objets
Langage SysML.
PARTIE 3 : Le SYSTEME D’INFORMATION FUTUR
Présentation SysML (Systems Modeling Language ) est basé sur UML et remplace la modélisation de classes et d'objets par la modélisation de blocs pour un.
Diagramme de Classes Bonjour,
UML : GENERALITES Rappel Diagrammes Niveaux de visions
le profil UML en temps réel MARTE
Les Cas d’utilisation.
Modélisation E/R des Données
Introduction à la conception de Bases de Données Relationnelles
Modélisation des bases de données avec UML
Chaque use-case génère un ou des scénarios, traduits par des diagrammes objets, qui permettent d’introduire et/ou de compléter les diagrammes des catégories.
Principes de programmation (suite)
IFT1025, Programmation 2 Jian-Yun Nie
RDF(S)
Static modeling, Thu G. Falquet, L. Nerima.
Chapitre 3 Les diagrammes de classes
Vers la conception objet
Modèle, Méthode et Conception
SYSTEMES D’INFORMATION
GPA789 Analyse et conception orientées objet 1 Professeur: Tony Wong, Ph.D., ing. Chapitre 6 Correspondance UML et C++
Introduction au paradigme orienté-objet (suite)
P. Van Roy, LINF1251 LINF1251: Le Langage Java Peter Van Roy Département dIngénierie Informatique, UCL
UML (2) Modèle dynamique le diagramme de séquence
Sensibilisation a la modelisation
Héritage et composition
Modélisation Objet UML avec Rational Rose 2000
Diagrammes de classe UML.
La Modélisation Orientée Objet Concevoir un programme : modélisation du problème à résoudre Notion de programme : machine de Turing Pouvoir d’expression.
Management des Systèmes d’Information (MSI)
Programmation objet La base.
Introduction au langage de modélisation Unifié UML
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Unified Modeling Langage
5ième Classe (Mercredi, 19 octobre) Prog CSI2572.
Réaliser par: Sadok Amel Cheboui hassiba
François CARCENAC,Frédéric BONIOL ONERA-DTIM Zoubir MAMMERI IRIT
2 Processus de conception de BD
ISNET-43 Atelier de génie logiciel Approche fonctionnelle ou objets Concurrence ou complémentarité ? Synthèse.
Hiver 2004SEG2501 Chapître 41 Chapître 4 SDL – structure d’un système et son comportement.
2 Tracks Unified Process
Chapitre 2 Rappels objet et Présentation des diagrammes UML
Chapitre 2 Rappels objet et Présentation des diagrammes UML
(UML) Unified Modeling Language
Nouvelles Technologies Internet & Mobile
UML : DIAGRAMME D’OBJETS
UML : DIAGRAMME DE CLASSES
Introduction à la Programmation Orientée Objet
UML support à la COO 2ème année IUT Calais-Boulogne Bénédicte Talon
TP D’UML Groupe N° 3.
EPITECH 2009 UML EPITECH 2009
Diagramme de classe Classe Objet Associations Diagramme de classe.
Initiation aux bases de données et à la programmation événementielle
Les bases de données Séance 3 Construction du Modèle Conceptuel de Données.
Les bases de données Séance 4 Construction du Modèle Physique (la BDD)
UML Unified Modeling Language. UML : 8 diagrammes 1.Classes 2.Activités 3.Séquences 4.Collaboration 5.Etats transition 6.Cas d’utilisation 7.Composants.
Modélisation Statique
Transcription de la présentation:

Langage de modélisation objet unifié Cours n°2 UML

Plan Introduction Modéliser avec UML Diagrammes de cas d’utilisation Diagrammes de classes Notion de paquetage Diagrammes d’objets Diagrammes de séquence Diagrammes de collaboration Diagrammes d’états/transition Autres diagrammes UML

Diagrammes de classe UML

Vue statique Vues statiques du système : Vues dynamiques du système : diagrammes de cas d'utilisation (Fonctionnel)    diagrammes de classes diagrammes d'objets diagrammes de composants diagrammes de déploiement Vues dynamiques du système : diagrammes de séquence diagrammes de collaboration diagrammes d'états-transitions diagrammes d'activités UML

Class diagrams Expriment la structure statique du système en terme de classes et de relations entre ces classes Une classe est un type abstrait caractérisé par des propriétés (attributs et méthodes) communes à un ensemble d'objets et permettant de créer des objets ayant ces propriétés  Ne pas représenter les attributs ou les méthodes d'une classe sur un diagramme, n'indique pas que cette classe n'en contient pas. Il s'agit juste d'un filtre visuel, destiné à donner un certain niveau d'abstraction à son modèle De même, ne pas spécifier les niveaux d’accès des membres d'une classe ne veut pas dire qu'on ne représente que les membres publics UML

Convention graphique d’une classe Nom_de_classe Attributs Nom_de_classe Méthodes UML

Syntaxe Attribut : Méthode : Niveaux d’accès : nom : type = val_initiale Méthode : nom (arg : type = val_defaut, …) : type_retour Niveaux d’accès : Public + Protected # Private - UML

Exemples / niveaux d’abstraction voiture Classe non documentée UML

Exemples / niveaux d’abstraction voiture immatriculation couleur marque puissance poids date propriétaire attributs demarrer arreter conduire vendre voiture méthodes Classe non documentée Classe documentée UML

Exemples / niveaux d’abstraction voiture voiture immatriculation couleur marque puissance poids date propriétaire + immatriculation : string + couleur : string + marque : string # puissance : int # poids : int - date : Date - propriétaire : string attributs types demarrer arreter conduire vendre + demarrer() - contact() : bool + conduire(a : string = « marseille », b : string) + vendre(prix : float) voiture méthodes prototype Niveaux d’accès Classe non documentée Classe documentée Classe détaillée UML

Sémantique Un diagramme de classes est une collection d'éléments de modélisation statiques (classes, paquetages...), qui montre la structure d'un modèle   Un diagramme de classes fait abstraction des aspects dynamiques et temporels   Pour un modèle complexe, plusieurs diagrammes de classes complémentaires doivent être construits On peut par exemple se focaliser sur : les classes qui participent à un cas d'utilisation (cf. collaboration) les classes associées dans la réalisation d'un scénario précis les classes qui composent un paquetage la structure hiérarchique d'un ensemble de classes UML

Association Une association exprime une connexion sémantique entre deux classes   L'association est instanciable dans un diagramme d'objets ou de collaboration, sous forme de liens entre objets issus de classes associées UML

Association classique Personne Entreprise travaille UML

Association en forme verbale active Précise le sens de lecture Personne Hôtel < héberge UML

Rôles Personne Entreprise Personne Hôtel employé employeur client personnel UML

Cardinalités Nombre d’éléments participant à la relation x : exactement "x" (entier naturel > 0) exemples : "1", "7" x..y : de "x" à "y" (entiers naturels ou variables avec y > x) exemples : "0..1", "3..n", "1..31" * : plusieurs (équivalent à "0..n" et "0..*") x..* : "x" ou plus exemples : "0..*", "5..*" UML

Cardinalités Homme Femme 0..1 0..1 Personne Maison * 1 2 0..* mariéA parent 2 0..* enfant UML

Relation de dépendance relation d'utilisation unidirectionnelle une modification de l'élément dont on dépend, peut nécessiter une mise à jour de l'élément dépendant Fenetre EvenementSouris UML

Association à navigabilité restreinte Par défaut, une association est navigable dans les deux sens La réduction de la portée de l'association peut être exprimée dans un modèle pour indiquer que les instances d'une classe ne "connaissent" pas les instances d'une autre Electeur Candidat 0..1 * vote UML

Association n-aire association reliant plus de deux classes Travaux Copropriété Entreprise UML

<<association ternaire>> Classe d’association classe réalisant la navigation entre les instances d'autres classes Salle Salle Professeur Etudiant Professeur <<association ternaire>> Cours Etudiant jour heure duree Cours jour heure duree UML

Association qualifiée Une association qualifiée met en relation deux classes sur la base d’un attribut spécifique appelé « clé » Banque Personne 1..n * numCompte UML

Contraintes sur les associations Les contraintes sont des expressions qui précisent le rôle ou la portée d'un élément de modélisation (elles permettent d'étendre ou préciser sa sémantique) Sur une association, elles peuvent restreindre le nombre d'instances visées ("expressions de navigation")  Les contraintes peuvent s'exprimer en langage naturel. Graphiquement, il s'agit d'un texte encadré d'accolades UML

Principales contraintes Contrainte {ordonnée} : une relation d’ordre décrit les objets Contrainte {sous-ensemble} : une collection est incluse dans une autre collection Contrainte {ou-exclusif} : pour un objet donné, une seule association est valide UML

Exemples Peintre Tableau 1 1..n Personne Armée Personne BTS peint {ordonnée} Personne Armée militaire {sous-ensemble} général Personne BTS enseignant {ou-exclusif} étudiant

Agrégation L'agrégation est une association non symétrique, qui exprime un couplage fort et une relation de subordination Représente une relation de type "ensemble / élément" A un même moment, une instance d'élément agrégé peut être liée à plusieurs instances d'autres classes : l'élément agrégé peut être partagé Une instance « ensemble » peut exister sans élément (et inversement) : Cycles de vies indépendants UML

Agrégation Une agrégation peut notamment (mais pas nécessairement) exprimer : qu'une classe (un "élément") fait partie d'une autre ("l‘ensemble"), qu'un changement d'état d'une classe, entraîne un changement d'état d'une autre, qu'une action sur une classe, entraîne une action sur une autre UML

Exemple Pièce Mur UML

Composition Cas particulier d’agrégation : contenance physique Représente une relation de type "composé / composant" Les cycles de vies des composants et du composé sont liés : si le composé est détruit (ou copié), ses composants le sont aussi  A un même moment, une instance de composant ne peut être liée qu'à un seul composé UML

Exemple Voiture Carrosserie Moteur Piston UML

Héritage : convention graphique Super_classe Sous_classe UML

Spécialisation Oeuvre Livre Film Opera Roman BD Titre Auteur Reference NbPages Duree Orchestre Roman BD UML

Spécialisation Oeuvre Livre Film Opera Roman BD Titre Auteur Reference NbPages Duree Orchestre Roman BD UML

Généralisation Vehicule Voiture Bateau Avion marque modele VitesseMax Plaque cylindree tirantEau voiles altitudeMax portee UML

Notion de paquetage UML

Packages Les paquetages sont des éléments d'organisation des modèles Ils regroupent des éléments de modélisation, selon des critères purement logiques  Ils permettent d'encapsuler des éléments de modélisation Ils permettent de structurer un système en catégories (vue logique) et sous-systèmes (vue des composants) Ils servent de "briques" de base dans la construction d'une architecture Ils représentent le bon niveau de granularité pour la réutilisation Les paquetages sont aussi des espaces de noms UML

Relation entre paquetage Dépendance : Au moins un élément du paquetage source utilise les services d’au moins un des éléments du paquetage destination Héritage : Au moins un élément du paquetage source spécialise (est dérivée d’) au moins un des éléments du paquetage destination UML

Convention graphique P1 P2 P4 P3 P5 P6 UML

Exemple Voitures Voiture Motorisation Piston Carbu Porte Boite Moteur Roue Phare UML

Diagrammes d’objets UML

Object diagram Représentent un ensemble d’objets et leurs liens Sont des vues statiques des instances des éléments qui apparaissent dans les diagrammes de classes Présentent la vue de conception d’un système, exactement comme les diagrammes de classes, mais à partir de cas réel ou de prototypes Est une instance d’un diagramme de classes Les diagrammes de classes peuvent aussi contenir des objets UML

golf:Vehicule::Voiture::Berline Instance anonyme de la classe voiture golf:Voiture Instance nommée de la classe voiture golf Instance nommée d’une classe anonyme golf:Voiture Couleur = "bleu M " Puissance = 7ch Spécification des attributs golf:Vehicule::Voiture::Berline Spécification du chemin complet :Voiture Collection d’instance (tableau) UML

Objets composites :Velo :Roue :Derailleur :Pedalier :Pedale 2 1 1 1 UML

Diagrammes d’objets :Personne :Maison :Ville :Voiture UML

Diagrammes d’objets :Personne :Ordinateur :VideoProjecteur :Personne professeur eleve :Personne UML

Diagrammes d’objets :Personne :Ordinateur :VideoProjecteur :Personne professeur Proprietaire=« ORT » eleve Objet à état précis :Personne UML

Diagrammes d’objets :Bus :Moteur :Destination UML