Cours 2 - Introduction à UML PDF
Document Details
Uploaded by HumaneCaesura6877
2024
Mostefai Mohammed Amine – Batata Sofiane
Tags
Summary
This document is an introduction to UML. It explores the concepts of modeling, different types of diagrams, and the rationale behind using UML in software development. It covers the different stages of UML development and the tools commonly used for this process.
Full Transcript
Cours 2 – Introduction à UML MODULE INTRODUCTION AU GÉNIE LOGICIEL MOSTEFAI MOHAMMED AMINE – BATATA SOFIANE COPYRIGHT © ESI 2023-2024 Objectifs du Cours Mostefai Mohammed...
Cours 2 – Introduction à UML MODULE INTRODUCTION AU GÉNIE LOGICIEL MOSTEFAI MOHAMMED AMINE – BATATA SOFIANE COPYRIGHT © ESI 2023-2024 Objectifs du Cours Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Sensibilisation au Introduction au besoin de standard UML modélisation Découverte des différents diagrammes UML IGL – Cours 3, Introduction à UML Plan du Cours Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Section 2 : Section 3 : Section 1 : Introduction Diagrammes Modélisation à UML UML IGL – Cours 3, Introduction à UML Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 IGL | Cours 3, Introduction à UML SECTION 1 Modélisation Qu’est-ce qu’un modèle ? Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Les modèles Un modèle est une représentent le Le modèle est une représentation du système selon des abstraction monde réel degrés différents de détails Une description ou une analogie qui Utilise une notation permet d’observer un graphique et simple élément difficile à observer directement IGL | Cours 3, Introduction à UML | Section 1, Modélisation 5 Cycle Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Modèle Prototype Produit IGL | Cours 3, Introduction à UML | Section 1, Modélisation 6 Modèle vs Prototype Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 IGL | Cours 3, Introduction à UML | Section 1, Modélisation 7 Modèle vs Prototype ou Produit Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Modèle Prototype ou Produit Classe A class ClassA{ merhod1() ….. method2() } class ClassB extends ClassA { …… Classe B } method3() IGL | Cours 3, Introduction à UML | Section 1, Modélisation 8 Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Modélisation L’action de concevoir un modèle dans un langage de modélisation dédié IGL | Cours 3, Introduction à UML | Section 1, Modélisation 9 Pourquoi ? Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Représenter Permettre des Faciliter efficacement Réduire les coûts visions différentes l’observation l’entité modélisée Utiliser une notation Faciliter la Simplifier les Uniformiser le graphique et communication aspects complexes langage simple IGL | Cours 3, Introduction à UML | Section 1, Modélisation 10 Contenu Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Modèle Code Contenu Packaging Contenu Packaging Classes Projets Classes Projets Relations Diagrammes Relations Binaires Membres Membres IGL | Cours 3, Introduction à UML | Section 1, Modélisation 11 Modèle vs Code Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Modèle Abstrait Graphique Orienté Conception Code Semi formel Concret Grandes lignes Textuel Partiel Orienté implémentation Très détaillé Complet IGL | Cours 3, Introduction à UML | Section 1, Modélisation 12 Transformations Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Reverse Engineering Code Modèle Génération de Code IGL | Cours 3, Introduction à UML | Section 1, Modélisation 13 Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Modélisation SECTION 1 – DÉBAT (10 MNS) IGL | Cours 3, Introduction à UML Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 IGL | Cours 3, Introduction à UML SECTION 2 Introduction à UML Origine Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Il existait plusieurs UML est la fusion méthodes de entre les travaux de modélisation et il y plusieurs spécialistes avait un besoin de de modélisation standardisation UML est un langage UML a été standardisé de modélisation, pas par l’OMG une méthode IGL | Cours 3, Introduction à UML | Section 2, Introduction à UML 16 Pourquoi UML ? Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 UML est UML est graphique simple UML est un standard IGL | Cours 3, Introduction à UML | Section 2, Introduction à UML 17 Historique Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Durant les années 70, la communauté a senti que les techniques d’analyse et de conception sont aussi importantes que le développement lui-même Au début des années 80, la POO se transforme d’un produit de laboratoire en de vrais produits, Smalltalk et C++ en étaient les premiers tests. Plusieurs méthodes d’analyse OO apparurent dont OMT de Rumbaugh, OOSE de Jacobson et OOAD de Booch 1995, Booch et Rumbaugh sortent la version 0.8 de UML 1996, Jacobson rejoint Booch et Rumbaugh au sein de Rational et travaille sur la version future de UML IGL | Cours 3, Introduction à UML | Section 2, Introduction à UML 18 OOAD Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 OMT IGL | Cours 3, Introduction à UML | Section 2, Introduction à UML Versions Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 IGL | Cours 3, Introduction à UML | Section 2, Introduction à UML 20 Outils Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Il existe une pléthore d’outils UML sur le marché : payant, gratuits et open source Outils payants : suite Rational, Sparx Enterprise Architect, Software Ideas Modeler, Visual Paradigm Outils gratuits / opensource : StarUML, ArgoUML, Archi, draw.io Intégration avec les IDE : Eclipse, Visual Studio IGL | Cours 3, Introduction à UML | Section 2, Introduction à UML 21 Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Introduction à UML SECTION 2, DÉBAT 05 MNS IGL | Cours 3, Introduction à UML Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 IGL | Cours 3, Introduction à UML SECTION 3 Diagrammes UML Diagrammes Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Le diagramme permet de Un modèle contient Le diagramme est une Un modèle peut contenir visualiser un modèle plusieurs types de vue partielle du modèle 0, 1 ou N diagrammes selon un angle de vue diagramme Chaque diagramme est Chaque type de Un modèle peut contenir Un diagramme doit être utilisé dans une ou diagramme cible un plusieurs diagrammes compact, lisible et plusieurs étapes du cycle aspect particulier du GL du même type expressif de vie du logiciel Un élément peut se trouver dans plusieurs UML 2.5 contient 22 diagrammes en même diagrammes temps et éventuellement du même type IGL | Cours 3, Introduction à UML | Section 3, Diagrammes UML 24 Types de diagrammes Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 IGL | Cours 3, Introduction à UML | Section 3, Diagrammes UML 25 Diagramme de cas d’utilisation (DCU) Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Fournit une vision du système en terme d’acteurs et leurs objectifs Le but du DCU est de déterminer quelles sont les fonctions effectuées par chaque acteur IGL | Cours 3, Introduction à UML | Section 3, Diagrammes UML 26 Diagramme de cas d’utilisation (DCU) Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Système bancaire ConsulterSolde Client ServeurBancaire EffectuerPaiement IGL | Cours 3, Introduction à UML | Section 3, Diagrammes UML 27 Diagramme de séquence (DSQ) Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Un diagramme d’interaction qui présente comment chaque processus interagit avec l’autre et dans quel ordre. Le DSQ illustre les interaction sur un axe temporel donné. Le DSQ liste les objets impliqués dans l’interaction afin d’atteindre un certain objectif. Ces diagrammes sont associés aux diagrammes de cas d’utilisation. IGL | Cours 3, Introduction à UML | Section 3, Diagrammes UML 28 Diagramme de séquence (DSQ) original: Album Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Utilisateur AlbumManager dupliquerAlbum(int) getAlbum(int): Album getPhotos(): Photo[*] liste= :Photo[*] Copie: Album renommer(String) opt Copier [Si liste n'est pas vide est si l'album n'est pas verrouillé] copierPhotos(liste) IGL | Cours 3, Introduction à UML | Section 3, Diagrammes UML 29 Diagramme d’activité Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Représentation graphique de workflows d’activités Décrit les opération étape par étape Support de flux conditionnel et itératif IGL | Cours 3, Introduction à UML | Section 3, Diagrammes UML 30 Diagramme d’activité Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Recevoir Commande Stock disponible [Non] [Oui] Mettre à jour inventaire Approvisionner Notifier IGL | Cours 3, Introduction à UML | Section 3, Diagrammes UML 31 Diagramme d’état Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Décrit le cycle de vie d’un système ou d’une entité Disponible [déterioration] Indisponible [rendu] [prêté] En prêt Perdu IGL | Cours 3, Introduction à UML | Section 3, Diagrammes UML 32 Diagramme de classes Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Souvent considéré comme le diagramme le plus important Définit les classes, leurs attributs et leurs relations Décrit la conception du système Utilisé aussi pour les taxonomies de domaine IGL | Cours 3, Introduction à UML | Section 3, Diagrammes UML 33 Diagramme de classes Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 «entity» Position 1..* Chemin 1 «interface» IGeoService + afficherPositionLivreur(): Position «interface» IGeoCalcul + proposerCheminLivreur(): Chemin GeoService + afficherPositionLivreur(): Position GeoCalcul + proposerCheminLivreur(): Chemin «entity» Livreur IGL | Cours 3, Introduction à UML | Section 3, Diagrammes UML 34 Diagramme de paquets Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Un paquet est un groupement d’éléments UML Le paquet peut fournir un espace de nom pour les éléments qu’il contient Tous les éléments UML peuvent être groupés dans des packages (pas uniquement les classes) Le diagramme de paquets définit les dépendances entres les paquets constituant un modèle IGL | Cours 3, Introduction à UML | Section 3, Diagrammes UML 35 Diagramme de paquets Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Commun RH Pédagogie + EmploiDeTemps + Scolarité IGL | Cours 3, Introduction à UML | Section 3, Diagrammes UML 36 Diagramme de déploiement Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Le diagramme de déploiement définit le « déploiement » physique des entités et des systèmes Par exemple, un système logiciel composé de plusieurs sous- systèmes logiciels et plusieurs serveurs physiques : définition où chaque sous-système va être déployé IGL | Cours 3, Introduction à UML | Section 3, Diagrammes UML 37 Diagramme de déploiement Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 «device» «device» Serveur BDD PC Client Serveur Application Application web «database» BDD «executable» TCP HTTP Navigateur Serveur web IGL | Cours 3, Introduction à UML | Section 3, Diagrammes UML 38 Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Diagrammes UML SECTION 3, DÉBAT 05 MNS IGL | Cours 3, Introduction à UML Bibliographie Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Software Engineering Right Edition, Ian Sommerville, Addison Wesley, 2007 Software Development and Professional Practice, John Dooley, APress, 2010 Software Development Life Cycle (SDLC), Togi Berra, course session 2 Rational Unified Process - Best Practices for Software Development Teams, IBM / Rational, 1998 IGL – Cours 3, Introduction à UML 40