L3 Dunand Moreau

Sign in or create your account | Project List | Help

L3 Dunand Moreau Commit Details

Date:2010-01-14 22:25:28 (7 months 21 days ago)
Author:Aurélien Dunand
Commit:7114e1b97060b16e9a6cd581b7a18537b40ebf6b
Message:Correction mise en page

Files: rapport/part/developpement.tex (1 diff)
rapport/part/implantation.tex (1 diff)
rapport/rapport.tex (2 diffs)

Change Details

rapport/part/developpement.tex
2222\subsection{Package modele}
2323
2424La seul vrai différence entre le package modèle représenté dans le diagramme UML et ce qui est codé porte sur la relation entre \texttt{Segment} et \texttt{Station}.\\
25Dans le diagramme UML, chaque \texttt{Segment} était composé d'un couple de \texttt{Station} (source et destination), nous avons décidé de simplifier cette relation. Seul les destinations allaient être utilisés par l'algorithme, nous avons donc remplacé ce couple par une relation simple de \texttt{Segment} vers \texttt{Station} pour représenter la station de destination du segment, et du coté de la station, nous avons mis un \texttt{HashSet<Segment>} qui contient tout les destinations possibles pour cette station.\\\\
25Dans le diagramme UML, chaque \texttt{Segment} était composé d'un couple de \texttt{Station} (source et destination), nous avons décidé de simplifier cette relation. Seul les destinations allaient être utilisés par l'algorithme, nous avons donc remplacé ce couple par une relation simple de \texttt{Segment} vers \texttt{Station} pour représenter la station de destination du segment, et du coté de la station, nous avons mis un \texttt{HashSet<Segment>} qui contient tout les destinations possibles pour cette station.
2626Les autres modifications du package modele résultent d'oubli dans le diagramme UML.
2727
2828\subsection{Package vue}
2929
30Les différences dans le package vue sont plutôt nombreuse, principalement à cause d'un manque de pratique de la programmation sous Swing.\\\\
30Les différences dans le package vue sont plutôt nombreuse, principalement à cause d'un manque de pratique de la programmation sous Swing.
3131
32La différence la plus évidente est la suppression des classes \texttt{Carte} et \texttt{VueStation}. L'idée de départ était de placer les différentes stations représenté par \texttt{VueStation} sur une carte du métro pour que l'utilisateur puisse cliquer dessus pour sélectionner son itinéraire. L'utilisation des coordonnées GPS ne permetait pas de placer de manière convenable les stations sur la carte, nous avons donc décider d'abandonner l'idée d'utiliser une carte et de remplacer par un simple menu déroulant.\\\\
32La différence la plus évidente est la suppression des classes \texttt{Carte} et \texttt{VueStation}. L'idée de départ était de placer les différentes stations représenté par \texttt{VueStation} sur une carte du métro pour que l'utilisateur puisse cliquer dessus pour sélectionner son itinéraire. L'utilisation des coordonnées GPS ne permetait pas de placer de manière convenable les stations sur la carte, nous avons donc décider d'abandonner l'idée d'utiliser une carte et de remplacer par un simple menu déroulant.
3333
34Le code à été simplifié principalement par la suppression des classes inutiles comme \texttt{ContrainteRadio}, pour mettre les boutons radio directement dans \texttt{MenuContrainte}. \texttt{MenuStation} et \texttt{ContrainteStation} héritent de \texttt{JPanel}. \texttt{MenuStation} est placé dans un \texttt{JScrollPane} pour pouvoir s'adapter au nombre variable de station et utilie un \texttt{TreeMap} pour stocker les \texttt{ContrainteStation}.\\\\
34Le code à été simplifié principalement par la suppression des classes inutiles comme \texttt{ContrainteRadio}, pour mettre les boutons radio directement dans \texttt{MenuContrainte}. \texttt{MenuStation} et \texttt{ContrainteStation} héritent de \texttt{JPanel}. \texttt{MenuStation} est placé dans un \texttt{JScrollPane} pour pouvoir s'adapter au nombre variable de station et utilie un \texttt{TreeMap} pour stocker les \texttt{ContrainteStation}.
3535
3636Une dernière grande différence se situe sur le fonctionnement des évents. Il était prévu à l'origine que la classe \texttt{Fenetre} serve de récepteur pour tout les évents de l'interface graphique. Il s'est avéré beaucoup plus pratique que chaque classe gère ses propres évents et intéragisse avec la requête grâce à la fenêtre devenu un singleton.
3737
3838\subsection{Package controleur}
3939
40Une des principales différences dans le package controleur est l'utilisation d'un \texttt{TreeMap} pour stocker les objets \texttt{Station} et l'utilisation du nom de la station comme clé. Ça évite ainsi de devoir faire des appels au package modèle dans les différentes classes, seul le nom de la station est nécessaire et doit être manipulé, l'algorithme se charge d'obtenir les informations nécessaire à partir de la clé via le \texttt{TreeMap}.\\\\
40Une des principales différences dans le package controleur est l'utilisation d'un \texttt{TreeMap} pour stocker les objets \texttt{Station} et l'utilisation du nom de la station comme clé. Ça évite ainsi de devoir faire des appels au package modèle dans les différentes classes, seul le nom de la station est nécessaire et doit être manipulé, l'algorithme se charge d'obtenir les informations nécessaire à partir de la clé via le \texttt{TreeMap}.
4141
4242% Différence avec l'algo (nombreuses je suppose)
4343
rapport/part/implantation.tex
2323    this.listeStation.put(nom, new Station(nom, latitude, longitude));
2424}
2525\end{lstlisting}
26On construit d'abord le nom de la station, on concatène le tout jusqu'à ce qu'on arrive à la latitude. Ensuite on récupère la latitude puis la longitude et on ajoute la nouvelle \texttt{Station} à \texttt{listeStation}.\\\\
26On construit d'abord le nom de la station, on concatène le tout jusqu'à ce qu'on arrive à la latitude. Ensuite on récupère la latitude puis la longitude et on ajoute la nouvelle \texttt{Station} à \texttt{listeStation}.
2727
2828Dans la méthode \texttt{initialiserSegment} on va lire le fichier paris-metro.txt de la même manière que précédement, puis on va extraire les différentes informations en se servant de plusieurs délimiteurs présent dans le fichier.
2929\begin{lstlisting}
rapport/rapport.tex
3232}}
3333\makeatother
3434
35\begin{document}
36\maketitle
37\tableofcontents
38\clearpage
35\parskip=5pt % distance entre §
3936
4037\lstset{ %
4138language=java, % choose the language of the code
...... 
5653escapeinside={\%}{)} % if you want to add a comment within your code
5754}
5855
56\begin{document}
57\maketitle
58\tableofcontents
59\clearpage
5960
6061\input{part/presentation}
6162

Archive Download the corresponding diff file

Branches:
master