© Robert Godin. Tous droits réservés.

Slides:



Advertisements
Présentations similaires
2 Processus de conception de BD
Advertisements

(UML) Unified Modeling Language
UML : DIAGRAMME DE CLASSES
EJB 2 et spécialisation Présentation. Spécialisation La spécialisation Concept objet implémenté dans les langages dits orientés objet. Très souvent accompagné.
UML EPITECH 2009 UML1 - Introduction UML – Définition – Historique – UML en entreprise – Couverture Concepts – Objet – Classe –
UML Jean-Marc Vanel Septembre UML en Plan ● Introduction: historique, diagrammes, modèles, notions Orientées Objet, processus de développement.
Les systèmes d'information 1- Une pratique quotidienne 2- Les données 3- Approche conceptuelle 4- Notion de serveur 5- Conception d'un système d'information.
1- Introduction 2ème partie Modèle Conceptuel des Données 2- Entités- Associations 4- Associations plurielles 3- Cardinalités 5- Associations réflexives.
Développement à l'Aide de Langages Dynamiques : Smalltalk module IT308: Méthodologies et outils logiciels Nada Ayad, Damien Cassou et Annabelle Souc.
1- Régles de normalisation 2ème partie : normalisation Modèle Conceptuel des Données 2- Les Formes Normales 3- Dépendances Fonctionnelles 4- Recap - Méthodologie.
Initiation à la conception des systèmes d'informations. Cours N°4 : Modèle Logique de Données (MLD) Initiation à la conception des systèmes d'informations.
1- Introduction Sommaire Modèle Logique des Données 2- Structure 3- Traduction du MCD en MLD 4- Recap - Méthodologie.
UML2 : Panorama de la notation Laurent Henocque Enseignant Chercheur ESIL/INFO France
WIKITTY Base de données orientée documents et API de persistance pour Java.
Classes, objets, séquences, communication, états
Système d’aide à la décision Business Intelligence
Les Bases de données Définition Architecture d’un SGBD
Cours Initiation aux Bases De Données
Initiation à la conception des systèmes d'informations
Modèle objet : les classes
java : l'héritage (rappel)
Environnement de développement des BD
Ch.1 : Modélisation des systèmes par SysML
Initiation aux bases de données et à la programmation événementielle
Pas de variable globale
Les notions de classe et d'objet
Modélisation Statique
Gestion de projet: Quelques notions clés
Formations CEFORA Alain Wafflard
AUDIT DE GESTION DE LA CONNAISSANCE
Profils d’emplois JT du 24 septembre 2001
Les bases de données et le modèle relationnel
GOBO Ne pas partir de zéro
Eléments Fondamentaux de Description de Scènes dans un Modeleur Déclaratif Ghassan KWAITER IRIT - UPS Toulouse - FRANCE.
Cyber-Sphinx Séance 2.
Langages de programmation TP10
Les apports du cours Des concepts Des outils à mettre en œuvre Savoir
Diagramme de classe UML et C++
Introduction BD TABLES ET DONNÉES champs OU données, types de données
Programmation en C++ C++ de base
Structure D’une Base De Données Relationnelle
Modélisation avec UML 2.0 Partie II Diagramme de classes.
Plan du chapitre Diagramme de classes Les extensions syntaxiques
Vuibert Systèmes d’information et management des organisations 6 e édition R. Reix – B. Fallery – M. Kalika – F. Rowe Chapitre 1 : La notion de système.
Nom de l’entreprise candidate Nom du projet BOURSE CHARLES FOIX édition 2016 JJ/MM/AA 16/09/2018 Tous droits réservés - © Silver Valley 2016.
© Robert Godin. Tous droits réservés.
Développement d’applications interactives
Modèles de représentation des systèmes d’information
À l’origine de la réglementation CLP 2003: Le GHS (Global Harmonized System) le système général harmonisé de classification et de l’étiquetage des produits.
Introduction en systèmes d’information et bases de données B.Shishedjiev -Introduction en BD 1.
I Copyright © 2004, Oracle. Tous droits réservés. Introduction.
Diagrammes UML 420-KE2-LG.
© Robert Godin. Tous droits réservés.
Modélisation Orientée Objet / UML
Tout retard conduira à une note de zéro.
5 Analyse avec Designer d'Oracle
© Robert Godin. Tous droits réservés.
1. LE LANGAGE SQL DDL Version 2 - Janvier Le langage SQL-DDL
Les classes et les objets
Les cas d’utilisation 420-KE2-LG.
5 Introduction au modèle relationnel 5.1 Concepts de base
Paradigme Orienté Objet
PRESENTATION ACCESS Editeur : Microsoft Environnement Windows (SE)
TP1 - DBMAIN BFSH Lausanne - Switzerland - Tel Université de Lausanne.
© Robert Godin. Tous droits réservés.
© Robert Godin. Tous droits réservés.
1. LE LANGAGE SQL DDL Version 1 - Mai 2009 corrigé le 11/2/2011
MASTER 1ère année AIGEME Cours de Bases de données
DONNÉE DE BASE QM Manuel de formation. Agenda 2  Introduction  Objectif de la formation  Données de base QM: Caractéristique de contrôle Catalogue.
Transcription de la présentation:

© Robert Godin. Tous droits réservés. 4 Analyse Quoi développer ? Spécification indépendante de la technologie Cas d'utilisation détaillés Modèle conceptuel concepts du domaine d ’application 19/09/2018 © Robert Godin. Tous droits réservés.

4.1 Cas d'utilisation détaillés 19/09/2018 © Robert Godin. Tous droits réservés.

Séquence d ’interaction GérerPrêts 19/09/2018 © Robert Godin. Tous droits réservés.

4.1.1 Paquetages (« Packages ») 19/09/2018 © Robert Godin. Tous droits réservés.

PackageCasServicePrêt 19/09/2018 © Robert Godin. Tous droits réservés.

PackageCasAdministration 19/09/2018 © Robert Godin. Tous droits réservés.

PackageCasAutorisation 19/09/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 4.2 Modèle conceptuel Concepts fondamentaux du domaine d'application visé par le système Approche traditionnelle modèle de données modèle de traitement Approche objet regroupement données/traitements commencer par données Point de départ de la conception BD concepts => données persistantes 19/09/2018 © Robert Godin. Tous droits réservés.

Représentation du modèle conceptuel Formalisme entité/association (Chen, 76) diverses extensions Modèles sémantiques graphes conceptuels (Sowa), SDM, ... UML ~ entité/association++ diagramme de structure statique (diagrammes de classes) 19/09/2018 © Robert Godin. Tous droits réservés.

4.3 Modèle conceptuel objet avec les diagrammes de classes UML 19/09/2018 © Robert Godin. Tous droits réservés.

4.3.1 Notion d'objet et de classe Objet (instance d'une classe) significatif pour le domaine d'application caractérisé par identité état comportement Attribut (variable membre, variable d'instance) contenant pour une valeur 19/09/2018 © Robert Godin. Tous droits réservés.

Représentation d ’un objet en UML 19/09/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. Classe Abstraction Caractéristiques communes à un ensemble d'objets attributs associations opérations 19/09/2018 © Robert Godin. Tous droits réservés.

Représentation d ’une classe en UML 19/09/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. Intention (intent) d'une classe propriétés communes (attributs, associations et opérations) Extension (extent) d'une classe ensemble des objets correspondant à la classe extension représentée par un objet ? 19/09/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. Terminologie Objet instance, occurrence, entité Classe à l ’analyse abstraction pas toujours une classe d ’implémentation concept, entité, type (stéréotype UML) stéréotype « entité » pour données persistantes du domaine d ’application 19/09/2018 © Robert Godin. Tous droits réservés.

Identifiant d'objet (OID, object identifier) Mécanisme d ’identification pas deux objets avec le même OID Implicite non visible réalisation traitée à la conception Mécanisme de référence 19/09/2018 © Robert Godin. Tous droits réservés.

Pas besoin d ’identificateur explicite ! Par opposition au relationnel 19/09/2018 © Robert Godin. Tous droits réservés.

Identifiant naturel (ou clé «key») pour une classe Ensemble d'attributs minimal qui identifie chacun des objets de manière unique ~clé candidate du relationnel Représentation par une contrainte UML 19/09/2018 © Robert Godin. Tous droits réservés.

Syntaxe générale pour la spécification des attributs en UML [visibilité] nom [multiplicité] [: type] [= valeurInitiale] [{propriétés} visibilité peut être : + publique # protégé - privé nom de l'attribut multiplicité ( [1..1] par défaut) téléphone[1..2]: String adresse [0..1]: String auteurs [1..*]: String 19/09/2018 © Robert Godin. Tous droits réservés.

Syntaxe pour attributs (suite) [visibilité] nom [multiplicité] [: type] [= valeurInitiale] [{propriétés}] type OCL Boolean, Integer, Real, String, enum{valeur1,…, valeurn} types de la plate-forme visée type non pré-défini classe stéréotypée «datatype» ~domaine en modélisation conceptuelle 19/09/2018 © Robert Godin. Tous droits réservés.

Syntaxe pour attributs (suite) [visibilité] nom [multiplicité] [: type] [= valeurInitiale] [{propriétés}] valeurInitiale à la création de l ’objet propriétés prédéfinies : changeable (par défaut) addOnly frozen portée souligner attribut de classe (Rational Rose 98 :$) 19/09/2018 © Robert Godin. Tous droits réservés.

4.3.2 Notion de lien et d'association binaire 19/09/2018 © Robert Godin. Tous droits réservés.

Rôles et multiplicités Nom de rôle Exemple avec nom de rôle et d ’association 19/09/2018 © Robert Godin. Tous droits réservés.

Association réflexive 19/09/2018 © Robert Godin. Tous droits réservés.

Contraintes pré-définies pour les associations Ordonné (ordered) Modifiable (changeable) InsertionSeulement (addOnly) Fixe (frozen) Exclusives entre deux associations 19/09/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 4.3.3 Agrégation Cas particulier d ’association 19/09/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. Composition 19/09/2018 © Robert Godin. Tous droits réservés.

4.3.4 Associations qualifiées Partition des objets associés Contrainte d ’identification locale {UNIQUE : Cours, numéro, session} 19/09/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 4.3.5 Classes associatives Données spécifiques à l ’association Incorrect si plusieurs notes pour un Etudiant et un Cours 19/09/2018 © Robert Godin. Tous droits réservés.

Réification de l ’association Plusieurs notes pour un Etudiant et un Cours 19/09/2018 © Robert Godin. Tous droits réservés.

Autre solution : classe associative + agrégation 19/09/2018 © Robert Godin. Tous droits réservés.

Solution avec classe Groupe Créer un objet session ? 19/09/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 4.3.6 Associations n-aires Lien ternaire Association ternaire 19/09/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. Exemple de données 19/09/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. Attention ! Modèle non équivalent : 19/09/2018 © Robert Godin. Tous droits réservés.

Explication de la non équivalence Myriam Bédard figure au “ Patin 5000m ” à Nagano ? 19/09/2018 © Robert Godin. Tous droits réservés.

Utilisation incorrecte d ’une association ternaire 19/09/2018 © Robert Godin. Tous droits réservés.

Exemple de multiplicité maximale 1 19/09/2018 © Robert Godin. Tous droits réservés.

4.3.6.1 Réification d ’une association n-aire Nécessaire si les associations n-aires ne sont pas supportées ! 19/09/2018 © Robert Godin. Tous droits réservés.

4.3.7 La généralisation/ spécialisation Propriétés communes : classe plus générale Héritage 19/09/2018 © Robert Godin. Tous droits réservés.

Notation multi-segments 19/09/2018 © Robert Godin. Tous droits réservés.

Utilisation de la délégation ? 19/09/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. Cas de SyLeRat Discriminant 19/09/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 4.3.7.1 Redéfinition Eviter de changer la sémantique ! (contravariance des opérations, invariance des attributs ?) 19/09/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 4.3.7.2 Héritage multiple 19/09/2018 © Robert Godin. Tous droits réservés.

4.3.7.3 Contraintes pré-définies pour la généralisation Complète /incomplète Disjointe/chevauchante Italique pour nom de classe abstraite 19/09/2018 © Robert Godin. Tous droits réservés.

Notation alternative par une note UML 19/09/2018 © Robert Godin. Tous droits réservés.

4.3.7.4 Multi-classification et héritage multiple 19/09/2018 © Robert Godin. Tous droits réservés.

Sous-classes de jointure? 19/09/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 4.3.7.5 Attribut de classe Souligner l ’attribut (UML 1.1) 19/09/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 4.3.8 Opérations Signature d'une opération nom et type des paramètres 19/09/2018 © Robert Godin. Tous droits réservés.

Syntaxe générale pour la spécification des opérations en UML [«stéréotype»][visibilité] nom [(listeParamètres)] [: typeRetour] [{propriétés}] visibilité peut être : + publique # protégé - privé nom de l ’opération listeParamètres syntaxe d ’un paramètre [direction] nomParamètre : typeParamètre [ = valeurDeDéfaut] direction (in, out ou inout) 19/09/2018 © Robert Godin. Tous droits réservés.

Syntaxe pour opérations (suite) [«stéréotype»][visibilité] nom [(listeParamètres)] [: typeRetour] [{propriétés}] typeRetour optionnel portée souligner opération de classe (Rational Rose 98 : $) abstraite en italique 19/09/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. Interface Opérations publiques visibles Définition d ’une interface de classe classe stéréotypée 19/09/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. Définitions Méthode une implémentation d'une opération Polymorphisme même signature d'opération méthodes distinctes pour des classes distinctes Surcharge (« overloading ») même nom avec signatures différentes 19/09/2018 © Robert Godin. Tous droits réservés.

Catégories d ’opérations Constructeur Modifieur Lecteur ... 19/09/2018 © Robert Godin. Tous droits réservés.

4.3.9 Spécification de contraintes Entre { } A proximité de l ’élément concerné après spécification d ’un attribut avant un ensemble d ’attributs Note reliée aux éléments Près d ’un trait pointillé Près d ’une flèche pointillée Syntaxe langue naturelle OCL (version 1.1 d ’UML) 19/09/2018 © Robert Godin. Tous droits réservés.

4.3.9.1 OCL (Object constraint language) Invariants de classe Pré et post-conditions sur les opérations Conditions de déclenchement (Guards) Langage de navigation Contraintes sur les opérations 19/09/2018 © Robert Godin. Tous droits réservés.

4.3.9.1.1 Contexte d'une contrainte L'année de parution d'un livre est supérieure à 0 19/09/2018 © Robert Godin. Tous droits réservés.

4.3.9.1.2 Spécification d'une propriété d'un objet opération 19/09/2018 © Robert Godin. Tous droits réservés.

Spécification d ’une propriété (suite) retourne une collection ! nom de classe (première lettre en minuscule) pour naviguer association 19/09/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 4.3.9.1.3 Expression de chemin 19/09/2018 © Robert Godin. Tous droits réservés.

4.3.9.1.4 Types et expressions OCL Opérations pour types de base ex: +, -, *, /,… pour Integer Opérations pour Collections Collection, Set, Bag et Sequence -> pour opération de collection 19/09/2018 © Robert Godin. Tous droits réservés.

Exemples d ’opérations de collection 19/09/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 4.3.10 Eléments dérivés 19/09/2018 © Robert Godin. Tous droits réservés.

4.4 Processus d'élaboration du modèle conceptuel Modèle conceptuel du domaine Modèle conceptuel des données persistantes (ou modèle conceptuel des données) stéréotype « entité » valeur étiquetée {persistent} Modèle conceptuel de la base de données données persistantes dans la BD 19/09/2018 © Robert Godin. Tous droits réservés.

Processus d ’élaboration du modèle conceptuel Clé : comprendre le domaine d ’application Intrants cas d ’utilisation détaillés ... Un processus simple 1. Déterminer les classes et leurs attributs 2. Déterminer les associations 3. Chercher les généralisations 4. Ajouter les types et les contraintes manquantes 19/09/2018 © Robert Godin. Tous droits réservés.

4.4.1 Identifier les classes et leurs attributs Candidats groupes nominaux Exemple : GérérPrêts 19/09/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 4.4.1.1 Identification des concepts significatifs du domaine d ’application du système Non pertinent au domaine cas d ’utilisation Pertinent prêt, retour, retard, membre, exemplaire, ... 19/09/2018 © Robert Godin. Tous droits réservés.

4.4.1.2 Persistance du concept Modèle conceptuel des données persistantes nécessaires aux traitements persistantes Acteurs ? Documents externes ? Unités périphériques ? 19/09/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 4.4.1.3 Classe ou attribut ? Attribut : décision de conception ? pas d ’attributs dans les graphes conceptuels ! Critères pour attributs caractéristique propre aux objets de la classe pas d ’identité propre valeur (immuable) pas une référence type complexe ? 19/09/2018 © Robert Godin. Tous droits réservés.

4.4.1.3.1 Application de la théorie de la normalisation Classe d ’appartenance d ’un attribut ? Table = attributs de classe + OID (OIDPrêt, idUtilisateur, motPasse, nom, prénom, téléphoneRésidence) idUtilisateur  motPasse, nom, prénom, téléphoneRésidence OIDPrêt  idUtilisateur pas en 3FN (OIDPrêt, nom, prénom, téléphoneRésidence) est en 3FN mais... 19/09/2018 © Robert Godin. Tous droits réservés.

4.4.1.3.2 Conversion entre attribut et classe ~ composition 19/09/2018 © Robert Godin. Tous droits réservés.

Partage du même téléphone ? 19/09/2018 © Robert Godin. Tous droits réservés.

4.4.1.3.3 Types de données complexes Expliciter la structure ? ~ composition 19/09/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. Variante 19/09/2018 © Robert Godin. Tous droits réservés.

Partage de la même Adresse 19/09/2018 © Robert Godin. Tous droits réservés.

Modélisation fine des adresses pour éviter toute redondance ? 19/09/2018 © Robert Godin. Tous droits réservés.

4.4.1.3.4 Représentation des types de données énumérés Type du statut de l ’Exemplaire enum(prêté, disponible, retiré) classe stéréotypée « datatype » classe stéréotypée « extensible datatype » 19/09/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 4.4.1.3.5 Attribut de classe Partagé par tous les objets ~variable globale à la classe 19/09/2018 © Robert Godin. Tous droits réservés.

4.4.1.3.6 Classe pour un seul objet ? 19/09/2018 © Robert Godin. Tous droits réservés.

4.4.1.4 Première ébauche de modèle pour SyLeRat 19/09/2018 © Robert Godin. Tous droits réservés.

4.4.1.5 Eviter les concepts dérivables Pour dériver durée moyenne 19/09/2018 © Robert Godin. Tous droits réservés.

Clarté conceptuelle et linguistique 4.4.1.6 SYNONYMIE ET POLYSÉMIE 4.4.1.7 NOMS REPRÉSENTATIFS répertoire des concepts (dictionnaire de données, glossaire) 19/09/2018 © Robert Godin. Tous droits réservés.

4.4.2 Identification des associations Lors d'un prêt ou d'un retour, l'identificateur d'utilisateur et l'identificateur de l'exemplaire peuvent être saisis ... 19/09/2018 © Robert Godin. Tous droits réservés.

Éviter les associations dérivables 19/09/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 19/09/2018 © Robert Godin. Tous droits réservés.

4.4.2.1 Classe, association ou classe associative 19/09/2018 © Robert Godin. Tous droits réservés.

4.4.2.2 Spécification des qualificateurs 19/09/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 4.4.2.3 Degré approprié d ’association 4.4.2.4 Éviter les clés étrangères 19/09/2018 © Robert Godin. Tous droits réservés.

4.4.3 Identification des généralisations Principe de génie logiciel isoler chaque chose à sa place Mettre en facteur propriétés communes attention synonymie/polysémie généralisation ou délégation ? « est un » ou « fait partie de » Méthode systématique: treillis de Galois (concepts) 19/09/2018 © Robert Godin. Tous droits réservés.

Ajout d ’un lien de généralisation entre classes 19/09/2018 © Robert Godin. Tous droits réservés.

Découverte d ’une nouvelle classe de généralisation 19/09/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. Autre exemple 19/09/2018 © Robert Godin. Tous droits réservés.

4.4.4 Types de données des attributs et autres contraintes d'intégrité 19/09/2018 © Robert Godin. Tous droits réservés.

4.4.5 Conservation de l'historique des données Pour prise de décision (OLAP) entrepôt de données traitements difficiles à prévoir Historique complet ou sommaire ? Historique des mises à jour ? Plus facile de supprimer des données que de les retrouver ... 19/09/2018 © Robert Godin. Tous droits réservés.

4.4.6 Modularisation du modèle conceptuel 19/09/2018 © Robert Godin. Tous droits réservés.

PackageHiérarchiePersonne 19/09/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. PackageClassesPrêts 19/09/2018 © Robert Godin. Tous droits réservés.

PackageClassesDescriptionBibliographique 19/09/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 4.4.7 Métamodélisation Méta-donnée (metadata) décrit un aspect de la structure d'autres données Méta-modèle (metamodel) modèle de données des méta-données 19/09/2018 © Robert Godin. Tous droits réservés.

Exemple : méta-modèle de UML 19/09/2018 © Robert Godin. Tous droits réservés.

4.4.7.1 Classe générique (template class) Paramètres formels Classe générique instantiée 19/09/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 4.4.7.2 Notion de patron « Généricité » plus large Micro-architecture réutilisable Collaboration paramétrisée en UML 19/09/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 4.4.7.2.1 Patron de description Méta-données « au sens large » 19/09/2018 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 4.4.7.2.2 Patron d'assemblage 19/09/2018 © Robert Godin. Tous droits réservés.

4.4.7.3 Cadre d ’application (canevas, framework) ~ Gros patron classes génériques + classes abstraites à spécialiser Macro-architecture Plus spécifique à un domaine qu ’un patron 19/09/2018 © Robert Godin. Tous droits réservés.

4.5 Estimation des volumes de données 19/09/2018 © Robert Godin. Tous droits réservés.