Génie Logiciel. Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/



Documents pareils
Génie logiciel (Un aperçu)

Forthcoming Database

Analyse,, Conception des Systèmes Informatiques

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

Patrons de Conception (Design Patterns)

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

Les méthodes Agile. Implication du client Développement itératif et incrémental

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

Génie logiciel avec UML. Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique

Introduction à la modélisation

GL Processus de développement Cycles de vie

Introduction au Génie Logiciel

DES SYSTÈMES D INFORMATION

Bases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement

Eclipse Process Framework et Telelogic Harmony/ITSW

Introduction au génie logiciel

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

Développement ebusiness

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

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

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

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

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

UML : Unified Modeling Language

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

But de cette introduction à la gestion de projets :

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

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

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

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

Master MIDO 2ème année. Spécification et Conception en UML Maude Manouvrier

Projet de développement

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

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

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

Dossier Méthodes SOMMAIRE & 2 MENSUEL PUBLIÉ PAR SOC-INFOS

Daylight. Démarche ergonomique et RUP. Daylight 2001 Démarche ergonomique et RUP 1/1 07/03/02 CSI_RUPERGO02

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

UE 13 Contrôle de gestion. Responsables : Henri Bouquin, Professeur Stéphanie Thiéry-Dubuisson, Maître de Conférences

Retour d expérience implémentation Scrum / XP

CERTIFICATE. Reichhart Logistique France. ISO/TS 16949:2009 Third Edition Rue de Neuf-Mesnil Feignies France

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

TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Le développement d'applications informatiques

Cedric Dumoulin (C) The Java EE 7 Tutorial

Synergies entre Artisan Studio et outils PLM

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

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn

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

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

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

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

Architectures Ouvertes pour l Adaptation des Logiciels

Quand la recherche scientifique fait de l Agile.

PeTEX Plateforme pour e-learning et expérimentation télémétrique

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

Présentation par François Keller Fondateur et président de l Institut suisse de brainworking et M. Enga Luye, CEO Belair Biotech

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

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

PLASTICO : une illustration de démarche de développement conciliant agilité et urbanisation du système d information

XP : plus qu'agile. Extreme Programming v2 et Développement Responsable. Thierry Cros

ACTIVITÉ DE PROGRAMMATION

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

Les processus métiers : concepts, modèles et systèmes

Editing and managing Systems engineering processes at Snecma

Génie Logiciel. Notes de l an passé-k. Planning Projets. Evolution des approches (1/4) Evolution des approches (2/4) Evolution des approches (3/4)

Ingénierie et gestion des connaissances

ANALYSE D UN SYSTEME D INFORMATION ET EXTENSION DE

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

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

CURRICULUM VITAE. Informations Personnelles

English Q&A #1 Braille Services Requirement PPTC Q1. Would you like our proposal to be shipped or do you prefer an electronic submission?

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

Développement itératif, évolutif et agile

Feature Team Primer. par Craig Larman et Bas Vodde. Version 1.2

Public and European Business Law - Droit public et européen des affaires. Master I Law Level

Le cadre des Web Services Partie 1 : Introduction

Quels nouveaux outils pour accompagner le développement de nos professions?

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

Le génie logiciel. maintenance de logiciels.

GPC Computer Science

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

Exercices sur SQL server 2000

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

Le rôle de la DSI avec l audit Interne pour la maîtrise des risques

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.

Topologie du web - Valentin Bourgoin - Méthodes agiles & SCRUM

Formulaire d inscription (form also available in English) Mission commerciale en Floride. Coordonnées

Retour d expériences avec UML

Mon Service Public - Case study and Mapping to SAML/Liberty specifications. Gaël Gourmelen - France Telecom 23/04/2007

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D

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

COPYRIGHT Danish Standards. NOT FOR COMMERCIAL USE OR REPRODUCTION. DS/EN 61303:1997

énie avec Scrum, Lean, extreme Programming

Application Form/ Formulaire de demande

L enseignement de méthodes agiles dans un contexte d apprentissage actif

AXSENS CABINETS DE CONSEIL EN SCM. Pour vos appels d offre. 7 e ÉDITION. SupplyChainMagazine.fr 19, rue Saint-Georges Maisons-Alfort

Logiciel Libre & qualité. Présentation

Face Recognition Performance: Man vs. Machine

Transcription:

Génie Logiciel Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/ Le contenu de ce support de cours a été influencé par les lectures citées à la fin de ce support. Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 1: Introduction 1/27

Qu est ce que le Génie Logiciel? Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software. Engineering is the science, discipline, art and profession of acquiring and applying technical, scientific and mathematical knowledge to design and implement materials, structures, machines, devices, systems, and processes that safely realize a desired objective or inventions. Source: Guide to the Software Engineering Body of Knowledge - 2004 Version. IEEE Computer Society. p. 1-1. ISBN 0-7695-2330-7. http://www.swebok.org. Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 1: Introduction 2/27

Pourquoi c est si important? Aujourd hui, le logiciel contrôle le monde! Processus métiers (administrative etc.) Gouvernement L industrie (Usines, chaines de fabrication) Transports Défense, finance, santé Edition, médias Les nouvelles technologies du web, commerce éléctronique Et bien plus!! Des enjeux aussi bien économiques que politiques Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 1: Introduction 3/27

Pourquoi c est si important? Les conséquences en cas de problèmes peuvent être très lourdes! Therac 25, '85 87 : 6 patients irradies, 2 morts Syst. Bagages Aeroport Denver, '95 : 16mois, 3.2 Mds$ Ariane 5 vol 88/501, '96: 40s de vol, destr., 850 M$ Mars Climate Orbiter & Mars Polar Lander, '99 : destr. Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 1: Introduction 4/27

Le talon d Achille du GL Le coût Le temps La qualité Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 1: Introduction 5/27

Source: The Standish Group Quelques chiffres! Successful means on-time, on-budget, and with all features and functions as defined in the initial scope; challenged means late, over budget, and/or with less features and functions than defined in the initial scope; failed means cancelled prior to completion, or delivered but never used. Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 1: Introduction 6/27

Quelques chiffres! Le taux de succès en constante hausse, mais le taux d échec reste aléatoire Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 1: Introduction 7/27

Les difficultés liées au GL La complexité intrinsèque d'un projet l'ingénierie du logiciel est un métier récent en comparaison avec d autres métiers le fameux parallèle avec le bâtiment La nature du produit informatique de l'information! copiable, modifiable, malléable, bref «soft» Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 1: Introduction 8/27

Les difficultés liées au GL Les difficultés liées à la nature du logiciel un logiciel ne s'use pas, sa fiabilité ne dépend que de sa conception mais, pour rester utilisé un logiciel doit évoluer pas de direction clairement exprimée, changements fréquents, contradictions des besoins, Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 1: Introduction 9/27

Les difficultés liées au GL Difficultés liées aux personnes ne savent pas toujours ce qu'elles veulent, ou ne savent pas bien l'exprimer communication difficile entre personnes de métiers différents (jargons) l'informaticien est souvent perçu comme introverti, peu solidaire du groupe (...ça change...) beaucoup d autodidactes qui croient savoir... Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 1: Introduction 10/27

Les difficultés liées au GL Les difficultés technologiques courte durée de vie du matériel, beaucoup de méthodes, de langages évolution des outils de développement, Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 1: Introduction 11/27

L échec d un projet informatique Cinq raisons majeures: Engagements irréalistes Gestion et conduite de projet inadéquates Manque de contrôle pas de planification de la part des développeurs connaissances insuffisantes en gestion de projet Technologies inappropriées(méthodes, outils, langages) Validation et vérification insuffisantes Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 1: Introduction 12/27

Exemple d un projet Projet de télécommunication de taille moyenne. L exemple date un peu mais malheureusement aujourd hui encore, il est très facile de trouver des exemples similaires Prix forfaitaire. Pas de mesure de productivité, ni d'évaluation des projets antérieurs du contractant. Pas d'estimation de la taille du projet et de ses sous-systèmes. Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 1: Introduction 13/27

Exemple d un projet Charge prévisionnelle Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 1: Introduction 14/27

Exemple d un projet 5 mois plus tard... Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 1: Introduction 15/27

Encore 3 mois après... Exemple d un projet Aucune information sur ce qui est réalisé... La confiance diminue... Audit... Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 1: Introduction 16/27

Exemple d un projet Analyse de la situation 23 sous-systèmes avaient été isolés. Une estimation des tailles minimale, probable et maximale est réalisée. Le projet fait 67597 ± 1596 lignes. L'état courant après 8 mois... 2 sous-systèmes en installation et 21 en conception détaillée ou codage. Les productivités souhaitées étaient : en mai, 19 en septembre, 17 en décembre, 15 Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 1: Introduction 17/27

Exemple d un projet Résultat La productivité réelle est réévaluée à 7(-8) La durée du projet est réévaluée à 30 mois...( +18) La charge est réévaluée à 420 HM... ( +300) Le budget a augmenté de 4 500 000 $ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 1: Introduction 18/27

Ce n est pas fini! La Maintenance Maintenance du projet Le logiciel livré ne répond pas aux exigences du client! Evolution, adaptation Une part très importante du coût d un projet Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 1: Introduction 19/27

Résumons! L Objectif du GL est de: Améliorer la qualité Réduire les délais Optimiser les coûts Face à cela 3 principaux défis du logiciel d aujourd hui (diapos suivantes!) Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 1: Introduction 20/27

Défis et obstacles du logiciel d aujourd hui Composants de plus en plus complexes Problème de la validation intra-composants Le coût très élevé des programmes prouvés Preuve au moins aussi complexe que le code Autant de chances de se tromper dans la preuve En pratique : Réservé à des (petits) sous-systèmes (très) critiques Recours aux tests pour le reste Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 1: Introduction 21/27

Défis et obstacles du logiciel d aujourd hui Applications de plus en plus larges/distribuées Problème de la validation inter-composants Problème de gestion des ressources (humaines et matérielles) Avoir une ressource qualifiée, utiliser la bonne techno Conduite et suivi du projet Utiliser le bon processus, planification et gestion des délais, offshore Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 1: Introduction 22/27

Défis et obstacles du logiciel d aujourd hui Applications de plus en plus larges/distribuées Le nombre de lignes de code ne cesse d augmenter Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 1: Introduction 23/27

Défis et obstacles du logiciel d aujourd hui Des besoins qui évoluent en cours de route Problème de maintenance évolutive et corrective Nokia rapporte à propos de son infrastructure GSM 50% des exigences (besoins numérotés) ont changé après le gel du cahier des charges 60% de ceux-ci ont changé au moins 2 fois! C est le cas général plutôt que l exception Cahier des charges figé = rêve des années 70 When walking on water or developing software from a specification can be an easier task? if both are frozen (Edward V. Berard) Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 1: Introduction 24/27

Des solutions? Quelques solutions que nous allons aborder dans ce cours Comment gérer la complexité: (3 séances) La modélisation Modèle Vs. Code UML: The Unified Modeling Language La documentation Comment augmenter la productivité: (1 séance) La génération de code & Le reverse engineering Java comme langage de référence La vision MDE (Model-Driven Engineering) Comment améliorer la qualité et la fiabilité: (2 séances) Designs patterns & Refactoring (qualité du design) Les tests (loin d être exhaustifs!) (fiabilité de l application) Comment maîtriser les délais et réduire les risques: (1 séance) (1 séance) Les processus, méthodes et cycles de développement Conduite de projets, Process Agiles Vs. Process lourds Outils de documentation de procédés et de suivi de projets (Eclipse Process Framework) Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 1: Introduction 25/27

Modalités du cours 8 séances de cours (2h30), présence obligatoire et notée!! 8 séances de Tds (2h), présence obligatoire! Exercices au tableau 8 séances de Tps (3h), présence obligatoire! Exercices sur machine 1 Projet comme fil conducteur, à faire pendant le tp (en plus des exos) et à rendre (code + modélisation UML + documentation) 1 Partiel 1 Examen Un TP solitaire (en option) Note CC=Partiel*60%+Projet *30%+[TP Solitaire]*10% Note Finale= Note Examen *60% + Note CC*40% Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 1: Introduction 26/27

Lectures Software Engineering, Ian Sommerville, Addison Wesley; 8 edition (15 Jun 2006), ISBN-10: 0321313798 The Mythical Man-Month Frederick P. Brooks JR., Addison-Wesley, 1995 Cours de Software Engineering du Prof. Bertrand Meyer à cette @: http://se.ethz.ch/teaching/ss2007/252-0204-00/lecture.html Cours d Antoine Beugnard à cette @: http://public.enst-bretagne.fr/~beugnard/ ----------------------- UML Distilled 3rd édition, a brief guide to the standard object modeling language Martin Fowler, Addison-Wesley Object Technology Series, 2003, ISBN-10: 0321193687 UML2 pour les développeurs, cours avec exercices et corrigés Xavier Blanc, Isabelle Mounier et Cédric Besse, Edition Eyrolles, 2006, ISBN-2-212-12029-X UML 2 par la pratique, études de cas et exercices corrigés, Pascal Roques, 6 ème édition, Edition Eyrolles, 2008 Cours très intéressant du Prof. Jean-Marc Jézéquel à cette @: http://www.irisa.fr/prive/jezequel/enseignement/polyuml/poly.pdf La page de l OMG dédiée à UML: http://www.uml.org/ ------------------------ Design patterns. Catalogue des modèles de conception réutilisables Richard Helm (Auteur), Ralph Johnson (Auteur), John Vlissides (Auteur), Eric Gamma (Auteur), Vuibert informatique (5 juillet 1999), ISBN-10: 2711786447 Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 1: Introduction 27/27