Dossier de conception



Documents pareils
SITE WEB E-COMMERCE ET VENTE A DISTANCE

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)

Java pour le Web. Cours Java - F. Michel

Formation en Logiciels Libres. Fiche d inscription

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

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

CQP Développeur Nouvelles Technologies (DNT)

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

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

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

Cours en ligne Développement Java pour le web

Environnements de Développement

Chapitre I : le langage UML et le processus unifié

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

Compte Rendu d intégration d application

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

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

1 JBoss Entreprise Middleware

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

RAPPORT DE CONCEPTION UML :

Configuration Interface for MEssage ROuting

Application web de gestion de comptes en banques

Par : ZIED TOUNSI PROJET DE FIN D ETUDE. Licence Appliquée GESTON DES PERSONNELS GOUVERNORAT DU KAIROUAN

A. Architecture du serveur Tomcat 6

Mercredi 15 Janvier 2014

Analyse,, Conception des Systèmes Informatiques

Messagerie asynchrone et Services Web

Catalogue des Formations Techniques

Notre Catalogue des Formations IT / 2015

Architectures web/bases de données

Un serveur d'archivage

et Groupe Eyrolles, 2006, ISBN :

Les nouvelles architectures des SI : Etat de l Art

ASA-Advanced Solutions Accelerator. Solution pour la gestion des données des laboratoires et des plateformes de service

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

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

Projet Java EE Approfondi

Nouvelles Plateformes Technologiques

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

Introduction à la plateforme J2EE

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

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

Prise en main du BusinessObjects XI R2 Service Pack 2/ Productivity Pack

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

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É JAVA - J2EE. 27 ans - 5 ans d'expérience

Analyse comparative entre différents outils de BI (Business Intelligence) :

Cahier des charges (CDC)

Développement des Systèmes d Information

Cours de Génie Logiciel

Annexe : La Programmation Informatique

Mise en œuvre des serveurs d application

Bases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement

Qu'est-ce que le BPM?

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version septembre 2006

Expert technique J2EE

Industrialiser la chaîne complète de fabrication 1ère partie - Les bénéfices de la solution logicielle IBM VisualAge Pacbase / Rational

Hébergement de sites Web

Intégration d'un moteur de workflow dans le SI : Dématérialisation des Ordres de misson

ECLIPSE ET PDT (Php development tools)

Catalogue des Formations

7 villa de la citadelle Né le 13 mai Arcueil Nationalité : Française. Développeur Web JEE COMPÉTENCES

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Rational Unified Process

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

IFT2255 : Génie logiciel

Projet M1 Sujet 21 : Développement d'un logiciel simplifié de type Business Object

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

SIO Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault

MEMOIRE DE STAGE DE FIN D ETUDE

Gestion d Epargne de Crédit & Comptabilité

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

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

Les frameworks au coeur des applications web

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

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

Le passage à l échelle de serveur J2EE : le cas des EJB

JOnAS 5. Serveur d application d

Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM)

MEMOIRE DE STAGE DE FIN D ETUDE

Pentaho : Comparatif fonctionnel entre la version Communautaire (gratuite) et la version Entreprise (payante) Table des matières

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

Ré-architecture et migration d une application standalone vers un serveur applicatif multi-tiers dans un contexte JAVA-SAP

Générer du code à partir d une description de haut niveau

Architecture et infrastructure Web

Catalogue Formations Jalios

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

JOnAS Day 5.1. Outils de développements

Description de la formation

Le moteur de workflow JBPM

Etude de cas : PGE JEE V2

Développer avec les technologies ESRI. ESRI Developer Network (EDN) Gaëtan LAVENU ESRI France Jérémie MAJEROWICZ ESRI France

Communiqué de Lancement

Présentation du Programme Régional de Formations Qualifiantes

Programmation Web. Introduction

Transcription:

Dossier de conception Sujet : Gestion de Stock-Pharma Réaliser par : FADIL Ghizlane ECH CHARFAOUY Abdelouahad Encadré par : M. LACHGAR Mohammed

Développement d une application JAVA EE Cadre réservé à l encadrant : Code d identification du Candidat : Nom des Validateurs Commentaires :

Développement d une application JAVA EE TABLE DES MATIERES I. PERIMETRE DU PROJET... 1 1. INTRODUCTION... 1 2. ENJEUX ET VISION DU PROJET... 1 3. REFERENTIEL DES EXIGENCES... 2 1.1.1. Les contraintes de conception :... 2 II. PLAN DE MISE EN ŒUVRE... 3 1. CYCLE DE VIE(MODELE EN CASCADE)... 3 III. ANALYSE ET CONCEPTION... 4 2. IDENTIFICATION DES ACTEURS... 4 3. DIAGRAMME DE CAS D UTILISATION :... 5 a. Définition :... 5 4. DIAGRAMME DE CLASSE...13 a. Définition :...13 5. DIAGRAMME DE SEQUANECE :...14 a. Définition :...14 6. DIAGRAMME D ETAT TRANSITION :...17 a. Définition :...17 7. DIAGRAMME D ACTIVITE:...18 a. Définition :...18 8. DIAGRAMME DE DEPLOIEMENT :...19 a. Définition :...19 IV. ARCHITECTURE APPLICATIVE...20 1. CHOIX TECHNOLOGIQUES...21 2. OUTILS :...21

I.PERIMETRE DU PROJET 1. INTRODUCTION Pour notre projet nous avons opté pour le thème Gestion de Pharmacie. Notre choix a été motivé par plusieurs points et spécialement le fait d'avoir un client pour notre logiciel ce qui nous permet de nous initier à l'approche client développeur et au cycle de vie du logiciel, et nous engage à concevoir un produit fiable, robuste et répondant complètement aux besoins du client. Ce choix a été influé aussi par les outils informatiques que nous allions mettre en œuvre pour ce logiciel à savoir la conception d'une base de données, une Interface utilisateur graphique(gui) et de toute la programmation qu'il y a derrière afin de satisfaire le cahier de charge du client et aboutir à une application simple, utile, performante, ergonomique et fiable. La conception et la mise en œuvre des bases de données constituent un volet très important de l'informatique car elles sont aujourd'hui au cœur des applications quotidiennes et du système d'information des entreprises. 2. ENJEUX ET VISION DU PROJET Comme de nombreuses autres entreprises, les pharmacies sont contraintes de constituer les stocks car elles commercialisent des produits. De ce fait, afin de satisfaire au mieux la clientèle en quantité, qualité, délais,... et de réduire son coût d exploitation, les stocks constituent un maillon essentiel pour le bon fonctionnement de la structure. D où l incontournable problème de gestion de stocks. En effet, la gestion de stocks a pour but de maintenir à un seuil acceptable le niveau de service pour lequel le stock considéré existe ceci à des coûts relativement faibles. En effet, la gestion de stocks n a pas d objectifs absolus valables pour toutes les entreprises, pour tous les produits, pour toutes les catégories de stocks. L objectif correspondra toujours à un contexte particulier, de plus il ne sera pas figé mais évoluera dans le temps. Dans le cas de la pharmacie Santé et Nature, elle a pour objectif la satisfaction continue de la demande de sa clientèle en produits pharmaceutiques, cela à moindre coût. 1

3. REFERENTIEL DES EXIGENCES 1.1.1. Les contraintes de conception : Gestion de la vente des médicaments : Lorsqu'un client lui présente une ordonnance ou veut acheter un médicament précis, le pharmacien ou un de ses employés doit vérifier la disponibilité de chaque médicament dans le stock, le logiciel doit être capable d'indiquer au pharmacien la quantité de stock restante dans le stock pour chaque médicament demandé par le client ainsi que leur date de péremption. Ce n'est qu'après cette étape de vérification que le pharmacien peut effectuer la vente en saisissant dans le logiciel le nom et la quantité de médicament vendu, ce dernier doit lui retrouver le prix de chaque médicament ainsi que le montent total qui sera encaissé par le pharmacien. Gestion stock : Lorsqu'un fournisseur lui livre les médicaments commandés, le propriétaire de la pharmacie (et non ses employés) doit implémenter la base de donnée du logiciel par le nombre de médicament s livrés, leur nom, leur type et leur date de péremption. 2

II. PLAN DE MISE EN ŒUVRE 1. CYCLE DE VIE(MODELE EN CASCADE) Le modèle en cascade1 est hérité de l'industrie du BTP. Ce modèle repose sur les hypothèses suivantes : on ne peut pas construire la toiture avant les fondations ; les conséquences d'une modification en amont du cycle ont un impact majeur sur les coûts en aval (on peut imaginer la fabrication d'un moule dans l'industrie du plastique). Les phases traditionnelles de développement sont effectuées simplement les unes après les autres, avec un retour sur les précédentes, voire au tout début du cycle. Le processus de développement utilisant un cycle en cascade exécute des phases qui ont pour caractéristiques : de produire des livrables définis au préalable ; de se terminer à une date précise ; de ne se terminer que lorsque les livrables sont jugés satisfaisants lors d'une étape de validation-vérification. 3

III.ANALYSE ET CONCEPTION 2. IDENTIFICATION DES ACTEURS Acteurs Pharmacien Description Possède des droits sur la gestion de stock pharmaceutique. Possède des droits sur la gestion des médicaments. Possède des droits sur la gestion des commandes et les fournisseurs. Possède des droit sur la gestion des clients et les ventes. Description détaillée des cas d utilisation Les cas d utilisation du système sont organisés en cinq packages : [1] Ges on de stock. [2] Ges on des médicaments. [3] Ges on des fournisseurs. [4] Ges on des commandes. [5]Ges on des clients et des ventes 4

Développement d une application JAVA EE Plan de projet 3. DIAGRAMME DE CAS D UTILISATION : a. Définition : Ils sont développés par Ivar Jacobson et permettent de modéliser des processus métiers en les découpant en cas d'utilisation. Ce diagramme permet de représenter les fonctionnalités d'un système.il se compose : d'acteurs : ce sont des entités qui utilisent le système à représenter les cas d'utilisation : ce sont des fonctionnalités proposées par le système UC1 : Ges on de stock. Figure 1:Use Case Gestion stock Diagramme : Sommaire d identification : 5

Titre : Organisation But : Ajouter, modifier ou supprimer un médicament dans le stock. Résumé : Cette fonctionnalité permet au responsable de stock d'ajouter un produit au stock, de consulter la listes des produits existe en stock, de les modifier, de les chercher. Acteur : Responsable de stock. Description Détailler : PRE CONDITIONS : LE RESPONSABLE DE STOCK S AUTHENTIFIEE SUR LE SYSTEME DESCRIPTION DU TRAITEMENT NOMINAL : L ACTEUR PEUT : 1-Ajouter un produit au stock. 2-Modifier un produit en stock. 3-Supprimer un produit de stock. 4-Chercher un produit en stock. Exceptions : [Exception 1 : ChampsObligatoires] : Message d'erreur si l'un des champs obligatoires n'est pas rempli. 6

Développement d une application JAVA EE Plan de projet UC2 : Ges on des medicaments. Diagramme : Figure 2:Use Case Gestion des médicaments Sommaire d identification : Titre : Gestion des médicamentss But : Ajouter, modifier ou supprimer un médicament. Résumé : Cette fonctionnalité permet au pharmacien d'ajouter un Nouveau médicament, de consulter la listes des produits selon la catégorie de médicament, de les modifier, de les supprimer,de les chercher. Acteur : pharmacien. Description Détailler PRE CONDITIONS : LE PHARMACIEN S AUTHENTIFIEE SUR LE SYSTEME DESCRIPTION DU TRAITEMENT NOMINAL : L ACTEUR PEUT : 1-Ajouter un médicament. 7

Développement d une application JAVA EE Plan de projet 2-Modifier un médicament. 3-Supprimer un médicament. 4-Chercher un médicament. 5-Afficher les informations d'un médicament. Exceptions : [Exception 1 : ChampsObligatoires] : Message d'erreur si l'un des champs obligatoires n'est pas rempli. UC3 : Ges on des fournisseurs. Diagramme : Figure 3:Use Case Gestion des fournisseurs 8

Sommaire d identification : Titre : Gestion des fournisseur But : Ajouter, modifier ou supprimer un fournisseur. Résumé : Cette fonctionnalité permet au agent de commandes d'ajouter un Nouveau fournisseur, de consulter la listes des fournisseurs, de les modifier, de les supprimer, de les chercher. Acteur : Agent de commandes. Description Détailler PRE CONDITIONS : L'AGENT DE COMMANDES S AUTHENTIFIEE SUR LE SYSTEME DESCRIPTION DU TRAITEMENT NOMINAL : L ACTEUR PEUT : 1-Ajouter un fournisseur. 2-Modifier un fournisseur. 3-Supprimer un fournisseur. 4-Chercher un fournisseur. 5-Afficher les informations d'un fournisseur. EXCEPTIONS : [Excep on 1 : ChampsObligatoires] : Message d'erreur si l'un des champs obligatoires n'est pas rempli. UC4 : Ges on des commandes. 9

Développement d une application JAVA EE Plan de projet Diagramme : Figure 4Use CaseGestion des commandes Sommaire d identification : Titre : Gestion des commandes But : Ajouter, modifier ou supprimer une commande. Résumé : Cette fonctionnalité permet au agent de commandes d'ajouter une commande, de consulter la listes des commandes valider et non valider, de les modifier, de les supprimer, de les chercher. Acteur : Agent de commandes. Description Détailler 10

Développement d une application JAVA EE Plan de projet PRE CONDITIONS : L'AGENT DE COMMANDES S AUTHENTIFIEE SUR LE SYSTEME DESCRIPTION DU TRAITEMENT NOMINAL : L ACTEUR PEUT : 1-Ajouter une commande. 2-Modifier une commande. 3-Supprimer une commande. 4-Consulter les commandes valide ou non valide. EXCEPTIONS : [Excep on 1 : ChampsObligatoires] : Message d'erreur si l'un des champs obligatoires n'est pas rempli. UC5 : Ges on de clients et vente. Diagramme : Figure 5:Use Case Gestion de vente 11

Sommaire d identification : Titre : Gestion des ventes But : mettre à jour les ventes. Résumé : Cette fonctionnalité permet au agent commerciale d'ajouter une vente, de consulter la listes des vente, de les modifier, de les supprimer, de les chercher. Acteur : Agent commerciale. Description Détailler PRE CONDITIONS : L'AGENT COMMERCIALE S AUTHENTIFIEE SUR LE SYSTEME DESCRIPTION DU TRAITEMENT NOMINAL : L ACTEUR PEUT : 1-Ajouter vente pour un client. 2-Modifier une vente. 3-Supprimer une vente. 4-consulter la liste des ventes effectuées. EXCEPTIONS : [Excep on 1 : ChampsObligatoires] : Message d'erreur si l'un des champs obligatoires n'est pas rempli. [Excep on 2 : disponibilité] : Message d'erreur si la quantité demander non pas disponible dans le stock. 12

Développement d une application JAVA EE Plan de projet 4. DIAGRAMME DE CLASSE a. Définition : Ce schéma représente les différentes classes : il détaille le contenu de chaque classe mais aussi les relations qui peuvent exister entre les différentes classes. Une classe est représentée par un rectangle séparée en trois parties : la première partie contient le nom de la classe la seconde contient les attributs de la classe la dernière contient les méthodes de la classe Figure 6:Diagramme de clasee 13

5. DIAGRAMME DE SEQUANECE : a. Définition : Le diagramme de séquence est une représentation intuitive qu on a utilisée concrétiser des interactions entre nos entités. pour Le diagramme de séquence décrit un scénario qui modélise une exécution particulière d un cas d utilisation du début jusqu à la fin. Il correspond à une sélection d enchaînements du cas d utilisation. Diagramme de séquences dynamique de traitement de vente : Figure 7:Diagramme de séquence d'effectuer une vente 14

Développement d une application JAVA EE Plan de projet Diagramme de séquences dynamique d ajout dun produit en stock : Figure 8:Diagramme de séquence ajouter un produit au stock 15

Diagramme de séquence (Commande): Figure 9:Diagramme de séquence commande 16

Développement d une application JAVA EE Plan de projet 6. DIAGRAMME D ETAT TRANSITION : a. Définition : Un diagramme états-transitions est un schéma utilisé en génie logiciel pour représenter des automates déterministes. Il fait partie du modèle UMLet s'inspire principalement du formalisme des statecharts et rappelle les grafcets des automates. S'ils ne permettent pas de comprendre globalement le fonctionnement du système, ils sont directement transposables en algorithme. Tous les automates d'un système s'exécutent parallèlement et peuvent donc changer d'état de façon indépendante Diagramme d états_transition «Médicament» : H Figure 10:Diagrmmed'états-Ttransition "Médicament" 17

7. DIAGRAMME D ACTIVITE: a. Définition : Un diagramme d'activité permet de modéliser un processus interactif, global ou partiel pour un système donné (logiciel, système d'information). Il est recommandable pour exprimer une dimension temporelle sur une partie du modèle, à partir de diagrammes de classes ou de cas d'utilisation, par exemple. Le diagramme d'activité est une représentation proche de l'organigramme ; la description d'un cas d'utilisation par un diagramme d'activité correspond à sa traduction algorithmique. Une activité est l'exécution d'une partie du cas d'utilisation, elle est représentée par un rectangle aux bords arrondis. Le diagramme d'activité est sémantiquement proche des diagrammes de communication (appelés diagramme de collaboration en UML 1), ou d'état-transitions, ces derniers offrant une vision microscopique des objets du système. Diagramme d activité (Passer une commande) : Figure 11:Diagramme d'activité "passer une commande" 18

8. DIAGRAMME DE DEPLOIEMENT : a. Définition : Un diagramme de déploiement est une vue statique qui sert à représenter l'utilisation de l'infrastructure physique par le système et la manière dont les composants du système sont répartis ainsi que leurs relations entre eux. Les éléments utilisés par un diagramme de déploiement sont principalement les nœuds, les composants, les associations et les artefacts. Les caractéristiques des ressources matérielles physiques et des supports de communication peuvent être précisées par stéréotype. Figure 12:Diagramme de déploiement 19

IV. ARCHITECTURE APPLICATIVE Notre application est constituée de trois couches. Ces trois couches se conforment à l architecture de couches fermées «Closed layer architecture» (une couche peut communiquer seulement avec la couche qui lui est adjacente). La figure suivante présente l architecture Java EE d une application web en trois couches : Couche Présentation Couche Métier Couche Persistance de données Base de données Le concept de partitionner une application en couches et de garder toute la logique de l application dans ces couches distinctes et séparées, a été introduite bien avant l approche orientée objet. Ainsi une application est divisée en trois couches logiques, chacune traitant des fonctions spécifiques : Présentation : interface usager et présentation. Logique du logiciel à produire (besoins, services de l entreprise) : les règlements de l entreprise et la logique de l application. Logique des données : Base de données et intégration des services de l entreprise. Ce concept nous permet de créer des composants indépendants et de les déployer sur des plates-formes différentes. En fait, ce concept est très utilisé dans le développement des applications multi-tier. Plus tard,il fut adapté au modèle de conception Model-View- Controller (MVC) qui est un modèle très commun pour développer des applications distribuées et multi-tier. 20

1.CHOIX TECHNOLOGIQUES HIBERNATE Hibernate est un Framework open source gérant la persistance des objets en base de données relationnelle JSP : Les JSP (Java Server Pages) sont une technologie Java qui permettent la génération de pages web dynamiques. La technologie JSP permet de séparer la présentation sous forme de code HTML et les traitements sous formes de classes Java définissant un bean ou une servlet. Ceci est d'autant plus facile que les JSP définissent une syntaxe particulière permettant d'appeler un bean et d'insérer le résultat de son traitement dans la page HTML dynamiquement. 2.OUTILS : TOMCAT L'utilisation d'un serveur Java EE est obligatoire pour le développement de pages Web dynamiques en Java EE. Un serveur HTTP classique reçoit des requêtes HTTP et renvoie des réponses mais il ne connait pas les Servlets, les JSP... Il est donc essentiel d'utiliser un programme appelé moteur de Servlets qui est contenu dans le serveur Java EE et qui permet de pallier ce manque. ECLIPSE Eclipse est l'environnement de développement (spécialisé pour le langage Java) qui sera utilisé dans ce projet. Le choix d'eclipse repose essentiellement sur sa gratuité, sa facilité d'utilisation, sa puissance de développement et surtout ses nombreux plugins (bibliothèques additives). APACHE Apache est le serveur Web le plus utilisé sur Internet. Dans une architecture en production, il est recommandé d'utiliser un serveur Web en frontal d'un serveur d'applications. Ces recommandations sont également appliquées 21

dans le cas de l'utilisation d'un conteneur Web comme Tomcat. L'utilisation d'un serveur Web en frontal est nécessaire dans ce projet pour des raisons de performance, de sécurité et de flexibilité. Coupler Tomcat et le serveur web Apache L'intégration d'un serveur Tomcat avec un serveur Web se fait au travers d'un connecteur configuré au sein de Tomcat et d'une extension ajoutée au serveur Web. Un connecteur Tomcat est une classe Java qui supporte un protocole réseau spécifique et propriétaire. La librairie d'extension du serveur Web permet un dialogue entre les deux serveurs. MySQL Le SGBD MySQL est supporté par un large éventail d'outils. MySQL est surtout installé pour les applications Web, ce SGBD est solide et utilisé par de grands groupes spécialisés dans l'internet. Plusieurs pilotes natifs de type 4 sont disponibles pour MySQL et sont conseillés pour une utilisation en Java. 22