Plan. Partie 2 : UML. Module Génie Logiciel : Cours d'analyse Orientée Objet.



Documents pareils
Chapitre I : le langage UML et le processus unifié

IFT2255 : Génie logiciel

Guichet automatique de banque

Analyse,, Conception des Systèmes Informatiques

Université de Bangui. Modélisons en UML

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

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

Formation : Modélisation avec UML 2.0 et Mise en pratique

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

Cas d'utilisation, une introduction

Table des matières Sources

Rational Unified Process

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

CC30 Certificat de compétence Conception, développement et animation de sites Web

Management des processus opérationnels

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

Le génie logiciel. maintenance de logiciels.

Génie Logiciel Orienté Objet UML

3. UML - Unified Modeling Language Diagrammes statiques

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

Méthodologies de développement de logiciels de gestion

ANALYSE D UN SYSTEME D INFORMATION ET EXTENSION DE

Business Process Modeling (BPM)

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

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

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

CINEMATIQUE DE FICHIERS

Les diagrammes de modélisation

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

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

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

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

UML (Paquetage) Unified Modeling Language

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

Diagrammes de Package, de déploiement et de composants UML

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

Cours de Génie Logiciel

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

Modélisation de Lignes de Produits en UML *

Introduction au Génie Logiciel

Diagramme de classes

Méthodologies Orientées-Objet!

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

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

Cours STIM P8 TD 1 Génie Logiciel

Site Web de paris sportifs

Par : ZIED TOUNSI PROJET DE FIN D ETUDE. Licence Appliquée GESTON DES PERSONNELS GOUVERNORAT DU KAIROUAN

UML 2.0. (IUT, département informatique, 1 re année) Laurent AUDIBERT

Bases de données et interfaces Génie logiciel

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

EXERCICES UML. Modéliser cette situation par un diagramme de cas d utilisation. Consulter planning

Génie Logiciel Avancé Cours 3 Le modèle à objets

Programme de formation

Méthodes de développement. Analyse des exigences (spécification)

UML (Diagramme de classes) Unified Modeling Language

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

Projet Active Object

CONCEPTION DE PROJET SIG AVEC UML

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

Le Rational Unified Process

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)

Pré-conditions : Evénement déclencheur : le client souhaite un virement. Description du déroulement du cas : Description des Use cases

guide pratique d utilisation d un terminal de paiement électronique EMV, à destination des commerçants CB

Comment retrouver le fichier "bingo" sauvegardé dans l'ordinateur? Socle commun

Réussir la modélisation UML des phases amont Techniques de «pré-modélisation» : un pont vers le modèle

Analyse par Objets. avec UML (Unified Modeling Language) Pr. Jean-Marc Jézéquel IRISA - Univ. Rennes I

M1 : Ingénierie du Logiciel

Description de la formation

Patrons de Conception (Design Patterns)

Identification du module

Introduction au génie logiciel

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

2 / ENONCER ET DECRIRE LES FONCTIONS DE SERVICE A REALISER

Qu'est-ce que le BPM?

Pascal Brunot Hadrien Cambazard UML FOR BUSINESS INTELLIGENCE PROJECT

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

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

RTDS G3. Emmanuel Gaudin

Besoins utilisateurs. Quelle démarche pour passer des besoins au code? Code. chapitre1 UNIFIED MODELING LANGUAGE. package LogiqueMetier.

Le Guide Pratique des Processus Métiers

Les outils graphiques d expression pour l analyse fonctionnelle des systèmes Domaine d application : Représentation conventionnelle des systèmes

Communiqué de Lancement

Le Processus Unifié de Rational

ERP open source une solution pour les entreprises. 17/02/2010 Page: 1

Refonte front-office / back-office - Expression des besoins -

Etude et développement d un moteur de recherche

Nom de l application

Quelques exemples d'élaboration de modèles conceptuels

Développement d un interpréteur OCL pour une machine virtuelle UML.

Middleware eid v2.6 pour Windows

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

Comprendre Merise et la modélisation des données

Refonte front-office / back-office - Architecture & Conception -

CATALOGUE FORMATION. Product Lifecycle Management. Juin 2013

Annexe : La Programmation Informatique

Programmation sous QT

Cours en ligne Développement Java pour le web

Transcription:

Partie II : UML

Plan Partie 2 : UML 1 - Présentation d'uml 2 - Les diagrammes de cas d'utilisation 3 - Les diagrammes de classes et d'objets 4 - Les diagrammes d'interaction 5 - Les diagrammes de comportement 6 - Les diagrammes physiques 7 - Mise en oeuvre d'uml 2

II.1. Présentation d'uml (Unified Modeling Language)

Présentation d'uml Historique Fin des années 80 : compétition des méthodes d analyse et de conception OO Booch : particulièrement adaptée au design et à l implémentation OOSE (Object Oriented Software Engineering, Jacobson) : expression des besoins OMT-2 (Object Modelling Technique, Rumbaugh) : analyse et applications orientées-données 1994 : Rumbaugh rejoint Booch chez Rational 1995 : Jacobson rejoint Rational 14 novembre 1997 : UML adopté par l OMG (Object Management Group) 4

Présentation d'uml Standardisation par l'omg UML 2.0 depuis 2003 Soumission à l'omg UML 1.0 en Janvier 97 Version bêta UML 0.9 Consortium en Juin 96 Draft en 95 Méthode unifiée 0.8 OOSE OMT BOOCH NB : UML peut se substituer aux méthodes Booch, OMT et OOSE sans perte d informations. 5

Présentation d'uml Qu'est-ce qu'uml «UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts d un système à base logicielle» 1 Langage : lexique (graphique), syntaxe (diagrammes), sémantique 2 Visualiser : représentation graphique 3 Spécification : précis, complet, non-ambigu 4 Construction : translation vers des langages de programmation 5 Documentation : des besoins aux tests 6

Présentation d'uml Qu'est-ce que n'est pas UML Ce n est pas une méthode objet... c'est un langage de modélisation objet 7

Présentation d'uml Les diagrammes d'uml 1/3 Diagramme Diagramme structurel Diagramme comportemental Vue statique Vue dynamique 8

Présentation d'uml Les diagrammes d'uml 2/3 Diagramme structurel 1 d objets 2 de classes 3 de composants 4 de déploiement Diagramme comportemental 1 de cas d utilisation 2 de collaboration 3 de séquence 4 d activités 5 d états-transitions 9

Présentation d'uml Les diagrammes d'uml 3/3 Diagramme Diagramme de structure Diagramme comportemental Diagramme de classes Diagramme de package Diagramme d objets Diagramme d activités Diagramme de cas d utilisation Diagramme de composant Diagramme de déploiement Diagramme de structure composite Diagramme d interactions Diagramme de transition d état Diagramme de séquence Diagramme de communication Diagramme vue d ensemble des interactions Diagramme de timing 10

Présentation d'uml La phase d'analyse Décrire les cas d'utilisation. Pour chaque cas d'utilisation, réaliser de un à n diagrammes d interactions (les diagrammes de séquence en premier pour statuer sur les fonctionnalités avec le client ; puis, passer aux diagrammes de collaboration pour continuer l analyse avec l équipe projet). À chaque diagramme de collaboration correspond une ébauche de diagramme de classes. Préciser lors de la création d une classe à quel package elle appartient. Faire la synthèse des diagrammes de classes pour un package donné. Pour chaque classe du diagramme de classes, faire un diagramme d'états-transitions (optionnel). 11

Présentation d'uml Les apports de la modélisation visuelle Meilleure appréhension des besoins Facilite la compréhension du problème Facilite la communication entre les personnes (client, experts du domaine, analystes, concepteurs,...) Support pour le raisonnement Améliore la lisibilité des schémas de conception Prépare la documentation et les programmes Facilite la maintenance 12

Présentation d'uml Guides pour appliquer la méthode Recueillir les besoins de l'utilisateur final Adopter le point de vue de l'utilisateur final Penser à la réutilisation Ne préciser que les caractéristiques utiles des classes Généralement dans le cahier des charges, les noms sont des classes ou des attributs de classes et les verbes sont des méthodes Raffiner la modélisation en éliminant les redondances dues aux synonymes, les informations dérivées qui peuvent être déduites, et en s'efforçant de ne pas introduire de détails d'implémentation 13

II.2. Diagrammes de cas d'utilisation

Définition et caractéristiques Ils se limitent aux préoccupations réelles des utilisateurs Ils identifient les utilisateurs du système et leur interaction avec le système Donne une vue externe du comportement du système Décomposition du système en termes de cas d utilisation et d acteurs Utile pour inventorier les fonctionnalités du système 15

Exemple Les cas d'utilisation décrivent, sous la forme d'actions et de réactions, le comportement d'un système du point de vue de l'utilisateur, encore appelé acteur. Système Cas d'utilisation X Cas d'utilisation Y 16

Exemple Les cas d'utilisation décrivent, sous la forme d'actions et de réactions, le comportement d'un système du point de vue de l'utilisateur, encore appelé acteur. Système Cas d'utilisation X Cas d'utilisation Y On recense, de la sorte, l'ensemble des fonctionnalités d'un système en examinant les besoins fonctionnels de chaque acteur. Client Voiture Conduire Réparer Vendre Mécanicien Vendeur 17

Objectif Comprendre et structurer les besoins du client Ne pas chercher l'exhaustivité mais clarifier, filtrer et organiser les besoins Une fois identifiés et structurés, ces besoins : Définissent le contour du système à modéliser Permettent d'identifier les fonctionnalités principales du système Permet une meilleure compréhension du système Interface entre tous les acteurs du projet C'est le premier modèle à concevoir. Ce diagramme joue un rôle central, il est capital de bien le définir 18

Éléments de base Acteur Nom 1 Ne fait pas partie du système 2 Quelqu un ou quelque chose qui interagit avec le système 3 En relation avec au moins un cas d utilisation 4 Un acteur peut jouer plusieurs rôles Cas d utilisation 1 Représente une fonctionnalité du système Description 19

Éléments de base Il existe 2 grandes catégories d'acteurs : les acteurs principaux. Cette catégorie regroupe les personnes qui utilisent les fonctions principales du système. Dans le cas d'un distributeur de billets, il s'agit des clients. les acteurs secondaires. Cette catégorie regroupe les personnes qui effectuent des tâches administratives ou de maintenance. Dans le cas d'un distributeur de billets, il s'agit de la personne qui recharge la caisse du distributeur. On distingue aussi : le matériel externe. Cette catégorie regroupe les dispositifs matériels autres que les ordinateurs comme les périphériques. Dans le cas d'un distributeur de billets, il s'agit de l'imprimante, du lecteur de carte, de la trieuse de billets. les autres systèmes. Cette catégorie regroupe les systèmes avec lesquels le système interagit. Dans le cas d'un distributeur de billets, il s'agit du groupement bancaire qui gère l'ordinateur central qui relie tous les distributeurs. 20

Les relations Relation de communication avec le système Relation d'utilisation entre cas Relation d'extension entre cas 21

Relation «Communique» 1 Relation non directionnelle entre un acteur et un cas d utilisation 2 Exprime les fonctionnalités primaires du système Client Retrait d'argent 22

Relation «Utilise» 1 Le comportement de B est inclus dans le comportement de A 2 La fonctionnalité B est nécessaire pour réaliser la fonctionnalité A 3 Permet d exprimer une fonctionnalité commune à plusieurs fonctionnalités (factorisation) A «use» B 23

Relation «Étend» 1 Équivalent à l héritage entre classes 2 B hérite du comportement de A, et le spécialise 3 B hérite des relations de communication décrites pour A A «extend» B 24

Exemple Retrait d'argent Client 25

Exemple Retrait d'argent << Use >> Client Identification 26

Exemple Retrait au guichet Client local << Extend >> Retrait d'argent << Use >> Client Identification 27

Exemple Retrait au distributeur Client local Client local Retrait au guichet << Extend >> Retrait d'argent << Extend >> << Use >> Client Identification 28

Exemple Retrait au distributeur Client local Client local Retrait au guichet << Extend >> Retrait d'argent << Extend >> << Use >> Client Identification 29

Elaboration des cas d'utilisation Quand? Utilisation en phase amont du projet Modélisation du système Test et validation Comment? Un cas d'utilisation doit être simple Nombre d'acteurs limités 30

Démarche 1 Lister les acteurs 2 Déterminer le rôle de chaque acteur 3 Déterminer les cas d'utilisation 4 Identifier le flot d'évènements auxquels le système doit réagir 5 Structurer les cas 6 Finaliser un ou plusieurs diagrammes par package 31

Description d'un cas d'utilisation Plan type 1 Nom du cas 2 Description 3 Acteurs principaux et secondaires 4 Pré-conditions 5 Post-conditions 6 Scénario nominal 7 Scénario(s) alternatif(s) 8 Règles - Remarques 32

Cas d'utilisation : Remplacer sa photo Un employé souhaite changer sa photo stockée dans l'annuaire de son organisation Acteur : Employé Pré-condition : L'employé est connu du système Post-condition : La nouvelle photo remplace l'ancienne Scénario nominal 1. Le système communique un formulaire d'identification 2. L'employé renseigne les champs et valide le tout 3. Le système transmet la photo de l'employé Remplacer sa photo 4. L'employé sélectionne un autre photo qu'il transmet au système 5. Le système remplace l'ancienne photo par la nouvelle 6. Le système confirme le succès de l'opération Employé 33

Extensions 1 à 4, L'employé peut annuler l'opération : Le cas s'arrête 3a, l'employé n'est pas connu du système : Retour en 1 3b, l'employé n'a pas de photo : Le système transmet l'image d'un pingouin 4, le système ne reconnaît pas le format de l'image transmise par l'employé : Le système en informe l'employé Retour en 3 Question ouverte Faut-il se préoccuper du poids de l'image transmise par l'employé? (du point de vue «système de réception et système de stockage) 34

Exercice : distributeur de boisson Caractéristiques principales du distributeur : Plusieurs choix possibles de boissons : chaudes ou froides Prix dépendant de la boisson choisie Rend la monnaie Caractéristiques secondaires du distributeur : Peut tomber en panne Doit être entretenu Utilisation typique : Introduire la monnaie Faire un choix de boisson Distribuer la boisson Rendre la monnaie Travail a effectuer 1. Identifier les acteurs et le système 2. Créer un diagramme général 3. Créer un diagramme détaillé 4. Présenter un cas d'utilisation : servir à boire 35