Académique Documents
Professionnel Documents
Culture Documents
1. La modélisation statique
Les codes Java d’implémentation des concepts UML ne sont que des exemples. Il existe
quelques fois plusieurs implémentations possibles et équivalentes.
Classe
UML Java
public class Student { …
Classe concrète }
<<abstract>>
public abstract class People {
People
Classe abstraite …
}
Interface
Trois représentations sont possibles. Les deux premières sont à privilégier parce qu’elles
sont plus claires. La dernière peut être confondue avec une classe.
UML Java
Classe stéréotypée
Paquet
UML Java
example
École Nationale Supérieure d'Ingénieurs 6, Boulevard Maréchal Juin, F-14050 CAEN cedex
& Groupe de Laboratoires, C.N.R.S. http://www.ensicaen.fr
Correspondance UML Java ■ 2
package example1 ;
Importation import example2.*; package example2;
Attribut
UML Java
public final class Student {
private int _promotion;
Attribut privé private String _specialty;
…
}
<<abstract>>
<<abstract>> public abstract class People {
People
People private String _name;
private String _lastName;
Attribut protégé et --name
name: :String
String protected Date _birthDate;
attribut statique --lastName
lastName: :String
String private static int _majorityAge = 18;
##birthDate
birthDate::Date
Date …
--majorityAge
majorityAge: :int
int==18
18 }
Opération
2. Relation
Généralisation
UML Java
<<abstract>> public abstract class People {
People …
}
Héritage de classe
public final class Student extends People {
Student …
}
3 ■ Correspondance UML Java
Réalisation
UML Java
Association
UML Java
public final class A {
Association private B _b;
A -b B …
navigable de }
0..1
multiplicité 0..1 public final class B {
}
public final class A {
Association private B _b = new B();
A -b B …
navigable de }
multiplicité 1 public final class B {
}
Correspondance UML Java ■ 4
Dépendance
UML Java
public final class A {
…
public use( B b ) {
}
}
Lien de dépendance public final class B {
entre classes public void method() {
C c;
}
}
public final class C {
}
5 ■ Correspondance UML Java
Classe d’association
UML Java
public final class Student {
}
3. La modélisation dynamique
Séquences
UML Java
public final class A {
public void scenario() {
ENSICAEN - Spécialité Informatique
b.operationB1();
operationA1();
b.operationB2();
}
Diagramme de private void operationA1() { … }
séquences }
Communication
UML Java
public final class Library {
private Librarian _lib;
private Member _a123;
Diagramme de public void register( int idLib ) {
communication Member a = _a123.find(idLib);
_lib.SetMembers(a);
}
}
États-transitions
UML Java
public final class A {
Enum States {state1, state2, state3 }
private Enum States _state;
public void do( Event e) {
Diagramme états- switch (_state) {
case state1 : …
transitions case state2 : …
}
}
(Voir le cours de 2A sur le patron de conception État.)