Modélisation Orientée Objet / UML

Slides:



Advertisements
Présentations similaires
Developpement Process « Coding party !! » Tony Carnal Altran.
Advertisements

1 UML : Unified Modelling Language Historique : Grady Booch 1981, ADA, « Object Oriented Development » James Rumbaugh 1991, OMT, JOOP (Journal of OO programming)
Projet de fin d'étude pour l'obtention du Diplôme Nationale d'Ingénieur en Informatique Conception et développement des modules de GED pour l’ indexation.
UML EPITECH 2009 UML1 - Introduction UML – Définition – Historique – UML en entreprise – Couverture Concepts – Objet – Classe –
UML Jean-Marc Vanel Septembre UML en Plan ● Introduction: historique, diagrammes, modèles, notions Orientées Objet, processus de développement.
1 UML partie 2 Jean-Marc Vanel Septembre /09/2016UML2 Visite guidée du langage (suite) Les mécanismes généraux Les paquetages Les stéréotypes.
Qu'est ce que le logiciel libre ?. Qu'est-ce qu'un logiciel ? ● C'est une application informatique qui répond à un besoin : traitement de texte, navigateur.
Programmation Objet en Python L2 (Informatique) 2011 – 2012 CM : Jerzy Karczmarczuk – TD/TP : Véronique Terrier (Cherchez-nous.
Système de gestion d'entrées pour un cinéma Scanvion Michel – Etudiant 4.
Les systèmes d'information 1- Une pratique quotidienne 2- Les données 3- Approche conceptuelle 4- Notion de serveur 5- Conception d'un système d'information.
OpenERP The inCloud Business Solution 3/3/ / Camptocamp Chambéry Vienne Lausanne ■ Éditeur et intégrateur de solutions Open Source.
1 UML: applications, études de cas ● Processus (Extreme Programming, Unified Process) ● Architectures ● Expression du besoin technique Conception Préliminaire.
1 Le stage informatique de Masters APIM et PIE (2012/2013) Ivana Hrivnacova Vincent Lafage Basé sur le stage informatique du LAL et IPN par (2005/2006):
MDA ( Model Driven Architecture ). Introduction Model Driven Architecture ● Framework ● Développement de logiciels ● Object Management Group (OMG) ●
Flex Web Roster. Introduction - Du cas concret au cas général ( titre de chapitre ) -Le problème de l’emploi du temps est un problème largement étudié.
Flex Web Roster 1TER 2012 Engilberge, Lludice, M'rah.
Présentation du programme
Introduction Bases de Données NoSQL Principe de base Avantages/Inconvénients L’évolution du Web 2.0 et actuellement Web 3.0, a montrée l’insuffisance des.
Présentée par: 1 Atelier personnalisation de l’apprentissage EIAH 2011.
UML2 : Panorama de la notation Laurent Henocque Enseignant Chercheur ESIL/INFO France
Un système autonomique basé sur des bases de connaissances pour améliorer les performances d’un entrepôt de données Réalisé par : OUSSAFI MOHAMMED HOURRI.
ANNEE ACADEMIQUE Institut Supérieur Emmanuelle D’Alzon de Butembo COURS: THEORIE DE BASE DE DONNEES : 45H PROMOTION: G2 Gestion Informatique.
Présenté par : ANDRIAMANALINA Favennec Costant CREATION D’UN SITE POUR L’APPRENTISSAGE DU CODE DE LA ROUTE CAS DU CLIENT DE LA SOCIETE ASA.
Classes, objets, séquences, communication, états
Algorithmique & Langage C IUT GEII S1
Utilisation des signaux sonores et lumineux
Les Bases de données Définition Architecture d’un SGBD
Cours Initiation aux Bases De Données
ANDROID OS.
Evaluer par compétences
Ch.1 : Modélisation des systèmes par SysML
Bases de données multimédia
Enquête sur les développements logiciels à l’IN2P3 et au DAPNIA
Formation professionnelle et Nouvelles Technologies
Production de documents pédagogiques et chaîne éditoriale
Chiffrement de bout en bout
Vers une méthode de développement pour les Systèmes Mixtes
Documentation sous licence GNU FDL v1.3 (Free Documentation Licence)
Les bases de données et le modèle relationnel
CARTER POUR SEPARATEUR ET DESHUILEUR
Les processus métiers : concepts, modèles et systèmes Claude Godart Université de lorraine. Esstin
Système flexible de Workflow pour la plate-forme Motu
Routage collaboratif dans un réseaux Mesh
Développement d’un réseau social de collaboration destiné aux médecins radiologues Soutenance de projet de fin d’étude En vue de l’obtention du diplôme.
Août 2009.
LES IDE DE CONCEPTION Myriam BAKAYOKO Manon RAJAONARIVELO Jeremy MICHEL André NOEL Guillaume GEBAVI Arthur AGERON Fabien SIMON - G6S2.
1 La gestion par activités (ABM) pour mieux gérer les coûts et les processus dans l’organisation. S o l u t i o n s `
Modélisation avec UML 2.0 Partie II Diagramme de classes.
La stratégie pédagogique en
Plus de 4000 langages....
Développement d’applications interactives
Outils et principes de base. Exemple d’application  Gestion de données d’enquête : Interface de saisie en ligne  insère directement les données dans.
Introduction en systèmes d’information et bases de données B.Shishedjiev -Introduction en BD 1.
I Copyright © 2004, Oracle. Tous droits réservés. Introduction.
Diagrammes UML 420-KE2-LG.
© Robert Godin. Tous droits réservés.
Transmission de données
FENIX Aperçu GLOBAL DU Système
Conception Orienté Objet Avancée UML et le Processus unifié Hela LTIFI 1.
Paradigme Orienté Objet
EPITECH 2009 UML EPITECH 2009
DESIGN PATTERN BUILDER KADRI LOUBNA CHARMATI SEWSEN.
PRESENTATION ACCESS Editeur : Microsoft Environnement Windows (SE)
Merise le modèle de traitement
Projet CRImage UNIVERSITE STENDHAL GRENOBLE
PAF Guillaume Martin - Fabrice Cizeron - Xavier Roulot
Qu’est ce qu’une page web? Comment fonctionne un site web?
DONNÉE DE BASE QM Manuel de formation. Agenda 2  Introduction  Objectif de la formation  Données de base QM: Caractéristique de contrôle Catalogue.
Transcription de la présentation:

Modélisation Orientée Objet / UML Laurent Henocque http://laurent.henocque.free.fr/ Enseignant Chercheur ESIL/INFO France http://laurent.henocque.perso.esil.univmed.fr/ mis à jour en Octobre 2006

Licence Creative Commons Cette création est mise à disposition selon le Contrat Paternité-Partage des Conditions Initiales à l'Identique 2.0 France disponible en ligne http://creativecommons.org/licenses/by-sa/2.0/fr/ ou par courrier postal à Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

Références Normatives L'infrastructure UML http://www.omg.org/cgi-bin/doc?formal/05-07-05 La superstructure UML http://www.omg.org/cgi-bin/doc?formal/05-07-04 OCL http://www.omg.org/cgi-bin/doc?ptc/05-06-06

Autres références Ce support de cours s'appuie sur des exemples concrets mis à disposition librement sur internet par différentes sources http://www.rational.com http://www.visualuml.com http://uml.free.fr http://http://www.sparxsystems.com.au/resources/uml2_tutorial/index.html

Objectifs Présenter une vision globale du problème et des enjeux de la modélisation jusqu'à UML2 avec des exemples visuels.

Abstractions et Modèles Qu'est ce qu'un modèle

Modèle <> Abstraction Un modèle est une représentation de la réalité faisant abstraction de larges niveaux de détail. S'il n'y a pas d'abstraction, il n'y a pas de modèle : on parle de la réalité Exemple de modèle : une maquette d'architecte

Abstractions et Modèles

Modèle <> Point de vue Un même problème peut avoir des modèles selon de très nombreux points de vue On s'intéresse alors seulement à un aspect du problème Par exemple : le schéma électrique d'un bâtiment en architecture

Abstractions et Modèles

Modèle <> Spécification Les modèles ont pour utilité première de décrire, pour communiquer Si l'on décrit pour communiquer avant de construire, le modèle tient lieu de document de spécification ou de conception

Modélisation en Informatique Pour la conception : diagramme d'activités décrivant un algorithme diagramme décrivant des classes avec leurs relations héritage et les associations un fichier ".h" déclarant des structures, fonctions, classes et méthodes sans préciser leur implantation

Modélisation en Informatique Pour la spécification diagrammes de cas d'utilisation diagrammes de séquence diagrammes de composants diagrammes de déploiement diagrammes d'architecture ...

Anciennes méthodes de Modélisation

Merise Une méthode conçue pour décrire des bases de données Permet de voir la base d'un coup d'œil, et de réfléchir aux optimisations à lui apporter (mise sous forme normale par exemple)

Merise

Merise

Merise avec Windev

Avantages / Inconvénients Merise n'est pas orientée objet (même si des évolutions en ce sens sont apparues en même temps que d'autres méthodes plus populaires aujourd'hui) diagrammes lourds manque d'abstraction ce n'est pas une méthode cognitive mais une méthode technique Très bien adaptée aux BD conventionnelles et encore très utilisée

La méthode OOA Object Oriented Analysis (Analyse Orientée Objet) Inventée par Grady Booch Une des premières méthodes "conceptuelles" ou cognitives Née dans le sillage du langage ADA Aujourd'hui noyée dans la méthode UML

OOA Booch héritage associations multiplicités

OOA différents types de relations

OOA

Avantages / Inconvénients Prise en compte de l'héritage Trop incomplète pour s'intégrer dans le processus logiciel plus loin que dans l'analyse (spécification avancée)

La méthode OMT Object Modeling Technique (Technique de Modélisation Objet) Inventée par Rumbaugh Tournée vers la conception Orientée Objet

OMT Rumbaugh héritage associations attributs méthodes paramètres accès (public privé)

OMT permet la génération de code

Avantages / Inconvénients A fait apparaître l'utilisation combinée de plusieurs diagrammes : diagrammes de classes / diagrammes d'états / diagrammes de flots A décrit le processus de raffinement d'un modèle Les diagrammes de flots de UML n'ont jamais été bien expliquée La méthode est trop près du programme

La méthode OOSE Object Oriented Software Engineering Inventée par Jacobson Une méthode pour l'analyse intitiale des usages de logiciel, fondée sur les "Cas d'utilisation" (Use case)

OOSE Jacobson

OOSE : vue objet entités contrôle interfaces

OOSE Messages

OOSE

Avantages / Inconvénients OOSE fournit la méthode permettant d'initier le processus de spécification / conception Aucun support pour faire évoluer la spécification vers une conception Ses diagrammes de composants et de flots ne sont pas convaincants

La méthode Objecteering Une méthode orientée objet, propriétaire (la société française Softeam), Populaire car elle était associée à un outil de "design", capable de générer du code En ce sens un premier vrai challenger orienté objet à Merise

Objecteering

Objecteering

Aujourd'hui UML 2.0 Fusion de OOA / OOSE / OMT Un standard de l' OMG Associée à des outils : Rational Rose / Poséidon / Borland Together / ... Couvre tous les aspects de la spécification, de l'analyse la plus initiale en passant par la génération de code au déploiement Très riche méthode cognitive

Approche fonctionnelle vs objet

Modularité Une modification élémentaire du modèle ne doit pas engendrer de modifications globales du logiciel

Approche Fonctionnelle L'approche du développement logiciel centrée sur les fonctions est non modulaire : Un changement dans les données se répercute en des changements massifs et diffus dans le code Exemple : gestion de bibliothèque : on doit prendre en compte un nouveau type de média (vidéo par exemple)

Impact des changements

Vue 4 plus 1 Point de vue moderne sur le logiciel (plus de fonctions)

Impact sur les Processus Permet de mieux séparer des activités qui sinon auraient été trop interdépendantes

Les aspects : un souci moderne de modularité Un exemple moderne de prise en compte de la modularité : la programmation orientée aspect Un aspect décrit des mécanismes ou des données qui s'étendent sur des ensembles de classes, indépendamment de la hiérarchie Exemple : le profiling Les aspects pour Java : AspectJ

Historique UML

Evolution 2003 : UML 1.5 2004 : UML 2.0