Deep Learning 2017-2018/SRS

<<< RETOUR

Equipe projet
=Introduction= Le but de ce projet est de permettre aux entreprises qui souhaitent trouver une personne ou une équipe de personnes pour un stage ou un emploi d'identifier le profil d’étudiant qui répond au mieux à ses attentes et qui aura les compétences nécessaires.

But du document
Le but de ce SRS (Software Requirement Specification) est de définir les différentes fonctionnalités de notre projet à travers des spécifications fonctionnelles et non fonctionnelles. Il décrit également le public cible du projet, et l'interface utilisateur. Il est destiné tant aux utilisateurs qu'aux développeurs du logiciel et fait office de contrat car il définit toutes les fonctionnalités qui doivent être délivrées.

Objectif du projet
L'année dernière, un projet de Deep Learning a été conduit dans le but de suggérer des films à des utilisateurs en utilisant de l'outil TensorFlow.

Cette année, le projet est repris pour pouvoir réponde à une problématique différente qui est liée au projet Disrupt'Campus.

Les offres de formation, et profils associés, sont aujourd'hui nombreux et il est difficile de savoir quelle formation correspond le mieux aux besoins d'une entreprise. Ce projet utilisera les stages et les embauches déjà réalisés pour entraîner notre application de prédiction de profils adaptés à une offre. Son objectif est de pouvoir aider une entreprise dans son processus d'embauche, ou de constitution d'équipes pour répondre à des problèmes, en gardant à l'esprit la construction d'équipes pluridisciplinaires.

Définitions, acronymes et abréviations

 * AI : Ou intelligence artificielle est "l'ensemble de théories et de techniques mises en œuvre en vue de réaliser des machines capables de simuler l'intelligence"
 * Machine Learning : Ou l'apprentissage automatique est un champ de l'intelligence artificielle composé de méthodes, le plus souvent de classification, visant à permettre à la machine d'adapter ses analyses en se basant sur des données fournies en entrée (base d'apprentissage)
 * Deep Learning : Ou l'apprentissage profond est un ensemble de méthodes d'apprentissage automatique qui utilisent des réseaux de neurones.
 * Réseau de neurones : Système composé d'une succession de couches dont chacune prend ses entrées sur les sorties de la précédente, pouvant boucler et ayant pour but de modéliser des comportements complexes.

Références
https://fr.wikipedia.org/wiki/Apprentissage_profond

https://www.tensorflow.org/tutorials/wide_and_deep

Portée du produit
Cette application est destinée aux entreprises ou laboratoires qui sont à la recherche d'un ou plusieurs étudiants pour effectuer un stage ou un projet. Les entreprises pourront par la suite contribuer à la base de données en indiquant si elles sont satisfaites de la proposition et ainsi la rendre plus performante.

=Description générale=

Le but du produit
Ce produit a pour but de permettre à l'utilisateur de rentrer une offre de stage ou d'emploi et d'obtenir une recommandation d'un formation d’études adaptée à ses besoins. L'utilisateur pourrait aussi indiquer si cette formation est adaptée pour sa demande. Il pourra aussi obtenir le moyen de contacter un représentant de la formation pour soumettre sa proposition à des étudiants. Cette recommandation sera faite en fonction d’étudiants de cette formation qui ont répondu à des offre similaire ainsi que par les compétence nécessaire pour ce travail et les compétences acquises par l’étudiant au cours de sa formation.

Caractéristiques et contraintes utilisateurs
L'utilisateur devra posséder une connexion internet pour pouvoir utiliser l'application.

L'utilisateur n'aura pas besoin de compétence en informatique pour utiliser l'application, il devra simplement savoir naviguer sur un site internet.

Dépendances
=Exigence fonctionelles=

Conception de l'interface du système
TODO

Exigence 1 : Fonctionnalités sans se connecter
Description: Cette exigence décrit toutes les fonctionnalités accessibles à un utilisateur non connecté

Entrées: Les actions de l'utilisateur

Source: L'utilisateur

Sorties: Retours informatifs de l'application

Destination: L'écran

Action:
 * MUST pouvoir entrer dans un champ texte son offre.
 * SHOULD pouvoir entrer son offre en fournissant un fichier au format pdf, ou word, ou txt.
 * MUST fournir une formation répondant au mieux à une offre.
 * SHOULD fournir une description plus détaillée d'une formation et/ou rediriger vers cette description
 * MAY permettre de contacter le responsable d'une formation.

Exigences non fonctionnelles:
 * MUST être facile d'utilisation
 * SHOULD fournir un résultat en moins de 1 seconde

Pré-condition: L'utilisateur a une offre à fournir

Post-condition: L'utilisateur a un profil correspondant à son offre

Effets secondaires:

Exigence 2 : Fonctionnalités en étant connecté
Description: Cette exigence décrit toutes les fonctionnalités accessibles à un utilisateur connecté

Entrées: Les actions de l'utilisateur

Source: L'utilisateur

Sorties: Retours informatifs de l'application

Destination: L'écran

Action:
 * MUST pouvoir sauvegarder les offres et les profils prédits
 * MUST pouvoir dire si la prédiction est bonne ou s'il a engagé un/des profils différents.

Exigences non fonctionnelles:
 * MUST être facile d'utilisation
 * SHOULD fournir un résultat en moins de 1 seconde

Pré-condition: L'utilisateur est connecté

Post-condition:

Effets secondaires: Si l'utilisateur donne un retour, il mets à jour la base d'apprentissage et la phase d'apprentissage doit être relancée.

Une partie administrative sera disponible pour avoir accès a des statistique de l'application.

=Exigence de performance= Facilité d'utilisation : Le logiciel doit pouvoir être utilisé par un utilisateur non expert et être agréable. Rapidité : Le temps de réponse doit être raisonnable. Gestion des erreurs : Les erreur doivent être gérées en interne et ne pas nécessiter d'intervention humaine. Précision: Le modèle de prédiction doit être assez fiable ( précision > ?????)

=Évolutions potentielles= La base d’apprentissage pourra être complétée pour augmenter la précision de prédiction du produit. Le produit pourra être déployé sur un système Multi-serveurs pour permettre une plus grande performance de calcul.