Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parEugène Raymond Marion Modifié depuis plus de 9 années
1
L. Gurret – M. Herve – P. Mignon – J. Prarioz
2
Introduction Dernière étape d’analyse Cahier des charges, spécifications et conception orientée objet Référence pour la phase de mise en œuvre
3
Plan : Cahier des charges Objectifs Principe de fonctionnement Contraintes et limites Spécifications Client Local Gestion des services Conception orientée objet Diagrammes de collaboration Diagrammes de classes Description des classes 3
4
Objectifs : Réceptionner des emails : serveur Stocker Lire les emails : le client Gérer les emails et les utilisateurs Configurer le serveur 4 Cahier des charges
5
5
6
Contraintes : protocole SMTP joignable depuis tout le réseau local Plusieurs client email simultané Limites: Sécurité : pas d’encryption des données Espace de stockage : sur le serveur espace restreint, risque de perte des données 6 Cahier des charges
7
Cahier des spécifications Authentification
8
Cahier des spécifications Choix des services
9
Cahier des spécifications Gestion du serveur
10
Cahier des spécifications Gestion des utilisateurs
11
Cahier des spécifications Créer un utilisateur
12
Cahier des spécifications Client Local Connexion
13
Cahier des spécifications Gestion des emails
14
14 Conception Orientée Objet Diagrammes de collaboration : Lecture des emails
15
15 Conception Orientée Objet Diagrammes de collaboration : Classer les emails
16
16 Conception Orientée Objet Diagrammes de collaboration : Supprimer email
17
17 Conception Orientée Objet Diagrammes de collaboration : Création d’un utilisateur
18
18 Conception Orientée Objet Diagrammes de collaboration : Suppression d’un utilisateur
19
19 Conception Orientée Objet Diagrammes de collaboration : Configuration Serveur
20
20 Conception Orientée Objet Diagrammes de collaboration : Client / Serveur
21
21 Classes graphiques (1/2): FAuthentification login et mot de passe FClientEmail Liste emails Consultation/Suppression FChoix_service gestion utilisateurs ou gestion serveur Description des classes
22
22 Classes graphiques (2/2): FGestion_utilisateurs Liste utilisateurs enregistrés Suppression/création FCreer_utilisateur Nom, login et mot de passe FGestion_serveur Changement @IP serveur et nom de domaine Description des classes
23
23 Classes algorithmiques (1/2): Email définition d’un email standard Utilisateur créer/gérer des utilisateurs Serveur Lien entre application et serveur Description des classes
24
24 Classes algorithmiques (2/2): Authentification vérifie que le login correspond au mot de passe FluxDonnées Lire et écrire sur le serveur Lister fichier et répertoires dans le dossier Date Caractéristique supplémentaire pour un email Utilisé pour classer les mails dans le client Description des classes
25
Gestion des services : Description des classes
26
Client Local : Description des classes
27
Classes graphiques : FAuthentification FClientEmail FChoix_service FGestion_utilisateurs FCreer_utilisateur FGestion_serveur Description détaillée
28
FAuthentification : Description détaillée
29
FClientMail : Description détaillée
30
FChoix_service : Description détaillée
31
FGestion_utilisateurs : Description détaillée
32
Classes graphiques : FCreer_utilisateur : Description détaillée
33
Classes graphiques : FGestion_serveur : Description détaillée
34
Classes algorithmiques : FluxDonnees Date Utilisateur Email Authentification Serveur Description détaillée
35
Flux de données : Description détaillée
36
Flux de données : Paramètres : Fichierencours de type fichier; //pour stocker le fichier lu ou ecrit Repertoire de type vector; // pour stocker les sous-repertoire ListeFichiers de type vector; //pour stocker les noms de fichier d'un repertoire. Méthodes: vector LireFichier(string nomfichier); //Pour lire un fichier, retourne un vector void EcrireFichier(string nomfichier,vector message); //Pour ecrire un Vector dans un fichier vector ListerFicher(string nomdurepertoire); // permet de lister tout les fichiers d'un repertoire. vector ListerRepertoire(string chemin); //permet de lister tous les sous- repertoires. Description détaillée
37
37 Date : Description détaillée
38
Date : Paramètres: jour, mois, annee de type entier Méthodes: Date(a, m et j de type entier) //constructeur Afficher() de type void getJour() de type int getMois() de type int getAnnee() de type int EstInferieure(const Date &d) de type booléen Description détaillée
39
39 Utilisateur : Description détaillée
40
Utilisateur : Paramètres : Nom de type string, nom de l’utilisateur. Login de type string, pour avoir le login de l’utilisateur. Password de type string, pour avoir le mot de passe de l’utilisateur. Méthodes : Utilisateur(string login, string Password), constructeur. Utilisateur(), constructeur par défaut. get… (pour récupérer les paramètres) set… (Pour affecter la valeur des paramètres) Description détaillée
41
41 Email : Description détaillée
42
Email : Paramètres : Expediteur, Destinataire, Objet de type string. Date de type Date IP de type string Message de type tableau de string ID de type entier pour le numéro du mail. Méthodes : Email(string Expediteur, string Destinataire, Date date, String Objet, string IP, string Message, int IDunique), constructeur. Email(), constructeur par défaut. get… (pour récupérer les paramètres) set… (Pour affecter la valeur des paramètres) Presentation() de type String Description détaillée
43
43 Authentification : Description détaillée
44
Authentification : Description détaillée Paramètres : Identifiant de type string; Motdepasse de type string; Flux de type FluxDonnees; Méthodes : Authentification(U1 de type Utilisateur) ; //constructeur bool Verification() //Vérifie la concordance du login et du mot de passe
45
45 Serveur : Description détaillée
46
Serveur : Paramètres : int port; // numero de port écouté par le serveur SOCKET ListeningSocket; //descripteur de la socket d'écoute bool running; // indique si le serveur est en marche ou pas SOCKADDR_IN ServerAddr; DWORD ClientThread(SOCKET soc); Méthodes: serveur(int); //constructeur avec argument numero du port int init(); //initialisation du serveur int start () //lancement du serveur int pause () //pause du serveur pour libérer les ports d'écoute static DWORD WINAPI ThreadLauncher(void *p) //lanceur de thread Description détaillée
47
Conclusion Fin de la partie d’analyse Partie longue et délicate Difficulté à tout penser dès maintenant Description déjà très précise des objets Mise en œuvre du projet
48
Questions 48
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.