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...

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

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

Editing and managing Systems engineering processes at Snecma

Instructions Mozilla Thunderbird Page 1

Lean approach on production lines Oct 9, 2014

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

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

Frequently Asked Questions

Stéphane Lefebvre. CAE s Chief Financial Officer. CAE announces Government of Canada participation in Project Innovate.

Application Form/ Formulaire de demande

Comprendre l impact de l utilisation des réseaux sociaux en entreprise SYNTHESE DES RESULTATS : EUROPE ET FRANCE

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

SERVEUR DÉDIÉ DOCUMENTATION

Academic Project. B2- Web Development. Resit Project. Version 1.0 Last update: 24/05/2013 Use: Students Author: Samuel CUELLA

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

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

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

1.The pronouns me, te, nous, and vous are object pronouns.

Relions les hommes à l entreprise Linking people to companies

POLICY: FREE MILK PROGRAM CODE: CS-4

THE EVOLUTION OF CONTENT CONSUMPTION ON MOBILE AND TABLETS

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

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

Forthcoming Database

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

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

Nouveautés printemps 2013

Dans une agence de location immobilière...

Innovative BI with SAP Jean-Michel JURBERT D. de Marché BI, HANA, BIG DATA _ SAP France

Le Cloud Computing est-il l ennemi de la Sécurité?

Networking Solutions. Worldwide VSAT Maintenance VSAT dans le Monde Entretien. Satellite Communications Les Communications par Satellite

PEINTAMELEC Ingénierie

Bienvenue. #TwitterMobile

Génie logiciel. Systèmes et sous-systèmes. Modèliser des grands systèmes. Problématique. SS S-Syst1 SS S-Syst2 SS S-Syst3. Système.

Contents Windows

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

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

APPENDIX 6 BONUS RING FORMAT

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

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

affichage en français Nom de l'employeur *: Lions Village of Greater Edmonton Society

ADHEFILM : tronçonnage. ADHEFILM : cutting off. ADHECAL : fabrication. ADHECAL : manufacturing.

Tammy: Something exceptional happened today. I met somebody legendary. Tex: Qui as-tu rencontré? Tex: Who did you meet?

First Nations Assessment Inspection Regulations. Règlement sur l inspection aux fins d évaluation foncière des premières nations CONSOLIDATION

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

SHAREPOINT PORTAL SERVER 2013

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

La Poste choisit l'erp Open Source Compiere

iqtool - Outil e-learning innovateur pour enseigner la Gestion de Qualité au niveau BAC+2

AIDE FINANCIÈRE POUR ATHLÈTES FINANCIAL ASSISTANCE FOR ATHLETES

Must Today s Risk Be Tomorrow s Disaster? The Use of Knowledge in Disaster Risk Reduction

EN UNE PAGE PLAN STRATÉGIQUE

Package Contents. System Requirements. Before You Begin

Consultants en coûts - Cost Consultants

RAPID Prenez le contrôle sur vos données

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

MODERN LANGUAGES DEPARTMENT

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

Synergies entre Artisan Studio et outils PLM

Vanilla : Virtual Box

Plan. Department of Informatics

Logiciel Libre & qualité. Présentation

THALES et le Logiciel Libre

Cedric Dumoulin (C) The Java EE 7 Tutorial

Revision of hen1317-5: Technical improvements

De l Etudiant à SBA à l Enseignant Chercheur à l ENSMA

8. Cours virtuel Enjeux nordiques / Online Class Northern Issues Formulaire de demande de bourse / Fellowship Application Form

The assessment of professional/vocational skills Le bilan de compétences professionnelles

GAME CONTENTS CONTENU DU JEU OBJECT OF THE GAME BUT DU JEU

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

ANGULAR JS AVEC GDE GOOGLE

Quatre axes au service de la performance et des mutations Four lines serve the performance and changes

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

The impacts of m-payment on financial services Novembre 2011

Judge Group: P Title: Quel est meilleur: le compost ou le fertilisant chimique? Student(s): Emma O'Shea Grade: 6

Toni Lazazzera Tmanco is expert partner from Anatole ( and distributes the solution AnatoleTEM

POSITION DESCRIPTION DESCRIPTION DE TRAVAIL

XtremWeb-HEP Interconnecting jobs over DG. Virtualization over DG. Oleg Lodygensky Laboratoire de l Accélérateur Linéaire

Les marchés Security La méthode The markets The approach

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

that the child(ren) was/were in need of protection under Part III of the Child and Family Services Act, and the court made an order on

Le projet WIKIWATER The WIKIWATER project

SensOrLabs. a protocol validation platform for the IoT. Dominique Barthel, Quentin Lampin IMT/OLPS/BIZZ/MIS Apr 7th 2014, ST, CEA, LIG

CEPF FINAL PROJECT COMPLETION REPORT

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

FÉDÉRATION INTERNATIONALE DE NATATION Diving

Module Title: French 4

Gestion des prestations Volontaire

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

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.

LADIES IN MOBILITY. LIVE TWEET Innovative City

Language requirement: Bilingual non-mandatory - Level 222/222. Chosen candidate will be required to undertake second language training.

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

PANKA. PORTFOLIO Karina Pannhasith. Karina Pannhasith. URBANIA Ipad Magazine School Project 2012 Photoshop Illustrator Dreamweaver Hype - HTML5

Practice Direction. Class Proceedings

Railway Operating Certificate Regulations. Règlement sur les certificats d exploitation de chemin de fer CODIFICATION CONSOLIDATION

BNP Paribas Personal Finance

DIPLOME NATIONAL DU BREVET TOUTES SERIES

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

Transcription:

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

Disclaimer Matériel basé sur le travail de Benoit Combemale h"p://www.combemale.fr/modeling Supports en Français / Anglais h"p://www.mathieuacher.com/teaching/mdi Je suis enseignant- chercheur en génie logiciel / sohware engineering Comment synthéjser des variantes? 2

Objec3fs de MDI Méthodes de développement industriel (MDI) En fait: génie logiciel / sohware 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éjer #2 ModélisaJon UML, SysML #3 Design pa"erns, refactoring, test OO avancé #4 Méthodes 3

Modalités d Evalua3on Note de TP (40%) ImplémentaJon de design pa"erns et refactoring d un système +/- complexe Binôme Contrôle conjnu (60%) 2 notes au cours des TDs QuesJons de cours + exercices UML Design pa"erns 4

Aujourd hui / Today Méthodes de développement industriel (MDI) En fait: génie logiciel / sohware 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éjer 5

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

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

Software Complexity 8

Problems addressed in SE 1960 s: Cope with inherent complexity of software (Correctness) Size of «big» projects (LOC) 10 8 10 7 10 6 10 5 Milestone: Floyd assigning meaning to programs More than 10 years to mature. Mature <> solved! 10 4 Compiler 1965 1975 1985 1995 2005 9

Problems addressed in SE 1970 s: Cope with project size Size of «big» projects (LOC) 10 8 Milestone: Parnas, Yourdon: modularity & structure More than 10 years to mature 10 7 10 6 10 5 Packet Switching System 10 4 Compiler 1965 1975 1985 1995 2005 10

Problems addressed in SE 1980 s: Cope with variability in requirements Size of «big» projects (LOC) 10 8 10 7 Milestone: Jackson, Meyer: modeling, object orientation More than 10 years to mature Nokia s GSM infrastructure: 50% of requirements changed (after they were frozen) 60% of these changed at least twice! 10 6 10 5 Nuclear Submarine Control Packet Switching System 10 4 Compiler 1965 1975 1985 1995 2005 11

OO approach: frameworks 12

Problems addressed in SE 1990 s: Cope with distributed systems and mass deployment: Milestone: MS (COM), Szyperski: product-lines & components Size of «big» projects (LOC) 10 8 10 7 10 6 Nuclear Submarine Control GSM Network q Component = deployment unit n focus on non-functional properties n installation/execution concept Explicit (contractual) dependencies Configuration and connection 10 5 Packet Switching System 10 4 Compiler 1965 1975 1985 1995 2005 13

OO approach: Models and Components Frameworks Changeable software, from distributed/unconnected sources even after delivery, by the end user Guarantees? Functional, synchronization, performance, QoS 14

Problems addressed in SE 2000 s: pervasive software integration, accelerating technological changes (platforms) Milestone:? Size of «big» projects (LOC) 10 8 Windows 2000 10 7 GSM Network 10 6 10 5 Nuclear Submarine Control Packet Switching System 10 4 Compiler 1965 1975 1985 1995 2005 15

Software Complexity

Software Complexity See http://www.ohloh.net/p/gcc. Retrieved 2012-09-16. - 17 -

Software Complexity But also - 18 -

Programming-in-the-large See http://www.ohloh.net/p/gcc. Retrieved 2012-09-16. - Interoperability - 22 -

Requirements engineering/management problem http://www.washingtonpost.com/blogs/wonkblog/wp/2013/11/01/thirty-one-things-welearned-in-healthcare-govs-first-31-days/

Scalability problem Technical problems (e.g., inaccurate data, cancellation failures) Testing issues http://www.washingtonpost.com/blogs/wonkblog/wp/2013/11/01/thirty-one-things-welearned-in-healthcare-govs-first-31-days/

Instagram Story

Instagram Story «Instagram is an app that only took 8 weeks to build and ship, but was a product of over a year of work.» http://www.forbes.com/sites/limyunghui/2012/04/09/inspiring-insights-by-instagram-ceo-kevinsystrom-the-man-who-built-a-1-billion-startup/

Instagram Story «While I was there working in marketing, I started doing more and more engineering at night on simple ideas that helped me learn how to program (I don t have any formal CS degree or training)» http://www.forbes.com/sites/limyunghui/2012/04/09/inspiring-insights-by-instagram-ceo-kevinsystrom-the-man-who-built-a-1-billion-startup/

Instagram Story «We spent 1 week prototyping a version that focused solely on photos. It was pretty awful. So we went back to creating a native version of Burbn. We actually got an entire version of Burbn done as an iphone app, but it felt cluttered, and overrun with features. It was really difficult to decide to start from scratch, but we went out on a limb, and basically cut everything in the Burbn app except for its photo, comment, and like capabilities. What remained was Instagram.» http://www.forbes.com/sites/limyunghui/2012/04/09/inspiring-insights-by-instagram-ceo-kevinsystrom-the-man-who-built-a-1-billion-startup/

Instagram Story «So 8 weeks later, we gave it to our friends, beta tested, bug fixed, etc. and this Monday we decided it was ready to ship.» http://www.forbes.com/sites/limyunghui/2012/04/09/inspiring-insights-by-instagram-ceo-kevinsystrom-the-man-who-built-a-1-billion-startup/

Instagram Story «Who is responsible for Instagram s UI design? For better or for worse, I ve done most of the pixel pushing in our app. ;)» http://www.forbes.com/sites/limyunghui/2012/04/09/inspiring-insights-by-instagram-ceo-kevinsystrom-the-man-who-built-a-1-billion-startup/

Instagram Story 30+ millions d utilisateur en 2 ans 25k inscriptions le premier jour «best & worst day of our lives so far» «favicon» cause des milliers d erreurs 404 «404-ing on Django, causing tons of errors» Un seul serveur au lancement Moins puissant qu un MacBook Pro La suite: passage à l échelle, cloud (EC2) et ingénierie du logiciel https://speakerdeck.com/mikeyk/scaling-instagram http://zoompf.com/blog/2012/04/instagram-and-optimizing-favicons

Instagram Story Sur la trentaine de composants, 4 seulement ont été écrits à partir de zéro App ios, App Android, Android Push Notification Service et Redis Query analyzer node2dm Fabric

Instagram Story (key lessons) Sélection et intégration de multiples librairies Open source community Apprendre, partager, demander, répondre, etc. Auto-apprentissage «Product guys» sont maintenant à même de rivaliser Agilité, développement incrémental http://instagram-engineering.tumblr.com/

Software Complexity - Reusability - Durability - Variability 35

Software Complexity - Critical - Real-time - Embedded système embarqué : avion, voiture

Software Complexity "The avionics system in the F-22 Raptor [ ] consists of about 1.7 million lines of software code. F-35 Joint Strike Fighter [ ] will require about 5.7 million lines of code to operate its onboard systems. Boeing s new 787 Dreamliner [ ] requires about 6.5 million lines of software code to operate its avionics and onboard support systems. if you bought a premium-class automobile recently, it probably contains close to 100 million lines of software code. [ ] All that software executes on 70 to 100 microprocessor-based electronic control units (ECUs) networked throughout the body of your car. Alfred Katzenbach, the director of information technology management at Daimler, has reportedly said that the radio and navigation system in the current S-class Mercedes-Benz requires over 20 million lines of code alone and that the car contains nearly as many ECUs as the new Airbus A380 (excluding the plane s in-flight entertainment system). IBM claims that approximately 50 percent of car warranty costs are now related to electronics and their embedded software "This Car Runs on Code", By Robert N. Charrette, IEEE Spectrum, Feb. 2009, see http://spectrum.ieee.org/green-tech/advanced-cars/this-car-runs-on-code

From the OPEES ITEA2 project (2009-2012) Long term availability AIRBUS A300 Life Cycle Program began in 1972, production stopped in 2007 2007-1972 = 35 years... Support will last until 2050 2050-1972 = 78 years!! On board software development for very long lifecycle products

Software Complexity - Distributed - Large-scale Ø Google (2012 Update from Larry Page, CEO): Over 850,000 Android devices are activated daily through a network of 55 manufacturers and more than 300 carriers. Google Chrome browser has over 200 million users. Google launched Gmail in 2004 and now is used by more than 350 million people. YouTube has over 800 million monthly users who upload an hour of video per second. See http://investor.google.com/corporate/2012/ceo-letter.html

Software Complexity Google, Building for Scale: 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 40

Software Complexity Ø Free Mobile (10/01/2012): A 9h45, le site mobile.free.fr cumulait déjà plus d'un million d'accès simultanés alors que le site proposait seulement une page invitant à patienter!!

Software Complexity Autonomic Computing Cloud Computing PaaS, SaaS, IoS, IoT... 42

Software Complexity Importance des aspects non fonctionnels systèmes répartis, parallèles et asynchrones qualité de service : fiabilité, latence, performances... Flexibilité accrue des aspects fonctionnels notion de lignes de produits (espace, temps) Versions (Temps) 1.2 1.4 1.4 1.4 1.4 1.3 1.3 1.3 1.3 1.2 1.1 1.2 1.2 1.2 1.1 1.1 1.1 1.1 1.0 1.0 1.0 1.0 1.0 Variantes (Fonctionalités) Time To Market 43

Software Complexity: Some Dimensions Interoperable Real Time Large- Scale Secure Parameterized Safety Critical Reusable Distributed Adaptable Durable Usable! Dynamic Embedded Interoperable Pervasive Variable Heterogeneous Autonomous 44

Défaillances Catastrophe humaine ou financière: Therac-25 (1985-1987) radiologie et contrôle d'injection de substances radioactives Iran Air Flight 655 (1988) guerre d'irak et missile américain système radar London Ambulance System (1992) central et dispatch ambulances Ariane 5 (1996) Mars Climate Orbiter (1999) sonde spatiale unité de mesure Bourse de Londres (Taurus, 1993) SI qui n'a pas pu être déployé SI du FBI (2005) SI qui n'a pas pu être déployé Un canon-robot anti-aérien sud-africain tue neuf soldats dans un mode tout automatique qui avait été rajouté (2007) Image de marque : FT et Bouygues en 2004 crash des serveurs indisponibilité 48h Playstation 3 : le système de jeux en ligne croyait qu il y avait un 29 février 2010, ce qui bloqua le fonctionnement des jeux en ligne toute la journée du 1 mars 2010 IPhone 4 : problème de réveil après le passage à l heure d hiver à l automne 2010, après le passage à 2011 Succès financier: Windows ;) Sans conséquence mais énervant : bugs @ Irisa, D autres : http://en.wikipedia.org/wiki/computer_bug - 45 -

System Complexity 46

Failures in System Engineering 47

Failures in System Engineering 48

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

Software Engineering 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: modeling, programming Assess: testing and other V&V techniques Manage: plans, schedules, communication, reviews Operate: deployment, installation...

Software Engineering: definition is a profession dedicated to designing, implementing, and modifying software so that it is of higher quality, more affordable, maintainable, and faster to build. is a systematic approach to the analysis, design, assessment, implementation, test, maintenance and reengineering 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).

Software Engineering: Basics Carlo Ghezzi, Mehdi Jazayeri, and Dino Mandrioli. Fundamentals of Software Engineering, 2nd edition. 2002. 52

Seamless Method- and Model-based Software and Systems Engineering The Future of Software Engineering Symposium 22-23 November 2010, ETH Zurich What we need? 53

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

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 55

Aujourd hui / Today Méthodes de développement industriel (MDI) En fait: génie logiciel / sohware 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éjer 56

Exemple très concret (yet another) I insist: sohware engineering is difficult! Even on a very basic (apparently) example It will be our «running» example for the rest of the courses 57

Jeu d échecs aka Chess

Day #0 SpécificaJon du client «Développer un jeu d échecs pour jouer tout seul» Quel langage? Java Combien? 1000$ OK. Let us go 59

60

Day #1 (refactoring) 61

Day #1 (refactoring) 62

Day #1 (refactoring) 63

Day #3 Nice demo I want my 1000$ 64

Day #3 Le client «J avais demandé une version graphique Et on ne peut même pas sauvegarder une parje. Ou lire des parjes. Et vous n avez pas pris en compte la règle du pat!» Rappel (spécificajon du client à l origine) «Développer un jeu d échecs pour jouer tout seul» 65

Restons calme. Analyse «J avais demandé une version graphique Mauvaise analyse des besoins inijaux (cahier des charges) Impact sur le code non négligeable: il va très certainement falloir adapter le code existant (en plus d implémenter de nouvelles foncjonnalités) Affichage graphique des pièces et des cases Écouter des «évènements» et réagir en conséquence Interdire des interacjons (sur des coups impossibles) Mais est- ce que le code est fait pour? 66

Retour au code Graphique! Evolu3on nécessaire System.out? Couleur des pièces? Encore une série de if- then- else? 67 Comment garder la représentajon textuelle malgré tout?

Imaginons un code monolithique (une seule classe) Graphique? Sauvegarder une par3e? Charger une par3e? 68

Restons calme. Analyse «J avais demandé une version graphique Et on ne peut même pas sauvegarder une parje Ou lire des parjes. Et vous n avez pas pris en compte la règle du pat!» 69

Imaginons un code monolithique (une seule classe) Règle du pat? Dans quelle méthode? 70

Day #23 Le client (retour) «C est mieux mais la règle des 50 coups ne foncjonne pas. Le fou peut se déplacer comme une dame. Il est possible de manger le roi. Il y a parfois des échecs et mat qui n en sont pas.» Bugs 71

Imaginons un code monolithique (une seule classe) Ajouter la règle des 50 coups? TESTS Comment s assurer que le fou n a pas le comportement d une dame? Qu on ne peut pas manger le roi? etc. 72

Tes3ng

Plus simple de contrôler le comportement d un Fou dans une classe dédiée (et non dans une série de méthodes avec des if- then- else de partout) 74

On aimerait: * donner en entrée des mouvements de Fou * vérifier qu ils sont effecjvement interdits ou autorisés 75

On aimerait: * donner en entrée des mouvements de Fou * vérifier qu ils sont effec3vement interdits ou autorisés Testability degree to which a system or component facilitates the establishment of test criteria and the performance of tests to determine whether those criteria have been met. Controllability + Observability Controllability ability to manipulate the so^ware s input as well as to place this sohware into a parjcular state Observability deals with the possibility to observe the outputs and state changes How to improve Testability? Improve Modularity (Refactoring, Design pa"erns)

Day #97 1000$

New offer: 100000$ I want to play online I want to broadcast live games Chess AI engines Variants of Chess ios and Android compa3ble Very robust solu3on

79

Variants of chess game Not 8*8 Different moves New pieces New rules New graphics New AI engines In this monolithic code?! 80

Broadcas3ng? 1,3 billions of people live in India 81

Software Complexity: Even Applies for a Basic Example like Chess Game Interoperable Real Time Large- Scale Secure Parameterized Safety Critical Reusable Distributed Adaptable Durable Usable! Dynamic Embedded Interoperable Pervasive Variable Heterogeneous Autonomous Benoit Combemale, University of Rennes 1 82

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é

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 84