• Aucun résultat trouvé

Cours Modélisation Objet avec UML – Cours et formation gratuit

N/A
N/A
Protected

Academic year: 2022

Partager "Cours Modélisation Objet avec UML – Cours et formation gratuit"

Copied!
7
0
0

Texte intégral

(1)

Modélisation Objet avec Modélisation Objet avec

UML UML

La genèse d’UML La genèse d’UML Un survol d’UML Un survol d’UML La notation UML La notation UML

D’après le cours de Pierre D’après le cours de Pierre--Alain MullerAlain Muller

Genèse : Complexité des logiciels Genèse : Complexité des logiciels

Les tendances Les tendances

Programmation sans programmer Programmation sans programmer Micro

Micro--architectures (architectures (patternspatterns)) Importance de l’architecture Importance de l’architecture Informatique distribuée Informatique distribuée Multimédia

Multimédia

De quoi a

De quoi a--tt--on besoin ? on besoin ?

Un langage de modélisation Un langage de modélisation

Notation claire Notation claire Sémantique précise Sémantique précise

Un processus de génie logiciel Un processus de génie logiciel

Langage de modélisation Langage de modélisation

Générique Générique Expressif Expressif

Flexible (configurable, extensible) Flexible (configurable, extensible) Syntaxe et sémantique

Syntaxe et sémantique

Unification par convergence aujourd’hui Unification par convergence aujourd’hui

Processus Processus

Générique Générique

Impossible à standardiser Impossible à standardiser

Personnes, applications, cultures...

Personnes, applications, cultures...

Cadre configurable Cadre configurable

Unification par convergence dans le futur Unification par convergence dans le futur

Comment modéliser ? Comment modéliser ?

La manière de modéliser influence fortement La manière de modéliser influence fortement

La compréhension du problème La compréhension du problème La solution

La solution

Il n’existe pas de modèle universel Il n’existe pas de modèle universel

Jeux de modèles faiblement couplés Jeux de modèles faiblement couplés Multiplicité des niveaux d’abstraction Multiplicité des niveaux d’abstraction

Les meilleurs modèles sont en prise sur le monde réel Les meilleurs modèles sont en prise sur le monde réel

(2)

Evolution des méthodes Evolution des méthodes

D’abord des méthodes structurées D’abord des méthodes structurées

A partir des années 80 émergence des méthodes A partir des années 80 émergence des méthodes orientées

orientées--objetsobjets

Les principales méthodes objets convergent Les principales méthodes objets convergent

Différences superficielles Différences superficielles Notation, terminologie Notation, terminologie

L’expérience permet de séparer le bon grain de L’expérience permet de séparer le bon grain de l’ivraie

l’ivraie

La prolifération des méthodes La prolifération des méthodes

objet objet

Une cinquantaine de méthodes objet dans les Une cinquantaine de méthodes objet dans les cinq dernières années

cinq dernières années Confusion, attentisme Confusion, attentisme

Consensus autour d’idées communes Consensus autour d’idées communes

Objets, classes, associations, sous

Objets, classes, associations, sous--systèmes, cas systèmes, cas d’utilisation

d’utilisation

Rapprochement de Booch et OMT Rapprochement de Booch et OMT

Booch’93 et OMT

Booch’93 et OMT--2 sont plus ressemblantes que 2 sont plus ressemblantes que différentes

différentes

Booch’93 adopte les associations, les diagrammes Booch’93 adopte les associations, les diagrammes d'Harel, les traces d’événements

d'Harel, les traces d’événements OMT

OMT--2 introduit les flots de messages et retire les 2 introduit les flots de messages et retire les diagrammes de flot de données

diagrammes de flot de données Booch

Booch--93 construction93 construction OMT

OMT--2 analyse et abstraction2 analyse et abstraction

L’unification des méthodes L’unification des méthodes

La guerre des méthodes ne fait plus avancer la La guerre des méthodes ne fait plus avancer la technologie des objets

technologie des objets

Recherche d’un langage commun unique Recherche d’un langage commun unique

Utilisable par toutes les méthodes Utilisable par toutes les méthodes

Adapté à toutes les phases du développement Adapté à toutes les phases du développement Compatible avec toutes les techniques de Compatible avec toutes les techniques de réalisation

réalisation

Différentes sortes de systèmes Différentes sortes de systèmes

Logiciels Logiciels

Ingénierie des logiciels Ingénierie des logiciels Logiciels et matériels Logiciels et matériels

Ingénierie des systèmes Ingénierie des systèmes Personnes

Personnes

Ingénierie des affaires Ingénierie des affaires

Unification sur plusieurs domaines Unification sur plusieurs domaines d’applications

d’applications

La notation unifiée La notation unifiée

Basée sur les méthodes de BOOCH, OMT et OOSE Basée sur les méthodes de BOOCH, OMT et OOSE Influencée par les bonnes idées des autres Influencée par les bonnes idées des autres méthodes

méthodes

Mûrie par le travail en commun Mûrie par le travail en commun

(3)

Principales influences Principales influences

Souvent une histoire imbriquée Souvent une histoire imbriquée Booch

Booch Catégories et sousCatégories et sous--systèmessystèmes Embley

Embley Classes singletons et objets compositesClasses singletons et objets composites Fusion

Fusion Description des opérations, numérotation des messagesDescription des opérations, numérotation des messages Gamma, et al.

Gamma, et al.FrameworksFrameworks, , patternspatterns, et notes, et notes Harel

Harel Automates (Automates (StatechartsStatecharts)) Jacobson

Jacobson Cas d’utilisation (Cas d’utilisation (use casesuse cases)) Meyer

Meyer PréPré-- et postet post--conditionsconditions Odell

Odell Classification dynamique, éclairage sur les événementsClassification dynamique, éclairage sur les événements OMT

OMT AssociationsAssociations Shlaer

Shlaer--MellorMellorCycle de vie des objetsCycle de vie des objets Wirfs

Wirfs--Brock Brock Responsabilités (CRC)Responsabilités (CRC)

Portée de la notation unifiée Portée de la notation unifiée

Standardiser les artefacts du développement Standardiser les artefacts du développement

Modèles, notation et diagrammes Modèles, notation et diagrammes Ne pas standardiser le processus Ne pas standardiser le processus

Dirigé par les cas d’utilisation Dirigé par les cas d’utilisation Centré sur l’architecture Centré sur l’architecture Itératif et incrémental Itératif et incrémental

Les objectifs Les objectifs

Représenter des systèmes entiers Représenter des systèmes entiers

Etablir un couplage explicite entre les concepts et Etablir un couplage explicite entre les concepts et les artefacts exécutables

les artefacts exécutables

Prendre en compte les facteurs d’échelle Prendre en compte les facteurs d’échelle Créer un langage de modélisation utilisable à la Créer un langage de modélisation utilisable à la fois par les humains et les machines

fois par les humains et les machines

Approche retenue Approche retenue

Identifier la sémantique des concepts de base Identifier la sémantique des concepts de base Classer les concepts

Classer les concepts Construire un métamodèle Construire un métamodèle Choisir une notation graphique Choisir une notation graphique

Regrouper par niveau d’abstraction, complexité Regrouper par niveau d’abstraction, complexité et domaine

et domaine

Métamodèle Métamodèle

Identification des concepts fondamentaux Identification des concepts fondamentaux

Définition de la sémantique de ces concepts Définition de la sémantique de ces concepts Choix d’une représentation graphique Choix d’une représentation graphique Métamodélisation d’UML avec UML Métamodélisation d’UML avec UML

Description formelle des éléments de modélisation Description formelle des éléments de modélisation Austère, pas pédagogique

Austère, pas pédagogique Méthodologistes Méthodologistes Constructeurs d’outils Constructeurs d’outils

Les modèles et les vues Les modèles et les vues

Un modèle est un quanta de développement Un modèle est un quanta de développement

Cohérence interne forte Cohérence interne forte

Couplage faible avec les autres modèles Couplage faible avec les autres modèles Relié à une phase de développement Relié à une phase de développement Une vue est une projection au travers des Une vue est une projection au travers des éléments de modélisation

éléments de modélisation Graphique

Graphique

Peut englober plusieurs modèles Peut englober plusieurs modèles

(4)

Exemples de modèles Exemples de modèles

Un système possède plusieurs modèles Un système possède plusieurs modèles

Les étapes Les étapes

Octobre 95 Octobre 95

Unified Method Unified Method V0.8V0.8 Octobre 96

Octobre 96 UML V0.91 (

UML V0.91 (The Unified Modeling Language for ObjectThe Unified Modeling Language for Object-- Oriented Development

Oriented Development)) Janvier 97

Janvier 97

UML 1.0 est soumise à l’OMG UML 1.0 est soumise à l’OMG Septembre 97

Septembre 97

Approbation par le comité technique de l’OMG Approbation par le comité technique de l’OMG

Evolution de UML

Evolution de UML Acceptation de UML Acceptation de UML

UML est dans le domaine public UML est dans le domaine public Soutenue par le marché Soutenue par le marché

Microsoft, HP, IBM, Oracle...

Microsoft, HP, IBM, Oracle...

Successeur naturel des méthodes de Booch, OMT Successeur naturel des méthodes de Booch, OMT et OOSE

et OOSE

UML est le fruit de l’expérience et des besoins de UML est le fruit de l’expérience et des besoins de la communauté des utilisateurs

la communauté des utilisateurs

Les partenaires Les partenaires

Courant 96 UML devient un enjeu stratégique Courant 96 UML devient un enjeu stratégique Consortium de partenaires

Consortium de partenaires DEC, HP, i

DEC, HP, i--Logix, Intellicorp, IBM, ICON Logix, Intellicorp, IBM, ICON Computing, MCI Systemhouse, Microsoft, Oracle, Computing, MCI Systemhouse, Microsoft, Oracle, Rational Software, TI et Unisys

Rational Software, TI et Unisys

IBM, Platinum, Data Access Technologies, Reich IBM, Platinum, Data Access Technologies, Reich Technologies, Softeam, Taskon A/S

Technologies, Softeam, Taskon A/S

Domaines d’application Domaines d’application

Applicable à tout développement logiciel (à objets)

Systèmes d’information, SIG...

Systèmes temps réels, embarqués...

Interfaces, simulateurs, calcul Applications diverses

Couverture complète du cycle de développement.

Analyse des besoins

(5)

En résumé En résumé

UML est une notation, pas une méthode UML est une notation, pas une méthode UML est un langage de modélisation objet UML est un langage de modélisation objet UML convient pour toutes les méthodes objet UML convient pour toutes les méthodes objet UML est dans le domaine public

UML est dans le domaine public

Survol : Eléments de modélisation Survol : Eléments de modélisation

Briques pour capturer la sémantique des Briques pour capturer la sémantique des applications

applications

Pas accessibles directement aux utilisateurs Pas accessibles directement aux utilisateurs Représentation interne (outils)

Représentation interne (outils)

Représentation externe (échange entre outils) Représentation externe (échange entre outils)

Eléments de modélisation Eléments de modélisation

Les objets Les objets

Une entité d’un monde réel ou virtuel Une entité d’un monde réel ou virtuel Les classes

Les classes

La description d’un ensemble d’objets La description d’un ensemble d’objets Les états

Les états

Une étape de la vie d’un objet Une étape de la vie d’un objet Les tâches

Les tâches

Un flot de contrôle indépendant Un flot de contrôle indépendant

Eléments de modélisation Eléments de modélisation

Les cas d’utilisation Les cas d’utilisation

Une manière dont un acteur utilise le système Une manière dont un acteur utilise le système Les collaborations

Les collaborations

La réalisation d’un cas d’utilisation par une société La réalisation d’un cas d’utilisation par une société d’objets collaborants

d’objets collaborants Les micro

Les micro--architectures (architectures (patternspatterns))

Un générateur pour la structure et l’interaction Un générateur pour la structure et l’interaction d’une société d’objets

d’une société d’objets

Eléments de modélisation Eléments de modélisation

Les composants Les composants

Un module contenant des entités d’implémentation Un module contenant des entités d’implémentation Les noeuds

Les noeuds

Un dispositif matériel capable d’exécuter du logiciel Un dispositif matériel capable d’exécuter du logiciel Les paquetages

Les paquetages

Une partition du modèle Une partition du modèle Les notes

Les notes

Un commentaire, une explication ou une annotation Un commentaire, une explication ou une annotation

Relations Relations

L’association L’association

Une connexion sémantique entre instances Une connexion sémantique entre instances La généralisation

La généralisation

Une relation de classification Une relation de classification La dépendance

La dépendance

L’utilisation d’un élément par un autre L’utilisation d’un élément par un autre La trace

La trace

Dépendance inter Dépendance inter--modèlesmodèles

(6)

Mécanismes communs Mécanismes communs

Les stéréotypes <<stéréotype>>

Les stéréotypes <<stéréotype>>

Extension des classes du métamodèle Extension des classes du métamodèle Les étiquettes

Les étiquettes Paire (nom, valeur) Paire (nom, valeur) Les notes

Les notes

Commentaire textuel Commentaire textuel Les contraintes {contrainte}

Les contraintes {contrainte}

Relation sémantique entre éléments Relation sémantique entre éléments

Types primitifs Types primitifs

Notation UML Notation UML

Manipulée par les utilisateurs Manipulée par les utilisateurs

Simple, intuitive, expressive, cohérente Simple, intuitive, expressive, cohérente Vues graphiques (multiples) des éléments de Vues graphiques (multiples) des éléments de modélisation

modélisation

Les diagrammes d’UML Les diagrammes d’UML

9 types de diagrammes 9 types de diagrammes

Diagrammes Diagrammes

Les diagrammes de classes Les diagrammes de classes

Les classes et les relations statiques Les classes et les relations statiques Les diagrammes d’objets

Les diagrammes d’objets Les objets et les liens Les objets et les liens Les diagrammes de séquence Les diagrammes de séquence

Vision temporelle des interactions Vision temporelle des interactions Les diagrammes de collaboration Les diagrammes de collaboration

Vision spatiale des interactions Vision spatiale des interactions

Diagrammes (suite) Diagrammes (suite)

Les diagrammes de cas d’utilisation Les diagrammes de cas d’utilisation Les acteurs et l’utilisation du système Les acteurs et l’utilisation du système Les diagrammes d’états

Les diagrammes d’états--transitionstransitions Le comportement des objets Le comportement des objets Les diagrammes d’activités Les diagrammes d’activités

Le flot de contrôle interne aux opérations Le flot de contrôle interne aux opérations

(7)

Diagrammes (suite) Diagrammes (suite)

Les diagrammes de composants Les diagrammes de composants

Les composants d’implémentation et leurs relations Les composants d’implémentation et leurs relations Les diagrammes de déploiement

Les diagrammes de déploiement

La structure matérielle et la distribution des objets La structure matérielle et la distribution des objets et des composants

et des composants

Références

Documents relatifs

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

Il existe toutes sortes de jeux, dans et hors la classe de langues, mais nous ne parlerons ici que des jeux que l’on pourrait appeler de société: jeux de cartes, de

Dans la suite, il y a deux interventions d’élèves en position E1 (Sven et Lars), qui font basculer la situation vers une situation de validation où c’est la règle

On retiendra en particulier que les archives définitives de l’université ont vocation à être versées aux Archives départementales, même si c’est encore

L’application qui sera présentée dans le chapitre suivant est basée sur deux types d’architecture : 2- tiers pour implémenter les rôles d’Agent et Administrateur

ƒ Un gérant de bibliothèque désire automatiser la gestion des prêts. ƒ Il commande un logiciel permettant aux utilisateurs de connaître les livres présents, d' en

– Diagramme d'état généralisant pour chaque classe ayant Diagramme d'état généralisant pour chaque classe ayant un comportement réactif aux événements les scénarios et

Bien au contraire, l'utilité d'UML étant de vous permettre de réfléchir à votre application avant de vous lancer dans sa réalisation, il faut prendre (et non &#34;perdre&#34;)