| rapport/part/developpement.tex |
| 22 | 22 | \subsection{Package modele} |
| 23 | 23 | |
| 24 | 24 | La 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}.\\ |
| 25 | | Dans 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.\\\\ |
| 25 | Dans 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. |
| 26 | 26 | Les autres modifications du package modele résultent d'oubli dans le diagramme UML. |
| 27 | 27 | |
| 28 | 28 | \subsection{Package vue} |
| 29 | 29 | |
| 30 | | Les différences dans le package vue sont plutôt nombreuse, principalement à cause d'un manque de pratique de la programmation sous Swing.\\\\ |
| 30 | Les différences dans le package vue sont plutôt nombreuse, principalement à cause d'un manque de pratique de la programmation sous Swing. |
| 31 | 31 | |
| 32 | | La 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.\\\\ |
| 32 | La 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. |
| 33 | 33 | |
| 34 | | Le 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}.\\\\ |
| 34 | Le 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}. |
| 35 | 35 | |
| 36 | 36 | Une 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. |
| 37 | 37 | |
| 38 | 38 | \subsection{Package controleur} |
| 39 | 39 | |
| 40 | | Une 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}.\\\\ |
| 40 | Une 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}. |
| 41 | 41 | |
| 42 | 42 | % Différence avec l'algo (nombreuses je suppose) |
| 43 | 43 | |
| rapport/part/implantation.tex |
| 23 | 23 | this.listeStation.put(nom, new Station(nom, latitude, longitude)); |
| 24 | 24 | } |
| 25 | 25 | \end{lstlisting} |
| 26 | | On 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}.\\\\ |
| 26 | On 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}. |
| 27 | 27 | |
| 28 | 28 | Dans 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. |
| 29 | 29 | \begin{lstlisting} |