Ceci est le répertoire de Sosane Mahamoud Houssein pour le devoir et projet final du cours INF1163 pendant le trimestre d'été 2024.
Le travail n’est pas d’implémenter tout le système TimeLog, mais plutôt correspond essentiellement à une partie de la phase d’élaboration et du codage. Veuillez se référer au document du projet-devoir
TimeLog est un logiciel qui offre une assistance automatisée de calcul de temps, de salaires et de contrôle de budget de ses projets. Ce système est installé sur une machine dédiée sur laquelle tout employé peut se connecter pour signaler des opérations diverses. Payroll est un sous-système appartenant à TimeLog qui produit et imprime (affiche dans le cadre de ce projet) des chèques de paie toutes les deux semaines en lui envoyant en argument une liste d'objets.
Le but du système TimeLog est de permettre à l'utilisateur de naviguer dans le système de menu à l'aide d'une interface de ligne de commande. L'interface ne sera pas graphique, mais elle sera interactive et elle permettra à l'utilisateur de choisir des opérations dans un menu et de fournir des valeurs à partir de listes d'options.
Afin d'utiliser le logiciel, veuillez exécuter la classe TimeLog.java dans le projet TimeLogCode.
Le projet a été écrit en Java en utilisant Eclipse IDE. Vous trouverez tous les fichiers à télécharger au préalable ainsi que les documents et les diagrammes décrivant le système TimeLog et le sous-système Payroll.
Le projet utilise des fichiers JSON pour stocker ses données. Tous les fichiers JSON se trouvent dans le dossier FichierJSON. Le contenu des fichiers JSON peuvent être modifié par les utilisateurs lors de l'exécution du logiciel. Un utilisateur qui est l'instance d'un administrateur peut modifier tous les fichiers. Un utilisateur qui est l'instance d'un employé peut seulement modifier le fichier activite.json. Le fichier employe.json contient un tableau d'objet. Chaque objet représente un employé. Pour s'authentifier, un utilisateur doit valider son nom d'usager et son mot de passe. Le mot de passe est l'ID de l'employé. Toutes ces données se retrouvent dans employe.json. Le fichier activite.json contient tous les objets "activité". Une activité est caractérisée par sa discipline de travail, le projet associé et le ou les employés associés. Ce fichier est souvent modifié par les employés. Le fichier projet.json stocke tous les projets et leurs détails pertinents associés. Un projet peut être assigné à des employés par l'administrateur.
Le package PayRoll contient les classes PayInfo.java et Payroll.java ainsi que l'interface PayrollInterface.java. La classe Payroll.java implémente l'interface PayrollInterface.java. Leurs méthodes sont: netFromBrute et DeductionsReport. Il y aussi la méthode supplémentaire afficherPaie qui est utilisé pour afficher les chèques de paie d'un employé. La classe PayInfo.java contient les attributs pertinents d'un chèque de paie.
Afin d'obtenir plus de détails concernant les classes de PayRoll, veuillez se référer au document du projet-devoir.
Le package TimeLog contient les classes Utilisateur.java, Activite.java, Menu.java, Operation.java, Administrateur.java, Employe.java, Projet.java, RapportEtat.java et TimeLog.java. Les attributs et méthodes pertinentes à l'exécution sont dans ces classes. Je vous invite à consulter le package et à jeter un oeil au code pour tous les détails.
Concernant la classe TimeLog.java: Assurez-vous d'avoir modifié le chemin d'accès des variables employeJSON, activiteJSON et projetJSON afin de pouvoir utiliser les fichiers JSON correctement. De plus, le projet s'exécute et compile sur cette classe
Le fichier json-simple.jar est disponible pour téléchargement. Le dossier contient aussi le lien Internet de ma source. Veuillez consulter Installation pour plus de précision.
Tous les fichiers PDF pertinents à la documentation se retrouvent dans le dossier Documents. Le document Projet-Devoir-ete-2024.pdf a été remis par le professeur, ce document contient toutes les instructions du projet et il décrit les livrables. Le document Devoir_INF1163_SosaneMahamoudHoussein.pdf est le fichier du devoir qui a été remis au professeur. Le fichier Projet_INF1163_SosaneMahamoudHoussein.pdf est le document final du projet qui a été remis au professeur. Tous les détails des livrables des deux derniers documents sont aussi décrit dans le document Projet-Devoir-ete-2024.pdf.
Tous les diagrammes en format png pertinents sont inclus dans Diagrammes. Le sous-dossier Diagramme initial contient plusieurs diagrammes qui représentent un croquis du projet et la phase initiale de la conception. Ces diagrammes sont à risque de modification tout au long de la conception du système. Le dossier diags contient tous les diagrammes pour le livrable du projet final. Le diagramme de classe initial, le modèle de domaine et le diagramme de cas d'utilisation de ce projet ont été conçus à l'aide du site draw.io. Les diagrammes de séquences (DS1.png et DS2.png) et le diagramme de classe final ont été conçus à l'aide de Modelio.
git clone https://github.com/SOSANE/github-Houssein.gitSi vous avez des difficultés à ouvrir, modifier ou utiliser les fichiers JSON, veuillez suivre les consignes ci-dessous en utilisant Eclipse IDE.
Afin d'ouvrir des fichiers JSON sur Eclipse IDE, veuillez cliquer Windows > Preferences > General > Editors > File association > Add (dans la section File types:)
Une nouvelle fenêtre s'affichera, veuillez écrire dans l'espace texte "*.json" et cliquez sur OK
Dans la section Associated editors:, veuillez cliquer sur Add...
Une nouvelle fenêtre s'affichera, prenez l'option Internal editors et veuillez choisir Text Editor dans la liste d'éléments à choisir. Cliquez sur OK sur les deux fenêtres.
Si vous avez encore des difficultés, vous pouvez consulter la vidéo suivante.
À présent, vous devriez être en mesure d'ouvrir, de modifier ou d'utiliser les fichiers JSON du projet.
Le projet utilise json-simple comme outil pour modifier ou décoder les fichiers JSON pour Java.
Vous trouverez dans le dossier External JARs le fichier json-simple-1.1.1.jar. Pour faire fonctionner le code, veuillez télécharger ce fichier afin de pouvoir utiliser les fichier JSON.
En utilisant Eclipse IDE, clique droit sur le JAVA project ProjetFinal_INF1163 > Build Path > Configure Build Path > Libraries > Classpath > Add External JARs... > Apply and Close.