ANALYSE ET CONCEPTION ORIENTEE OBJET

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

Université de Bangui. Modélisons en UML

IFT2255 : Génie logiciel

Chapitre I : le langage UML et le processus unifié

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

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

Conception, architecture et urbanisation des systèmes d information

Nom de l application

UML (Paquetage) Unified Modeling Language

DÉPLOIEMENT D UN ERP. Cours dispensé pour les L3 MSI Elaboré par : Mehdi M tir 2013/2014 Chapitre 3 : Modélisation des besoins

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Le Guide Pratique des Processus Métiers

Analyse,, Conception des Systèmes Informatiques

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

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

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

Business Process Design Max Pauron

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Les diagrammes de modélisation

Identification du module

Conférence sur les marchés publics informatiques

Méthodes d évolution de modèle produit dans les systèmes du type PLM

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

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

ARIS : Des Processus de gestion au Système Intégré d Applications

RTDS G3. Emmanuel Gaudin

Fiche méthodologique Rédiger un cahier des charges

Guichet automatique de banque

Les 10 Etapes de la conduite de projet

CAHIER DES CLAUSES TECHNIQUES PARTICULIÈRES (CCTP) MISE EN PLACE ET MAINTENANCE D UN MOTEUR DE RECHERCHE

Le génie logiciel. maintenance de logiciels.

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

La Certification de la Sécurité des Automatismes de METEOR

D AIDE À L EXPLOITATION

LIVRE BLANC. Dématérialisation des factures fournisseurs

Rectorat de Grenoble

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

Patrons de Conception (Design Patterns)

Systèmes et réseaux d information et de communication

PROFIL DE POSTE AFFECTATION. SERIA (service informatique académique) DESCRIPTION DU POSTE

SECTION 5 BANQUE DE PROJETS

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Sujet de thèse CIFRE RESULIS / LGI2P

Développement d un interpréteur OCL pour une machine virtuelle UML.

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

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

Cours STIM P8 TD 1 Génie Logiciel

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

Brève étude de la norme ISO/IEC 27003

ITIL V3. Objectifs et principes-clés de la conception des services

BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

QUELQUES ÉLÉMENTS DU DÉVELOPPEMENT LOGICIEL

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

Rational Unified Process

Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET

Management des processus opérationnels

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh

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

Cours Gestion de projet

Tableau de Bord. Clas 1.1 Conduite d'un projet de communication

Résumé CONCEPTEUR, INTEGRATEUR, OPERATEUR DE SYSTEMES CRITIQUES

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

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD)

Comprendre Merise et la modélisation des données

Méthodologies de développement de logiciels de gestion

Guide de la documentation des produits BusinessObjects XI

SIMULER ET CONCEVOIR LE TRAVAIL FUTUR

Le tableau de bord de la DSI : un outil pour mieux piloter son informatique.

LA GESTION DE PROJET INFORMATIQUE

Pascal Brunot Hadrien Cambazard UML FOR BUSINESS INTELLIGENCE PROJECT

RAPPORT DE CONCEPTION UML :

Chapitre 1 Qu est-ce qu une expression régulière?

LES INTERFACES HOMME-MACHINE

[ Sécurisation des canaux de communication

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

Information utiles. webpage : Google+ : digiusto/

Entrepôt de données 1. Introduction

Visual Paradigm Contraintes inter-associations

Concepteur Développeur Informatique

Business Process Modeling (BPM)

OUTILS DE GESTION ET D EVALUATION AU POSTE : Collecte/réparation/vente d électroménager. Assistant(e) secrétaire commercial(e)

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

Lancement du projet TOP (Tracabilité et Optimisation des Process)

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

Rapport d'analyse des besoins

Intelligence Artificielle Planification

Chapitre 5 Vision Informatique Logique Architectures Applicative et Logicielle

Conduite et Gestion de Projet - Cahier des charges

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)

TERMES DE REFERENCE POUR PRESTATAIRE INDIVIDUEL ET CONSULTANT

Les projets d investissement en PME

Problématiques de recherche. Figure Research Agenda for service-oriented computing

Automatisation de l administration système

C11.2 Identifier les solutions à mettre en œuvre C11.3 Préparer le cahier des charges

Expression des besoins

SPF FIN. Patris Spécification de Use Case: 15-UC01 Obtenir de l'information patrimoniale. Version 1.1

Transcription:

ISTA HAY RYAD 2011/2012 ANALYSE ET CONCEPTION ORIENTEE OBJET Définir les besoins pour une solution logicielle Réalisé par : BOUROUS Imane 1

PORTAIL DE LA FORMATION PROFESSIONNELLE AU MAROC Télécharger tous les modules de toutes les filières de l'ofppt sur le site dédié à la formation professionnelle au Maroc : www.marocetude.com Pour cela visiter notre site www.marocetude.com et choisissez la rubrique : MODULES ISTA

Déterminer les exigences fonctionnelles En ingénierie, et plus particulièrement dans les procédures d'appel d'offres publiques et privées, les exigences sont l'expression d'un besoin documenté sur ce qu'un produit ou un service particuliers devraient être ou faire. Elles sont le plus souvent utilisées dans un sens formel dans l'ingénierie des systèmes et dans l'ingénierie logicielle.

La phase exigence La phase de développement des exigences peut avoir été précédée par une étude de faisabilité, ou une phase d'analyse conceptuelle du projet. La phase d'exigences peut être décomposée en : Mettre à jour les exigences: rassembler les exigences des parties prenantes; Analyser : vérifier la cohérence et l'exhaustivité ; Définir: écrire les exigences sous une forme aisément compréhensible pour les utilisateurs et les développeurs ; Spécifier: créer une interaction initiale entre les exigences et la conception.

Exigences produit & exigences de processus Les projets sont soumis à trois sortes d'exigences : Les exigences métier qui décrivent le quoi dans les termes du métier. Elles décrivent ce qui doit être fourni ou réalisé pour produire de la valeur. Les exigences produit qui décrivent le produit ou le système à un haut niveau. Elles répondent aux exigences métier et sont couramment formulées comme les fonctionnalités que le système doit réaliser. On les appelle également exigences fonctionnelles ou spécifications fonctionnelles. Les exigences de processus qui décrivent le comment. Ces exigences prescrivent les processus que l'on doit suivre et les contraintes auxquelles on doit se conformer pour la réalisation du système. Dans ce cas, on trouve par exemple des exigences de sécurité, d'assurance qualité, ou de management.

Processus de développement des exigences Rédaction des exigences Les exigences doivent être écrites de telle manière qu'elles orientent la création et la modification d'un système selon les règles métier (ou règles de gestion) appropriées au contexte et au domaine et dans lequel le système doit être utilisé. Les systèmes doivent normalement se conformer au domaine d'activité dans lequel ils sont exploités.

Processus de développement des exigences Analyse des exigences Les exigences sont sujettes à des problèmes d'ambiguïté, d'imperfections, et d'incohérence. Des techniques telles qu'une inspection de logiciel rigoureuse ont été présentées pour aider à traiter de tels problèmes. Lorsque les ambiguïtés, les imperfections, et les incohérences sont résolues dans la phase d'exigences, l'ordre de grandeur du coût de correction est moins élevé que lorsque ces mêmes problèmes se retrouvent dans des étapes ultérieures de développement du produit. L'analyse des exigences s'efforce de résoudre ces problèmes.

Les intervenants d un projet informatique Plusieurs intervenants participent à l analyse, la conception et le développement d un projet informatique, parmi lesquels : Le client: Le client est l organisme auquel est destiné le projet, c est celui le donneur d ordre et le payeur de la prestation. Le client peut être une entreprise qui fait appel à une SSII pour réaliser le projet ou le service de l entreprise qui fait appel à la direction informatique Le prestataire Le prestataire est l organisme qui réalise le projet. Le prestataire peut être une entreprise externe spécialisée (SSII) ou le service informatique de l entreprise.

La Maîtrise d œuvre La Maîtrise d œuvre est la responsabilité de l exécution du projet. Elle représente le prestataire tout au long du projet. La Maîtrise d œuvre est le garant du respect des engagements pris notamment sur les délais et les contenues des fournitures. Il assure le pilotage technique du projet, la gestion de l équipe de production l affectation des tâches et la mise en œuvre des dispositions d assurance qualité.

La maîtrise d ouvrage La maîtrise d ouvrage assure la conformité du projet vis-à-vis de la demande du client. Elle représente le client tout au long du projet, elle a pour rôle de : Veiller au respect des objectifs généreux du projet Assurer la conduite générale dur projet Gérer les enveloppes financières Valider les documents relatifs au projet ainsi que les maquettes Éventuellement, préparer et exécuter les tests de réception des applications Prononcer les recettes C est au sein de la maîtrise d ouvrage que l on trouve les experts métier et les groupes de validation Lorsqu il existe un service d organisation dans l entreprise, celle-ci fréquemment chargé de la maîtrise d ouvrage, à défaut elle peut représenter les utilisateurs auprès de celle-ci.

Le directeur du projet ou chef de projet Le Directeur ou chef de projet est le responsable de la mise en œuvre du projet dans le cadre du cahier des charges établi. Il est chargé d étudier les besoins des utilisateurs, de définir des solutions adaptées et après validation de les mettre en œuvre avec les outils informatiques retenus. Il s appuie sur le Groupe de Pilotage et travaille en étroite collaboration avec le responsable utilisateur. Il dirigera l équipe affectée au projet. Il veillera au respect des délais, à la qualité du travail et à l établissement des critères de réception du projet. Il a pour rôle d assurer la coordination de l ensemble des acteurs du projet On désigne généralement le maître d œuvre comme directeur du projet, parfois le maître d ouvrage.

Le responsable qualité Le responsable qualité est choisi en commun accord entre le maîtrise d oeuvre et la maîtrise d ouvrage.il a le rôle de : Définir les dispositions d assurance qualité formalisées dans le plan d assurance qualité. Veiller à la mise en application de ces dispositions. Définir les actions correctives si les dispositions ne sont appliquées. Vérifier et rendre compte de la mise en application de ces actions.

Les «utilisateurs» Les utilisateurs sont les destinataires finaux du projet. Ils participent au projet sous la responsabilité du maîtrise d ouvrage. Le rôle des utilisateurs est important en particulier au niveau de : L expression des besoins. Les tests de recette. La mise en service du projet.

Les fournisseurs Un certain nombre d élément indispensable à l exécution du projet peuvent être obtenu auprès des fournisseurs autre que le prestataire. Ces fournisseurs peuvent fournir des matériels, logiciels, des ressources humaines et des services. Il est recommandé de définir : Les relations contractuelles avec les fournisseurs L entité qui porte la responsabilité le choix du fournisseur L entité qui porte la responsabilité du contrôle de l exécution du contrat Les dispositions financières associées

La modélisation du système

Introduction à la modélisation Pour modéliser un système informatique on se sert d un langage de modélisation. Comme c est souvent le cas en informatique plusieurs choix apparaissent sur le marché. L un d eux s est cependant nettement démarqué depuis les années 90 : il s agit de UML (Unified Modeling Language) né de la fusion de trois méthodologies de modélisation. UML se définit comme un langage de modélisation graphique et textuel destiné à comprendre et décrire des besoins, spécifier et documenter des systèmes, esquisser des architectures logicielles, concevoir des solutions et communiquer des points de vue.

UML UML unifie à la fois les notations et les concepts orientés objet. Il ne s agit pas d une simple notation, mais les concepts transmis par un diagramme ont une sémantique précise et sont porteurs de sens au même titre que les mots d un langage. UML a une dimension symbolique et ouvre une nouvelle voie d échange de visions systémiques précises. Ce langage est certes issu du développement logiciel mais pourrait être appliqué à toute science fondée sur la description d un système. Dans l immédiat, UML intéresse fortement les spécialistes de l ingénierie système.

Introduction UML? UML = Langage de modélisation A quoi sert? Définir un modèle logique sur lequel se fond le projet Types de diagrammes en UML? - Statique ( ce que le système est) - Dynamique (comment le système évolue) - Fonctionnel (ce que le système fait) 10/08/2012 17

Introduction Dynamique (comment le système EVOLUE) diagramme de séquence diagramme de collaboration diagramme d états-transitions diagramme d activités Statique (ce que le système EST) diagramme de classes diagramme d objets diagramme de composants diagramme de déploiement Fonctionnel (ce que le système FAIT) diagramme de cas d utilisation diagramme de collaboration

Plan Définition Diagramme de cas d utilisation Définition Intérêt Eléments de base Acteurs du système Cas d utilisation Relations entre éléments de base Entre Cas d utilisation Entre Cas d utilisation et acteurs Entre acteurs 10/08/2012 19

Définition Diagramme de cas d utilisation Expression du comportement du système (actions et réactions), selon le point de vue de l utilisateur Décrit le système et les relations entre le système et l environnement Intérêts: Permettent de délimiter les frontières du système Constituent un moyen d exprimer les besoins d un système Utilisés par les utilisateurs finaux pour exprimer leurs attentes et leurs besoins Permettent d impliquer les utilisateurs dès les premiers stades du développement Constituent une base pour les tests fonctionnels 10/08/2012 20

Définition Diagramme de cas d utilisation Cas d'utilisation (principes) Ce que le système doit faire (comportement souhaité) Mais pas comment réaliser ce comportement Pas de détails de programmation, mise en œuvre, etc. Indépendant de la réalisation Un outil pour communiquer Utilisateur final / expert du domaine <---> concepteur / développeur 10/08/2012 21

Diagramme de cas d utilisation Ouvrir la porte Include Propriétaire Défoncer la porte Policier fermer la porte 10/08/2012 22

Diagramme de cas d utilisation 10/08/2012 23

Éléments de base Acteurs du système Un acteur représente un rôle joué par une entité externe (utilisateur humain, dispositif matériel ou autre système) qui interagit directement avec le système étudié. Un acteur peut consulter et/ou modifier directement l état du système, en émettant et/ou en recevant des messages susceptibles d être porteurs de données. 10/08/2012 24

Éléments de base Acteurs du système Quels sont les utilisateurs qui ont besoins du système pour réaliser le travail? Quels sont les utilisateurs qui vont effectuer les fonctions principales du système? Quels sont les utilisateurs qui vont exécuter les fonctions principales du système (maintenance et administration)? Est-ce que le système interagit avec du matériel ou d'autres logiciels? 10/08/2012 25

Éléments de base Acteurs du système Exemple distributeur 10/08/2012 26

Éléments de base Cas d utilisation (use case) Un cas d utilisation (use case) représente un ensemble de séquences d actions qui sont réalisées par le système et qui produisent un résultat observable intéressant pour un acteur particulier. Un cas d utilisation modélise un service rendu par le système. Il exprime les interactions acteurs/système et apporte une valeur ajoutée «notable» à l acteur concerné. 10/08/2012 27

Éléments de base Cas d utilisation (use case) Identification des «use cases» : Quelles sont les fonctions demandées par l'acteur du système? Le système mémorise t-il de l'information? Quel acteur créera, lira ou mettra à jour l'information? Le système doit il informer un acteur extérieur que son état interne a changé? Y a t-il des événements externes que le système doit connaître? Quel acteur informe le système de ces événements? 10/08/2012 28

Éléments de base Cas d utilisation (use case) Nom Descriptio n des besoins Informati ons sur l utilisatio n du cas d utilisati on Priorité Les uses cases peuvent être structurés. Use case Descriptio n Les uses cases peuvent être organisés en paquetages (packages). Acteurs déclencheu rs L'ensemble des use cases décrit les objectifs (le but) du système. Acteurs secondair es Préconditions Postconditions Scénarii 10/08/2012 29

Exercice d application France Télécom désire disposer d une plateforme d achat en ligne ou les clients peuvent consulter ou/et commander les produits qui sont disponibles sur un catalogue. Les administrateurs de FT sont responsables de la mise à jour des produits et du traitement des commandes effectués par les clients. 10/08/2012 30

Corrigé Identification des acteurs : - Administrateur - Client Identification des cas d utilisations : - Consulter le catalogue - Commander un produit - Mettre à jour le catalogue - Traiter une commande 10/08/2012 31

Corrigé Commander un produit Consulter le catalogue Mettre à jour le catalogue Client Traiter la commande Administrateur 10/08/2012 32

Corrigé Description textuelle du cas d utilisation Nom du cas d utilisation : Mettre à jour le catalogue Acteurs déclencheurs : Administrateur. Contexte de déclenchement: l'acteur sélectionne la mise à jour d un catalogue. Pré-conditions : l acteur s est connecté au système et choisit un catalogue Description du UC : permet à l'acteur de gérer un catalogue à savoir : l ajout, la modification et la suppression du catalogue. Post-conditions : le catalogue est mise à jour. Scénario nominal : 1. Connexion au système ; 2. Sélection d un catalogue 3. Mise à jour du catalogue. 10/08/2012 33

Relations entre éléments de base Entre Cas d utilisation Include Généralisation ou spécialisation Extends Relations entre use case 10/08/2012 34

Relations entre éléments de base Entre Cas d utilisation Généralisation: Les cas d utilisation descendants héritent de la description de leur parent commun. Chacun d entre eux peut néanmoins comprendre des interactions spécifiques supplémentaires. 10/08/2012 35

Relations entre éléments de base Entre Cas d utilisation Include : Le cas d utilisation contient un autre cas d utilisation 10/08/2012 36

Relations entre éléments de base Entre Cas d utilisation Extends : Le cas d utilisation étend (précise) les objectifs (le comportement) d un autre cas d utilisation. On dit qu un cas d utilisation X étend un cas d utilisation Y lorsque le cas d utilisation X peut être appelé au cours de l exécution du cas d utilisation Y. 10/08/2012 37

Relations entre éléments de base Entre Cas d utilisation et acteurs Relation d association Une relation d association est chemin de communication entre un acteur et un cas d utilisation et est représenté par un trait continu 10/08/2012 38

Relations entre éléments de base Entre Cas d utilisation et acteurs Multiplicité: Lorsqu un acteur peut interagir plusieurs fois avec un cas d utilisation, il est possible d ajouter une multiplicité sur l association du côté du cas d utilisation; Acteur principal: Le cas d utilisation rend service à cet acteur. Acteur secondaire : est sollicité pour des informations complémentaires. 10/08/2012 39

Relations entre éléments de base Entre Cas d utilisation et acteurs La Généralisation : un acteur A est une généralisation d un acteur B si l acteur A peut être substitué par l acteur B. Dans ce cas, tous les cas d utilisation accessibles à A le sont aussi à B, mais l inverse n est pas vrai. 10/08/2012 40

Remarques Concernant les relations dans les cas d utilisation Il est important de noter que l utilisation des relations n est pas primordiale dans la rédaction des cas d utilisation et donc dans l expression du besoin. Ces relations peuvent être utiles dans certains cas mais une trop forte focalisation sur leur usage conduit souvent à une perte de temps ou à un usage faussé, pour une valeur ajoutée, au final, relativement faible.

Remarques Concernant les cas d utilisation les diagrammes de cas d utilisation ne peuvent être qualifiés de modélisation à proprement parler. D ailleurs, de nombreux éléments descriptifs sont en langage naturel. De plus, ils ne correspondent pas exactement à une approche objet. En effet, capturer les besoins, les découvrir, les réfuter, les consolider, etc., correspond plus à une analyse fonctionnelle classique.

Conclusion L'objectif poursuivi par les cas d'utilisation est de permettre de décrire, dans des documents lisibles par tous, la finalité des interactions du système et de ses utilisateurs. Ils ne doivent pas chercher l'exhaustivité, mais clarifier, filtrer et organiser les besoins! Après avoir rédigé les cas d utilisation, il faut identifier des objets, des classes, des données et des traitements qui vont permettre au système de supporter ces cas d utilisation.