Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Rapport d'analyse du projet SIRAGI
Projet SIRAGI
Document Rapport d'analyse
Version 1.0
Date 13 Février 2004
Référence AN1
Table des matières
• I) Introduction o Objectif global du logiciel o Historique des versions du document o Statut du document
Vérification: Validation:
• II) Modélisation des fonctionnalités du Logiciel (UML) o Noyau SIRAGI o Listener o Bureautique
Traitement de texte Acces à des bases de données Dictionnaire/Traducteur.
o Internet/Multimédia Connexion Internet Navigateur Web Messagerie Electronique Discussion en ligne (chat) Lecteur Multimédia
o Utilitaires Gestionnaire de fichiers Calculatrice Environnement de programmation
o Synthèse Vocale o Interpreteur de commandes
• III) Les raccourcis clavier de SIRAGI
Objectif global du logiciel
L'objectif de ce projet est de réaliser une application permettant l'utilisation d'un ordinateur par une personne aveugle ou mal voyante. L'ordinateur peut être sous Windows ou sous Linux
Historique des versions du document
Version Date Apport
1.0 13/2/2004 Création du document
Statut du document
Vérification:
Statut vérifié
Vérificateur(s) Mr Fdil
Date vérification 16/02/04
Validation:
Statut non validé
Validateur(s)
Date validation
Projet SIRAGI Modélisation de l'objet SIRAGI
Diagramme de classe
Détails sur les attributs: objectLoaded: La liste des objets chargés en mémoire objectActived: L'objet actif (au premier plan) * ptrObject: Liste de pointeurs vers tous les objets fifoListMsg: Liste des messages postés par les autres objets, et qui sert comme support de communication entre les diffrents objets
Détails sur les attributs: GetActiveObject():Renvoie l’objet actif
setActiveObject():activer un objet loadObject():charge un objet en mémoire et appelle son constructeur killObject():décharge un objet de la mémoire et appelle son destructeur getMessage():Dépiler un message de la pile putMessage():Empiler un message dans la pile int quit():Quitte le module. int waiting():Boucle infinie qui lit les messages dans la pile. int help(String mot):Lit l'aide contextuelle
Projet SIRAGI Modelisation de l'objet Listener
Diagramme de classe
Projet SIRAGI Modélisation de l'objet Traitement de texte
Diagramme de classe
Détails sur les attributs: file *fichier_Source: est un pointeur sur le fichier source string DTD:une chaîne qui contient la dtd qu'on va utiliser int debut_Select: la position du début de la sélection int fin_Select: la position de la fin de la sélection
Détails sur les méthodes: bool selection_En_Cours() : retourne true s'il y a une sélection, sinon retourne false initialiser_Document() : initialise et appele la dtd générer(type_document_genere) : retourne le type du document(braille,pdf...) nouveau() : permet d'ouvrir un nouveau document ouvrir() : permet d'ouvrir un document enregistrer() : permet d'enregistrer un document
enregistrer_Sous() : permet d'enregistrer un document sous un autre répertoire imprimer(destination) :est une fonction qui permet d'imprimer en donnant une destination(impimante du code braille, en noir,...) couper() : permet de couper copier() : permet de copier coller() : permet de coller rechercher() : permet de chercher un mot marquer_Selection(le début ou la fin) : permet de marquer une sélection par son début ou sa fin selectionner_Tout() : permet de sélectionner tout le document aide() : permet d'avoir de l'aide int waiting():Boucle infinie qui lit les messages dans la pile quitter(): permet de quitter naviguer_Structure(): permet de chercher une chaîne selectionner(): permet de sélectionner en utilisant la méthode marquer_selection(debut ou la fin) pour indiquer le debut ou la fin du sélection
Projet SIRAGI Modélisation de l'objet SGBD
Diagramme de classe
Cas d'utilisation:
Détails sur les attributs: connexion_Db :Contenant de la base de données courante state :étermine si une base de données est ouverte ou non result :Reference sur un objet Requete contenant les résultats d'une requête
Détails sur les méthodes: int open_Db():Effectue la connexion à une base de données dont la chaîne de connexion est contenue dans le champ connexion_db. Les valeurs renvoyées sont les suivantes:
• 0:Connexion réussie
• 1:La base de données n'existe pas • 2:Connexion impossible
int close_Db():Effectue la déconnexion à une base de données dont la chaîne de connexion est contenue dans le champ connexion_db et place la valeur NULL dans la variable connexion_db. Les valeurs renvoyées sont les suivantes:
• 0:Déconnexion réussie • 1:Déconnexion impossible • 2:Pas de base de données connectée
int execute_Query(String query):Parse et exécute la requête passée en paramètre et crée si nécessaire un objet Requete contenant le résultat de la requête. Les valeurs renvoyées sont les suivantes:
• 0:Exécution réussie sans création d'objet Requete • 1:Exécution réussie avec création d'un objet Requete • 2:Exécution impossible
int state_Db(int n):Donne un état de la base de données courante. Valeurs permises pour le paramètre:
• 0:Liste des tables et des relations • 1:Liste des tables et de leurs champs respectifs • 2:Liste des relations,de leur nature et des tables les composants
int quit():Quitte le module. int waiting():Boucle infinie qui lit les messages dans la pile. int help(String mot):Lit l'aide relative au mot passé en paramètre.
Les objets externes: L'objet SIRAGI L'objet Listener Les objets requete Le fichier d'erreur Le SGBD L'utilisateur
Projet SIRAGI Modélisation de l'objet Requete
Les attributs: champs:Tableau contenant la liste des champs de la requête records:Tableau à 2 dimensions contenant les valeurs des enregistrements résultats de la requête. nb_Champs:Nombre de champs nb_Records:Nombre d'enregistrements n_Record:Numero de l'enregistrement courant
Les méthodes: next_Record():Incrémente la valeur de n_record si celle-ci est inférieure à nb_record et lit l'enregistrement courant. Les valeurs renvoyées sont les suivantes:
• 0:Passage à l'enregistrement suivant réussi • 1:Pas de passage à l'enregistrement suivant
prev_Record():Décrémente la valeur de n_record si celle-ci est supérieure à 0 et lit l'enregistrement. Les valeurs renvoyées sont les suivantes:
• 0:Passage à l'enregistrement précédent réussi • 1:Pas de passage à l'enregistrement précédent
get_Record(int n):Stocke la valeur de n dans n_record si celle-ci est positive et inférieure à nb_record et le nouvel enregistrement courant. Les valeurs renvoyées sont les suivantes:
• 0:Passage à l'enregistrement indexé réussi • 1:Pas de passage à l'enregistrement indexé • 2:L'enregistrement indexé est déjà l'enregistrement courant
initialiser():Initialise l'objet Requete en parsant le fichier contenant la requête.
Projet SIRAGI Modelisation de l'objet Dictionnaire
Diagramme de classe
Détails sur les attributs: string langue :stocke la langue du dictionaire string nom_Dict :stocke le nom du dictionnaire
Détails sur les attributs: booleen ouvrir() :elle retourne un message permettant de choisir la langue utilisée quitter() : pour quitter enregistrer() : permet d'enregistrer le mot ajouté ajout() : ajouter des mots au dictionnaire string vérifier_Orth(string s) :permet de vérifier l'orthographe d'un mot void help() : pour avoir de l'aide sur le dictionnaire int waiting():Boucle infinie qui lit les messages dans la pile
Projet SIRAGI Modélisation de l'objet Connexion
Diagramme de classe
Détails sur les attributs:
tconn: temps de la connexion.
nom_Connexion: permet de savoir le type de la connexion.
Détails sur les attributs:
boolean openConnexion: permet d'établir une connexion, retourne True si on se connecte et false dans le cas contraire.
closeConnexion: pour achever la connexion.
int TimeOfConnexion: retourne un entier dans lequel on récupère le temps de la connexion.
help:pour l'aide.
int waiting():Boucle infinie qui lit les messages dans la pile
Projet SIRAGI Modelisation de l'objet Naviguateur
Diagramme de classe
Projet SIRAGI Modélisation de l'objet E-mail
Diagramme de classe
Détails sur les méthodes: read_Message(int num_message):permet à l'utilisateur de lire le message désiré en fournissant son numéro. next_Message(int message_courant):permet à l'utilisateur de se deplacer vers le prochain message. prev_Message(int message_courant):permet à l'utilisateur de se deplacer vers le message precedant. bool envoyer_Message(int message_courant):permet à l'utilisateur d'envoyer le message désiré bool delete_Message(int num_message):permet à l'utilisateur de supprimer le message désiré bool print_Message(int num_message):permet à l'utilisateur d'imprimer le message désiré bool create_Dossier():permet à l'utilisateur de creer un dossier qui contiendra les messages recus bool filtre(string adresse:permet à l'utilisateur de filtrer les messages reçus
bool session (string nom,password):avant que l'utilisateur ne puisse acceder à son compte;il faudra qu'il entre son nom et son password int quit():Quitte le module. int waiting():Boucle infinie qui lit les messages dans la pile int help(String mot):Lit l'aide relative au mot passé en paramètre. quitter():Quitte le module.
Les objets externes: L'objet SIRAGI L'objet Listener Les fichiers d'aide L'objet traitement de texte L'objet embosseuse L'objet navigateur L'utilisateur
Projet SIRAGI Modélisation de l'objet CHAT
Diagramme de classe
Détails sur les attributs : File *FichierDialogue: permet de sauvegarder le dialogue entre les deux correspondants
Détails sur les méthodes: se_Connecter(): permet d'établir une connexion pour entrer dans le chat defiler_Correspondants(): permet de lister les tchateurs tout en précisant les informations associées à ces correspondants. choisir_Correspondants() : permet de choisir le correspondant avec lequel on veut chater envoyer_Message() : permet d'envoyer le message écrit recevoir_Message(): permet de signaler la reception du message lire_Message(): permet de lire le contenu du message reçu à l'aide de la fonction "speak" de la synthèse vocale basculer(): permet de basculer entre les correspondants inhiber(): permet d'inhiber le dialogue avec un certain correspondant attente_Activation(): permet d'activer le correspondant qui vient d'envoyer le message se_Deconnecter(): permet de se deconnecter du chat
Aide(): permet d'offrir des fonctionnalités et de l'aide pour simplifier l'utilisation du chat int waiting():Boucle infinie qui lit les messages dans la pile
Projet SIRAGI Modélisation de l'objet Lecteur Multimedia
Diagramme de classe
Détails sur les attributs: type_fichier:indique le type de fichier qui va être lu path:le chemin du fichier
Détails sur les méthodes: play():permet de lire le fichier open():permet d'ouvrir une séquence close():permet de fermer le lecteur stop():permet d'arrêter la lecture du fichier pause():donne la possibilité d'arrêter le curseur temporairement rew():permet le retour en arrière FF():permet d'avancer le curseur int waiting():Boucle infinie qui lit les messages dans la pile cursor(position): permet de déplacer le curseur
Projet SIRAGI Modélisation de l'objet Gestionnaire de fichiers
Diagramme de classe
Détails sur les attributs:
name:peut être soit le nom d'une racine, un répertoire, un sous répertoire ou un fichier.
Détails sur les opérations:
boolean create(string name):Crée un élément(répetoire ou fichier) dans l'emplacement courant, retourne:
• true:création effectuée • false:création échouée
void open():Ouvre un élément(racine, répertoire ou fichier).
void openWith():Ouvre un fichier avec un programme spécifique.
void close():Ferme un élément(racine, répertoire ou fichier).
boolean rename(string newName):Renomme un répertoire ou un fichier, retourne:
• true:nomination effectuée • false:nomination échouée
boolean sendTo(string name):Envoie l'élément à l'emplacement spécifié, retourne:
• true:envoi effectué • false:envoi échoué
file compress():Renvoie l'élément compréssé. file decompress():Renvoie l'élément décompréssé. file search(string name):Cherche un élément dans l'emplacement courant et retourne l'élément en question. void getProperties():Affiche les propriétés de l'élément avec la possibilité de modifier les droits d'accés de l'élément. void delete():Supprime l'élément. void print():Imprime l'élément. file execute():Renvoie l'executable du fichier. void format():Formate la disquette. void waiting():Boucle infinie qui lit les messages dans la pile void help(String mot):Lit l'aide relative au mot passé en paramètre.
Les objets externes: L'objet SIRAGI L'objet Listener l'embosseuse la plage braille L'utilisateur
Projet SIRAGI Modelisation de l'objet calculatrice
Diagramme de classe
Détails sur les attributs:
String operation :est une variable où on va stocker l'opération que l'utilisateur a saisi
double nbr1,nbr2 :sont deux variables où on va stocker les valeurs saisies par l'utilisateur
Détails sur les méthodes:
void clear() :pour effacer ce que l'utilisateur a tapé
void retour() :pour faire un retour afin de modifier ce qu'a tapé l'utiliateur
void help() :pour avoir de l'aide sur la calculatrice
booleen is_Nbre(nbr) :pour tester est ce que l'utilisateur a bien tapé un nombre valide
booleen is_Operation(s) :pour tester si l'utilisateur a tapé un opérateur valide
double somme(nbr1,nbr2) :pour réaliser l'opération de la somme
double mult(nbr1,nbr2) :pour faire la multiplication
double div(nbr1,nbr2) :pour calculer la division
double sqrt(nbr1):pour calculer la racine carrée
double carre(nbr1):pour calculer le carré
double log(nbr1):pour calculer le logarithme
double ln(nbr1):pour calculer le logarithme néperien
double exp(nbr1):pour calculer l'exponentiel
double cos(nbr1):pour calculer le cosinus
double sin(nbr1):pour calculer le sinus
double tang(nbr1):pour calculer la tangente
double fact(nbr1):pour calculer le factoriel
int waiting():Boucle infinie qui lit les messages dans la pile
Projet SIRAGI Modélisation de l'objet SDK
Diagramme de classe
Cas d'utilisation:
Détails sur les attributs: path_Db :Contenant le chemin d'accès du fichier source file_Source:Pointeur sur le fichier source type_Compil :Détermine le type de compilateur state :Détermine l'état du compilateur
• 0:Avant compilation • 1:Après compilation réussie • 2:Après compilation échouée
nb_Error :Spécifie le nombre d'erreurs après compilation errors :Contient les erreurs analysées par parse_error();
Détails sur les méthodes: int compile():Effectue la compilation du fichier source en faisant appel à des compilateurs externe. Les valeurs renvoyées sont les suivantes:
• 0:Compilation réussie • 1:Compilation réussie avec avertissements • 2:Compilation échouée
int parse_Error():Parse le fichier d'erreur et génère le tableau d'erreurs qui sera utilisé par d'autres méthodes relatives aux erreurs. Cette méthode stocke le nombre d'erreurs dans nb_Error et stocke la valeur 0 dans n_Error. Les valeurs renvoyées sont les suivantes:
• 0:Analyse réussie • 1:Analyse échouée
int prev_Error():Décrémente la valeur de n_error si celle-ci est supérieure à 0 et lit l'erreur de valeur n_Error. Les valeurs renvoyées sont les suivantes:
• 0:Passage à l'erreur précédente réussi • 1:Pas de passage à l'erreur précédente
int next_Error():Incrémente la valeur de n_Error si celle-ci est inférieure à nb_Error et lit l'erreur de valeur n_Error. Les valeurs renvoyées sont les suivantes:
• 0:Passage à l'erreur suivante réussi • 1:Pas de passage à l'erreur suivante
int get_Error(int n):Stocke la valeur de n dans n_error si celle-ci est positive et inférieure à nb_Error et lit l'erreur de valeur n_error. Les valeurs renvoyées sont les suivantes:
• 0:Passage à l'erreur indexée réussie • 1:Pas de passage à l'erreur indexée
int quit():Quitte le module. int waiting():Boucle infinie qui lit les messages dans la pile int help(String mot):Lit l'aide relative au mot passé en paramètre.
Les objets externes: L'objet SIRAGI L'objet Listener Les fichiers source Les fichiers compilés Les fichiers d'erreur Les exécutables résultant de la compilation Les exécutables compilateurs L'utilisateur
Projet SIRAGI Modélisation de l'objet Synthèse Vocale
Diagramme de classe
Détails sur les attributs: langue : peut être soit l’Arabe, l’Anglais ou le Français. chaîne : la chaîne de caractère à lire. epeler : détermine la façon de lire la chaine. True: epeler la chaîne False: lire mot par mot la chaîne sortie : le format de sortie qui peut être soit du WAV,HP,MP3 ...
Détails sur les méthodes: speak(langue,chaine,epeler,sortie):Permet d’effectuer la lecture d’une chaîne de caractère envoyée par les autres objets instanciés par Siragi dans une langue qui pourra être choisie par l’utilisateur et qui pourra être soit l’arabe, le français ou l’anglais ;la chaîne à lire peut être épelée ou lue mot par mot selon le choix;et enfin la fonction Speak enregistre la voix avec laquelle a été lue la chaîne sous une format Wav,Hp… int waiting():Boucle infinie qui lit les messages dans la pile
Projet SIRAGI Modélisation de l'objet Interpreteur
Diagramme de classe
Détails sur les attributs: state : Détermine si une commande est achevée ou non isValide: Détermine si une commande est valide ou non ValideCommand[]: Liste de toutes les commandes valides argv[] :Vecteur (liste) des arguments des commandes argc:Compteur des arguments Historique[]:Liste des comandes déjà effectuées
Détails sur les méthodes: Run():execute une commande prevCommand():execute la commande precedente NextCommand():execute la commande suivente GoToCommand():execute une commande précise en indiquant son numéro int quit():Quitte le module. int waiting():Boucle infinie qui lit les messages dans la pile
Projet SIRAGI Les raccourcis calvier de SIRAGI
Application Raccourcis Propriétés
ctrl+M compiler le fichier source spécifié ctrl+<- Erreur suivante ctr+G Va à l'erreur spécifiée ctrl+H Aide sur le mot spécifié
SDK
ctrl+Q Quitter l'environnement ctrl+O Ouvrir une base de données ctrl+N Créer une nouvelle base de données ctrl+S Sauvegarder la base de données courante
ctrl+Alt+S Sauvegarder la base de données courante sous un autre nom
ctrl+X coller
ctrl+R Parcourir les résultats d'une requête(rentre en mode résultat requête)
ctrl+-> Enregistrement précédent ctrl+<- Enregistrement suivant ctrl+UP Aller au premier enregistrement ctrl+DOWN Aller au dernier enregistrement ctrl+G Va à l'enregistrement spécifié ctrl+F quitte le mode résultat requête ctrl+H Aide sur le mot spécifié
SGBD
ctrl+Q Quitter l'environnement SDK ctrl+O ouvrir la calculatrice alt+c clear Calculette alt+Q Quitter ctrl+O Etablir une connexion ctrl+C Fermer une connexion ctrl+T Retourne le temps de la connexion
Connexion
ctrl+A Appel le help de la connexion ctrl+Q Quitter Dictionnaire alt+d ouvrir le dictionnaire
F1 help ctrl+S+A activer la langue Arabe ctrl+S+E activer la langue Anglaise ctrl+S+W sélectionner la sortie WAV ctrl+S+F activer la langue Française ctrl+S+H sélectionner la sortie HP. ctrl+S+P : activer l'épellation ctrl+S+W sélectionner la sortie WAV
Synthèse Vocale
ctrl+S+M activer la lecture mot par mot ctrl+s envoyer message ctrl+n créer un dossier maj+tab message precedant inser+a message suivant ctrl+H Aide sur le mot spécifié alt+f4 Quitter l'environnement e-mail
E_mail
alt+r lire message ctrl+C create alt+ctrl+C close ctrl+R rename ctrl+K compress ctrl+D decompress crtl+O open ctrl+alt+O openWith ctrl+L list ctrl+S search ctrl+G getProperties ctrl+alt+D delete ctrl+P print ctrl+W Waiting ctrl+H help ctrl+F format
Gestionnaire de fichier
ctrl+E execute