Rudiments d'uml POO 1

Documents pareils
basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

IFT2255 : Génie logiciel

Chapitre I : le langage UML et le processus unifié

CC30 Certificat de compétence Conception, développement et animation de sites Web

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Diagramme de classes

UML (Diagramme de classes) Unified Modeling Language

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

3. UML - Unified Modeling Language Diagrammes statiques

UML (Paquetage) Unified Modeling Language

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

RTDS G3. Emmanuel Gaudin

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.)

Développement d un interpréteur OCL pour une machine virtuelle UML.

Formation : Modélisation avec UML 2.0 et Mise en pratique

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

Généralités sur le Langage Java et éléments syntaxiques.

GOL502 Industries de services

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code

Université de Bangui. Modélisons en UML

OCL - Object Constraint Language

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

Ingénierie des Modèles. Méta-modélisation

Les diagrammes de modélisation

CONCEPTION DE PROJET SIG AVEC UML

Description de la formation

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Génie Logiciel Orienté Objet UML

Génie Logiciel avec Ada. 4 février 2013

UML. Diagrammes de classes (suite) Delphine Longuet.

Bases de données. Chapitre 1. Introduction

Pascal Brunot Hadrien Cambazard UML FOR BUSINESS INTELLIGENCE PROJECT

Polymorphisme, la classe Object, les package et la visibilité en Java... 1

TP1 : Initiation à Java et Eclipse

Objets et Programmation. origine des langages orientés-objet

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Cours en ligne Développement Java pour le web

Objectif du cours. Outline. Complexité des systèmes modernes. La modélisation et UML dans les activités du Génie Logiciel...

Programmation en Java IUT GEII (MC-II1) 1

Traduction des Langages : Le Compilateur Micro Java

Refonte front-office / back-office - Architecture & Conception -

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)*

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh

Présentation. Au programme. Fonctionnement. A l issue de ce module vous devriez...

Initiation à JAVA et à la programmation objet.

Programmation Orientée Objet en C#

Information utiles. webpage : Google+ : digiusto/

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

UML est-il soluble dans les méthodes agiles?

Reporting Services - Administration

Extensions à la formation. Laurent Pérochon, avril 2008, RMT Modelia, modélisation conceptuelle, formation UML, INRA Castanet Tolosan

La carte à puce. Jean-Philippe Babau

Web Tier : déploiement de servlets

Programmation Orientée Objet

Aide mémoire UML & Java 1ère partie : Introduction. marc.lemaire@u-cergy.fr

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>

Génie Logiciel Avancé Cours 3 Le modèle à objets

Modélisation de Lignes de Produits en UML *

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Générer du code à partir d une description de haut niveau

Cours STIM P8 TD 1 Génie Logiciel

P r ob lé m a t iq u e d e la g é n é r icit é. Pr in cip e d e la g é n é r icit é e n Ja v a ( 1 /3 )

Comparaison de trois techniques de modélisation de processus: ADONIS, OSSAD et UML

Christian Soutou UML 2. pour les. bases de données. Avec 20 exercices corrigés. Groupe Eyrolles, 2007, ISBN :

Modélisation de bases de données : Le modèle relationnel

Méthodes d évolution de modèle produit dans les systèmes du type PLM

Chapitre VI- La validation de la composition.

Héritage presque multiple en Java (1/2)

Devenez un véritable développeur web en 3 mois!

Classeur de suivi de l auditeur. Architecture et Ingénierie des Systèmes et des Logiciels

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

Méthodes de Conception Orientés Objet (MCOO) SOMMAIRE

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Évaluation et implémentation des langages

Table des matières Sources

Démarches d urbanisation : réorganiser le Système d Information en structurant ses fonctions dans des blocs fonctionnels communicants.

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

BASES DE DONNEES ORIENTEES OBJETS BDA10.1

Patrons de Conception (Design Patterns)

Le niveau conceptuel : la modélisation des bases de données

Cours 1: Java et les objets

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Besoins utilisateurs. Quelle démarche pour passer des besoins au code? Code. chapitre1 UNIFIED MODELING LANGUAGE. package LogiqueMetier.

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Programmation Objet Java Correction

langage spécifiant un processus sous format XML Business Process Management : gestion de processus.

WINDOWS SHAREPOINT SERVICES 2007

Conception. Génie Logiciel. Renaud Marlet. LaBRI / INRIA (d'après A.-M. Hugues) màj 17/04/2007

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Modélisation UML. Christine Solnon INSA de Lyon - 3IF 1/140.

Analyse,, Conception des Systèmes Informatiques

Création d objet imbriqué sous PowerShell.

Analyse et Conception objet du logiciel Analyse et conception objet du logiciel : Méthode de conception objet et notation UML.

OASIS Date de publication

Transcription:

Rudiments d'uml 2011-2012 POO 1

UML Unified Modeling Language Langage uniformisé pour la spécification de modèles objets Graphiques standardisés Modèle systémique abstrait : modèle UML 2011-2012 POO 2

Diagrammes UML Diagrammes structurels ou statiques Diagramme de classes Diagramme des paquetages... Diagrammes d'interaction ou dynamiques Diagramme de séquence... Diagrammes comportementaux (Diagramme des cas d'utilisation)... 2011-2012 POO 3

Diagramme de classes Chaque classe est représentée par un rectangle avec son nom ses champs ses méthodes types optionnels avec notation à la pascal + signifie "public" - signifie "private" # signifie "protected" ~ signifie "package" NomDeClasse +champ1 : type1 +champ2 : type2 -m1(param1:type1):type #m2(p1:type1,p2:type2):type m3():type 2011-2012 POO 4

Diagramme de classes Chaque interface est représentée par un rectangle surmonté d' «interface» avec son nom ses méthodes «interface» types optionnels avec notation à la pascal NomDInterface m1(param1:type1):type m2(p1:type1,p2:type2):type m3():type 2011-2012 POO 5

Diagramme de classes On indique les relations entre classes et interfaces généralisation (héritage) réalisation (implémentation) Association simple ou bidirectionnelle agrégation composition dépendance 2011-2012 POO 6

Généralisation (héritage) On ne recopie pas les membres hérités Customer name: String address: Address validate():boolean Firm firmname: String siret: String 2011-2012 POO 7

Généralisation Customer name: String address: Address validate():boolean Firm firmname: String siret: String FaithfullCustomer cardid: Card 2011-2012 POO 8

Réalisation (implémentation) : «interface» Validable validate():boolean Firm firmname: String siret: String 2011-2012 POO 9

Association Une association signifie qu'une classe utilise une ou plusieurs instances d'une autre Si l'association est dans les deux sens, on ne met pas de flèche Address validate():void Customer validate():void 2011-2012 POO 10

Association Information complémentaire : cardinalité (indiqué à l'extrémité du lien) nom du champ visibilité Maison 1 * Habitant -habite * Entreprise 0..1 + signifie "public" - signifie "private" # signifie "protected" ~ signifie "package" 2011-2012 POO 11

Association Un cours est suivi par des étudiants (peut-être aucun) et les connaît Un étudiant suit des cours et les connaît Cours 1..* 0..* Étudiant -courses -students 2011-2012 POO 12

Association <<interface>> Drawable draw():void Point x:int y:int 2 -from -to Line 0..* -lines Polyline 2011-2012 POO 13

Agrégation L'agrégation est un cas particulier d'association : Relation non symétrique, lien de subordination Couplage fort Relation «non vitale» les cycles de vie peuvent être indépendant Raster 0..* -raster BufferedImage 2011-2012 POO 14

Composition La composition est un cas particulier d'agrégation Agrégation forte Cycles de vie liés À un instant t, une instance de composant ne peut être liée qu'à un seul composé. Button 1..* -buttons 1 -parent MainPanel 2011-2012 POO 15

Composition En Java, si la référence sur l'instance crée quitte l'objet (getter), la composition est impossible En C, en théorie la composition peut être implémentée avec une structure qui contient l'autre structure (et non un pointeur) 2011-2012 POO 16

Dépendance Signifie un «dépendance» de n'importe quel ordre On peut indiquer la nature de la dépendance WindowListener «instantiate» MainFrame 2011-2012 POO 17

Diagramme de packages Simple diagramme où chaque paquetage est dans une boîte entre lesquelles on met un flèche pour dire que l'un est client de l'autre p1 Un commentaire. p2 + class1 + class2 - class3 «import» + class4 + class5 2011-2012 POO 18

Diagramme de packages 2 axes Cohérence Nature regroupement sémantique finalité du service rendu Evolution Isoler ce qui varie Niveau de stabilité Indépendance Faible couplage Minimiser les interaction 2011-2012 POO 19

Diagramme de séquence Indique ce qui se passe pendant une tâche particulière du programme Ce diagramme met l'accent sur les interactions entre objets Il permet aussi de prouver qu'une tâche cliente est possible En réalisant ce genre de diagrammes, on tombe souvent sur de nouvelles responsabilités. 2011-2012 POO 20

Diagramme de séquence :Main leg:graph :Edge :Vertex A x e t e m p o r e l seek(label:string) edges() contains(label:string) getlabel() getlabel() 2011-2012 POO 21

Logiciels UML (gratuits) Violet (java) Simple, prise en main en 5 minutes Limité ArgoUML Pas mal N'évolue plus Poseidon for UML, Community edition BoUML Pas mal N'évolue plus StarUML Visual paradigm for UML, Community edition 2011-2012 POO 22