31
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

Projet SIRAGI Document Rapport d'analyse Version 1.0 Date

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Projet SIRAGI Document Rapport d'analyse Version 1.0 Date

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

Page 2: Projet SIRAGI Document Rapport d'analyse Version 1.0 Date

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

Page 3: Projet SIRAGI Document Rapport d'analyse Version 1.0 Date

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

Page 4: Projet SIRAGI Document Rapport d'analyse Version 1.0 Date

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

Page 5: Projet SIRAGI Document Rapport d'analyse Version 1.0 Date

Projet SIRAGI Modelisation de l'objet Listener

Diagramme de classe

Page 6: Projet SIRAGI Document Rapport d'analyse Version 1.0 Date

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

Page 7: Projet SIRAGI Document Rapport d'analyse Version 1.0 Date

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

Page 8: Projet SIRAGI Document Rapport d'analyse Version 1.0 Date

Projet SIRAGI Modélisation de l'objet SGBD

Diagramme de classe

Page 9: Projet SIRAGI Document Rapport d'analyse Version 1.0 Date

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

Page 10: Projet SIRAGI Document Rapport d'analyse Version 1.0 Date

• 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

Page 11: Projet SIRAGI Document Rapport d'analyse Version 1.0 Date

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.

Page 12: Projet SIRAGI Document Rapport d'analyse Version 1.0 Date

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

Page 13: Projet SIRAGI Document Rapport d'analyse Version 1.0 Date

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

Page 14: Projet SIRAGI Document Rapport d'analyse Version 1.0 Date

Projet SIRAGI Modelisation de l'objet Naviguateur

Diagramme de classe

Page 15: Projet SIRAGI Document Rapport d'analyse Version 1.0 Date

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

Page 16: Projet SIRAGI Document Rapport d'analyse Version 1.0 Date

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

Page 17: Projet SIRAGI Document Rapport d'analyse Version 1.0 Date

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

Page 18: Projet SIRAGI Document Rapport d'analyse Version 1.0 Date

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

Page 19: Projet SIRAGI Document Rapport d'analyse Version 1.0 Date

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

Page 20: Projet SIRAGI Document Rapport d'analyse Version 1.0 Date

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).

Page 21: Projet SIRAGI Document Rapport d'analyse Version 1.0 Date

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

Page 22: Projet SIRAGI Document Rapport d'analyse Version 1.0 Date

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

Page 23: Projet SIRAGI Document Rapport d'analyse Version 1.0 Date

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

Page 24: Projet SIRAGI Document Rapport d'analyse Version 1.0 Date

Projet SIRAGI Modélisation de l'objet SDK

Diagramme de classe

Cas d'utilisation:

Page 25: Projet SIRAGI Document Rapport d'analyse Version 1.0 Date

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:

Page 26: Projet SIRAGI Document Rapport d'analyse Version 1.0 Date

• 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

Page 27: Projet SIRAGI Document Rapport d'analyse Version 1.0 Date

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

Page 28: Projet SIRAGI Document Rapport d'analyse Version 1.0 Date

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

Page 29: Projet SIRAGI Document Rapport d'analyse Version 1.0 Date

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

Page 30: Projet SIRAGI Document Rapport d'analyse Version 1.0 Date

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

Page 31: Projet SIRAGI Document Rapport d'analyse Version 1.0 Date