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



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

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

Génie logiciel (Un aperçu)

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

Liste de conférences et revues Thème Com A

Introduction au génie logiciel

IFT2255 : Génie logiciel

Méthodes de Développement Industriel (MDI)

en SCÈNE RATIONAL Rational Démonstration SDP : automatisation de la chaîne de développement Samira BATAOUCHE sbataouche@fr.ibm.com

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

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

Editing and managing Systems engineering processes at Snecma

Eclipse Process Framework et Telelogic Harmony/ITSW

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

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

Analyse,, Conception des Systèmes Informatiques

Synergies entre Artisan Studio et outils PLM

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

Ingénierie et gestion des connaissances

Valorisez vos actifs logiciels avec Rational Asset Manager. Jean-Michel Athané, Certified IT Specialist IBM Rational Software

Description de la formation

Stage Ingénieur en développement logiciel/modélisation 3D

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

- Couches - Éléments - Domaines - ArchiMate et les techniques du BABOK

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

Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles

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

Macroscope et l'analyse d'affaires. Dave Couture Architecte principal Solutions Macroscope

DES SYSTÈMES D INFORMATION

Chapitre I : le langage UML et le processus unifié

VMware : De la Virtualisation. au Cloud Computing

NOM ENTREPRISE. Document : Plan Qualité Spécifique du Projet / Project Specific Quality Plan

GPC Computer Science

Modélisation de Lignes de Produits en UML *

MDA (Model Driven Architecture) principes et états de l art.

Etat de l art sur le développement logiciel dirigé par les modèles.

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

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

Classeur de suivi de l auditeur. Architecture et Ingénierie des Systèmes et des Logiciels

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

REMOTE DATA ACQUISITION OF EMBEDDED SYSTEMS USING INTERNET TECHNOLOGIES: A ROLE-BASED GENERIC SYSTEM SPECIFICATION

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

Introduction au Génie Logiciel

Rendez-vous la liberté avec Rational Quality Manager

COMPUTING. Jeudi 23 juin CLOUD COMPUTING I PRESENTATION

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

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

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

Le Product Backlog, qu est ce c est?

Cours Gestion de projet

Préparer un état de l art

UML : Unified Modeling Language

Conception, architecture et urbanisation des systèmes d information

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.

Cours en ligne Développement Java pour le web

Le cadre de conception est présenté sous forme d une matrice 6x6 avec les interrogations en colonne et les éléments de réification en ligne.

Enterprise Scrum Organisation des développements chez exo. Agile Tour Rennes 2010 / 10 / 07

Cedric Dumoulin (C) The Java EE 7 Tutorial

Environnement logiciel basé sur les modèles pour la conception collaborative de produit

Le Processus Unifié. Une Démarche Orientée Modèle. IUP NTIE - Master 1 - Jérémie Guiochet - 4/11/09

Forthcoming Database

GL Le Génie Logiciel

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

Maîtrisez la modernisation de votre patrimoine applicatif

Catalogue des formations. Depuis 15 ans, nous soutenons votre évolution. Leadership et potentiel humain Amélioration des processus

AGILE. Implémenter la pratique Scrum dans votre équipe?

1. Plan. 1. Plan Information essentielles...2

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

Utilisation de SysML pour la modélisation des réseaux de capteurs

GL Processus de développement Cycles de vie

Introduction du test dans la modélisation par aspects

WEB page builder and server for SCADA applications usable from a WEB navigator

Agile&:&de&quoi&s agit0il&?&

RTDS G3. Emmanuel Gaudin

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

Les nouvelles architectures des SI : Etat de l Art

La reconquête de vos marges de manœuvre

Containers : Outils magiques pour les Devops? OpenNebula et son écosystème pour une infrastructure cloud agile

INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE

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

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

Relions les hommes à l entreprise Linking people to companies

Cloud Computing: de la technologie à l usage final. Patrick CRASSON Oracle Thomas RULMONT WDC/CloudSphere Thibault van der Auwermeulen Expopolis

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

Problématiques de recherche. Figure Research Agenda for service-oriented computing

Introduction à la conception de systèmes d information

Jean-Philippe VIOLET Solutions Architect

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

ED STIC - Proposition de Sujets de Thèse. pour la campagne d'allocation de thèses 2013

INSTITUT MARITIME DE PREVENTION. For improvement in health and security at work. Created in 1992 Under the aegis of State and the ENIM

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril / 15

Les méthodes Agiles Introduction. Intervenant : Tremeur Balbous tremeur@agilegardener.com 04/09/2008

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

Plan. Department of Informatics

Scrum et l'agilité des équipes de développement

Réussir ses Déploiements Applicatifs

DotNet. Plan. Les outils de développement

Institut d Acclimatation et de Management interculturels Institute of Intercultural Management and Acclimatisation

Transcription:

Objectif du cours La modélisation et UML dans les activités du Génie Logiciel... ESIR2, GL (LSI) Benoit Combemale Université de Rennes 1, ESIR & IRISA (Triskell team) Benoit.Combemale@irisa.fr Identifier les activités de l ingénierie du logiciel, Comprendre le rôle de la modélisation dans l ingénierie du logiciel, Savoir passer d une utilisation passive à une utilisation active de la modélisation, Acquérir une vision pragmatique et efficace d UML. Ce cours n est pas une introduction à la notation et la sémantique d UML (cf. cours J.M. Jézéquel), mais une mise en situation d UML. Ce cours n est pas une introduction aux processus logiciel tel que RUP, mais permet de comprendre leur utilité Supports disponibles sur : http://www.irisa.fr/triskell/perso_pro/combemale/teaching/modeling/ 2 Outline Complexité des systèmes modernes From Software Engineering...... to Software Modeling: The Unified Modeling Language... Past, Present and Future: Open Conclusion! 3 4

Complexité des systèmes modernes Complexité des systèmes modernes - Critique - Temps-réel - Embarqué - Variabilité - Durabilité => Time To Market! - Plateforme 5 Complexité des systèmes modernes 6 Complexité des systèmes modernes Google :! 300 000 serveurs Autonomic Computing Cloud Computing PaaS, SaaS, IoS, IoT... répartis dans une vingtaine de datacenters. répondre à plus d'1 milliard de requêtes par jour, chacune interrogeant 8 milliards de pages Web en moins d'un cinquième de seconde! Building for Scale: - Distribué - Large-echelle 6,000 developer / 1,500+ projects Each product has custom release cycles few days to few weeks 1(!!) code repository No binary releases everything builds from HEAD 20+ code changes per minute 50% of the code changes every month Source: http://googletesting.blogspot.com/search/label/copeland 7 8

Quelques axes de la complexité critique, temps-réel, embarqué, distribué, paramétré, réutilisable, interoperable, durable, large-échelle, pervasif, dynamique, (auto-) adaptable, autonome... Software Engineering: definition! The production of operational software satisfying defined standards of quality...!... includes programming, but is more than programming!! The five components of Software Engineering [Meyer]: Describe: requirements, design, specification, documentation... Implement: design, programming Assess: testing and other V&V techniques Manage: plans, schedules, communication, reviews Operate: deployment, installation... 9 10 Software Engineering: definition Software Engineering: basics is a profession dedicated to designing, implementing, and modifying software so that it is of higher quality, more affordable, maintainable, and faster to build. Carlo Ghezzi, Mehdi Jazayeri, and Dino Mandrioli. Fundamentals of Software Engineering, 2nd edition. 2002. is a systematic approach to the analysis, design, assessment, implementation, test, maintenance and re-engineering of a software by applying engineering to the software. first appeared in the 1968 NATO Software Engineering Conference (to provoke thought regarding the perceived "software crisis" at the time). Cf. http://en.wikipedia.org/wiki/software_engineering 11 12

Software Engineering @ ESIR (LSI) Techniques Methods Principles, ESIR 3 and Tools approche générative, intégration continue,... Aspects, IDM, V&V ESIR 2 ESIR 1 Modélisation Objet et par contrat, patrons de conception et d architecture (composant, SOA...) du procédural...... à l objet. Principles, and Tools Principles, and Tools d un processus en cascade... à un processus en V, itératif et agile; ligne de produit; TDD; conduite de projet... identification des activités d un développement logiciel, cycle de vie en cascade. Tentative! Seamless Method- and Model-based Software and Systems Engineering 13 Seamless Method- and Model-based Software and Systems Engineering Eclipse, MagicDraw RUP, SCRUM, XP modèles, programmes, tests unitaires Patrons d architecture, patrons de conception Lignes de produit, processus itératif, TDD Manfred Broy http://en.wikipedia.org/wiki/manfred_broy Modélisation et programmation Objet (UML, OCL, Java), Test (Junit) from http://fose.ethz.ch/slides/broy.pdf Séparation des préoccupation, abstraction, agilité

A retenir... Outline Rappel: couplage fort de matériel et du logiciel! ingénierie système! Les systèmes (logiciels) deviennent de plus en plus prépondérants et complexes Le métier d ingénieur logiciel est complexe: principes, techniques, méthodes, et outils pour décrire, implémenter, vérifier, gérer, et rendre opérationnel un système logiciel Réponse de l Ingénierie du Logiciel! séparation des préoccupations! montée en abstraction! agilité des développements From Software Engineering...... to Software Modeling: The Unified Modeling Language... Past, Present and Future: Open Conclusion! 17 18 Des Modèles plutôt que du Code Un modèle est la simplification/abstraction de la réalité Nous construisons donc des modèles afin de mieux comprendre les systèmes que nous développons Nous modélisons des systèmes complexes parce que nous somme incapables de les comprendre dans leur totalité Le code ne permet pas de simplifier/abstraire la réalité La modélisation: qu elle utilisation? Pour réfléchir :! représentation abstraite! séparation des préoccupations Pour communiquer :! représentation graphique! génération de documentation Pour automatiser le développement :! génération de code! application de patrons! migration Pour vérifier :! validation et vérification de modèles (e.g., simulation, model-checking...)! model-based testing 19 20

La modélisation dans l ingénierie du logiciel Outline From Software Engineering...... to Software Modeling: Analyse Conception Développement Test Déploiement Maintenance Exécution * Taux d utilisation de la modélisation dans l ingénierie du logiciel The Unified Modeling Language... Past, Present and Future: Open Conclusion!? ET VOUS? conception, documentation analyse... conception avancée gestion des exigences, ingénierie système... V&V, génération (code, test). état de la pratique dans l industrie... DSML, transformation/ composition... maintenance... exécution. état de VOTRE pratique (?) état de la pratique que doit atteindre un ingénieur logiciel de l ESIR, parcours LSI! 21 22 et UML? Historique L utilisation d UML suit la même évolution dans l ingénierie du logiciel :! d une utilisation contemplative (pour réfléchir, communiquer)...!... à une utilisation active (pour vérifier, automatiser les développement,...).! UML est une notation ET une sémantique Attention:! UML n est QU UNE des notations et sémantiques Ingénierie des langages!! UML n est pas une méthode (RUP...) Les travaux des années 90 ont abouti à un consensus sur les besoins pour décrire un logiciel (cas d utilisation, objets, classes, méthodes, associations, package, composant...) Pourquoi?! Réfléchir! Définir la structure gros grain! Documenter! Guider le développement! Développer, tester et auditer 23 24

Les 4 vues d une modélisation UML Une démarche sous-jacente Vue Structurelle (package, class, object, composite diagrams) Vue Fonctionnelle (use case diagram) Vue Comportementale (sequence, activity, state, timing, interaction and communication diagrams) Analyse fonctionnelle (diag. de cas d utilisation) Spécification (diag. de classe métier, diag. de séquence système, principaux diag. d état/d activité) Conception : diag. de classe complet, diag. de composite et d objet, diag. de séquence, d état, d activité, de timing... Et...?? Vue Implementaion (component, deployment diagrams) La démarche doit être formalisée au sein d un processus Il existe certains processus standard (e.g., RUP) 25 26 Raffiner ses modèles: les profils Raffiner ses modèles: les profils Par nature, un modèle UML ne peut pas être productif! Indépendance des langages, sémantique trop générale Il faut donc spécialiser UML pour être productif! UML pour CORBA, UML pour EJB, UML pour RT, Un profil UML permet de spécialiser UML à un domaine particulier! p. ex., pour préciser qu une classe UML est en fait un EJB session Un profil est composé de stéréotypes, de tagged value et de contraintes (+ des règles de manipulation/ génération) Il existe plusieurs profils standards (EJB, CORBA, SPEM ), et des outils proposant des règles de génération. 27 28

UML: how it is defined? By a (meta)model! UML: excerpt of the metamodel Cf. OMG Unified Modeling LanguageTM (OMG UML), Infrastructure, Version 2.3, May 2010 (http://www.omg.org/spec/uml/) The UML metamodel is a (MOF-based) class model (+OCL constraints) that describes UML The metamodel describes the UML concepts and their relationships 29 30 Tools UML References and links IBM Rational Software Architect Softeam Modelio MagicDraw Sparx Systems Enterprise Architect Poséidon TopCased: http://topcased.gforge.enseeiht.fr/ Papyrus: http://www.papyrusuml.org! Eclipse (Helios) Modeling: MDT Papyrus ArgoUML, BoUML,... Books:! Pierre-Alain Muller, Nathalie Gaertner. Modélisation objet avec UML, second edition. Eyrolles, 2000.! many, many, many more books about UML are available. Just have a look on amazon! The Official OMG UML websites:! http://uml.org! http://www.omg.org/spec/uml/ Dia, Visio UML template! Full list at http://uml.org/#links-tools 31 32

Outline Seamless Method- and Model-based Software and Systems Engineering From Software Engineering...... to Software Modeling: The Unified Modeling Language... Past, Present and Future: Open Conclusion! Seamless Method- and Model-based Software and Systems Engineering from http://fose.ethz.ch/slides/broy.pdf 33 Manfred Broy http://en.wikipedia.org/wiki/manfred_broy Seamless Method- and Model-based Software and Systems Engineering from http://fose.ethz.ch/slides/broy.pdf

References References OMG specifications and white papers Jean-Marc Jézéquel! http://www.irisa.fr/prive/jezequel/enseignement/dvpobjetuml.htm! Poly C119 : http://www.irisa.fr/prive/jezequel/enseignement/ PolyUML/poly.pdf Bertrand Meyer SWEBOK: «Guide to the Software Engineering Body of Knowledge»! http://www.swebok.org! http://se.ethz.ch/teaching/2009-h/eprog-0001/ Computer Software Engineers and Computer Programmers Textbook : http://touch.ethz.ch/! http://se.ethz.ch/teaching/ss2007/252-0204-00/ C. A. R. Hoare, The Emperor's old clothes, Comm. ACM 24(2), 75-83 (February 1981)! http://tinyurl.com/3yk3v2! http://www.omg.org/! http://www.uml.org/ 37 References! http://www.bls.gov/oco/ocos303.htm Tips for Software Projects! http://www.comp.nus.edu.sg/~damithch/guide3e/ 38 References NATO Conference Get connected!! http://homepages.cs.ncl.ac.uk/brian.randell/nato/! blog, forum, rss, tutorials, mailing lists,... Conferences! ICSE: International Conference on Software Engineering! and many more: FSE, ASE, AOSD, MoDELS, ICST, PoPL, CBSE, ICSP, ICSM, ICMT, ICLP, ICFP, SPLC, EDOC, ECOOP, SPLASH/OOPSLA, ETAPS, DisCoTec, FM, IFM, ISSRE, etc. Journals! IEEE Software, TSE, TOSEM, ASE, SoSym, JOT, TAOSD, STVR, JSS, JSW, STTT, etc. 39 40