Processus d Informatisation

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

Le génie logiciel. maintenance de logiciels.

Gestion Projet. Cours 3. Le cycle de vie

Analyse,, Conception des Systèmes Informatiques

Introduction au génie logiciel

Gé nié Logiciél Livré Blanc

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

LOG2420 Analyse et conception d interfaces utilisateur

Cours Gestion de projet

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

Méthodes Agiles et gestion de projets

GL Processus de développement Cycles de vie

Développement itératif, évolutif et agile

25/12/2012

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

But de cette introduction à la gestion de projets :

Gestion de projets logiciels. Xavier Dubuc

IFT3913 Qualité du logiciel et métriques. Chapitre 2 Modèles de processus du développement du logiciel. Plan du cours

Développement spécifique d'un système d information

2. Activités et Modèles de développement en Génie Logiciel

En face du commanditaire, on met un chef de projet qui connait le domaine (banque, administration, etc.)

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

Génie logiciel (Un aperçu)

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

Questions concernant le processus de planification du programme

Les activités numériques

2.DIFFERENTS MODELES DE CYCLE DE VIE

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

Plan d action SMB d une Approche Agile de la BITM Pour les PME

Agilitéet qualité logicielle: une mutation enmarche

CHAPITRE 3 : LES METHODES AGILES?

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

Introduction à la modélisation

Tarification comparative pour l'industrie des assurances

PagesJaunes.fr Mise en place de Scrum de scrum. Fabien Grellier Agile Tour Octobre

Méthodologies de développement de logiciels de gestion

ISO/CEI Technologies de l information Gestion des actifs logiciels. Partie 1: Procédés et évaluation progressive de la conformité

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Les méthodes itératives. Hugues MEUNIER

GL Le Génie Logiciel

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

Semarchy Convergence for MDM La Plate-Forme MDM Évolutionnaire

Cours Composant 2. Qualité logicielle et spécications algébriques

Estimer et mesurer la performance des projets agiles avec les points de fonction

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

THOT - Extraction de données et de schémas d un SGBD

UE 8 Systèmes d information de gestion Le programme

Administrateur de Parc PC

Le S.I.M. Le S.I.M. Définition a. S.I.M. ou S.I.C. S.I.M. S.I.C. Le S.I.M. Définition a. S.I.M. ou S.I.C. Définition

Eclipse Process Framework et Telelogic Harmony/ITSW

Industrie des cartes de paiement (PCI) Norme de sécurité des données Récapitulatif des modifications de

GESTION DE PROJET : LA METHODE AGILE

SYNERGIE Associés Confidentiel Reproduction interdite sans autorisation préalable Page 1 de 44

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.

ITIL V3. Transition des services : Principes et politiques

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

1 Introduction à l infrastructure Active Directory et réseau

La gestion des données de référence ou comment exploiter toutes vos informations

Analyse structurée de solutions pour BMC Remedy IT Service Management v 7

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

Rational Unified Process

L application doit être validée et l infrastructure informatique doit être qualifiée.

Mettre en place un accès sécurisé à travers Internet

Vue d ensemble. Initiatives des données. Gestion de la trésorerie. Gestion du risque. Gestion des fournisseurs 2 >>

MERISE. Modélisation de Systèmes d Information. Pierre Gérard. DUT Informatique 2ème année 2004/2005. IUT de Villetaneuse - Université de Paris 13

IFT2255 : Génie logiciel

APPEL À MANIFESTATION D INTÉRÊT

Méthodes de développement

LES EDITIONS CoMPAGNoNS

maximo IT service management Visibilité et valorisation de vos actifs informatiques

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures

BOOK REFERENCES ERGONOMIQUES Gfi Informatique

Retour d expérience RATP. Intégrer le test de performance au cœur du processus de développement agile. Challenges, techniques, résultats.

MANAGEMENT PAR LA QUALITE ET TIC

Rédiger et administrer un questionnaire

MANAGEMENT PAR LA QUALITE ET TIC

LOGICIEL DE GESTION DE DOCUMENTS PDF : PROJET INFO 1

IBM Tivoli Monitoring, version 6.1

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Associer la puissance des nouvelles technologies tout en préservant l environnement

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

Université de Bangui. Modélisons en UML

Les Editions CoMPAGNoNS Une gamme d outils malicieux pour les utilisateurs Sage

étude de rémunérations

Voulez-vous tout savoir concernant le logiciel de caisses automatiques?

Brique BDL Gestion de Projet Logiciel

Conditions Particulières de Maintenance. Table des matières. Ref : CPM-1.2 du 08/06/2011

Méthodologie de mise en place de

LES tests d'acceptation

WHITEPAPER. Quatre indices pour identifier une intégration ERP inefficace

Workflow et Service Oriented Architecture (SOA)

Limitations of the Playstation 3 for High Performance Cluster Computing

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

DSI - Pôle Infrastructures

EXPERTS EN DÉVELOPPEMENT ET MODERNISATION DE LOGICIELS WEB ET MOBILES

Gestion de projet. Vers les méthodes agiles. V é r o n i q u e M e s s a g e r R o t a P r é f a c e d e J e a n T a b a k a

Transcription:

Processus d Informatisation

Cheminement de la naissance d un projet jusqu à son terme, deux grandes étapes : Recherche ou étude de faisabilité (en amont) L utilisateur a une idée (plus ou moins) floue de ses besoins Il ne sait pas comment y répondre Développement plus concret (en aval) Il est possible de définir clairement le besoin auquel l application répond

http://www.youtube.com/watch?gl=it&hl=it&v=j-zczjxsxnw

Un simple break manquant dans un programme C a conduit à la perte d une ligne téléphonique longue distance aux Etats-Unis Le coût : environ $100,000,000 Besoin pour l utilisation de méthodes formelles

Le problème principal est la complexité UNIX contient 4 millions de lignes de code WINDOWS 2000 : 10 18 lignes de code Les méthodes d informatisation tendent à gérer cette complexité

Le développement d applications est un problème difficile Cas facile : 1 développeur, 1 utilisateur Cas difficile : nombreux développeurs, nombreux utilisateurs Les techniques d une personne ne peuvent s adapter à un grand nombre de personnes

Coût relatif de correction d une erreur selon la phase au cours de laquelle elle a été détectée : Analyse 1 Conception 2 Réalisation 5 Tests 10 Exploitation et Maintenance >= 100 Moralité : mieux vaut détecter les erreurs le plus tôt possible

3 1 28% Etude - Standish Group 280 000 projets 1. Succès 49% 2. Annulés 2 23% 3. Retard, surpassement de budget, incomplets

Planification peu considérée En particulier, gestion des risques inadaptée Plus l entreprise est grande, et plus les risques deviennent importants

Satisfaire les besoins des utilisateurs Haute fiabilité Réduire les coûts de maintenance Respecter les délais Réduire les coûts de production Améliorer la performance Réutilisabilité

Les utilisateurs trouvent difficile d exprimer ce qu ils veulent Les développeurs trouvent difficile de comprendre ce que les utilisateurs disent

Maintenance 65% du coût total Corrective: corriger les bugs Adaptative: faire évoluer l application lorsque son environnement change Evolutive: améliorer, développer de nouvelles fonctionnalités Préventive: prévenir de futurs problèmes de maintenance

On peut prouver qu un bug existe, mais on ne peut pas prouver qu il existe pas Les bugs sont coûteux en Les bugs sont coûteux en terme de: Vies humaines Argent Temps Relations avec les clients

La relation personne-mois VS temps de développement n est pas linéaire Ajouter des personne-mois à un projet n a habituellement pas d effet Parfois, le projet peut même être ralenti Il est difficile de prévoir quand un projet sera complet et la quantité d effort qu il nécessitera

US Software production 1985: 70 milliards $ US Software production 2000: 700 milliards $ US Software production 2015:???

Le but du développement d application est de développer des applications de qualité. Le terme «qualité» est vague. L application doit correspondre aux besoins de l utilisateur. Plus précisément, il existe différents «critères de qualité».

Exactitude Aptitude d un logiciel à fournir des résultats voulus dans les conditions normales d utilisation. Le plus important des critères de qualité. C est la Le plus important des critères de qualité. C est la base de l informatique : on souhaite développer des logiciels qui répondent aux besoin de l utilisateur.

Robustesse Aptitude à bien réagir lorsque l on s écarte des conditions normales d utilisation. Exemple : IP (Internet Protocol). Le succès d Internet est dû à la robustesse du protocole de communication utilisé.

Extensibilité Facilité avec laquelle un programme pourra être adapté pour faire face à une évolution des besoins de l utilisateur.

Réutilisabilité Possibilité d utiliser certaines parties du logiciel pour développer un autre logiciel répondant à d autres besoins. Cette notion est souvent reliée à l orienté objet où une classe générale sera facilement réutilisable.

Portabilité Facilité avec laquelle on peut exploiter un logiciel dans différentes implémentations. Exemple : Windows7 ou Linux.

Efficience Temps d exécution, taille mémoire

Ces critères sont des objectifs, qu un utilisateur va éventuellement spécifier dans l expression de ses besoins. Une méthode de développement permet de faciliter la satisfaction de ces critères.

Qu est-ce qu un cycle de vie? Enchaînement des activités de développement Définition des Pré et Post conditions pour chaque phase Procédures de gestion et d encadrement Procédures de mesures Méthodologie associée

Code and Fix : une solution satisfaisante?

Après de multiples changements, le code est mal construit et difficile à maintenir. Phase de conception nécessaire Les besoins d utilisateurs ne sont pas remplis. Phase d analyse nécessaire Faible préparation pour les tests et les modifications.

Distributeurs de tickets de bus, qui ne prennent que des billets (dollars) Un capteur scanne les billets, un processus de reconnaissance d image en juge l authenticité Si tout billet est accepté, l entreprise perd de l argent Si des billets valides sont rejetés, les clients sont mécontents Temps de réponse voulu < 1sec Précision voulue de 98% pour la reconnaissance d images Ces deux contraintes sont contradictoires. Pourquoi?

1. Une première version est implémentée 2. Des tests montrent que la contrainte de temps-réel n est pas satisfaite. La raison est l utilisation du type double au lieu de float. Le développeur change le code. 3. Avant de terminer le travail du point 2, des tests montrent que malgré ces changements, la contrainte de temps-réel n est toujours pas satisfaite. L algorithme de reconnaissance d image est en cause. 4. L entreprise souhaite désormais une précision de 99,9% pour lancer son produit. 5. Désormais, les capteurs sont devenus obsolètes.

requirements Requirements 3 analysis Analysis 3 design Design 3 Design 4 implement Implement 2 Implement 3 Implement 4

Le développement se fait suivant un cycle appelé le cycle de vie du logiciel. Le cycle de vie est décomposé en phases : Analyse : opportunité fonctionnelle et faisabilité Analyse : opportunité fonctionnelle et faisabilité technique Conception : choix tactiques de réalisation et d architecture Codage : réalisation informatique du détail des opérations Test : tests unitaires et d intégration

Analyse des besoins : Consultation complète des clients pour comprendre ce qui est voulu Définition des besoins : exprimer les besoins des utilisateurs de manière à ce qu ils soient compréhensibles par les utilisateurs et par les développeurs Spécification des besoins : documents formels (parfois considérés comme un contrat)

Proposition de solution au problème spécifié dans l analyse Organisation de l application en modules (architecture du logiciel), Description détaillée des modules avec les algorithmes essentiels (modèle logique) Structuration des données

Unités de conception transformées en code Traduction dans un langage de programmation Les unités individuelles sont alors testées pour certifier qu elles satisfont leur spécification.

Les unités individuelles sont intégrées progressivement Testées pour la compatibilité et la fonctionnalité Le système est déployé Maintenance du système

Les deux grandes catégories de cycles de vie : Les cycles linéaires : succession d étapes ordonnées Les cycles de vie itératifs : réalisation incrémentale Les cycles de vie itératifs : réalisation incrémentale par évolutions

Cycles en cascade

Cycles en V

Problèmes? Problème de l effet tunnel où l on ne voit tourner quelque chose qu à la fin. Détection d erreurs tardive Les projets présentent bien souvent une part d inconnu et donc de risques Méconnaissance des besoins par le client Incompréhension des besoins par le fournisseur Instabilité des besoins Choix technologiques Mouvements de personnels Le processus de développement d un logiciel n est pas naturellement linéaire..

Evaluation d éléments concrets au cours du développement : élimination de l effet tunnel basé sur l évolution de prototypes exécutables, mesurables diminution de l importance des documents de spécification détaillée livraisons intermédiaires résultats concrets réguliers de l équipe de développement meilleure anticipation et prise en compte des problèmes meilleure gestion de la prise en compte de modifications de spécification qui peuvent être intégrées dans une itération future intégration progressive de composants

En général, dans les cycles de développement itératifs, chaque itération reproduit le cycle en cascade à une plus petite échelle.

Cycle en spirale A chaque spire, il y a itération complète sur les phases : Analyse Conception Codage Tests

A chaque itération, le logiciel doit être dans un état quasi commercialisable Grand intérêt en prototypage incrémental La première spire doit comprendre les éléments les plus abstraits et le cœur fonctionnel minimum du système

La plupart des systèmes commerciaux sont maintenant en réseau Les applications doivent intégrer d autres applications développées par d autres entreprises : Du matériel différent Des logiciels différents

Evolution du matériel : le matériel évolue plus vite que le logiciel Certains programmes sont obsolètes, mais sont toujours utilisés pour des applications commerciales Des modifications peuvent corrompre la «logique» d un logiciel Les développeurs originels ne sont plus accessibles