Génie logiciel (Un aperçu)



Documents pareils
Cours Gestion de projet

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

Introduction au génie logiciel

Les méthodes itératives. Hugues MEUNIER

Eclipse Process Framework et Telelogic Harmony/ITSW

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

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

CHAPITRE 3 : LES METHODES AGILES?

Développement itératif, évolutif et agile

Jean-Pierre Vickoff J-P Vickoff

Gestion Projet. Cours 3. Le cycle de vie

Analyse,, Conception des Systèmes Informatiques

Jean-Pierre Vickoff

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

Méthodes de développement

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

Méthode Agile de 3 ème génération J-P Vickoff

Méthodologies de développement de logiciels de gestion

Méthodes Agiles et gestion de projets

Rational Unified Process

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

But de cette introduction à la gestion de projets :

Processus de Développement Logiciel

Qualité et Test des Logiciels. Le génie logiciel. Moez Krichen.

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

Identification du module

25/12/2012

Processus de Développement Logiciel

GL Processus de développement Cycles de vie

Introduction à la modélisation

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)

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

Règles d engagement. Présentation Diapositives Bibliographie Questions Les vertus de la marche

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

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

Le génie logiciel. maintenance de logiciels.

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

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

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

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

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

Agile Maroc 24 Novembre Méthodes agiles. Thierry Cros. Agile Maroc 24 novembre 2010

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

Processus d Informatisation

Retour d expérience implémentation Scrum / XP

Chapitre I : le langage UML et le processus unifié

Introduction Les processus traditionnels extreme Programming Conclusion. extreme Programming. vers plus d agilité. F. Miller francois.miller@inpg.

AGILE Historique et évolution

1. Considérations sur le développement rapide d'application et les méthodes agiles

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

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

Moteur Agile de Projet PUMA. Architecte d une génération d Entreprises performantes. Jean-Pierre Vickoff

Architecture pragmatique pour la gestion du cycle de vie des applications (ALM)

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

Exemple d Application des Méthodes Agiles au Développement d un Produit Software. Jean-Marc Bodart, Océ Software Laboratories Namur SA

Soyez agile. Dans l industrie du logiciel, la. De plus chaque projet informatique

J2EE in practice. Olivier Liechti Patrik Fuhrer. Department of Informatics. Computer Science Master Course - SH 2004/05

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

Plan. 1 Cycles de développement. 2 Méthodes agiles, principes généraux. 3 Comment se passe un Sprint?

Jean-Philippe VIOLET Solutions Architect

Guide de Préparation. EXIN Agile Scrum. Foundation

Les nouvelles architectures des SI : Etat de l Art

Fidéliser les collaborateurs tout en améliorant leurs compétences

Qu'est-ce que le BPM?

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

Agile 360 Product Owner Scrum Master

Conception des IHM. Fabien Duchateau

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

Développement de plug-ins Eclipse en contexte agile

Visual Paradigm Contraintes inter-associations

Présentation UBO 12/2008 Présentation des méthodes agiles

2.DIFFERENTS MODELES DE CYCLE DE VIE

ANALYSE D UN SYSTEME D INFORMATION ET EXTENSION DE

Développement ebusiness

Yassine ZAKARIA SÉMINAIRE : MÉTHODES AGILES

Domaines d intervention

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM

Gestion de projet Agile. STS IRIS Module «Gérer et organiser un projet informatique»

Atelier de Génie G. Illustration avec Windev. Master SIS Professionnel. Université Paul CEZANNE. Spécialité Génie Logiciel. Option Génie Informatique

Chef de projet H/F. Vous avez au minimum 3 ans d expérience en pilotage de projet de préférence dans le monde du PLM et de management d équipe.

Tuesday, October 20, Nantes

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

Perspectives pour l entreprise. Desktop Cloud. JC Devos IBM IT Architect jdevos@fr.ibm.com IBM Corporation

IFT2255 : Génie logiciel

Consultant Fonctionnel CRM SalesForce

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

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

SECTION 5 BANQUE DE PROJETS

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

Business Process Management

Description de la formation

Méthodologies Orientées-Objet!

Agilitéet qualité logicielle: une mutation enmarche

Olivier Deheurles Ingénieur conception et développement.net

CQP Développeur Nouvelles Technologies (DNT)

PEPI GPI (Gestion de Projet Informatique) - Note de Cadrage décembre

Optimisez vos investissements dans vos projets Agiles

Transcription:

(Un aperçu) (sommerville 2010) Laurent Pérochon INRA URH 63122 St Genès Champanelle Laurent.perochon@clermont.inra.fr

Ensemble d activités conduisant à la production d un logiciel Sur un échantillon de 8 380 projets 16% sont un succès 31% sont arrêtés en cours de réalisation 53% aboutissent mais au prix d'un accroissement du délai et du coût tout en offrant moins de fonctionnalités que prévu. Succès: implication des utilisateurs et exigences claires implication des dirigeants Echec: manque de clarté des besoins évolution des spécifications en cours de réalisation Exigence Dirigeant Evolution Utilisateur (standishgroup, 1995) http://www.volle.com/travaux/methodesprojet.htm Liste : http://www.csl.sri.com/users/neumann/illustrative.html

De nombreux processus de développement existent Modèle en cascade DSDM Pas de choix universel Modèle en V UP - Unified Process XP - extreme Programming RAD - Développement rapide d'applications Le choix dépend de : L organisation qui développe Le type de logiciel Les personnes impliquées

Ensemble d activités conduisant à la production d un logiciel 4 activités communes aux processus de développement : - définir les spécifications - conception et implémentation - validation -évolution Définir les spécifications : définir les services et les contraintes Conception et implémentation : convertir des spécification en un système exécutable Validation : conforme aux spécification et aux attentes de l utilisateur Evolution : changements durant ou après le développement du système

Perspectives Développement incrémental Modèle en cascade Evolution Réutilisation de composants logiciels

Cycle de vie/modèle en cascade Spécifications Conception Codage et tests unitaires beaucoup de documentations réponse difficile aux changements des spécifications utilisation uniquement à partir de la phase de maintenance Intégration et test global maintenance

Développement incrémental Incrément Version1 Version2 Version3 Version4 Version5 Version6 Plusieurs versions avant d obtenir toutes les spécifications Chaque version est testée, reçue par un utilisateur

Développement incrémental Activités spécification Version initiale Description générale Développement Versions intermédiaires Validation Version finale Plus d interactions avec les utilisateurs: plus d adaptations aux changement des besoins Au lieu de juger sur des documents, les utilisateurs jugent sur une version qu ils peuvent tester Même si toutes les fonctionnalités ne sont pas réalisées, on peut déployer une version intermédiaire

Spécification Réutilisation de composants logiciels Recherche de composants Modification des spécifications Conception avec composants réutilisables Développement et intégration de nouveaux composants Validation

Evolution Le logiciel sera en constante évolution. Le coût de la maintenance est beaucoup plus élevé que celui de la conception initiale Anticiper les changements Tolérance aux changements Prototypage Développement incrémental Un prototype teste un aspect particulier Interface utilisateur Valider les besoins fonctionnels Démontrer la faisabilité du développement aux décideurs

Cycle de vie en cascade Développement incrémental Réutilisation de composants logiciels Evolution Méthodes de développement Modèle en cascade UP - Unified Process RAD - Développement rapide d'applications DSDM XP - extreme Programming

Processus unifié (UP) Cas d utilisation Architecture Itératif et Incrémental

Processus Unifié (UP) Version 1 Version 2 Version n Chaque version est utilisable! Incrément Prototype Mini-projet 1 Mini-projet 2 Mini-projet m Inception Elaboration Construction Transition V E R S I O N 1

Processus unifié (UP) Les phases : obtenir une version Inception Que va faire essentiellement le logiciel pour les principaux utilisateurs, quelle pourrait être l architecture, quelle est la planification et le coût? Elaboration La majorité des spécifications et l architecture sont définies Construction Produit prêt à être transmis au utilisateurs Transition Version bêta aux utilisateurs expérimentés, performances, formations...

Processus unifié (UP) Comment mener un mini-projet (prototype)? Mini-projet 1 Mini-projet 2 Mini-projet m Définition des besoins Analyse Conception Implémentation Tests Ce qui est masqué : besoin en documentation, formalisation UML V E R S I O N 1 Mini-projet 1

Processus unifié (UP) Variantes à Unified Process Agile Unified Process (AUP), a lightweight variation Enterprise Unified Process (EUP), an extension of the Rational Unified Process Essential Unified Process (EssUP), a lightweight variation Open Unified Process (OpenUP), the Eclipse Process Framework software development process Rational Unified Process (RUP), the IBM / Rational Software development process Oracle Unified Method (OUM), the Oracle development and implementation process Rational Unified Process-System Engineering (RUP-SE), a version of RUP tailored by Rational Software for System Engineering

Méthodes de développement agiles Le Manifeste Agile Les quatre valeurs fondamentales Agiles sont: Davantage l interaction avec les personnes que les processus et les outils. Davantage un produit opérationnel qu une documentation pléthorique. Davantage la collaboration avec le client que la négociation de contrat. Davantage la réactivité face au changement que le suivi d'un plan. http://fr.wikipedia.org/wiki/manifeste_agile

Plannifiée/ Agile Approche plannifiée Analyse des besoins Spécification des besoins Conception et implémentation Approche agile Analyse des besoins Conception et implémentation

Extreme Programming(XP) Sélectionner un scénario d un utilisateur Evaluer le système Eclater le scénario en tâches 2 semaines Paire de programmeurs Interaction et choix avec l utilisateur Logiciel déployé Planifier la version Développement Intégration test

Comparaison de quelques méthodes Méthode Points clés Désavantages XP RUP Scrum FDD Guidé par les besoins du client. Binômes. Amélioration constante Adaptativité aux modifications. Processus complet assisté par des outils. Exhaustif. Rôles bien définis, modélisation. Petites équipes, itérations de 30 jours, réunions journalières. Procédé bien défini et simple, orienté objet et basé sur le développement. Itérations très courtes. au détriment d'une vue globale et des pratiques de management ou de formalisation. Lourd, largement étendu, il peut être difficile à mettre en oeuvre de façon spécifique. Convient pour les gros projets qui génèrent beaucoup de documentation. La mise en oeuvre du développement n'est pas précisée, seule compte la gestion des ressources humaines. Uniquement centré sur le développement. http://www.dotnetguru.org/articles/dossiers/devagile/developperagile.htm

Model Driven Architecture (MDA) (Object Management Group) Séparation infos métiers du technique : pérennité des savoir-faire Automatisation de modèles, productivité meilleur Platform Independant Model Platform Specific Model CODE Transformations automatiques On complète manuellement On complète manuellement Formalisme UML http://www.projet-plume.org/fr/idm http://fr.wikipedia.org/wiki/object_management_group

Modelisation conceptuelle Séparer le modèle de connaissance de la technique logicielle Modèles à Compartiments Unified Modeling Langage (UML) (J. Learmount et al. 2006)

Références Kruchten P. Introduction au Rational Unified Process. Eyrolles, 2000. 257 p. LearmountJ., M.A. Taylor, G. Smith, C. Morgan. A computer model to simulatecontrol of parasiticgastroenteritisin sheepon UK farms. VeterinaryParasitology. V. 142, pp. 312 329. 2006. Rota V.M. Gestion de projet : Vers les méthodes agiles. Eyrolles, 2007. 251 p. SommervilleI. Software Engineering: International Version.Pearson Education (US); Édition: 9th Revised edition, 2010. 792 pages http://www.volle.com/travaux/methodesprojet.htm http://www.csl.sri.com/users/neumann/illustrative.html http://fr.wikipedia.org/wiki/manifeste_agile http://www.dotnetguru.org/articles/dossiers/devagile/developperagile.htm http://www.projet-plume.org/fr/idm http://fr.wikipedia.org/wiki/object_management_group