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

 > 

Modélisation et implémentation d'un système d'aide à  la décision pour le diagnostic de la fievre thyphoàŻde

( Télécharger le fichier original )
par Josué MISSWAY
ISC-Kinshasa - Licence 2015
  

sommaire suivant

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

[1]

REPUBLIQUE DEMOCRATIQUE DU CONGO

MINISTERE DE L'ENSEIGNEMENT SUPERIEUR ET INSTITUT SUPERIEUR DE COMMERCE DE UNIVERSITAIRE

KINSHASA

«I.S.C/KIN»

SECTION: SCIENCES COMMERCIALES, FINANCIERES
ET INFORMATIQUE DE GESTION
DEPARTEMENT D'INFORMATIQUE
CYCLE DE LICENCE
B.P.16596
KINSHASA-GOMBE

MODELISATION ET IMPLEMENTATION D'UN
SYSTÈME D'AIDE A LA DECISION POUR LE
DIAGNOSTIC DE LA FIEVRE TYPHOÏDE

MISSWAY KINDIA Josué

Travail de fin d'études présenté et défendu en

vue de l'obtention de titre de licencié en
informatique de gestion.

Option: Conception des Systèmes d'Information

Directeur: Professeur MUSANGU LUKA Rapporteur: Assistant KABAMBA MBIKAY

Année académique : 2014-2015

[2]

IN MEMORIAM

A mon père Anicet MISSWAY KINDIA pour son amour et surtout son souci qu'il avait de me faire un vrai homme utile à la société.

Ma reconnaissance à son égard se voudra grande et profonde.

[3]

EPIGRAPHE

« La preuve de la valeur d'un système informatique est son existence. »

Alan Jay Perlis

[4]

DEDICACE

A ma mère,

Et à mes frères et soeurs

MISSWAY KINDIA Josué

[5]

REMERCIEMENTS

Ce travail qui sanctionne la fin de notre cycle de licence est le résultat abattu avec le concert de quiconque. C'est pourquoi la reconnaissance nous oblige de pouvoir remercier sincèrement tous ceux ou toutes celles qui ont apporté leur pierre à cet édifice.

Aussi voudrons-nous avant toute chose, exprimer notre profonde gratitude au Professeur MUSANGU LUKA, qui nonobstant ses multiples occupations n'a pas hésité d'assurer la direction de ce travail. Ses riches conseils, sa disponibilité, ses remarques et critiques constructifs nous ont été d'une grande utilité. Qu'il veuille bien accepter nos vifs et sincères remerciements.

Nous tenons ensuite à remercier de tout coeur notre rapporteur, le doctorant Hervé KABAMBA MBIKAYI, pour les encouragements e conseils pratiques.

Nos remerciements vont aussi droit à tous les membres du corps académique.

Nous pensons également à notre oncle Alexis TURI, notre beau-frère Guylain IKAVU ainsi que sa fille Guyslaine, la famille TOKO, et à tous nos oncles, tantes, cousins, cousines, grands-parents, neveux et nièces dont le soutien moral, matériel et financier nous ont été inestimables. Qu'ils trouvent tous ici l'expression sincère de notre gratitude.

Nous tenons aussi à exprimer notre reconnaissance aux messieurs et demoiselles : Paul OLEKO, Délux LUKUSA, Hervé MUYEMBE, Olivier NIAMADJOMI, Jethro FUABONGO, Grace NSELE, Jonathan MPOYI, Meilleur NSANGANI, Steve NANGO, Placide GABIE, Grace MALULU, Glodi BIMA, Serge MFUNYI, Hester WEDJOLO, Ruth NGEYITALA, Sharonne MBOMBO, Sarah FUTI, Parfait LUBAMBA, Phillip KASUKUMA, Reagan MBUYA, Michel BINDA, Hardy MUPU, Fabrice KAMULETE, Harvey FAYA, Eben MAMBUVE, Jabin MUZIR, Sylvain PITAMA, Paul NGANGU, Merveille MUDE, Gustave MUTHI, Félicien TUTU, Reagan IKIE et Albert BOMBO. Qu'ils trouvent dans ces lignes l'expression de notre grande et profonde reconnaissance.

Enfin, que tous ceux ou toutes celles qui ont contribué directement ou indirectement à notre devenir et dont les noms ne sont pas expressément cités daignent croire ici en l'expression de notre grande reconnaissance.

[6]

Liste de tableaux

Tableau 1 : Dénombrement des taches 30

Tableau 2 : Planning 30

Tableau 3 : Diagramme de Gantt 37

Tableau 4 : Estimation de durée et cout. 37

Tableau 5 : Calendrier d'exécution du projet 38

Tableau 6 : Acteurs et cas d'utilisation recensés. 41

Tableau 7 : Description du C.U « S'authentifier » 45

Tableau 8 : Description du C.U « consulter malade » 46

Tableau 9 : Description du C.U « gérer utilisateurs » 47

Tableau 10 : Dictionnaire de données. 58

Tableau 11 : Liste des classes 59

Tableau 12 : Multiplicités 60

Tableau 13 : Représentation des associations simples 61

Tableau 14 : Diagramme de classe. 61

[7]

Liste de figures

Figure 1 : Structure d'un système expert

Figure 2 : Caractéristique de l'approche itérative

Figure 3 : processus de développement 2TUP

Figure 4 : Branche gauche de Y

Figure 5 : Diagramme de C.U Consultation

Figure 6 : Diagramme de C.U gérer utilisateur

Figure 7 : DCU global

Figure 8 : Diagramme de séquence « s'authentifier »

Figure 9 : Diagramme de séquence « consulter malade »

Figure 10 : Diagramme de séquence « gérer utilisateurs »

Figure 11: Situation de la capture des besoins techniques dans 2TUP

Figure 12: Architecture simple tiers

Figure 13: Architecture client-serveur

Figure 14:architecture 3 tiers

Figure 15:Branche gauche du cycle en Y

Figure 16 : Diagramme d'activités s'authentifier

Figure 17: Modèle bayésien

Figure 18:Diagramme de déploiement

Figure 19 : Fenêtre d'authentification

Figure 20 : Fenêtre d'enregistrement du patient

Figure 21: fenêtre du diagnostic

[8]

CHAPITRE I : INTRODUCTION 1.1. Mise en contexte

Depuis plusieurs décennies et cela de par le monde, les entreprises, les institutions aussi bien commerciales que sanitaires, bref les hommes éprouvent les besoins du progrès social; pour y parvenir, ils visent à minimiser les coûts et maximiser les revenus. Le diagnostic rapide de maladies devient un aspect non négligeable à la rentabilité et à l'émergence du secteur sanitaire et surtout il est une étape très cruciale dans la thérapie de maladies, de surcroît la réduction de la pauvreté.

La bonne prise de décision rapide et optimale grâce à l'outil informatique avec la pluralité d'avantages qu'il offre est un facteur de développement harmonieux dans l'atteinte de tous les objectifs assignés par l'institution.

Compte tenu du fait que les NTIC ont une influence très considérables sur la productivité et le profit, à l'issue de cette étude, nous tacherons de modéliser et mettre en oeuvre un système expert qui assistera le corps médical à diagnostiquer rapidement la maladie du patient afin d'assurer la bonne prise en charge de ce dernier.

1.2. Problématique

Aujourd'hui la fièvre typhoïde parait un fléau qui touche beaucoup plus des pays sous-développés. La République démocratique du Congo n'est pas en reste, en ce sens que la majeure partie de la population n'a pas accès à l'eau potable et aux soins de santé.

Face à cette situation précaire, il a été constaté qu'à l'absence de médecins considérés comme experts dans certaines formations médicales, le diagnostic de cette maladie combien mortelle dévient de plus en plus difficile.

Or, nous sommes sans ignorés que le diagnostic est l'un des éléments non négligeables dans la décision médicale car il est généralement le préalable d'une meilleure prise en charge du patient. Les médecins qui en assurent font parfois face à des multiples problèmes d'ordre familial, personnel, que professionnel qui peuvent surement entraver leur prise de décision ou d'influer négativement sur la décision prise. Raison pour laquelle, la mise au point d'un système expert de diagnostic de la fièvre typhoïde pourrait résoudre effectivement ce problème.

Cette problématique se résume autour des questions ci-après :

[9]

V' Quelle est la quintessence ou le bien fondé du système expert de diagnostic de la fièvre typhoïde ?

V' Est-il vrai que cet outil pouvait être un début de solution dans l'amélioration de la prise en charge de la fièvre typhoïde ?

V' Quels sont les aspects techniques, économiques et sociaux à donner au futur système ?

1.3. Hypothèse

De tout ce qui précède, à l'issue de cette étude, nous pensons mettre à la disposition du médecin un outil d'aide à la décision grâce à un modèle probabiliste notamment le réseau bayésien à partir d'un ordinateur pouvant aider le personnel médical dans le diagnostic de la fièvre typhoïde en vue d'assurer au mieux la prise en charge de patients.

1.4. Choix et intérêt du sujet

Le choix de notre sujet sur la modélisation et l'implémentation d'un système d'aide à la décision pour le diagnostic de la fièvre typhoïde s'avère très judicieux d'autant plus que la situation sanitaire en ROC est très précaire, nous avons voulu à travers ce sujet apporter notre contribution dans la réduction de ce fléau en y apportant une solution informatique.

Quant à son intérêt, il est triple :

V' Sur le plan économique, c'est outil s'avère être un véritable moteur de développement car il permettra au médecin dans un temps record de diagnostiquer plus d'un patient ; d'où un gain en temps, or le temps est un grand facteur d'émergence.

V' Sur le plan scientifique, il est un outil de recherche pour toute personne intéressée au domaine de conception des systèmes d'information et plus précisément l'intelligence artificielle.

V' Enfin sur le plan personnel, c'est une façon pour nous de pouvoir contribuer à la réduction de la fièvre typhoïde qui touche beaucoup des congolais

1.5. Délimitation du travail

Ce travail visant contribuer à résoudre un problème réellement constaté dans un contexte purement congolais, puis qu'il est ici question du diagnostic de la fièvre typhoïde il ne s'avère pas indispensable qu'il

[10]

soit délimité dans l'espace, ni dans le temps car le diagnostic est effectif partout et il est un processus continu.

1.6. Méthode et techniques utilisées

a. Méthode

La méthode se définit comme étant l'ensemble de règles et de disciplines qui organisent le mouvement d'ensemble de la connaissance, c'est-à-dire les relations entre l'objet de la recherche et le chercheur, entre les informations concrètes rassemblées à l'aide des techniques et le niveau de la théorie et des concepts.1

Ainsi pour la conception de l'application qui sera développée nous avons opté pour la méthode UP construit sur UML ; un processus itératif et incrémental.

En ce qui concerne la méthode de conduite du projet nous avons opté pour la méthode PERT.

b. Techniques

La technique est l'ensemble de procédés ou de moyens pratiques pouvant aider à concrétiser les principes fixés par la méthode2.Bref, elle permet la collecte des informations.

Afin de recueillir toutes les informations utiles de notre recherche nous avons recouru aux techniques ci-après :

y' Technique d'interview : elle nous a permis de poser des questions aux personnes concernées de notre étude en vue de récolter les données nécessaires pour celle-ci.

y' Technique d'observation : elle nous a aidé de voir à l'oeil nu la façon dont se déroule le processus de diagnostic des maladies.

y' Technique documentaire : elle nous a permis de consulter tous les ouvrages nécessaires pour notre étude.

1.7. Difficultés rencontrées

A titre de rappel, ce travail aborde le diagnostic qui est évidemment un domaine sanitaire, tout au long de sa recherche nous avons heurtés plusieurs difficultés dans la récolte de données auprès des

1MUKUNA, B., Essai méthodologique sur la rédaction d'un travail scientifique, éd. CRIGED, Janvier 2006, ISC/Kinshasa, p.28

2BINDUNGWA, M., Comment élaborer un travail de fin de cycle ? Contenu et étapes, ed. Médiaspaul, Kinshasa 2008.

[11]

experts du domaine, la première difficulté est liée à l'inadéquation due au jargon médical, la seconde c'est dans la mise en application du réseau bayésien dans ce diagnostic.

1.8. Canevas du travail

Le présent travail est divisé en sept chapitres de valeurs non négligeables.

Au premier chapitre nous allons présenter l'introduction générale de notre travail.

Au deuxième chapitre intitulé les approches théoriques. Nous aborderons les généralités sur l'intelligence artificielle, le système expert, le langage de modélisation ainsi que les concepts liés au sujet.

Le chapitre troisième s'articulera sur la spécification des besoins et études de faisabilité. Dans cette partie, nous allons décrire les besoins fonctionnels et non fonctionnels du système en plus l'étude de faisabilité de notre projet.

Le quatrième chapitre qui constitue un de noeuds essentiels de notre travail sera synonyme de l'élaboration de notre système. Ici nous allons faire la modélisation statique et dynamique du système.

Le chapitre cinquième développera la construction de notre système. Il nous aidera à construire et implémenter le modèle de la base de connaissances.

Le sixième chapitre et avant dernier chapitre gravitera autour de la transition. Ici, il sera question de mettre l'outil à la disposition des utilisateurs finaux.

Enfin, le septième chapitre marquera la conclusion de ce travail.

[12]

CHAPITRE II : APPROCHES THEORIQUES

Dans ce chapitre, il est question d'aborder les généralités sur l'intelligence artificielle, objet de la première section, le système expert qui est une branche de l'intelligence artificielle, objet de la deuxième section, le processus unifié objet de la troisième section, le langage UML comme objet de la quatrième section et enfin le diagnostic comme objet de la cinquième section.

2.1. Généralités sur l'intelligence artificielle 2.1.1. Définition

L'intelligence artificielle étant un concept a par conséquent plusieurs définitions :

A en croire LAROUSSE, elle se définit comme étant un ensemble de théories et de techniques mises en oeuvre pour réaliser des machines dont le fonctionnement s'apparente à celui d'un cerveau humain.

D'après BUCHANAN3, l'intelligence artificielle est définie comme le domaine informatique qui effectue les traitements symboliques et qui emploie des méthodes non algorithmiques.

RICH pour sa part soutient que l'intelligence artificielle est le domaine qui étudie comment faire exécuter par ordinateur des tâches pour lesquelles l'homme est encore toujours meilleur4.

Nous pouvons encore définir l'intelligence artificielle selon quatre approches suivantes5 :

Systèmes qui pensent comme les humains

L'intelligence artificielle est l'automatisation des activités que nous lions au processus de pensée comme la prise de décision, la résolution des problèmes, apprentissage,...(Bellman, 1978)

Systèmes qui pensent rationnellement

C'est l'étude des facultés mentales à l'aide de l'usage des modèles computationnels. (Charniak et McDermott, 1985).

3 R. Lindsay, B. Buchanan, E.Feignbaum., Application of artificial intelligence to organic

chemistri : the dendra project, Mc Graw-hill 1980.

4RICH, E., Intelligence artificielle, Ed. Masson, paris 1987.

5 KUTANGILA, D., Intelligence artificielle et systèmes experts approfondis, L1 Info, ISC-KIN, 2013-2014.

[13]

Systèmes qui agissent comme les humains

Elle est l'art de développer des machines avec capacités pour réaliser des fonctions qui, quand elles sont réalisées par des personnes, exigent de l'intelligence. (Kurzweil,1990).

Systèmes qui agissent rationnellement

Selon Nilson, l'intelligence artificielle est en rapport avec la conduite intelligente des automates.

2.1.2. Branches de l'intelligence artificielle

L'intelligence artificielle a plusieurs branches parmi lesquelles :

Les systèmes experts : un système expert est un système de traitement qui émule l'habilité de prendre de décisions comme un spécialiste humain

La robotique : Larousse définit la robotique comme étant une science et technique de conception et construction des robots. Il est à signaler que présentement dans les usines il ya des robots industriels qui ont fait leur apparition.

La parole : malgré l'évolution technologique, l'humanité est encore loin de produire un logiciel capable de reconnaitre les paroles d'un quelconque locuteur et cela essentiellement d'autant plus que la compréhension d'un mot, d'une phrase requiert beaucoup d'information extra-langagière.

Le langage naturel

Les systèmes artificiels neuronaux : durant les années 80 surgissent un nouveau développement dans la programmation des paradigmes les systèmes neuronaux

artificiels basé sur la manière dont le cerveau traite
l'information. Ce paradigme est parfois appelé connexionisme, d'autant plus qu'il modélise les solutions aux problèmes en entrainant des neurones simulés, connectés à un réseau de travail.

La compréhension

La vision artificielle

[14]

2.1.3. Avantages de l'IA

L'intelligence artificielle offre plusieurs avantages notamment :

La limitation d'erreurs

L'homme est dispensé de certains travaux pénibles La pérennité des connaissances

Les machines sont exemptes à la fatigue

2.2. Le système expert

2.2.1. Introduction

Le système expert est l'un des domaines de l'intelligence artificielle relatif à la conception des systèmes d'aide à la décision à base de connaissances.

Il est de surcroit un programme informatique intelligent, capable d'agir comme expert dans un domaine. Aujourd'hui, de par le monde, les industries utilisent beaucoup des systèmes experts pour assurer la maintenance, la réparation des machines complexes.

2.2.2. Définition

Il y a plusieurs façons de définir le système expert. Le professeur Edward Feigenbaum de l'Université de Stamford, pionnier en technologie des systèmes experts, le définit comme étant un programme de traitement intelligent qui utilise des connaissances et les procédures d'inférence pour résoudre des problèmes tellement difficiles qu'ils exigent une expérience significative pour leur solution.

Un système expert est un système d'aide à la décision basé sur un moteur d'inférence et une base de connaissances. Il est la transcription logicielle de la réflexion d'un expert dans un domaine donné. Néanmoins, il reste un outil d'aide à la décision et loin de prétendre remplacer l'intelligence humaine.

Il est aussi important de signaler que les termes systèmes experts ou systèmes à base de connaissances ou système expert basé sur la connaissance s'utilisent comme synonymes.

[15]

2.2.3. Les acteurs

La mise en oeuvre d'un système expert est un processus d'ingénierie de connaissances qui impliquent plusieurs personnes notamment :

? Expert

Un expert ou un spécialiste est une personne qui a une parfaite connaissance dans un domaine, due à une longue durée de travail. Il est considéré comme le socle même du développement d'un système expert. De ce fait, il doit être disponible lors de la phase d'extraction de ses connaissances car c'est lui qui a le monopole de savoir et de savoir-faire de son domaine d'expertise. C'est l'expert qui fournit les connaissances nécessaires liées au problème.

? Le cogniticien

Autrement appelé Ingénieur des connaissances, c'est une personne ayant des bonnes bases en informatiques et généralement ingénieur en intelligence artificielle. Il est chargé d'extraire les connaissances auprès de l'expert. A ce titre, il établit un dialogue avec l'expert pour obtenir ses connaissances, il le codifie de façon explicite dans la base de connaissances sous formes des règles.

? Les managers : sont des personnes pour qui on développe le système.

2.2.4. Architecture d'un système expert

La structure ou l'architecture d'un système expert se présente dans la figure ci-dessous :

[16]

Utilisateur

Base de faits

Base de connaissances

Moteur d'inférence

Base de règles

Figure 1 : Structure d'un système expert 2.2.5. Composants d'un système expert

Selon son architecture simple présentée ci-dessus, nous distinguons trois composants de base d'un système expert notamment :

? La base de connaissances ? La base de faits

? Le moteur d'inférence

2.2.5.1. La base de connaissances

Elle contient la connaissance qui permet au mécanisme d'inférence de tirer de conclusions ; celles-ci sont de réponses du système à la consultation spéciale de l'utilisateur.

2.2.5.2. La base de faits

Elle contient tout ce que le système expert sait sur le cas étudié. La base de faits est ainsi variable au cours de l'exécution et est vidée lorsque l'exécution se termine.

Les faits sont des connaissances factuelles et les règles constituent des connaissances opératoires.

[17]

2.2.5.3. Le moteur d'inférence

Autrement dit mécanisme d'inférence, il contrôle l'exécution des règles. Il décide sur quelles règles exécuter et quand. Il permet d'inférer des connaissances nouvelles à partir de la base de connaissances du système.

Il est le coeur du système, et qui contient un algorithme de résolution dont la fonction consiste à effectuer des déductions en partant des faits initiaux et en s'appuyant sur les règles contenues dans la BR, dans le but final de produire (c'est-à-dire de déduire) de nouveaux faits. Il peut fonctionner en chaînage avant, chaînage arrière ou chaînage mixte6.

? Chaînage avant : le principe du chaînage avant est simple, il requiert l'accès aux prémices afin de déclencher les règles d'inférences adéquates définies par les mérules. L'application de règles donne des résultats, ceux-ci sont évalués afin de savoir si l'on accédé à une solution finale potentielle. Si c'est le cas, on arrêté et cette solution est proposée. Si c'est le cas, la solution est proposée à l'utilisateur. S'il la valide, la solution est enregistrée dans la base de faits comme solution, sinon comme simple résultat et on continue dans le cas suivant.

? Chaînage arrière : le principe du chaînage arrière est plus compliqué, il s'agit dans ce cas de partir d'un effet ou d'une solution et de tenter de remonter la chaîne afin de déterminer les causes d'un effet (fait). La procédure est à partir d'un effet, de déterminer, grâce aux métarules, les règles d'inférence qui aurait pu être à l'origine de ce fait et de déterminer les paramètres les plus probables. A partir de là, on analyse les paramètres : Si le paramètre est un fait enregistré dans la base de fait, c'est qu'il est le résultat d'une règle. La procédure précédemment décrite est donc relancée. Si le paramètre n'est pas un fait de la base de fait, on en reste là.

? Chaînage mixte :il utilise une combinaison de ces deux approches chaînage avant et chaînage arrière.

6 MUJINGA, S., Conception et réalisation d'un système expert de diagnostic du cancer de la peau, mémoire, Unikin, 2013.

[18]

2.2.6. Les apports des systèmes experts

Les motivations pour une entreprise de réaliser un système expert sont regroupées en trois catégories :

? La gestion de l'expertise

? L'augmentation de la capacité de l'expert ? La diffusion des connaissances

2. 2. 6.1. La gestion de l'expertise

Le rôle d'une entreprise est de prendre en charge l'intelligence qu'elle utilise qui naturellement est distribuée, de la formaliser et de la sauvegarder. En effet, les experts sont des hommes rares, très chers et difficiles à remplacer.

D'où l'impérieuse nécessité pour une entreprise de s'approprier de la technique des systèmes experts et de conserver ainsi l'expertise sous une forme aussi claire et accessible à tous. Le système expert dévient alors un moyen de formation.

2.2.6. 2. L'augmentation de la capacité de l'expert

Un système peut donc assister un spécialiste du fait que sa connaissance provient de plusieurs experts. D'autres parts, l'expert étant un homme, il peut donc être sujet à la fatigue, à l'oubli, etc. alors que le système expert est insensible à de telles considérations. On peut ainsi au moyen d'un système expert, trouver plus rapidement une solution à un problème en donnant accès aux connaissances des autres experts du domaine.

2.2.6.3. La diffusion de l'information

Les experts étant des hommes, il est souvent nécessaires pour une entreprise que leur expertise soit diffusée à des nombreux services afin de décentraliser les prises de décisions et d'ainsi accroitre la rapidité et l'homogénéité. Ainsi, la diffusion permet aux utilisateurs de disposer à tout moment de l'expertise.

[19]

2.2.7. Avantages des systèmes experts

Les systèmes experts présentent plusieurs avantages que nous

citons :

> Danger réduit : les systèmes peuvent être utilisés dans des environnements qui pourraient être dangereux pour un humain.

> Permanence : l'expérience est permanente.

> Grande disponibilité : l'expérience est disponible pour tout matériel de traitement adéquat.

> Explication : le système expert peut expliquer clairement et en détail le raisonnement qui conduit à une conclusion, cela augmente la confiance que la décision prise était correcte.

> Enseignement intelligent : un système expert peut agir comme un enseignant intelligent en laissant que l'étudiant exécute.

> Réponse rapide : u système expert peut répondre plus rapidement qu'un spécialiste humain.

2.2.8. Inconvénients du système expert

Le système expert présente deux inconvénients majeurs :

> Le chômage du moment où il peut à lui seul réaliser ce qui pourrait se faire un groupe de personnes.

> Le système s'appuie à des connaissances même si il ne plus utilisable.

2.3. Le processus unifie (UP)

Le processus unifié est un processus de développement moderne, itératif, efficace sur des projets informatiques de toutes tailles. Très complet, il couvre l'ensemble des activités, depuis la conception du projet jusqu'à la livraison de la solution.

Intégrant une organisation de projet type, une méthodologie utilisant UML et un ensemble de bonnes pratiques cohérentes entre elles, il permet de circonvenir aux problèmes récurrents que rencontrent nombre de réalisations : dérive des coûts et des délais, qualité insuffisante, réponse incomplète aux attentes des utilisateurs.

[20]

Un point d'excellence de cette démarche est son adaptabilité : UP peut se décliner en fonction de l'ampleur d'un projet, de l'expérience de l'équipe qui l'assume, de la nature de la solution à construire.

2.3.1. Les Principes d'UP

Le processus de développement UP, associé à UML, met en oeuvre les principes suivants :

· processus guidé par les cas d'utilisation,

· processus itératif et incrémental,

· processus centré sur l'architecture,

· processus orienté par la réduction des risques.

Ces principes sont à la base du processus unifié décrit par les auteurs d'UML.

a) Processus guidé par les cas d'utilisation

L'orientation forte donnée ici par UP est de montrer que le système à construire se définit d'abord avec les utilisateurs. Les cas d'utilisation permettent d'exprimer les interactions du système avec les utilisateurs, donc de capturer les besoins.

b) Processus itératif et incrémental

Ce type de démarche étant relativement connu dans l'approche objet, il paraît naturel qu'UP préconise l'utilisation du principe de développement par itérations successives. Concrètement, la réalisation de maquette et prototype constitue la réponse pratique à ce principe. Le développement progressif, par incrément, est aussi recommandé en s'appuyant sur la décomposition du système en cas d'utilisation.

Les avantages du développement itératif se caractérisent comme

suit :

· Les risques sont évalués et traités au fur et à mesure des itérations ;

· Les premières itérations permettent d'avoir un feed-back des utilisateurs ;

· Les tests et l'intégration se font de manière continue,

· Les avancées sont évaluées au fur et à mesure de

l'implémentation.

[21]

Figure 2 : Caractéristiques de l'approche itérative

c) Processus centré sur l'architecture

Les auteurs d'UP mettent en avant la préoccupation de l'architecture du système dès le début des travaux d'analyse et de conception. Il est important de définir le plus tôt possible, même à grandes mailles, l'architecture type qui sera retenue pour le développement, l'implémentation et ensuite le déploiement du système. Le vecteur des cas d'utilisation peut aussi être utilisé pour la description de l'architecture.

d) Processus orienté par la réduction des risques

L'analyse des risques doit être présente à tous les stades de développement d'un système. Il est important de bien évaluer les risques des développements afin d'aider à la bonne prise de décision. Du fait de l'application du processus itératif, UP contribue à la diminution des risques au fur et à mesure du déroulement des itérations successives.

2.3.2. Les phases du processus unifie et les activités

Les phases d'un processus de développement sont des états de celui-ci à un instant t. Le cycle de développement du Processus Unifié organise les tâches et les itérations en quatre phases7 :

? Inception ou (commencement) : Cette phase correspond à l'initialisation du projet où l'on mène une étude d'opportunité et de faisabilité du système à construire. Une évaluation des risques est aussi réalisée dès cette phase.

7ROQUES, P. et VALLEE, F., UML 2 en action de l'analyse des besoins à la conception, Ed. EYROLLES, Paris, 2005,

[22]

En outre, une identification des principaux cas d'utilisation accompagnée d'une description générale est modélisée dans un diagramme de cas d'utilisation afin de définir le périmètre du projet.

? Élaboration : Cette phase reprend les résultats de la phase

d'inception et élargit l'appréciation de la faisabilité sur la quasi-totalité des cas d'utilisation. Ces cas d'utilisation se retrouvent dans le diagramme des cas d'utilisation qui est ainsi complété.

Cette phase a aussi pour but d'analyser le domaine technique du système à développer afin d'aboutir à une architecture stable. Ainsi, toutes les exigences non recensées dans les cas d'utilisation, comme par exemple les exigences de performances du système, seront prises en compte dans la conception et l'élaboration de l'architecture.

? Construction : Cette phase correspond à la production d'une première version du produit. Elle est donc fortement centrée sur les activités de conception, d'implémentation et de test.

En effet, les composants et fonctionnalités non implémentés dans la phase précédente le sont ici.

? Transition :Après les opérations de test menées dans la phase précédente, il s'agit dans cette phase de livrer le produit pour une exploitation réelle. C'est ainsi que toutes les actions liées au déploiement sont traitées dans cette phase. De plus, des « bêta tests » sont effectués pour valider le nouveau système auprès des utilisateurs.

2.3.3. Activités du processus

Les activités représentent les actions à effectuer au cours d'une phase : une phase passe par l'ensemble des activités. Le temps passé par activité est fonction des phases.

Nous nous limiterons donc à ne donner qu'une brève explication de chaque activité.

Expression des besoins

UP propose d'appréhender l'expression des besoins en se fondant sur une bonne compréhension du domaine concerné pour le système à développer et une modélisation des procédures du système existant.

Ainsi, UP distingue deux types de besoins :

? les besoins fonctionnels qui conduisent à l'élaboration des cas

d'utilisation,

? les besoins non fonctionnels (techniques) qui aboutissent à la
rédaction d'une matrice des exigences.

[23]

Analyse

L'analyse permet une formalisation du système à développer en réponse à l'expression des besoins formulée par les utilisateurs. L'analyse se concrétise par l'élaboration de tous les diagrammes donnant une représentation du système tant statique (diagramme de classe principalement), que dynamique (diagramme des cas d'utilisation, de séquence, d'activité, d'état-transition...).

Conception

La conception prend en compte les choix d'architecture technique retenus pour le développement et l'exploitation du système. La conception permet d'étendre la représentation des diagrammes effectuée au niveau de l'analyse en y intégrant les aspects techniques plus proches des préoccupations physiques.

Implémentation

Cette phase correspond à la production du logiciel sous forme de composants, de bibliothèques ou de fichiers.

Test

Il permet de vérifier :

? La bonne implémentation de toutes les exigences (fonctionnelles et techniques),

? Le fonctionnement correct des interactions entre les objets,

? La bonne intégration de tous les composants dans le logiciel.

2.3.4. Adaptation du processus unifié

Il existe plusieurs processus de développement qui implémente UP dont les plus connues sont :

? RUP : Rational Unified Process

? XP : eXtreme Programming

? 2TUP : Two Tracks Unified Process,

Dans le cadre de notre étude, nous allons utiliser le 2TUP, tout développement peut être décomposé et traités en parallèle selon un axe fonctionnel et un axe technique. Nous pouvons ainsi suivre les évolutions liées aux changements des besoins fonctionnels et aux changements des besoins techniques8.

8ROQUES, P et VALLEE F, op.cit P14.

[24]

La schématisation du processus de développement correspond alors à un Y. Les deux perspectives se rejoignant lors de la phase de conception préliminaire.

Figure 3 : Processus de développement 2TUP

La branche fonctionnelle contient : la capture des besoins et de leurs analyses. Les résultats de l'analyse sont indépendantes des technologies utilisés.

La branche technique contient : la capture des besoins techniques et de la conception générique.

L'architecture technique construit le squelette du système informatique indépendamment des besoins fonctionnels.

Les deux branches sont ensuite fusionnées en une seule branche qui prend en charge la conception préliminaire (cartographie des composants à développer), conception détaillée (comment réaliser chaque composant), codage (production des composants), tests et étapes de validation des fonctions développées.

2.4. Généralités sur le langage UML

UML (Unified Modeling Language) est un langage formel et normalisé en termes de modélisation objet. Son indépendance par rapport aux langages de programmation, aux domaines de l'application et aux processus, son caractère polyvalent et sa souplesse ont fait de lui un langage universel. En plus UML est essentiellement un support de communication, qui facilite la représentation et la compréhension de

[25]

solution objet. Sa notation graphique permet d'exprimer visuellement une solution objet, ce qui facilite la comparaison et l'évaluation des solutions. L'aspect de sa notation, limite l'ambigüité et les incompréhensions.

UML fournit un moyen astucieux permettant de représenter diverses projections d'une même représentation grâce aux vues.

Une vue est constituée d'un ou plusieurs diagrammes. On distingue deux types de vues:

La vue statique, permettant de représenter le système physiquement :

Diagrammes de classes: représentent des collections d'éléments de modélisation statiques (classes, paquetages...), qui montrent la structure d'un modèle.

Diagrammes d'objets: ces diagrammes montrent des objets (instances classes dans un état particulier) et des liens (relations sémantiques) entre objets.

Diagrammes de composants: permettent de décrire l'architecture physique statique d'une application en termes de modules : fichiers sources, librairie exécutables, etc.

Diagrammes de déploiement: montrent la disposition physique du matériel qui compose le système et la répartition des composants sur ce matériel.

La vue dynamique, montrant le fonctionnement du système :

Diagrammes de collaboration: montrent des interactions entre objet (instances de classes et acteurs).

Diagrammes de cas d'utilisation: identifient les utilisateurs du système (acteurs) et leurs interactions avec le système.

Diagrammes de séquence: permettent de représenter des collaborations eu objets selon un point de vue temporel, on y met l'accent sur la chronologie (envois de messages).

Diagrammes d'états-transitions: permettent de décrire les changements d'états d'un objet ou d'un composant, en réponse aux interactions avec d'autres objets/composants ou avec des acteurs.

Diagrammes d'activités: (une variante des diagrammes d'états-transitions) servent à représenter graphiquement le comportement d'une méthode ou déroulement d'un cas d'utilisation.

[26]

2.5. Le diagnostic de la fièvre typhoïde 2.5.1. Le diagnostic

Le diagnostic n'est rien d'autre que l'identification d'une maladie par ses symptômes. Il permet de reconnaitre une maladie pour en assurer la prise en charge appropriée. Le diagnostic est l'élément essentiel de la décision médicale qui relève de la compétence du médecin.

Ce concept remonte aux origines de la médecine. La rationalité de la démarche diagnostique s'est enrichie au cours des deux derniers siècles des apports de la science. Le schéma selon lequel le diagnostic est issu du recueil et de la hiérarchisation des symptômes et des signes cliniques, confirmé et précisé par les examens complémentaire doit être gardé en mémoire comme un principe fondamental.

L'élaboration du diagnostic bénéficie de nombreuses innovations. Elles concernent les moyens techniques disponibles (biologie, imagerie) et les nouvelles méthodes pour tirer parti des données (statistiques, algorithme).

Le développement des moyens de diagnostic impose des nouvelles responsabilités aux médecins : renouvellement des connaissances, exigeant une formation continue et efficace, bon usage des moyens disponibles imposant l'évaluation des pratiques professionnelles. La mise en oeuvre du diagnostic doit tenir compte de l'évolution de la société.

2.5.2. La fièvre typhoïde

La fièvre typhoïde (du grec tuphos, torpeur) ou typhus abdominal est une maladie infectieuse décrite en 1818 par Pierre Bretonneau, causée par une bactérie de la famille Entérobactérie, du genre des salmonelles, et dont les espèces responsables sont: Salmonella enterica - typhi ou paratyphi A, B, C -. Salmonella enterica typhi est

encore appelée bacille d'Eberth. C'est une maladie bactérienne
transmissible strictement humaine. Elle est provoquée par des salmonelles que l'on trouve dans le lait, la nourriture ou l'eau contaminé.

La faisabilité opérationnelle s'intéresse plus aux besoins non fonctionnels car elle décrit toutes les contraintes possibles notamment

[27]

sommaire suivant






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








"Je voudrais vivre pour étudier, non pas étudier pour vivre"   Francis Bacon