Yannick Prié Département Informatique Faculté des Sciences et Technologies Université Claude Bernard Lyon

Documents pareils
IFT2255 : Génie logiciel

Analyse,, Conception des Systèmes Informatiques

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

Chapitre I : le langage UML et le processus unifié

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

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

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

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

UML (Paquetage) Unified Modeling Language

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

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

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

3. UML - Unified Modeling Language Diagrammes statiques

OCL - Object Constraint Language

UML (Diagramme de classes) Unified Modeling Language

Cours STIM P8 TD 1 Génie Logiciel

Université de Bangui. Modélisons en UML

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

RTDS G3. Emmanuel Gaudin

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

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

Génie Logiciel Orienté Objet UML

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

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)*

Méthodologies de développement de logiciels de gestion

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur Le 23 novembre 2012

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

Le génie logiciel. maintenance de logiciels.

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

CONCEPTION DE PROJET SIG AVEC UML

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

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de

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

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

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

Conception, architecture et urbanisation des systèmes d information

Diagramme de classes

Rational Unified Process

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

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

Management des processus opérationnels

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

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

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

CNAM cours NFE107 : Urbanisation et architecture des SI Xavier Godefroy, Rapport sur le BPM, mai Le BPM

Description de la formation

COMMUNICATEUR BLISS COMMANDE PAR UN SENSEUR DE POSITION DE L'OEIL

ANALYSE D UN SYSTEME D INFORMATION ET EXTENSION DE

Cours en ligne Développement Java pour le web

Cours Gestion de projet

Démarches d urbanisation : réorganiser le Système d Information en structurant ses fonctions dans des blocs fonctionnels communicants.

Logiciel Libre Cours 3 Fondements: Génie Logiciel

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

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

Annexe : La Programmation Informatique

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

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

langage spécifiant un processus sous format XML Business Process Management : gestion de processus.

Modélisation des processus métiers et standardisation

SECTION 5 BANQUE DE PROJETS

ÉCOLE DE TECHNOLOGIE SUPÉRIEURE UNIVERSITÉ DU QUÉBEC THÈSE PRÉSENTÉE À L ÉCOLE DE TECHNOLOGIE SUPÉRIEURE

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

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)

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

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

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

Extensions à la formation. Laurent Pérochon, avril 2008, RMT Modelia, modélisation conceptuelle, formation UML, INRA Castanet Tolosan

Chapitre 5 Vision Informatique Logique Architectures Applicative et Logicielle

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

BES WEBDEVELOPER ACTIVITÉ RÔLE

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

Les diagrammes de modélisation

Yannick Prié Département Informatique - UFR Sciences et Techniques Université Claude Bernard Lyon

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

1. Présentation Quelques méthodes objet

Architecture Orientée Objet Pour l Ingénierie des SIP application à l Entreprise SAFCER

Identification du module

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Vérifier la qualité de vos applications logicielle de manière continue

Industrialiser la chaîne complète de fabrication 1ère partie - Les bénéfices de la solution logicielle IBM VisualAge Pacbase / Rational

Le Processus Unifié de Rational

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

Introduction au génie logiciel

modélisation solide et dessin technique

GL Le Génie Logiciel

Conception fonctionnelle de services d entreprise fondée sur l alignement entre cœur de métier et système d information

Génie logiciel (Un aperçu)

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

Brique BDL Gestion de Projet Logiciel

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

Cours de Génie Logiciel

LES INTERFACES HOMME-MACHINE

Objectif du cours. Outline. Complexité des systèmes modernes. La modélisation et UML dans les activités du Génie Logiciel...

Patrons de Conception (Design Patterns)

Introduction à la modélisation

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

En vue de l obtention du. Discipline : Informatique. Présentée et soutenue par Mohamed HADJ KACEM. Le Jeudi 13 Novembre 2008

Chapitre VI- La validation de la composition.

Transcription:

Yannick Prié Département Informatique Faculté des Sciences et Technologies Université Claude Bernard Lyon 1 2009 2010

Sondage sept 09 Analyse contexte / situation pour préparer la POO méthode de modélisation des donnéees. Méthode où l'on va représenter les actions, les utilisateurs, les besoins, les données et définir les interactions entre. ensemble de méthodes ayant pour objectif la modélisation de SI. permet de modéliser un problème. Il est ainsi plus facile, aprèsmodélisation, de rentrer dans la partie programmation d'un projet. sert à délimiter, à comprendre un projet informatique. Il est le pont entre l'énonciation des besoins utilisateurs et le SI à créer. L destiné à modéliser des SI, des événements, des traitements, des processus entre acteurs système de modélisation de données. Sert à représenter un SI et à rendre ce SI compréhensible par tous. permet de représenter un système informatique en fonction des besoins d'un client. Langage conçu pour être compris par tous! façon de représenter les données sous forme de schémas de différents types afin de mieux comprendre le problème. méthode de modélisation, permet de modéliser un problème. Utile pour l'analyse du problème. Permet de trouver une solution adaptée. outil de modélisation des concepts de l'oo sous forme de graphe, montre les classes et leurs relations

Sondage sept 09 méthode d'analyse qui comprend différents schémas. Permet de spécifier les objectifs, les processus, les acteurs, du projet Langage pour modéliser un modèle OO destiné à être codé (classes + relations) Méthode de modélisation qui permet de définir les différents cas d'utilisation, les différentes classes et leurs interactions permet de modéliser de plusieurs manières un SI et les interactions qu'il engendre. Propose des diagrammes qui permettent d'avoir une vision schématique de ce que devra faire le SI et son fonctionnement décrit un SI industriel, formé de différentes parties qui décrivent le SI sous des angles différents langage de modélisation, permet de modéliser un ensemble de classes ou de décrire le fonctionnement global d'un cas précis. Etape indispensable à la POO permet de modéliser les besoins de manière claire et précise. On utilise pour cela les diagrammes de classes, seq. représentation graphique du futur programme qui va être développé, utile pour le travail en équipe, permet aussi d'expliquer un programme à une personne n'ayant aucune connaissance en informatique permet de schématiser le fonctionnement voulu pour notre système en utilisant une notation standardisée et compréhensible pour un informaticien

Sondage sept 09 permet de modéliser un projet en partant des besoins utilisateur jusqu'à la réalisation du projet notation qui sert à modéliser une situation normalisation qui permet de décrire la structure des classes et leur implémentation ainsi que les interactions... permet de réaliser sur le papier des systèmes compréhensibles par tous méthode d'analyse objet permettant de modéliser, de représenter par le biais de diagrammes (acteurs, CU, seq...) ce qui doit être couvert par le périmètre de l'application langage de modélisation unifié pour représenter un SI à travers les objets qui le composent langage souvent vu comme une méthode. comporte 14 diagrammes. méthode de représentation de la POO qui permet de visualiser la structure de classe et les liens qui les unissent, permet donc de représenter le SI permet de modéliser, par le biais de différents diagrammes les besoins des utilisateurs. Permet aussi de modéliser de manière concise le SI qui sera nécessaire pour répondre aux besoins des utilisateurs (diag classes) langage de modélisation, permet de décrire la structure, le fonctionnement et l'organisation d'un programme de manière compréhensible représentation du projet. Sert à visualiser l'ensemble du projet de façon schématique. méthode pour schématiser les besoins sous forme graphique

Sondage sept 09 le modèle UML permet permet la compréhension du système par l'ensemble des acteurs / clients ou développeurs ensemble de méthodes et de diagrammes qui permettent de modéliser de manière précise un problème informatique méthode de modélisation qui sert à représenter un SI en en décrivant toutes les fonctionnalités à l'aide de plusieurs diagrammes méthodologie permettant de concevoir un outil bonne idée à la base, mais normes officielles tellement strictes et complexes que peu de monde les connaît réellement et qu'il ne doit pas y avoir deux personnes qui les appliquent de la même façon outil de modélisation pour la POO. Normes strictes. On peut facilement comprendre les classes à créer et les interactions entre les classes. méthode permettant de représenter une application sous une forme simple et compréhensible par tous. Elle permet de créer un base pour la modélisation du prolème. langage permettant de modéliser différentes choses comme des CU, des scénarii, des classes. Permet d'avoir une vision globale sur un projet. méthode d'analyse qui permet de schématiser les besoins de l'utilisateur et le fonctionnement d'un SI pour en tirer la structure des classes objet à mettre en place, ainsi que les interactions entre celles ci. UML fait donc le lien entre la demande initiale et le développement à proprement parler.

Pourquoi UML? Petite histoire d UML Principes généraux Quelques diagrammes

UML = Unified Modelling Language Unification de nombreux langages de modélisation graphique OO des années 1990, de diagrammes et de principes de modélisation à succès Défini par l OMG (Object Management Group) Un métamodèle et divers diagrammes dont diagrammes de classes diagrammes de séquences Utilisé pour concevoir, comprendre, échanger, à propos de systèmes d information UML n est pas une méthode

Histoire d UML Diagrammes et modélisation Généralités sur les diagrammes

Fin 80 / début 90 orientation de plus en plus marquée vers l objet Conséquence naturelle, mise en place de méthodes OOD : Object Oriented Design (Booch, 1991) HOOD : Hierarchical Object Oriented Design (Delatte et al., 1993) OOA : Object Oriented Analysis (Schlaer, Mellor, 1992) OOA/OOD : (Coad, Yourdon, 1991) OMT : Object Modeling Technique (Rumbaugh, 1991) OOSE : Object Oriented Software Engineering (Jacobson, 1992) OOM : Object Oriented Merise (Bouzeghoub, Rochfeld, 1993) Fusion (Coleman et al., 1994) Bilan de nombreuses méthodes (>50) ayant des avantages et des inconvénients des concepts assez proches, des notations différentes

1994 tentative de normalisation de l OMG, sans effet Rumbaugh (OMT) rejoint Booch (OOD) chez Rational Software objectif : créer une méthode en commun (méthode unifiée) 1995 présentation de la version 0.8 de la méthode arrivée de Jacobson (OOSE) chez Rational 1996 implication de l OMG (sous pression des industriels pour favoriser l interopérabilité des modèles) langage unifié UML 0.9 (Unified Modeling Language), 1997 UML 1.0 sort chez Rational UML 1.1 adopté par l OMG comme standard officiel

1997 2003 adoption par les entreprises UML 1.1 à UML1.5 : modifications/améliorations 2005 UML 2.0 quelques nouveaux diagrammes changements importants au niveau du méta modèle, pour permettre d utiliser UML pour la programmation 2007 UML 2.1.1 À suivre

Combinaison de principes à succès modélisation de données (E/A), de l activité, objet, en composants Objectif visualiser / spécifier / construire / documenter les artefacts de la conception d une application La norme elle même méta modèle et familles de diagrammes Utilisation pas de méthode préconisée pas de spécification technologique

Histoire d UML Diagrammes et modélisation Généralités sur les diagrammes

Modèle abstraction d un système composée d un ensemble d éléments de modèle ce qui est construit par et ce qui est perçu au travers des diagrammes (par le concepteur, le lecteur) conforme au méta modèle UML Vue projection d un modèle suivant une perspective qui omet les éléments non pertinents pour cette perspective. Elle se manifeste dans des diagrammes ex. : vue statique, vue fonctionnelle Diagramme présentation graphique d éléments de visualisation représentant des éléments de modèle (graphe) ex. : diagramme de classes, de séquences

(Larman 2005) Joueur -nom :string lance 2 Dé -valeur:int diagramme de classe, vue statique joue inclut 2 JeuDeDés :JeuDeDés d1:dé d2:dé lancer() : val1=getvaleur() : lancer() : Action_2 Modèle val2=getvaleur() : diagramme de séquences, vue dynamique

Les éléments de visualisation sont utilisés dans les diagrammes visuels, les éléments de modélisation forment le modèle lui même La syntaxe de UML dit comment composer les éléments. La sémantique du modèle dit ce qu ils signifient en termes objets. Par exemple dans un diagramme «dc1» on a mis les éléments de visualisation un conteneur composé de trois parties le texte «Etudiant» dans la partie du haut, le texte «suit : Cours» dans la partie médiane ce qui signifie qu on a les éléments de modélisation suivant classes «Etudiants», «Cours» l attribut «suit» associé à la classe «Cours» Etudiant suit: Cours La sémantique du langage spécifie ce que signifie un modèle objet qu une classe peut avoir des instances qu une instance a des attributs qu un instance peut être valeur d attribut etc.

Montrer les limites d un système et ses fonctions principales (pour les utilisateurs) à l aide des cas d utilisation et des acteurs Illustrer les réalisations de CU à l aide de diagrammes d interaction Modéliser la structure statique d un système à l aide de diagrammes de classes, associations, contraintes Modéliser la dynamique, le comportement des objets à l aide de diagrammes de machines d états Révéler l implantation physique de l architecture avec des diagrammes de composants et de déploiement Possibilité d étendre les fonctionnalités du langage avec des stéréotypes Un langage utilisable par l homme et la machine : permettre la génération automatique de code, et la rétro ingénierie

Structure Statique Implantation Diagrammes de classes / d objets Diagrammes de packages Diagrammes de composants Diagrammes de déploiement Diagrammes de cas d utilisation Fonctionnel Système Diagrammes d activités Diagrammes de séquences Comportement Diagrammes de machines d états Dynamique Interactions Diagrammes de structure composite Diagrammes de vue d ensemble des interactions Diagrammes de timing Diagrammes de communication Structure

(Fowler/Mellor) Esquisse conception / communication incomplétude Plan exhaustivité outils bidirectionnels Programmation model Driven Architecture / UML exécutable implantation automatique réaliste? Focus sur les diagrammes Focus sur le méta modèle

Différentes façons de voir UML : différentes façons de penser la conception l objectif et l efficacité d'un processus de génie logiciel donc essayer de comprendre le point de vue de l auteur pour chaque publication / site sur UML UML n est pas une méthode mais des principes de conception orientée objet sont sousjacents aux diagrammes aux façons de les présenter donc difficile de présenter uniquement les diagrammes on parlera aussi de méthode, de bonnes pratiques

Grandes caractéristiques itératives (vs cascade) analyse et conception tout au long du projet, pas seulement au début centrées sur les cas d utilisation besoins réels centrées sur l architecture Découpage d un projet en activités besoins : comprendre dans quoi s insère le système et ce qu il doit faire analyse : fonctionnement du système à hau niveau conception : fonctionnement logiciel réalisation : codage tests, déploiement

Présentation de UML 2, quelques points de UML 1 faites attention à la syntaxe quand vous rencontrez un diagramme Présentation = synthèse de nombreuses lectures mixe syntaxe et utilisation synthèse personnelle des bonnes pratiques présentées Présentation d UML non exhaustive ce cours contient beaucoup de choses utiles pour plus de précisions : livres de référence pour la description exacte (syntaxe et sémantique) : http:// www.omg.org/uml UML et le web beaucoup de sites web parlent d UML on trouve du bon et du moins bon

Deux types de règles pour l utilisation d UML normatives comment il faut faire, comité d experts : normes descriptives comment les gens font, usages, modes : conventions dans l utilisation peuvent être en contradiction avec la norme (surtout pour UML2) Règles utiliser le sous ensemble d UML qui vous convient droit de supprimer n importe quel élément d un diagramme droit d utiliser n importe quel élément d un diagramme dans un autre ce qui compte pour les auteurs d UML, c est le méta modèle, pas les diagrammes liberté de dessiner ce que l on veut surtout en mode esquisse, sur papier ou au tableau

Histoire d UML Diagrammes et modélisation Généralités sur les diagrammes UML

Mots clés pour regrouper en familles des éléments similaires d un modèle pour ne pas multiplier les symboles différents dans les diagrammes Ornements textuels associés à des éléments du modèle certains mots clé sont prédéfinis par UML Notation «mot clé» ex. «abstract» «interface» «à vérifier»

Permet d étendre le vocabulaire UML en dérivant des nouveaux éléments à partir d éléments existants par ajout de valeur étiquetées (nom=valeur) Notation : «stéréotype» Certains sont prédéfinis par UML Eg. «constructor» «getter» «entity» «boundary» «control» Possibilité d associer une icône forme visuelle déterminée ex. : pour «control»

Relation sémantique quelconque concernant un ou plusieurs éléments du modèle définissant des propositions devant être maintenues à Vrai pour garantir la validité du système modélisé Notation : {contrainte} contenu formel ou informel à côté des éléments concernés ex. {frozen}, {jamais détruit!}, {x y < 10} Certaines sont prédéfinies ex. xor, ordered D autres créées par l utilisateur langue, pseudo code, OCL

Commentaire annotation quelconque associée à un élément du modèle pas de sémantique pour le modèle Notation : note rectangle avec coin replié, lien pointillé avec l élément de visualisation concerné cercle en bout de ligne : plus précis Il existe des mots clé prédéfinis utilisables dans les commentaires ex. «besoin», «responsabilité» Commentaire Commentaire

Relation sémantique faible relation d utilisation unidirectionnelle entre deux éléments Notation flèche pointillée de l élément source vers l élément cible, éventuellement stéréotype / mot clé pour préciser le type de dépendance IHM Métier «le paquetage IHM est dépendant du paquetage Métier» Conséquences : Toute modification dans le paquetage Métier peut avoir des conséquences sur le paquetage IHM Une modification dans le paquetage IHM n a au vu de cette dépendance pas de conséquence sur le paquetage métier

Diagramme = association d éléments de dessin formes nœuds relation de graphe formes conteneurs texte Sémantique graphique importante graphe contenant / contenu Proximité Liberté pour le reste (positions ) N'importe quelle information peut être supprimée dans un diagramme attention : pas de déduction due à l'absence d'un élément

Auteur Stéréotype écrire Contrainte «gestion» auteur=yp version=2.0 {ordered} «persistent» Oeuvre Ne signifie pas qu il n y a pas d attributs

UML 2/4 : diagrammes statiques UML 3/4 : diagrammes dynamiques et d interactions UML 4/4 : concepts avancés