Vous êtes sur la page 1sur 3

INF2015 Dveloppement de logiciels dans un environnement Agile Projet de session Automne 2012 Demande initiale Votre client vous

us demande de lui livrer ces fonctionnalits pour le 24 octobre 2012, avant 9h30. La date de livraison n'est pas ngociable. L'application dvelopper est un logiciel qui effectuera la validation du temps travaill par des employs dans le respect des rgles de l'entreprise. Dans l'organisation du client, chaque employ doit remplir une feuille de temps hebdomadaire. Les employs doivent suivre plusieurs rgles par rapport leur temps travaill qui sont dictes par l'entreprise. En fait, il y a tellement de rgles valider que les responsables de l'entreprise n'arrivent plus s'y retrouver. Ils ont besoin d'un logiciel qui leur permettra de valider les rgles de l'entreprise et qui gnrera les messages d'erreurs appropris si une feuille de temps viole les rgles. Le logiciel ne possdera pas d'interface utilisateur car il est destin tre invoqu partir d'une application web (le systme d'approbation des feuilles de temps). Le contrat ne consiste donc qu'au dveloppement du "back-end" de l'application. Fonctionnalits Le fichier d'entre, en format JSON, aura l'air de ceci :
{ "numero_employe": 3884, "jour1": [ { "projet": 200, "minutes": 90 }, { "projet": 125, "minutes": 45 }, { "projet": 990, "minutes": 180 } ], "jour2": [ { "projet": 125, "minutes": 420 } ], "jour3": [ { "projet": 125, "minutes": 420 } ], "jour4": [ { "projet": 125, "minutes": 420

} ], "jour5": [], "weekend1": [], "weekend2": [ { "projet": 990, "minutes": 30 } ] }

Le fichier de rsultat gnr par le logiciel devra ressembler ceci :


[ "L'employ n'a pas travaill le nombre d'heures minimal.", "L'employ a dpass le nombre d'heures de tltravail permis." ]

Le programme devra prendre ce fichier comme argument lors de l'excution du logiciel dans une console. Le fichier o devra tre plac le rsultat devra galement tre spcifi la console. Exemple :
java -jar TimeSheet.jar inputfile.json messages_result.json

Voici ce que vous devez savoir en premier lieu : Les codes de projet suprieurs 900 sont des codes de tltravail. Si l'employ ne travaille pas durant une journe, elle est prsente dans la feuille de temps mais vide, comme jour5 et weekend1 dans l'exemple prcdent. Il est possible qu'un employ travaille la fin de semaine. Un employ dont le numro est infrieur 1000 est un employ de l'administration. Un employ dont le numro est suprieur ou gale 1000 est un employ normal. jour1 jour5 correspondent au lundi vendredi; weekend1 correspond samedi et weekend2 correspond dimanche. Voici les rgles que vous devez vrifier : Les employs de l'administration doivent travailler au moins 36 heures au bureau par semaine (excluant le tltravail). Les employs normaux doivent travailler au moins 38 heures au bureau par semaine (excluant le tltravail). Aucun employ n'a le droit de passer plus de 43 heures au bureau. Les employs de l'administration ne doivent pas faire plus de 10 heures de tltravail par semaine. Les employs normaux peuvent faire autant de tltravail qu'ils le souhaitent. Les employs normaux doivent faire un minimum de 6 heures au bureau pour les jours ouvrables (lundi au vendredi). Les employs doivent travailler mme les journes de cong fri. Les employs de l'administration doivent faire un minimum de 4 heures au bureau pour les jours ouvrables (lundi au vendredi). Les employs doivent travailler mme les journes de cong fri.

Contraintes technologiques Voici les contraintes que vous devez respecter : Le logiciel doit tre dvelopp avec le langage de programmation Java (JDK7). Il est impratif d'utiliser l'environnement de dveloppement intgr NetBeans 7.1 ou plus. Les fichiers d'entres et de sorties doivent tre des documents JSON. Les sources doivent tre entreposes dans un dpt GIT sous github.

Vous aimerez peut-être aussi