Analyse et conception des Analyse et conception des systèmes d'information dans systèmes d'information dans
l'entreprise l'entreprise
INF7215 INF7215
Tho Tho - - Hau Nguyen Hau Nguyen
Plan du cours Plan du cours
Retour sur l'analyse de système Retour sur l'analyse de système
Orientation objet, ses avantages Orientation objet, ses avantages
OMT OMT
Analyse des Systèmes Analyse des Systèmes
Évolution des approches Évolution des approches
–– Langage naturelLangage naturel
–– Modélisation des traitementsModélisation des traitements –– Modélisation des donnéesModélisation des données –– Orientation objetOrientation objet
L'analyse et la conception L'analyse et la conception
(approche objet) (approche objet)
Avantages Avantages
–– Modélisation plus naturelle du monde réelleModélisation plus naturelle du monde réelle –– Emphase sur l'analyseEmphase sur l'analyse
–– Frontières moindre entre analyse et conception Frontières moindre entre analyse et conception (même principes utilisés)
(même principes utilisés) –– Prototypage plus rapidePrototypage plus rapide
–– La structure des objets semblent plus stable La structure des objets semblent plus stable (donc plus facile à maintenir)
(donc plus facile à maintenir)
–– Beaucoup de méthodes émergentesBeaucoup de méthodes émergentes
Analyse et conception orientées Analyse et conception orientées - -
objets objets
Object Modeling Object Modeling Technique (OMT) (de Technique (OMT) (de Rumbaugh
Rumbaugh))
–– Principe de base: 3 modèlesPrincipe de base: 3 modèles
»» Modèle objetModèle objet
»» Modèle dynamiqueModèle dynamique
»» Modèle fonctionnelModèle fonctionnel
–– AnalyseAnalyse
»» Modélisation de la réalité selon les 3 aspects statique, Modélisation de la réalité selon les 3 aspects statique, dynamique et fonctionnel
dynamique et fonctionnel
–– ConceptionConception
»» SystèmeSystème
»» ClassesClasses
Modèle Objet (selon
Modèle Objet (selon Rumbaugh Rumbaugh et al., 1991)
et al., 1991)
Modèle des objets physiques ou conceptuels de Modèle des objets physiques ou conceptuels de l'application
l'application
–– (aspect statique des objets, classes et relations entre (aspect statique des objets, classes et relations entre objets)
objets)
Caractéristiques des objetsCaractéristiques des objets
–– Attributs ou propriétés de l'objet pertinents à Attributs ou propriétés de l'objet pertinents à l'application
l'application
–– Opérations supportées ou offertes par l'objetOpérations supportées ou offertes par l'objet
Classes ou ensemble d'objets ayant les mêmes Classes ou ensemble d'objets ayant les mêmes attributs et les mêmes opérations (comportement) attributs et les mêmes opérations (comportement)
Modèle Objet (suite) Modèle Objet (suite)
Relations entre objets et classes Relations entre objets et classes
–– GénéralisationGénéralisation –– AgrégationAgrégation
–– AssociationAssociation
Modèle Objet: Exemple Modèle Objet: Exemple
Insérer le dessin
Modèle Dynamique (selon Modèle Dynamique (selon
Rumbaugh
Rumbaugh et al., 1991) et al., 1991)
Modèle des informations de contrôle Modèle des informations de contrôle
–– Séquence des évènementsSéquence des évènements
–– États et transition d'état des objetsÉtats et transition d'état des objets –– OpérationsOpérations
Concepts de base Concepts de base
–– ÉvénementÉvénement –– ÉtatÉtat
–– Scénario et trace d'évènementScénario et trace d'évènement
Diagramme d'état Diagramme d'état
Modèle Dynamique (suite) Modèle Dynamique (suite)
ÉtatÉtat
–– Ensemble de valeurs des attributs des objets et des Ensemble de valeurs des attributs des objets et des associations entre ces objets à un instant donné
associations entre ces objets à un instant donné
ÉvénementÉvénement
–– Quelque chose qui se produit, activant une opération Quelque chose qui se produit, activant une opération amenant à un changement d'état
amenant à un changement d'état
Diagramme d'étatDiagramme d'état
–– Représente des états et des liens des transitions d'étatReprésente des états et des liens des transitions d'état
Modèle Dynamique: Exemple Modèle Dynamique: Exemple
Insérer le dessin
Modèle Fonctionnel (selon Modèle Fonctionnel (selon
Rumbaugh
Rumbaugh et al., 1991) et al., 1991)
Décrit les aspects du systèmes reliés aux Décrit les aspects du systèmes reliés aux transformations des valeurs
transformations des valeurs
Spécifie ce que le système fait (sans Spécifie ce que le système fait (sans spécifier comment ni quand)
spécifier comment ni quand)
Spécifie la signification Spécifie la signification
–– Des opérations (modèle objet)Des opérations (modèle objet) –– Des actions (modèle dynamique)Des actions (modèle dynamique)
Modèle Fonctionnel (suite) Modèle Fonctionnel (suite)
Contient Contient
–– Les processusLes processus
–– Les flux de données (valeurs, objets)Les flux de données (valeurs, objets) –– Les dépôts des données (data stores)Les dépôts des données (data stores) –– Les acteurs (objets) générateurs ou Les acteurs (objets) générateurs ou
consommateurs de données consommateurs de données
Utilise un formalisme et une notation Utilise un formalisme et une notation similaire à un diagramme de flux de similaire à un diagramme de flux de
données (DFD)
données (DFD)
Modèle Fonctionnel: Exemple Modèle Fonctionnel: Exemple
Insérer le dessin
OMT, résumé des étapes OMT, résumé des étapes
Analyse….les trois modèles Analyse….les trois modèles
Conception du système Conception du système
Conception des objets Conception des objets
Implantation Implantation
OMT, résumé des étapes OMT, résumé des étapes
Pour traiter une application, on commence Pour traiter une application, on commence par définir les types d'objets appropriés
par définir les types d'objets appropriés
(classes), avec leurs opérations spécifiques, (classes), avec leurs opérations spécifiques, chaque objet manipulé dans un programme chaque objet manipulé dans un programme étant représentant, ou instance, d'un de ces étant représentant, ou instance, d'un de ces
types types
–– MasiniMasini, 1989, 1989
OMT OMT
Construction du modèle objetConstruction du modèle objet
–– Identifier les objets et les classesIdentifier les objets et les classes
–– Débuter un dictionnaire des donnéesDébuter un dictionnaire des données –– Ajouter les associations entre les objetsAjouter les associations entre les objets
–– Ajouter les attributs aux objets et aux associations entre Ajouter les attributs aux objets et aux associations entre les objets
les objets
–– Organiser et simplifier les classes en utilisant l'héritageOrganiser et simplifier les classes en utilisant l'héritage –– Vérifier les chemins d'accès en utilisant les différents Vérifier les chemins d'accès en utilisant les différents
scénarios scénarios
–– Grouper les classes en modulesGrouper les classes en modules
OMT (suite) OMT (suite)
Construction du modèle dynamiqueConstruction du modèle dynamique
–– Préparer des scénarios pour des séquences Préparer des scénarios pour des séquences d'interactions typiques
d'interactions typiques
–– Identifier les évènements entre les objetsIdentifier les évènements entre les objets
–– Préparer une trace d'événement pour chaque scénarioPréparer une trace d'événement pour chaque scénario –– Préparer un diagramme de flux d'évènementsPréparer un diagramme de flux d'évènements
–– Construire un diagramme d'état (pour chaque classe Construire un diagramme d'état (pour chaque classe ayant un comportement important)
ayant un comportement important)
–– Vérifier la consistance et le complétude des Vérifier la consistance et le complétude des diagrammes d'état
diagrammes d'état
OMT (suite) OMT (suite)
Construction du modèle fonctionnel Construction du modèle fonctionnel
–– Identifier les entrées/sortiesIdentifier les entrées/sorties
–– Construire les diagrammes de flux des donnéesConstruire les diagrammes de flux des données –– Décrire chaque fonctionDécrire chaque fonction
–– Identifier les contraintesIdentifier les contraintes
–– Spécifier les critères d'optimisationSpécifier les critères d'optimisation
Autres méthodologies Autres méthodologies
Booch Booch , , Rumbaugh Rumbaugh , , Jacobson Jacobson
–– Unified Modeling LanguageUnified Modeling Language (UML)(UML)
Wirfs Wirfs - - Brock Brock & al. & al.
–– ObjectObject--Oriented Oriented Design: a Design: a responsabilityresponsability-- Driven Approach
Driven Approach
Schlaer Schlaer & Miller & Miller
–– ObjectObject--OrientedOriented System System AnalysisAnalysis
Booch Grady Booch Grady
–– Object-Object-Oriented Oriented DesignDesign
Autres méthodologies (suite) Autres méthodologies (suite)
Agence Agence Spaciale Spaciale Européenne Européenne
–– Hiérarchical Hiérarchical OO--O Design (HOOD)O Design (HOOD)
Embley Embley , , Kurtz Kurtz & & Woodfield Woodfield
–– OO--O O Systems Analysis Systems Analysis (OSA)(OSA)
Gibson E. Gibson E.
–– Object Behavior Analysis Object Behavior Analysis (OBA)(OBA)
OO et Approches Classiques OO et Approches Classiques
Insérer le dessin