Systèmes d’information dans les entreprises (GTI515) Chargé: JF Couturier Cours 9 GTI515 Automne 2011 JF Couturier
Retour sur les dernier cours Énoncé de laboratoire Type de processus d’affaires BPM Modélisation, mesure, optimisation BPMN Workflow patterns GTI515 Automne 2011 JF Couturier
Plan du cours Le diagramme de flux de données Les différents niveaux Exemples de DFD Les règles Exemples d’erreurs Étude de cas Transition vers L’ERD Dictionnaire de données GTI515 Automne 2011 JF Couturier
Bilan Processus d’affaires – BPMN ou UML Vision Modèle du domaine Diagramme des CU Cas d’utilisation Archétypes et stéréotypes SRS – Exigences GTI515 Automne 2011 JF Couturier
Avons-nous… Oublié quelque chose? …analyser les données? Nous avons observé la séquence des actions d’un point de vue comportementales. Nous avons peut-être identifié les principaux éléments dans le diagramme d’activité GTI515 Automne 2011 JF Couturier
Le DFD - Data-Flow Diagram Diagramme de flux de données L’une des méthodes disponibles pour analyser les systèmes orientées données. Le DFD met l’emphase sur la logique du système étudié. Les analystes systèmes peuvent représenter graphiquement les mouvement de données à l’intérieur de l’organisation Le DFD est une représentation populaire dans la représentation et la modélisation des flux de données. GTI515 Automne 2011 JF Couturier
Petit retour en arrière Avant l’analyse et le design orientée objet (OOAD) il y avait… Structured Analysis And Design DFD Processus ERD Modèle de données Dictionnaire de données Description Toujours utilisées, peut s’avérer très utile de pouvoir décoder ces notations GTI515 Automne 2011 JF Couturier
Avantage du DFD Par rapport à une narration des mouvements de données Compréhension des interrelations entre les systèmes et les sous systèmes Documenter ce que système actuel connait Analyser le système proposé GTI515 Automne 2011 JF Couturier
DFD vs le cas d’utilisation Le cas d’utilisation décrit les interactions entre le système et un acteur (généralement) Le cas d’utilisation n’explique pas d’où viennent les données Par contre le CU fournit de précieuses informations pour créer le DFD GTI515 Automne 2011 JF Couturier
Limite du DFD Le DFD ne représente pas les décisions ou les évènements dans le temps. La fonction du DFD est d’illustrer les sources de données, les destinations, les flux, les magasins de données et les transformations faites aux données. GTI515 Automne 2011 JF Couturier
Limite du DFD Si vous devez modéliser un système qui servira d’entrepôt de données, le DFD ne vous sera pas très utile. Peu ou pas de processus à documenter Dans ce cas, un ERD risque d’être plus intéressant. In contrario, le ERD n’illustre pas les transformations que l’on retrouve normalement dans un processus GTI515 Automne 2011 JF Couturier
Notation Gane et Sarson DeMarco et Yourdon "Structured Systems Analysis: Tools and Techniques", by C. Gane and T. Sarson (New York: IST, Inc., 1977)” DeMarco et Yourdon DeMarco. Structured Analysis and System Specification,Prentice Hall,1979. Yourdon. Modern Structured Analysis, Yourdon Press Computing Series,1988 GTI515 Automne 2011 JF Couturier
GTI515 Automne 2011 JF Couturier Dennis, Alan R., Barbara Haley Wixom, and David Tegarden. "Chapter 8 - Moving on to Design". Systems Analysis and Design with UML Version 2.0: An Object-Oriented Approach, Third Edition. John Wiley & Sons. © 2009. Books24x7. <http://common.books24x7.com/book/id_29675/book.asp> (accessed May 29, 2009) GTI515 Automne 2011 JF Couturier
Process - Processus Dans le DFD Des instructions pas à pas qui transforment des entrées en sorties. Travail accompli par un ordinateur, une personne ou les deux Satzinger et al. Analyse et conception de systèmes d’information, p.196 GTI515 Automne 2011 JF Couturier
Processus Quelques exemples de processus valides Exécuter un calcul (i.e., moyenne, écart-type) Prendre des décisions (i.e., Déterminer la disponibilité d’un produit) Trier, filtrer et autre opérations de groupe sur les données Organiser les données dans une forme intéressante (i.e., générer un rapport, répondre à une question) Déclencher d’autres processus (i.e. Ouvrir le four, commander un robot) Utiliser des données emmagasinées (CRUD) http://facweb.cs.depaul.edu/yele/Course/IT215/DFD%20Mechanics.ppt GTI515 Automne 2011 JF Couturier
Data flow – flot de données Données se déplaçant d’un endroit à un autre, comme une entrée / sortie, vers un processus. Données sur une personne, une place ou une chose qui se déplacent dans le système. Le nom du flot doit représenter le mouvement dans le système. Satzinger et al. Analyse et conception de systèmes d’information, p.196 GTI515 Automne 2011 JF Couturier
Data store – Magasin de données Données au repos, stockées pour un usage ultérieur. Correspond généralement à une entité de donnée sur un diagramme entité-relation. Interne au système Le magasin de données peut prendre plusieurs formes: Documents physiques Document informatisés Calepins On identifie généralement les magasin de données à l’aide d’une référence unique du type D1, D2, D3 Satzinger et al. Analyse et conception de systèmes d’information, p.196 GTI515 Automne 2011 JF Couturier
Entité externe Source ou destination des données hors du système. Personnes, système ou base de données externes Se trouve à l’extérieur du système tout en interagissant avec lui Reçoit de l’information du système, fournit de l’information au système ou déclenche des actions Satzinger et al. Analyse et conception de systèmes d’information, p.196 GTI515 Automne 2011 JF Couturier
GTI515 Automne 2011 JF Couturier Dennis, Alan R., Barbara Haley Wixom, and David Tegarden. "Chapter 8 - Moving on to Design". Systems Analysis and Design with UML Version 2.0: An Object-Oriented Approach, Third Edition. John Wiley & Sons. © 2009. Books24x7. <http://common.books24x7.com/book/id_29675/book.asp> (accessed May 29, 2009) GTI515 Automne 2011 JF Couturier
Plan du cours Le diagramme de flux de données Les différents niveaux Exemples de DFD Les règles Exemples d’erreurs Études de cas Transition vers L’ERD Dictionnaire de données GTI515 Automne 2011 JF Couturier
Les différents niveaux Dennis, Alan R., Barbara Haley Wixom, and David Tegarden. "Chapter 8 - Moving on to Design". Systems Analysis and Design with UML Version 2.0: An Object-Oriented Approach, Third Edition. John Wiley & Sons. © 2009. Books24x7. <http://common.books24x7.com/book/id_29675/book.asp> (accessed May 29, 2009) GTI515 Automne 2011 JF Couturier
Le niveau du contexte Contient uniquement un processus représentant l’ensemble du système. On donne à ce processus le numéro zéro. Ne pas confondre avec le niveau 0. Tous les agents externes sont représentés dans le diagramme de contexte, ainsi que les flots de données majeurs. Le diagramme de contexte ne contient aucun magasin de données. GTI515 Automne 2011 JF Couturier
Le niveau 0 Le diagramme 0 est l’explosion du diagramme contextuel. Devrait inclure de 3 à 9 processus. Davantage de processus risque de nuire à la compréhension. Les processus sont numérotés avec un entier. Les principaux magasin de données et toutes les agents externes sont représentés dans le diagramme 0. Un processus par PMÉ Un processus par cas d’utilisation GTI515 Automne 2011 JF Couturier
Le niveau 0 On constate qu’au niveau 0, on retrouve tous les agents externes et tous les flux de données du diagramme contextuel On a ajouté un magasin de donnée, 3 processus (1, 2, 3) et 2 nouveau flux de données (A et B) L’équilibre entre les niveaux doit être maintenu. Au niveau contextuel, nous avons les liens Z, Y, Z. On les retrouvent tous au niveau 1. Nous avons en plus les liens A, B, M, N Dennis, Alan R., Barbara Haley Wixom, and David Tegarden. "Chapter 8 - Moving on to Design". Systems Analysis and Design with UML Version 2.0: An Object-Oriented Approach, Third Edition. John Wiley & Sons. © 2009. Books24x7. <http://common.books24x7.com/book/id_29675/book.asp> (accessed May 29, 2009) GTI515 Automne 2011 JF Couturier
Le niveau 1 On augmente le niveau de détail d’un cran En général, chaque processus au niveau 0 sera décomposé au niveau 1. Dans ce cas-ci nous aurions 3 diagrammes de niveau 1 pour les processus 1, 2 et 3 La numérotation suit une logique 2 2.1, 2.2, 2.3 Dennis, Alan R., Barbara Haley Wixom, and David Tegarden. "Chapter 8 - Moving on to Design". Systems Analysis and Design with UML Version 2.0: An Object-Oriented Approach, Third Edition. John Wiley & Sons. © 2009. Books24x7. <http://common.books24x7.com/book/id_29675/book.asp> (accessed May 29, 2009) GTI515 Automne 2011 JF Couturier
Le niveau 1 L’équilibre entre les niveau doit être maintenu. Au niveau 0, nous avons les liens M, N, Y, B et A pour le processus 2. On les retrouvent tous au niveau 1. Nous avons en plus les liens C, G, H, J, K. Pour savoir d’où vient B et où vont A et Y, nous devons remonter d’un niveau. Intéressant mais peut rapidement devenir fastidieux. Pour éviter cela, l’approche suggérée est d’ajouter les entités externes dans les niveaux inférieurs. Détail du cas d’utilisation, chaque étape devient un processus Dennis, Alan R., Barbara Haley Wixom, and David Tegarden. "Chapter 8 - Moving on to Design". Systems Analysis and Design with UML Version 2.0: An Object-Oriented Approach, Third Edition. John Wiley & Sons. © 2009. Books24x7. <http://common.books24x7.com/book/id_29675/book.asp> (accessed May 29, 2009) GTI515 Automne 2011 JF Couturier
Le niveau 2 et suivants… Nous pouvons continuer à détailler nos processus d’un niveau à un autre. Pour identifier à quel niveau nous nous trouvons, identifier le nombre de chiffres après le premier point. Conserver l’équilibre entre chaque niveau Dans ce cas-ci M, N, K, H, G, C Dennis, Alan R., Barbara Haley Wixom, and David Tegarden. "Chapter 8 - Moving on to Design". Systems Analysis and Design with UML Version 2.0: An Object-Oriented Approach, Third Edition. John Wiley & Sons. © 2009. Books24x7. <http://common.books24x7.com/book/id_29675/book.asp> (accessed May 29, 2009) GTI515 Automne 2011 JF Couturier
Les étapes pour créer le DFD Créer un DFD est un travail itératif avec des améliorations continues Les étapes Créer un diagramme contextuel Identifier les Cas d’utilisation (!), là où les utilisateurs utilisent le système Créer un fragment de DFD pour chaque cas d’utilisation Créer un diagramme de niveau 0 pour chaque fragment Décomposer au niveau 1, 2, … Revenir à l’étape 1 et réviser si nécessaire Valider le DFD avec les utilisateurs GTI515 Automne 2011 JF Couturier
Plan du cours Le diagramme de flux de données Les différents niveaux Les règles Exemples d’erreurs Exemples de DFD Études de cas Transition vers L’ERD Dictionnaire de données GTI515 Automne 2011 JF Couturier
Exemples de DFD GTI515 Automne 2011 JF Couturier http://facweb.cs.depaul.edu/yele/Course/IT215/DFD%20Mechanics.ppt GTI515 Automne 2011 JF Couturier
Exemples de DFD GTI515 Automne 2011 JF Couturier http://facweb.cs.depaul.edu/yele/Course/IT215/DFD%20Mechanics.ppt GTI515 Automne 2011 JF Couturier
Exemples de DFD GTI515 Automne 2011 JF Couturier http://venki5014.files.wordpress.com/2008/08/dfd-1.jpg GTI515 Automne 2011 JF Couturier
Exemples de DFD GTI515 Automne 2011 JF Couturier http://venki5014.files.wordpress.com/2008/08/praneeth-sdo-dfd-22.jpg GTI515 Automne 2011 JF Couturier
Niveau contextuel GTI515 Automne 2011 JF Couturier Systems Analysis and Design with UML Version 2.0: An Object-Oriented Approach, Third Edition by Alan R. Dennis, Barbara Haley Wixom and David Tegarden GTI515 Automne 2011 JF Couturier
Niveau 0 GTI515 Automne 2011 JF Couturier Systems Analysis and Design with UML Version 2.0: An Object-Oriented Approach, Third Edition by Alan R. Dennis, Barbara Haley Wixom and David Tegarden GTI515 Automne 2011 JF Couturier
Niveau 1 GTI515 Automne 2011 JF Couturier Systems Analysis and Design with UML Version 2.0: An Object-Oriented Approach, Third Edition by Alan R. Dennis, Barbara Haley Wixom and David Tegarden GTI515 Automne 2011 JF Couturier
Plan du cours Le diagramme de flux de données Les différents niveaux Exemples de DFD Les règles Exemples d’erreurs Études de cas Transition vers L’ERD Dictionnaire de données GTI515 Automne 2011 JF Couturier
Quelques règles Règles qui s’appliquent à tous les DFD Les intrants d’un processus sont toujours différents des extrants Les objets (éléments) du DFD ont tous un nom unique Par souci de clarté, vous pouvez utiliser plusieurs fois les magasins de données et les agents externes dans un même diagramme. GTI515 Automne 2011 JF Couturier
Quelques règles Processus Magasin de données Ne peut pas avoir que des extrants Ne peut pas avoir que des intrants Un processus est libellé avec un verbe Magasin de données Les données ne peuvent se déplacer d’un magasin à un autre. Les données ne peuvent aller ni venir directement d’une source externe Un magasin de données est libellé par un nom. GTI515 Automne 2011 JF Couturier
Quelques règles Agents externes Flux de données Les données ne peuvent se déplacer entre agents externes. Les agents externes sont libellé par un nom. Flux de données Un flux de données n’a qu’une seule direction Un flux de données est libellé par un nom. Un flux de données ne peut pointer directement sur le processus d’origine. GTI515 Automne 2011 JF Couturier
Quelques règles Flux de données (Suite) Un flux de données qui se dirigent vers un magasin de données implique une mise à jour (update) Un flux de données provenant d’un magasin de données implique une récupération ou une utilisation (retrieve) GTI515 Automne 2011 JF Couturier
Quelques règles Diagramme de contexte 1 processus, numéroté 0 Les agents externes Les principaux flux de données Pas de magasin de données Ils sont internes au système Les magasin de données externe sont représentés comme des agents externes Comment départagez-vous ce qui est interne de ce qui est externe? GTI515 Automne 2011 JF Couturier
Quelques règles Un DFD ne représente pas les décisions Un DFD ne représente pas les évènements dans le temps Le DFD ne représente pas la séquence Un diagramme BPMN ou un diagramme d’activité fait ce travail. GTI515 Automne 2011 JF Couturier
Plan du cours Le diagramme de flux de données Les différents niveaux Exemples de DFD Les règles Exemples d’erreurs Études de cas Transition vers L’ERD Dictionnaire de données GTI515 Automne 2011 JF Couturier
Erreurs communes Erreurs de flux de données Erreurs de connexions Un flux de données ne peut avoir 2 directions Un flux de données ne peut pointer sur le processus d’origine Un flux de données n’ayant pas de source Un flux de données n’ayant pas de destination Un flux de données doit être libellé avec un nom, pas un verbe Erreurs de connexions Les données ne peuvent se déplacer directement d’un magasin à un agent externe Les données ne peuvent se déplacer d’un magasin à un autre. GTI515 Automne 2011 JF Couturier
GTI515 Automne 2011 JF Couturier
Exemples d’erreurs Un processus ne peut pas avoir que des flux entrants (blackhole) Un processus ne peut pas avoir que des flux sortants (miracle) GTI515 Automne 2011 JF Couturier
Exemples d’erreurs Les magasins de données et les entités externes ne peuvent êtres reliés directement GTI515 Automne 2011 JF Couturier
Exemples d’erreurs Libellé incorrectement les flux de données ou les objets du DFD Exemples d’erreurs Libellés absents pour les flux et les objets du DFD Flux de données libellé avec un verbe Processus libellé avec un nom Trop de processus ou de flux de données dans un diagramme. Une dizaine au maximum GTI515 Automne 2011 JF Couturier
Exemples d’erreurs Omettre les flux de données dans le diagramme Décomposition déséquilibrée entre un processus parent et un diagramme enfant. Les flux de données du parents devraient se retrouver dans le diagramme enfant GTI515 Automne 2011 JF Couturier
Qualités d’un DFD Lisible Minimiser la complexité Cohérent et balancer/équilibrer Représente précisément les exigences du système Réduire la surcharge d’information – règle du 7 +/- 2 Un DFD ne devrait pas avoir plus de 7 +/-2 processus Pas plus de 7 +/- 2 flux de données ne devrait entrer ou sortir d’un processus ou d’un magasin de données dans un seul DFD GTI515 Automne 2011 JF Couturier
Plan du cours Le diagramme de flux de données Les différents niveaux Exemples de DFD Les règles Exemples d’erreurs Études de cas Transition vers L’ERD Dictionnaire de données GTI515 Automne 2011 JF Couturier
Étude de cas Faites le DFD pour le garage PMÉ : Données Participants Prendre RV, Écrire DS, Écrire BT, Réparer la voiture Données BT, DS, Client, Facture, RV Participants Client, Garagiste, Chef de service, Chef d’atelier GTI515 Automne 2011 JF Couturier
Plan du cours Le diagramme de flux de données Les différents niveaux Les règles Exemples d’erreurs Exemples de DFD Études de cas Transition vers L’ERD Dictionnaire de données GTI515 Automne 2011 JF Couturier
Avec le DFD… On commence le ERD Ce que l’ER couvre Entity-Relationships Diagram Ce que l’ER couvre Les liens entre les données La création des tables Leurs différents attributs, les types, les contraintes référentielles Ce que l’ER ne couvre pas Les états et les transformations des données GTI515 Automne 2011 JF Couturier
ERD Le diagramme entité-relation nous permet de conceptualiser la couche de persistance. Le diagramme entité-relation reprend souvent plusieurs éléments du modèle du domaine. Cependant, certaines transformations seront souvent nécessaires. GTI515 Automne 2011 JF Couturier
Persistance Lorsque vous utilisez une couche de persistance orientée objet, c’est souvent le framework qui va organisé la structure des tables (hibernate) Si vous utilisez une couche de persistance relationnelle, vous devez programmer une couche d’accès aux données qui fera la liaison avec vos objets GTI515 Automne 2011 JF Couturier
Étapes pour faire le ERD Vous récupérer les entités identifiées dans le modèle du domaine ainsi que dans le DFD. Incluant les attributs et leurs types Vous considérer les liens unissant ces entités Vous identifier les cardinalités (souvent déjà présentes dans le modèle du domaine) GTI515 Automne 2011 JF Couturier
Les types d’association Relation 1 à 1(1:1) Relation 1 à plusieurs (1:M) Relation plusieurs à plusieurs (M:N) Nécessité d’avoir une entité d’association…Classe d’association! GTI515 Automne 2011 JF Couturier
Les formes normales Une fois que vos entités et leurs relations ont été identifiés, vous pouvez appliquez les 3 formes normales Les 3 formes normales sont des règles de conceptions dans la réalisation des tables relationnelles. GTI515 Automne 2011 JF Couturier
1er forme normale Une table est à la première forme normale (1NF) si elle ne contient pas de groupes répétitif de données. http://fr.wikipedia.org/wiki/Forme_normale_(bases_de_donn%C3%A9es_relationnelles) GTI515 Automne 2011 JF Couturier
2ème forme normale tous les attributs non-clés ne dépendent pas d'une partie de la clé primaire mais bien de la totalité de la clé primaire. http://fr.wikipedia.org/wiki/Forme_normale_(bases_de_donn%C3%A9es_relationnelles) GTI515 Automne 2011 JF Couturier
3ème forme normale Tous les attributs n'appartenant pas à la clé ne dépendent pas d'un attribut non-clé. En d'autres termes, la dépendance fonctionnelle est directe. http://fr.wikipedia.org/wiki/Forme_normale_(bases_de_donn%C3%A9es_relationnelles) GTI515 Automne 2011 JF Couturier
Créer la base de données Une fois que vous avez créer votre ERD et que les 3 formes normales ont été appliquées, vous êtes en mesure de créer votre base de données ou votre schéma, selon la terminologie de votre SGBD GTI515 Automne 2011 JF Couturier
Exemple Voir un exemple de ERD GTI515 Automne 2011 JF Couturier
GTI515 Automne 2011 JF Couturier
Plan du cours Le diagramme de flux de données Les différents niveaux Les règles Exemples d’erreurs Exemples de DFD Études de cas Transition vers L’ERD Dictionnaire de données GTI515 Automne 2011 JF Couturier
Dictionnaire de données Dictionaries are like watches; the worst is better than none, and the best cannot be expected to go quite true.” Mrs. Priozzi Anecdotes of Samuel Johnson, 1786 GTI515 Automne 2011 JF Couturier
Dictionnaire de données Le dictionnaire de données est un document qui accompagne généralement la documentation d’un système Documente les tables, les vues, les procédures stockées de la couche de persistance d’un système Dans le dictionnaire de données, nous pouvons également documenter des contraintes métiers. GTI515 Automne 2011 JF Couturier
Échange de données Le dictionnaire de données sera particulièrement utile lorsque on veut échanger des données. Il permet de standardiser la sémantique du domaine métier d’une organisation Glossaire GTI515 Automne 2011 JF Couturier
Dictionnaire de données Certains SGBD permettent de documenter les champs d’une tables (SQL Server entre autres) On peut alors exécuter des vues affichant un rapport, par table et par champs. Un fichier Excel peut tout aussi bien faire l’affaire GTI515 Automne 2011 JF Couturier
Dictionnaire de données On annexera souvent au dictionnaire de données un ERD pour visualiser les liens entre les tables Dans les gros systèmes, l’ERD peut devenir difficile à lire, il faut alors le segmenter GTI515 Automne 2011 JF Couturier
Exemples Voir exemples de DD Un autre exemple GTI515 Automne 2011 JF Couturier
Ressources DFD Gane-Sarson et DeMarco-Yourdon ERD Wiki de Yourdon Data dictionary GTI515 Automne 2011 JF Couturier
Prochain cours Normes et cadriciels Quizz 3 Lectures À venir GTI515 Automne 2011 JF Couturier