WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Mise en place d'un logiciel de gestion de pharmacie

( Télécharger le fichier original )
par BEDJAOUI CHAOUCHE Mohamed BENTATOU Zakaria ERRAMI Mouhamed N
Université de Tlemcen - Ingénieur en informatique 2009
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

PROPHARM

Logiciel de Gestion de Pharmacie

Par :

BEDJAOUI CHAOUCHE Mohamed
BENTATOU Zakaria
ERRAMI Mouhamed Nabil
SAHRAOUI Youcef

Le 21 avril 2009
4 Année Informatique

Table des matières

I La Méthode 2TUP 2

1 Processus de Développement Logiciel 2

2 Processus Unifié (Unified Process) 2

3 Le Processus 2TUP 3

4 Un processus de modélisation avec UML 4

II Conception du Logiciel 6

1 Etude Préliminaire 6

1.1 Présentation du projet 6

1.2 Grands choix techniques 6

1.3 Recueille des besoins fonctionnels 6

1.3.1 Gestion de la vente de médicament 6

1.3.2 Gestiondestock 7

1.3.3 Affichage de recettes journalières 7

1.4 Identifier les acteurs 7

1.4.1 L'Employé de la Pharmacie 7

1.4.2 Le Pharmacien 7

1.5 Identifier les messages 7

1.6 Modéliserlecontexte 8

2 Capture des Besoins Fonctionnels 10

2.1 Liste préliminaire des Cas d'Utilisation de PROPHARM 10

2.2 Description préliminaire des cas d'utilisation 10

2.2.1 Traiter la Vente 10

2.2.2 Verifier la Disponibilité et la Validité de chaque Medicament 11

2.2.3 Gérer le Stock 11

2.2.4 Consulter les Montants des Recettes 11

2.3 Décrire les cas d'utilisation 12

2.3.1 Casd'UtilisationTRAITERLAVENTE 12

2.3.2 Cas d'utilisation GERER STOCK 16

2.3.3 Cas d'utilisation CONSULTER RECETTE 19

3 Analyse 22

3.1 Développement du modèle Statique 22

3.2 Développement du modèle Dynamique 23

3.2.1 Traitement de vente 23

3.2.2 Gestiondestock 24

3.2.3 Consultation de la recette 26

III Conclusion générale 27

Introduction:

P

oUR notre mini 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 au besoins du client. Ce choix a été influé aussi par les outils informatiques que nous allions mettre en oeuvre 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 oeuvre des bases de données constituent un volet très important de l'informatique car elles sont aujourd'hui au coeur des applications quotidiennes et du système d'information des entreprises.

Les GUI constituent aussi une partie primordiale de l'informatique moderne car ils permettent la vulgarisation des applications pour le grand public et l'augmentation de l'interaction des utilisateurs avec le logiciel permettant ainsi une prise en main facile et une organisation visuelle efficace surtout quant il s'agit de la manipulation des bases de données.

C'est pour toutes ces raisons que nous avons choisi ce projet, et nous espérons que ce travail nous permettra d'enrichir notre savoir et surtout répondre aux besoin de notre client.

Première partie

La Méthode 2TUP

L

A complexité croissante des systèmes informatique a conduit les concepteurs à s'intéresser aux méthodes. Définir un seul processus universel serait une grave erreur car la variété des systèmes et des techniques ne le permet pas. Devant le nombre de méthodes disponibles, le

choix parmi elles devient difficile, beaucoup de questions peuvent se poser à un chef de projet lors d'un démarrage de projet:

Comment vais-je organiser les équipes de développement?

Quelles tâches attribuer à qui?

Quel temps faudrait-il pour livrer le produit?

Comment faire participer le client au développement afin de capter les besoins de celui-ci? Comment éviter des dérives et de mauvaises estimations qui vont allonger les coûts et le temps de développement?

1 Processus de Développement Logiciel

Un processus définit une séquence d'étapes, en partie ordonnées, qui concourent à l'obtention d'un système logiciel ou a l'évolution d'un système existant. L'objet d'un processus de développement est de produire des logiciels de qualité qui répondent aux besoins de leurs utilisateurs dans des délais et des coûts prévisibles.

2 Processus Unifié (Unified Process)

Un processus unifié est un processus de développement logiciel construit sur UML; il est itéra-

tif et incrémental, centré sur l'architecture, conduit par les cas d'utilisation et piloté par les risques.
-Itérative et Incrémentale la méthode est itérative dans le sens où elle propose de faire des
itérations lors de ses différentes phases, ceci garantit que le modèle construit à chaque phase
ou étape soit affiné et amélioré. Chaque itération peut servir aussi à ajouter de nouveaux
incréments.

- Conduite par les Cas d'Utilisation elle est orientée utilisateur pour répondre aux besoins de celui-ci.

- Centrée sur l'Architecture les modèles définit tout au long du processus de développement vont contribuer à établir une architecture cohérente et solide.

- Pilotée par les Risques en définissant des priorités pour chaque fonctionnalité, on peut minimiser les risques d'échec du projet.

Ces activités de développement sont définies par6 disciplines fondamentales qui décrivent la capture des besoins, la modélisation métier, l'analyse et la conception, l'implémentation, le test et le déploiement. Le processus unifié doit donc être compris comme une trame commune des meilleures pratiques de développement, et non comme l'ultime tentative d'élaborer un processus universel.

3 Le Processus 2TUP

2TUP signifie « 2 Track Unified Process ». C'est un processus qui répond aux caractéristiques du Processus Unifié. Le processus 2TUP apporte une réponse aux contraintes de changement continuel imposées aux systèmes d'information de l'entreprise. En ce sens, il renforce le contrôle sur les capacités d'évolution et de correction de tels systèmes. « 2 Track» signifie littéralement que le processus suit deux chemins. Il s'agit des « chemins fonctionnels » et « d'architecture technique », qui correspondent aux deux axes de changement imposés au système d'information.

FiGuRE 1 - Le système d'information soumis à deux types de contraintes

La branche gauche (fonctionnelle) capitalise la connaissance du métier de l'entreprise. Elle

constitue généralement un investissement pour le moyen et le long terme. Les fonctions du système d'information sont en effet indépendantes des technologies utilisées. Cette branche comporte les étapes suivantes:

- La capture des besoins fonctionnels, qui produit un modèle des besoins focalisé sur le métier des utilisateurs.

- L'analyse.

La branche droite (architecture technique) capitalise un savoir faire technique. Elle consti-

tue un investissement pour le court et moyen terme. Les techniques développées pour le système peuvent l'être en effet indépendamment des fonctions à réaliser. Cette branche comporte les étapes suivantes:

- La capture des besoins techniques.

- La conception générique.

La branche du milieu: à l'issue des évolutions du modèle fonctionnel et de l'architecture technique, la réalisation du système consiste à fusionner les résultats des 2 branches. Cette fusion conduit à l'obtention d'un processus en forme de Y. Cette branche comporte les étapes suivantes:

- La conception préliminaire.

- La conception détaillée.

- Le codage.

- L'intégration.

FiGuRE 2- Le processus de développement en Y

4 Un processus de modélisation avec UML

Le processus 2TUP s'appuie sur UML tout au long du cycle de développement, car les différents diagrammes de ce dernier permettent de part leur facilité et clarté, de bien modéliser le système à chaque étape.

« Unified Modeling Language »: UML se définit comme un langage de modélisation graphique et textuel destiné à comprendre et décrire des besoins, spécifier, concevoir des solutions et communiquer des points de vue. (Pitman, 2006)

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, c'est pour ça qu'UML est présenté parfois comme une méthode alors qu'il ne l'est absolument pas.

UML unifie également les notations nécessaires aux différentes activités d'un processus de développement et offre, par ce biais, le moyen d'établir le suivi des décisions prises, depuis la définition des besoins jusqu'au codage. (Roques, 2006)

Voici une présentation rapide des différents diagrammes UML qui vont être utilisés tout au long du projet :

- Le diagramme des cas d'utilisation : représente la structure des fonctionnalités nécessaires aux utilisateurs du système. Il est normalement utilisé lors des étapes de capture des besoins fonctionnels et techniques.

- Le diagramme d'activités : représente les règles d'enchaînement des activités et actions dans le système. Il peut être assimilé comme un algorithme mais schématisé.

- Le diagramme de packages : présent depuis UML 2.0, ce diagramme modélise des catégories cohérentes entre elles, pour un souci de partage des rôles. Correspond à l'étape de modélisation des différents scénarios d'un cas d'utilisation.

- Le diagramme de classes : sûrement l'un des diagrammes les plus importants dans un développement orienté objet. Sur la branche fonctionnelle, ce diagramme est prévu pour développer la structure des entités manipulées par les utilisateurs. En conception, le diagramme de classes représente la structure d'un code orienté objet.

- Le diagramme de séquence : représente les échanges de messages entre objets, dans le cadre d'un fonctionnement particulier du système.

- Le diagramme d'états : représente le cycle de vie d'un objet. Il spécifie les états possibles d'une classe et leur enchainement. Ce diagramme est utilisé lors des étapes d'analyse et de conception.

Répartition des tâches

Tâches

Tâches Partielles

Durée

Bentatou

Sahraoui

Errami

Bedjaoui

Durée Totale

Etude préliminaire

Cahier de charge

8

V

V

 
 

15

Messages / Acteurs

4

 
 

V

 

Modelisation contexte

3

 
 
 

V

Capture des besoins fonctionnels

Identifier C.U

6

 

V

 
 

17

Organiser C.U

5

 
 

V

V

Identifier C.C

6

V

 
 
 

Capture des besoins techniques

'
·

0

x

x

x

x

0

Découpage en catégories

. .

1

V

V

V

V

1

Developpement du M.S

'
·

7

V

 

V

 

7

Developpement du M.D

' .

10

 

V

 

V

10

Prototype

' .

12

V

V

 
 

12

Deuxième partie

Conception du Logiciel

1 Etude Préliminaire

1.1 Présentation du projet

La pharmacie «EL NouR » est localisé à l'adresse suivante «Bloc Autoconstruction Ain Fezza num 06 CHE», elle est conventionnée auprès de la CASNOS et souhaite se doter d'un système informatique performant afin de:

- Gérer la vente de médicaments destinés aux clients.

- Gérer le stock des médicaments.

- Connaitre les recettes journalières.

1.2 Grands choix techniques

On souhaite utiliser une approche itérative et incrémentale, fondée sur le processus en Y (méthode 2TUP). Apres une première étude menée par les membres de notre équipe, nous avons affranchies le choix d'un certain nombre de technique clés pour ce projet:

- La modélisation objet avec UML.

- Le langage JAVA.

- L'AGL WINDEV.

Logiciel qui sera mis en oeuvre par nos soins aura pour nom PROPHARM

1.3 Recueille des besoins fonctionnels

Un premier tour d'horizon des besoins exprimée par le pharmacien et ses employés a permit d'établir le cahier de charge préliminaire suivant:

1.3.1 Gestion de la vente de médicament

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.

1.3.2 Gestion de 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.

1.3.3 Affichage de recettes journalières

A la fin de la journée, juste avant la fermeture, le pharmacien peut consulter PRoPHARM pour connaitre le montant de la recette, ce montant est automatiquement enregistré dans la BDD.

Recueil de besoins opérationnels Sécurité

Lorsqu'il veut accéder à la gestion de stock ou à l'affichage des recettes, le pharmacien doit être reconnu par un nom et un mot de passe. Pour diverses raisons, l'accès à ces deux options ne doit être qu'au propriétaire de la pharmacie (cela peut minimiser le risque de vol de médicament ou d'argent par les employés).

1.4 Identifier les acteurs

1.4.1 L'Employé de la Pharmacie

Le rôle de l'employé limité à la vente et la vérification de la disponibilité d'un ou plusieurs médicaments dans le stock.

1.4.2 Le Pharmacien

Le pharmacien est le patron de la pharmacie, il doit gérer son magasin de la façon la plus fiable possible, pour cela il doit gérer lui-même les commandes de médicament et l'implémentation de la base de données de façon de minimiser les risques de vols ou de pertes de médicaments.

1.5 Identifier les messages

PRoPIIuRi emet:

- La disponibilité d'un médicament ainsi que leur date de péremption. - Le montant total à encaisser à la fin de vente.

- La caractéristique de chaque médicament.

- Les recettes journalières.

PRoPIIuRi reçoit:

- Les caractéristiques de chaque médicament.

- Création, modification, annulation d'une vente.

1.6 Modéliser le contexte

FIGuRE 3 - Diagramme de Contexte Dynamique

FiGuRE 4- Diagramme de Contexte Statique

2 Capture des Besoins Fonctionnels

2.1 Liste préliminaire des Cas d'Utilisation de ProPharm

Cas d'Utilisation

Acteur Principal/Acteur Secondaire

Messages Emis/Reçus Par les Acteurs

Traiter la vente

Pharmacien,Employé

Emet:

- Création, modification, ou annulation de vente.

- Demande de caractéristique de médicament.

Reçoit:

- La disponibilité et la date de
péremption du médicament.

- Montant total à encaisser.

Gérer le Stock

Pharmacien

Emet:

- Caractéristique de chaque

médicament qui vient d'être acheté par la pharmacie.

Consulter les Recettes

Pharmacien

Emet:

- Demande de consultation

(journalière, hebdomadaire,
mensuelle).

Reçoit:

- Le montant des recettes

2.2 Description préliminaire des cas d'utilisation

2.2.1 Traiter la Vente

Intention effectuer la vente de médicament, déterminé le montant total de la vente, donner une facture au client.

Actions créer une nouvelle vente, saisir le nom de chaque médicament destiné à la vente ainsi que leur quantité, imprimer une facture au client.

2.2.2 Verifier la Disponibilité et la Validité de chaque Medicament

Intention déterminer si le médicament qui est destiné à la vente n'est pas périmé et déterminer sa disponibilité dans le stock.

Actions saisir le nom de médicament

2.2.3 Gérer le Stock

Intention facilité le traitement de vente et minimiser les risque de vols.

Actions ajouter de nouveaux médicaments à la BDD (nom, prix, caractéristique et éventuellement en enlever ceux qui sont périmés, entrer le mot de passe.

2.2.4 Consulter les Montants des Recettes

Intention connaitre le chiffre d'affaire de la journée, minimiser le risque de vols d'argent de la part des employés.

Actions consulter le chiffre d'affaire de la date en cours ou des dates ultérieurs, entrer le mot de passe.

Maintenant que nous allons identifier les cas d'utilisation et leurs acteurs, nous allons pouvoir les représenter graphiquement sur un diagramme de cas d'utilisations de la façon suivante:

FiGuRE 5 - Diagramme de Cas d'Utilisation

2.3 Décrire les cas d'utilisation

2.3.1 Cas d'Utilisation TRAITER LA VENTE

Scénario d'identification

Titre traiter la vente.

Résumer un client arrive a la pharmacie avec une ordonnance ou la liste de médicament qu'il souhaite achetée, le pharmacien effectue la vente des produits disponibles, à la fin de l'opération le client part avec les médicaments.

Acteurs Pharmacien, Employé (principal), Client (secondaire).

Date de création 21 avril 2009

Version 1.0

Responsable SAmRAou[ Youcef.

Description de scénarios

Pré conditions l'ordinateur est allumé, le pharmacien ou l'employé y est connecté. Scénario nominal

1. Le cas d'utilisation commence quant le client se présente à la pharmacie avec un e ordonnance ou la liste de médicament qu'il souhaite achetés.

2. L'employé vérifie la disponibilité de chaque médicament dans le logiciel ainsi que leur date de péremption.

3. L'employé va chercher les médicaments dont il est question dans le stock.

4. L'employé enregistre le nom de chaque médicament dans le logiciel, s'il y a plus de exemplaire par produit, l'employé indique également la quantité.

5. Le logiciel valide le médicament et détermine son prix, ensuite il affiche la description et le prix du médicament en question.

6. Apres avoir enregistrer tous le produit, l'employé indique que la vente est terminée.

7. Le logiciel calcule et affiche le montant total de la vente.

8. L'employé annonce le montant total au client.

9. Le client effectue le paiement.

10. Le logiciel enregistre la vente effectuée.

11. L'employé demande au client s'il veut une facture détaillée.

12. Le client demande la facture.

13. L'employé imprime la facture et la donne au client au même temps que le médicament.

14. Le client s'en va avec le médicament.

Enchainements alternatifs

A1 demande d'annulation d'article, l'enchainement A1 démarre au point 5 du scenario nominal.

5. L'employé demande d'annulé l'article en question.

6. Le logiciel enlève l'article de la vente en cours.

Le scenario nominal reprend au point « 3 » s'il ya d'autre article, ou de point « 6 » s'il y en a pas.

A2 facture refusée. L'enchainement A1 démarre du point 12 du scénario nominal.

12. le client refuse la facture.

13. l'employé donne au client les médicaments

14. le client s'en va avec les médicaments.

Enchainement d'erreur

E1 annulation de la vente.

L'enchainement E1 du point 3 au point 9 du scenario nominal:

3-9 l'employé annule l'ensemble de la vente et le cas d'utilisation se termine en échec.

FiGuRE 6- Diagramme de séquences du scénario nominal

FiouIe 7 - Diagramme d'Activités

2.3.2 Cas d'utilisation GERER STOCK

Sommaire d'identi~cation Titre gérer le stock

Résumé saisir toutes les caractéristiques des médicaments fournis ainsi que les opérations de mis

à jour.

Acteurs pharmacien.

Date de création 21 avril 2009 Version 1.0

responsable SAiiRAoui Youcef. Description des scénarios

Pré conditions livraison de nouveaux lots de médicaments, péremption des médicaments.

Scénario nominal Ce cas d'utilisation commence lors d'éventuelle modification.

1. Livraison de médicaments.

2. Créer une nouvelle table.

3. Table créée.

4. Saisir les caractéristiques du médicament.

5. Demande de modification (suppression/mise àjour) d'une table.

6. Validation.

Enchainements alternatifs ou d'erreurs

A1 Annulation d'une entrée, l'enchainement A1 démarre au point 3 du scenario nominal.

3. Suppression de l'entrée erronée.

4. Validation. E1 Demande de modification d'une entrée L' enchainement E1 se déclenche après l'étape 3

4. Modification du champ concerné.

5. Validation.

FiGuRE 8 - Diagramme de séquences du scénario nominal

FiouIe 9 - Diagramme d'Activités

2.3.3 Cas d'utilisation CONSULTER RECETTE

Sommaire d'identi~cation Titre consulter la recette Résumé le pharmacien consulte sa recette quotidiennement avant la fermeture

Acteurs pharmaciens

Date de création 21 avril 2009 Version 1.0

responsable SAiiRAoui Youcef. Description des scénarios

Pré conditions l'ordinateur est allumé, le pharmacien est connecté

Scénario nominal

1. Le cas d'utilisation commence quand le pharmacien veut consulter sa recette.

2. Il consulte le journal des ventes.

3. Vérifier s'il ya eu d'éventuelle prélèvement de la caisse ainsi que l'ajustement.

4. Consulter le chiffre d'affaire final.

5. Validation.

6. Imprimer la recette journalière.

Enchainements alternatifs ou d'erreurs

A1 incoherence entre le montant total du journal de vente et le chiffre calculer a la fin, ce cas débute au point 4 du scenario nominal

5. Consultation des détailles des ventes.

6. Identifications des erreurs.

7. Correction des erreurs.

8. Validation de la mise àjour.

9. Consultation de la recette finale.

FIGuRE 10- Diagramme de séquences du scénario nominal

FIGuRE 11 - Diagramme d'Activités

3 Analyse

3.1 Développement du modèle Statique

Le développement du modèle statique constitue la première étape d'analyse Il s'agit d'une activité itérative, fortement couplée avec la modélisation dynamique.

3.2 Développement du modèle Dynamique

Le développement du modèle dynamique constitue la deuxième activité de l'étape d'analyse. Il s'agit d'une activité itérative, fortement couplée avec la modélisation statique.

3.2.1 Traitement de vente

FIGuRE 12- Diagramme de séquences dynamique de traitement de vente

3.2.2 Gestion de stock

FIGuRE 13 - Diagramme de séquences dynamique de gestion de stock (ajout)

FIGuRE 14- Diagramme de séquences dynamique de gestion de stock (suppression)

3.2.3 Consultation de la recette

FIGuRE 15 - Diagramme de séquences dynamique de consultation de recettes

Troisième partie

Conclusion générale

Nous avons tenté à travers ce projet de démontrer l'importance de l'application d'une méthode de développement. Nous pensons aussi que 2TUP pourra être utilisée dans des projets de moyenne à grande envergure. A titre personnel, le bénéfice qu'on en a tiré est l'apprentissage de concepts à la pointe de la technologie et des tendances actuelles dans le monde professionnel. Une recherche profonde a été indispensable pour essayer de comprendre ces concepts là. Nous pouvons citer à ce propos, un excellent livre traitant ce sujet qui s'appelle : UML 2 En Action. Ce projet nous a permis d'enrichir nos connaissances dans des domaines très variés comme : L'Orienté Objet, UML, 2TUP, le langage JAVA... En termes d'évolution, l'application PioPri&ii pourra par la suite être finalisée et adaptée à une utilisation dans une pharmacie.

Références

[1] UML 2 En Action ;De l'Analyse de Besoin à la Conception J2EE ;Pascal Roques,Franck Vallée.3eme edition.






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Le don sans la technique n'est qu'une maladie"