3. UML - Unified Modeling Language Diagrammes statiques
|
|
|
- Aurore Tassé
- il y a 10 ans
- Total affichages :
Transcription
1 3. UML - Unified Modeling Language Diagrammes statiques Laëtitia Matignon [email protected] Département Informatique - Polytech Lyon Université Claude Bernard Lyon Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
2 Plan du cours 1 Introduction à UML 2 Notations communes à tous les diagrammes 3 Modéliser la structure avec UML Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
3 Plan Introduction à UML 1 Introduction à UML 2 Notations communes à tous les diagrammes 3 Modéliser la structure avec UML Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
4 Introduction à UML Qu est-ce qu UML? UML = Unified Modeling Language UML = Langage unifié pour la modélisation objet Définition d UML selon l OMG Langage visuel dédié à la spécification, la construction et la documentation des artefacts d un système logiciel OMG = Object Management Group ( : Fondé en 1989 pour standardiser et promouvoir l objet Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
5 Introduction à UML Qu est-ce qu UML? UML = Unified Modeling Language UML = Langage unifié pour la modélisation objet UML est un langage universel de modélisation objet... pas une méthode Différence Langage Méthode Langage de modélisation = notations, grammaire, sémantique Méthode = comment utiliser le langage de modélisation (recueil des besoins, analyse, conception, mise en oeuvre, validation,...) Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
6 Introduction à UML Qu est-ce qu UML? UML = Unified Modeling Language UML = Langage unifié pour la modélisation objet UML est un langage universel de modélisation objet... Pourquoi modéliser? La description de la POO nécessite un travail conceptuel : définition des classes, de leurs relations, des attributs, des opérations (implémentées par des méthodes), des interfaces,... Il faut organiser ses idées, les documenter, organiser la réalisation, définir des modules,... Modélisation = démarche antérieure à l implémentation Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
7 Introduction à UML Qu est-ce qu UML? UML = Unified Modeling Language UML = Langage unifié pour la modélisation objet UML est un langage universel de modélisation objet UML est une notation, un outil de communication visuelle (diagrammes) UML est un langage de modélisation des applications construites à l aide d objets UML n est pas un langage de programmation UML n est pas un processus de développement UML est indépendant d un langage de programmation UML est une norme maintenue par l OMG Description exacte : Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
8 Introduction à UML Qu est-ce qu UML? UML = Unified Modeling Language UML = Langage unifié pour la modélisation objet UML est un langage universel de modélisation objet Pourquoi universel? Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
9 Introduction à UML Genèse d UML : guerre des méthodes fin80/début90 : orientation de + en + marquée vers les méthodes d analyse OO nécessité de méthodes adaptées. Jusqu au milieu des années 90, de nombreux modèles objets sont proposés (>50) : Booch 91 puis Booch 93 de Grady Booch, pionnier de l Orienté-Objet. Distingue 2 niveaux : Logique : Diagrammes de classes, Diagramme d instances, Diagramme états/transitions Physique : Diagrammes de modules, Diagrammes de processus Object Modeling Technique (OMT) de James Rumbaugh en 91 puis axes : Statique, Dynamique, Fonctionnel Object-Oriented Software Engineering (OOSE) de Ivar Jacobson en 92, souvent appelée Objectory. Notion de Cas d Utilisation. Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
10 Introduction à UML Genèse d UML : besoin d unification Concepts OO proches mais notations graphiques différentes. La guerre des méthodes ne fait plus avancer la technologie des objets. Hors l industrie a besoin de standards. Recherche d un langage commun unique Utilisable par toutes les méthodes Adapté à toutes les phases du développement Compatible avec toutes les techniques de réalisation Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
11 Introduction à UML Genèse d UML : Unification Octobre 1995 : Unification de 2 méthodes (Méthode Unifiée v0.8). Fin 1995 : Jacobson (OOSE) les rejoint (UML 0.9). Consortium (IBM, Microsoft, Oracle,...) s y associent. Janvier 97 : Soumission à l OMG de la version UML 1.0. Novembre 97 : UML1.1 adopté par OMG comme standard officiel Notation unifiée pour toutes les méthodologies OO Version 2.0 en septembre 2004, Version en août Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
12 Introduction à UML Les éléments organisationnels vues : décrivent un point de vue du système diagrammes : éléments graphiques qui représentent le problème et sa solution selon différents points de vue modèles d éléments : briques de diagrammes représentant des notions Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
13 Les 14 diagrammes Introduction à UML décrit les classes d'une application et leurs relations statiques représent les objets et leurs liens à un instant donné représente des conteneurs logiques regroupant des éléments vue simplifiée des relations entre composants d'une classe représente les composants d'un point de vue physique modélise l'aspect matériel (ordinateurs, périphériques) vue statique décrivent les services rendus par le système du point de vue de l'utisateur représentation du comportement d'une opération vue dynamique représentation du comportement d'un objet sous la forme d'un automate à états représentation temporelle des interactions entre objets représentation spatiale des interactions entre objets variations d'une donnée au cours du temps enchainements possibles entre les diagrammes de séquence Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
14 Introduction à UML Diagrammes et vues d architecture Les diagrammes UML décrivent 4+1 vues d architecture (4+1 est un vue modèle proposé par Philippe Kruchten en 1995) : vue utilisateur buts et objectifs des clients du système, besoins requis par la solution vue structurelle aspects statiques représentant la structure du problème éléments de structure pour mettre en oeuvre une solution pour les besoins définis vue comportementale aspects dynamiques du comportement du problème et de sa solution interactions et collaborations entre les composants du système Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
15 Introduction à UML Diagrammes et vues d architecture Les diagrammes UML décrivent 4+1 vues d architecture (4+1 est un vue modèle proposé par Philippe Kruchten en 1995) : vue implémentation aspects de la structure et du comportement de la solution vue environnementale aspects de la structure et du comportement du domaine dans lequel est réalisée la solution topologie matérielle du système Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
16 Introduction à UML Diagrammes selon les axes de modélisation Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
17 Plan Notations communes à tous les diagrammes 1 Introduction à UML 2 Notations communes à tous les diagrammes 3 Modéliser la structure avec UML Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
18 Notations communes à tous les diagrammes Notations communes Classeur Un classeur est un élément de modèle qui est doté d une identité, possède des caractéristiques structurelles (attributs, participation à des relations) et comportementales (opérations). Cas d'utilisation Class Node Component Actor Paquetage (package) Un paquetage est un regroupement d éléments de modèle ou de diagrammes. Modélisation des besoins Actor Cas d'utilisation Package Class A Class B Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
19 Notations communes à tous les diagrammes Notations communes Stéréotype Annotation s appliquant sur un élément de modèle Utilisation particulière d éléments de modélisation avec interprétation (sémantique) particulière Modification de la signification d un élément Notation : nomdustéréotype avant le nom de l élément auquel il s applique ou icône associée Prédéfinis : actor, includes, use case, interface, include... class stéréotype par défaut d un classeur <<actor>> Acteur <<use case>> Cas d'utilisation Classe Cas d'utilisation <<Include>> Cas d'utilisation2 Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
20 Notations communes à tous les diagrammes Notations communes Commentaires Information textuelle (explication utile, observations, renvoi vers document), pas de contenu sémantique Notation : Relations de dépendance Modification de la cible peut impliquer une modification de la source La source dépend de la cible Notation : [source] >[cible] Toute modif dans paquetage métier peut avoir des conséquences sur paquetage IHM. Toute modif dans paquetage IHM n a au vu de cette dépendance pas de conséquence sur paquetage métier. Nombreux stéréotypes prédéfinis : extend, include,... Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
21 Notations communes à tous les diagrammes Contraintes Relation entre éléments de modélisation Définition de propriétés devant être vérifiées pour garantir la validité du système modélisé Notation : {contrainte} 3 types de contraintes : Contraintes prédéfinies : disjoint, overlapping, xor,... Contraintes exprimées en langue naturelle (commentaires) Contraintes exprimées avec OCL (Object Constraint Language) Stéréotypes : précondition, postcondition Information {xor} + envoie() coordonnées postales {incomplet} {temps d'exécution <10ms} journal lettre Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
22 Plan Modéliser la structure avec UML 1 Introduction à UML 2 Notations communes à tous les diagrammes 3 Modéliser la structure avec UML Diagramme d objets Implémentation d un diagramme de classes Diagramme de paquetages Diagramme de composants Diagramme de déploiement Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
23 Modéliser la structure avec UML Point de vue statique sur le système Décrire la structure du système en termes de : Composants du système : Objets, Classes, Paquetages, Composants,... Relations entre ces composants : Spécialisation, Association, Dépendance,... Pas de facteur temps Différents diagrammes statiques que nous allons voir Diagrammes d objets (Cours) Diagrammes de classes (Cours + TD) Diagrammes de paquetages (Cours + TD) Diagrammes de composants (Cours) Diagrammes de déploiement (Cours) Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
24 Plan Modéliser la structure avec UML Diagramme d objets 1 Introduction à UML 2 Notations communes à tous les diagrammes 3 Modéliser la structure avec UML Diagramme d objets Implémentation d un diagramme de classes Diagramme de paquetages Diagramme de composants Diagramme de déploiement Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
25 Diagramme d objets Modéliser la structure avec UML Diagramme d objets Classes, objets et instances Classe = description formelle d un ensemble d objets ayant une sémantique/caractéristiques communes Objet ou instance de classe = concrétisation d une classe Instance = toute concrétisation d un concept abstrait instance de classe : objet instance d association entre classes : lien Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
26 Diagramme d objets Modéliser la structure avec UML Diagramme d objets Objectifs Représente les objets et leurs liens à un instant donné Modélise les instances Représentation UML des objets nomobjet:classeobjet nomattr1 = val1 nomattr2 = val2 :Professeur Didier :Personne :Eleve nom = thomas age = 22 objets anonymes groupe d'objets Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
27 Modéliser la structure avec UML Communication entre objets Diagramme d objets Liens entre objets Comportement global d une application réside sur la communication entre les objets qui la composent réduction du couplage entre l objet et l environnement par envoi de messages entre objets qui se connaissent Unité de communication = message Lien entre objets un objet connaît un autre objet avoir une référence qui lui correspond (attributs, paramètres de méthodes,...) peut envoyer un message à l autre objet Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
28 Modéliser la structure avec UML Représentation UML des liens Diagramme d objets Lien binaire : entre 2 objets Lien n-aire : entre n objets Possibilité de décorer les liens (nom, nom des rôles) La multiplicité se représente de manière explicite par les liens Visual Paradigm for UML Community Edition [not for commercial use] :Professeur :Salle :Etudiant Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
29 Diagramme d objets Modéliser la structure avec UML Diagramme d objets Utilisé pour Préciser une structure complexe trop difficile à comprendre avec un diagramme de classes Illustrer un modèle de classes en montrant un exemple qui explique le modèle Préciser certains aspects du système Exprimer une exception en modélisant des cas particuliers ou des connaissances non généralisables Prendre une image (snapshot) d un système à un moment donné Documenter des cas de test, analyser des exemples Montrer un contexte (collaborations sans messages) Ne montre pas L évolution du système dans le temps. Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
30 Exercice Modéliser la structure avec UML Diagramme d objets Modéliser ceci par un diagramme d objets : Pierre, Paul, Jacques, Marie et Anne sont étudiants au département Info. Robert et Suzie sont enseignants au département Info. Robert enseigne le C et le Java ; Suzie enseigne l anglais et les maths. Pierre et Paul suivent les cours de Java ; Pierre suit le cours de C ; Marie et Anne suivent le cours d anglais ; Anne suit le cours de maths. Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
31 Exercice Modéliser la structure avec UML Diagramme d objets Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
32 Plan Modéliser la structure avec UML 1 Introduction à UML 2 Notations communes à tous les diagrammes 3 Modéliser la structure avec UML Diagramme d objets Implémentation d un diagramme de classes Diagramme de paquetages Diagramme de composants Diagramme de déploiement Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
33 Modéliser la structure avec UML Objectif Décrire les classes d une application et leurs relations statiques Très nombreuses utilisations, à différents niveaux Diagrammes fondamentaux : les plus connus, les plus utilisés Permettent de modéliser plusieurs niveaux conceptuel (domaine, analyse) (Modèle du domaine) implémentation (code) (Modèle de conception) Qu est ce qu une classe d objets? Classe = regroupement d objets similaires (appelés instances) Toutes les instances d une classe ont les mêmes attributs et opérations Abstraction : factorisation des caractéristiques communes à une catégorie d objets Une classe décrit une infinité d instances Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
34 Modéliser la structure avec UML Représentation UML des classes Rectangle composé de compartiments Compartiment 1 : Nom de la classe (commence par une majuscule, en gras) Compartiment 2 : Attributs Compartiment 3 : Opérations Possibilité d ajouter des compartiments (exceptions,...) Différents niveaux de détail possibles Possibilité d omettre attributs et/ou opérations Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
35 Nom de la classe Modéliser la structure avec UML Tout est facultatif sauf le nom de la classe << stéréotype >> NomPaquetage1::... ::NomPaquetageN::NomClasse {abstract} {auteur : valeur, état : valeur,...} Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
36 Modéliser la structure avec UML Attributs et Opérations Encapsulation et visibilité des attributs et des opérations Mécanisme consistant à rassembler les données et les méthodes au sein d une structure en cachant l implémentation de l objet. 4 niveaux Public : attributs accessibles et modifiables par n importe quelle autre classe, opérations utilisables par n importe quelle autre classe, Privé : attributs inaccessibles pour toute autre classe, opérations inutilisables pour toute autre classe Protégé : attributs accessibles et modifiables uniquement par les classes dérivées, opérations utilisables uniquement par les classes dérivées. Aucun caractère, ni mot-clé : propriété ou classe visible uniquement dans le paquetage où la classe est définie Attributs/Opérations de classe Attributs (ou opérations) communs à l ensemble des instances d une classe (static) Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
37 Modéliser la structure avec UML Représentation UML des attributs Format de description d un attribut : visibilité nom : type [multiplicité] = valeur_initiale {propriétés} public + privé - protégé # paquetage ~ facultatif facultatif mais impératif pour l'implémentation facultatif ex. couleurs : Saturation[3] points: Points[2..*] facultatif ex. {frozen} mise à jour interdite Attributs de classe (statiques) soulignés Attributs dérivés (calculés) précédés de / Enumération : stéréotype enumeration Bouton <<énumération>> TypeTV - 16/9-4/3 Haut-parleur Canal Télévision -on/off : Bouton -couleur : enum[gris,noir] -marque : String -teletexte : Boolean = vrai -chaines : Canal[5..*] -enceintes : Haut-parleur[2..6] -type : TypeTV {frozen} -volume : parallélépipède ={600,650,500} Vecteur -x : réel -y : réel + / longueur attribut dérivé -couleur : réel[3] +valeur_x() : réel +valeur_y() : réel +longueur() : réel Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
38 Modéliser la structure avec UML Représentation UML des opérations Format de description d une opération : visibilité nom (liste paramètres) : type-retour {propriétés} direction nom : type = valeur-defaut public + privé - protégé # in out inout paquetage ~ {abstract} opérations abstraites (non implémentées) / opérations de classe (statiques) Propriétés : {abstract}, {query} (l opération n altère pas l état de l instance concernée), pré- et post-conditions, description du contenu (commentaires, OCL) Stéréotypes d opérations : constructeur create, destructeur destroy ou Robot {abstract} Robot 2 opérations abstraites + <<create>>robot() + avancer() + reculer() {abstract} + fixervitesse(vitesse : Réel) + vitesse(out vitesseactuelle : Réel) + estalarret() : Boolean + rotation (angle:degré, vitesserotation:réel = 1.0) + cheminparcouru(inout parcourt : Point[], nb_echantillons) Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
39 Modéliser la structure avec UML Associations entre classes Abstraction des relations définies par les liens entre objets Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
40 Modéliser la structure avec UML Associations entre classes Notion d associations Relation entre deux classes (binaire) ou plus (n-aire). Décrit les connexions structurelles entre les instances des classes associées 2 façons de modéliser une association Personne -nom : String -prenom : String -datenaissance : Date +age() : Integer 1 proprietaire Posséder Voiture -modele : String * +demarrer() voitures Personne -nom : String -prenom : String -datenaissance : Date -voitures : Voiture[] +age() : Integer Voiture -modele : String -proprietaire : Personne +demarrer() Les associations sont utilisées pour matérialiser les relations entre éléments qui font partie de la modélisation. Les attributs sont utilisés pour modéliser des types de données dépourvus d identité. Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
41 Modéliser la structure avec UML Associations entre classes Nom, rôle et multiplicité Nom : forme verbale Sens de lecture de l association indiqué éventuellement par une flèche Multiplicité : nombre (ou intervalle de nombres) d instance(s) que l association peut impliquer. exactement un se note 1 ou 1..1 plusieurs se note * ou 0.. au moins un se note 1.. de un à six se note 1..6 Rôle : forme nominale décrivant le statut de la classe dans l association. Peut contenir un mode d accès. Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
42 Modéliser la structure avec UML Associations entre classes Nom, rôle et multiplicité Exemple : une personne travaille pour une et une seule entreprise. L entreprise emploie au moins une personne. L entreprise est l employeur des personnes qui travaillent pour elle et une personne à un statut d employé dans l entreprise. Incidence sur l implémentation : La classe Personne a un attribut de nom employeur Type = Entreprise La classe Entreprise a un attribut de nom employé Type =collection de Personne Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
43 Modéliser la structure avec UML Associations entre classes Associations n-aire Association entre au moins trois classes Chaque instance de l association est un tuple de valeurs provenant chacune de leurs classes respectives Exemple : un étudiant suit le cours d un professeur responsable pendant un semestre. Il peut suivre plusieurs cours d un même professeur responsable Pour une paire (cours, étudiant), il n existe qu un professeur. Pour une paire (étudiant, professeur), il existe plusieurs cours. Pour une paire (cours, professeur), il existe plusieurs étudiants Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
44 Modéliser la structure avec UML Exercice 1 : Instanciation de diagrammes de classe Proposer le plus petit diagramme d objets respectant le diagramme de classes : ClasseA 1-2- ClasseA ClasseA 3- ClasseA ClasseA 4- ClasseB 1 ClasseA et composé d au moins 3 objets 1 1 ClasseB ClasseB ClasseB Asso1 1 ClasseB et composé d au moins 3 objets et composé d au moins 2 objets de la et composé d au moins 2 objets de la 5-2 Asso2 1 et composé d au moins 1 objet ClasseA 2 ClasseB 1 1 ClasseC 6- et composé d au moins 1 objet Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
45 Modéliser la structure avec UML Associations entre classes Réflexivité, symétrie/asymétrie Exemple : une personne peut être parent d autres personnes et enfant d au plus deux personnes connues. Deux personnes peuvent être amies (on considère que l amitié est réciproque). Les associations de parenté et d amitié sont réflexives : elles associent la classe Personne avec elle-même La relation de parenté est asymétrique, donc orientée (si une instance A est parent d une instance B, l inverse ne peut pas être possible simultanément) La relation d amitié est symétrique (=non-orientée). Il est inutile de spécifier des rôles dans ce cas. Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
46 Modéliser la structure avec UML Associations entre classes Réflexivité, symétrie/asymétrie Une instance de la classe impliquée peut être reliée à elle-même ou à d autres instances de cette même classe. Emploie Marc: Personne Emploie employeur 1 Personne 0..* Emploie René:Personne employé Jean: Personne Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
47 Modéliser la structure avec UML Associations entre classes Navigabilité Indique s il est possible de traverser une association Si un lien est naviguable d un objet A vers un objet B, alors A a connaissance de B et peut solliciter l interface de B Par défaut : Navigabilité dans les deux sens Exemple : un polygone est défini par au moins 3 points jouant le rôle de sommets. Un point peut être sommet de plusieurs polygones. Les sommets du polygone ne sont accessibles que par la classe et ses descendants. On considère qu il est inutile que les points aient un lien vers les polygones dans lesquels ils sont sommets. Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
48 Modéliser la structure avec UML Associations entre classes Navigabilité Indique s il est possible de traverser une association Si un lien est naviguable d un objet A vers un objet B, alors A a connaissance de B et peut solliciter l interface de B Par défaut : Navigabilité dans les deux sens Exemple : un polygone est défini par au moins 3 points jouant le rôle de sommets. Un point peut être sommet de plusieurs polygones. Les sommets du polygone ne sont accessibles que par la classe et ses descendants. On considère qu il est inutile que les points aient un lien vers les polygones dans lesquels ils sont sommets. Navigation possible uniquement du polygone vers les points : un polygone connait les points qui lui servent de sommets, mais un point ne connait pas les polygones dans lesquels il est sommet Incidence sur l implémentation : la classe Polygone contiendra une collection de Point. La classe Point ne contiendra aucun attribut de type Polygone. Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
49 Modéliser la structure avec UML Associations particulières : agrégation Agrégation Modéliser regroupement de parties dans un tout Association non-symétrique Relation de dominance et de subordination Une classe fait partie d une autre classe Une action sur une classe implique une action sur une autre classe Une classe peut appartenir à plusieurs agrégats Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
50 Modéliser la structure avec UML Associations particulières : composition Composition Agrégation forte Contenance structurelle : Création/Copie/Destruction du composite Création/Copie/Destruction de ses composants Un composant appartient à au plus un composite (mult. côté conteneur max 1) Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
51 Modéliser la structure avec UML Composition, Agrégation et Association Quelques questions à se poser : assymétrie et lien de subordination entre instances des deux classes ( agrégation/composition) ou indépendance des objets ( association)? Propagation d attributs ou d opérations du tout vers les parties? agrégation/composition Création et destruction des parties avec le tout? composition Remarques importantes : Dans le doute, toujours utiliser une association (c est la moins contrainte) Choix entre composition et agrégation peut être laissé à la phase de conception Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
52 Modéliser la structure avec UML Exercice 2 : Identification des classes et relations Une voiture est caractérisée par une marque, un modèle et une motorisation. La marque d une voiture est forcément l une des suivantes : Citroën, Fiat, Ford, Nissan, Peugeot, Renault, Toyota ou Volkswagen. Le moteur d une voiture est caractérisé par une désignation et une puissance. Une voiture possède 4 roues et le moteur actionne deux de ces roues. Modéliser cette situation à l aide d un diagramme de classes. Proposer un diagramme d objets compatible avec ce diagramme de classes et comportant un seul objet Voiture. Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
53 Modéliser la structure avec UML Exercice 2 : Identification des classes et relations Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
54 Modéliser la structure avec UML Exercice 2 : Identification des classes et relations Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
55 Modéliser la structure avec UML Associations : propriétés et contraintes Contraintes prédéfinies (Utilisation du langage OCL) Sur une extrémité : relation d ordre {ordered},... Entre 2 associations : inclusion {subset}, exclusion {xor},... Exemple 1 : les sommets dans un polygone sont ordonnés : Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
56 Modéliser la structure avec UML Associations : propriétés et contraintes Contraintes prédéfinies (Utilisation du langage OCL) Sur une extrémité : relation d ordre {ordered},... Entre 2 associations : inclusion {subset}, exclusion {xor},... Exemple 2 : une personne travaille dans un service, et elle peut, en plus, gérer ce service. Plusieurs employés peuvent cogérer un service. Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
57 Modéliser la structure avec UML Associations : propriétés et contraintes Contraintes prédéfinies (Utilisation du langage OCL) Sur une extrémité : relation d ordre {ordered},... Entre 2 associations : inclusion {subset}, exclusion {xor},... Exemple 3 : une personne (sans distinction de classe entre étudiant et enseignant) est associée à une matière, soit parce qu elle l enseigne, soit parce qu elle la suit (mais jamais les deux simultanément) Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
58 Modéliser la structure avec UML Associations : propriétés et contraintes Contraintes prédéfinies (Utilisation du langage OCL) Sur une extrémité : relation d ordre {ordered},... Entre 2 associations : inclusion {subset}, exclusion {xor},... Exemple 4 : un véhicule a des attributs propres, entre autres sa charge, et est d une certaine catégorie. La charge maximale autorisée pour un véhicule dépend uniquement de la catégorie, pas du véhicule lui-même Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
59 Modéliser la structure avec UML Associations : propriétés et contraintes Propriétés sur extrémités d associations {variable} : instance modifiable (par défaut) {frozen} : instance non modifiable {addonly} : instances ajoutables mais non retirables (si mult.>1) La contrainte {frozen} précise que le nombre de roues d un véhicule ne peut pas varier. Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
60 Modéliser la structure avec UML Exercice3 : Associations : propriétés et contraintes Modéliser avec un diagramme de classes les énoncés suivants (il y a toujours au moins un classe Personne) : Un comité est composé d au moins 2 personnes qui sont ses membres. L unique président du comité est également un membre du comité. Un hotel a plusieurs clients et un ou plusieurs employés. Les employés de l hôtel n ont pas le droit de prendre une chambre dans ce même hôtel. Une personne est née dans un pays et cela ne peut être modifié. Une personne a visité un certain nombre de pays, dans un ordre donné, et le nombre de pays visités ne peut que croître. Une personne aimerait encore visiter toute une liste de pays, et selon un ordre de préférence. Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
61 Modéliser la structure avec UML Exercice3 : Associations : propriétés et contraintes Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
62 Classes-associations Modéliser la structure avec UML Une association peut être raffinée et avoir ses propres propriétés, qui ne sont disponibles dans aucune des classes qu elle lie. Une association peut être représentée par une classe pour ajouter attributs et opérations à des associations Exemple : une personne à travaillé dans des entreprises, à des périodes données et avec un certain salaire. Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
63 Classes-associations Modéliser la structure avec UML Une classe-association peut être remplacée par une classe intermédiaire qui sert de pivot (on sépare la relation initiale : attention au changement de multiplicité par rapport à la version avec classe-association) Souvent lorsque relation de plusieurs à plusieurs : réduction des associations n-aires Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
64 Modéliser la structure avec UML Associations qualifiées Parfois préférable de restreindre la portée de l association à quelques éléments ciblés (comme un ou plusieurs attributs) de la classe : qualificatif Un qualificatif permet de sélectionner un sous-ensemble d instances : objets cibles Un qualificatif agit toujours sur une association dont la multiplicité est plusieurs (avant que l association ne soit qualifiée) du côté cible. Classe qualifiée qualificatif Classe cible Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
65 Modéliser la structure avec UML Généralisation/Spécialisation Deux interprétations Niveau conceptuel Relation transitive, non réflexive, et non symétrique Un concept est plus général qu un autre : hiérarchie de classes Niveau implémentation : Héritage La sous-classe hérite des attributs et méthodes de sa super classe La sous-classe est une sorte de la super classe : Toute instance de la sous-classe est instance de la super classe Ajout d éléments propres, redéfinition Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
66 Modéliser la structure avec UML Généralisation/Spécialisation Contraintes Les seules contraintes pré-définies en UML pour la généralisation sont : {disjoint} (par défaut) = les sous-classes n ont aucune instance en commun {overlapping} = les sous-classes peuvent avoir une ou plusieurs instances en commun Véhicule {overlapping} {overlapping} précise ici qu il existe des véhicules amphibie qui sont issus d un croisement des sous-classes de véhicule. Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
67 Modéliser la structure avec UML Généralisation/Spécialisation Contraintes Les seules contraintes pré-définies en UML pour la généralisation sont : {complete} (liste exhaustive de classe) / {incomplete} (les sous-classes spécifiées ne couvrent pas la super-classe) {incomplete} exprime l idée que des instances de la classe Personne sont des avocats, des vendeurs, des enseignants ou d autres personnes... {complete} exprime l idée qu un enseignant ne peut être autre chose qu un permanent ou vacataire. Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
68 Interface Modéliser la structure avec UML Qu est-ce qu une interface? Classe sans attributs dont toutes les opérations sont abstraites (classe abstraite pure) Liste de services, savoir faire Ne peut être instanciée Doit être réalisée (implémentée) par des classes non abstraites Peut hériter d une autre interface <<Interface>> Itf2 <<Interface>> Itf1 Classe3 <<realize>> Classe1 Réalisation Itf3 Stéréotype <<realize>> facultatif. Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
69 Interface Modéliser la structure avec UML Une classe peut aussi simplement dépendre d une interface (interface requise). <<Interface>> Itf2 <<use>> Classe2 Classe2 <<realize>> Classe1 Interface Itf2 requise Réalisation p u b l i c c l a s s C l a s s e 1 implements I t f 2 {... } Utilisation Itf2 p u b l i c c l a s s C l a s s e 2 { p u b l i c C l a s s e 2 ( I t f 2 i f a c e ) { // p u b l i c c o n s t r u c t o r... } Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
70 Modéliser la structure avec UML Classes génériques/paramétrables Objectif : regrouper les comportements associés à la structure de la classe indépendamment des objets qu elle contient Souvent utilisée pour les classes correspondant à des collections d élément(s) : tableau dynamique, liste (simplement chainée, doublement chainée, triée ou non,...), table de hashage, ensemble,... le paramètre est alors le type d objet contenu Disponible en C++ (patrons de classe = templates) et en Java (depuis la version 1.5 classes génériques) Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
71 Modéliser la structure avec UML Classes génériques/paramétrables Paramétrisation d une classe paramétrable = instanciation des paramètres (binding). Deux notations possibles. Différents paramètres possibles (type spécifié ou non (ex : T)) Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
72 Modéliser la structure avec UML Exercice 4 : Associations entre classes Modéliser les phrases suivantes par un diagramme de classes, notamment déterminez la relation statique appropriée (généralisation, composition, agrégation ou association) 1- Un répertoire contient des fichiers. 2- Une pièce a des murs. 3- A l université, un bâtiment d enseignement dispose d un certain nombre de salles et de chaises. A un instant donné, une chaise est obligatoirement à l intérieur d une salle. Une chaise peut être déplacée dans une autre salle selon les besoins. 4- Les modems et les claviers sont des périphériques d entrée/sortie (il en existe d autres). 5- Une transaction boursière est un achat ou une vente. 6- Un compte bancaire peut appartenir à une personne physique ou morale. 7- Deux personnes peuvent être mariées. 8- Un pays possède plusieurs villes et une seule capitale. Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
73 Exercice Modéliser la structure avec UML 1- Un répertoire contient des fichiers. 2- Une pièce a des murs. Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
74 Exercice Modéliser la structure avec UML 3- A l université, un bâtiment d enseignement dispose d un certain nombre de salles et de chaises. A un instant donné, une chaise est obligatoirement à l intérieur d une salle. Une chaise peut être déplacée dans une autre salle selon les besoins. Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
75 Exercice Modéliser la structure avec UML 4- Les modems et les claviers sont des périphériques d entrée/sortie (il en existe d autres). 5- Une transaction boursière est un achat ou une vente. Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
76 Exercice Modéliser la structure avec UML 6- Un compte bancaire peut appartenir à une personne physique ou morale. Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
77 Exercice Modéliser la structure avec UML 7- Deux personnes peuvent être mariées. Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
78 Exercice Modéliser la structure avec UML 8- Un pays possède plusieurs villes et une seule capitale. Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
79 Modéliser la structure avec UML Exercice 5 : Interfaces et héritage multiple Les étudiants sont des personnes qui peuvent s incrire et se désinscrire à l université. Les enseignants, identifiés par un numéro, sont des personnes qui dispensent des cours à l université. Un cours, caractérisé par son intitulé et ses crédits, n est dispensé que par un seul enseignant. Les doctorants peuvent s inscrire et se désinscrire à l université comme les étudiants et dispenser des cours comme les enseignants. Proposer une modélisation de cette situation en utilisant l héritage multiple. Proposer une modélisation de cette situation en utilisant une interface pour s affranchir de l héritage multiple. Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
80 Modéliser la structure avec UML Exercice 5 : Interfaces et héritage multiple Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
81 Modéliser la structure avec UML Exercice 5 : Interfaces et héritage multiple Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
82 Plan Modéliser la structure avec UML Implémentation d un diagramme de classes 1 Introduction à UML 2 Notations communes à tous les diagrammes 3 Modéliser la structure avec UML Diagramme d objets Implémentation d un diagramme de classes Diagramme de paquetages Diagramme de composants Diagramme de déploiement Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
83 Modéliser la structure avec UML Implémentation d un diagramme de classes Traduction du diagramme de classe vers Java/C++ Implémentation de certains concepts objet vus au premier cours : Définition d une classe Encapsulation : public, protected, private Membres statiques (attributs et méthodes de classe) Héritage Méthode abstraite (= virtuelle pure), classe abstraite, interface Implémentation restant à étudier : Association (binaire/n-aire, classe-association, avec contrainte et navigabilité, agrégation, composition) Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
84 Association binaire Modéliser la structure avec UML Implémentation d un diagramme de classes Multiplicité (1,1) ou (0..1, 0..1) L association, si elle est navigable dans les deux sens, est implémentée par ajout dans la classe A (resp. B) d un unique attribut de la classe B (resp. A). Lien : référence en Java, pointeur en C++ L instance de l attribut est supposée avoir été créée auparavant! Exemple avec deux sous-classes d une classe mère commune Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
85 Association binaire Modéliser la structure avec UML Implémentation d un diagramme de classes Homme.java Femme.java p u b l i c c l a s s Home e x t e n d s Personne { p r i v a t e Femme epouse ; p u b l i c Homme( ) { // C e l i b a t a i r e par d e f a u t epouse = n u l l ; } // mutateur p u b l i c v o i d m o d i f i e r E p o u s e ( Femme f ) { epouse = f ; } // a c c e s s e u r p u b l i c Femme r e n v o y e r E p o u s e ( ) { r e t u r n epouse ; } p u b l i c v o i d m a r r i e r A (Femme f ) { epouse = f ; f. m o d i f i e r E p o u x ( t h i s ) ; } } ; p u b l i c c l a s s Femme e x t e n d s Personne { p r i v a t e Homme epoux ; p u b l i c Femme ( ) { // C e l i b a t a i r e par d e f a u t epoux = n u l l ; } // mutateur p u b l i c v o i d m o d i f i e r E p o u x (Homme h ) { epoux = h ; } // a c c e s s e u r p u b l i c Femme r e n v o y e r E p o u s e ( ) { r e t u r n epoux ; } p u b l i c v o i d m a r r i e r A (Homme h ) { epoux = h ; h. m o d i f i e r E p o u s e ( t h i s ) ; } } ; Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
86 Association binaire Modéliser la structure avec UML Implémentation d un diagramme de classes Multiplicité (0..*, 0..*) L association, si elle est navigable dans les deux sens, est implémentée par ajout dans la classe A (resp. B) d un attribut correspondant à une collection (au sens large) d éléments. Chaque élément représente un lien vers une instance de la classe B (resp. A). Collection : peut être implémentée en tableau dynamique, liste chainée,... Java : Vector, List, ArrayList, Set,... C++ : std : :vector, std : :list,... Vérification qu une même instance n est pas liée plusieurs fois Exemple avec : Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
87 Association binaire Modéliser la structure avec UML Implémentation d un diagramme de classes Etudiant.java p u b l i c c l a s s E t u d i a n t { p r i v a t e Vector<UE> l i s t U E S u i v i e s ; p u b l i c E t u d i a n t ( ) { l i s t U E S u i v i e s = new Vector<UE>() ; } p u b l i c i n t r e n v o y e r N b U E S u i v i e s ( ) { r e t u r n l i s t U E S u i v i e s. s i z e ( ) ; } p u b l i c v o i d a j o u t e r U E (UE u ) { i f ( s u i t D e j a ( u )==f a l s e ) l i s t U E S u i v i e s. add ( u ) ; } p u b l i c b o o l e a n s u i t D e j a (UE u ) { r e t u r n l i s t U E S u i v i e s. c o n t a i n s ( u ) ; } p u b l i c UE r e n v o y e r U E S u i v i e I n d i c e ( i n t i n d e x ) { r e t u r n l i s t U E S u i v i e s. elementat ( i n d e x ) ; } p u b l i c v o i d s u i v r e (UE u ) { i f ( s u i t D e j a ( u )==f a l s e ) { l i s t U E S u i v i e s. add ( u ) ; // Les l i s t e s c o n t i e n n e n t des r e f v e r s des i n s t a n c e s q u i s o n t u. a j o u t e r E t u d i a n t ( t h i s ) ; // s u p p o s e e s a v o i r e t e c r e e e s a u p a r a v a n t! } }... // + methodes f i g u r a n t dans l e diagramme } ; Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
88 Association binaire Modéliser la structure avec UML Implémentation d un diagramme de classes Dans la classe Etudiant (resp. UE), la liste listuesuivies (resp. listetudiants) n est pas propriétaire des instances d UE (resp. Etudiant). Les listes contiennent des références (Java)/pointeurs (C++) vers des instances qui sont supposées avoir été créées auparavant! L action d inscrire un étudiant à une UE ne crée pas de nouvelle instance d Etudiant ni d UE (car l association n est pas une relation de composition dans le cas présent) Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
89 Modéliser la structure avec UML Association avec sens de navigation Implémentation d un diagramme de classes Dans cet exemple, la navigation est possible uniquement du polygone vers les points : un polygone connait les points qui lui servent de sommets, mais un point ne connait pas les polygones dans lesquels il est sommet. Incidence sur l implémentation : dans la classe Point, aucun attribut ne fait intervenir la classe Polygone Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
90 Modéliser la structure avec UML Association avec sens de navigation Implémentation d un diagramme de classes Polygone.java p u b l i c c l a s s Polygone { p r o t e c t e d Vector<Point> l i s t S o m m e t s ; p u b l i c Polygone ( ) { l i s t S o m m e t s = new Vector<Point >() ;... } p u b l i c i n t renvoyernbsommets ( ) { r e t u r n l i s t S o m m e t s. s i z e ( ) ; } p u b l i c v o i d ajoutersommet ( P o i n t pt ) { l i s t S o m m e t s. add ( pt ) ; } p u b l i c b o o l e a n apoursommet ( P o i n t pt ) { r e t u r n l i s t S o m m e t s. c o n t a i n s ( pt ) ; } p u b l i c UE r e n v o y e r S o m m e t I n d i c e ( i n t i n d e x ) { r e t u r n l i s t S o m m e t s. elementat ( i n d e x ) ; }... // + methodes f i g u r a n t dans l e diagramme } ; Point.java p u b l i c c l a s s P o i n t { p u b l i c i n t x, y ;... p u b l i c P o i n t ( ) {x =0; y =0;} } ; Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
91 Association réflexive Modéliser la structure avec UML Implémentation d un diagramme de classes Exemple : une personne peut être parent d autres personnes et enfant d au plus deux personnes connues. La relation de parenté est asymétrique : si une instance A est parent d une instance B, l inverse ne peut pas être possible simultanément. Une personne ne peut pas être son propre parent : vérifications effectués lors de la création des liens de parenté Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
92 p u b l i c c l a s s Personne { p r o t e c t e d S t r i n g nom ; p r o t e c t e d Vector<Personne> l i s t E n f a n t s ; p r o t e c t e d Personne p a r e n t [ ] ; p u b l i c Personne ( S t r i n g s ) { nom = new S t r i n g ( s ) ; l i s t E n f a n t s = new Vector<Personne >() ; parent = new Personne [ 2 ] ; p a r e n t [ 0 ] = n u l l ; p a r e n t [ 1 ] = n u l l ; } p u b l i c b o o l e a n e s t P a r e n t D e ( Personne p ) { r e t u r n l i s t E n f a n t s. c o n t a i n s ( p ) } p u b l i c v o i d d e v e n i r P a r e n t D e ( Personne p ) { // V e r i f des l i e n s de p a r e n t e i f ( p. e s t P a r e n t D e ( t h i s )==f a l s e && p!= t h i s ) { l i s t E n f a n t s. add ( p ) ; i f ( p. p a r e n t [0]== n u l l ) p. p a r e n t [ 0 ] = t h i s ; e l s e i f ( p. p a r e n t [1]== n u l l ) p. p a r e n t [ 1 ] = t h i s ; e l s e {// e c r a s e p a r e n t [ 0 ] p. p a r e n t [ 0 ]. l i s t E n f a n t s. remove ( p ) ; p. p a r e n t [ 0 ] = t h i s ; } } } Laëtitia } ; Matignon ISI3-3. UML Diagrammes statiques / 101 Association réflexive Personne.java Modéliser la structure avec UML Implémentation d un diagramme de classes
93 Contraintes Modéliser la structure avec UML Implémentation d un diagramme de classes Exemple 1 : les sommets dans un polygone sont ordonnés. La notion d ordre est déjà présente dans la plupart des collections d objet : Un Vector (Java) ou un std : :vector (C++) : accès via un itérateur ou un indice Une LinkedList (Java) ou une std : :list (C++) : accès via un itérateur Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
94 Contraintes Modéliser la structure avec UML Implémentation d un diagramme de classes Contrainte d inclusion : une personne travaille dans un service, et elle peut, en plus, gérer ce service. Plusieurs employés peuvent cogérer un service Contrainte d exclusivité : une personne (sans distinction de classe entre étudiant et enseignant) est associée à une matière, soit parce qu elle l enseigne, soit parce qu elle la suit (mais jamais les deux simultanément) Ces contraintes ne peuvent pas être représentée par le type de collection. Elles doivent êtres maintenues lors de la création des liens. Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
95 Modéliser la structure avec UML Agrégation et composition Implémentation d un diagramme de classes Agrégation : Implémentation similaire à une association binaire Composition : Inclusion structurelle d un composant dans un composite La vie du Composant est liée à celle du Composite : la création (resp. destruction) du Composite entraîne la création (resp. destruction) de ses Composants La composition peut être implémentée par l ajout d un attribut de classe Composant dans la classe Composite et instanciation dans la classe Composite. Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
96 Modéliser la structure avec UML Agrégation et composition Implémentation d un diagramme de classes Composant.java p u b l i c c l a s s Composant { p r i v a t e Composite comp ; p u b l i c Composant ( ) {comp = n u l l ; } v o i d m o d i f i e r C o m p o s i t e ( Composite c ) {comp = c ; } } ; Composite.java p u b l i c c l a s s Composite { p r i v a t e Composant tabcomposants [ ] ; p u b l i c Composite ( ) { tabcomposants = new tabcomposants [ n ] ; f o r ( i n t i =0; i <n ; i ++) { tabcomposants [ i ] = new Composant ( ) ; tabcomposants [ i ]. m o d i f i e r C o m p o s i t e ( t h i s ) ; } }... } Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
97 Classe-association Modéliser la structure avec UML Implémentation d un diagramme de classes Implémentation de la classe-association par ajout d une classe Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
98 Plan Modéliser la structure avec UML Diagramme de paquetages 1 Introduction à UML 2 Notations communes à tous les diagrammes 3 Modéliser la structure avec UML Diagramme d objets Implémentation d un diagramme de classes Diagramme de paquetages Diagramme de composants Diagramme de déploiement Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
99 Modéliser la structure avec UML Diagramme de paquetages Diagramme de paquetages Qu est-ce qu un paquetage (package)? Élément de modélisation qui contient d autres éléments de modélisation Regroupement d éléments (classes, cas d utilisation, interfaces, diagrammes, paquetages,...) dans des ensembles fortements cohérents Possibilité de ne pas représenter tous les éléments contenus Tout élément n appartient qu à un seul paquetage Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
100 Modéliser la structure avec UML Diagramme de paquetages Diagramme de paquetages Objectifs Structurer/organiser éléments et diagrammes (notamment les classes), donner une vision globale plus claire Temporiser la propagation des changements dans l application Définit un espace de nom Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
101 Espaces de nom Modéliser la structure avec UML Diagramme de paquetages 2 éléments ne peuvent pas avoir le même nom dans un paquetage 2 éléments dans 2 paquetages différents sont différents, quel que soit leur nom Nom complet = nom préfixé par les noms des paquetages englobants : Banque::Compte Commerce::Compte Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
102 Dépendances Modéliser la structure avec UML Diagramme de paquetages Définition Une classe A dépend d une classe B si A a des attributs de type B ou si certaines de ses méthodes renvoient, ou prennent en argument, des objets de type B. La dépendance entre paquetages est définie de manière similaire. La source voit la cible, mais pas l inverse Représenté par une dépendance avec le stéréotype import Dépendances non transitives : modifier Fournisseur n oblige pas forcément à modifier Clientèle Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
103 Visibilité Modéliser la structure avec UML Diagramme de paquetages Visibilité d une classe Classe publique (+) : La classe est visible pour tous les éléments qui importent le paquetage englobant la classe. Classe privée (-) : La classe n est visible que pour les classes qui appartiennent au même paquetage. Classe protégée (#) : La classe est visible pour les classes qui appartiennent au même paquetage et pour les classes contenues dans les paquetages enfant du paquetage englobant. Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
104 Plan Modéliser la structure avec UML Diagramme de composants 1 Introduction à UML 2 Notations communes à tous les diagrammes 3 Modéliser la structure avec UML Diagramme d objets Implémentation d un diagramme de classes Diagramme de paquetages Diagramme de composants Diagramme de déploiement Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
105 Modéliser la structure avec UML Diagramme de composants Diagramme de composants Permet de décrire l architecture statique d une application en terme de modules (fichiers sources, fichiers compilés,...) Les dépendances entre modules permettent d identifier les contraintes de compilation et de mettre en évidence la réutilisation des composants Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
106 Plan Modéliser la structure avec UML Diagramme de déploiement 1 Introduction à UML 2 Notations communes à tous les diagrammes 3 Modéliser la structure avec UML Diagramme d objets Implémentation d un diagramme de classes Diagramme de paquetages Diagramme de composants Diagramme de déploiement Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
107 Modéliser la structure avec UML Diagramme de déploiement Diagramme de déploiement Modélise l aspect matériel de l application Montre la disposition physique des différentes ressources matérielles (PC, Modem, Station de travail, Serveur, etc.) qui composent le système, leurs interconnexions et la répartition des programmes/exécutables sur ces matériels. Chaque ressource est matérialisée par un noeud représenté par un cube comportant un nom Les associations entre noeuds sont des chemins de communication qui permettent l échange d informations Un système est généralement décrit par un petit nombre de diagrammes de déploiement (généralement un seul suffit) Laëtitia Matignon ISI3-3. UML Diagrammes statiques / 101
UML (Diagramme de classes) Unified Modeling Language
UML (Diagramme de classes) Unified Modeling Language Sommaire Introduction Objectifs Diagramme de classes Classe (Nom, attribut, opération) Visibilité et portée des constituants d une classe Association
basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML
basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes
Diagramme de classes
Diagramme de classes Un diagramme de classes décrit les classes et leurs relations (associations, généralisation/spécialisation, ). classe association méthodes attributs héritage Diagramme de classes :
OCL - Object Constraint Language
OCL - Object Constraint Language Laëtitia Matignon [email protected] Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object
IFT2255 : Génie logiciel
IFT2255 : Génie logiciel Chapitre 6 - Analyse orientée objets Section 1. Introduction à UML Julie Vachon et Houari Sahraoui 6.1. Introduction à UML 1. Vers une approche orientée objet 2. Introduction ti
Chapitre I : le langage UML et le processus unifié
I. Introduction Les méthodes d analyse orientées objet sont initialement issues des milieux industriels. La préoccupation dominante de leurs auteurs est le génie logiciel, c est-àdire les principes et
Université de Bangui. Modélisons en UML
Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et
Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language
Unified Modeling Language UML Salima Hassas Version Cycle de vie du logiciel Client Besoins Déploiement Analyse Test Conception Cours sur la base des transparents de : Gioavanna Di Marzo Serugendo et Frédéric
UML. Diagrammes de classes (suite) Delphine Longuet. [email protected]
Polytech Paris-Sud Formation initiale 3 e année Spécialité Informatique Année 2014-2015 UML Diagrammes de classes (suite) Delphine Longuet [email protected] Opérations Opérations Service qui peut
Analyse,, Conception des Systèmes Informatiques
Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance
Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2
Langage et Concepts de Programmation Objet Travaux Dirigés no2 Pôle Informatique École Nationale Supérieure des Mines de St-Etienne Vous trouverez plus de détails sur les concepts abordés lors de ce TD
Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e
P r o b l é m a t i q u e OCL : O b j e c t C o n s t r a i n t L a n g u a g e Le langage de contraintes d UML Les différents diagrammes d UML permettent d exprimer certaines contraintes graphiquement
Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.
Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres
Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml
OCL Object Constraint Language Le langage de contraintes d'uml Plan 1. Introduction 2. Les principaux concepts d'ocl Object Constraint Language 1 Object Constraint Language 2 Exemple: une application bancaire
Chapitre VI- La validation de la composition.
Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions
Modélisation UML. Christine Solnon 2013-2014. INSA de Lyon - 3IF 1/140.
1/140. Modélisation UML Christine Solnon INSA de Lyon - 3IF 2013-2014 Introduction Positionnement de l UE / IF Domaines d enseignement du département IF : Système d Information Réseaux Architectures matérielles
Cours STIM P8 TD 1 Génie Logiciel
Cours STIM P8 TD 1 Génie Logiciel Compléments sur UML Intervenant : Anil CASSAM CHENAI Date : 02/02/2012 Objectifs du complément Ce complément sera approfondi en parallèle de plusieurs TD/Cours. Rappels
Génie Logiciel Orienté Objet UML
Licence Professionnelle en Informatique Génie Logiciel Orienté Objet UML E. Grislin-Le Strugeon E. Adam UVHC ISTV Plan Concepts orientés objet Principes des méthodes OO Qu est-ce que UML? Caractéristiques
Master MIDO 2ème année. Spécification et Conception en UML Maude Manouvrier
Master MIDO 2ème année Spécification et Conception en UML Maude Manouvrier Spécifications initiales Analyse Conception du système Conception des classes Bibliographie Modélisation et conception orientées
Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
TP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
UML (Paquetage) Unified Modeling Language
UML (Paquetage) Unified Modeling Language Sommaire Introduction Objectifs Paquetage Espace de nommage d un paquetage Dépendances entre paquetages 2 Notion introduite véritablement par UML car superficiellement
Les diagrammes de modélisation
L approche Orientée Objet et UML 1 Plan du cours Introduction au Génie Logiciel L approche Orientée Objet et Notation UML Les diagrammes de modélisation Relations entre les différents diagrammes De l analyse
Développement d un interpréteur OCL pour une machine virtuelle UML.
ObjeXion Software Prototyping made easy SA au capital de 500 000 F Siret 421 565 565 00015 APE 722Z Téléphone : 03 89 35 70 75 Télécopie : 03 89 35 70 76 L embarcadère 5, rue Gutemberg 68 800 Vieux-Thann,
Génie Logiciel avec Ada. 4 février 2013
Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre
UML et les Bases de Données
CNAM UML et les Bases de Données UML et les Bases de Données. Diagramme de classes / diagramme d objets (UML)...2.. Premier niveau de modélisation des données d une application...2.2. Les éléments de modélisation...2.2..
C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement
C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement des objets d'une classe Utilisation d'une classe Droit
Analyse et Conception objet du logiciel Analyse et conception objet du logiciel : Méthode de conception objet et notation UML.
Analyse et conception objet du logiciel : Méthode de conception objet et notation UML Rémy Courdier Email : [email protected] Rémy Courdier V2.1 1 Plan du cours Introduction au Génie Logiciel
Pascal Brunot Hadrien Cambazard UML FOR BUSINESS INTELLIGENCE PROJECT
UML FOR BUSINESS INTELLIGENCE PROJECT Abstract : this document deals with the role of UML into business intelligence projects (like data warehousing). After a quick overview of what UML offers, it focuses
Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.)
Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.) Bernard ESPINASSE Professeur à l'université d'aix-marseille Plan Introduction Les modèles d'omt Le Modèle Objet (MO) Le Modèle
Diagrammes de Package, de déploiement et de composants UML
labsticc.univ-brest.fr/pages_perso/babau/ Diagrammes de Package, de déploiement et de composants UML Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC 2 1 Plan Description
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»
MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» Du cours Modélisation Semi -Formelle de Système d Information Du Professeur Jean-Pierre GIRAUDIN Décembre. 2002 1 Table de matière Partie 1...2 1.1
Programmation Orientée Objet
Université de Pau et des Pays de l Adour Institut Universitaire de Technologie des Pays de l Adour Département Réseaux et Télécommunications 371, rue du Ruisseau BP 201 40004 Mont-de-Marsan Cedex tél :
Table des matières Sources
Table des matières Modélisation objet avec UML... 2 Introduction... 2 Modèle de système informatique :... 2 Pourquoi UML pour la modélisation Objet?... 3 Représentation dynamique du système... 5 Le diagramme
Conception des bases de données : Modèle Entité-Association
Conception des bases de données : Modèle Entité-Association La modélisation d un problème, c est-à-dire le passage du monde réel à sa représentation informatique, se définit en plusieurs étapes pour parvenir
Langage et Concepts de ProgrammationOrientée-Objet 1 / 40
Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne [email protected]
Cours de Génie Logiciel
Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005 Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes
Comparaison de trois techniques de modélisation de processus: ADONIS, OSSAD et UML
Olivier Glassey Jean-Loup Chappelet Comparaison de trois techniques de modélisation de processus: ADONIS, OSSAD et UML Working paper de l'idheap 14/2002 UER: Management public / Systèmes d'information
Initiation à JAVA et à la programmation objet. [email protected]
Initiation à JAVA et à la programmation objet [email protected] O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation
Rational Unified Process
Rational Unified Process For Christiane DAVOINE-GUHUR Société GICAB - Vannes [email protected] Table des Matières 1 INTRODUCTION... 1 2 LES COMPOSANTS ET LES GRANDS PRINCIPES DU PROCESSUS...
Programmer en JAVA. par Tama ([email protected]( [email protected])
Programmer en JAVA par Tama ([email protected]( [email protected]) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
GOL502 Industries de services
GOL502 Industries de services Conception d un service Partie IIb Version 2013 Introduction Conception d un service partie IIb Nous verrons dans ce chapitre Modélisation d un service; Langage de modélisation
Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)
Introduction à la POO 1. Histoire de la POO 9 2. Historique du 12 La conception orientée objet 1. Approche procédurale et décomposition fonctionnelle 13 2. La transition vers l'approche objet 14 3. Les
Ingénierie des Modèles. Méta-modélisation
Ingénierie des Modèles Méta-modélisation Eric Cariou Master Technologies de l'internet 2 ème année Université de Pau et des Pays de l'adour UFR Sciences Pau Département Informatique [email protected]
Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh
NOTATION UML AVEC RATIONAL ROSE G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh Sommaire 1 GÉNÉRALITES...2 1.1 ENVIRONNEMENT LOGICIEL...2 1.2 LES VUES DU LOGICIEL ROSE...3 1.3 ORGANISATION RECOMMANDÉE...3
M1 : Ingénierie du Logiciel
M1 : Ingénierie du Logiciel UNIVERSITE PIERRE & MARIE CURIE (PARIS VI) Examen Réparti 2eme partie 16 Mai 2013 (2 heures avec documents : tous SAUF ANNALES CORRIGEES). Barème indicatif sur 20,5 points (max
Patrons de Conception (Design Patterns)
Patrons de Conception (Design Patterns) Introduction 1 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques
UML 2.0. (IUT, département informatique, 1 re année) Laurent AUDIBERT
UML 2.0 (IUT, département informatique, 1 re année) Laurent AUDIBERT Institut Universitaire de Technologie de Villetaneuse Département Informatique Avenue Jean-Baptiste Clément 93430 Villetaneuse Adresse
C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.
1- RAD Quelle sont les avantages que apporte la méthode RAD à l entreprise? Une méthode RAD devrait, d après son auteur, apporter trois avantages compétitifs à l entreprise : Une rapidité de développement
Introduction au Génie Logiciel
Introduction au Génie Logiciel Lydie du Bousquet [email protected] En collaboration avec J.-M. Favre, I. Parissis, Ph. Lalanda Qu est-ce que le logiciel? programme, ensemble d instructions Caractéristiques
Le génie logiciel. maintenance de logiciels.
Le génie logiciel Définition de l IEEE (IEEE 1990): L application d une approche systématique, disciplinée et quantifiable pour le développement, l opération et la maintenance de logiciels. Introduction
Génie Logiciel Avancé Cours 3 Le modèle à objets
Génie Logiciel Avancé Cours 3 Le modèle à objets Stefano Zacchiroli [email protected] Laboratoire PPS, Université Paris Diderot - Paris 7 URL http://upsilon.cc/zack/teaching/1112/gla/ Copyright
Présentation. Au programme. Fonctionnement. A l issue de ce module vous devriez...
Au programme Conception Orientée Objet Jean-Christophe Routier Licence mention Informatique Université Lille 1 Présentation L UE COO est le prolongement immédiat de l UE POO du S4 informatique. cf. http://portail.fil.univ-lille1.fr/portail/ls4/poo
LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. [email protected] www.cril.univ-artois.fr/~jabbour
LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour [email protected] www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections
Modélisation de bases de données : Le modèle relationnel
Modélisation de bases de données : Le modèle relationnel Rappel chapitre 1 C est quoi un modèle? Type de modèle : Modèle hiérarchique Modèle réseau Modèle objet Modèle relationnel Cours BD Dr REZEG K 1
Architecture d'entreprise : Guide Pratique de l'architecture Logique
Guides Pratiques Objecteering Architecture d'entreprise : Guide Pratique de l'architecture Logique Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam
Sommaire. Conduite de projet Méthode d analyse et de conception. Processus unifié. Objectifs d un processus de développement
Conduite de projet Méthode d analyse et de conception Processus unifié G. Picard SMA/G2I/ENS Mines Saint-Etienne [email protected] Octobre 2009 Sommaire!!Objectifs d un processus d ingénierie logicielle!
CC30 Certificat de compétence Conception, développement et animation de sites Web
CC30 Certificat de compétence Conception, développement et animation de sites Web UE RSX050 Bases de l informatique Séance 2 UERSX050 Bases de l informatique séance 2-30/10/2009 1 Table des matières Séance
Générer du code à partir d une description de haut niveau
Cedric Dumoulin Générer du code à partir d une description de haut niveau Ce projet vise à fournir un environnement de développement permettant de modéliser des UI Android à un haut niveau d abstraction,
Bases de données. Chapitre 1. Introduction
Références : Bases de données Pierre Wolper Email : [email protected] URL : http : //www.montefiore.ulg.ac.be/~pw/ http : //www.montefiore.ulg.ac.be/ ~pw/cours/bd.html Henry F. Korth, Abraham Silberschatz,
Méthodologies Orientées-Objet!
MAI NFE103 Année 2013-2014 Méthodologies Orientées-Objet! F.-Y. Villemin ([email protected]) Plan!!Les différentes méthodologies! Démarche! Cycle de vie!!rational Unified Process (RUP)!!La méthode Layman!!Notre
Chapitre 5 LE MODELE ENTITE - ASSOCIATION
Chapitre 5 LE MODELE ENTITE - ASSOCIATION 1 Introduction Conception d une base de données Domaine d application complexe : description abstraite des concepts indépendamment de leur implémentation sous
Objets et Programmation. origine des langages orientés-objet
Objets et Programmation origine des langages orientés-objet modularité, encapsulation objets, classes, messages exemples en Java héritage, liaison dynamique G. Falquet, Th. Estier CUI Université de Genève
4. Utilisation d un SGBD : le langage SQL. 5. Normalisation
Base de données S. Lèbre [email protected] Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :
ANALYSE D UN SYSTEME D INFORMATION ET EXTENSION DE
Université de Fribourg, Suisse Département d'informatique Bachelor en informatique de gestion ANALYSE D UN SYSTEME D INFORMATION ET EXTENSION DE CELUI-CI PAR DE NOUVELLES FONCTIONNALITES Travail de séminaire
Meta Object Facility. Plan
Meta Object Facility Gestion de «meta objets» & meta meta modélisation Xavier Le Pallec Plan 1 Auteur : MOF : généralités L OMG en 1997-1998. Acteur principal DSTC : Centre Recherche sur les Systèmes distribués
Cours 1: Java et les objets
Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/
Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
Structure d un programme et Compilation Notions de classe et d objet Syntaxe
Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types
Chapitre VIII. Les bases de données. Orientées Objet. Motivation
Chapitre VIII Motivation Le modèle relationnel connaît un très grand succès et s avère très adéquat pour les applications traditionnelles des bases de données (gestion) Les bases de données Orientées Objet
3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes
PLAN CYCLE DE VIE D'UN LOGICIEL EXPRESSION DES BESOINS SPÉCIFICATIONS DU LOGICIEL CONCEPTION DU LOGICIEL LA PROGRAMMATION TESTS ET MISE AU POINT DOCUMENTATION CONCLUSION C.Crochepeyre Génie Logiciel Diapason
Méthodes de Conception Orientés Objet (MCOO) SOMMAIRE
SOMMAIRE Sommaire... 1 INTRODUCTION... 3 I. Particularités d UML... 4 I.1 UML est une norme... 5 I.2 UML est un langage de modélisation objet... 5 I.3 UML est un support de communication... 6 I.4 UML est
Premiers Pas en Programmation Objet : les Classes et les Objets
Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.
Héritage presque multiple en Java (1/2)
Héritage presque multiple en Java (1/2) Utiliser deux classes ou plus dans la définition d'une nouvelle classe peut se faire par composition. class Etudiant{ int numero; Diplome d; float passeexamen(examen
Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer
Le Processus RUP Database Administrator Project Leader H. Kadima Performance Engineer Release Engineer Analyst Designer / Developer Tester Table des matières 1. De l artisanat à l industrialisation de
Besoins utilisateurs. Quelle démarche pour passer des besoins au code? Code. chapitre1 UNIFIED MODELING LANGUAGE. package LogiqueMetier.
chapitre1 Besoins utilisateurs Quelle démarche pour passer des besoins au code?? UNIFIED MODELING LANGUAGE package LogiqueMetier.Gestion; import LogiqueMetier.Catalogue.Livre; import java.util.*;public
Modélisation avec UML
2 Vue générale du cours ) Introduction au langage de modélisation UML points de vue et diagrammes cas d'utilisation, analyse, conception, implémentation 2) Le diagramme des cas d utilisations acteur cas
Modélisation des données
Modélisation des données Le modèle Entité/Association Le MCD ou modèle Entité/Association est un modèle chargé de représenter sous forme graphique les informations manipulées par le système (l entreprise)
Annexe : La Programmation Informatique
GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de
Management des processus opérationnels
Ecole Nationale Supérieure de Management Master Management des organisations Management des processus opérationnels Dr TOUMI Djamila Cours n 2: la modélisation des processus opérationnels INTRODUCTION
Une introduction à Java
Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Java - Historique Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)
Cours 1 : La compilation
/38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas [email protected] PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà
Cours en ligne Développement Java pour le web
Cours en ligne Développement Java pour le web We TrainFrance info@wetrainfrance Programme général du cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation Java Unité
Le Guide Pratique des Processus Métiers
Guides Pratiques Objecteering Le Guide Pratique des Processus Métiers Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam 21 avenue Victor Hugo 75016
Projet Active Object
Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques
Conception, architecture et urbanisation des systèmes d information
Conception, architecture et urbanisation des systèmes d information S. Servigne Maître de Conférences, LIRIS, INSA-Lyon, F-69621 Villeurbanne Cedex e-mail: [email protected] 1. Introduction
MEGA Database Builder. Guide d utilisation
MEGA Database Builder Guide d utilisation MEGA 2009 SP4 1ère édition (juin 2010) Les informations contenues dans ce document pourront faire l objet de modifications sans préavis et ne sauraient en aucune
Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon
Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon Travail pratique #1 «Réalisation d'une plateforme de vente aux enchères électronique» À réaliser individuellement ou en équipe
Information utiles. [email protected]. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/
Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : [email protected] webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/
Technologie Web. Conception de sites Web. Alexandre Pauchet. INSA Rouen - Département ASI. INSA - ASI TechnoWeb : Rappels UML 1/21
INSA - ASI TechnoWeb : Rappels UML 1/21 Technologie Web Conception de sites Web Alexandre Pauchet INSA Rouen - Département ASI BO.B.RC.18, [email protected] INSA - ASI TechnoWeb : Rappels UML 2/21
Généralités sur le Langage Java et éléments syntaxiques.
Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...
Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004
Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)
LES TYPES DE DONNÉES DU LANGAGE PASCAL
LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.
II. Modèle conceptuel le modèle entité-association
II. Modèle conceptuel le modèle entité-association Personne Voiture Schéma conceptuel Monde réel υ Concepteur υ Personne conduit Voiture ϖ ϖ Schéma logique utilisateurs ω LMD BD Personne Dupont Durant
Systèmes d information et bases de données (niveau 1)
Systèmes d information et bases de données (niveau 1) Cours N 1 Violaine Prince Plan du cours 1. Bibliographie 2. Introduction aux bases de données 3. Les modèles 1. Hiérarchique 2. Réseau 3. Relationnel
TD/TP PAC - Programmation n 3
Université Paris Sud Licence d informatique/iup-miage2 - Année 2004-2005 auteur : Frédéric Vernier semaine : 11-16 octobre 2004 conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html
Christian Soutou UML 2. pour les. bases de données. Avec 20 exercices corrigés. Groupe Eyrolles, 2007, ISBN : 978-2-212-12091-2
Christian Soutou UML 2 pour les bases de données Avec 20 exercices corrigés Groupe Eyrolles, 2007, ISBN : 978-2-212-12091-2 Chapitre 4 Outils du marché : de la théorie à la pratique Non mais t as déjà
LO19. Tutorial Rotional Rose. Alexandre Penfornis Thomas Derive
LO19 Tutorial Rotional Rose Alexandre Penfornis Qu est ce que Rational Rose? Aujourd hui, la réalisation d un logiciel doit se faire dans des délais de plus en plus courts et doit permettre de pouvoir
OMGL6 Dossier de Spécifications
OMGL6 Dossier de Spécifications HELPDESK Radoslav Cvetkoski, Xavier Fantin, Yohann Haution, Yanis Salti, Sébastien Tassier Cvetkoski, Fantin, Haution, Salti, Tassier Page 1 Sommaire 1. Historique du document...
