Analyse,, Conception des Systèmes Informatiques



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

IFT2255 : Génie logiciel

Le génie logiciel. maintenance de logiciels.

Chapitre I : le langage UML et le processus unifié

Introduction au génie logiciel

Génie Logiciel Orienté Objet UML

Processus d Informatisation

UML (Paquetage) Unified Modeling Language

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Cours Gestion de projet

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

Université de Bangui. Modélisons en UML

Génie logiciel (Un aperçu)

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

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

UML 2.0. (IUT, département informatique, 1 re année) Laurent AUDIBERT

Introduction à la modélisation

But de cette introduction à la gestion de projets :

Rational Unified Process

CC30 Certificat de compétence Conception, développement et animation de sites Web

Sommaire. Conduite de projet Méthode d analyse et de conception. Processus unifié. Objectifs d un processus de développement

Comparaison de trois techniques de modélisation de processus: ADONIS, OSSAD et UML

Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.)

Génie Logiciel. Rappels. C. Crochepeyre Génie Logiciel Rappels 1

ANALYSE D UN SYSTEME D INFORMATION ET EXTENSION DE

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

GL Le Génie Logiciel

Méthodes de Conception Orientés Objet (MCOO) SOMMAIRE

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

CHAPITRE 3 : LES METHODES AGILES?

Eclipse Process Framework et Telelogic Harmony/ITSW

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

Le Processus Unifié de Rational

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

Management des processus opérationnels

Analyse par Objets. avec UML (Unified Modeling Language) Pr. Jean-Marc Jézéquel IRISA - Univ. Rennes I

Conception, architecture et urbanisation des systèmes d information

Méthodologies de développement de logiciels de gestion

Méthodologies Orientées-Objet!

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

Introduction IV. Comparaison MERISE/UML/SCRUM Approche fonctionnelle Schéma Entité/Association Méthodologie...

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

CONCEPTION DE PROJET SIG AVEC UML

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

Évaluation et implémentation des langages

Bertrand Cornanguer Sogeti

Technologie Web. Conception de sites Web. Alexandre Pauchet. INSA Rouen - Département ASI. INSA - ASI TechnoWeb : Rappels UML 1/21

Cours STIM P8 TD 1 Génie Logiciel

Conception. Génie Logiciel. Renaud Marlet. LaBRI / INRIA (d'après A.-M. Hugues) màj 17/04/2007

RTDS G3. Emmanuel Gaudin

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

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

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

SECTION 5 BANQUE DE PROJETS

Développement itératif, évolutif et agile

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

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)

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Gestion Projet. Cours 3. Le cycle de vie

Les méthodes itératives. Hugues MEUNIER

Description de la formation

Le Guide Pratique des Processus Métiers

GL Processus de développement Cycles de vie

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

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

LOG2420 Analyse et conception d interfaces utilisateur

Introduction. Nicolas Phalippon IR3. Source: rapport commandé par le Congrès américain. Présentation du 24/10/02

Pascal Brunot Hadrien Cambazard UML FOR BUSINESS INTELLIGENCE PROJECT

Identification du module

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

Développement ebusiness

INDUSTRIALISATION ET RATIONALISATION

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

3. UML - Unified Modeling Language Diagrammes statiques

Méthodes Agiles et gestion de projets

Réussir la modélisation UML des phases amont Techniques de «pré-modélisation» : un pont vers le modèle

Chapitre 5 Vision Informatique Logique Architectures Applicative et Logicielle

RÉUSSIR L AUTOMATISATION DU PROCESSUS DE TEST FONCTIONNEL

Retour d expériences avec UML

Sujet de thèse CIFRE RESULIS / LGI2P

Méthodes de développement. Analyse des exigences (spécification)

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

Synergies entre Artisan Studio et outils PLM

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

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

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Le Rational Unified Process

Organisation d une simulation sur un prototype logiciel workflow et GED. ImmoBiens. 1 - Description du projet de l entreprise

Analyse et conception des Systèmes d Information. La démarche Merise : La Maintenance

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

Business Process Design Max Pauron

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

Méthodes de développement

Chapitre 2 - Architecture logicielle et construction d applications client-serveur

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

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

IBM Business Process Manager

Nom de l application

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Transcription:

Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance de composants logiciels de qualité.» Justifications : Evolution des techniques de programmation, du matériel, des besoins O. Boissier, SMA/G2I/ENS Mines Saint-Etienne, Olivier.Boissier@emse.fr, Septembre 2004 Génie logiciel 2 Des problèmes Des principes Croissance de la taille et de la complexité des systèmes besoins et fonctionnalités augmentent, évoluent technologies en perpétuelle évolution diversification des architectures Avec des délais de plus en plus courts, et des équipes de plus en plus grosses, avec des compétences multiples Rigueur et formalisation Séparation des problèmes Modularité, Abstraction Prévision de changements Généricité Incrémentalité Génie logiciel 3 Génie logiciel 4

Qualité du logiciel Qualité du logiciel (suite) Facteurs externes (cf. utilisateur) Correction (validité) aptitude à répondre aux besoins et à remplir les fonctions définies dans le cahier des charges Robustesse (fiabilité) aptitude à fonctionner dans des conditions non prévues au cahier des charges, éventuellement anormales Extensibilité facilité avec laquelle de nouvelles fonctionnalités peuvent être ajoutées à un logiciel Compatibilité facilité avec laquelle un logiciel peut être combiné avec d autres Efficacité utilisation optimale des ressources matérielles (processeur, mémoires, réseau, ) Convivialité facilité d apprentissage et d utilisation facilité de préparation des données facilité de correction des erreurs d utilisation facilité d interprétation des résultats Génie logiciel 5 Génie logiciel 6 Qualité du logiciel (suite) Qualité du logiciel (suite) Intégrité (sécurité) aptitude d un logiciel à protéger son code contre des accès non autorisés. Facteurs internes (cf. concepteur) Ré-utilisabilité Aptitude d un logiciel à être réutilisé, en tout ou en partie, pour d autres applications Vérifiabilité aptitude d un logiciel à être testé (optimisation de la préparation et de la vérification des jeux d essai) Portabilité aptitude d un logiciel à être transféré dans des environnements logiciels et matériels différents Lisibilité, Modularité. Génie logiciel 7 Génie logiciel 8

Sommaire Projet Génie logiciel Conduite de projet informatique Phases de développement Modèles de développement Méthodes d analyse et de conception Unification des méthodes objet : UML Ensemble d actions à entreprendre afin de répondre à un besoin défini dans des délais fixés, mobilisant des ressources humaines et matérielles, possédant un coût. qualité 9 coûts délais 10 Acteurs d un projet Conduite de projet Maître d ouvrage personne physique ou morale propriétaire de l ouvrage. Il détermine les objectifs, le budget et les délais de réalisation. Maître d œuvre personne physique ou morale qui reçoit mission du maître d ouvrage pour assurer la conception et la réalisation de l ouvrage. 11 Organisation méthodologique mise en œuvre pour faire en sorte que l ouvrage réalisé par le maître d œuvre réponde aux attentes du maître d ouvrage dans les contraintes de délai, coût et qualité. Besoins Solutions Projet Conduite de Projet Satisfaction des Besoins 12

Conduite de projet Sommaire Direction de projet Synthèse et décisions Analyse et reporting Gestion des hommes Organisation Communication Animation Gestion technique Objectif Méthode Qualité Gestion des Moyens Planification Contrôle Coûts Délais 13 Génie logiciel Conduite de projet informatique Phases de développement Modèles de développement Méthodes d analyse et de conception Unification des méthodes objet : UML Une partie du matériau de ce cours est issue du cours de D. Bardou, UJF, INRIALPES 14 Phases de développement Planification 7 étapes dans la vie d un logiciel: Planification (Étude de la faisabilité) Spécification des besoins (Requirement analysis) Analyse (Spécification formelle) Conception (Spécification technique) Implémentation (Codage) Tests unitaires Intégration et tests Livraison Maintenance identification de plusieurs solutions et évaluation des coûts et bénéfices de chacune d'elles simulation de futurs scénarios de développement Sortie : un schéma directeur contenant la définition du problème les différentes solutions avec les bénéfices attendus les ressources requises pour chacune d'elles (délais, livraison, etc.) Phases de développement 15 Phases de développement 16

Spécification des besoins À partir du cahier des charges, description du problème à traiter identification des besoins de l'utilisateur spécification du "quoi" fait par le logiciel : informations manipulées, services rendus, interfaces, contraintes Spécification des besoins (suite) Abstraction et séparation des problèmes Modularisation : séparation des besoins fonctionnels Sorties : Modèle conceptuel Manuel utilisateur provisoire pour les non informaticiens Plans de tests du système futur (cahier de validation) Phases de développement 17 Phases de développement 18 Analyse Conception Répondre au «Que fait le système?» modélisation du domaine d application analyse de l existant et des contraintes de réalisation Abstraction et séparation des problèmes Sorties : Modèle conceptuel + dossier de tests d intégration Répondre au «Comment faire le système? Décomposition modulaire Définition de l architecture du logiciel Définition de chaque constituant du logiciel : informations traitées, traitements effectués, résultats fournis, contraintes à respecter Sorties : Modèle logique + dossier de tests unitaires Phases de développement 19 Phases de développement 20

Implémentation Tests unitaires Réalisation des programmes dans un (des) langage(s) de programmation Tests selon les plans définis lors de la conception Écriture des programmes Tests Mise au point (déboguage) Sorties : Modèle physique Collection de modules implémentés, non testés Documentation de programmation qui explique le code test séparé de chacun des composants du logiciel en vue de leur intégration réalisation des tests prévus pour chaque module les tests sont à faire par un membre de l'équipe n'ayant pas participé à la fabrication du module Sorties : Rapport de cohérence logique Phases de développement 21 Phases de développement 22 Intégration et test du système Intégration des modules et test de tout le système Assemblage de composants testés séparément Tests Alpha : l'application est mise dans des conditions réelles d'utilisation, au sein de l'équipe de développement (simulation de l'utilisateur final) Sorties : Rapport de conformité Démarche d intégration (ascendante, descendante ou les deux) Conception des données de tests Documentation des éléments logiciels Livraison, maintenance, évolution Livraison du produit final à l'utilisateur, Suivi, modifications, améliorations après livraison. Tests Bêta : distribution du produit sur un groupe de clients avant la version officielle, Livraison à tous les clients, Maintenance : corrective, adaptative, perfective. Sorties : Produit et sa documentation Trace d exploitation et d évolution Phases de développement 23 Phases de développement 24

Modèles de développement Organiser les différentes phases du cycle de vie pour l'obtention d'un logiciel fiable, adaptable et efficace Guider le développeur dans ses activités techniques Fournir des moyens pour gérer le développement et la maintenance (ressources, délais, avancement, etc.) Modèles de développement (suite) Modèle code-and-fix Modèle (linéaire) en cascade Modèle en V Modèle en spirale... Modèles de développement 25 Modèles de développement 26 Modèle en cascade Modèle en V Analyse Conception Expression des besoins Spécification fonctionnelle Validation des besoins Validation fonctionnelle Implémentation Tests Maintenance Conception du système Conception des composants Implémentation Tests du système Tests des composants Modèles de développement 27 Modèles de développement 28

Modèle en spirale Sommaire Conception Implémentation Analyse Tests Spécifications Validation Génie logiciel Conduite de projet informatique Phases de développement Modèles de développement Méthodes d analyse et de conception Unification des méthodes objet : UML Modèles de développement 29 30 Méthode d analyse et de conception Proposition d une démarche distinguant les étapes du développement dans le cycle de vie du logiciel (modularité, réduction de la complexité, réutilisabilité éventuelle, abstraction) Utilisation d un formalisme de représentation qui facilite la communication, l organisation et la vérification production de documents (modèles) qui facilitent les retours sur conception et l évolution des applications De nombreuses méthodes... Méthodes fonctionnelles hiérarchiques Data-Flow/SADT/SA-SD, Structure-Chart,... Méthodes données Entité-Relation, MERISE,... Méthodes comportements SA-RT, Réseaux de Pétri,... Méthodes objets OMT, OOA, Classe-Relation, OOD,... Méthodes d analyse et de conception 31 Méthodes d analyse et de conception 32

Unification des méthodes objet Constat : au début des années 90, existe une cinquantaine de méthodes objet, liées uniquement par un consensus autour d idées communes (objet, classe, sous-systèmes, ) MAIS avec chacune sa propre notation, SANS arriver à remplir tous les besoins et à modéliser correctement les divers domaines d application. Recherche d un langage commun unique utilisable par toute méthode objet, dans toutes les phases du cycle de vie, compatible avec les techniques de réalisation actuelles. UML Recherche d un processus de développement commun, unique,??? Unified Process UML signifie Unified Modeling Language est une notation basée sur les méthodes Booch, OMT (Rumbaugh), OOSE (Jacobson), a été construite afin de standardiser les artéfacts de développement (modèles, notation, diagrammes) SANS standardiser le processus de développement, Rôle important de RATIONAL et de l OMG Méthodes d analyse et de conception 33 UML 34 Points forts des sources Historique OMT : expressive pour l analyse et la conception de systèmes d information à base de données, BOOCH : expressive durant les phases de design et d implantation des projets, OOSE : expressive pour l analyse des besoins grâce aux «cas d utilisation». Commentaires du public Version béta - fin 99 UML 1.3 Version intermédiaire non publiée UML 1.2 Standardisation à l OMG - Novembre 97 UML 1.1 Soumission à l OMG - Janvier 97 UML 1.0 Juin 96 puis OOPSLA 96 UML 0.9 & 0.91 OOPSLA 95 Unified Method 0.8 Booch 93 OMT-2 Autres méthodes Booch 91 OMT-1 OOSE Partenaires UML 35 UML 36

Contributions Différentes vues Booch Booch Method Rumbaugh OMT Jacobson OOSE Vision Logique Vision Implémentation Odell Classification Shlaer-Mellor Cycle de vie des objets Gamma et al. Frameworks, Patterns, et notes Embley Classes singleton Meyer Théorie du contrat Harel d états Wirfs-Brock Responsabilités Fusion Description de méthodes Numérotation de message Utilisateus finaux Fonctionalités Vision Processus Intégrateurs système Performance Changement d échelles Throughput Conceptuel Vision cas d utilisation Programmeurs Gestion du logiciel Vision Déploiement Ingénieur système Topologie du système Installation Communication Physique UML 37 UML 38 Différents modèles modèle : description complète d un système selon une perspective particulière. dynamique Use Case Use Case de Séquences Scenario Scenario de collaboration Scenario Scenario Etat-transiition Use Case Use Case cas d utilisation Modèles d activité State State de Classes Component Component de déploiement statique State State Objets State State de Composants Différentes vues Classes, Objets, Collaboration, Séquences Vision Logique Utilisateus finaux Fonctionalités Etats-Transitions Activité Vision Processus Intégrateurs système Performance Changement d échelles Conceptuel Cas d utilisation Vision cas d utilisation Composants Vision Implémentation Programmeurs Gestion du logiciel Vision Déploiement Ingénieur système Topologie du système Installation Communication Physique Déploiement UML 39 UML 40

Pour en savoir plus... Pour en savoir plus... The Objectory Software Development Process Ivar Jacobson, Grady Booch, Jim Rumbaugh, all of Rational Software Corp. Unified Modeling Language Reference Manual Jim Rumbaugh, Ivar Jacobson, Grady Booch Unified Modeling Language User Guide Grady Booch, Jim Rumbaugh, Ivar Jacobson -all of Rational Software Corp. 41 + Documentation : http://www.rational.com 42