Méthodes de Développement Industriel (MDI)



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

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

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

Synergies entre Artisan Studio et outils PLM

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

Solutions industrielles pour l ingénierie des systèmes complexes

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

MANAGEMENT SOFTWARE FOR STEEL CONSTRUCTION

Génie logiciel (Un aperçu)

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

SAP Runs SAP Reporting Opérationnel & BI avec HANA et SAP Analytics. Pierre Combe, Enterprise Analytics Juin, 2015

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

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

UML : Unified Modeling Language

Thank you for choosing the Mobile Broadband USB Stick. With your USB Stick, you can access a wireless network at high speed.

Logiciel Libre & qualité. Présentation

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

Application Form/ Formulaire de demande

Institut français des sciences et technologies des transports, de l aménagement

Lean approach on production lines Oct 9, 2014

Empowering small farmers and their organizations through economic intelligence

Editing and managing Systems engineering processes at Snecma

AVOB sélectionné par Ovum

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

Guide d'installation rapide TFM-560X YO.13

Conférence Bales II - Mauritanie. Patrick Le Nôtre. Directeur de la Stratégie - Secteur Finance Solutions risques et Réglementations

SERVEUR DÉDIÉ DOCUMENTATION

Usine Numérique Intégration Produit Production

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

COMPUTING. Jeudi 23 juin CLOUD COMPUTING I PRESENTATION

Forthcoming Database

Utiliser une WebCam. Micro-ordinateurs, informations, idées, trucs et astuces

Cedric Dumoulin (C) The Java EE 7 Tutorial

Tier 1 / Tier 2 relations: Are the roles changing?

DES SYSTÈMES D INFORMATION

Conduite de projets SI. Les méthodes «Agiles» N QUAL/1995/3660e ORESYS

Gestion des prestations Volontaire

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

Programming Server-Side Web Applications with Object-Oriented PHP NC Group Syllabus. Duration: 75 hours 1-2-2

Règlement sur le télémarketing et les centres d'appel. Call Centres Telemarketing Sales Regulation

Consultants en coûts - Cost Consultants

Package Contents. System Requirements. Before You Begin

SHAREPOINT PORTAL SERVER 2013

Face Recognition Performance: Man vs. Machine

AGILE IPHONE DEVELOPMENT

Thank you for choosing the Mobile Broadband USB Stick. With your USB Stick, you can access a wireless network at high speed.

Plan. Department of Informatics

Instructions Mozilla Thunderbird Page 1

PROJET DE LOI. An Act to Amend the Employment Standards Act. Loi modifiant la Loi sur les normes d emploi

RÉSUMÉ DE THÈSE. L implantation des systèmes d'information (SI) organisationnels demeure une tâche difficile

Contents Windows

The UNITECH Advantage. Copyright UNITECH International Society All rights reserved. Page 1

ENOVIA 3DLive. IBM PLM Solutions 1 er Octobre Philippe Georgelin Sébastien Veret

FOUNDATIONS OF SYSTEMS AND PROPERTIES: METHODOLOGICAL SUPPORT FOR MODELING PROPERTIES OF SOFTWARE-INTENSIVE SYSTEMS

PLM 2.0 : Mise à niveau et introduction à l'offre version 6 de Dassault systèmes

Qualité de la conception de tests logiciels : plate-forme de conception et processus de test

How to Login to Career Page

Township of Russell: Recreation Master Plan Canton de Russell: Plan directeur de loisirs

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00

Once the installation is complete, you can delete the temporary Zip files..

Frequently Asked Questions

WiFi Security Camera Quick Start Guide. Guide de départ rapide Caméra de surveillance Wi-Fi (P5)

Deadline(s): Assignment: in week 8 of block C Exam: in week 7 (oral exam) and in the exam week (written exam) of block D

Ingénierie et gestion des connaissances

setting the scene: 11dec 14 perspectives on global data and computing e-infrastructure challenges mark asch MENESR/DGRI/SSRI - France

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par.

The new consumables catalogue from Medisoft is now updated. Please discover this full overview of all our consumables available to you.

Bourses d excellence pour les masters orientés vers la recherche

Forum AMOA ADN Ouest. Présentation du BABOK. 31 Mars 2013 Nadia Nadah

Notice Technique / Technical Manual

La rencontre du Big Data et du Cloud

Workshop "Maintenance and reliability" November 9-10, 2011 Pascale Betinelli & Laurent Manciet on behalf of the Soleil CMMS working group

GIS and satellite remote sensing for humanitarian operations support SIG et télédétection pour le support aux operations humanitaires

Les Bonnes PRATIQUES DU TEST LOGICIEL

«Rénovation des curricula de l enseignement supérieur - Kazakhstan»

Lamia Oukid, Ounas Asfari, Fadila Bentayeb, Nadjia Benblidia, Omar Boussaid. 14 Juin 2013

Qualité et ERP CLOUD & SECURITY (HACKING) Alireza MOKHTARI. 9/12/2014 Cloud & Security

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

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

IPSAS 32 «Service concession arrangements» (SCA) Marie-Pierre Cordier Baudouin Griton, IPSAS Board

VTP. LAN Switching and Wireless Chapitre 4

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

Le passé composé. C'est le passé! Tout ça c'est du passé! That's the past! All that's in the past!

Cliquez pour modifier les styles du texte du masque

Iyad Alshabani SysCom - CReSTIC Université de Reims 17/02/2011 1

Analyse,, Conception des Systèmes Informatiques

France SMS+ MT Premium Description

La Poste choisit l'erp Open Source Compiere

GEIDE MSS /IGSS. The electronic document management system shared by the Luxembourg

Planning a Science Fair

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

MELTING POTES, LA SECTION INTERNATIONALE DU BELLASSO (Association étudiante de lʼensaparis-belleville) PRESENTE :

Data issues in species monitoring: where are the traps?

Enhancing cybersecurity in LDCs thru multi-stakeholder networking and free software

Rendez-vous la liberté avec Rational Quality Manager

Francoise Lee.

A GLOBAL VISION OF INFORMATION SYSTEM

Germe Grenoble 4 22/06/2012. Intervenant: Bruno Sbille

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

Transcription:

Méthodes de Développement Industriel (MDI) Mathieu Acher h"p://www.mathieuacher.com Associate Professor University of Rennes 1

Précédemment dans MDI 2

3

PDL en pratique?

Analyse Concep9on Réalisa9on Valida9on

Travail d équipe OrganisaDon Partage des tâches PlanificaDon CommunicaDon Code idéalement Bien conçu, modulaire, documenté Maintenable, compréhensible OuDls CollaboraDfs (e.g., système de versions)

Ingénierie Dirigée par les Modèles TODO Architecture

Idéalement: «modular black boxes» An9- PaIern Faible couplage Réu9lisabilité Encapsula9on Testabilité pen for extension

TesDng

Des logiciels complexes... n Logiciels de grande taille des millions de lignes de code des équipes nombreuses durée de vie importante des lignes de produits plateformes technologiques complexes évolution continue n Logiciels complexes n Logiciels critiques n 11

Software Engineering: Basics Eclipse, MagicDraw RUP, SCRUM, XP modèles, programmes, tests unitaires Patrons d architecture, patrons de conception Lignes de produit, processus itératif, TDD Modélisation et programmation Objet (UML, OCL, Java), Test (Junit) Séparation des préoccupation, abstraction, agilité 12

Conclusion 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 par l utilisation de la modélisation séparation des préoccupations montée en abstraction agilité des développements 13

Objec9fs de MDI Méthodes de développement industriel (MDI) En fait: génie logiciel / sorware engineering Comment développer des systèmes logiciels de plus en plus complexe? #1 Prendre conscience de la complexité des systèmes logiciels actuels et à venir Les enjeux et l impact sur le mé9er #2 Modélisa9on UML, SysML #3 Design pa"erns, refactoring, test OO avancé #4 Méthodes 14

Évolution des acteurs programmeur ingénieurs logiciels scientifique utilisateur utilisateurs Time 15

Oui, Oui, Oui, mais... n La mentalité de "l'informaticien moyen" a t elle radicalement évoluée? n Du "Codeur", au "Programmeur", à l' "Ingénieur Logiciel",... n L' "Ingénieur logiciel" prouve-t-il ses programmes? maintient-il à jour la documentation, les spécifications? 16

État de la pratique 50 ans après les débuts de l'informatique, pour "l'informaticien moyen la seule chose importante dans le logiciel c'est... le Code! => Ingénierie Dirigée par le code 17

Status in Software Industry assemblers middleware providers standardization organization architects site administrators component developers component testers application testers tool vendors end users 18

Status in Software Industry architects component developers assemblers middleware providers Many Stakeholders different concerns different domains variety of skills variety of tools different software artifacts component testers Separation of Concerns tool vendors application testers standardization organization site administrators end users 19

Séparations des préoccupations Point de vue des pompiers Point de vue du cadastre Point de vue des assureurs Point de vue des notaires Point de vue des promoteurs système Point de vue des architectes Point de vue des locataires Point de vue des plombiers Point de vue des électriciens Point de vue des paysagistes 20

Séparations des préoccupations Utile même pour des systèmes "moins" complexes Point de vue du cadastre Point de vue du propriétaire Point de vue du plombier Point de vue de l' électricien système Point de vue de l' architecte Point de vue du maçon 21

Problématique n Complexité croissante des logiciels n Séparations des préoccupations n Séparations des métiers n Multiplicité des besoins n Multiplicité des plateformes n Évolution permanente Logiciel = Code? Est-ce la solution? 22

Multiples modèles d'un système modèles pour les promoteurs modèles pour les pompiers modèles pour le cadastre modèles pour l'assureur cadastre système modèles pour les plombiers modèles pour les électriciens modèles pour les paysagistes modèles pour les notaires modèles pour les architectes 23

Ingénierie Dirigée par le Code ou Ingénierie Dirigée par les Modèles? Telle est la question... 24

système 25

Oui, Oui, Oui, mais... pour "l'informaticien moyen" la seule chose importante dans le logiciel c'est... le Code! 26

????? 27

Ingénierie Dirigée par les Modèles TODO Students at work From Teaching Programming Students how to Model: Challenges & Opportunities Prof. Robert B. France, EduSymp @ MoDELS, Oct. 2011

From Teaching Programming Students how to Model: Challenges & Opportunities Prof. Robert B. France, EduSymp @ MoDELS, Oct. 2011 Use of modeling techniques distinguishes a software engineer from a software developer (or programmer) Prof. Robert B. France Colorado State University http://www.cs.colostate.edu/~france/ The earlier you start to code the longer it takes to complete the program A good modeler is a good programmer; a good programmer is not always a good modeler Learning a programming language is easy, learning how to program is difficult 29

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é 30

Outline Issues in Software Engineering Evolution in Software Engineering State of the Practice Modeling in Software Engineering 31

Model to master complexity Modeling, in the broadest sense, is the costeffective use of something in place of something else for some cognitive purpose. It allows us to use something that is simpler, safer or cheaper than reality instead of reality for some purpose. Jeff Rothenberg The Nature of Modeling John Wiley & Sons, Inc., August 1989 32

Model A model represents reality for a given purpose; the model is an abstraction of reality in the sense that it cannot represent all aspects of reality. This allows us to deal with the world in a simplified manner, avoiding the complexity, danger and irreversibility of reality. Jeff Rothenberg The Nature of Modeling John Wiley & Sons, Inc., August 1989 33

Exemples de modèles Modèle météorologique à partir de données d observation (satellite ), il permet de prévoir les conditions climatiques pour les jours à venir. Modèle économique peut par exemple permettre de simuler l évolution de la bourse en fonction d hypothèses macro-économiques (évolution du chômage, taux de croissance ). Modèle démographique définit la composition d un panel d une population et son comportement, dans le but de fiabiliser des études statistiques, d augmenter l impact de démarches commerciales, etc. 34

Modeling in Science & Engineering A Model is a simplified representation of an aspect of the World for a specific purpose Specificity of Engineering: Model something not yet existing (in order to build it) M 1 (modeling space) Is represented by M 0 (the world) 35

UML: one model, 4 main dimensions, multiple views : Device" <<Actor>>" Operator" controls! 1" 0..*" start()" stop()" Device" : Operator" start( )" stop( )" Structural view Behavioral view ControllingSite" RemoteSite" TCP/IP" : Device" : Operator" : Operator" Functional view Implementation view 36

Une démarche sous-jacente Vue Fonctionnelle (use case diagram) Vue Structurelle (package, class, object, composite diagrams) Vue Comportementale (sequence, activity, state, timing, interaction and communication diagrams) 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) 37

Une démarche sous-jacente «Sketching User Experiences: Getting the Design Right and the Right Design» (Bill Buxton, Morgan Kaufmann, 2007) 38

Example Modeling a (simplified) GPS device Get position, heading and speed by receiving signals from a set of satellites Notion of Estimated Position Error (EPE) Receive from more satellites to get EPE down User may choose a trade-off between EPE & saving power Best effort mode Best route (adapt to speed/variations in heading) PowerSave (Case Study borrowed from N. Plouzeau, K. Macedo & JP. Thibault. Big thanks to them) 39

Modeling a (simplified) GPS device Use case diagram 40

Modeling a (simplified) GPS device Class diagram knows readsfrom route 41

Modeling a (simplified) GPS device Sequence diagram: configuring decoders 42

Modeling a (simplified) GPS device Sequence diagram: interrupt driven architecture Many more sequence diagrams needed 43

Modeling a (simplified) GPS device Targeting multiple products with the same (business) model Hand held autonomous device Plug-in device for Smart Phone Plug-in device for laptop (PCMCIA/USB) May need to change part of the software after deployment We choose a component based delivery of the software 44

Modeling a (simplified) GPS device Component diagram ReceiverI DataI <<Component>>" Decoder" DecoderI DataI Required port Provided Port 45

Modeling a (simplified) GPS device Deployment diagram 46

Model and Reality in Software n Sun Tse: Do not take the map for the reality n William James: The concept 'dog' does not bite n Magritte: n Software Models: from contemplative to productive 47

Towards Model Driven Engineering Distribution Security AOMDE = Pleonasm because a Model is an Abstraction of an Aspect of Reality for a given Purpose Fault tolerance Functional behavior Use case model borrow deliver reser ve return setdamaged Book state : String User Platform Model Design Model Change one Aspect and Automatically Re-Weave: From AORE, SPL to DAS Code Model 48

Towards Model Driven Engineering A metaphor for Model Driven Engineering, J. Haan, 2009. 49

La modélisation: quelle 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 50

Adoption of Software Modeling * Use of Modeling in software Engineering Analysis Design Development Test Deployment Maintenance Runtime? design, documentation analysis... detailed design requirement management,... DSML, transformation/ systems engineering... composition... V&V, (code, test) generation. maintenance... runtime. 51