From 03fa19472871ca7f4474d8e6172a7474063890f1 Mon Sep 17 00:00:00 2001 From: SylvanCourtiol Date: Wed, 26 May 2021 09:58:52 +0200 Subject: [PATCH] MAJ dossier : conception --- .../dossierPartieConception/Conception.pdf | Bin 988316 -> 989103 bytes .../dossierPartieConception/Conception.tex | 1 + .../fichiers/final.tex | 12 ++++++------ .../fichiers/iteration1.tex | 12 ++++++------ .../fichiers/iteration2.tex | 13 +++++++------ .../fichiers/iteration3.tex | 12 ++++++------ 6 files changed, 26 insertions(+), 24 deletions(-) diff --git a/documents/dossierPartieConception/Conception.pdf b/documents/dossierPartieConception/Conception.pdf index 3abdee681dce6f5278dabf127c4797771ede9687..c3bb15d799e291af99a24718bf7e0ddc4d9801f9 100644 GIT binary patch delta 21346 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 delta 20835 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 B({BI( diff --git a/documents/dossierPartieConception/Conception.tex b/documents/dossierPartieConception/Conception.tex index e5cbc47..9424697 100644 --- a/documents/dossierPartieConception/Conception.tex +++ b/documents/dossierPartieConception/Conception.tex @@ -5,6 +5,7 @@ \usepackage[top=1.5cm, bottom=4cm]{geometry} \usepackage{fancyhdr, graphicx, array, hyperref} \usepackage{glossaries} + %\usepackage[onehalfspacing]{setspace} %\usepackage{pdfpages} diff --git a/documents/dossierPartieConception/fichiers/final.tex b/documents/dossierPartieConception/fichiers/final.tex index d73b66f..fceac98 100644 --- a/documents/dossierPartieConception/fichiers/final.tex +++ b/documents/dossierPartieConception/fichiers/final.tex @@ -1,19 +1,19 @@ \par Ce chapitre contient les diagrammes de classes représentant le logiciel codé. Les diagrammes de l'itération trois ont été complétés à partir du code pour ajouter les détails d'intégration dans le diagrammes (méthodes privées par exemple). \section{Paquetage interpreteurlir.donnees(.litteraux)} -\includegraphics[scale=0.55]{./img/COO/PackageDonnees} +\begin{center}\includegraphics[scale=0.55]{./img/COO/PackageDonnees}\end{center} \section{Paquetage interpreteurlir.expressions} -\includegraphics[scale=0.55]{./img/COO/PackageExpression} +\begin{center}\includegraphics[scale=0.55]{./img/COO/PackageExpression}\end{center} \section{Paquetage interpreteurlir.programmes} -\includegraphics[scale=0.55]{./img/COO/PackageProgrammes} +\begin{center}\includegraphics[scale=0.55]{./img/COO/PackageProgrammes}\end{center} \section{Paquetage interpreteurlir.motscles} -\includegraphics[scale=0.60]{./img/COO/PackageMotscles} +\begin{center}\includegraphics[scale=0.60]{./img/COO/PackageMotscles}\end{center} \section{Paquetage interpreteurlir.motscles.instructions} -\includegraphics[scale=0.60]{./img/COO/PackageInstruction} +\begin{center}\includegraphics[scale=0.60]{./img/COO/PackageInstruction}\end{center} \section{Paquetage interpreteurlir} -\includegraphics[scale=0.55]{./img/COO/PackageInterpreteurlir} \ No newline at end of file +\begin{center}\includegraphics[scale=0.55]{./img/COO/PackageInterpreteurlir}\end{center} \ No newline at end of file diff --git a/documents/dossierPartieConception/fichiers/iteration1.tex b/documents/dossierPartieConception/fichiers/iteration1.tex index 511b9cd..e21778c 100644 --- a/documents/dossierPartieConception/fichiers/iteration1.tex +++ b/documents/dossierPartieConception/fichiers/iteration1.tex @@ -1,29 +1,29 @@ \par L'objectif de l'itération 1 était un prototype qui devait premièrement pouvoir se lancer et s'éteindre. De plus le prototype devait pouvoir gérer (mémorisation, affectation) des données de type chaines. Les commandes debut, defs, fin et l'instruction var ont donc été ajoutés afin d'obtenir ces fonctionnalités. \section{Paquetage interpreteurlir.donnees.litteraux} -\includegraphics[scale=0.75]{./img/COO/COO_prototype_1/PackageLitteraux} +\begin{center}\includegraphics[scale=0.75]{./img/COO/COO_prototype_1/PackageLitteraux}\end{center} \par Le choix de conception des littéraux a été une classe parente Litteral qui permet d'englober tous les types de données du programme. La classe Entier a été détaillé dans la conception cependant elle n'a pas été codée à cette itération pour se concentrer sur les chaînes. Les littéraux sont immuables pour permettre leur passage sans problème. \section{Paquetage interpreteurlir.donnees} -\includegraphics[scale=0.65]{./img/COO/COO_prototype_1/PackageDonnees} +\begin{center}\includegraphics[scale=0.65]{./img/COO/COO_prototype_1/PackageDonnees}\end{center} \par Pour les données une classe variable a été choisie composée d'un littéral et d'un identificateur. L'identificateur a comme classes dérivées les deux types affectables du projet soit les entiers et les chaînes. \section{Paquetage interpreteurlir.expressions} -\includegraphics[scale=0.60]{./img/COO/COO_prototype_1/PackageExpressions} +\begin{center}\includegraphics[scale=0.60]{./img/COO/COO_prototype_1/PackageExpressions}\end{center} \par Comme pour le reste de notre conception les expressions sont typées et sont une spécialisation d'une classe Expression générale regroupant les comportements communs. Une méthode de classe d'Expression permet de créer le bon type d'expression. \section{Paquetage interpreteurlir.motscles} -\includegraphics[scale=0.60]{./img/COO/COO_prototype_1/PackageMotscles} +\begin{center}\includegraphics[scale=0.60]{./img/COO/COO_prototype_1/PackageMotscles}\end{center} \par La conception de l'itération 1 contient ce qui devait être faits lors de cette itération à quelques détaille près comme la classe InstructionAffiche qui n'a pas été codée car non nécessaire aux fonctionnalités choisies. L'itération 1 voulait permettre de manier des chaînes il fallait donc que les commandes connaissent le contexte contenant les variables. La solution choisie a été une attribut d'instance dans Commande initialiser à la construction de la commande par passage de la référence du contexte global par le constructeur. Une instance de commande correspond à un objet ayant toutes les informations nécessaire pour être exécuté (String arguments dans le constructeur). Les commandes et instructions fonctionnent en 2 temps, la construction qui valide les arguments et créer les éléments nécessaires à l'exécution puis l'exécution qui est la réalisation du comportement de la commande. \section{Paquetage interpreteurlir} -\includegraphics[scale=0.60]{./img/COO/COO_prototype_1/PackageInterpreteurlir} +\begin{center}\includegraphics[scale=0.60]{./img/COO/COO_prototype_1/PackageInterpreteurlir}\end{center} \par Le contexte regroupe l'entièreté des variables définies dans la session courante. Une variable n'est accessible que par l'intermédiaire du contexte grâce à l'identificateur qui sert de clé. L'Analyseur est la classe qui permet le fonctionnement de tout. Une mainLoop permet de demander en continue une ligne à l'utilisateur puis celle-ci est analyser, à partir du mot clé une commande/instruction est crée en passant le reste de la ligne en argument. L'analyse des arguments se fait au niveau le plus interne possible (Analyseur analyse le mot cle, la commande les arguments qui construit ensuite les éléments dont elle a besoin qui s'occupe eux-mêmes de vérifier leur validité à la construction). Si une erreur dans la ligne à interprété est détecté alors une InterpreteurException est levée et se propage jusqu'à l'analyseur qui affiche l'erreur. \section{Illustration avec des diagrammes d'objets} -\includegraphics[scale=0.50]{./img/COO/COO_prototype_1/Objet} +\begin{center}\includegraphics[scale=0.50]{./img/COO/COO_prototype_1/Objet}\end{center} \par Voici des diagrammes qui ont été faits pendant la réflexion de cette conception. Ils permettent d'illustrer le fait qu'une instruction créer les éléments dont elle a besoin. Seul changement dans la conception par rapport à ces diagrammes : les opérateurs sont gérer en interne des instructions (il n'y pas de classe Operateur). \ No newline at end of file diff --git a/documents/dossierPartieConception/fichiers/iteration2.tex b/documents/dossierPartieConception/fichiers/iteration2.tex index e9ae725..6ec8a9d 100644 --- a/documents/dossierPartieConception/fichiers/iteration2.tex +++ b/documents/dossierPartieConception/fichiers/iteration2.tex @@ -3,10 +3,11 @@ \section{Diagrammes d'objets} Comme conseillé par notre tuteur, nous avons commencé la conception de l'itération 2 par des diagrammes d'objets. Ci-dessous quelques exemples. \par -\includegraphics[scale=0.5]{./img/COO/COO_prototype_2/digrammesObjet/Diagramme d'objet la commande liste} +\begin{center}\includegraphics[scale=0.5]{./img/COO/COO_prototype_2/digrammesObjet/Diagramme d'objet la commande liste} +\end{center} \par Le premier montre que la commande liste fait appel au programme (contenant les lignes de codes constituant un programmes) pour exécuter son comportement. \par -\includegraphics[scale=0.5]{./img/COO/COO_prototype_2/digrammesObjet/Diagramme d'objet de la commande efface} +\begin{center}\includegraphics[scale=0.5]{./img/COO/COO_prototype_2/digrammesObjet/Diagramme d'objet de la commande efface}\end{center} \par La commande efface connait donc les deux étiquettes qui définissent sont comportement spécifique d'instance. Pour sont exécution elle doit connaitre le programme global de la session courante de l'interpréteur LIR. \section{Paquetage interpreteurlir.donnees(.litteraux)} @@ -16,17 +17,17 @@ Comme conseillé par notre tuteur, nous avons commencé la conception de l'itér \par Comme pour les données, pas de changement de conception mais programmtion de ExpressionEntier. \section{Paquetage interpreteurlir.programmes} -\includegraphics[scale=0.5]{./img/COO/COO_prototype_2/PackageProgrammes} +\begin{center}\includegraphics[scale=0.5]{./img/COO/COO_prototype_2/PackageProgrammes}\end{center} \par Premièrement la classe étiquette permet d'ordonner les lignes de codes. Le Programme contient des méthodes pour tous les comportement qu'il doit réaliser ce qui permet de les intégrés en interne ce qui rend leur usage plus simple pour les commandes et instructions. Seul la méthode vaen est absente de la conception car nous nous sommes rendu compte qu'elle était nécessaire pendant la programmation. Autre changement, le programme doit enregistrés les lignes de codes. La conception montre une classe LigneCode prévue à cet effet cependant sur le conseil de notre tuteur nous avons utilisé une TreeMap ce qui a rendu LigneCode obsolète. La classe avait été programmée et testée mais nous l'avons supprimée car TreeMap était une meilleur solution. \section{Paquetage interpreteurlir.motscles} -\includegraphics[scale=0.45]{./img/COO/COO_prototype_2/PackageCommande} +\begin{center}\includegraphics[scale=0.45]{./img/COO/COO_prototype_2/PackageCommande}\end{center} \par Les commandes à ajouter à cette itération ont été ajoutée à la conception en suivant le même principe de la dualité construction/exécution. Seul changement notable (non montré dans le diagramme car décidé pendant la programmation), l'ajout du programme nécessite que les commandes connaissent celui-ci. Après une longue réflexion nous avons choisis de le déclaré comme attribut protected dans la classe Commande et de le référencer au lancement de l'interpréteur sans savoir si c'était un bon choix ou non. \section{Paquetage interpreteurlir.motscles.instructions} -\includegraphics[scale=0.45]{./img/COO/COO_prototype_2/PackageInstruction} +\begin{center}\includegraphics[scale=0.45]{./img/COO/COO_prototype_2/PackageInstruction}\end{center} \par Aucun changement notable, seulement ajout des nouvelles instructions. \section{Paquetage interpreteurlir} -\includegraphics[scale=0.45]{./img/COO/COO_prototype_2/PackageInterpreteurlir} +\begin{center}\includegraphics[scale=0.45]{./img/COO/COO_prototype_2/PackageInterpreteurlir}\end{center} \par Ajout de l'exception ExecutionException lancée pour une erreur à l'exécution comme une division par 0 (contrairement à l'InterpreteurException qui est lancée à la construction). Elle également affichée par l'Analyseur. \ No newline at end of file diff --git a/documents/dossierPartieConception/fichiers/iteration3.tex b/documents/dossierPartieConception/fichiers/iteration3.tex index f6e5f1a..e2bfefc 100644 --- a/documents/dossierPartieConception/fichiers/iteration3.tex +++ b/documents/dossierPartieConception/fichiers/iteration3.tex @@ -1,20 +1,20 @@ \par L'itération 3 à ajoutée les expressions booléennes avec l'instruction si vaen. Et les commandes permettent d'enregistrer et charger un programme LIR dans l'interpréteur (commande charge et sauve). \section{Diagrammes d'objets} -\includegraphics[scale=0.80]{./img/COO/COO_prototype_3/digrammesObjet/charge} +\begin{center}\includegraphics[scale=0.80]{./img/COO/COO_prototype_3/digrammesObjet/charge}\end{center} \par Les commandes sauve et charge sont liées au programme pour pouvoir charger ou récupérer des lignes de codes. Ces commandes connaissent une chaînes de texte correspondant au chemin du fichier. \par -\includegraphics[scale=0.75]{./img/COO/COO_prototype_3/digrammesObjet/siVaen} +\begin{center}\includegraphics[scale=0.75]{./img/COO/COO_prototype_3/digrammesObjet/siVaen}\end{center} \par L'instruction si a besoin pour fonctionner d'une ExpressionBooleenne et de connaitre le contexte pour chercher les valeurs des variables à comparer. Elle doit connaitre l'étiquette où aller si la condition est vraie et donc du programme pour appeler la méthode du programme vaen. \section{Paquetage interpreteurlir.donnees(.litteraux)} -\includegraphics[scale=0.40]{./img/COO/COO_prototype_3/PackageDonnees} +\begin{center}\includegraphics[scale=0.40]{./img/COO/COO_prototype_3/PackageDonnees}\end{center} \par Le type booléen hérite de Litteral pour garder la logique de Litteral pouvant référencer chaque type de valeur du programme. \section{Paquetage interpreteurlir.expressions} -\includegraphics[scale=0.45]{./img/COO/COO_prototype_3/PackageExpression} +\begin{center}\includegraphics[scale=0.45]{./img/COO/COO_prototype_3/PackageExpression}\end{center} \par L'expression booléenne ne s'obtient pas avec la méthode determinerExpression car celle-ci est utilisée que par si vaen qui utilise que ce type d'expression. Le constructeur d'ExpressionBooleenne est donc utilisé directement. -\section{Diagramme de classe général} -\includegraphics[scale=0.35]{./img/COO/COO_prototype_3/Scéma général simplifié} +\section{Diagramme de classes général} +\begin{center}\includegraphics[scale=0.35]{./img/COO/COO_prototype_3/Scéma général simplifié}\end{center} \par Les commandes sauve et charge ont été ajoutés à la conception mais sont similaires aux autres commandes. Pareil pour l'instruction si vaen. Ce diagramme général permet de voir l'ensemble de la conception pour ce qui est des associations et généralisation des classes. \ No newline at end of file