Université de Bangui. Modélisons en UML



Documents pareils
IFT2255 : Génie logiciel

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Chapitre I : le langage UML et le processus unifié

Les diagrammes de modélisation

UML (Paquetage) Unified Modeling Language

Analyse,, Conception des Systèmes Informatiques

Diagramme de classes

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.)

UML (Diagramme de classes) Unified Modeling Language

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Pascal Brunot Hadrien Cambazard UML FOR BUSINESS INTELLIGENCE PROJECT

Méthodes de Conception Orientés Objet (MCOO) SOMMAIRE

Cours STIM P8 TD 1 Génie Logiciel

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Conception des bases de données : Modèle Entité-Association

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Méthodologies de développement de logiciels de gestion

3. UML - Unified Modeling Language Diagrammes statiques

Table des matières Sources

Business Process Modeling (BPM)

GOL502 Industries de services

Ingénierie des Modèles. Méta-modélisation

Information utiles. webpage : Google+ : digiusto/

Génie Logiciel Orienté Objet UML

Conception. Génie Logiciel. Renaud Marlet. LaBRI / INRIA (d'après A.-M. Hugues) màj 17/04/2007

Sommaire. Conduite de projet Méthode d analyse et de conception. Processus unifié. Objectifs d un processus de développement

Rational Unified Process

Le génie logiciel. maintenance de logiciels.

Master MIDO 2ème année. Spécification et Conception en UML Maude Manouvrier

Cours de Génie Logiciel

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

Comparaison de trois techniques de modélisation de processus: ADONIS, OSSAD et UML

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Introduction au Génie Logiciel

Technologie Web. Conception de sites Web. Alexandre Pauchet. INSA Rouen - Département ASI. INSA - ASI TechnoWeb : Rappels UML 1/21

Bases de Données. Plan

Manuel utilisateur Netviewer one2one

Le Guide Pratique des Processus Métiers

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

Chapitre VI- La validation de la composition.

BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)

UML et les Bases de Données

Modélisation des données

Systèmes d information et bases de données (niveau 1)

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

Évaluation et implémentation des langages

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

SECTION 5 BANQUE DE PROJETS

Management des processus opérationnels

CLAIRE, UN OUTIL DE SIMULATION ET DE TEST DE LOGICIELS CRITIQUES. Jean GASSINO, Jean-Yves HENRY. Rapport IPSN/Département d'évaluation de sûreté N 280

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

MEGA Database Builder. Guide d utilisation

UML est-il soluble dans les méthodes agiles?

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Introduction IV. Comparaison MERISE/UML/SCRUM Approche fonctionnelle Schéma Entité/Association Méthodologie...

M1 : Ingénierie du Logiciel

Génie Logiciel. Rappels. C. Crochepeyre Génie Logiciel Rappels 1

RAPPORT DE CONCEPTION UML :

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Windows Server Chapitre 3 : Le service d annuaire Active Directory: Concepts de base

Analyse et Conception objet du logiciel Analyse et conception objet du logiciel : Méthode de conception objet et notation UML.

Chapitre 2. Classes et objets

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

Java 7 Les fondamentaux du langage Java

Conception, architecture et urbanisation des systèmes d information

Cas d'utilisation, une introduction

Créer et partager des fichiers

Nom de l application

Le langage UML 2.0 Notion d Objet

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Projet Active Object

Qu'est-ce que le BPM?

Identification du module

MEGA Application Portfolio Management. Guide d utilisation

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Méthodes d évolution de modèle produit dans les systèmes du type PLM

Chapitre 1 Introduction

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

A. Définition et formalisme

Modélisation conceptuelle des données Responsable: Dominique Schneuwly, Regis Caloz

Génie logiciel avec UML. Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique

Patrons de Conception (Design Patterns)

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Comprendre Merise et la modélisation des données

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24

OCL - Object Constraint Language

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

Site Web de paris sportifs

Générer du code à partir d une description de haut niveau

La Geo-Business Intelligence selon GALIGEO avec 26/10/2005 1

MODALITES DE SUIVI DU PROJET ANNUEL DU MASTER 2 SOLUTIONS INFORMATIQUES LIBRES

Génie Logiciel avec Ada. 4 février 2013

Processus d Informatisation

Transcription:

Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et méthodologies de conception qui sont mon environnement de travail.

Origine : Né de la fusion des méthodes objet dominantes (OMT, Booch et OOSE), puis normalisé par l'omg en 1997, UML est rapidement devenu un standard incontournable. UML n'est pas à l'origine des concepts objet, mais il en en donne une définition plus formelle et apporte la dimension méthodologique qui faisait défaut à l'approche objet. ULM est très proche des langages objets. UML Utilisé dans plusieurs domaine, architecture, mécanique etc.. 1) Qu'est-ce qu'un modèle? Un modèle est une abstraction de la réalité L'abstraction est un des piliers de l'approche objet. Un modèle est une vue subjective mais pertinente de la réalité. C est une frontière entre la réalité et la perspective de l'observateur. C est une vue de la réalité. Exemple : à partir de données d'observation (satellite...), on peut prévoir les conditions climatiques pour les jours à venir. Un modèle représente le système étudié, il réduit sa complexité et du reproduit ses comportements. Les modèles ont des liens entre elles, ces liens sont appelés des RELATIONS. Ces relations leurs permettent de communiquer et d avoir des privilèges. Quelques symboles de relation : 2) Comment modéliser avec UML? UML est un langage qui permet de représenter des modèles, mais il ne définit pas le processus d'élaboration des modèles! La modélisation UML se fait avec des diagrammes. Il y a deux types de diagramme, les diagrammes statiques et les diagrammes dynamiques. Les diagrammes statiques : ce sont des vues stables, leur comportement n évolue pas. 2

Paquetages (packages) : Les paquetages sont des éléments d'organisation des modèles. Ils regroupent des éléments de modélisation, selon des critères purement logiques. Ce sont des centenaires. Ils permettent d'encapsuler des éléments de modélisation (ils possèdent une interface). Ils permettent de structurer un système en catégories (vue logique) et sous-systèmes (vue des composants).on peut aussi les utiliser pour comme des espaces de noms. Exemple de packages: 3) Acteur Un acteur, au sens UML, représente le rôle d'une entité externe (utilisateur humain ou non) interagissant avec le système. Il est représenté par un bonhomme en fil de fer (en anglais stick man). On représente généralement à gauche l'acteur principal (idéalement il y en a un seul), et à droite les acteurs secondaires. Il est à noter qu'un utilisateur peut amener à jouer plusieurs rôles vis-à-vis du système et à ce titre être modélisé par plusieurs acteurs. Exemple d un acteur Pour résumer, un acteur est un utilisateur du système. C est un homme, une machine ou un programme. 3

4) Les Cas d utilisations Un cas d'utilisation (en anglais use case) permet de mettre en évidence les relations fonctionnelles entre les acteurs et le système étudié. Le format de représentation d'un cas d'utilisation est complètement libre mais UML propose un formalisme et des concepts issus de bonnes pratiques. Le diagramme de cas d'utilisation permet de représenter visuellement une séquence d'actions réalisées par un système, représenté par une boîte rectangulaire, produisant un résultat sur un acteur, appelé acteur principal, et ceci indépendamment de son fonctionnement interne. Exemple de Cas d utilisation Retenons qu un cas d utilisation (use case) permet de mettre en évidence un acteur du système et les fonctionnalités dont il profite. 4.1 Relations entre cas d'utilisation Trois types de relation standard entre cas d'utilisation sont proposés par UML : include: le cas d'utilisation dépend explicitement et de manière obligatoire d une autre cas d'utilisation à l'endroit spécifié. Exemple de relation include 4

extend: le cas d'utilisation dépend implicitement de manière facultative un autre cas d'utilisation à l'endroit spécifié. Exemple de relation extend généralisation: les cas d'utilisation descendants héritent des propriétés de leur parent. 5) Diagramme qui fait quoi C est le diagramme qui représente l ensemble des acteurs du système, avec leurs hiérarchies, qui agissent sur toutes les fonctionnalités du système. Hiérarchie des cas d utilisations L hiérarchie d un cas d utilisation c est sa décomposition en sous cas d utilisations sous forme d arbre. Ces sous sont aussi décomposés à leur tour jusqu'à ce qu il n y ait plus de décompositions. Les cas d utilisations les plus bas sont des feuilles. Ce sont des méthodes qui seront développées dans des classes. Méthode et classe seront abordées dans le prochain cours.. 5

Exemple d hiérarchie des cas d utilisations 6

6) Les classes et Objet Une classe est un type abstrait caractérisé par des propriétés (attributs et méthodes) communes à un ensemble d'objets et permettant de créer des objets ayant ces propriétés. Classe = attributs + méthodes + instanciation. Attribut : c est une variable de la classe. Méthode : c est une opération de la classe. Ne pas représenter les attributs ou les méthodes d'une classe sur un diagramme, n'indique pas que cette classe n'en contient pas. Il s'agit juste d'un filtre visuel, destiné à donner un certain niveau d'abstraction à son modèle. De même, ne pas spécifier les niveaux de protection des membres d'une classe ne veut pas dire qu'on ne représente que les membres publics. Là aussi, il s'agit d'un filtre visuel. Niveau de protection = portabilité. Exemple d une classe: Prototype d une classe Instance d une classe Un objet est une instance de la classe, exemple : Pour un modèle complexe, plusieurs diagrammes de classes complémentaires doivent être construits. On peut par exemple se focaliser sur : les classes qui participent à un cas d utilisation, les classes associées dans la réalisation d'un scénario précis, les classes qui composent un paquetage, la structure hiérarchique d'un ensemble de classes. 7

6.1) Associations entre classes Une association exprime une connexion sémantique bidirectionnelle entre deux classes. L association est instanciable dans un diagramme d'objets ou de collaboration, sous forme de liens entre objets issus de classes associées. Exemple : 6.2) Rôle : Le rôle spécifie la fonction d'une classe pour une association donnée (indispensable pour les associations réflexives). Exemple : 6.3) Cardinalité : précise le nombre d'instances qui participent à une relation. Expression : n : un entier supérieur à 0 : exemples : 2, 3 n..m : intervalle de n à m avec n <= m et n>=0. Exemple : 1..10 * : plusieurs (équivalent à "0..n" et "0..*") n..* : "n" ou plus (n, entier naturel ou variable) : Exemples : "0..*", "5..*" Dans la pratique on utilise la notation avec * ou m mais pas les deux à la fois. Exemple : 1..*, 1..n. 8

6.4) Les Relations: Relation de dépendance : relation d'utilisation unidirectionnelle et d'obsolescence (une modification de l'élément dont on dépend, peut nécessiter une mise à jour de l'élément dépendant). Exemple: Association à navigabilité restreinte : Par défaut, une association est navigable dans les deux sens. La réduction de la portée de l'association est souvent réalisée en phase d'implémentation, mais peut aussi être exprimée dans un modèle pour indiquer que les instances d'une classe ne "connaissent" pas les instances d'une autre. Symbole Exemple 9

Association n-aire : il s'agit d'une association qui relie plus de deux classes... Note : de telles associations sont difficiles à déchiffrer et peuvent induire en erreur. Il vaut mieux limiter leur utilisation, en définissant de nouvelles catégories d'associations. Symbole Exemple Classe d'association : Une association concerne trois classes dont une qui permet de réaliser la navigation entre la navigation entre les instances des autres. Symbole Exemple 10

Agrégation faible (Aggregate): C est une relation de type 1..n, avec une faible dépendance. Symbole Exemple Agrégation forte(compose) : C est une relation de type 1..n, avec une forte dépendance. La suppression d une instance de classe mère entraine celle de la fille. Symbole Exemple 11