Gestion des dossiers médicaux des patients à la pédiatrie

Gestion des dossiers médicaux des patients à la pédiatrie

Quels outils à utiliser ?

Choix des langages JAVA

Le langage Java est un langage de programmation informatique orienté objet créé par James Gosling et Patrick Naughton. La particularité et l’objectif central de Java est que les logiciels écrits dans ce langage doivent être très facilement portables sur plusieurs systèmes d’ exploitation tels que UNIX, Windows, Mac OS ou GNU/Linux, avec peu ou pas de modifications. Pour cela, divers plateformes et frameworks associés visent à guider, sinon garantir, cette portabilité des applications développées en Java. Le langage Java répond cinq objectifs bien défini : — simple, orienté objet et familier ; — robuste et sûr ; — indépendant de la machine employée pour l’exécution ; — très performant ; — compilé, multitâches et dynamique. La première caractéristique, le caractère orienté objet (« OO ») et familier, fait référence à une méthode de programmation et de conception du langage et le fait qu’un programme écrit en Java ressemble assez fort à un programme écrit en C++. Mais les problèmes récurrents à l’encontre de C++ sont : — lourde tâche à cause de programmation manuelle de la gestion de la mémoire ; — aboutissement à une fuite de mémoire à cause de l’oublie de désallocation et engendre la consommation abondant du programme. — instabilité et plantage de l’application si par erreur un programme demande plusieurs fois une désallocation, ou emploi une zone de mémoire après avoir demandé sa désallocation. 5 C# Le C# (C sharp en anglais) est un langage de programmation orienté objet, commercialisé par Microsoft depuis 2002 et destiné à développer sur la plateforme Microsoft .NET.Il est dérivé du C++ et très proche du Java dont il reprend la syntaxe générale ainsi que les concepts, y ajoutant des autres notions C# est un langage de programmation orientée objet, fortement typé, dérivé de C et C++, ressemblant au langage Java. Il est utilisé pour développer des : — applications web ; — applications de bureau ; — des services web, des commandes, des widgets ou des bibliothèques de classes. Beaucoup de possibilités de Java se retrouvent dans C# et il y a une forte ressemblance entre un code écrit en C# et le code équivalent en Java puisqu’il est crée pour rectifier la faiblesse de Java (la verbosité du code surtout).Son but principal est de créer un application robuste avec un minimum de code. Mais ses inconvénients demeurent sur En outre,il est intégré dans le WPF ( Windows Presentation Foundation) qui est un bibliothèque utilisé pour développez une application client-riche (y compris Microsoft Silverlight )en utilisant le langage XAML. Vues les particularité du langage C# on pourrait lui dire qu’il est un langage plus puissant que le JAVA mais nous avons choisi le dernier car avec C# on ne peut pas développer un logiciel multiplateformes et ses environnement de développement intégré et ses certains bibliothèques sont disponibles sous licence commercial. 

Atelier Génie Logiciel de Modélisation

Pour développer l’application, nous avons travaillé sous le système Debian Jessie(la version 8 de GNU Linux/Debian).Les ateliers génie logiciel qu’y sont disponible sont cités comme suit : — JMerise, — Gantt Project, — UMLet — Eclipse Mars 2.0 IDE — GIMP 2.8. 

Choix des bibliothèques graphiques

Lorsqu’on décide de choisir le langage Java pour développer l’application, on pense directement à la bibliothèque graphique à utiliser pour l’interface homme-machine (I.H.M.) de notre application. De nos jours, Java possède quatre(4) bibliothèques graphiques de développement d’un logiciel. On va voir les caractéristiques de chaque bibliothèques et leur spécification. AWT :Abstract Window Toolkit C’ est une bibliothèque graphique pour Java, faisant partie de JFC (Java Foundation Classes). Cette bibliothèque a été introduite dès les premières versions de Java ; depuis Java 2, la bibliothèque de gestion de fenêtre officielle est Swing. Toutefois, AWT sert encore de fondement à Swing, dans la mesure où de nombreuses classes Swing héritent de classes AWT. AWT emploie les composants natifs de la plate-forme, alors que Swing utilise des composants en pur Java. Swing Swing est une bibliothèque graphique pour le langage de programmation Java, faisant partie du package Java Foundation Classes (JFC), inclus dans J2SE. Swing constitue l’une des principales évolutions apportées par Java 2 par rapport aux versions antérieures. Swing offre la possibilité de créer des interfaces graphiques identiques quel que soit le système d’exploitation sous-jacent, au prix de performances moindres qu’en utilisant Abstract Window Toolkit (AWT). Il utilise le principe Modèle-Vue-Contrôleur (MVC, les composants Swing jouent en fait le rôle de la vue au sens du MVC) et dispose de plusieurs choix d’apparence pour chacun des composants standards. Avec l’apparition de Java 8 en mars 2014, JavaFX devient la bibliothèque graphique officielle du langage Java, pour toutes les sortes d’application (applications mobiles, applications sur poste de travail, applications Web), le développement de son prédécesseur Swing étant abandonné (sauf pour les corrections de bogues). Relation avec AWT Depuis les premières versions de Java, Abstract Window Toolkit (AWT) fournit une API indépendante du système d’exploitation pour mettre en œuvre des composants graphiques. Dans AWT, chaque composant est dessiné et contrôlé par un composant tiers natif spécifique au système d’exploitation. C’est pourquoi les composants d’AWT sont appelés composants lourds. Au contraire, les composants Swing sont décrits comme légers. En effet, ils ne requièrent pas d’allocation de ressources natives de la part du gestionnaire de fenêtres sous-jacent, mais « empruntent » les ressources de leurs ancêtres. Une grande partie de l’API Swing est une extension complémentaire à AWT plutôt qu’un 7 remplaçant direct. L’affichage est fourni par Java2D, un autre composant des JFC. Cependant, l’usage conjoint de composants légers et lourds au sein d’une même fenêtre est généralement déconseillé à cause de problèmes de gestion de la profondeur. SWT : Standard Widget Toolkit C’ est une bibliothèque graphique libre pour Java, initiée par IBM. SWT n’est pas un standard Java reconnu par le JCP. Cette bibliothèque se compose d’une bibliothèque de composants graphiques (texte, label, bouton, panel), des utilitaires nécessaires pour développer une interface graphique en Java, et d’une implémentation native spécifique à chaque système d’exploitation qui sera utilisée à l’exécution du programme. La deuxième partie de SWT n’est en fait qu’une ré-encapsulation des composants natifs de système (Win32 pour Windows, GTK ou Motif pour Linux). Plusieurs projets travaillent aujourd’hui sur une implémentation utilisant les composants de Swing. L’environnement de développement libre Eclipse, commandité lui aussi par IBM, repose sur cette architecture. Avantages — Implémente en Java les fonctionnalités qui ne sont pas offertes par les toolkits sous-jacents, d’où sa supériorité sur AWT — N’implémente en Java que les fonctionnalités qui ne sont pas offertes par les toolkits sous-jacents, économise donc les ressources, d’où sa rapidité d’exécution par rapport à Swing. — SWT est un logiciel libre (sous licence EPL), il constitue donc une alternative libre à la bibliothèque Swing qui n’est pas encore complètement implémentée dans les environnements Java libres (comme GNU Classpath). Inconvénients — Rareté des documentations par rapport à celles de Swing, la communauté des utilisateurs de SWT étant moins grande — Le look and feel n’est pas imposé, il dépend du toolkit sous-jacent. Par exemple avec le toolkit GTK, une modification du thème de celui-ci agira sur les applications SWT également. — Gestion des ressources contraignante (libération des couleurs, fontes…) due à l’utilisation des fonctions natives. — L’utiliser pour des Applets est beaucoup plus difficile, car absent des standards. JavaFX JavaFX devient la bibliothèque de création d’interface graphique officielle du langage Java, pour toutes les sortes d’application (applications mobiles, applications sur poste de travail, applications Web), le développement de son prédécesseur Swing étant abandonné 8 (sauf pour les corrections de bogues). JavaFX est désormais une pure API Java (le langage de script spécifique qui a été un temps associé à JavaFX est maintenant abandonné). JavaFX contient des outils très divers, notamment pour les médias audio et vidéo, le graphisme 2D et 3D, la programmation Web, la programmation multi-fils etc. Le SDK de JavaFX étant désormais intégré au JDK standard Java SE, il n’y a pas besoin de réaliser d’installation spécifique pour JavaFX. Des projets libres complètent JavaFX en fournissant des composants de haute qualité absents de JavaFX proprement dit, voir par exemple : JFXtras et ControlsFX. La bibliothèque et les modules utilisés Certes JavaFX est désormais la bibliothèque officielle du langage Java, mais Java Swing répond au critère qu’on a besoin. Nous avons parvenu à choisir Java Swing car : — il est plus mature que le JavaFX ; — même s’il est abandonné,il a eu un minimum de bogue et plus stable par rapport à JavaFX ; — JavaFX nécessite beaucoup d’un ressource matériel ; Pendant notre développement de notre application, nous avons besoins de quelques modules qui sont : — Mysql Connector (pour se connecter à la base des données mysql ) — JCalendar (pour afficher un Calendrier sous Swing) — JFreeChart (pour afficher une graphe statistique sous Swing) 

Choix de Système de Gestion de Base des Données Relationnel

On va comparer les trois SGBDR que nous trouvons le plus utilisé au développement, en suivant quelques critères de comparaisons : Oracle Database Oracle n’est pas un SGBDR optimisé pour de petites bases de données. Sur de petits volumes de traitements (2 Go par exemple) et peu d’utilisateurs (une trentaine) vous pourriez trouver des benchmark ou MySql offre des performances quasi comparables à Oracle… Si l’on monte à de plus importants volumes de donnée (>200Go) et un grand nombre d’utilisateurs (>300) les écarts de performance entre un MySql et un Oracle, Sybase, Db2 seront très visibles. 9 1. Version actuelle : 11 R2 2. Disponibilité : Linux, Windows, Unix, MacOSX 3. Licence : commerciale, gratuite dans sa version Express 4. Versions — Oracle Enterprise Edition — Oracle Standard Edition — Oracle Personal Edition — Oracle Database 10g Express Edition, limitée à 4 Go, 1 CPU, 1Go de RAM, 32 bits, Linux/Windows, gratuit 5. Avantages — Richesse fonctionnelle — Fonction d’audit évolué — Parallélisme, caches nommés ; haute disponibilité ; grande possibilité de tuning — Procédures stockés en PL-Sql (langage propriétaire Oracle, orienté ADA) ou … en JAVA 1 ce qui peut s’avérer utile pour les équipes de développement. — Assistants performants via Oracle Manager Server, possibilité de gérer en interne des tâches et des alarmes — Gestion centralisée de plusieurs instances — Concept unique de retour arrière — Pérennité de l’éditeur : avec plus de 40% de part de marché, ce n’est pas demain qu’Oracle disparaîtra — Réglages fins : dans la mesure ou l’on connaît suffisamment le moteur, presque TOUT est paramétrable. — Accès aux données système via des vues, bien plus aisément manipulable que des procédures stockées. — Interface utilisateur remaniée et extrêmement riche, permettant – enfin ! – le tuning fin de requêtes par modification des plans d’exécution. — Services Web, support XML — Ordonnanceur intégré — Compression des données et des sauvegardes — Support technique Orion extrêmement riche et fourni 6. Inconvénients — Prix élevé, tant au point de vue des licences que des composants matériels (RAM, CPU) à fournir pour de bonnes performances — Administration complexe… liée à la richesse fonctionnelle — Fort demandeur de ressources, ce qui n’arrange rien au point précité, Oracle est bien plus gourmand en ressource mémoire que ses concurrents, ce qui implique 1. Depuis la 8.1.7 10 un investissement matériel non négligeable. — Porosité entre les schémas = difficile de faire cohabiter de nombreuses applications sans devoir créer plusieurs instances. Il manque réellement la couche « base de données » au sens Db2/Microsost/Sybase du terme. — Métamodèle propriétaire, loin de la norme. — Tables partitionnées, RAC… uniquement possible à l’aide de modules payants complémentaires sur la version Enterprise. — Gestion des verrous mortels mal conçue (suppression d’une commande bloquante sans rollback) — Faiblesses de l’optimiseur (ne distingue pas les pages en cache ou en disque, n’utilise pas d’index lors de tris généraux, statistiques régénérées par saccade…) — Une quantité du bugs proportionnelle à la richesse fonctionnelle, surtout sur les dernières versions — Gestion erratique des rôles et privilèges (pas possible de donner des droits sur des schémas particuliers sans passer par leurs objets, désactivation des rôles lors d’exécution de packages…) — Pas de type auto-incrément déclaratif : les séquences ne peuvent être déclarativement dédiées à une table spécifique (risque de mélange) — Nombreuses failles de sécurités liées à l’architecture elle-même.

Table des matières

I Introduction
1 Généralité
1.1 Introduction à la pédiatrie
1.2 Problématiques
1.3 Objectifs
II Outils et Méthodologies
2 Matériels
2.1 Quels outils à utiliser ?
2.1.1 Choix des langages JAVA  C#
2.1.2 Atelier Génie Logiciel de Modélisation
2.1.3 Choix des bibliothèques graphiques
AWT :Abstract Window Toolkit  Swing  SWT : Standard Widget Toolkit  JavaFX
La bibliothèque et les modules utilisés
2.1.4 Choix de Système de Gestion de Base des Données Relationnel
Oracle Database
Mysql Server
PostgreSQL
3 Méthodes
3.1 Planification du projet
3.2 Synthèse du cahier de charge fonctionnel
3.2.1 Constatation de départ et ciblage des destinataires
3.2.2 Définition de l’application à réaliser
3.2.3 Les fonctions essentielles que devra remplir l’application
3.3 Merise
3.3.1 Les renseignements nécessaires au développement du projet
3.3.2 Modèle conceptuel de communication .
3.3.3 Modèle conceptuel de traitement
3.3.4 Modèle Conceptuel des Données
3.3.5 Modèle Physique des Données
3.4 Diagramme UML
3.4.1 Définition
3.4.2 Utilisation
3.4.3 Formalisme
Les vues
Les diagrammes
3.4.4 Diagramme de cas d’utilisation
Sommaire d’identification
Description des scénarios
3.4.5 Diagramme de Séquence
3.4.6 Diagramme des classes
3.4.7 Diagramme de package
III Résultats et Discussions
4 Résultats
4.1 Installation du Logiciel
4.2 Interface Homme-Machine
4.2.1 Le Splash screen de démarrage
4.2.2 L’onglet Nouveau patient
4.2.3 L’onglet Soins et Paramètre
4.2.4 L’onglet Paramètre
4.2.5 L’onglet Recherche
5 Discussions
5.1 Difficultés rencontrées
5.2 Avantage et particularité du logiciel
5.2.1 Utilisation de patron de conception
Définition
Historique
Utilité du patron de conception
Patrons de conception du GoF
5.2.2 Adoption de l’architecture MVC
Architecture
Flux de traitement
Avantages
5.2.3 Utilisation de méthode RUP
Définition
Fonctionnement
IV Conclusion et Annexe
6 Conclusion
7 Annexes et Quelques Définitions
7.1 Le génie Logiciel
7.1.1 Analyse des besoins
7.1.2 Conception
7.1.3 Construction
7.1.5 Maintenance
7.1.6 Gestion de projets
7.1.7 Les outils et méthodes
7.1.8 La Gestion de la Qualité
7.1.9 La gestion de la configuration
7.2 Méthodes de conception de logiciel
7.2.1 La Bête à Cornes (Analyse fonctionnelle)
7.2.2 Cahier des charges fonctionnel
7.3 UML et la programmation orientée objet(POO)
7.3.1 L’agrégation
7.3.2 La composition

projet fin d'etudeTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *