0% ont trouvé ce document utile (0 vote)
25 vues5 pages

Uml Vers Javaa

Le document présente une correspondance entre les concepts UML et leur implémentation en Java, en détaillant la modélisation statique, les relations, l'agrégation, la composition et la dépendance. Il fournit des exemples concrets de classes, attributs, opérations et associations en Java, illustrant les différentes représentations possibles. Enfin, il aborde la notion de classe d'association et son abstraction hypostatique.

Transféré par

Emma
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
25 vues5 pages

Uml Vers Javaa

Le document présente une correspondance entre les concepts UML et leur implémentation en Java, en détaillant la modélisation statique, les relations, l'agrégation, la composition et la dépendance. Il fournit des exemples concrets de classes, attributs, opérations et associations en Java, illustrant les différentes représentations possibles. Enfin, il aborde la notion de classe d'association et son abstraction hypostatique.

Transféré par

Emma
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

ISET BEJA POA 2023-2024

Correspondance UML Java


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 final class Student {
Classe concrète …
}

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

public interface ICollection {


Icône public void sort();
}
ICollection

Classe avec 2 ICollection


compartiments + sort()

Paquet
UML Java
example

Paquet ou package example;

package example1 ;
Importation import example2.*;
package example2;

DR. BALKIS BETTOUMI 2


Attribut
UML Java
public final class Student {
private int _promotion;
Attribut privé private String _specialty;

}

<<abstract>> public abstract class People {


People private String _name;
private String _lastName;
Attribut protégé et - name : String protected Date _birthDate;
attribut statique - lastName : String private static int _majorityAge = 18;
# birthDate : Date

- majorityAge : int = 18
}

Opération
UML Java
public final class Student {
private int _promotion;
Opération avec private String _specialty;
valeur de retour et public int getRank( int scale ) {

paramètre }
}
public abstract class People {
<<abstract>> private String _name;
People private String _lastName;
protected Date _birthDate;
- name : String private static int _majorityAge;
- lastName : String
Opération statique, # birthDate : Date public abstract void laught();
Opération abstraite - majorityAge : int public static void setMajority( Date date ) {

+ <<abstract>>laught() }
public int getAge() {
+ setMajoity(age : Date)

+ getAge() : int }
}

2. Relation

Généralisation
UML Java
public abstract class People {
People …
}
Héritage de classe
public final class Student extends People {
Student …
}

DR. BALKIS BETTOUMI 3


public interface Sortable {
public void isGreaterThan( Sortable o );
}
Héritage d'interface
public interface Ordonable extends Sortable {
public int getRank();
}

Réalisation
UML Java

public interface Ordonable {


public int getRank();
}

public final class Student implements Ordonable {


Réalisation d'une private int _promotion;
interface private String _specialty;
Ordonable public int getRank() {

}
}
Student
- promotion: int
- specialty : String
+ getRank(): int

public interface Imprimable {


public void print();
}
public interface Ordonable {
public int getRank();
}
class Student implements Ordonable, Imprimable {
Réalisation de private int _promotion;
private String _specialty;
plusieurs interfaces
public int getRank() {

}
public void print() {

}
}

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 {
}

DR. BALKIS BETTOUMI 4


Association avec public final class A {
A -bs B private B[] _bs = new B[10];
une multiplicité …
10
fixée }
Association avec public final class A {
A -bs B private List<B> _bs = new ArrayList<B>();
une multiplicité …
*
quelconque }
public final class A {
private Set<B> _bs = new TreeSet<B>();

Association multiple A -bs B
}
ordonnée {ordered} * public final class B implements Comparable<B> {
int compareTo( B b ) { }
}
public final class A {
A -bs B private Map<B> _bs = new HashMap<B>();
Association qualifiée …
*
}
public final class A {
Association sans private B _b;
A B }
navigabilité public final class B {
(bidirectionnelle) private A _a;
}

Association public final class People {


private List<People> _employees;
réflexive private People _employer;
(bidirectionnelle) }

Agrégation et composition
UML Java
Voiture -pneus Pneu public final class Voiture {
Agrégation private List<Pneu> _pneus = new ArrayList<Pneu>();
* }
public final class Voiture {
private final Chassis _chassis;
private Voiture() {
_chassis = new Chassis();
Composition }

}
public final class Chassis {
Voiture -chassis Chassis }
public final class Voiture {
private final Chassis _chassis;
private Voiture() {
_chassis = new Chassis();
Composition comme }
une classe interne class Chassis {
}

}

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 {
}

DR. BALKIS BETTOUMI 5


Classe d’association
UML Java
public final class Student {
}

public final class Professor {


Association promue }
au rang de classe. public final class Teach {
(abstraction private String _course;
private int _year;
hypostatique)
private Professor _professor;
private Student _student;

}

DR. BALKIS BETTOUMI 6

Vous aimerez peut-être aussi