DÉFINITION DES BESOINS

Logiciel de traitement de texte Windows
avec outils d'analyse lexicale


  1. Introduction

    Ce document sert à définir les besoins fonctionnels et non-fonctionnels du logiciel de traitement de texte à concevoir. Les besoins fonctionnels sont les services qui doivent être fournis par le logiciel. Ce sont les fonctionnalités dont l'usager s'attends de la part d'un logiciel de ce type. Les besoins non-fonctionnels décrivent les contraintes que le logiciel doit satisfaire. Ce sont des aspects techniques que le développeur doit respecter afin de produire un logiciel de qualité. À la fin de ce document, vous retrouverez une liste de références bibliographiques qui sera consultée par le développeur afin de satisfaire tous les besoins explicités dans ce document.

  2. Déclaration des besoins

    Besoins fonctionnels :

    1. La création d'un nouveau document
    2. L'ouverture d'un document existant
    3. La sauvegarde d'un document
    4. La sauvegarde d'un document sous un autre nom
    5. L'impression d'un document
    6. La configuration de l'impression
    7. L'aperçu avant l'impression d'un document
    8. Le zoom avant et arrière de l'aperçu
    9. La navigation à la page précédente et suivante de l'aperçu
    10. L'aperçu d'une ou de deux pages à la fois
    11. L'accès direct à un fichier via une liste de fichiers récemment ouverts
    12. L'annulation de la dernière modification
    13. La suppression de texte sélectionné
    14. Le copiage à la mémoire tampon de texte sélectionné
    15. Le collage de texte sélectionné à partir de la mémoire tampon
    16. La visualisation ou non de la barre d'outils
    17. La visualisation ou non de la barre de messages
    18. La vérification de l'orthographe
    19. La suggestion de mots du dictionnaire
    20. La correction ou l'ajout d'un nouveau mot
    21. La vérification de la syntaxe
    22. La sommation du nombre de mots
    23. L'affichage des informations à propos de l'application
    24. L'affichage du menu textuel pour accéder aux fonctions du logiciel
    25. La mise en place de touches de raccourci pour accéder aux fonctions du logiciel
    26. La sortie du programme
  3. Besoins non-fonctionnels :

    1. Un temps de traitement raisonnable pour l'initialisation du dictionnaire
    2. La pertinence des suggestions de correction de l'orthographe
    3. La sécurité de la sauvegarde sans perte d'information
    4. Des interfaces intuitives et conviviales

  4. Définition des besoins fonctionnels

    1. La création d'un nouveau document
    2. Le logiciel doit permettre à l'usager de créer un nouveau document textuel. Si un document modifié est déjà ouvert au moment de la création d'un nouveau document, l'application doit offrir la possibilité de sauvegarder le document courant avant de créer le nouveau document.

    3. L'ouverture d'un document existant
    4. Le logiciel doit permettre d'ouvrir un document de texte. La boîte de dialogue qui s'occupe de cette fonction doit permettre de parcourir les supports physiques du système et de visualiser les différents fichiers qui s'y trouvent. Un message d'erreur doit avertir l'usager lorsqu'il tente d'ouvrir un fichier qui n'est pas textuel.

    5. La sauvegarde d'un document
    6. Le logiciel doit permettre à l'usager de sauvegarder des changements apportés à un document existant. L'application doit également permettre la sauvegarde d'un nouveau document. L'usager a accès à tous les supports physiques accessibles par le gestionnaire de fichiers du système. Tout problème relié au manque d'espace mémoire ou à la défectuosité d'un support physique doit être géré par le système d'exploitation.

    7. La sauvegarde d'un document sous un autre nom
    8. Le logiciel doit permettre la sauvegarde d'un document existant sous un autre nom ou vers une autre destination. L'activation de cette même fonction pour un nouveau document doit offir les mêmes fonctionnalités que la fonction de sauvegarde préalablement définie.

    9. L'impression d'un document
    10. Le logiciel doit permettre à l'usager d'imprimer un document textuel. La boîte de dialogue correspondante doit permettre de choisir l'imprimante et/ou de modifier ses propriétés. L'application doit également permettre de sélectionner les pages à imprimer et le nombre de copies à effectuer.

    11. La configuration de l'impression
    12. Le logiciel doit permettre à l'usager de spécifier l'orientation de l'impression (portrait ou paysage). Il doit également permettre de spécifier la grandeur et la source du papier sur lequel sera imprimé le document.

    13. L'aperçu avant l'impression d'un document
    14. Le logiciel doit offir le service de visualisation du document avant son impression afin de mieux prévoir le résultat de l'impression. Si aucune imprimante n'est installée, cette fonction doit être désactivée.

    15. Le zoom avant et arrière de l'aperçu
    16. Lors de la visualisation d'un document avant son impression, l'application doit permettre de faire un zoom avant et/ou arrière du document afin d'améliorer la qualité de visualisation du document. Lorsque l'usager aura sélectionné un niveau de zoom maximal, la fonction correspondante doit être désactivée. Lorsque le niveau de zoom est situé à un niveau intermédiaire, l'usager doit avoir accès aux fonctions du zoom avant et arrière.

    17. La navigation à la page précédente et suivante de l'aperçu
    18. Lors de la visualisation d'un document avant son impression, l'application doit permettre de visualiser une page suivante ou précédente si celles-ci existent. Dans le cas où aucune page précédente ou suivante n'existe, cette option doit être désactivée.

    19. L'aperçu d'une ou de deux pages à la fois
    20. Lors de la visualisation d'un document avant son impression, le logiciel doit permettre de visualiser une ou deux pages en même temps. Dans le cas où il n'existe qu'une seule page de texte, la seconde page doit être vide.

    21. L'accès direct à un fichier via une liste de fichiers récemment ouverts
    22. L'application doit permettre d'accéder une liste de fichiers récemment ouverts. La liste doit contenir au plus quatre entrées. Cette fonctionnalité permet l'accès direct à un fichier ce qui accélère significativement le temps de réponse relié à l'ouverture d'un document.

    23. L'annulation de la dernière modification
    24. L'application doit permettre d'annuler la dernière modification effectuée. Cette fonction doit fonctionner même après la sauvegarde du fichier. Cette fonction doit être désactivée lorsqu'aucune modification n'a été faite.

    25. La suppression de texte sélectionné
    26. Cette fonction doit permettre à l'usager de sélectionner du texte et le supprimer. Le texte supprimé est ensuite conservé dans la mémoire tampon jusqu'à son remplacement éventuel.

    27. Le copiage à la mémoire tampon de texte sélectionné
    28. Cette fonction doit permettre à l'usager de sélectionner du texte et le copier dans la mémoire tampon. Le texte copié est ensuite conservé dans la mémoire tampon jusqu'à son remplacement éventuel.

    29. Le collage de texte sélectionné à partir de la mémoire tampon
    30. Cette fonction doit permettre à l'usager d'insérer le texte contenu dans la mémoire tampon à la position du curseur. Le texte contenu dans le tampon est conservé en mémoire jusqu'à son remplacement éventuel. Cette fonction doit être désactivée lorsqu'aucun texte n'est contenu dans le tampon.

    31. La visualisation ou non de la barre d'outils
    32. Le logiciel doit offrir la possibilité d'afficher ou non une barre d'outils. Cette barre d'outils offre l'accès rapide aux fonctions nos. 1, 2, 3, 5, 13, 14, 15 et 23 spécifiées à la section 2.

    33. La visualisation ou non de la barre de messages
    34. Le logiciel doit offrir la possibilité d'afficher ou non une barre de messages. Cette barre de messages affiche les états des touches NumLock, CapsLock et ScrollLock. Elle affiche également une description des fonctions du menu textuel ou de la barre d'outils lorsque la souris les survoles.

    35. La vérification de l'orthographe
    36. Le logiciel offre la possibilité de survoler un document texte et de comparer chaque mot du document avec les mots contenus dans son dictionnaire interne.

    37. La suggestion de mots du dictionnaire
    38. La fonction de vérification de l'orthographe doit offrir des suggestions de mots du dictionnaire qui sont similaires au mot du document qui n'est pas inclu dans le dictionnaire.

    39. La correction ou l'ajout d'un nouveau mot
    40. Lors de la vérification de l'orthographe, si un mot du document ne correspond pas aux entrées du dictionnaire, l'usager doit avoir la possibilité d'ignorer une suggestion, d'en choisir une parmi la sélection, de corriger manuellement l'orthographe d'un mot ou d'ajouter le mot en question au dictionnaire.

    41. La vérification de la syntaxe
    42. Le logiciel doit permettre de survoler rapidement un document textuel afin de vérifier certaines règles syntaxiques dont l'emploi d'une lettre majuscule après un point en fin de phrase ou une appostrophe en début de phrase.

    43. La sommation du nombre de mots
    44. Le logiciel doit inclure une fonction qui sert à compter le nombre de mots qui sont dans un document textuel. Dans le cas où le document ne contient aucun mot, la fonction affichera la valeur 0.

    45. L'affichage des informations à propos de l'application
    46. Le logiciel doit inclure une fonction d'affichage d'une boîte de dialogue qui indique les informations qui spécifient le numéro de version, la date de création et le nom de l'auteur.

    47. L'affichage du menu textuel pour accéder aux fonctions du logiciel
    48. Le logiciel doit afficher un menu textuel accessible par le clavier et permettant d'avoir accès aux fonctions de l'application en se servant uniquement du clavier.

    49. La mise en place de touches de raccourci pour accéder aux fonctions du logiciel
    50. Le logiciel doit mettre en place des touches raccourci afin d'accéder plus rapidement aux fonctions du logiciel via le clavier.

    51. La sortie du programme
    52. Le logiciel doit permettre à l'usager de quitter le programme. Dans le cas où un document ouvert contient des modifications qui n'ont pas été sauvegardées, le programme doit offrir à l'usager l'option de sauvegarder le document avant de quitter.

  5. Définition des besoins non-fonctionnels

    1. Un temps de traitement raisonnable pour l'initialisation du dictionnaire
    2. La création d'un processus léger (thread) permettra de diminuer le temps de traitement pour initialiser le dictionnaire. Au moment où l'usager active la correction de l'orthographe, un processus léger sera créé pour charger le dictionnaire. Ceci permettra l'exécution simultanée de la fonction d'affichage de la boîte de dialogue du correcteur d'orthographe et de la fonction de chargement du dictionnaire. Le temps de chargement ne doit pas dépasser 4 secondes.

    3. La pertinence des suggestions de correction de l'orthographe
    4. Plusieurs facteurs doivent être considérés afin de suggérer un mot du dictionnaire. Pour chaque mot du document qui n'est pas dans le dictionnaire, le logiciel doit considérer le nombre de lettres et le nombre de différences entre celui-ci et les mots du dictionnaire. Il devra ensuite suggérer un ensemble de mots du dictionnaire ayant une forte corrélation avec le mot du document.

    5. La sécurité de la sauvegarde sans perte d'information
    6. Le logiciel doit vérifier si ou non le document et/ou ses modifications sont sauvegardés à chaque fois que l'usager exécute une fonction ayant comme conséquence la perte d'information. La vérification de sauvegarde doit alors se faire lorsque l'usager tente de quitter le programme, ouvrir un document existant ou créer un nouveau document. Les seules exceptions à cette règle sont la suppression manuelle de texte ou la mise hors tension du système.

    7. Des interfaces intuitives et conviviales
    8. Les interfaces du logiciel doivent être conformes aux standards établis par Microsoft. Le logiciel doit alors afficher des interfaces qui se rapporchent le plus possible aux logiciels de traitement de texte Microsoft Word, Microsoft Notepad et Microsoft WordPad. Le logiciel doit également afficher une brève description de chaque fonction dans sa barre de message lorsque l'usager survole celle-ci via le menu textuel ou la barre d'outils.

  6. Références

    1. Petzold, Charles, "Programming Windows", Fifth Edition, Microsoft Press, 1999
    2. Irvine, Kip R., "C++ And Object-Oriented Programming", Prentice Hall, 1997
    3. Tischer, Michael, "Programmation système", Sixième édition, Micro Application, 1997
    4. Sommerville, Ian, "Software Engineering", Fourth Edition, Addison-Wesley, 1994
    5. "MSDN Online", Microsoft, 1997