Chapitre III – Conception et implémentation
32
III.1 Introduction
Dans ce chapitre, nous présentons les différentes étapes réalisées durant l’implémentation
de notre application, nous commençons à décrire la conception UML utilise, puis la création de
la base de données par WampServer, ensuite nous définissons les fonctionnalités de notre
application et enfin nous discutons les résultats obtenus.
III.2 Conception UML
III.2.1 Définition
"UML (Unified Modeling Language ) est un langage standard de l'industrie de la
modélisation avec un riche notation graphique, et ensemble complet de diagrammes et des
éléments. Un outil complet de modélisation UML Enterprise Architect comme est le moyen idéal
pour prendre le contrôle de logiciel ou projet d'entreprise maintenant! "
III.2.2 Diagramme de classes
Le diagramme de classes est un schéma utilisé en génie logiciel pour présenter
les classes et les interfaces des systèmes ainsi que les différentes relations entre celles-ci.
Ce diagramme fait partie de la partie statique d'UML car il fait abstraction des aspects temporels
et dynamiques.
Une classe décrit les responsabilités, le comportement et le type d'un ensemble d'objets.
Les éléments de cet ensemble sont les instances de la classe. (Figure III.1)
Une classe est un ensemble de fonctions et de données (attributs) qui sont liées ensemble
par un champ sémantique. Les classes sont utilisées dans la programmation orientée objet. Elles
permettent de modéliser un programme et ainsi de découper une tâche complexe en plusieurs
petits travaux simples.
Les classes peuvent être liées entre elles grâce au mécanisme d'héritage qui permet de
mettre en évidence des relations de parenté. D'autres relations sont possibles entre des classes,
chacune de ces relations est représentée par un arc spécifique dans le diagramme de classes.
Chapitre III – Conception et implémentation
33
Elles sont finalement instanciées pour créer des objets (une classe est un moule à objet :
elle décrit les caractéristiques des objets, les objets contiennent leurs valeurs propres pour
chacune de ces caractéristiques lorsqu'ils sont instanciés).
Figure III.1-représentation de la classe el les différentes relations
Nom d’association
Héritage
Agrégation faible
Agrégation forte
Nom de classe
Attributs
Méthodes () ;
Les relations entre 2
classes
Nom d’association
Nom d’association
Chapitre III – Conception et implémentation
34
III.2.3 Diagramme de classes représente l’ordonnancement des
interventions chirurgicales
ORDONNER
1 ,1
FAIRE
DANS
1 ,1
BLOC OPERATOIRE
#N°bloc
#Ouvert () ;
#Fermé () ;
ORDONNANCEMENT
+N°ord
-Cmax
-Type
-Ajouter () ;
-Modifier () ;
-Supprimer () ;
-Afficher () ;
LIT SE REVEILLE
+N°lit
#Occuper () ;
#Libre () ;
SALLE D’OPERATION
+N°salle
#Occuper () ;
#Libre () ;
PATIENT
+N°patient
-Nom
-Prénom
-Age
-Maladie
-Ajouter () ;
-Modifier () ;
-Supprimer () ;
-Afficher () ;
INTERVENTION
+N°intervention
-Type
-Date
+Durée
-Temps de réveille
-Ajouter () ;
-Modifier () ;
-Supprimer () ;
-Afficher () ;
1 ,N 1 ,1
0,N
1 ,1 1 ,N
1 ,N
OPERER
APRES
III.3 Outils utilises
III.3.1 NetBeans IDE 7.0.1
Est un environnement de développement intégré
source par Sun en juin 2000 sous licence CDDL et GPLv2 (
Distribution License). En plus de Java, NetBeans
autres langages(Python , C, C++, JavaScript
les caractéristiques d'un IDE moderne (
éditeur graphique d'interfaces et de pages Web).
Conçu en Java, NetBeans est disponible sous
NetBeans constitue par ailleurs une plate forme qui permet le développement
d'applications spécifiques (bibliothèque
forme.L'IDE Netbeans s'enrichit à l'aide de greffons.
III.3.2 WampServer (anciennement
Est une plateforme de développement Web de type
fonctionner localement (sans se connecter à un serveur externe) des scripts
n'est pas en soi un logiciel, mais un environnement comprenant deux serveurs
(Apache et MySQL), un interpréteur de script (PHP), ainsi que
l'administration Web des bases MySQL.
MYSQL Est un système de gestion de base de données
partie des logiciels de gestion de base de données
prénom de la fille du cocréateur Michael Widenius, My. SQL f
Language, le langage de requête utilisé.
Chapitre III – Conception et implémentation
NetBeans IDE 7.0.1
environnement de développement intégré (EDI), placé en
ous licence CDDL et GPLv2 (Common Development and
). En plus de Java, NetBeans permet également de supporter
JavaScript, XML, Ruby, PHP et HTML). Il comprend toutes
IDE moderne (éditeur en couleur, projets multi- langage
éditeur graphique d'interfaces et de pages Web).
Conçu en Java, NetBeans est disponible sous Windows, Linux, Mac OS X….ect
NetBeans constitue par ailleurs une plate forme qui permet le développement
d'applications spécifiques (bibliothèque Swing (Java)). L'IDENetBeans s'appuie sur cette plate
forme.L'IDE Netbeans s'enrichit à l'aide de greffons.
(anciennement WAMP5)
Est une plateforme de développement Web de type WAMP, permettant de
fonctionner localement (sans se connecter à un serveur externe) des scripts PHP. WampServer
n'est pas en soi un logiciel, mais un environnement comprenant deux serveurs
), un interpréteur de script (PHP), ainsi que phpMy
l'administration Web des bases MySQL.
système de gestion de base de données relationnelle (SGBDR) Il fait
base de données les plus utilisés au monde Son nom vient du
prénom de la fille du cocréateur Michael Widenius, My. SQL fait allusion au Structured Query
utilisé.
Conception et implémentation
35
(EDI), placé en open
Common Development and
permet également de supporter Différents
). Il comprend toutes
langage, refactoring,
….ect
NetBeans constitue par ailleurs une plate forme qui permet le développement
s'appuie sur cette plate
, permettant de faire
. WampServer
n'est pas en soi un logiciel, mais un environnement comprenant deux serveurs
phpMyAdmin pour
(SGBDR) Il fait
Son nom vient du
Structured Query
Chapitre III – Conception et implémentation
36
III.4 Spécification du logiciel
Dans l’architecture de notre logiciel on a deux(02) modules, le premier est la création de
BDD qui est faite l’année passée, nous avons fait le deuxième module.
Notre application stocke et afficher les donnes dans la base de données grâce a la
connexion entre Mysql et java Netbeans.
Aussi permet de manipuler ces données avec des opérations (ajouter, supprimer,
modifier, rechercher et imprimer).
Enfin elle permet d’ordonne les interventions par deux stratégies (FIFO ou DESCENTE) et
de calculer Cmax de chaque salle et de bloc.
Figure III.2-représentation de la classe el les différentes relations
III.4.1 Base de données
Les bases de données (abrégées BDD) permettent de stocker et de structurer des
données. Le principal intérêt est de pouvoir accéder facilement et rapidement aux données, via
un système de gestion de base de données (SGBD), un logiciel permettant de manipuler les
données. Les instructions de manipulation sont envoyées grâce au langage SQL.
Création
BDD
BDD
Solution initiale
FIFO
Optimiser par la
Descente
Données
Bloc
Intervention
date
N°bloc
Chapitre III – Conception et implémentation
37
III.4.2 Création de notre Base de données
Apres avoir créer une base de donnes sous nom «ordonnancement », nous avons créer les 6
tables suivantes montrées dans le tableau ( III.1) avec leurs caractéristiques :
Figure III.3–les tables de la base de données «ordonnancement »
Tableau III.1-les tables avec leurs attributs dans la base de données
III.4.3 Ordonnancement et Optimisation
Nous avons ordonnancé les patients qui nécessitent les interventions par jour selon trois
cas, le premier cas c’est le cas initial en utilisant la procédure FIFO, par la suite nous avons opté
à optimiser ce cas initial en utilisant la méthode de Descente.
Les tables Les attributs
Bloc_operatoire N_bloc.
Intervention N_intr, Type,Date,Durée,Temps de réveille.
Lit N_lit,N_bloc.
Ordonnancement N_ord,type,Cmax,date d’intervention
Patient N_patient,Nom,Prenom,Age,maladie.
Salle_operation N_salle,N_bloc.
Chapitre III – Conception et implémentation
38
Pseudo code de la descente
nb=0;
nbs=0;
S0=solution initial;
CmaxS0=Cmax_initial;
Faire
Chercher S’ le voisin de S0;
Calculer CmaxS’ ;
Si (CmaxS’<CmaxS0) alors
S0 = S’, CmaxS0=CmaxS’ ; Incrémenter nb ;
Sinon //le cas où CmaxS’>=CmaxS0 Incrémenter nbs ;
Tantque ((nb< nombre d’itr avec amélioration) et (nbs< nombre d’itr sans amélioration))
Sortir par S0 comme solution finale.
III.4.4 Bibliothèque java utilise
Chapitre III – Conception et implémentation
39
III.4.5 Les classes :
III.4.6 Connexion entre MySQL et Netbeans :
III.5 Déroulement de l’application
III.5.1 Lancement de l’application
Autorisation d’accès
Apres avoir lancé l’application, Une fenêtre apparaitra qui demande de saisir le
pseudonyme et le mot de passe puis cliquer sur le bouton « Entrée » afin d’accédée a l’accueil de
application.
Chapitre III – Conception et implémentation
40
Figure III.4– Autorisation d’accès
Cliquer le bouton « Aide » Pour plus d’information et le message suivant apprêtera :
Figure III.5-message d’information
Si le mot de passe ou/et le pseudonyme est incorrecte(s), un message d’erreur apprêtera
(accès refuse).comme montre la figure suivante :
Figure III.6- message d’accès refuse
Chapitre III – Conception et implémentation
41
Accueil
Figure III.7-présente l’accueil de l’application.
La commande « Ajouter»
Accueil  Interventions.
Remplir toutes les caisses puis cliquer sur le bouton « Ajouter », une boite de dialogue
apprêtera, demande de confirmer oui/non la commande
Figure III.8-présente le tableau des lits avec.
Chapitre III – Conception et implémentation
42
Figure III.9-confirmer (oui/non) la demande d’ajout.
La commande « Supprimer »
Accueil  Blocs opératoires.
Sélectionner la ligne de bloc opératoire ou saisir le numéro de ce dernier dans la caisse puis
cliquer sur le bouton « supp ».
Figure III.10–la liste des blocs opératoires et la demande de suppression.
Une boite de dialogue apprêtera, demande de confirmer oui/non la commande de
suppression.
Figure III.11-confirmer (oui/non) la demande de suppression.
Chapitre III – Conception et implémentation
43
La commande Modifier
Accueil  Lits de réveille.
Sélectionner la ligne de lit puis modifier la/les donnée(s) dans la/les caisse(s) qui
correspond puis cliquer sur le bouton « Ajouter ».
Figure III.12-présente le tableau des lits et la modification.
Une boite de dialogue apprêtera, demande de confirmer oui/non la commande de
modification.
Figure III.13-confirmer (oui/non) la demande de modification.
La commande Rechercher
Accueil  Patients.
Saisir le numéro de patient recherche dans le champ de recherche puis taper entrée en
clavier ; la résultat de recherche apprêtera dans chaque caisse.
Chapitre III – Conception et implémentation
44
Figure III.14-présente le tableau des patients et la recherche.
Si ce dernier n’existe pas dans la table des patients, le message d’information apprêtera.
Comme suit :
Figure III.15- message informe que le numéro recherché n’existe pas.
La commande « Imprimer »
Accueil  Patients  Fichier imprimer.
Figure III.16-montre le contenu de Fichier dans la barre de menu.
Pour imprimer la liste des patients, cliquer sur « Fichier » dans la barre de menu puis sur
imprimer, la fenêtre suivant apprêtera :
Chapitre III – Conception et implémentation
45
Figure III.17-la fenêtre d’impression.
Ordonnancement
Accueil  Ordonnancement.
Apres choisir la stratégie d’ordonnancement (FIFo/DESCENTE), entrée la date
d’intervention, le nombre d’itération (juste dans le choix « DESCENTE ») puis appuyer sur
« résultat » afin d’afficher l’ordonnancement des interventions, Cmax salle1 et salle 2, ainsi
Cmax bloc et afficher aussi les interventions ordonnées dans chaque des 2 salles.
1) Ordonnancement Fifo
Figure III.18-montre l’ordonnancement avec la stratégie « FIFO »
2) Ordonnancement DESCENTE
Nous avons utilise l’algorithme de descente de base avec les paramètres suivants :
Chapitre III – Conception et implémentation
46
Un voisinage simple (permutation entre deux valeurs)
L’ordonnancement FIFO comme solution initiale.
Le tableau suivant (tableau 1) montre les différents résultats obtenus par l’algorithme de
descente.
Figure III.19-montre l’ordonnancement avec la stratégie « DESCENTE »
Stratégie Nombre
d’itération
ordonnancement Cmaxs1 Cmaxs2 Cmax
bloc
FIFO / 1,2,3,4,5,7,8,9,10 14 18 26
Descente 10 2,3,5,7,8,4,1,9,10 18 14 24
20 1,9,4,3,8,7,10,5,2 17 15 26
50 7,3,9,10,1,5,8,2,4 14 18 24
100 2,9,10,4,1,8,3,5,7 14 18 24
200 5,4,9,8,1,7,2,10,3 16 16 24
Tableau III.2-un exemple d’ordonnancement par les Stratégies FIFO et DESCENTE
Chapitre III – Conception et implémentation
47
Figure III.20-montre la représentation graphique du tableau III.2
Discussion
On remarque que les ordonnancements obtenus sont divers dans tous les cas (solution
FIFO et les itérations de la Descente), ainsi que la valeur de Cmax bloc de la stratégie de
DESCENTE est plus optimale que celui de la stratégie FIFO. Mais pour les différentes
itérations, la valeur de Cmax bloc reste stable (voir tableau1). La figure (19) montre que la
variation de Cmaxs1 et Cmaxs2 est petite. Le meilleur résultat obtenu par la Descente est de
l’itération (200).
III.6 Conclusion
Dans ce chapitre nous avons présente la conception de notre diagramme de classes,
aussi nous avons décrit chacun de langage utilise java Netbeans et Wampserver, ainsi Mysql.
Nous avons présente notre base de données et les différents tables ainsi leurs
caractéristiques et enfin nous avons présente notre application qui a l’objectif d’ordonner les
interventions selon deux stratégies (FIFO, Descente) afin de minimiser le cout total des heures
dans les salles opératoires.
0
10
20
30
40
50
60
70
10 20 50 100 200
variation de Cmaxs en fonction de
nombre d'iteration
Cmaxs1 Cmaxs2 Cmax bloc

chap3 conception et implementation

  • 1.
    Chapitre III –Conception et implémentation 32 III.1 Introduction Dans ce chapitre, nous présentons les différentes étapes réalisées durant l’implémentation de notre application, nous commençons à décrire la conception UML utilise, puis la création de la base de données par WampServer, ensuite nous définissons les fonctionnalités de notre application et enfin nous discutons les résultats obtenus. III.2 Conception UML III.2.1 Définition "UML (Unified Modeling Language ) est un langage standard de l'industrie de la modélisation avec un riche notation graphique, et ensemble complet de diagrammes et des éléments. Un outil complet de modélisation UML Enterprise Architect comme est le moyen idéal pour prendre le contrôle de logiciel ou projet d'entreprise maintenant! " III.2.2 Diagramme de classes Le diagramme de classes est un schéma utilisé en génie logiciel pour présenter les classes et les interfaces des systèmes ainsi que les différentes relations entre celles-ci. Ce diagramme fait partie de la partie statique d'UML car il fait abstraction des aspects temporels et dynamiques. Une classe décrit les responsabilités, le comportement et le type d'un ensemble d'objets. Les éléments de cet ensemble sont les instances de la classe. (Figure III.1) Une classe est un ensemble de fonctions et de données (attributs) qui sont liées ensemble par un champ sémantique. Les classes sont utilisées dans la programmation orientée objet. Elles permettent de modéliser un programme et ainsi de découper une tâche complexe en plusieurs petits travaux simples. Les classes peuvent être liées entre elles grâce au mécanisme d'héritage qui permet de mettre en évidence des relations de parenté. D'autres relations sont possibles entre des classes, chacune de ces relations est représentée par un arc spécifique dans le diagramme de classes.
  • 2.
    Chapitre III –Conception et implémentation 33 Elles sont finalement instanciées pour créer des objets (une classe est un moule à objet : elle décrit les caractéristiques des objets, les objets contiennent leurs valeurs propres pour chacune de ces caractéristiques lorsqu'ils sont instanciés). Figure III.1-représentation de la classe el les différentes relations Nom d’association Héritage Agrégation faible Agrégation forte Nom de classe Attributs Méthodes () ; Les relations entre 2 classes Nom d’association Nom d’association
  • 3.
    Chapitre III –Conception et implémentation 34 III.2.3 Diagramme de classes représente l’ordonnancement des interventions chirurgicales ORDONNER 1 ,1 FAIRE DANS 1 ,1 BLOC OPERATOIRE #N°bloc #Ouvert () ; #Fermé () ; ORDONNANCEMENT +N°ord -Cmax -Type -Ajouter () ; -Modifier () ; -Supprimer () ; -Afficher () ; LIT SE REVEILLE +N°lit #Occuper () ; #Libre () ; SALLE D’OPERATION +N°salle #Occuper () ; #Libre () ; PATIENT +N°patient -Nom -Prénom -Age -Maladie -Ajouter () ; -Modifier () ; -Supprimer () ; -Afficher () ; INTERVENTION +N°intervention -Type -Date +Durée -Temps de réveille -Ajouter () ; -Modifier () ; -Supprimer () ; -Afficher () ; 1 ,N 1 ,1 0,N 1 ,1 1 ,N 1 ,N OPERER APRES
  • 4.
    III.3 Outils utilises III.3.1NetBeans IDE 7.0.1 Est un environnement de développement intégré source par Sun en juin 2000 sous licence CDDL et GPLv2 ( Distribution License). En plus de Java, NetBeans autres langages(Python , C, C++, JavaScript les caractéristiques d'un IDE moderne ( éditeur graphique d'interfaces et de pages Web). Conçu en Java, NetBeans est disponible sous NetBeans constitue par ailleurs une plate forme qui permet le développement d'applications spécifiques (bibliothèque forme.L'IDE Netbeans s'enrichit à l'aide de greffons. III.3.2 WampServer (anciennement Est une plateforme de développement Web de type fonctionner localement (sans se connecter à un serveur externe) des scripts n'est pas en soi un logiciel, mais un environnement comprenant deux serveurs (Apache et MySQL), un interpréteur de script (PHP), ainsi que l'administration Web des bases MySQL. MYSQL Est un système de gestion de base de données partie des logiciels de gestion de base de données prénom de la fille du cocréateur Michael Widenius, My. SQL f Language, le langage de requête utilisé. Chapitre III – Conception et implémentation NetBeans IDE 7.0.1 environnement de développement intégré (EDI), placé en ous licence CDDL et GPLv2 (Common Development and ). En plus de Java, NetBeans permet également de supporter JavaScript, XML, Ruby, PHP et HTML). Il comprend toutes IDE moderne (éditeur en couleur, projets multi- langage éditeur graphique d'interfaces et de pages Web). Conçu en Java, NetBeans est disponible sous Windows, Linux, Mac OS X….ect NetBeans constitue par ailleurs une plate forme qui permet le développement d'applications spécifiques (bibliothèque Swing (Java)). L'IDENetBeans s'appuie sur cette plate forme.L'IDE Netbeans s'enrichit à l'aide de greffons. (anciennement WAMP5) Est une plateforme de développement Web de type WAMP, permettant de fonctionner localement (sans se connecter à un serveur externe) des scripts PHP. WampServer n'est pas en soi un logiciel, mais un environnement comprenant deux serveurs ), un interpréteur de script (PHP), ainsi que phpMy l'administration Web des bases MySQL. système de gestion de base de données relationnelle (SGBDR) Il fait base de données les plus utilisés au monde Son nom vient du prénom de la fille du cocréateur Michael Widenius, My. SQL fait allusion au Structured Query utilisé. Conception et implémentation 35 (EDI), placé en open Common Development and permet également de supporter Différents ). Il comprend toutes langage, refactoring, ….ect NetBeans constitue par ailleurs une plate forme qui permet le développement s'appuie sur cette plate , permettant de faire . WampServer n'est pas en soi un logiciel, mais un environnement comprenant deux serveurs phpMyAdmin pour (SGBDR) Il fait Son nom vient du Structured Query
  • 5.
    Chapitre III –Conception et implémentation 36 III.4 Spécification du logiciel Dans l’architecture de notre logiciel on a deux(02) modules, le premier est la création de BDD qui est faite l’année passée, nous avons fait le deuxième module. Notre application stocke et afficher les donnes dans la base de données grâce a la connexion entre Mysql et java Netbeans. Aussi permet de manipuler ces données avec des opérations (ajouter, supprimer, modifier, rechercher et imprimer). Enfin elle permet d’ordonne les interventions par deux stratégies (FIFO ou DESCENTE) et de calculer Cmax de chaque salle et de bloc. Figure III.2-représentation de la classe el les différentes relations III.4.1 Base de données Les bases de données (abrégées BDD) permettent de stocker et de structurer des données. Le principal intérêt est de pouvoir accéder facilement et rapidement aux données, via un système de gestion de base de données (SGBD), un logiciel permettant de manipuler les données. Les instructions de manipulation sont envoyées grâce au langage SQL. Création BDD BDD Solution initiale FIFO Optimiser par la Descente Données Bloc Intervention date N°bloc
  • 6.
    Chapitre III –Conception et implémentation 37 III.4.2 Création de notre Base de données Apres avoir créer une base de donnes sous nom «ordonnancement », nous avons créer les 6 tables suivantes montrées dans le tableau ( III.1) avec leurs caractéristiques : Figure III.3–les tables de la base de données «ordonnancement » Tableau III.1-les tables avec leurs attributs dans la base de données III.4.3 Ordonnancement et Optimisation Nous avons ordonnancé les patients qui nécessitent les interventions par jour selon trois cas, le premier cas c’est le cas initial en utilisant la procédure FIFO, par la suite nous avons opté à optimiser ce cas initial en utilisant la méthode de Descente. Les tables Les attributs Bloc_operatoire N_bloc. Intervention N_intr, Type,Date,Durée,Temps de réveille. Lit N_lit,N_bloc. Ordonnancement N_ord,type,Cmax,date d’intervention Patient N_patient,Nom,Prenom,Age,maladie. Salle_operation N_salle,N_bloc.
  • 7.
    Chapitre III –Conception et implémentation 38 Pseudo code de la descente nb=0; nbs=0; S0=solution initial; CmaxS0=Cmax_initial; Faire Chercher S’ le voisin de S0; Calculer CmaxS’ ; Si (CmaxS’<CmaxS0) alors S0 = S’, CmaxS0=CmaxS’ ; Incrémenter nb ; Sinon //le cas où CmaxS’>=CmaxS0 Incrémenter nbs ; Tantque ((nb< nombre d’itr avec amélioration) et (nbs< nombre d’itr sans amélioration)) Sortir par S0 comme solution finale. III.4.4 Bibliothèque java utilise
  • 8.
    Chapitre III –Conception et implémentation 39 III.4.5 Les classes : III.4.6 Connexion entre MySQL et Netbeans : III.5 Déroulement de l’application III.5.1 Lancement de l’application Autorisation d’accès Apres avoir lancé l’application, Une fenêtre apparaitra qui demande de saisir le pseudonyme et le mot de passe puis cliquer sur le bouton « Entrée » afin d’accédée a l’accueil de application.
  • 9.
    Chapitre III –Conception et implémentation 40 Figure III.4– Autorisation d’accès Cliquer le bouton « Aide » Pour plus d’information et le message suivant apprêtera : Figure III.5-message d’information Si le mot de passe ou/et le pseudonyme est incorrecte(s), un message d’erreur apprêtera (accès refuse).comme montre la figure suivante : Figure III.6- message d’accès refuse
  • 10.
    Chapitre III –Conception et implémentation 41 Accueil Figure III.7-présente l’accueil de l’application. La commande « Ajouter» Accueil  Interventions. Remplir toutes les caisses puis cliquer sur le bouton « Ajouter », une boite de dialogue apprêtera, demande de confirmer oui/non la commande Figure III.8-présente le tableau des lits avec.
  • 11.
    Chapitre III –Conception et implémentation 42 Figure III.9-confirmer (oui/non) la demande d’ajout. La commande « Supprimer » Accueil  Blocs opératoires. Sélectionner la ligne de bloc opératoire ou saisir le numéro de ce dernier dans la caisse puis cliquer sur le bouton « supp ». Figure III.10–la liste des blocs opératoires et la demande de suppression. Une boite de dialogue apprêtera, demande de confirmer oui/non la commande de suppression. Figure III.11-confirmer (oui/non) la demande de suppression.
  • 12.
    Chapitre III –Conception et implémentation 43 La commande Modifier Accueil  Lits de réveille. Sélectionner la ligne de lit puis modifier la/les donnée(s) dans la/les caisse(s) qui correspond puis cliquer sur le bouton « Ajouter ». Figure III.12-présente le tableau des lits et la modification. Une boite de dialogue apprêtera, demande de confirmer oui/non la commande de modification. Figure III.13-confirmer (oui/non) la demande de modification. La commande Rechercher Accueil  Patients. Saisir le numéro de patient recherche dans le champ de recherche puis taper entrée en clavier ; la résultat de recherche apprêtera dans chaque caisse.
  • 13.
    Chapitre III –Conception et implémentation 44 Figure III.14-présente le tableau des patients et la recherche. Si ce dernier n’existe pas dans la table des patients, le message d’information apprêtera. Comme suit : Figure III.15- message informe que le numéro recherché n’existe pas. La commande « Imprimer » Accueil  Patients  Fichier imprimer. Figure III.16-montre le contenu de Fichier dans la barre de menu. Pour imprimer la liste des patients, cliquer sur « Fichier » dans la barre de menu puis sur imprimer, la fenêtre suivant apprêtera :
  • 14.
    Chapitre III –Conception et implémentation 45 Figure III.17-la fenêtre d’impression. Ordonnancement Accueil  Ordonnancement. Apres choisir la stratégie d’ordonnancement (FIFo/DESCENTE), entrée la date d’intervention, le nombre d’itération (juste dans le choix « DESCENTE ») puis appuyer sur « résultat » afin d’afficher l’ordonnancement des interventions, Cmax salle1 et salle 2, ainsi Cmax bloc et afficher aussi les interventions ordonnées dans chaque des 2 salles. 1) Ordonnancement Fifo Figure III.18-montre l’ordonnancement avec la stratégie « FIFO » 2) Ordonnancement DESCENTE Nous avons utilise l’algorithme de descente de base avec les paramètres suivants :
  • 15.
    Chapitre III –Conception et implémentation 46 Un voisinage simple (permutation entre deux valeurs) L’ordonnancement FIFO comme solution initiale. Le tableau suivant (tableau 1) montre les différents résultats obtenus par l’algorithme de descente. Figure III.19-montre l’ordonnancement avec la stratégie « DESCENTE » Stratégie Nombre d’itération ordonnancement Cmaxs1 Cmaxs2 Cmax bloc FIFO / 1,2,3,4,5,7,8,9,10 14 18 26 Descente 10 2,3,5,7,8,4,1,9,10 18 14 24 20 1,9,4,3,8,7,10,5,2 17 15 26 50 7,3,9,10,1,5,8,2,4 14 18 24 100 2,9,10,4,1,8,3,5,7 14 18 24 200 5,4,9,8,1,7,2,10,3 16 16 24 Tableau III.2-un exemple d’ordonnancement par les Stratégies FIFO et DESCENTE
  • 16.
    Chapitre III –Conception et implémentation 47 Figure III.20-montre la représentation graphique du tableau III.2 Discussion On remarque que les ordonnancements obtenus sont divers dans tous les cas (solution FIFO et les itérations de la Descente), ainsi que la valeur de Cmax bloc de la stratégie de DESCENTE est plus optimale que celui de la stratégie FIFO. Mais pour les différentes itérations, la valeur de Cmax bloc reste stable (voir tableau1). La figure (19) montre que la variation de Cmaxs1 et Cmaxs2 est petite. Le meilleur résultat obtenu par la Descente est de l’itération (200). III.6 Conclusion Dans ce chapitre nous avons présente la conception de notre diagramme de classes, aussi nous avons décrit chacun de langage utilise java Netbeans et Wampserver, ainsi Mysql. Nous avons présente notre base de données et les différents tables ainsi leurs caractéristiques et enfin nous avons présente notre application qui a l’objectif d’ordonner les interventions selon deux stratégies (FIFO, Descente) afin de minimiser le cout total des heures dans les salles opératoires. 0 10 20 30 40 50 60 70 10 20 50 100 200 variation de Cmaxs en fonction de nombre d'iteration Cmaxs1 Cmaxs2 Cmax bloc