IFT2255 : Génie logiciel



Documents pareils
Analyse,, Conception des Systèmes Informatiques

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

Chapitre I : le langage UML et le processus unifié

Université de Bangui. Modélisons en UML

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

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

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

Génie Logiciel Orienté Objet UML

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

UML (Diagramme de classes) Unified Modeling Language

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

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

UML (Paquetage) Unified Modeling Language

Management des processus opérationnels

Cours STIM P8 TD 1 Génie Logiciel

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

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

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

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

Pascal Brunot Hadrien Cambazard UML FOR BUSINESS INTELLIGENCE PROJECT

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

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 est-il soluble dans les méthodes agiles?

Cours Gestion de projet

3. UML - Unified Modeling Language Diagrammes statiques

Diagramme de classes

Méthodologies de développement de logiciels de gestion

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

Rational Unified Process

Le génie logiciel. maintenance de logiciels.

Conception, architecture et urbanisation des systèmes d information

Les diagrammes de modélisation

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

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

RTDS G3. Emmanuel Gaudin

Christian Soutou UML 2. pour les. bases de données. Avec 20 exercices corrigés. Groupe Eyrolles, 2007, ISBN :

ANALYSE D UN SYSTEME D INFORMATION ET EXTENSION DE

Introduction au génie logiciel

Le Guide Pratique des Processus Métiers

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

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

Qu'est-ce que le BPM?

Description de la formation

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

Méthodologies Orientées-Objet!

Programmation Orientée Objet

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

Cours en ligne Développement Java pour le web

Semarchy Convergence for MDM La Plate-Forme MDM Évolutionnaire

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

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

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

CONCEPTION DE PROJET SIG AVEC UML

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)

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

Patrons de Conception (Design Patterns)

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

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

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

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

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

Identification du module

SECTION 5 BANQUE DE PROJETS

Conduite de projets informatiques Développement, analyse et pilotage (2ième édition)

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

Information utiles. webpage : Google+ : digiusto/

OCL - Object Constraint Language

Le Rational Unified Process

Le Processus Unifié de Rational

EP60.92 Projet d application pluridisciplinaire La chasse aux trésors

Talend Technical Note

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

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

Projet Active Object

Chapitre 2 - Architecture logicielle et construction d applications client-serveur

GOL502 Industries de services

Formation Méthode MDM. Architecture et procédés de modélisation des données de référence

Business Process Modeling (BPM)

Chapitre VI- La validation de la composition.

Génie logiciel (Un aperçu)

Devenez un véritable développeur web en 3 mois!

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

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

Chapitre 5 Vision Informatique Logique Architectures Applicative et Logicielle

LES INTERFACES HOMME-MACHINE

Business Process Design Max Pauron

CHAPITRE 3 : LES METHODES AGILES?

But de cette introduction à la gestion de projets :

Introduction au Génie Logiciel

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

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

Université du Québec à Montréal CALCUL AVEC ISO DE LA TAILLE DE LOGICIELS DEVELOPPES SELON RATIONAL UNIFIED PROCESS

Sujet de thèse CIFRE RESULIS / LGI2P

Processus d Informatisation

Modélisation et réalisation d un processus d ingénierie du logiciel

Catalogue des Formations

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

Introduction à la modélisation

Transcription:

IFT2255 : Génie logiciel Chapitre 6 - Analyse orientée objets Section 1. Introduction à UML Julie Vachon et Houari Sahraoui 6.1. Introduction à UML 1. Vers une approche orientée objet 2. Introduction ti à UML 3. Rappel de quelques concepts objets p.2 1

6.1.1. Vers une approche orientée objets Approche classique DFD-0 F0 Objet C Données + Traitements DFD-1 DFD-2 F4 F1 F5 F2 F6 F7 Données AB F3 F8 Objet A Données + Traitements Message Objet B Données + Traitements Message Données A Données B Approche orientée objets p.3 Vers une approche orientée objets Pour exploiter les concepts objets pour l analyse et la conception Définir un langage (syntaxe, sémantique) pour exprimer les concepts objets Définir une démarche d analyse et de conception par les objets pour Avoir une cohérence entre le paradigme de programmation par les objets (non utilisation de l approche structurée) Définir des vues qui couvrent tous les aspects d un logiciel à objets p.4 2

Vers une approche orientée objets Besoin d une méthodologie de développement orientée objets MÉTHODOLOGIE = Techniques + Modèles (notation) + Outils p.5 6.1.2. Introduction à UML p.6 Méthodologies existantes Les premières méthodologies d'analyse (c.1970) Découpe cartésienne (fonctionnelle et hiérarchique) Exemples : méthode structurée, de Jackson L'approche systémique (c.1980) Modélisation des données et des traitements Exemples : Merise, Axial, IE L'émergence des méthodologies objets (c.1990) Plus de 50 méthodes objet sont apparues Exemples : Booch, Classe Relation, Fusion, HOOD, OMT, OOA, OOD, OOM, OOSE Aucune ne couvre réellement tout le cycle de développement 3

Les premiers consensus (1995) OMT (James Rumbaugh) : vues statiques, dynamiques et fonctionnelles Diagrammes de classes, séquences, OOD (Grady Booch) : vues logiques et physiques Introduit le concept de paquetage (élément d'organisation des modèles) Diagrammes de composants, de déploiement, de collaboration OOSE (Ivar Jacobson) : couvre tout le cycle de développement Repose sur l'analyse des besoins des utilisateurs Diagramme de cas d utilisation p.7 Fusion et synthèse de méthodes dominantes: Unified Modeling Language UML 2.0 (2004) Standardisation par l OMG UML 1.0 (Janvier 97) UML 1.1 (Septembre 97) UML 0.9 (96) UML 0.8 (95) Autres méthodes Booch OMT OOSE Partenaires industriels p.8 4

UML c est Une norme (OMG) Un langage visuel de modélisation pseudo-formel (rigoureux, non formel) Diagrammes et éléments de modélisation (classes, association, agrégation, package ) p.9 UML c est Un support de communication qui facilite la représentation et la compréhension Notation graphique : facilite la comparaison et l'évaluation de solutions Notation rigoureuse : limite les ambiguïtés et les incompréhensions Notation abstraite : indépendante des langages de programmation, domaines d'application et processus de développement p.10 5

UML c est Un cadre d analyse par les objets Différents types de diagrammes pouvant être regroupés pour offrir différentes vues L analyse et la conception se font graduellement par l élaboration et le raffinement de modèles Pas de barrière stricte entre analyse et conception Les modèles d'analyse et de conception ne diffèrent que par leur niveau d abstraction (ajout de détails) Approprié pour une approche de développement incrémentale et itérative Ajout de diagrammes, raffinement, construction de prototype p.11 Diagrammes UML et vues Modèle UML = Ensemble de diagrammes décrivant le logiciel développé Le modèle UML d un logiciel peut être étudié sous différentes perspectives appelées «vues» Vue = Angle particulier sous lequel l un participant au développement voit le logiciel Combinaison de diagrammes intéressant (pour) un participant p.12 6

structure implémentation Utilisateur comportement environnement p.13 Diagramme d objets Diagrammes UML et vues Diagramme de classes structure Diagramme de cas d utilisation implémentation Diagramme de composants Diagramme de collaboration comportement Utilisateur environnement p.14 Diagramme de séquence Diagramme d états Diagramme d activités Diagramme de déploiement 7

Vue utilisateur Les vues de UML Définit les buts et objectifs des utilisateurs du logiciel. Définit les besoins (services & contraintes) requis par la solution. Vue unificatrice des autres vues en ce sens qu elle sert de référence à leur validation. Vue structurelle Décrit les aspects statiques représentant la structure du logiciel. Identification des éléments du domaine (classes, attributs, paquetages) et des relations (association, compositions, dépendance) entre eux Vue comportementale Décrit les aspects dynamiques et le comportement du logiciel. Spécifie les interactions et collaborations entre éléments du système. Montre la décomposition du logiciel en termes de processus, d interactions entre processus, de synchronisation et de communication entre activités p.15 Les vues de UML Vue implémentation Décrit les aspects de structure et de comportement de la solution Description de la réalisation, de l organisation en composants, des contraintes de développement Vue environnementale Décrit les aspects de structure et de comportement du domaine dans lequel la solution est réalisée Décrit les ressources matérielles (disposition, nature, performance) et comment elles sont utilisées par le logiciel p.16 8

Les diagrammes de UML Deux grandes catégories de diagrammes Diagrammes décrivant les aspects statiques Diagramme de classes : décrit les «données» du logiciel (structure, traitements, relations, contraintes, rôles) Diagramme d objets : diagramme de classes instancié utilisé pour illustrer un exemple particulier Diagramme de composants : montre l'architecture physique du logiciel et l'affectation des objets aux différents composants de cette architecture Diagramme de déploiement : montre la configuration des différents composants à l'exécution et leur distribution p.17 Les diagrammes de UML Deux grandes catégories de diagrammes Diagrammes décrivant les aspects dynamiques Diagramme de cas d utilisation : montre à un haut niveau d'abstraction une collection de cas d'utilisation caractérisant le comportement de tout le logiciel Diagramme de séquence : montre l'échange de messages entre objets en fonction du temps Diagramme de collaboration : s'intéresse à la structure de collaboration entre les objets (séquence, itération, concurrence) Diagramme d états : permet de décrire le comportement dynamique d'un objet (changements d états) Diagramme d activités : montre l'ensemble des traitements associés à une classe, une opération ou à un cas d'utilisation (workflow) p.18 9

UML n est toutefois pas une méthodologie, ni un processus de développement : c est cest un ensemble de notations de modélisation. Le choix du processus de développement dépend des contraintes et du domaine de l application Les auteurs de UML suggèrent l utilisation d un processus de nature incrémentale, itérative et dirigé par les besoins de l utilisateur p.19 Processus de développement suggéré Comment développer un logiciel avec UML? Processus itératif et incrémental On développe un modèle UML, soit un ensemble de diagrammes de différents types. À chaque itération Tout au long de l analyse et de la conception Compléter le modèle par de nouveaux diagrammes Raffiner les diagrammes déjà développés pour graduellement réduire leur degré d abstraction Développer des prototypes Valider le système par rapport aux cas d utilisation spécifiés p.20 10

Élaboration des diagrammes pendant l analyse et la conception En phase d analyse Développement des diagrammes de cas d utilisation, de classes, de séquence (ou collaborations), d activités, d états Phase de conception Raffinement des diagrammes de l analysel Développement des diagrammes de composants et de déploiement, ainsi que l architecture en packages. p.21 Références Documentation sur UML www.rational.com/uml/resources/documentation/index.jsp Rational Unified Process : Best practices for Software Development teams Quelques outils CASE supportant UML Commerciaux : Rational Rose, Together TogetherJ, NoMagic MagicDraw, I-Logix Rhapsody, Objecteering Objecteering/UML, Embarcadero Describe, PragSoft UML Studio Gratuits : Poseidon, ArgoUML, ClassBuilder Disponible au DIRO : Rational Rose Se connecter à une machine sous Linux Taper «inclure rose» Démarrer à l aide de la commande «rose &» p.22 11

6.1.3. Rappel de quelques concepts objets Objet Caractéristiques i ti Un état Poil gris-vert, yeux bruns, heureux, nommé Estomac Un comportement Miauler, courir, sauter, manger Identité Estomac_le_chat_de_PierreTremblay_NAS_999999999 Deux objets peuvent être égaux mais ne sont jamais identiques Estomac_le_chat_de_PierreTremblay_NAS_999999999 p.23 Rappel de quelques concepts objets Classe Description i générale é d un ensemble d objets Attributs (état) Opérations (comportements) Moule (prototype) général sur lequel on crée des objets du même type Partie P publique : interface Classe Chat Partie cachée : implantation Instance : objet crée de la classe Le chat Adrien est une instance de la classe Chat p.24 12

Rappel de quelques concepts objets Héritage Relation l entre deux classe Sémantique de l héritage Enrichissement Substitution Type d héritage Simple (hiérarchie) Multiple (risques de conflits) Classe Félin Classe Chat p.25 Rappel de quelques concepts objets Message Communication i entre deux instances Instance émettrice Nom de l opération Arguments et paramètres de sortie roger fido.attrape(ballon) p.26 13

Rappel de quelques concepts objets Variable, méthode d instance Variable, méthode de classe p.27 Rappel de quelques concepts objets Polymorphisme et liaison dynamique Aptitude d d'un même message à déclencher des opérations différentes selon le type dynamique (au moment de l exécution) de l instance auquel il est destiné Surcharge Dans une classe, un même nom est employé pour définir deux opérations (ou attributs) de signatures différentes p.28 14