Démarche d application d UML

Documents pareils
Cours Gestion de projet

Guichet automatique de banque

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

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

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

UML (Diagramme de classes) Unified Modeling Language

Université de Bangui. Modélisons en UML

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

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

Nom de l application

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

OCL - Object Constraint Language

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

Processus de Développement Logiciel

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

IFT2255 : Génie logiciel

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

CINEMATIQUE DE FICHIERS

Processus de Développement Logiciel

Le Guide Pratique des Processus Métiers

A-t-on le temps de faire les choses?

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

Génie logiciel (Un aperçu)

RTDS G3. Emmanuel Gaudin

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

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

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

Les méthodes itératives. Hugues MEUNIER

Gestion Projet. Cours 3. Le cycle de vie

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

Analyse,, Conception des Systèmes Informatiques

ASR1 TD7 : Un microprocesseur RISC 16 bits

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

Structurer ses données : les tableaux. Introduction à la programmation

Chapitre I : le langage UML et le processus unifié

M1 : Ingénierie du Logiciel

GL Processus de développement Cycles de vie

Thème 2 : Cycle de vie des projets d innovation: ambigüité, incertitude, production de savoir et dynamisme

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

GL Le Génie Logiciel

backlog du produit Product Owner

Méthodologies Orientées-Objet!

2 e partie de la composante majeure (8 points) Les questions prennent appui sur six documents A, B, C, D, E, F (voir pages suivantes).

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

Chapitre 5 Vision Informatique Logique Architectures Applicative et Logicielle

XP : plus qu'agile. Extreme Programming v2 et Développement Responsable. Thierry Cros

Microsoft Windows XP. Movie Maker 2

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

Projet Active Object

Guide d installation des licences Solid Edge-NB RB

Méthodes agiles. CONSEIL & DÉVELOPPEMENT DE SOLUTIONS E-BUSINESS. Jean-Louis Bénard jlb@businessinteractif.

Table des matières Sources

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

Espace FOAD IRTS Guide de l étudiant Septembre 2009

Introduction au génie logiciel

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet

Application web de gestion de comptes en banques

SECTION 5 BANQUE DE PROJETS

Interface Homme-Machine 1

Le "tout fichier" Le besoin de centraliser les traitements des fichiers. Maitriser les bases de données. Historique

Business Process Modeling (BPM)

1. Considérations sur le développement rapide d'application et les méthodes agiles

Le scoring est-il la nouvelle révolution du microcrédit?

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

Développement ebusiness

Débuter avec OOo Base

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

VI- Exemples de fiches pédagogiques en 3 ème année primaires

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

Formation Août 2013 Michèle Garello, IEN économie gestion Caroline Natta, professeur

SQL Server Installation Center et SQL Server Management Studio

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

LA MAIN A LA PATE L électricité Cycle 3 L électricité.

Cours STIM P8 TD 1 Génie Logiciel

CONSULTATION SUR PLACE

OMGL 6 Cahier des charges

Concepteur Développeur Informatique

Séance 1 Méthodologies du génie logiciel

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

Quels sont les enjeux?

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

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

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

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

Introduction au Génie Logiciel

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

Méthode Agile de 3 ème génération J-P Vickoff

«Dire et écrire» pour réaliser une composition en travail collaboratif en géographie. Agnès Dullin, lycée J. Racine 20 rue du Rocher, Paris

Licence professionnelle Réseaux et Sécurité Projets tutorés

Mercredi 15 Janvier 2014

LES INTERFACES HOMME-MACHINE

ils entretiennent entre eux des flux, ils partagent des perceptions sur l environnement

A. Définition et formalisme

CHAPITRE 3 : LES METHODES AGILES?

INTRODUCTION AUX METHODES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES

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

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

Faire de la publicité sur GOOGLE AD-WORDS

SOUTIEN INFORMATIQUE DEP 5229

Transcription:

Démarche d application d UML Comment bien utiliser UML? Bonnes pratiques Avertissement Il n y a pas UNE démarche officielle Sinon le PU avec ses branches fonctionnelles et techniques disjointes Valable pour les grands projets Mais plusieurs démarches appliquées par les professionnels fonction de leur culture, de leur passé des besoins, du type d applications Démarche synthétique Cas d utilisation Modèle du domaine Diagramme de séquence du système Identification des principales IHM Diagramme d activités de navigation Diagramme de séquence d interaction Diagramme de classes

Démarche proposée (1) 1. Cas d utilisation Identifier : les acteurs les cas d utilisation Structurer les cas d utilisation en packages Décrire textuellement chaque cas d utilisation à l aide d une fiche descriptive Démarche proposée (2) 2. Modèle du domaine Identifier les concepts métier manipulés par les acteurs Etablir un glossaire des classes : liste des classes avec leurs attributs Démarche proposée (3) 3. Diagramme de séquence système Détailler chaque cas d utilisation en voyant le système comme une boîte noire. Pour chaque cas d utilisation, on pourra distinguer : le scénario nominal : le chemin le plus direct pour atteindre l objectif du cas d utilisation. les extensions : qui comprennent les chemins moins directs ainsi que les «exceptions». Elles doivent se brancher sur le scénario nominal.

Démarche proposée (4) 4.IHM Identifier les principales IHM Définir les principales méthodes à réaliser par chaque IHM Démarche proposée (5) 5.Diagramme d activités de navigation Représenter les différents chemins possibles entre les principaux écrans proposés à l utilisateur Démarche proposée (6) 6. Diagramme de séquence d interaction Détailler chaque diagramme de séquence pour les cas intéressants en faisant apparaître les différents objets (internes au système) qui interagissent

Démarche proposée (7) 7. Diagramme de classes Réaliser le diagramme de classes de conception attributs / méthodes / liens entre les classes Exemple : système bancaire Gérer les clients Ouvrir un compte guichetier Créditer compte responsable clientèle Débiter compte Consulter Comptes Gestion de commande client Packages Ouvrir un compte Gestion comptes Créditer compte Débiter compte Consulter Comptes Gestion commandes Gestion clients

Diag. séquences pour le cas "Ouvrir un cpte" uncompte: Compte guichetier << create >> fournir(infoclient) client Créditer (50) Éditer_Compte() Diag. d'activités pour "Débiter cpte" Ici on montre la logique du cas d'utilisation Débiter Compte : Débiter(montant) [solde insuffisant] [solde suffisant] Déduire montant du solde Diagr. de classes trivial! Compte numérocpte Solde Créditer(montant) Débiter(montant) getsolde() Éditer() 1..* <possède Client Nom Prénom adresse Éditer() Le constructeur n est pas mentionné ici en analyse, mais il est obligatoire pour les classes concrètes

Démarche détaillée des Cas d Utilisation (1) Présentation du contexte et du sujet (2) Acteurs autour du système diagramme de contexte statique identifier les acteurs (rôles abstraits) environnement humain et informatique du système lister et nommer les acteurs, les définir par une phrase Démarche Cas d utilisation (2) (3) Ajouter les échanges d'informations acteurs système les nommer, les définir par une phrase (diagramme de contexte dynamique) (4) Services rendus aux acteurs par le système (diagramme des cas d'utilisation) étude plus fine des interactions acteurs système, en dissociant en grandes fonctions nommer les services rendus, les définir par une phrase Démarche Cas d utilisation (3) (5) Pour chaque cas d'utilisation : Définir les objets partagés entre acteurs et système : Objets traités, mémorisés, produits, transformés objets du monde modélisé objets importants pour les acteurs objets persistants ou pas

Pour chaque cas d utilisation (suite) lister et nommer les objets (avec le vocabulaire des acteurs), les définir par une phrase identifier les classes candidates un diagramme de classe par cas d'utilisation relier les objets, nommer les liens, les définir par une phrase Démarche Cas d utilisation (4) (6) Réunir les objets des différents cas un unique diagramme des classes (les mêmes objets interviennent dans les différents cas) Attention! Rappel : UML est une méthode incrémentale et itérative Itérative on modifie et enrichit au fur et à mesure les diagrammes ; Incrémentale on peut livrer des lots utilisables Quelle différence?

Analogie la fabrication d'un immeuble Si on construit un immeuble par itérations : On fait les murs. On habille tout l'extérieur. On fait toute l'électricité. On habille tous les intérieurs. Si on construit un immeuble par incréments : On réalise un étage complet puis on passe au suivant. Chaque étage fini est comparable à une version livrable (un prototype -et non une maquette). Meilleures pratiques Pour une analyse conception d une application relativement isolée, démarche top-down : partir des uses case et arriver aux modules Pour un pb «d urbanisme de SI», ie de conception de différents SI qui possèdent des inter-relations entre eux, avec un objectif plus lointain de concevoir des systèmes qui vont être capables d évoluer en fonction des modifications de technologies ou des besoins, préférer une démarche bottom-up. l'urbanisme est moins une affaire de statique des domaines fonctionnels que de dynamique des échanges et de "gestion des flux". Critiques des méthodes de spécification Une autre vision du développement : les méthodes de programmation rapide

Approches classiques de développement Développement en cascades (waterfall) Merise Développement itératif et incrémental UML Basées sur la séquence : spécification / conception / réalisation / validation Fondées sur l'idée que le coût de modification du logiciel augmente de manière exponentielle dans le temps Obj.: chercher à définir complètement le produit avant de procéder à sa réalisation Problèmes chroniques Les spécifications sont définies au début du projet, alors qu'on en sait encore peu sur le sujet, Les spécifications différencient rarement ce qui est important de ce qui ne l'est pas, L'application se rigidifie progressivement en un produit "final" souvent difficile à faire évoluer et à maintenir, Les activités sont compartimentées en fonction des spécialités des développeurs ce qui pose des problèmes de répartition des tâches et limite la circulation des connaissances dans l'équipe Une nouvelle hypothèse Certaines pratiques de développement permettent de réduire de manière significative le coût de changement du logiciel il devient ainsi plus rentable de prendre les décisions le plus tard possible en s'appuyant sur l'expérience acquise au cours du développement lui-même

extreme Programming: XP Approche radicalement différente du développement fondée sur une ouverture permanente au changement Caractéristiques Spécifications définies au début du projet, puis revues, affinées et complétées tout au long du développement, Le client arbitre en permanence les priorités pour que l'équipe se focalise d'abord sur les tâches les plus importantes, L'application est maintenue simple et évolutive à travers un ensemble de pratiques de programmation strictes, Les développeurs travaillent toujours ensemble, ce qui favorise le transfert de connaissances, améliore la qualité du produit et rend le travail nettement plus motivant Par ex.: programmation en binômes Réf?