Vous êtes sur la page 1sur 43

République algérienne démocratique et populaire

Ministère de l’enseignement supérieur de la recherche scientifique


Université Ferhat Abbas 1

Faculté Des Sciences


Département d’informatique
MÉMOIRE DE FIN D’ÉTUDE
En vue de l’obtention du diplôme de LICENCE en
Informatique

Thème
Réalisation une application mobile sur
Le don du sang

Réalisé par : Encadré par :


- CHOUDER KHAWLA - GHOUDJL LAKHDER
- LITIM ASSALA
Remerciement
Je tiens à exprimer mes plus sincères remerciements à
toutes les personnes qui ont contribué à la réalisation de
ce rapport de fin d'étude.
Tout d'abord, je tiens à remercier mon directeur de
mémoire, Goudjil Lakhdar, pour ses conseils avisés, son
soutien constant et son expertise précieuse. Ses remarques
constructives et sa disponibilité ont grandement
contribué à l'amélioration de ce rapport.
Je remercie également Goudjil Lakhdar pour leurs
enseignements de qualité, leur encadrement rigoureux et
leur soutien inconditionnel tout au long de ces années
d'études. Leurs compétences pédagogiques et leur passion
pour leur métier m'ont inspiré et motivé à donner le
meilleur de moi-même.
Je souhaite également remercier mes camarades de
promotion pour leur collaboration, leur soutien mutuel et
leurs échanges fructueux tout au long de ce parcours
universitaire. Leurs encouragements et leur solidarité ont
été des éléments essentiels de mon succès.
Enfin, je n'oublie pas mes proches, ma famille et mes amis,
pour leur soutien moral, leur patience et leur
compréhension durant ces années d'études. Leur présence
à mes côtés a été un véritable moteur pour la réussite de
ce projet.
Encore une fois, je tiens à exprimer ma gratitude envers
toutes ces personnes et j'espère que ce rapport saura
honorer leur confiance et leur investissement dans mon
parcours universitaire.
Résumé

Ce travail est réalisé dans le cadre d’un mémoire d’un d’étude


pour l’obtention du diplôme de licence académique en
informatique, il consiste à créer une application mobile sous
Android qui permet donneurs a don leur sang Dans cette
mémoire vous pourrez suivre les étapes pris pour la création de
cette application mobile, la première étape de la création est
l’analyse des besoins qui consiste à citer l’objectif de
l’application et les besoins fonctionnels qui devrait être réalisé,
et puis l’étape de conception qui inclut quelques diagrammes
UML pour réaliser l’étude conceptuelle de système, ensuite
l’étape de réalisation dans laquelle on transforme nos
diagrammes en code source et tester notre application sur
plusieurs appareilles.
Table de matières
1 Introduction ........................................................................................................................................... 6
1.1 Introduction ................................................................................................................................... 8
1.2 La numérisation ............................................................................................................................. 8
1.3 La numérisation est présente dans de nombreux domaines, tels que : .......................................... 9
1.4 La numérisation a eu un impact significatif sur le secteur de la santé. ......................................... 9
1.5 Voici quelques exemples d'applications de don de sang : ........................................................... 10
1.6 Objectif de l’application : ............................................................................................................ 11
1.7 Les acteurs de l’application : ....................................................................................................... 11
1.8 Les applications de don de sang offrent plusieurs avantages, notamment : ................................ 12
1.9 Fonctionnalités de base : ............................................................................................................. 13
1.10 Fonctionnalités avancées : ........................................................................................................... 13
1.11 Exigences techniques: ................................................................................................................. 13
1.12 Design et experience utilisateur : ................................................................................................ 14
1.13 Développement et tests :.............................................................................................................. 14
1.14 Maintenance et support : ............................................................................................................. 14
1.15 Contraintes de temps et de budget : ............................................................................................. 14
1.16 Critères de succès : ...................................................................................................................... 14
1.17 Conclusion ................................................................................................................................... 15
2 Introduction ......................................................................................................................................... 16
2.1 Méthodologie de développement .......................................................................................... 16
2.2 Choix du langage de conception : ............................................................................................... 16
2.2.1 . Choix d’UML .................................................................................................................... 16
2.2.2 Notion d’UML :................................................................................................................... 16
2.3 L’utilisation des modèles « UML » sert à : ................................................................................. 17
2.4 Pourquoi une méthode objet ? ..................................................................................................... 17
2.5 Les points forts d’UML : ............................................................................................................. 18
2.5.1 UML est un langage formel et normalisé ............................................................................ 18
2.5.2 UML est un support de communication performant ........................................................... 18
2.6 Les Diagrammes de notre projet.................................................................................................. 19
2.6.1 . Diagramme de Cas d’utilisation ........................................................................................ 19
2.6.1.1 . Définition....................................................................................................................... 19
2.6.1.2 Concepts de base ............................................................................................................. 19
2.6.1.3 Diagramme de cas d’utilisation : ..................................................................................... 20
2.6.2 Diagramme de séquence : .................................................................................................... 21
2.6.2.1 Définition de diagramme de séquence : .......................................................................... 21
2.6.2.1.1 Diagramme de séquence d’« Inscription » : .............................................................. 22
2.6.2.1.2 Diagramme de séquence d’« Authentification » : ..................................................... 23
2.6.2.1.3 Diagramme de séquence - Prendre un rendez-vous pour un don de sang sur une
application 24
2.6.3 Diagramme de classe: .......................................................................................................... 25
2.6.3.1 Définition......................................................................................................................... 25
2.6.3.1.1 Diagramme De Classe De L’application ................................................................... 26
2.7 Conclusion ................................................................................................................................... 27
3 Introduction ......................................................................................................................................... 28
3.1 Environnement de développement : ............................................................................................ 28
3.1.1 Environnement matériel : .................................................................................................... 28
3.1.2 Environnement logiciel : ..................................................................................................... 29
3.2 Android Studio : .......................................................................................................................... 29
3.3 Framework Flutter : ..................................................................................................................... 30
3.4 Language Dart : ........................................................................................................................... 30
3.5 Star UML :................................................................................................................................... 31
3.6 Firebase : ..................................................................................................................................... 32
3.7 Présentation des Interfaces de l’application : .............................................................................. 33
3.8 Une partie de code source............................................................................................................ 39
3.9 Conclusion ................................................................................................................................... 39
4 Conclusion Générale ........................................................................................................................... 40
5 BIBLIOGRAPHIE .............................................................................................................................. 41
1 Introduction
Le marché de la téléphonie portable connait actuellement une véritable révolution,
d’un simple téléphone portable pour émettre des appels à un téléphone évolué
Doté de capacités proches d’un véritable ordinateur appelé Smartphone.
Aujourd’hui . . . le monde connait une progression rapide dans l’utilisation des
Smartphone, grâce aux applications mobiles. Ces dernières sont capables de
satisfaire les besoins actuels des utilisateurs dans plusieurs domaines dans nos vies
quotidienne, et facilitent l’accomplir des tâches et en offrant plusieurs services.
Cette progression d’utilisation des Smartphones a permis de faire une collaboration
entre le domaine de la santé et les applications mobiles qui peut aider à augmenter
Les capacités des services réalisée, un de ces services est la donation du sang
Le don de sang est un acte important et altruiste qui permet de sauver des vies
humaines. Malheureusement, de nombreux pays font face à des pénuries de sang,
ce qui peut mettre en danger la vie de patients nécessitant des transfusions
sanguines. Une application de don de sang peut aider à résoudre ce problème en
facilitant le processus de don de sang pour les donneurs et en aidant les
établissements médicaux à gérer leur approvisionnement en sang.
En Algérie, et dans plusieurs pays au monde, les centres de transfusions sanguins
souffrent du manque et attendent toujours plus de donneurs de sang pour parvenir à
répondre à la forte demande des malades, surtout les cas les plus urgents qui
nécessitent des quantités importantes de sang.
La banque de sang est une unité capitale pour tout établissement de santé. En effet,
c’est un lieu où du sang peut être collecté, analysé et stocké, avant d'être distribué à
des fins médicales. Ainsi, pour mener à bien sa mission, la banque de sang doit
disposer de systèmes informatiques pour la gestion des dons de sang.
Actuellement, l'informatique tient une grande place dans plusieurs domaines dont le
don du sang. L’informatique est présente dans toutes les étapes et dans tout le
processus de la transfusion sanguine. Lors de cette dernière, une sécurité totale doit
être assurée afin de protéger le receveur de sang.
Pour cette raison, plusieurs chercheurs ont développé des applications, des sites
web … dans le but d’aider les centres de transfusions sanguins à faire une bonne
gestion et de maintenir la banque du sang tout le temps plein d’un côté ainsi que le
contact rapide et facile entre le donneur et le receveur d’un autre côté.
Organisation du mémoire

Notre mémoire est composé de trois chapitres principaux


structuré comme suit :

• Chapitre 1 : Etude de l`Existant


Le premier chapitre se focalise sur l’analyse des besoins et la
présentation générale du cadre de notre projet.
• Chapitre 2 : Spécification et analyse des besoins fonctionnels
Cette partie est dédiée à l'analyse et à la conception de notre
application, En utilisant l'approche UML à l'aide de
diagrammes de cas d'utilisation, dia- Diagrammes de
séquence et de classes.
• Chapitre 3 : Implémentation et Présentation de l’application
Le troisième chapitre est dédié à la réalisation, où nous trouvons
la présentation de l’environnement de développement,
l’explication de fonctionnement de notre application en présente
des interfaces finies.
• Chapitre 1 : Etude de l`Existant
1.1 Introduction
Le domaine sanitaire fait référence à l'ensemble des activités, des professionnels
et des établissements impliqués dans la prévention, le traitement et la gestion des
problèmes de santé. Cela inclut les hôpitaux, les cliniques, les centres de santé, les
cabinets médicaux, les laboratoires, les pharmacies, les professions de la santé
(médecins, infirmières, techniciens de laboratoire, etc.), ainsi que les activités de
recherche et de développement dans le domaine de la santé. Le domaine sanitaire a
pour but de promouvoir la santé et de prévenir les maladies, de diagnostiquer et de
traiter les maladies et les blessures, et d'améliorer
la qualité de vie des patients. La banque de
sang est une partie importante du domaine
sanitaire. Elle est responsable de la collecte, de la
préparation, du stockage et de la distribution de
sang et de produits sanguins à des fins médicales.
Les banques de sang fournissent du sang et des
produits sanguins pour les transfusions sanguines,
les traitements des troubles de la coagulation et
pour la production de médicaments dérivés du
sang.
La collecte de sang est essentielle pour maintenir les réserves de sang nécessaires
pour répondre aux besoins médicaux. Les donneurs de sang bénévoles jouent un
rôle crucial dans ce processus en donnant leur sang de manière régulière et en toute
sécurité.

1.2 La numérisation
Est le processus de transformation d'informations analogiques en données
numériques qui peuvent être stockées,
traitées et transmises électroniquement. Cette
transformation permet une gestion plus
efficace et plus rapide des informations, ainsi
qu'une automatisation des processus et des
tâches qui étaient auparavant effectués
manuellement.
1.3 La numérisation est présente dans de nombreux
domaines, tels que :
Les communications : La numérisation a révolutionné les moyens de
communication, en permettant l'échange de données à travers des réseaux
électroniques tels que l'Internet.
Les médias : La numérisation a permis la création, la distribution et la
consommation de médias numériques tels que les vidéos, les images et la musique.
Les services financiers : La numérisation a permis l'automatisation de nombreux
processus bancaires tels que les transferts d'argent et les paiements électroniques.
La santé : La numérisation a permis l'informatisation des dossiers médicaux,
l'amélioration de la gestion des stocks de médicaments, ainsi que la mise en place
de systèmes d'alerte pour la surveillance des maladies.
L'industrie : La numérisation a permis l'automatisation de nombreux processus de
fabrication et de production, ainsi que l'utilisation de technologies avancées telles
que l'impression 3D et la réalité virtuelle.
L'éducation : La numérisation a permis l'accès à des ressources éducatives en
ligne, l'utilisation de plateformes d'apprentissage en ligne, ainsi que la création de
classes virtuelles.

1.4 La numérisation a eu un impact significatif sur le secteur


de la santé.
La numérisation de la santé, également connue sous le nom de santé numérique ou
e-santé, se réfère à l'utilisation de technologies numériques pour améliorer la
prestation de soins de santé.
La numérisation a joué un rôle de plus en plus important dans le don du sang ces
dernières années. Voici quelques exemples de la manière dont la numérisation est
utilisée dans ce domaine
-Prise de rendez-vous en ligne : Les centres de don de sang ont commencé à
proposer la prise de rendez-vous en ligne pour les donneurs de sang. Cela permet
de faciliter la planification et la gestion du flux de donneurs.
-Gestion des dossiers médicaux : Les dossiers médicaux des donneurs peuvent
désormais être numérisés et stockés dans des bases de données sécurisées. Cela
permet de faciliter l'accès aux informations médicales des donneurs et de garantir la
confidentialité des données.
-Utilisation de systèmes de traçabilité : Les
systèmes de traçabilité permettent de suivre
les dons de sang de la collecte à la transfusion.
Les donneurs peuvent suivre leur don de sang
et être informés de son utilisation.
-Utilisation de robots pour le tri et le
traitement du sang : Les robots peuvent être
utilisés pour trier et traiter le sang collecté.
Cela permet de réduire le temps nécessaire
pour le traitement du sang et d'augmenter le
nombre de dons de sang qui peuvent être traités.
-Communication avec les donneurs par SMS : Les centres de don de sang
peuvent utiliser les SMS pour communiquer avec les donneurs, notamment pour les
informer des événements à venir, des besoins en sang spécifiques ou des rappels
pour donner du sang.
En somme, la numérisation a permis de moderniser et d'optimiser le processus de
don de sang, de faciliter la gestion des donneurs et des dons, tout en garantissant la
sécurité et la confidentialité des données médicales.

1.5 Voici quelques exemples d'applications de don de sang :


‘American Red Cross Donor Application’:
: Cette application est disponible pour les donneurs de sang aux États-Unis. Elle
permet de trouver des centres de don de sang, de planifier des rendez-vous de don,
de suivre l'historique des dons et de recevoir des
notifications sur les urgences en matière de don de sang.
‘Blood Donor (Inde)’ :
Cette application est disponible pour les donneurs de sang
en Inde. Elle permet aux donneurs de trouver des centres de
don de sang, de planifier des rendez-vous de don, de suivre
l'historique des dons et de recevoir des notifications sur les urgences en matière de
don de sang.
‘Smart Donor’ :
Cette application est disponible en Australie. Elle permet
aux donneurs de sang de trouver des centres de don de
sang, de planifier des rendez-vous de don, de suivre
l'historique des dons et de recevoir des notifications sur
les urgences en matière de don de sang.
‘Blood Link’ :
Cette application est disponible en Afrique du Sud. Elle permet aux donneurs de
sang de trouver des centres de don de sang, de planifier des rendez-vous de don, de
suivre l'historique des dons et de recevoir des notifications sur les urgences en
matière de don de sang.
‘Blood Donation’ :
Cette application est disponible en Europe. Elle permet aux donneurs de trouver
des centres de don de sang, de planifier des rendez-vous de don, de suivre
l'historique des dons et de recevoir des notifications sur les urgences en matière de
don de sang.

• Dans ce chapitre nous présentons les objectifs de notre application, ce qui nous
Amène à identifier les possibilités et les besoins fonctionnels et non fonctionnels
De l’application. Ces derniers donnent une idée générale sur le fonctionnement
de Notre application.
1.6 Objectif de l’application :
L'application mobile de don du sang vise à faciliter la collecte de sang en mettant
en relation les donneurs potentiels et les centres de collecte de sang.
1.7 Les acteurs de l’application :
Administrateur de l'application :
- Gérer les informations sur les donneurs de sang (ajouter, supprimer,
modifier)
- Gérer les informations sur les hôpitaux privés (ajouter, supprimer, modifier)
- Générer des rapports sur les donneurs de sang et les hôpitaux privés
Donneur de sang :
- S'inscrire pour donner du sang
- Vérifier les informations sur les dons précédents
- Modifier les informations sur le don (si nécessaire)
Receveur :
- Vérifier la disponibilité des donneurs de sang
- Planifier un don de sang avec un donneur de sang
- Enregistrer les informations sur les dons de sang
Infirmier :
- Consulter les informations sur les donneurs de sang
- Planifier un don de sang avec un donneur de sang
- Enregistrer les informations sur les dons de sang

1.8 Les applications de don de sang offrent plusieurs


avantages, notamment :

Faciliter la collecte de sang : Les applications de don de sang permettent aux


donneurs de trouver des centres de collecte de sang à proximité de leur domicile ou
de leur lieu de travail. Cela peut augmenter le nombre de donneurs potentiels et
faciliter la collecte de sang pour les banques de sang.
Sensibilisation et éducation : Les applications de don de sang peuvent aider à
sensibiliser les gens à l'importance du don de sang et à les informer sur les
avantages et les procédures du don. Les informations fournies sur l'application
peuvent également aider à démystifier le processus de don de sang et à dissiper les
idées fausses sur le don de sang.
Suivi et coordination : Les applications de don de sang peuvent aider à coordonner
les stocks de sang en temps réel. Les donneurs peuvent signaler leur disponibilité
pour donner du sang et être informés des besoins en sang dans leur région. Cela
peut aider à garantir que les banques de sang ont suffisamment de sang pour
répondre aux besoins des patients.
Réduction des délais de traitement : Les applications de don de sang peuvent
aider à réduire les délais de traitement des demandes de sang. Les banques de sang
peuvent utiliser les informations fournies par les donneurs pour identifier
rapidement les donneurs compatibles et les contacter pour donner du sang.
1.9 Fonctionnalités de base :
. Inscription des donneurs : l'application permettra aux donneurs de s'inscrire et
de créer un profil, en fournissant des informations personnelles telles que leur nom,
leur adresse, leur groupe sanguin et leur numéro de téléphone.
. Recherche de centres de collecte de sang : l'application permettra aux donneurs
de localiser les centres de collecte de sang les plus proches de chez eux, en utilisant
la géolocalisation ou en entrant leur emplacement manuellement.
. Prise de rendez-vous : l'application permettra aux donneurs de prendre rendez-
vous pour faire un don de sang à un centre de collecte de sang donné.
. Notification : l'application enverra des rappels aux donneurs pour leur rappeler
leur rendez-vous ou pour leur rappeler qu'ils sont éligibles pour faire un don de
sang.
. Partage sur les réseaux sociaux : l'application permettra aux utilisateurs de
partager des informations sur les campagnes de collecte de sang sur les réseaux
sociaux pour encourager leurs amis et leur famille à donner également.
1.10 Fonctionnalités avancées :
. Don de sang en ligne : l'application permettra aux utilisateurs de prendre rendez-
vous pour donner du sang en ligne, sans avoir besoin de se rendre physiquement
dans un centre de collecte de sang.
. Suivi des dons de sang : l'application permettra aux utilisateurs de suivre
l'historique de leurs dons de sang et de voir les statistiques telles que le nombre de
fois qu'ils ont donné du sang et le nombre de vies qu'ils ont potentiellement
sauvées.
. Campagnes de collecte de sang : l'application permettra aux centres de collecte
de sang de lancer des campagnes de collecte de sang et d'informer les utilisateurs
de l'application sur les événements à venir.
1.11 Exigences techniques:
- Plateforme : l'application doit être disponible sur les appareils Android et
iOS.
- Langages de programmation : l'application doit être développée en
utilisant des langages de programmation courants tels que Java
- Fonctionnalités de géolocalisation : l'application doit utiliser les
fonctionnalités de géolocalisation des appareils pour fournir des résultats
précis de recherche de centres de don de sang.
- Sécurité des données : l'application doit être sécurisée et respecter les
normes de protection des données personnelles.
1.12 Design et experience utilisateur :
- Interface utilisateur conviviale : l'application doit être facile à utiliser pour
les utilisateurs de tous les niveaux de compétence.
- Conception visuelle attrayante : l'application doit avoir un design
esthétique et moderne pour attirer les utilisateurs.
- Marque : l'application doit être conçue pour renforcer l'image de marque de
l'organisation de don de sang.
1.13 Développement et tests :
- Planification de projet : le projet doit être planifié en utilisant une
méthodologie de développement appropriée.
- Tests : l'application doit être testée régulièrement pour s'assurer que toutes
les fonctionnalités fonctionnent correctement.
1.14 Maintenance et support :
- Maintenance : l'application doit être maintenue pour corriger les bugs
- Support : l'application doit fournir un support aux utilisateurs pour répondre
à leurs questions et résoudre leurs problèmes.
1.15 Contraintes de temps et de budget :
Le projet doit être achevé dans un délai de 2 mois
1.16 Critères de succès :
Le succès de l'application sera mesuré en termes de nombre de nouveaux donneurs
enregistrés, de dons de sang effectués et de vies potentiellement sauvées grâce à la
collecte de sang.
1.17 Conclusion
Dans ce chapitre, nous avons essayé d’établir une étude théorique de
l’application par la définition de notre objectif et puis la spécification des
besoins fonctionnels et non fonctionnels du système résultant, ce qui
correspondait aux différentes activités de la première phase du cycle de
développement du notre système. Dans le chapitre suivant, nous étudierons la
phase de conception.
• Chapitre 2 : Spécification et analyse des besoins fonctionnels

2 Introduction
Après la validation de notre compréhension des besoins, nous imaginons la
solution. C'est la partie analyse de la solution. Nous allons dans ce chapitre définir
le langage UML et ses outils : les diagrammes. Nous verrons comment ce langage
peut contribuer à la phase d'analyse des besoins de notre projet.

2.1 Méthodologie de développement

Pour développer notre application mobile, notre choix basé sur le langage de
modélisation UML, une solution qui s'adapte à tous types de projets parce qu'il est
guidé par les cas d'utilisations, aiguillé sur l'architecture et itératif et incrémental.

2.2 Choix du langage de conception :


2.2.1 . Choix d’UML
Par rapport à toutes les méthodes orientées objets qui sont en utilisation, seule
UML a la capacité de satisfaire tous les besoins de conceptions requises par les
entreprises et les sociétés informatiques
En effet, Il unifie les notations nécessaires aux différentes activités d’un processus
de développement et offre en plus de ça les moyens d’établir le suivi des décisions
prises depuis les spécifications jusqu’au codage.
2.2.2 Notion d’UML :
UML :(Unified Modeling Language) ou « Langage de Modélisation Unifié »
Standardisé par l’OMG (Object Management Group) est une notion basée
principalement sur les méthodes des BOOCH (de BOOCH), OMT de Rumbaugh et
OOSE de Jacobson.UML a été proposé afin de standardiser les produits de
développement (modèle, notation, diagramme) sans standardiser le processus de
développement qui dépend des personnes, des applications, des cultures, etc.
UML se propose de créer un langage de modélisation utilisable à la fois par les
humais (forme graphique) et les machines (syntaxe précise).
2.3 L’utilisation des modèles « UML » sert à :
Décomposer le processus de développement.
Mettre en relation les experts des métiers et les analystes.
Coordonner les équipes d’analyse de la réalisation.
Séparer l’analyse de la réalisation.
Prendre en compte l’évolution de l’analyse et du développement.
Migrer facilement vers une architecture objet d’un point de vue statique.
2.4 Pourquoi une méthode objet ?
Les langages orientés objet constituent chacun une manière spécifique
d'implémenter le paradigme objet. Ainsi, une méthode objet permet de définir le
problème à haut niveau sans rentrer dans les spécificités d'un langage. Il représente
ainsi un outil permettant de définir un problème de façon graphique, afin par
exemple de le présenter à tous les acteurs d'un projet (n'étant pas forcément des
experts en un langage de programmation).

UML comporte 9 diagrammes standards représentant autant de "vues" d'un système


D’information. Ces diagrammes se répartissent en deux catégories : quatre
représentent la structure statique de l’application ; cinq représentent son
comportement dynamique.
Ces diagrammes sont d'une utilité variable selon les cas et ils ne sont pas tous
Nécessairement produits à l'occasion de la modélisation.
2.5 Les points forts d’UML :
2.5.1 UML est un langage formel et normalisé
Gain de précision
Encourage l’utilisation d’outils
Gage de stabilité
2.5.2 UML est un support de communication performant
Il cadre l’analyse
Il facilite la compréhension de représentations abstraites complexes
Son caractère polyvalent et sa souplesse en font un langage universel
UML a pour objectif de spécifier, construire, visualiser et documenter les
systèmes à base
De logiciel
UML n’est pas une méthode mais une notation qui laisse la liberté de
conception.
UML est un langage graphique qui permet de modéliser tous les types de
systèmes
Informatiques mais, qui nécessite toutefois une méthodologie de conception (UP,
RUP).
2.6 Les Diagrammes de notre projet

2.6.1 . Diagramme de Cas d’utilisation


2.6.1.1 . Définition
Ce diagramme est destiné à représenter les besoins des utilisateurs par rapport au
Système.
Il constitue un de diagrammes le plus structurants dans l’analyse d’un système.
- Acteur : représente un rôle joué par une personne qui interagit directement
avec le
Système étudié.
- Cas d’utilisation (use case) : représente un ensemble des séquences
d’actions qui
Sont réalisées par le système et qui produisent un résultat observable intéressant
pour un acteur particulier.
L’utilisation d’un diagramme de cas d’utilisation s’avère indispensables pour
décrire les besoins fonctionnels. Ces diagrammes permettent de décrire
l’interaction entre l’acteur et le système. C’est l’image d’une fonctionnalité de
système déclenchée en réponse à la stimulation d’un acteur externe.
2.6.1.2 Concepts de base

Acteurs de système :
Notre application fait intervenir deux acteurs compte tenu du déroulement et de
Complémentarité des opérations qui sont :
Acteurs Description
Médecin 1. Authentification ()
2. Gestion des utilisateurs : ajouter (),
modifier (),
Supprimer (), bloquer ()
3. activer/désactiver l’envoi
automatique des messages
4. contrôler et supprimer les messages
crées par les
Clients.
5. gestion des messages envoyés par les
clients et les
Visiteurs : répondre (), supprimer ()
6. déconnexion
Donneur S'inscrire pour donner du sang
Vérifier les informations sur les dons
précédents
Modifier les informations sur le don (si
nécessaire)

Receveur Vérifier la disponibilité des donneurs


de sang
Planifier un don de sang avec un
donneur de sang
Médecin Gestion des utilisateurs
Générer des rapports sur les donneurs
de sang.
Infirmier Consulter les informations sur les
donneurs de sang
Planifier un don de sang avec un
donneur de sang
Enregistrer les informations sur les
dons de sang

2.6.1.3 Diagramme de cas d’utilisation :


Figure : Diagramme de cas d’utilisation
2.6.2 Diagramme de séquence :

2.6.2.1 Définition de diagramme de séquence :

Les diagrammes de séquence montrent la séquence des interactions entre objets


selon un point de vue temporel (chronologique). Ce diagramme permet de
représenter les scénarios d’un cas d’utilisation, il permet de mieux visualiser la
séquence des messages par une lecture de bas en haut. Un scénario est une instance
d’un cas d’utilisation.
2.6.2.1.1 Diagramme de séquence d’« Inscription » :

Figure : Diagramme de séquence d’« inscription»

Pré condition :
Le donneur ouvre l'application de donneur de sang.
Scénario normale :
1.Le système affiche l’interface d’inscription
2.Le donneur entre ses informations personnelles, y compris son groupe sanguin et
sa capacité à donner du sang.
3.Le système envoie une notification au médecin pour approbation
4.Le médecin se connecte à l’application.
5.Le système affiche les informations du donneur et les résultats des tests de
laboratoire.
6.Le médecin approuve ou rejette l’inscription du donneur.
Post condition :
Si l’inscription est approuvée, le système envoie une confirmation au donneur.
Si l’inscription est rejetée, le système envoie un avis de rejet au donneur.
Le processus d'inscription est terminé.

2.6.2.1.2 Diagramme de séquence d’« Authentification » :

Figure : Diagramme de séquence d’« Authentification »

Pré condition :
L’opération d’authentification doit être affichée.
Scénario normale :
1 : L’utilisateur doit saisir son nom d’utilisateur et mot de passe et demande l’accès
à l’application.
2 : Envoyer de nom d’utilisateur et mot de passe à le control
3 : Un test doit être réalisé, celui d’existence et compatibilité du nom d’utilisateur
et mot de passe.
4 : Si les données correctes et le nom d’utilisateur et mot de passe existe, alors
l’utilisateur peut accéder à l’application.
5 : Si les données ne sont pas correctes et le nom d’utilisateur et mot de passe
inexistant, l’utilisateur doit soit ressayer le saisie, soit inscrire.
Post condition :
L’utilisateur identifié.

2.6.2.1.3 Diagramme de séquence - Prendre un rendez-vous pour un don de sang sur une
application

Figure : Diagramme de séquence d’« rendez-vous»

Pré condition :
L'utilisateur doit être connecté à l'application pour prendre un rendez-vous.
Scénario normale :
1. L’utilisateur ouvre l’application et se connecte.
2. L’application affiche le menu principal.
3. L’utilisateur sélectionne "Prendre un rendez-vous".
4. L’application affiche la liste des dates disponibles pour les rendez-vous.
5. L’utilisateur sélectionne une date.
6. L’application affiche les heures disponibles pour la date sélectionnée.
7. L’utilisateur sélectionne une heure.
8. L’application envoie une demande de rendez-vous au serveur de rendez-vous.
9. Le serveur de rendez-vous vérifie la disponibilité du créneau sélectionné dans la
base de données de rendez-vous.
10. Si le créneau est disponible, le serveur de rendez-vous confirme le rendez-vous
à l'application.
11. L’application affiche un message de confirmation de rendez-vous à l’utilisateur.
12. L’utilisateur peut alors voir son rendez-vous dans l'historique de rendez-vous de
l'application.
10a. Si le créneau n'est pas disponible, le serveur de rendez-vous envoie un
message d’erreur à l’application.
11a. L’application affiche un message d’erreur à l’utilisateur et revient à l’étape 4.
Post condition :
L’application affiche un message de confirmation de rendez-vous à l’utilisateur.

2.6.3 Diagramme de classe:

2.6.3.1 Définition

Il représente les classes intervenant dans le système. Le diagramme de classe est


Une représentation statique des éléments qui composent un système et de leurs
Relations.
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.
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. Elles sont finalement instanciées pour
Créer des objets.
2.6.3.1.1 Diagramme De Classe De L’application

Figure : Diagramme de classe


2.7 Conclusion
La phase de conception était importante pour pouvoir visualiser le fonctionnement
de notre application d’une façon abstraite, En clair, comme nous venons de le voir,
ce chapitre était consacré, à la conception des diagrammes d’UML pour associe au
cette application et des descriptions pour mieux comprendre la fonctionnalité de
cette application.
Le chapitre suivant fera le thème de la phase de réalisation, cette dernière se
concentre sur l’élaboration de l’application ainsi que l’observation des résultats
obtenus.
• Chapitre 3 : Implémentation et Présentation de l’application

3 Introduction

Après avoir achevé l’étape de conception de l’application, on va entamer dans


Ce chapitre la partie réalisation et implémentation en exposant l’environnement
Du travail et les outils de développements choisis ainsi que les interfaces de notre
Application.
A la fin de ce chapitre, les objectifs doivent avoir été atteints et le système doit
Être prêt pour être exploité par les utilisateurs finaux.

3.1 Environnement de développement :

Il y’a deux environnements précisés sont : Environnement logiciel et matériel.


3.1.1 Environnement matériel :

L’application est réalisée par l’ordinateur et le Smartphone suivant :


Ordinateur :
• La marque : HP
• Processeur : Intel coré ™ i5-4200U CPU.
• Mémoire : 8 Go RAM.
• Système d’exploitation : Windows 10
• Type du système : système d’exploitation 64 bits.
Smartphone :
• La marque : Samsung.
• Modèle : Galaxy A51.
• Android : 13
3.1.2 Environnement logiciel :

Pour la réalisation de notre application, nous avons au recours dirent outil et


Logiciel de développement, outil pour la gestion de la base de données, logiciel de
Modélisation, logiciel pour la rédaction de ce rapport.
3.2 Android Studio :

Android Studio est un environnement de développement pour développer des


Applications mobiles Android. Il est basé sur IntelliJ IDEA et utilise le moteur de
Production Gradle. Il peut être téléchargé sous les systèmes d’exploitation
Windows, MacOs, Chrome OS et Linux. Il propose aussi des outils pour gérer le
Développement d’applications multilingues et permet de visualiser la mise en page
Des différents types et tailles d’écrans avec des résolutions variées simultanément,
Il intègre par ailleurs un émulateur permettant de faire tourner un système
Android virtuel sur un ordinateur.

Figure : Logo D’Android Studio


3.3 Framework Flutter :

Flutter est un Framework de développement d’interface utilisateur gratuit et open


source créée par Google. Jusque-là, il était utilisé pour développer des applications
pour Android et iOS.
En effet ce Framework est utilisé pour tout ce qui est interface utilisateur. Mais
Aujourd’hui Flutter se fait surtout connaître pour sa capacité à concevoir des
Applications natives multiplateforme pour Android et iOS (Windows/Mac/Linux
Sont également supportés).
L’équipe de Flutter provient essentiellement du Web (plus particulièrement de
Chrome) et a essayé d’adapter sa philosophie au monde du mobile. Ils se sont
Appuyés pour cela sur Skia, le moteur qui fait partie intégrante de Chrome où
Encore de toute la gestion du texte d’Android.

Figure : Logo De Flutter

3.4 Language Dart :

Dart est un langage de programmation optimisé pour les applications sur plusieurs
plateformes. Il est développé par Google et est utilisé pour créer des applications
mobiles, de bureau, de serveur et web.
Dart est un langage orienté objet, basé sur la classe, récupérateur de mémoire avec
une syntaxe de type C1. Il prend en charge les interfaces, les mixins, les classes
abstraites.

Figure : Logo De Language Dart

3.5 Star UML :


Star UML est un logiciel de modélisation UML, qui a été "cédé comme open
Source" par son éditeur, à la n de son exploitation commerciale (qui visiblement
Continue ...), sous une licence modifiée de GNU GPL.
Star UML est écrit en Delphi1, et dépend de composants Delphi propriétaires
(Non open-source).

Figure : Interface De Star UML


Star UML gère la plupart des diagrammes spécifiés dans la norme UML 2.0,
Parmi ces Diagrammes. Les Diagrammes qui on a Modélisé dans Notre Projet
(Cas D’utilisation+ Diagramme de Classe+ Diagramme de séquence).

3.6 Firebase :

Est un ensemble d'outils pour l'hébergement et le développement d'applications


mobiles et web, qui permet l'envoi de notifications et de publicités, la remontée des
erreurs et des clics effectués dans l'application.
Lancé en 2011 sous le nom d'Envolve, par Andrew Lee et par James Templin, le
service est alors un fournisseur de messagerie instantanée1. Il est racheté par
Google en octobre 2014. Il appartient aujourd'hui à la maison mère de Google :
Alphabet.
Firebase est un outil d'aide au développement d'applications web, Android, iOS, et
Unity. Il propose un hébergement en nuage et utilise NoSQL pour héberger des
bases de données1.

Figure : logo Firebase


3.7 Présentation des Interfaces de l’application :

Dans cette partie on va représenter les différentes interfaces de notre


Application et on va faire une petite explication de chaque étape.
La première interface qui s’affiche c’est une interface qui contient un simple logo
Avec le nom de l’application.

Ensuite Il s’affiche Les Pages Introduction (Introduction Screen) qui Présente les
Fonctionnalité de notre application.
Dans le cas si vous êtes un nouveau utilisateur il devrait s’inscrire dans notre
Application.

Si Vous êtes Déjà inscrit il devrait juste entre le mot de passe pour accéder a
L’application.
Lorsque on entre dans l’application on a 5 interface principaux on va découvrir
Une après l’autre.
La première Interface principale est l’interface de l’emplacement, tu peux Spécifier les endroits
pour recevoir ceux qui veulent donner du sang.

La deuxième interface principale est l’interface laquelle nous pouvons prendre rendez-vous pour aller
donner du sang et déterminer la date et l’heure de partir et le lieu.
La quatrième interface pour l’historique des rendez-vous réserves.
La cinquième Interface principale est l’interface de paramétrés, tu peux changer le Nom
d’utilisateur, le mot de passe, le thème (clair ou sombre).
3.8 Une partie de code source

3.9 Conclusion
Ce chapitre a était consacré à la phase de réalisation, on a citer les outils logiciels et
matériels qu’on a utiliser pour développer cette application, puis on a expliquer le
processus d’utilisation de l’application avec des captures d’écran et à la fin on
ajouter une partie de code source avec explication.
4 Conclusion Générale

Nous sommes parvenus, par le biais de ce projet, à réaliser une application qui
Fonctionne sous Android qui permet aux utilisateurs de don leur sang.
Au cours de la phase d’analyse nous avons structuré et défini les besoins du
Système. Il s’agit de formuler, d’affiner et d’analyser la plupart des cas
D’utilisations par les diagrammes UML. La phase de conception suit
Immédiatement la phase d’analyse, il s’agit alors d’étendre la représentation
Effectuée au niveau de l’analyse en y intégrant les aspects techniques les plus
Proches des préoccupations des besoins techniques. L’élément principal à livrer au
Terme de cette phase est le diagramme de classe. Enfin, nous avons entamé la
Réalisation en utilisant les outils de développement matériels et logiciels et
Présenter les différentes interfaces de notre application.
Malgré toutes les difficultés que nous avons rencontrées durant la réalisation de
Cette mémoire, ce travail nous a permis d’apprendre énormément de choses
Concernant le développement sous Android, et ce mémoire présente notre
Première expérience pour la mise en œuvre d’une application mobile, également
Nous avons appris à manipuler toute les d’outils : Android studio, Language de
Programmation Dart Avec La Framework Flutter, SQLite et d’autres outils . . .
Enfin, nous souhaitons que ce modeste travail satisfasse les utilisateurs et
Apportera un maximum d’aide et pourra être bénéfique et utile.
5 BIBLIOGRAPHIE

https://flutter.dev/
https://www.youtube.com/flutterdev
https://vogella.developpez.com/
https://fr.wikipedia.org/wiki/Dart_(langage)
https://www.frandroid.com/
https://www.uml-sysml.org/
https://fr.wikipedia.org/wiki/Android_Studio#

Vous aimerez peut-être aussi