\include{macroTL} \title{Génie logiciel \\ -- \\TD4} \author{\bsc{Pietri} Yoann (A11)\\\bsc{Levy--Falk} Hugo (A11)} \date{Mars 2018} \usepackage{mathrsfs} \usepackage{MyPack2} \usepackage{pdftexcmds} \usepackage{minted} \begin{document} \maketitle \initPage{TL de Génie Logiciel}{\today}{\bsc{Pietri} Yoann, \bsc{Levy--Falk} Hugo} \tableofcontents \newpage \section{Lecture d'une chaîne de caractères dans un fichier} Le mot clé \mintinline{java}{static} permet d'appeler la méthode \mintinline{java}{lireTexte} sans avoir besoin d'instancier d'objet de la classe \mintinline{java}{Utilitaire}. Code source de la classe Comparateur : \inputminted{java}{td4/question1/comparateur.java} \section{Implémentation de l'architecture logicielle} \subsection{Code source de la classe \mintinline{java}{Comparateur}} \inputminted{java}{td4/question2/Comparateur.java} \subsection{Code source de la classe \mintinline{java}{AlgoCodage}} \inputminted{java}{td4/question2/AlgoCodage.java} \subsection{Code source de la classe \mintinline{java}{Cesar}} \inputminted{java}{td4/question2/Cesar.java} \section{Utilisation d'un patron pour ajouter un algorithme existant} Les classe \mintinline{java}{EncodeurAClef} ne possède pas les méthodes \mintinline{java}{encode} et \mintinline{java}{décode}, mais possède des méthodes \mintinline{java}{chiffre} et \mintinline{java}{déchiffre}. De plus il n'hérite pas de \mintinline{java}{AlgoCodage}. La solution est d'utiliser le patron adaptateur. La figure \ref{fig:rationalrose} montre le diagramme \bsc{UML} de l'application. \begin{figure}[h!] \centering \includegraphics[width=0.7\linewidth]{td4/question3/rational_rose} \caption{Diagramme UML} \label{fig:rationalrose} \end{figure} Le code à ajouter dans la classe comparateur est alors: \begin{minted}{java} algoAComparer.add(new AdapteEncodeurAClef("mon secret")); algoAComparer.add(new AdapteEncodeurAClef("")); \end{minted} \section{Tests unitaires pour codage d'Huffman} Code source de la classe \mintinline{java}{ArbreTest} : \inputminted{java}{td4/question4/ArbreTest.java} \section{Documentation} Code source de la classe Feuille : \inputminted{java}{td4/question5/Feuille.java} \clearpage \listoffigures \end{document}