Plan du chapitre Diagramme de classes Les extensions syntaxiques

Slides:



Advertisements
Présentations similaires
CEO Commerciale Casablanca UCC1 POS Maarif UCM1 UCM2 POS Centre UCC1 Rabat UR1 POS AgdalPOS Ville UC1 AchatMarketing UM1 UM2 UC1 Direction UD1 Schéma Général.
Advertisements

1 Programmation Orientée Objet ● Qu'est-ce qu'un objet ● Collaboration des objets ● Les classes ● Relations entre les classes – “Utilise”, “Contient”,
Les profils du SEDA confection de profil avec Agape.
Plan Présentation de 2TUP 2TUP, un processus UP 2TUP et UML Les apports de 2TUP 2TUP en détail 2TUP dans la pratique.
DIAGRAMME DE DEPLOIEMENT Exposé de: MBALLA MEKONGO Michèle MBOUNA FEUZE William SIEYADJEU Alex Lionel CHOPGWE Leonard NDUMATE Landry TIDJON Lionel.
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE Université d’Adrar Diagramme d’états-transitions Présenté par Sbai Omar Benothman.
Concepts pour le contrôle de flux
Nouveautés Version 4.1 et mai 2017.
Support et Maintenance SIAN : MDEL partenaires
Google analytics.
Session 1 6 mars 2017 Plateforme ICONICS Justine Guégan
Modélisation Statique
Ecriture collaborative d’une dissertation en classe
Plateforme CountrySTAT Aperçu global de la préparation des tableaux dans la nouvelle plateforme CountrySTAT FORMATION DES POINTS FOCAUX SUR LE SYSTEME.
Les Bases de données Définition Architecture d’un SGBD
Lois fondamentales de l'algèbre de Boole
Algorithmique demander jeu du pendu.
MOT Éditeur de modèles de connaissances par objets typés
Initiation aux bases de données et à la programmation événementielle
Généralité sur les bases de données
JAVA et POO : Notion d'héritage
Réussir l'épreuve composée
Bddictionnairique Phase 1
Principes de programmation (suite)
Polymorphisme : règles
Techniques du Data Mining
Création d’un formulaire
Stabilité des porteurs horizontaux (Poutres)
Notion De Gestion De Bases De Données
Création Et Modification De La Structure De La Base De Données
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
Modélisation avec UML 2.0 Partie II Diagramme de classes.
DATA WEARHOUSE 1ère année LA: Technologies systèmes d’information
Gestion des fichiers Niv2
Programmation Orientée Objet
Rapport de laboratoire
Deuxième partie LE DOSSIER TECHNIQUE DU MARINGOUIN.
Formation sur les bases de données relationnelles.
Publipostage avec Word 2007
Développement d’applications interactives
CountrySTAT / FENIX Aperçu globale de la préparation des tableaux dans la nouvelle plateforme CountrySTAT FORMATION DES POINTS FOCAUX SUR LE SYSTEME.
Diagrammes UML 420-KE2-LG.
Chapitre 3 : Caractéristiques de tendance centrale
Document d'accompagnement
Diagramme d’activité.
L1 Technique informatique
5 Analyse avec Designer d'Oracle
Modélisation objet avec UML
Module 13 : Implémentation de la protection contre les sinistres
5 Introduction au modèle relationnel 5.1 Concepts de base
CountrySTAT / FENIX Aperçu globale des métadonnées dans la nouvelle plateforme CountrySTAT FORMATION DES POINTS FOCAUX SUR LE SYSTEME CountrySTAT/FENIX.
Langages de programmation TP11
03- Evaluation Access 2003 Cette évaluation comporte des QCM (1 seule réponse) et des Zones à déterminer dans des copies d’écran.
Windows 7 NTFS.
EPITECH 2009 UML EPITECH 2009
Un Mécanisme d‘Adaptation Guidé par le Contexte en Utilisant une Représentation par Objets Manuele Kirsch Pinheiro Laboratoire LSR – IMAG, Équipe SIGMA.
Bäz: Données relationnelles sécurisées
Logiciel de présentation
Elles contiennent des informations autre que géométriques
Formation « Utiliser un site Internet école »
Introduction générale -
INTERFACE ET POLYMORPHISME
Retour sur les interfaces
Exploitation de vos données
Modélisation des SI et de la connaissance
UC : Diagramme des cas d’utilisation Req : Diagramme d’exigence
MOT Éditeur de modèles de connaissances par objets typés
CE1 Module 4 Séance 1
Gestion des destinataires (recipients)
Séquence 1:Analyse du système d’information comptable
Transcription de la présentation:

Méthodologies de conception des systèmes (Chapitre4: Modélisation statique)

Plan du chapitre Diagramme de classes Les extensions syntaxiques Diagramme objet Diagramme de package

Diagrammes de classes Un diagramme de classe présente un ensemble de classes et d'interfaces avec leurs relations Il peut être utilisé en phase d’analyse et de conception Analyse: offrir une description préliminaire du structure des entités Le nom de quelques attributs et méthodes quand ceux-ci découlent naturellement du domaine modélisé Conception: offrir une description détaillée L’ensemble des classes utilitaires destinées à assurer le fonctionnement du logiciel Tous les attributs et méthodes doivent apparaître de façon détaillée, avec tous les types de paramètres et les types de retour

Classe Une classe est la description d'une collection d'objets qui partagent les mêmes attributs, les mêmes opérations, les mêmes relations et la même sémantique

Représentation graphique d'une classe Compartiment Classe Nom Stéréotype Compartiment Attribut Compartiment Opération Compartiment extra

Nommer une classe Chaque classe doit avoir un nom qui la distingue des autres classes (unicité du nom complet) Nom du package englobant + le nom de la classe En pratique les noms de classes sont des noms pris dans le vocabulaire du domaine Il est d'usage de capitaliser la première lettre de chaque mot Type ClientBanque java::awt::Rectangle

Packages Un package (paquetage) est un regroupement d'éléments (classes) Le regroupement peut être pour des raisons sémantiques, d'usage, de lieux, etc.

Visibilité d'une classe Classe publique (+) La classe est visible pour tous les éléments qui importent le package englobant la classe Classe privée (-) La classe n'est visible que pour les classes qui appartiennent au même package Classe protégée (#) La classe est visible pour les classes qui appartiennent au même package ET pour les classes contenues dans les packages enfant du package englobant

Multiplicité UML permet de préciser le nombre d'instances d'une classe Zéro instance : classe utilitaire (attribut et opération de classe) Une seule instance : classe singleton (ex: classe PDG) Un nombre spécifique Un nombre quelconque (défaut) Connexion internet 0..100 Base de données 1 Outils

Attribut Les attributs forment la description de la partie structurelle ou statique UML permet de représenter les attributs multivalués en précisant le nombre possible de valeurs pour un attribut

Visibilité d'un attribut Attribut public (+) L'attribut est visible pour toutes les classes du package englobant Attribut privé (-) L'attribut n'est visible que pour la classe elle-même Attribut protégé (#) L'attribut est visible pour toutes les sous-classes

Propriétés d'un attribut UML définit trois propriétés qui peuvent être utilisées avec les attributs Changeable Aucune restriction sur les modifications de la valeur de l'attribut Ajout Pour les attributs dont la multiplicité est supérieur à 1, des valeurs additionnels peuvent être ajoutées,mais ne peuvent ensuite être supprimées ou modifiées Gelé La valeur de l'attribut ne peut pas être changée après l'initialisation de l'objet

Syntaxe d'un attribut [visibilité] nom [multiplicité] [: type] [=valeur-défaut] [{propriété}] Exemples - origine + origine origine : Point prénom [1..3] : String origine : Point = {0,0} id : Entier {gelé}

Portée d'un attribut Attribut d'instance Attribut de classe Attribut dont la valeur peut varier pour chaque instance de la classe Attribut de classe Attribut propre à la classe dont la valeur est fixe pour toutes les instances de la classe

Associations (1/2) Par défaut une association est bidirectionnelle Navigation dans les deux sens UML permet de spécifier une limitation de la navigation La flèche indique que les instances d'une classe ne "connaissent" pas les instances d'une autre 0..n GroupeUsager Usager 0..n Usager MotDePasse propriétaire 1..1 0..n clé

Association (2/2) Association peut être aussi réflexive Personne Superviseur 1..1 1..n Supervise

Qualification UML permet de spécifier comment limiter le nombre d'objets en cas de navigation d'associations La connaissance de l'objet source et du qualificateur permet de limiter le nombre d'objets liés Compagnie Personne employeur 1..1 0..n employé 0..1 noEmployé

Agrégation vs. Composition

Classe d'association UML permet de modéliser les propriétés d'une association entre deux classes par une classe d'association 1..n employé Compagnie Personne employeur 0..n Emploi descriptif dateEmbauche salaire

Héritage L'héritage est le mécanisme qui basé sur la généralisation permet aux sous-classes d'hériter, c'est à dire d'avoir les mêmes attributs, opérations et associations que la superclasse

Classes particulières Une classe concrète est une classe qui peut avoir des instances Une classe abstraite est une classe qui n'a pas d'instances Une classe racine est une classe qui ne peut avoir de superclasse Une classe feuille est une classe qui ne peut avoir de sous-classes

Héritage multiple L’héritage multiple permet à une classe d'hériter de plusieurs classes

Opération Les opérations décrivent la partie comportementale ou dynamique

Visibilité d'une opération Opération publique (+) L'opération est visible pour toutes les classes du package englobant Opération privée (-) L'opération n'est visible que pour la classe elle-même Opération protégée (#) L'opération est visible pour toutes les sous-classes

Exemple de visibilité d’opérations Package ClasseA +créer #modifier -détruire -créer +lire -détruire ClasseB Package1 Package2 ClasseC -créer -détruire -créer +écrire -détruire ClasseD

Valeur de retour & paramètres Une opération peut retourner une valeur simple spécifiée par son type Une opération peut avoir des paramètres d'entrée et de sortie Tâche +lireDateDébut() : Date +lireNbHeures() : Entier Tâche +écrireDateDébut(dateDébut : Date) +écrireNbHeures(nbHeures : Entier)

Déclaration d'une opération [visibilité] nom [(liste-paramètres)][: type-retour] Liste-paramètres [direction] nom : type [=valeur-défaut],... Direction Entrée (paramètre d'entrée qui ne peut pas être modifié) Sortie (paramètre de sortie qui peut être modifié) Entrée-Sortie (paramètre d'entrée et de sortie qui peut être modifié)

Contraintes sur les associations (1/2) Une contrainte est une règle de gestion exprimée entre { } ou avec OCL Contrainte sur un attribut qui doit être positif Contrainte {frozen} précise que le nombre de roues d’un véhicule ne peut pas varier

Contraintes sur les associations (2/2) Contrainte {subset} précise que le président est également un membre du comité Contrainte {xor} (ou exclusif) précise que les employés de l’hôtel n’ont pas le droit de prendre une chambre dans ce même hôtel

Contraintes de spécialisation Quatre types de contraintes de spécialisation : disjointe ,non disjointe, complète ou non complète {Disjointe} : un objet ne peut appartenir qu’à une seule classe spécialisée Exemple : un salarié ne peut être que stagiaire ou titulaire et non pas les deux ensemble {Complète} : une contrainte complète précise qu’on ne peut pas rajouter une classe spécialisée à une classe générique ayant déjà une ou plusieurs classes spécialisée Salarié {Disjointe, non complète} Titulaire Stagiaire

Diagramme de classe

Construire un diagramme de classes Pour identifier les classes on peut s'appuyer sur les mots du domaine applicatif Réduire l'ensemble en fonction des critères suivants : Supprimer des synonymes Supprimer des classes non pertinentes Découvrir les associations exprimant l'interdépendance des classes Trouver les attributs des classes Trouver les opérations sur les classes, association ou attribut

Exemple (1/18) Cette étude de cas concerne un système simplifié de réservation de vols pour une agence de voyage Des compagnies aériennes proposent différents vols Un vol est ouvert à la réservation et refermé sur ordre de la compagnie Un client peut réserver un ou plusieurs vols, pour des passages différents Une réservation concerne un seul vol et un seul passager Une réservation peut être annulée ou confirmée Un vol a un aéroport de départ et un aéroport d’arrivée Un vol a un jour et une heure de départ et un jour et une heure d’arrivée Un vol peut comporter des escales dans des aéroports Une escale a une heure d’arrivée et une heure de départ Chaque aéroport dessert une ou plusieurs villes