1. Suivre les cours…​

2. Au programme aujourd’hui

  • Retour sur les classes

  • Diagrammes de séquences

  • Modèle / Vue / Contrôleur

Diagramme de classe : subtilités

Liens entre classes

UMLSyntaxe

Liens entre classes

UMLSyntaxe2

Opérations, Paquetages et Java

Opérations

Un ensemble d’opérations définit le comportement de l’objet (ex : setVitesse(valeur)), c’est à dire son interface.

Exemple de classe avec opération

Opérations et objet

Génération de code

Voici quelques exemples de diagramme de classes et du code java associé.

Classe

Une classe

package Catalogue;
import java.util.Date;

public class Catalogue {
	private String nom;
	private Date dateCreation;

	public Catalogue() {
		...
	}

	public Livre chercherLivre(String isbn) {
		...
	}
}

Généralisation

Généralisation

Généralisation

public abstract class Personne {
	private String nom;
	private String prenom;
	protected Date dateNaissance;
	private static int ageMajorite = 18;
	public abstract int calculerDureePret() {... }
	public static void setAgeMajorite (int aMaj) {... }
}

public class Adherent extends Personne {
	private int iD;

	public Adherent() { ... }
	public int getAge() { ... }
	public int calculerDureePret() { ... }
}

Associations

Associations

public class A1 {
	private B1 leB1;
}
public class A2 {
	private B2 lesB2[ ];
}
public class A3 {
	private List lesB3 = new ArrayList();
}

Dépendance

Dépendance

package Bibliotheque;
import Catalogue;

public class Bibliotheque {
	private Catalogue leCatalogue;
	...
}

Equivalences entre diagrammes de classes

Equivalences

Classe Association

Classe Association

public class Emploi {
	private String titre
	private Double salaire;
	private Employe salarie;
	private Societe employeur;
	...
}

Back to UML

Le Diagramme de Séquence

Conception 'centralisée' Conception 'objet'

Généralités

  • Modélise les interactions entre objets

  • Séquencement dans le temps

  • Échange de messages

  • Spécifie les scénarios des cas d’études

  • Éléments :

    • participants

    • lignes de vie

    • barres d’activation

    • messages

    • blocs (loop, alt, opt, …​)

Généralités

Diagramme de séquence Eléments de notation

Les lignes de vie représentent des objets et non des classes

Exemple

Exemple de diagramme de séquence

Notions avancées

  • Instructions itératives et conditionnelles

  • Mieux vaut utiliser un diagramme d’activité

  • Cadres d’interaction

    • loop (boucle)

    • alt (alternative)

    • opt (optionel)

    • par (parallèle)

    • region (région critique - un seul thread à la fois)

Exemple

Un algorithme Sa modélisation

Exemple de conceptions

Conception 'centralisée'

Exemple de conceptions (suite)

Conception 'objet'

Diagramme de séquence système (DSS)

Bien que non présent dans UML, il est courant de trouver un diagramme de séquence particulier, le diagramme de séquence système ou DSS, où on ne représente qu’un seul objet : le système en cours de développement lui-même.

Exemple de DSS

Lien entre UC, DSS et DS

La décomposition hiérarchique permet de réaliser une description "TOP-DOWN" du système à réaliser.

On fait un Diagramme de Séquence Système pour chaque UC (issu du Diagramme d’UC) pour déterminer les échanges d’informations entre l’acteur et le système.

Ensuite on fait un Diagramme de Séquence (DS) pour décrire comment les objets composants le système (issus du Diagramme de Classes) collaborent pour réaliser le traitement demandé.

Exemple

Diagramme d’UC

Exemple

Le DSS correspondant

Exemple

Le DS correspondant

Modèle / Vue / Contrôleur

mvc exp1 ds
mvc exp1 ds mvc
mvc
mvc exp1 uc
mvc exp1 dss
mvc exp1 ds
mvc exp1 ds mvc
mvc dcp
mvc exp1 cd
mvc exp1 ds mvc
mvc exp1 vue
mvc exp1 ds mvc
mvc exp1 cc
mvc exp1 ds mvc
mvc zoo

Ready for a quizz?

tuxteacher

Ready for a quizz?

Warning
QUESTION
  • Connectez-vous sur : http://www.socrative.com/ (student login)

  • Ou téléchargez l’application pour étudiant socrative2

  • Choisissez la room 44918d67

socrative1