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



Documents pareils
SITE WEB E-COMMERCE ET VENTE A DISTANCE

Projet de Java Enterprise Edition

claroline classroom online

Vérification intégrée de l'utilisateur Guide d'implémentation client Confidentiel Version 2.9

Outil de gestion et de suivi des projets

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

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

ERP5. Gestion des Services Techniques des Collectivités Locales

LemonLDAP::NG / SAML2. Xavier GUIMARD (Gendarmerie Nationale) Clément OUDOT (Groupe LINAGORA)

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

Bases de données et interfaces Génie logiciel

PORTAIL INTERNET DE LA GESTION PUBLIQUE Guide d'utilisation du Portail Internet de la Gestion Publique

CINEMATIQUE DE FICHIERS

Formation en Logiciels Libres. Fiche d inscription

Joomla! Création et administration d'un site web - Version numérique

Catalogue des Formations Techniques

Conception, architecture et urbanisation des systèmes d information

Mercredi 15 Janvier 2014

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

Architectures en couches pour applications web Rappel : Architecture en couches

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

L'accès aux ressources informatiques de l'ufr des Sciences

LICENCE : INFORMATIQUE GENERALE

Authentification avec CAS sous PRONOTE.net Version du lundi 19 septembre 2011

MEDIAplus elearning. version 6.6

Refonte front-office / back-office - Architecture & Conception -

Profil. Formations Certifications. Etienne de LONGEAUX Architecte logiciel/ Lead développeur PHP5/SYMFONY2/ZEND 13 ans d expérience.

Devenez un véritable développeur web en 3 mois!

Architecture et infrastructure Web

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

Single Sign On. Nicolas Dewaele. Single Sign On. Page 1. et Web SSO

Exercices Active Directory (Correction)

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

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Service d'authentification LDAP et SSO avec CAS

Intranet d'établissement avec Eva-web Installation configuration sur serveur 2000 ou 2003 Document pour les administrateurs

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24

PMI PLACE DE MARCHE INTERMINISTERIELLE GUIDE D'UTILISATION UTILISATEUR OPERATEUR ECONOMIQUE

Gestion d'un parc informatique avec OCS INVENTORY et GLPI

Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi

Guide d'utilisation du Serveur USB

TP réseaux 4 : Installation et configuration d'un serveur Web Apache

Authentification automatique sur La Plateforme collaborative LeadeR y-content

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.

Les tableaux de bord de pilotage de nouvelle génération. Copyright PRELYTIS

Les nouvelles architectures des SI : Etat de l Art

En date du 11 décembre 2008

Premiers pas sur e-lyco

Administration du site (Back Office)

PROTECTION DES DONNEES PERSONNELLES ET COOKIES

Livre Blanc WebSphere Transcoding Publisher

WebSSO, synchronisation et contrôle des accès via LDAP

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

M2 SIAW - Exemples de stages réalisés. Gabriella Salzano - Document de travail - 28/1/2015

Guide sommaire de TecLocal

Méthodologies de développement de logiciels de gestion


7.0 Guide de la solution Portable sans fil

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin

Guide de l'utilisateur

Authentifications à W4 Engine en.net (SSO)

Un serveur d'archivage

Présentation du Programme Régional de Formations Qualifiantes

TRAAM STI Acquisition et exploitations pédagogiques des données sur un système pédagogique

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

Préparation à l installation d Active Directory

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

Description de l implantation dans le centre d examen (nom du service ou de l outil et caractéristiques techniques)

HP Data Protector Express Software - Tutoriel 4. Utilisation de Quick Access Control (Windows uniquement)

Sommaire. 1 Introduction Présentation du logiciel de commerce électronique 23

Expert technique J2EE

Accès externe aux ressources du serveur pédagogique

Stratégie de groupe dans Active Directory

Documentation de conception

Spécifications de l'offre Surveillance d'infrastructure à distance

Sage CRM. 7.2 Guide de Portail Client

Windows Server Chapitre 3 : Le service d annuaire Active Directory: Concepts de base

Cours 420-KEG-LG, Gestion de réseaux et support technique. Atelier No2 :

Installation du point d'accès Wi-Fi au réseau

CQP Développeur Nouvelles Technologies (DNT)

2 Grad Info Soir Langage C++ Juin Projet BANQUE

Gestion des utilisateurs et Entreprise Etendue

Serveur de travail collaboratif Michaël Hoste -

Restriction sur matériels d impression

Préparer la synchronisation d'annuaires

Edutab. gestion centralisée de tablettes Android

Programmation Web. Introduction

Créer et partager des fichiers

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

Chapitre I : le langage UML et le processus unifié

FileSender par RENATER - Guide utilisateur

Groupe Eyrolles, 2004 ISBN :

ACCORD-CADRE DE TECHNIQUES DE L'INFORMATION ET DE LA COMMUNICATION. PROCEDURE ADAPTEE En application des articles 28 et 76 du Code des Marchés Publics

2010 Ing. Punzenberger COPA-DATA GmbH. Tous droits réservés.

Manuel d'utilisation

Transcription:

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

I. Introduction Suite à une demande des étudiants, il m'est apparu intéressant de montrer, à travers un exemple concret, comment modéliser une application WEB grâce à UML. Comme on le verra, UML permet à la fois de recueillir le besoin métier mais également de modéliser les objets logiciels (classes du langage cible, PHP, JAVA ). Cette analyse a été menée dans le cadre d'un projet professionnel et a abouti au développement d'une application écrite en PHP. II. Objectif du système d'information cible Le SI doit permettre d'automatiser les deux domaines fonctionnels stratégiques d'une entreprise de vente de pièces mécaniques, à savoir : la CRM et la SCM. Ces deux processus métier seront instrumentalisés à travers un site de commerce en ligne au profit des trois agences de Goma, Bukavu et Kinshasa.

II-A. Les processus du SI Les cas d'utilisation du système sont les suivants : L'étude qui suit se décomposera en deux phases : une phase d'analyse indépendante de la technologie qui sera utilisée permettant : o de découvrir les objets métiers qui sont liés aux deux macroprocessus (gérer la relation client et gérer les approvisionnements), o de les associer et gérer leurs interactions pour mettre en œuvre les processus de CRM et de SCM ; une phase de conception détaillée aboutissant à l'implémentation des spécifications (modélisées durant la phase précédente) en PHP.

II-B. Description des processus fonctionnels II-B-1. Domaine CRM Le processus cible doit permettre au client de choisir un produit présent dans le catalogue et de le mettre dans son panier. Le client peut à tout moment enlever ou ajouter des produits du panier ou modifier la quantité souhaitée. Les produits du panier peuvent être commandés (ajoutés à une commande) et inversement toute ligne d'une commande peut être remise dans le panier tant que la commande n'est pas validée définitivement par le client. Le système de comptabilité n'autorise les commandes que pour les clients solvables. Le système n'autorise d'ajouter un produit à la commande que si les stocks sont suffisants. Le client peut choisir à quelle adresse chaque produit sera livré. Par défaut, tous les produits d'une même commande sont livrés à l'adresse principale du client. Mensuellement, le service comptabilité facture les commandes du mois.

II-B-2. Domaine SCM Dès qu'un produit possède une quantité en stock insuffisante dans une agence, celle-ci émet un appel d'offre sur une place de marché. La PDM gère alors un processus d'enchères inversées pour sélectionner le fournisseur le moins disant. III. Analyse des objets métier du système III-A. Domaine CRM Il y a 3 agences, mais un seul système d'information fédérateur pour la SCM et la CRM. Un client est rattaché à une seule agence. Il faut s'assurer que le client commande en ligne à son agence de rattachement. Cette problématique sera traitée en 2 temps : dans l'analyse du domaine SCM où l'on découvrira comment la classe client est associée à la classe agence ; dans l'étude d'architecture, on évacuera définitivement cette problématique en proposant une solution technique basée sur un annuaire LDAP et une gestion des droits profils ; On réduira le périmètre de la CRM à la recherche d'un produit, la gestion du panier et la commande par le client. Le client utilisera bien souvent le panier comme usine de devis. À ce stade de la découverte des classes, on peut déjà obtenir le modèle de classes métier ci-dessous :

L'objet «ligne panier commande» est un objet qui, selon son état, appartient soit au panier soit à la commande comme l'illustre le diagramme d'état ci-dessous :

III-B. Domaine Back office III-B-1. Gestion des commandes et des stocks Chaque agence doit proposer tous les produits du catalogue. Pour que chaque chef d'agence soit autonome (concept «d'empowerment»), les stocks font l'objet d'une gestion et d'une comptabilité locale. Si exceptionnellement, deux agences souhaitent faire un mouvement de stocks pour des raisons qui leur sont propres, on considérera que l'une vend un produit à un client et que l'autre achète à un fournisseur. Le service comptabilité facturera la transaction pour le compte de chaque agence qui intervient dans le mouvement de stock. III-B-2. Gestion de la place de marché inversé Comme la gestion des stocks est locale, les demandes d'approvisionnement sur la place de marché inversée seront donc des initiatives toutes aussi locales. Pour un cas aussi simple, il nous est apparu que l'utilisation d'un pattern «façade» tel qu'il apparaissait sur le diagramme de séquences de la SCM devait se transformer en pattern «factory». Comme on le voit dans le diagramme de classes ci-dessous, c'est l'objet Agence qui fabriquera un objet AppelOffre.

On aurait tout aussi bien pu utiliser le pattern «abonné consommateur» pour dialoguer avec la place de marché. IV. Architecture logique du système Un client doit avant toute opération (gestion du panier - commande ) s'authentifier sur le système. Le panier doit pouvoir être consulté à tout moment. Il s'agit donc d'un objet persistant en base de données qui survit au-delà de la session du client et mémorise ses actions. L'ERP de comptabilité est alimenté par le SI pour les données de facturation et statue sur la solvabilité du client. Le schéma ci-dessous montre les liens de dépendance entre les différents modules applicatifs du SI tel qu'il se déduit à ce stade de l'analyse. On voit d'ores et déjà que le service d'authentification (qui concentrera la majorité des exigences de sécurité) est déjà hautement consommé. Il apparaît qu'un des axes d'amélioration SOA du SI serait de le faire également consommer par l'erp de comptabilité.

V. Cinématique de navigation du tiers de présentation V-A. CRM V-A-1. Authentification Ce diagramme qui illustre l'authentification d'un client sera dans le concept tout aussi valable pour authentifier l'acheteur ou le gestionnaire des stocks ainsi que le fournisseur qui soumissionnera pour répondre à un appel d'offre. C'est donc durant cette phase d'authentification que l'utilisateur sera identifié et dirigé vers le processus qui correspond à son profil.

V-A-2. Gestion du panier Un client authentifié doit pouvoir visualiser le contenu de son panier et y ajouter les produits de son choix. Le client doit aussi pouvoir vider son panier. V-A-3. Rechercher un produit Comme on s'y attend pour ce genre de site, l'utilisateur peut rechercher dans un catalogue (par référence ou dénomination) les articles dont il a besoin. Bien entendu, l'objet de sa recherche doit pouvoir être ajouté au panier.

V-A-4. Commander Quand il le souhaite, le client doit pouvoir transformer son panier en commande. Le système proposera alors au client de choisir son adresse de livraison après avoir vérifié sa solvabilité. V-B. SCM La place de marché sélectionne le fournisseur le moins cher pour un produit donné, mais la commande au fournisseur est validée par le service achat qui vérifie que le prix est cohérent. VI. Diagrammes de classes de conception L'application implémentera le pattern Modèle - Vue - Contrôleur. Les classes des modèles de conception seront donc stéréotypées «Modèle», «Vue» ou «Contrôleur».

VI-A. Rechercher un produit On remarque sur ce diagramme de classes que les produits vendus sont classés en familles pour faciliter la recherche, la gestion des stocks et opérer des statistiques.

VI-B. Gérer le panier Le panier sera un objet mis en persistance. En effet, le client peut commencer à constituer son panier, se déconnecter et revenir pour le compléter et passer commande. VI-C. Gérer la commande

Le panier est constitué de lignes et la commande également. Ces lignes sont communes, et transitent d'un état à l'autre lors du passage de la commande.

VI-D. Gérer la place de marché La spécification de la mécanique de cette place de marché et sa compréhension par le développeur furent obtenues en jouant un scénario basé sur la technologie XML comme détaillée ICI. VII. Développement de l'application Pour répondre aux attentes stratégiques de la direction, le SI sera développé sur une technologie LAMP : Système d'exploitation : LINUX Serveur web : Apache Serveur d'appli : PHP 5 SGBD/R : MySQL VII-A. Modèles de classes PHP Les modèles qui seront présentés dans ce chapitre seront donc dérivés des modèles dits PIM (Plateform Independant Model) présentés précédemment, mais seront spécifiques à la technologie PHP 5. Ces modèles appelés PSM (Plateform Specific Model) seront stéréotypés «page PHP» «classe PHP» «PHP Lib» etc Cette modélisation présente la particularité de présenter dans un même diagramme de classes les objets métier ainsi que l'ergonomie de présentation orientée web. Ces deux aspects sont unifiés au travers des opportunités qu'offrent un langage objet tel que PHP et l'aspect déclaratif du langage HTML. À cet égard, il est important de noter qu'il en serait de même avec n'importe quel autre langage ou Framework web tel que JEE ou.net.

VII-A-1. Modèle de classe front office On remarque que toutes les pages PHP héritent d'un modèle de page qui possède un header (bandeau) ainsi qu'un menu latéral. On y remarque également qu'un contrôleur unique orchestre la navigation des pages pour respecter le modèle de conception MVC2. VII-A-2. Modèle de classe gestion de la PDM

En outre, une classe (hautement mutualisée) appelée Connexion sera utilisée pour les opérations de persistance en lien avec la base de données : chargement d'un objet métier depuis la base de données ; sauvegarde d'un objet métier dans la base de données.

VII-B. Schéma de la base de données

VIII. Conclusions On voit, à travers cet exemple, qu'il est possible de mener une analyse du besoin et une conception de bout en bout grâce à UML. UML nous permet de spécifier les éléments de conception dans un langage qui est compréhensible par le client et par le développeur, ce qui sonne comme un gage de réussite pour le projet.