UML – UnifiedModelingLanguage4/4 : concepts avancés	Yannick PriéDépartement Informatique – Faculté des Sciences et TechnologiesUniversité Claude Bernard Lyon 12011-2012
Objectifs de ce coursIntroduction à des concepts et des technologies plus avancés liés à UML, notamment au traitements automatiques des diagrammes pour générer des systèmes2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : concepts avancés
PlanOutils UMLMétamodèle UML Object constraint languageModel Driven DevelopmentConclusions sur UML2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : concepts avancés
Deux types d’outils UMLOutils de dessins améliorés
intègrent les diagrammes comme simples formes
incapable de traiter les diagrammes : pas de sémantique
Outils UML utilisant la sémantique d’UML
gestion des diagrammes et du modèle
vérification de cohérence
génération de code
squelettes de classes / contenus des méthodes (peu)
rétro-ingénierie
diagrammes de classes
diagrammes de séquences (peu)
de plus en plus intégrés / en compléments d’autres outils
IDE, gestion de projet, du risque, des besoins, de la qualité, des tests, du workflow, etc.2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : concepts avancés
Modèles UML et codeModèle avec
classes
attributs, associations
opérations
spécialisation
paquetages
interactions
Correspond à du code dans un langage de programmation modèle dans un langage
Java, C++, C#, python, etc.2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : concepts avancés
Traduction simple en objet (Java)2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : concepts avancésenseignementCoursEleve-titre : string-module : string*assiste0..*annee : Date#elevescoursSuivi #travailler(h int) 	…	public associerCoursSuivi(unCours : Cours)	{   /* ecrire ici */	}	public nbCoursSuivi	 {		return coursSuivi.length ;	}	protected travailler(h :  int)		{		/* ecrire ici */	}	/* etc. */ }package enseignement ;public class Eleve {	private Date annee ; 	private Court coursSuivi[] ;	public Eleve() ;	public Date getAnnee()		{ return annee ; }	public void setAnnee(Date uneAnnee)		{ annee = uneAnnee ; }	…
2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : concepts avancésCREATE TABLE eleve (	eleve_id NUMBER (5) ,	annee DATE,	PRIMARY KEY (eleve_id)) ;CREATE TABLE cours (	eleve_id NUMBER (5)  REFERENCES eleve(eleve_id) ,      cours_id NUMBER (5) ,	titre CHAR (128) ,	module CHAR(48) ,	PRIMARY KEY (cours_id)) ;Remarque : traduction en relationnelelevecours1assiste0..*annee : date-titre : string-module : string#elevescours
Pro-ingénierie
générer le code à partir du modèle

CM uml-concepts-avances

  • 1.
    UML – UnifiedModelingLanguage4/4: concepts avancés Yannick PriéDépartement Informatique – Faculté des Sciences et TechnologiesUniversité Claude Bernard Lyon 12011-2012
  • 2.
    Objectifs de cecoursIntroduction à des concepts et des technologies plus avancés liés à UML, notamment au traitements automatiques des diagrammes pour générer des systèmes2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : concepts avancés
  • 3.
    PlanOutils UMLMétamodèle UMLObject constraint languageModel Driven DevelopmentConclusions sur UML2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : concepts avancés
  • 4.
    Deux types d’outilsUMLOutils de dessins améliorés
  • 5.
    intègrent les diagrammescomme simples formes
  • 6.
    incapable de traiterles diagrammes : pas de sémantique
  • 7.
    Outils UML utilisantla sémantique d’UML
  • 8.
  • 9.
  • 10.
  • 11.
    squelettes de classes/ contenus des méthodes (peu)
  • 12.
  • 13.
  • 14.
  • 15.
    de plus enplus intégrés / en compléments d’autres outils
  • 16.
    IDE, gestion deprojet, du risque, des besoins, de la qualité, des tests, du workflow, etc.2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : concepts avancés
  • 17.
    Modèles UML etcodeModèle avec
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
    Correspond à ducode dans un langage de programmation modèle dans un langage
  • 25.
    Java, C++, C#,python, etc.2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : concepts avancés
  • 26.
    Traduction simple enobjet (Java)2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : concepts avancésenseignementCoursEleve-titre : string-module : string*assiste0..*annee : Date#elevescoursSuivi #travailler(h int) … public associerCoursSuivi(unCours : Cours) { /* ecrire ici */ } public nbCoursSuivi { return coursSuivi.length ; } protected travailler(h : int) { /* ecrire ici */ } /* etc. */ }package enseignement ;public class Eleve { private Date annee ; private Court coursSuivi[] ; public Eleve() ; public Date getAnnee() { return annee ; } public void setAnnee(Date uneAnnee) { annee = uneAnnee ; } …
  • 27.
    2010-2011 / YannickPrié - Université Claude Bernard Lyon 1 | UML : concepts avancésCREATE TABLE eleve ( eleve_id NUMBER (5) , annee DATE, PRIMARY KEY (eleve_id)) ;CREATE TABLE cours ( eleve_id NUMBER (5) REFERENCES eleve(eleve_id) , cours_id NUMBER (5) , titre CHAR (128) , module CHAR(48) , PRIMARY KEY (cours_id)) ;Remarque : traduction en relationnelelevecours1assiste0..*annee : date-titre : string-module : string#elevescours
  • 28.
  • 29.
    générer le codeà partir du modèle