Module B9-1 : sensibilisation à l UML



Documents pareils
Diagramme de classes

Université de Bangui. Modélisons en UML

3. UML - Unified Modeling Language Diagrammes statiques

Chapitre VI- La validation de la composition.

UML. Diagrammes de classes (suite) Delphine Longuet.

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

TP1 : Initiation à Java et Eclipse

OCL - Object Constraint Language

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

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

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

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

Programmer en JAVA. par Tama

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr

Technologie Web. Conception de sites Web. Alexandre Pauchet. INSA Rouen - Département ASI. INSA - ASI TechnoWeb : Rappels UML 1/21

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

UML (Diagramme de classes) Unified Modeling Language

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

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

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

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

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

as Architecture des Systèmes d Information

Programmation avec des objets : Cours 7. Menu du jour

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

UML et les Bases de Données

GOL502 Industries de services

Premiers Pas en Programmation Objet : les Classes et les Objets

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

Corrigés des premiers exercices sur les classes

IFT2255 : Génie logiciel

Table des matières Sources

Environnements de développement (intégrés)

Java c est quoi? Java pourquoi?

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

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

Développement Logiciel

Design patterns. Design patterns - définition. Design patterns - avantages

Diagrammes de Package, de déploiement et de composants UML

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

Cours 1: Java et les objets

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

4. Groupement d objets

Auto-évaluation Programmation en Java

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Java Licence Professionnelle CISII,

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

TD/TP PAC - Programmation n 3

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

Programmation Objet Java Correction

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

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

Facultés Universitaires Notre-Dame de la Paix. Conception et Programmation Orientées- Object

Traduction des Langages : Le Compilateur Micro Java

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

Les frameworks au coeur des applications web

TD/TP PAC - Programmation n 3

Chapitre 10. Les interfaces Comparable et Comparator 1

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

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

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

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.

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

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN

Alfstore workflow framework Spécification technique

La technologie Java Card TM

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Une introduction à Java

Initiation à JAVA et à la programmation objet.

Programmation en Java IUT GEII (MC-II1) 1

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Package Java.util Classe générique

Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5

ACTIVITÉ DE PROGRAMMATION

INITIATION AU LANGAGE JAVA

Bases Java - Eclipse / Netbeans

Cours 1 : La compilation

Plan Pédagogique du cours

Classe Interne, Anonyme & Enumération

Cours de Génie Logiciel

JAVA TD0. Prise en main du langage Environnement de base JAVA 1

Introduction au langage de programmation Java

Java 1.5 : principales nouveautés

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Programmation par composants (1/3) Programmation par composants (2/3)

Arbres binaires de recherche

[APPLICATON REPARTIE DE VENTE AUX ENCHERES]

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

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

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

F. Barthélemy. 17 mai 2005

Corrigé des exercices sur les références

Information utiles. webpage : Google+ : digiusto/

Programmation par les Objets en Java

Application web de gestion de comptes en banques

Chapitre I : le langage UML et le processus unifié

Par Laurent DESECHALLIERS. Mastère Spécialisé en Management de Projets en Milieu Industriel. CESI de Rouen Promotion 2002/2003.

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

Langage Java. Classe de première SI

Transcription:

Module B9-1 : sensibilisation à l UML Olivier Habart : habart.olivier@gmail.com ENSTA B9-1 UML (Olivier Habart) Septembre 14 Diapositive N 1 Session 2 : Vue statique Sommaire Diagramme de classes Diagrammes d objets Diagramme de paquetages ENSTA B9-1 UML Septembre 2014 Diapositive N 2

Qui? Analyste : modéliser le domaine Concepteur (d architecture), cf. session 5 : trouver les opérations à partir des interactions trouver les classes d analyse à partir du comportement des cas d utilisation décrire les attributs et relations des classes d analyse définir les classes qui implémentent les cas d utilisation Concepteur (d architecture détaillée), cf. session 5 : identifier les classes de persistance (carte flash, mémoire vive, fichier binaire, base de données) utiliser les modèles spécifiques de plate-forme utiliser les patterns de conception ENSTA B9-1 UML Septembre 2014 Diapositive N 3 Qui? Modélisation du domaine Besoins Cas d utilisation Entité 01 Entité 03 Entité 04 Modèle du domaine Entité 02 Entité 05 Pourquoi? : opérer une transition entre la modélisation fonctionnelle des besoins par cas d utilisation et la modélisation objet modéliser les concepts présents dans le domaine (métier) Quoi? : première version du diagramme de classe les classes ont pour stéréotype ENSTA B9-1 UML Septembre 2014 Diapositive N 4

1 : insérer la carte 2 : demander code 3 : entrer le code 4 : demander le montant Commander Un taxi Payer Guichet 01 : Guichet automatique de banque Commande [validée] «datastore» Facture Facture Facture [émise] 3.1 : demander autorisation 3.2 : autorisation (limitation) Rechercher un taxi Affecter un taxi Payer [taxi OK] Course «Actor» SA 01 : Système d autorisation «datastore» Collection de taxis Course Réaliser une course Qui? Modèle des classes participantes Entité 01 Modèle du domaine Entité 02 Entité 03 Entité 04 Entité 05 Cas d utilisation «contrôle» Contrôle 01 Entité 01 «dialog» Dialogue 01 «contrôle» Contrôle 02 Entité 02 Modèle des classes participantes Maquette d IHM Pourquoi?, assurer l indépendance entre l interface graphique, les utilisateurs et le modèle de domaine Quoi?, types de classes : Frontière : permettent les interactions entre utilisateurs et l IHM Contrôleur : implémentent la logique applicative (les fonctionnalités de l application) Entités : proviennent du modèle métier. Ces classes sont généralement persistantes (survivent à l exécution des cas d utilisation et sont stockées) ENSTA B9-1 UML Septembre 2014 Diapositive N 5 Qui? Modèle de conception Diagrammes d interaction Entité 01 Entité 02 Entité 01 Entité 02 «contrôle» Contrôle 01 «dialog» Dialogue 01 «contrôle» Contrôle 02 Modèle des classes participantes «contrôle» Contrôle 01 «dialog» Dialogue 01 «contrôle» Contrôle 02 Diagramme de classes de conception Diagramme d activités de navigation Définition du diagramme de classe de conception : prise en compte des choix techniques : langage de programmation, librairies utilisées (interface graphique), base de données, programmation, etc. ENSTA B9-1 UML Septembre 2014 Diapositive N 6

Qui? Conception de base de données, cf. session 5 : décrire le modèle logique de la base de données : décrire le modèle physique de la base de données : tables de référence, clés et contraintes d unicité, définir les procédures stockées et distribuer le comportement des classes Conception d interface graphique, cf. session 5 : identifier les éléments d interface décrire la carte de navigation ENSTA B9-1 UML Septembre 2014 Diapositive N 7 Concepts Classe Description formelle d un ensemble d objets ayant une sémantique et des caractéristiques communes Un objet est une instance d une classe Caractéristiques d une classe : attributs terminaisons d associations méthodes Types de classes : classe active : par défaut sauvegarde les données et offre des services aux autres une classe active initie et contrôle le flux d activités classe abstraite : définit au moins une méthode abstraite ou une classe parent contient une méthode abstraite non encore réalisée vouée à se spécialiser Parent : Classeur Symbole : Classe OU Classe active OU Classe abstraite ENSTA B9-1 UML Septembre 2014 Diapositive N 8

Concepts Classe (Implémentation) A A Java : public class A { Java : public abstract class A { ENSTA B9-1 UML Septembre 2014 Diapositive N 9 Concepts Type de données Permet de représenter un type de valeurs Exemple : définition de types de valeurs des langages de programmation (Date, String, HashTable, List, Array, etc.) Parent : Classeur Symbole : «datatype» Type de données Enumération : permet de définir une liste de valeurs prédéfinies parent : Type de données symbole : «enumeration» Enumération + prepaye = 1 + payementclient = 2 + payementpassager = 3 ENSTA B9-1 UML Septembre 2014 Diapositive N 10

Concepts Encapsulation Définit des niveaux de visibilité : public ou + : visible de tout élément qui accède à la classe protected ou # : seul un élément de la classe ou d une de ses descendante peut accéder à l élément private ou - : seul un élément de la classe peut accéder à l élément package ou rien : seul un élément du même package peut accéder à l élément Le niveau se situe sur chacune des caractéristiques de la classe : attributs terminaisons d association opération ENSTA B9-1 UML Septembre 2014 Diapositive N 11 Concepts Attribut Informations qu une classe ou un objet doivent connaître Syntaxe : visibilité nom : type [multiplicité] = valeur_initiale {contraintes Signification : visibilité : public, protected, private, package type : peut être un nom de classeur (classe, interface) ou un type de données prédéfini (Integer, String, Boolean, etc.) multiplicité : nombre de valeurs qu il peut contenir par défaut (exemples : [n], [n..*], etc.) contraintes : {ordered : les valeurs sont ordonnées {list : les valeurs ne sont pas ordonnées {readonly : l attribut ne peut pas être modifié Attribut de classe : valeur commune à chaque instance de la classe (static en Java ou en C++) souligné dans la classe Attribut dérivé : propriétés calculées à partir d autres valeurs syntaxe : «/nom» exemple : calcul de l attribut «durée» à partir des attributs «début» et «fin» ENSTA B9-1 UML Septembre 2014 Diapositive N 12

Concepts Opération / Méthode Opération : spécification (déclaration) d une méthode fonction qui peut prendre des valeurs en entrée, peut modifier des attributs et produire un résultat opération abstraite (en italique) : opération dont la méthode n est pas spécifiée opération statique (soulignée) : peut associer des pré et post-conditions Méthode : implémentation (définition) d une opération définit comment l opération se comporte, pas seulement ce qu elle fait Stéréotypes : «create», «destroy» Syntaxe de l opération : visibilité nom (paramètres) : type-retour {propriétés Syntaxe des paramètres : direction nom : type [cardinalité] = valeur-défaut cardinalité : none, *, 0..1, 1, 1..* direction : in : le paramètre est envoyé par l appelant in out : le paramètre est envoyé puis retourné à l appelant out : le paramètre est passé à l appelant return : la paramètre est renvoyé à l appelant ENSTA B9-1 UML Septembre 2014 Diapositive N 13 Concepts Attributs (exemples) Attribut dérivé Attribut de classe Course - datedebut : Date = now() - datefin : Date /durée : int {R1 : durée = datefin datedebut - optionbagage : boolean - passager : String [1..3] - kilometrage : int - modepaiement : TypePayement {ReadOnly - rationtempskilométrage : double Valeur initiale Contrainte définie {R1 Cardinalité Uniquement accessible en lecture ENSTA B9-1 UML Septembre 2014 Diapositive N 14

Concepts Attribut, Opérations (implémentation) A + a1 : String a2 : String # a3 : String - a4 : String + op1() + op2() Java : public class A { public String a1; package String a2; protected String a3; private String a4; public void op1(){ public void op2(){ ENSTA B9-1 UML Septembre 2014 Diapositive N 15 Exercice Propriétés d une classe Exercice 1 : représenter les propriétés d une classe ENSTA B9-1 UML Septembre 2014 Diapositive N 16

Concepts Association Pourquoi? : représenter les mécanismes de communication entre objets Quoi? : association réflexive : association qui lie une classe à elle même parent : Relation symbole : x..y Classe 1 Classe 2 rôle 1 {contraintes nom de l association signification : terminaison d association : référence selon laquelle un objet voit l autre à travers la relation multiplicité : 1, 0..1, 0..*, n..m navigabilité : sens selon lequel il est possible de traverser l association à défaut d indications, une association est navigable contraintes : {xor, {subsets, {refine, {union, {ordered, {nonunique, {sequence, {readonly (remplaçant de {frozen depuis UML 2.0) rôle 2 x..y {contraintes ENSTA B9-1 UML Septembre 2014 Diapositive N 17 Concepts Association (contraintes) Le titulaire d un compte est soit une personne, soit une entreprise La terminaison d association capitale est une sous collection de la terminaison villes Pays 1..* 1..* villes Ville nom langue monnaie 1 {refine 1 nom population surface La terminaison d association capitale raffine la terminaison d association villes capitale Capitale ENSTA B9-1 UML Septembre 2014 Diapositive N 18

Concepts Association (navigabilité) Personne employés employeur Entreprise Une entreprise connait ses employés Un employé connait son entreprise Commande ligne produit Produit Navigabilité : un produit ne stocke pas les commandes Personne Personne employeur : Entreprise employés employeur Entreprise Entreprise employés : Personne La seconde représentation est une manière de représenter l implémentation de l association en langage objet ENSTA B9-1 UML Septembre 2014 Diapositive N 19 Concepts Association (navigabilité) une navigabilité unidirectionnelle engendre une dépendance entre les paquetages une navigabilité bidirectionnelle engendre deux dépendances entre les paquetages ENSTA B9-1 UML Septembre 2014 Diapositive N 20

Concepts Classe-association Pourquoi? : ajouter des attributs à une relation Quoi? : ajoute une contrainte : il ne peut y avoir qu une seule instance pour un lien entre deux objets parents : Classe et Association symbole : Société gérant Action quantités prix d achat prix courant détenteur Personne ENSTA B9-1 UML Septembre 2014 Diapositive N 21 * * Concepts Classe association (exemples) Élève * * Enseignant Cours durée Un enseignant ne peut dispenser qu au plus un cours à un même élève Élève 1 * * Cours 1 Enseignant durée Un enseignant peut dispenser plus d un cours à un même élève ENSTA B9-1 UML Septembre 2014 Diapositive N 22

Concepts Association n-aire Pourquoi? : association qui relie plusieurs classes Quoi? : symbole : Société 1 Action * 1 Personne correspondance : Société 1 * * Action 1 Personne Bonne pratique : association difficiles à déchiffrer qui peuvent induire en erreur. Il est préférable d en limiter l utilisation ENSTA B9-1 UML Septembre 2014 Diapositive N 23 Concepts Association qualifiée Pourquoi? : restreindre la portée de l association à quelques éléments ciblés (qualificatif) de la classe Quoi? : symbole : Banque compte * 0..2 Personne Attribut qualificateur Nombre d objets trouvés par l attribut qualificateur Un compte dans une banque appartient à au plus deux personnes Une personne peut posséder plusieurs comptes dans plusieurs banques ENSTA B9-1 UML Septembre 2014 Diapositive N 24

Concepts Association qualifiée (implémentation) Banque compte * 0..2 Personne Java (association qualifiée) : public class Banque { public Personne getpersonne(compte uncompte) ; public void ajouterpersonne(compte uncompte, Personne une personne) ; OU Utilisation d une table de hachage (HashMap) ENSTA B9-1 UML Septembre 2014 Diapositive N 25 Concepts Agrégation & Composition Agrégation : parent : Association une classe peut être agrégée dans plusieurs classes la destruction de l objet d agrégation n implique pas la suppression des éléments regroupés symbole : Classe 0..* 0..* Classe agrégée Composition : parent : Association une classe ne peut composer qu une seule classe la destruction de l objet composite implique la destruction de ces composants symbole : Classe 0..1 0..* Classe composée ENSTA B9-1 UML Septembre 2014 Diapositive N 26

Concepts Association (implémentation) A 1 1 rb B Java (association uni-directionnelle, 1 vers 1) : public class A { private B rb; public void add( B b ) { if(b!= null) { this.rb = rb ; public class B { //La classe B ne connaît pas l existence de la classe A ENSTA B9-1 UML Septembre 2014 Diapositive N 27 Concepts Association (implémentation) A 1 ra 1 rb B Java (association bi-directionnelle, 1 vers 1): public class A { private B rb; public void add( B b ) { if(b!= null) { if( b.geta()!= null ) { // b déjà connecté b.geta().setb(null) ; //déconnecte this.setb( b ) ; b.seta( this ) ; public B getb() { return(rb) ;) public void setb( B b) { this.rb = rb ; ENSTA B9-1 UML Septembre 2014 Diapositive N 28

Concepts Association (implémentation) A 1 ra * rb B Java (association bi-directionnelle, 1 vers *): public class A { private ArrayList <B> rb; public A() { rb = new ArrayList <B>() ; public ArrayList <B> getarray() { return(rb) ; public void remove(b b) { rb.remove(b) ; public void addb( B b ) { if(!rb.contains(b) ) { // b déjà présent if( b.geta()!= null) b.geta().remove(b) ; b.seta(this) ; rb.add(b) ; ENSTA B9-1 UML Septembre 2014 Diapositive N 29 Concepts Héritage Pourquoi? : transmettre les propriétés et le comportement d une classe à une autre éviter la duplication encourager la réutilisation Quoi? : parent : Relation dirigée décrit une relation entre une classe générale (classe de base ou parent) et une classe spécialisée (sous-classe) une classe spécialisée : possède toutes les caractéristiques de la classe parent (attributs, opérations, association) ainsi que des caractéristiques supplémentaires ne peut pas accéder aux caractéristiques privées de la classe parent symbole : Classe parent Classe spécialisée ENSTA B9-1 UML Septembre 2014 Diapositive N 30

Concepts Héritage (polymorphisme) Classe parent Opération() Classe spécialisée 1 Opération() Classe spécialisée 2 Opération() Les classes «Classe spécialisée 1» et «Classe spécialisée 2» ont une méthode différente pour la mêmeopération «Opération()» ENSTA B9-1 UML Septembre 2014 Diapositive N 31 Concepts Héritage (implémentation) A B Java : public class A { public class B extends A { ENSTA B9-1 UML Septembre 2014 Diapositive N 32

Concepts Dépendance Pourquoi? : représenter les relations d analyse d impact Quoi? : Parent : Relation dirigée relation unidirectionnelle exprimant la dépendance sémantique entre éléments du modèle indique que la modification de la cible peut impliquer une modification de la source symbole : Client Fournisseur ENSTA B9-1 UML Septembre 2014 Diapositive N 33 Exercice Exercice 2 : représenter les relations entre les classes Exercice 3 : traduire le code java en diagramme de classe Exercice 4 : élaborer un diagramme de classes complet ENSTA B9-1 UML Septembre 2014 Diapositive N 34

Synthèse des concepts manipulés : Internes Opération paramètres precondition / corps / postcondition Contrainte Classe Parametre Interface Type source / destination Attribut Généralisation, Dépendance Dépendance : «use», «abstraction», «substitute», «realize» Propriété Terminaison d association Qualifieur Objet principal Lien source / destination Association ENSTA B9-1 UML Septembre 2014 Diapositive N 35 Synthèse des concepts manipulés : Externes ENSTA B9-1 UML Septembre 2014 Diapositive N 36

Session 2 : Diagrammes de classes Aide mémoire ENSTA B9-1 UML Septembre 2014 Diapositive N 37 Session 2 : Vue statique Sommaire Diagramme de classes Diagrammes d objets Diagramme de paquetages ENSTA B9-1 UML Septembre 2014 Diapositive N 38

Session 2 : Diagramme d objets Pourquoi? Pourquoi? : vérifier l adéquation d un diagramme de classe à différents cas possibles décrire l image d un système à un instant donné Quoi? : présente des objets (instances de classes) et leurs liens (instances de relations) ENSTA B9-1 UML Septembre 2014 Diapositive N 39 Session 2 : Diagramme d objets Concepts Objet : instance de classe symbole : Objet : Classe Lien : instance d une association symbole : rôle 1 nom du lien rôle 2 Objet 1 : Classe 1 Objet 2 : Classe 2 ENSTA B9-1 UML Septembre 2014 Diapositive N 40

Session 2 : Diagramme d objets Exemples kilométrage théorique = 20000 REV 01 : Révision kilométrage réel = 20869 45 TRT 78 : Véhicule kilométrage théorique = 40000 REV 02 : Révision kilométrage réel = 41784 kilométrage théorique = 60000 REV 03 : Révision kilométrage réel = 60045 ENSTA B9-1 UML Septembre 2014 Diapositive N 41 Session 2 : Diagramme d objets Exercices Exercice 5 : instancier un diagramme de classe Exercice 6 : traduire une classe-association en association binaire ENSTA B9-1 UML Septembre 2014 Diapositive N 42

Session 2 : Diagramme d objets Synthèse des concepts manipulés ENSTA B9-1 UML Septembre 2014 Diapositive N 43 Session 2 : Vue statique Sommaire Diagramme de classes Diagrammes d objets Diagramme de paquetages ENSTA B9-1 UML Septembre 2014 Diapositive N 44

Session 2 : Diagramme de paquetage Concepts généraux Paquetage Pourquoi? : organiser les éléments qui présentent une caractéristique commune Quoi? : peut regrouper tout type d élément de modèle : classes, cas d utilisation, interfaces, etc. symbole : ENSTA B9-1 UML Septembre 2014 Diapositive N 45 Session 2 : Diagramme de paquetage Concepts Import d élément Pourquoi? : référencer des éléments d un autre paquetage Quoi? : Parent : Relation dirigée import : Si la visibilité du paquetage importé est publique accès : Si la visibilité du paquetage importé est privée Facturation «import» Données métier Clientèle Clients fréquents Les classe du paquetage «Facturation» accèdent à la classe «Clients fréquents» par l espace de nom «Clients fréquents» Facturation «access» Données métier Clientèle Clients fréquents Les classe du paquetage «Facturation» accèdent à la classe «Clients fréquents» par l espace de nom «Données métier::clientèle::clients fréquents» ENSTA B9-1 UML Septembre 2014 Diapositive N 46

Session 2 : Diagramme de paquetage Concepts Fusion de paquetage Pourquoi? : fusionner les éléments de deux paquetages Quoi? : parent : Relation dirigée symbole : Paquetage 1 «fusion» Paquetage 2 ENSTA B9-1 UML Septembre 2014 Diapositive N 47 Session 2 : Diagramme de paquetage Exemple organisation des classes d un système de réservation de taxi ENSTA B9-1 UML Septembre 2014 Diapositive N 48

Session 2 : Diagramme de paquetage Facteurs de regroupement Critères fonctionnels : cohérence fonctionnelle Critères d interface (réduire les interactions, éviter les couplages, simplifier ou diminuer le nombre de liens, etc.) Critères de ressources (mettre ensemble les éléments qui utilisent les mêmes ressources, etc.) Critères de contraintes : réutilisation standards et règlementations (ex : les systèmes à sûreté critique définissent des zones devant être isolées du système (DO-178B), etc.) responsabilité des acteurs jalons (dans le cas d un développement incrémental, les éléments qui seront traités à des jalons différents doivent être dissociés) ENSTA B9-1 UML Septembre 2014 Diapositive N 49 Session 2 : Diagramme de paquetage Synthèse des concepts manipulés ENSTA B9-1 UML Septembre 2014 Diapositive N 50

Session 2 : Diagrammes d objets Aide mémoire ENSTA B9-1 UML Septembre 2014 Diapositive N 51 Session 2 : Diagrammes statiques Aide mémoire ENSTA B9-1 UML Septembre 2014 Diapositive N 52