DESS MIAGe Etude de cas UML. Anne-Laure VALDIVIA, David ROUSSE, Philippe CASSAN

Documents pareils
Nom de l application

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

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

ÉCOLE POLYTECHNIQUE FÉDÉRALE DE LAUSANNE. Manuel de formation. Achats

EXERCICES UML. Modéliser cette situation par un diagramme de cas d utilisation. Consulter planning

Chapitre VI- La validation de la composition.

NETWORK & SOFTWARE ENGINEERING MANUEL D UTILISATEUR. Logiciel TIJARA. NETWORK AND SOFTWARE ENGINEERING Manuel d'utilisateur "TIJARA" 1

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

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

Projet Active Object

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

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

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

RTDS G3. Emmanuel Gaudin

Université de Bangui. Modélisons en UML

Bases de données. Chapitre 1. Introduction

Etude et développement d un moteur de recherche

PROJET ALGORITHMIQUE ET PROGRAMMATION II

Diagrammes de Package, de déploiement et de composants UML

Guide du/de la candidat/e pour l élaboration du dossier ciblé

OCL - Object Constraint Language

Cours STIM P8 TD 1 Génie Logiciel

COURS WINDEV NUMERO 3

FIDÉICOMMIS. Être en mesure de :

Simplifier l intégration des systèmes RH et garantir une version unique des données de l employé. D

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Service On Line : Gestion des Incidents

Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon

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

MODE OPERATOIRE DE LA SAISIE DE VIREMENTS SOUS FORME DE LISTE

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

Ingénérie logicielle dirigée par les modèles

IFT2255 : Génie logiciel

AIDE MEMOIRE. Forprev. De l habilitation à la gestion de sessions. Page 1 sur 55

Algorithmique et programmation : les bases (VBA) Corrigé

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

SITE WEB E-COMMERCE ET VENTE A DISTANCE

UE 8 Systèmes d information de gestion Le programme

GOL502 Industries de services

Schéma relationnel et contraintes d intégrité : le cas ConduiteAuto

Concepteur Développeur Informatique

Rappel sur les bases de données

MON LIVRET DE COMPETENCES EN LANGUE (Socle commun) Niveau A1/A2 / B1

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Les fonctionnalités détaillées

Projet CORBA : gestion de supermarchés

FORMULAIRE DE DEMANDE D AIDE NON REMBOURSABLE POUR PETITS PROJETS LOCAUX. Libreville - GABON. Tel. : (241) / Fax : (241)

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de

en 16 différences

Retour table des matières

Business Process Modeling (BPM)

Les journaux, suivi des flux financiers

Gestion distribuée (par sockets) de banque en Java

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

Guide d implémentation. Réussir l intégration de Systempay

Meta Object Facility. Plan

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

Guide de développement de «WorkFLows» avec SharePoint Designer 2013

LOCAL TRUST SUB. Guide d utilisation Tiers

RAPPORT DE CONCEPTION UML :

Premiers Pas en Programmation Objet : les Classes et les Objets

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)

ASTER et ses modules

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

PRÉPARATION DU STAGE A L ÉTRANGER

Bien programmer. en Java ex. couleur. Avec plus de 50 études de cas et des comparaisons avec C++ et C# Emmanuel Puybaret.

Conception préparé et développement

Formation. Module WEB 4.1. Support de cours

Exécution de processus

Bases de Données relationnelles et leurs systèmes de Gestion

Exécution de processus

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

TD sur JMS ) Qu est-ce qu un middleware orienté message (MOM)? Quelles différences faites-vous entre un MOM et JMS?

Concours externe Inria Arrêté du 15 avril Poste «SIE7 - Gestionnaire Paie H/F» Accès au corps des «Techniciens de la recherche»

Cours 1 : Qu est-ce que la programmation?

Mineure Architectures Orientées Services SOA Exécution de processus. Mineure SOA. Exécution de processus

Guide de recherche documentaire à l usage des doctorants. Partie 1 : Exploiter les bases de données académiques

Programmation Objet Java Correction

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

Incluant l analyse du patrimoine. Description du rapport (Couple seulement)

Systèmes d information et bases de données (niveau 1)

Gestion d Epargne de Crédit & Comptabilité

Objets et Programmation. origine des langages orientés-objet

Les 1 er pas sur. Guide d utilisation

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

DESCRIPTION DE L'ARCHITECTURE et PRESENTATION DES ESPACES DE TRAVAIL

PROJET 1 : BASE DE DONNÉES REPARTIES

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Alfstore workflow framework Spécification technique

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

Développement ebusiness

Guide du RDAQ. Comment saisir des descriptions de fonds et collections dans le Réseau de diffusion des archives du Québec (RDAQ)

Guichet automatique de banque

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

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

Ce tutoriel vous explique en détail les règles de fonctionnement utilisées par B-Association pour gérer les dons.

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

UML et les Bases de Données

Transcription:

Etude de cas UML

SOMMAIRE I. Introduction 3 II. Spécifications 3 1. Description des cas d utilisation 3 2. Description des scénarios 4 3. Structure de l IHM 7 III. Analyse 11 1. Dictionnaire des données 11 2. Diagramme des classes 13 3. Diagramme d état transition 14 4. Diagrammes de séquence 15 5. Diagrammes de collaboration 17 IV. Conclusion 19

I. Introduction UML est un langage de modélisation fondé sur les concepts objet : l objet d UML est de fournir une notation standard utilisable dans le développement de systèmes informatiques basés sur l objet. Cependant, UML n est pas une méthode car il n inclut pas la manière d utiliser les concepts qu il se propose c est à dire l enchaînement des étapes qui mènent à la résolution des problèmes posés. En conséquence, nous allons utiliser la démarche proposée par les enseignements de l UT1 pour traiter l étude de cas ASSURANCETOUTRISK. II. Spécifications L énoncé d un besoin exprime un comportement ou une propriété que le futur système doit respecter, la formulation doit se faire en termes compréhensibles. Dans notre cas, les besoins sont exprimés dans l énoncé du problème : Envisager une automatisation complète du processus de gestion du CRAI. Fournir un état récapitulatif des activités mensuelles. 1. Description des cas d utilisation Les cas d utilisations sont des outils formels qui permettent de consigner et d exprimer des interactions entre les utilisateurs et le système. On peut noter que les cas d utilisations sont utilisés durant tout le processus car ils servent à la création de l IHM, à la spécification des tests (recette) Système Créer CRAI Agent informatique Modifier CRAI Chef de projet Valider CRAI Responsable DSI Créer Etat Responsable unité utilisatrice Ces cas d utilisation seront détaillés ci-après dans les scénarios.

La hiérarchie des acteurs est la suivante : Responsable unité utilisatrice Agent informatique Chef de projet Responsable DSI 2. Description des scénarios Un cas d utilisation est une abstraction de un ou plusieurs scénarios, une instance de cas d utilisation est appelée un scénario. Les scénarios pourraient être décrits sous forme textuelle mais nous vous proposons le formalisme vu en cours. On utilisera des diagrammes de séquences particuliers pour décrire formellement ces scénarios. NB : Les scénarios ne traitent pas l identification des acteurs, on considère donc que lors des interactions avec le système, les acteurs sont identifiés au préalable. Scénario Créer CRAI : Agent informatique Formulaire CRAI vierge Formulaire CRAI complété Système Objectif : un agent, y compris un chef de projet, souhaite saisir un CRAI. Un CRAI est en fait une liste d interventions. Le système affiche un formulaire avec les zones de saisies nécessaires pour un CRAI. L agent peut saisir ainsi toutes les informations.

Scénario Modifier CRAI Système : Agent informatique Formulaire CRAI rempli Formulaire CRAI modifié Objectif : L agent informatique modifie un CRAI qu il a saisit auparavant et le renvoie. Le système renvoie le CRAI de la semaine en cours pour permettre la modification de celuici. Si le CRAI a déjà été validé, on lui présente le CRAI de la semaine suivante. Scénario Valider CRAI Système : Chef de projet Liste CRAI Choix CRAI Formulaire CRAI Formulaire CRAI Validé Objectif : un chef de projet doit valider les CRAI à chaque fin de semaine. Le chef de projet doit vérifier le CRAI de son choix (en fait toutes les interventions qui constituent le CRAI), celui-ci lui sera renvoyé par le système, s il est correct, il le valide, sinon il faut le corriger avant validation.

Scénario Créer Etat : Responsable DSI Système : Chef de projet : Responsable unité utilisatrice Demande Synthèse Hebdo Etat Synthèse Hebdo Demande Synthèse Mensuelle Etat Synthèse Mensuelle Etat Synthèse Mensuelle Etat Synthèse Mensuelle Requête Réponse Requête Réponse Objectif : le responsable DSI ou le chef de projet ont la possibilité de créer des états hebdomadaires ou mensuels. Trois scénarios sont à distinguer : Création d un état hebdomadaire par le chef de projet pour gérer ses projets. Création d un état mensuel par le DSI dont une copie est transmise au chef de projet et au responsable de l unité utilisatrice. Création d une requête libre dans le but de donner plus de souplesse au système proposé.

3. Structure de l IHM A partir du diagramme des cas d utilisation, nous avons défini l IHM suivante, celle ci est donnée à titre d exemple, c est lors de la phase de conception que le choix de l architecture logicielle cible sera effectivement réalisé. On peut remarquer que chaque cas d utilisation identifié est représenté dans la structure des menus déroulants.

A partir des scénarios, nous avons défini les formulaires de saisie, modification, et validation des CRAI, ainsi que les états hebdomadaires mensuels. Ecran pour la saisie, modification des CRAI. Cet écran sert pour deux opérations distinctes, le champ «mode» permet de savoir quel type d opération est en cours (création ou modification).

Ecran pour valider un CRAI Ecran pour le choix d un CRAI par un chef de projet Cet écran est affiché avant le précédent pour que le chef de projet puisse choisir le CRAI correspondant à valider pour un agent particulier.

Ecran pour la synthèse d activités hebdomadaire par projet ou par unité Ecran pour la synthèse mensuelle

III. Analyse L analyse consiste à partir des cas d utilisation et des besoins recueillis à élaborer la structure du système à un niveau d abstraction qui va au-delà de l implémentation physique. L essentiel est de s assurer que tous les besoins fonctionnels sont réalisés quelque part dans le système. 1. Dictionnaire des données Dictionnaire des données Sigle Libellé Type Règle CRAI Formulaire CRAI Struct. Matricule, Nom, Prenom, Année, Semaine, Code activité, Code projet, Description de l'intervention, Unité utilisatrice concernée, Temps hebdomadaire (en heures), Validation, CumulAgent, Mode Matricule Matricule d'un employé Entier Nom Nom d'un agent Chaine Un chef de projet est un agent Prénom Prénom d'un agent Chaine Un chef de projet est un agent Année Année de création du CRAI Date Semaine Semaine de création du CRAI Date CodeActivité Code de l'activité réalisée Entier CodeProjet Code du projet concerné Chaine Description Description de l'intervention Chaine Texte libre CodeService Code du service Chaine Temps hebdomadaire (en Temps heures) Entier Validation Validation de l'intervention Booléen CumulAgent ChoixCRAI Cumul des heures hebdomadaires d'un agent Heure Calculée par (TempsPassé) Choix d'un CRAI pour validation Struct. Code projet, Code agent Synthèse des Activités SynthèseHebdo Hebdomadaires Struct. LibelléService Libellé du service Chaine CumulProjet Code projet, Code agent, Année, Semaine, Code activité, Description de l'intervention, Unité utilisatrice concernée, Temps hebdomadaire (en heures), Cumul Cumul des heures hebdomadaires d'un projet Heure Calculée par (Temps hebdomadaire) SynthèseMensuelle Synthèse des Activités Mensuelles Struct. Mois Mois Date LibelléProjet Libellé du projet Chaine Année, Semaine1, Semaine2, Code projet, Libellé du projet, Unité utilisatrice concernée, Temps mensuel projet (en heures), Cumul projets, Temps mensuel unité (en heures), Cumul unités,

TempsMensuelProjet Temps mensuel projet (en heures) Heure Calculée par (Temps hebdomadaire consacrée à une intervantion inclue au projet) TempsMensuelUnité Temps mensuel unité (en heures) Heure Calculée par (Temps hebdomadaire consacrée à une intervention liée à l'unité) CumulProjets Cumul projets Heure Calculée par (TempsMensuelProjet) CumulUnités Cumul unités Heure Calculée par (TempsMensuelUnité) Adresse Adresse de l'employé Chaine Email E-mail de l'employé Chaine Cout Coût de l'intervention Réel TauxFacturation Taux de facturation Réel LibelléActivité Libellé de l'activité Chaine Légende: Les données calculées sont présentées en italique

2. Diagramme des classes Ce diagramme donne une représentation statique du système. Il se compose de classes et de leurs relations. Une classe regroupe des données et des méthodes. Employ é matricule : Integer nom : String prénom : String adres se : St ring email : St ring 0..n Rec herc her_em() t ravaille Agent Chef projet Responsable Sav oir Faire coût : Double Rechercher_Ag() 1..n 1 Date semaine : Date année : Date 1 1 est responsable Rechercher_Sa() Rechercher_Da() Rechercher_Da() 1 0..n 0..n <<Asso n-aires>> Intervention temps : Integer description : String v alidation : Boolean dirige 0.. n 1 Serv ice codeserv ice : String libelléserv ice : String 0..n Créer_Int() Rechercher_In() Modif ier_in() Valider_In() Calculer_In() 0..n 0..n Unité Utilisatrice 1..n Ac tiv it é codeactivité : Integer libelléactiv ité : String Rechercher_Ac() 1 1 0..n Projet codeprojet : String libelléprojet : String 0.. n 0..n 1 Rechercher_Un() Calculer_Un() Rechercher_Pr() Calculer_Pr() Facturation tauxfacturation : Single Rechercher_Fa()

3. Diagramme d état transition Voici le DET de la classe Intervention. Les autres DET n ont pas été présentés car ils n étaient pas pertinents. Modification / Modifier_Int() Création / Créer_Int() Répertorié Validation / Valider_Int() Validé Suppression / Supprimer_Int()

4. Diagrammes de séquence Dans les diagrammes suivants, nous avons choisi d utiliser l objet interface comme chef d orchestre pour gérer les différents échanges entre objets. Créer CRAI Ce diagramme présente les interactions entre les différents objets et l objet interface de Créer CRAI. : Créer CRAI : Intervention : Agent : Activité : Projet : Unité Utilisatrice : Date Rechercher_Ag(Integer) Rechercher_Ac(Integer) Rechercher_Pr(String) Rechercher_Un(String) Rechercher_Da( ) Créer_Int(String, Integer, Agent, Activité, Projet, Service, Date) Modifier CRAI : Modifier CRAI : Intervention : Agent : Activité : Projet : Unité Utilisatrice : Date Rechercher_In(Date, Date, Integer) Rechercher_Ag(Integer) Rechercher_Ac(Integer) Rechercher_Pr(String) Rechercher_Un(String) [ Pour toutes les interventions ] Modifier_In(String, Integer, Agent, Activité, Projet, Service, Date) Rechercher_Da( )

Valider CRAI : Valider CRAI : Intervention Rechercher_In(Dat e, Date, Int eger) [ Pour chaque intervention ] Valider_In(Boolean) Créer Etat L objet interface envoie plusieurs messages sur un même objet selon la requête qui sera considérée puisque cet état décrit une interaction entre objets pour la création des états mensuels et hebdomadaires. : Créer Etat : Activité : Agent : Date : Projet : Unité Utilisatrice : Facturation : Intervention : Savoir Faire : Employé Rechercher_Ac(Integer) Rechercher_Ag(Integer) Rechercher_Da(Date, Date) Rechercher_Pr(String) Calculer_Pr(ListeProjet) Rechercher_Un(String) Calculer_Un(ListeUnité) Rechercher_Fa(Projet, Service) Rechercher_In(Date, Date, Integer) Calculer_In(ListeIntervention) Rechercher_Sa(Agent, Activité) Rechercher_Em(Integer) En ce qui concerne la création d une requête libre, le diagramme n a pas été représenté : les objets nécessaires seront fonction de la requête.

5. Diagrammes de collaboration Ces diagrammes ont été générés automatiquement avec ROSE à partir des diagrammes de séquence. Créer CRAI : Intervention : Activité 6: Créer_Int(String, Integer, Agent, Activité, Projet, Service, Date) 1: Rechercher_Ag(Integer) : Agent 2: Rec hercher_ac(int eger) : Créer CRAI 4: Rechercher_Un(String) : Date 5: Rechercher_Da( ) 3: Rechercher_Pr(S tring) : Unité Utilisatrice : Projet

Modifier CRAI : Intervention : Agent 2: Rechercher_Ag(Integer) 1: Rechercher_In(Date, Date, Integer) 7: Modifier_In(String, Integer, Agent, Activité, Projet, Service, Date) : Modifier CRAI 5: Rechercher_Un(String) : Unité Utilisatrice : Activité 3: Rechercher_Ac(Integer) 4: Rechercher_Pr(String) 6: Rechercher_Da( ) : Projet : Date Valider CRAI : Valider CRAI 1: Rechercher_In(Date, Date, Integer) 2: Valider_In(Boolean) : Intervention

IV. Conclusion La démarche que nos avons utilisée nous a permis de fournir les spécifications fonctionnelles, statiques et dynamiques du système étudié. Une étude plus complète aurait consisté à poursuivre le travail présenté en phase de conception dans laquelle les abstractions du métier mises en évidence par notre analyse auraient été confrontées à la réalité logicielle. Enfin, la démarche proposée est orientée données. Toutefois, nous aurions pu adopter une méthode basée sur l approche par composants, par exemple la démarche E-process de la société B&T Associés.