University Sétif 1 FERHAT ABBAS Faculty of Sciences
Détail de l'auteur
Auteur Zouhir Badache |
Documents disponibles écrits par cet auteur



Titre : Deep Learning for medical images segmentation Type de document : texte imprimé Auteurs : Zouhir Badache, Auteur ; Mohamed Bounechada ; mohamed Chafia Kara, Directeur de thèse Editeur : Setif:UFA Année de publication : 2024 Importance : 1 vol (60 f .) Format : 29 cm Langues : Anglais (eng) Catégories : Thèses & Mémoires:Informatique Mots-clés : Computer Aided Diagnosis
Machine Learning
Deep Learning
Medical images
Blood Vessel Segmentation
U-Net with attentionIndex. décimale : 004 - Informatique Résumé :
Assisting doctors and radiologists in their hard and precise work is the main objective
of Computer Aided Diagnosis field (CAD). Machine Learning (ML) and recently
Deep Learning (DL) have proved their efficiency in this task. In the field of Ophthalmology,
accurate blood vessel segmentation is crucial for diagnosing and monitoring
various retinal diseases such as Diabetic Retinopathy, Glaucoma, and Age-related Macular
Degeneration. Segmentation, in medical images, is the process to separate and
delineate different parts in these images. This segmentation assists health care staff
in their work to handle variations in vessel appearance due to factors like age, disease
progression. In this context, we aim, in our work, to design a DL model based on
U-Net model with attention to segment retinal vessels images using FIVES dataset.
Our model outperforms the state of the art ones in term of accuracy 97.51%. Our
results are also examined by an ophthalmologist and he was more than satisfied.Note de contenu :
Sommaire
Table of contents v
List of figures vii
List of tables viii
1 Medical Image Segmentation 1
1 Introduction to Medical Image Segmentation . . . . . . . . . . . . . . . 2
2 Challenges in Medical Image Segmentation . . . . . . . . . . . . . . . . 3
2.1 Image Complexity . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Anatomical Variability . . . . . . . . . . . . . . . . . . . . . . . 3
2.3 Limited Annotations . . . . . . . . . . . . . . . . . . . . . . . . 3
2.4 Real-Time Constraints . . . . . . . . . . . . . . . . . . . . . . . 3
3 Commonly Used Segmentation Techniques . . . . . . . . . . . . . . . . 4
3.1 Thresholding . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2 Edge-Based . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.3 Region-Growing . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4 Applications of Segmentation in Clinical Practice . . . . . . . . . . . . 5
4.1 Oncology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.2 Neurology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.3 Cardiology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.4 ophthalmology . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2 Deep Learning for Segmentation 8
1 Introduction to Deep Learning for Segmentation . . . . . . . . . . . . 9
2 Models Used for Segmentation . . . . . . . . . . . . . . . . . . . . . . . 10
2.1 U-Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 FCN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Mask R-CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4 DeepLab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3 Semantic Segmentation vs Instance Segmentation . . . . . . . . . . . . 11
3.1 Semantic Segmentation . . . . . . . . . . . . . . . . . . . . . . 11
3.2 Instance Segmentation . . . . . . . . . . . . . . . . . . . . . . . 11
4 U-Net Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.1 Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.2 Decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.3 Skip Connections . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.4 Attention Mechanism . . . . . . . . . . . . . . . . . . . . . . . 14
4.5 Final Convolutional Layers . . . . . . . . . . . . . . . . . . . . 15
5 Activation Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.1 Sigmoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.2 ReLU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.3 ELU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.4 Softmax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.5 Tanh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6 Loss Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.1 Loss Functions for Classification: . . . . . . . . . . . . . . . . . 17
6.2 Loss Functions for Regression: . . . . . . . . . . . . . . . . . . . 18
7 Optimizers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
7.1 Stochastic Gradient Descent: . . . . . . . . . . . . . . . . . . . 19
7.2 Adagrad: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
7.3 Adadelta: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
7.4 RMSprop: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
7.5 Adam: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
8 overfitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
9 techniques to avoid overfitting . . . . . . . . . . . . . . . . . . . . . . . 21
9.1 Batch Normalization . . . . . . . . . . . . . . . . . . . . . . . . 21
9.2 Dropout: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
9.3 Early Stopping: . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
9.4 Data Augmentation: . . . . . . . . . . . . . . . . . . . . . . . . 22
10 Evaluation Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
10.1 Dice Coefficient . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
10.2 Intersection over Union : . . . . . . . . . . . . . . . . . . . . . . 23
10.3 Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
10.4 Peak Signal-to-Noise Ratio (PSNR) . . . . . . . . . . . . . . . . 24
10.5 F1 score . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
10.6 The Area Under the Curve (AUC) . . . . . . . . . . . . . . . . 26
3 Related Works 27
4 Methodology 31
1 Study Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2 Data Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.1 Dataset Description . . . . . . . . . . . . . . . . . . . . . . . . 32
2.2 Data Acquisition . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.3 Annotation Process . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.4 Usage and Applications . . . . . . . . . . . . . . . . . . . . . . 34
2.5 Some papers that use this dataset . . . . . . . . . . . . . . . . . 34
2.6 Availability and Access . . . . . . . . . . . . . . . . . . . . . . . 35
3 Data Preprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.1 Choosing the best filters . . . . . . . . . . . . . . . . . . . . . . 35
4 Data Augmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.1 Keras data generators . . . . . . . . . . . . . . . . . . . . . . . 42
5 Model Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.1 Custom attention U-Net model . . . . . . . . . . . . . . . . . . 46
5.2 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.3 Training the model . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.4 Model evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 49
6 Final results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.1 Generated masks . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.2 Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50Côte titre : MAI/0901 Deep Learning for medical images segmentation [texte imprimé] / Zouhir Badache, Auteur ; Mohamed Bounechada ; mohamed Chafia Kara, Directeur de thèse . - [S.l.] : Setif:UFA, 2024 . - 1 vol (60 f .) ; 29 cm.
Langues : Anglais (eng)
Catégories : Thèses & Mémoires:Informatique Mots-clés : Computer Aided Diagnosis
Machine Learning
Deep Learning
Medical images
Blood Vessel Segmentation
U-Net with attentionIndex. décimale : 004 - Informatique Résumé :
Assisting doctors and radiologists in their hard and precise work is the main objective
of Computer Aided Diagnosis field (CAD). Machine Learning (ML) and recently
Deep Learning (DL) have proved their efficiency in this task. In the field of Ophthalmology,
accurate blood vessel segmentation is crucial for diagnosing and monitoring
various retinal diseases such as Diabetic Retinopathy, Glaucoma, and Age-related Macular
Degeneration. Segmentation, in medical images, is the process to separate and
delineate different parts in these images. This segmentation assists health care staff
in their work to handle variations in vessel appearance due to factors like age, disease
progression. In this context, we aim, in our work, to design a DL model based on
U-Net model with attention to segment retinal vessels images using FIVES dataset.
Our model outperforms the state of the art ones in term of accuracy 97.51%. Our
results are also examined by an ophthalmologist and he was more than satisfied.Note de contenu :
Sommaire
Table of contents v
List of figures vii
List of tables viii
1 Medical Image Segmentation 1
1 Introduction to Medical Image Segmentation . . . . . . . . . . . . . . . 2
2 Challenges in Medical Image Segmentation . . . . . . . . . . . . . . . . 3
2.1 Image Complexity . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Anatomical Variability . . . . . . . . . . . . . . . . . . . . . . . 3
2.3 Limited Annotations . . . . . . . . . . . . . . . . . . . . . . . . 3
2.4 Real-Time Constraints . . . . . . . . . . . . . . . . . . . . . . . 3
3 Commonly Used Segmentation Techniques . . . . . . . . . . . . . . . . 4
3.1 Thresholding . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2 Edge-Based . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.3 Region-Growing . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4 Applications of Segmentation in Clinical Practice . . . . . . . . . . . . 5
4.1 Oncology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.2 Neurology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.3 Cardiology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.4 ophthalmology . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2 Deep Learning for Segmentation 8
1 Introduction to Deep Learning for Segmentation . . . . . . . . . . . . 9
2 Models Used for Segmentation . . . . . . . . . . . . . . . . . . . . . . . 10
2.1 U-Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 FCN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Mask R-CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4 DeepLab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3 Semantic Segmentation vs Instance Segmentation . . . . . . . . . . . . 11
3.1 Semantic Segmentation . . . . . . . . . . . . . . . . . . . . . . 11
3.2 Instance Segmentation . . . . . . . . . . . . . . . . . . . . . . . 11
4 U-Net Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.1 Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.2 Decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.3 Skip Connections . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.4 Attention Mechanism . . . . . . . . . . . . . . . . . . . . . . . 14
4.5 Final Convolutional Layers . . . . . . . . . . . . . . . . . . . . 15
5 Activation Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.1 Sigmoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.2 ReLU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.3 ELU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.4 Softmax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.5 Tanh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6 Loss Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.1 Loss Functions for Classification: . . . . . . . . . . . . . . . . . 17
6.2 Loss Functions for Regression: . . . . . . . . . . . . . . . . . . . 18
7 Optimizers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
7.1 Stochastic Gradient Descent: . . . . . . . . . . . . . . . . . . . 19
7.2 Adagrad: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
7.3 Adadelta: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
7.4 RMSprop: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
7.5 Adam: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
8 overfitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
9 techniques to avoid overfitting . . . . . . . . . . . . . . . . . . . . . . . 21
9.1 Batch Normalization . . . . . . . . . . . . . . . . . . . . . . . . 21
9.2 Dropout: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
9.3 Early Stopping: . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
9.4 Data Augmentation: . . . . . . . . . . . . . . . . . . . . . . . . 22
10 Evaluation Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
10.1 Dice Coefficient . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
10.2 Intersection over Union : . . . . . . . . . . . . . . . . . . . . . . 23
10.3 Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
10.4 Peak Signal-to-Noise Ratio (PSNR) . . . . . . . . . . . . . . . . 24
10.5 F1 score . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
10.6 The Area Under the Curve (AUC) . . . . . . . . . . . . . . . . 26
3 Related Works 27
4 Methodology 31
1 Study Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2 Data Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.1 Dataset Description . . . . . . . . . . . . . . . . . . . . . . . . 32
2.2 Data Acquisition . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.3 Annotation Process . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.4 Usage and Applications . . . . . . . . . . . . . . . . . . . . . . 34
2.5 Some papers that use this dataset . . . . . . . . . . . . . . . . . 34
2.6 Availability and Access . . . . . . . . . . . . . . . . . . . . . . . 35
3 Data Preprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.1 Choosing the best filters . . . . . . . . . . . . . . . . . . . . . . 35
4 Data Augmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.1 Keras data generators . . . . . . . . . . . . . . . . . . . . . . . 42
5 Model Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.1 Custom attention U-Net model . . . . . . . . . . . . . . . . . . 46
5.2 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.3 Training the model . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.4 Model evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 49
6 Final results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.1 Generated masks . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.2 Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50Côte titre : MAI/0901 Exemplaires (1)
Code-barres Cote Support Localisation Section Disponibilité MAI/0901 MAI/0901 Mémoire Bibliothéque des sciences Anglais Disponible
Disponible
Titre : Startup Project: Mobile application ”JIT Delivery” Type de document : document électronique Auteurs : Zouhir Badache ; Kara-Mohamed ,Chafia, Directeur de thèse Editeur : Setif:UFA Année de publication : 2024 Importance : 1 vol (28 f .) Format : 29 cm Langues : Anglais (eng) Catégories : Thèses & Mémoires:Informatique Mots-clés : Informatique Index. décimale : 004 Informatique Note de contenu : Sommaire
Abstract i
Table of contents iii
List of figures vi
List of tables viii
General Introduction ix
1 Related works 1
1.1 Similar Delivery Applications . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Collaborative Opportunities . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1 Challenge: Shortage of Willing Drivers . . . . . . . . . . . . . . 4
1.2.2 Challenge: Inefficient Pickup Protocols . . . . . . . . . . . . . . 5
1.2.3 Challenge: Risks for Scooter Drivers . . . . . . . . . . . . . . . 5
1.2.4 Challenge: Low Order Volume and Income . . . . . . . . . . . . 5
1.3 Strategic Partnership Goals . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.1 Comparison Table . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.2 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Technical background 8
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Mobile Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.1 Architecture of Mobile Applications . . . . . . . . . . . . . . . . 9
2.2.2 Mobile App Development Process . . . . . . . . . . . . . . . . . 10
2.2.3 Challenges in Mobile Application Development . . . . . . . . . 10
2.2.4 Impact of Mobile Applications . . . . . . . . . . . . . . . . . . . 11
2.2.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3 Websites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3.1 Architecture of Websites . . . . . . . . . . . . . . . . . . . . . . 12
2.3.2 Website Development Process . . . . . . . . . . . . . . . . . . . 13
2.3.3 Types of Websites . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.4 Impact and Importance of Websites . . . . . . . . . . . . . . . . 14
2.3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4 Application Programming Interfaces (APIs) . . . . . . . . . . . . . . . 15
2.4.1 Definition and Structure of APIs . . . . . . . . . . . . . . . . . 16
2.4.2 Types of APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4.3 Benefits of Using APIs . . . . . . . . . . . . . . . . . . . . . . . 16
2.4.4 Security and Challenges of APIs . . . . . . . . . . . . . . . . . 17
2.4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.5 Python Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.5.1 Definition and Structure of Python Packages . . . . . . . . . . 18
2.5.2 Creating and Distributing Python Packages . . . . . . . . . . . 19
2.5.3 Benefits of Using Python Packages . . . . . . . . . . . . . . . . 19
2.5.4 Challenges and Considerations in Python Packaging . . . . . . 20
2.5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3 Needs analysis and system design 21
3.1 Introduction: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2 Needs Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.1 Stakeholders and Their Requirements . . . . . . . . . . . . . . . 22
3.2.2 Functional Requirements . . . . . . . . . . . . . . . . . . . . . . 22
3.2.3 Non-Functional Requirements . . . . . . . . . . . . . . . . . . . 23
3.3 System Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3.1 Architecture Overview . . . . . . . . . . . . . . . . . . . . . . . 23
3.3.2 Data Flow and Processes . . . . . . . . . . . . . . . . . . . . . 24
3.3.3 User Interface Design . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3.4 System Components and Technology Stack . . . . . . . . . . . . 24
3.3.5 Security Considerations . . . . . . . . . . . . . . . . . . . . . . 25
3.3.6 Presentation of use case diagrams: . . . . . . . . . . . . . . . . 25
3.3.7 Presentation of sequence diagrams: . . . . . . . . . . . . . . . . 27
3.3.8 presentation of the class diagram: . . . . . . . . . . . . . . . . . 30
3.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4 implementation and realization 32
4.1 Introduction: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2 Development tools: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2.1 Flutter: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2.2 Dart: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.2.3 Firebase: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2.4 Python for Firebase Functions . . . . . . . . . . . . . . . . . . . 40
4.3 Application presentation: . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.3.1 Web app side: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.3.2 Mobile app side: . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.3.3 Design and Usage of the Jit Python Package . . . . . . . . . . . 62
4.3.4 Contributions: . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.4 General conclusion: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67Côte titre : MAI/0959 Startup Project: Mobile application ”JIT Delivery” [document électronique] / Zouhir Badache ; Kara-Mohamed ,Chafia, Directeur de thèse . - [S.l.] : Setif:UFA, 2024 . - 1 vol (28 f .) ; 29 cm.
Langues : Anglais (eng)
Catégories : Thèses & Mémoires:Informatique Mots-clés : Informatique Index. décimale : 004 Informatique Note de contenu : Sommaire
Abstract i
Table of contents iii
List of figures vi
List of tables viii
General Introduction ix
1 Related works 1
1.1 Similar Delivery Applications . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Collaborative Opportunities . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1 Challenge: Shortage of Willing Drivers . . . . . . . . . . . . . . 4
1.2.2 Challenge: Inefficient Pickup Protocols . . . . . . . . . . . . . . 5
1.2.3 Challenge: Risks for Scooter Drivers . . . . . . . . . . . . . . . 5
1.2.4 Challenge: Low Order Volume and Income . . . . . . . . . . . . 5
1.3 Strategic Partnership Goals . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.1 Comparison Table . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.2 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Technical background 8
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Mobile Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.1 Architecture of Mobile Applications . . . . . . . . . . . . . . . . 9
2.2.2 Mobile App Development Process . . . . . . . . . . . . . . . . . 10
2.2.3 Challenges in Mobile Application Development . . . . . . . . . 10
2.2.4 Impact of Mobile Applications . . . . . . . . . . . . . . . . . . . 11
2.2.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3 Websites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3.1 Architecture of Websites . . . . . . . . . . . . . . . . . . . . . . 12
2.3.2 Website Development Process . . . . . . . . . . . . . . . . . . . 13
2.3.3 Types of Websites . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.4 Impact and Importance of Websites . . . . . . . . . . . . . . . . 14
2.3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4 Application Programming Interfaces (APIs) . . . . . . . . . . . . . . . 15
2.4.1 Definition and Structure of APIs . . . . . . . . . . . . . . . . . 16
2.4.2 Types of APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4.3 Benefits of Using APIs . . . . . . . . . . . . . . . . . . . . . . . 16
2.4.4 Security and Challenges of APIs . . . . . . . . . . . . . . . . . 17
2.4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.5 Python Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.5.1 Definition and Structure of Python Packages . . . . . . . . . . 18
2.5.2 Creating and Distributing Python Packages . . . . . . . . . . . 19
2.5.3 Benefits of Using Python Packages . . . . . . . . . . . . . . . . 19
2.5.4 Challenges and Considerations in Python Packaging . . . . . . 20
2.5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3 Needs analysis and system design 21
3.1 Introduction: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2 Needs Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.1 Stakeholders and Their Requirements . . . . . . . . . . . . . . . 22
3.2.2 Functional Requirements . . . . . . . . . . . . . . . . . . . . . . 22
3.2.3 Non-Functional Requirements . . . . . . . . . . . . . . . . . . . 23
3.3 System Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3.1 Architecture Overview . . . . . . . . . . . . . . . . . . . . . . . 23
3.3.2 Data Flow and Processes . . . . . . . . . . . . . . . . . . . . . 24
3.3.3 User Interface Design . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3.4 System Components and Technology Stack . . . . . . . . . . . . 24
3.3.5 Security Considerations . . . . . . . . . . . . . . . . . . . . . . 25
3.3.6 Presentation of use case diagrams: . . . . . . . . . . . . . . . . 25
3.3.7 Presentation of sequence diagrams: . . . . . . . . . . . . . . . . 27
3.3.8 presentation of the class diagram: . . . . . . . . . . . . . . . . . 30
3.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4 implementation and realization 32
4.1 Introduction: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2 Development tools: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2.1 Flutter: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2.2 Dart: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.2.3 Firebase: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2.4 Python for Firebase Functions . . . . . . . . . . . . . . . . . . . 40
4.3 Application presentation: . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.3.1 Web app side: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.3.2 Mobile app side: . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.3.3 Design and Usage of the Jit Python Package . . . . . . . . . . . 62
4.3.4 Contributions: . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.4 General conclusion: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67Côte titre : MAI/0959 Exemplaires (1)
Code-barres Cote Support Localisation Section Disponibilité MAI/0959 MAI/0959 Mémoire Bibliothéque des sciences Français Disponible
Disponible