ECOM-1FO

From air
Jump to navigation Jump to search

Le projet eCOM consiste à concevoir et développer une application d’échange en ligne (commerce électronique, échanges de services…). suite ...

Organisation

Aide à la lecture du document

Acronymes

Les enseignants :

  • DD : Didier Donsez (didier.donsez@imag.fr)
  • SC : Sybille Caffiau (sybille.caffiau@imag.fr)
  • TR : Thomas Ropras (thomas.Ropars@imag.fr)

Les réalisations :

  • DCS : Dossier de Conception Système
  • SAS : Schéma d'Architecture Système

Groupes et sujets

Groupes eCOM-RICM 2016-2017

Les groupes sont imposés par les enseignants et seront donnés lors de la première séance.

Sujets 2016-2017

Vous devez choisir le domaine d'application dans lequel vas s'inscrire votre projet. Des sujets sont interdits :

  • les sites de ventes de livres, CD, chaussures, alcool
  • les sites pornographiques

Votre projet ne doit pas nécessairement être un site commercial mais doit respecter les contraintes :

  • gestion de compte utilisateur (login propriétaire ou login OAuth)
  • envoi de mails
  • une transaction (transactions ACID) avec retours en arrière possible
  • (May) accès aux ressources externes

Planning des séances

La partie IHM et la partie Système sont menées en parallèle pendant toute la durée du projet. An cas d’incohérence avec ADE, suivre ADE.

  • 13/09 08H00-11H15 : Introduction 1H00 (DD), CM Définition des besoins 2H00 (SC)
  • 13/09 13h30-16h45 : CM JavaEE & EJB 3h00 DD [Cours JavaEE EJB
  • 27/09 08H00-11H15 : Tutoriel EJB, Tutoriel Servlet/JSP/REST/WS 3h00 (DD)
  • 27/09 13H30-16H45 : TD Besoins utilisateur (SC)
  • 04/10 08H00-11H15 : CM Conception IHM 1H00 (SC), TD Conception IHM 2H00 (SC)
  • 04/10 13H30-16H45 : Travail en autonomie

11/10 08H00-11H15 : Permanence Système (DD) + IHM (SC) 11/10 13H30-16H45 : Travail en autonomie

  • 18/10 08H00-11H15 : Soutenance Conception
  • 18/10 13H30-16H45 : Permanence Système (TR) + IHM (SC)
  • 25/10 08H00-11H15 : Permanence Système (TR) + IHM (SC)
  • 25/10 13H30-16H45 : Travail en autonomie
  • 08/11 08H00-11H15 : Permanence Système (TR) + IHM (SC)
  • 08/11 13H30-16H45 : Travail en autonomie
  • 15/11 08H00-11H15 : Permanence Système (TR) + IHM (SC)
  • 15/11 13H30-16H45 : Travail en autonomie
  • 29/11 08H00-11H15 : Permanence Système (TR) + IHM (SC)
  • 29/11 13H30-16H45 : Travail en autonomie
  • 06/12 08H00-11H15 : Permanence Système (TR) + IHM (SC)
  • 13/12 08H00-11H15 : Soutenances finales


Modalités d’évaluation

La note d’ECOM est obtenue par l’addition de notes obtenues tout au long de la réalisation du projet soutenance conception : soutenance finale : avancés : livrables :

Soutenances

Deux soutenances sont prévues :

  • soutenance de conception le 18 Octobre 2016
  • soutenance de fin de projet le 13 Décembre 2016

Dans les deux cas, les soutenances doivent présenter les parties GL, Système et IHM.

Soutenance de conception

Salle : Durée totale : 30 minutes Utilisez des transparents pour présenter votre projet.


Vous devez présenter les étapes de conception réalisées et les résultats (choix techniques…). De plus, nous vous rappelons que pour le dimanche minuit, vous devez avoir rendu accessibles les livrables.

Contenu attendu dans votre présentation( à avoir au minimum dans vos slides) :

Pour la partie GL

  • Organisation de l'équipe (roles, ...)
  • Méthodologie de travail

Planning (envisagé) Choix technologiques

Pour la partie Système

  • Architecture systeme du service
  • Nombre de Beans (diagramme de classe, type, ...)
  • Extensions réalisées et envisagées
  • Etat d'avancement dans les développements

Pour la partie IHM

  • Résultats de l’analyse de l’existant
  • Utilisateurs cibles, contexte d’utilisation et objectifs utilisateurs (ie objectifs de l’IHM)
  • Maquettes de la v0 et squelette du site (pour la plateforme cible)

Ordre de passage :

Respectez l'ordre établi. Faites attention au temps. Vous disposez de 30 minutes par soutenance pour : votre présentation et les questions. Vous devrez gérer le temps. Les remarques (d’amélioration) qui seront faites pendant cette soutenance par les enseignants devront être prises en compte pour la version finale (pris en compte dans la note finale).

//A compléter lorsque les groupes seront faits

ATTENTION : Si vous voulez modifier l'un des plannings, vous devez :

  • trouver un autre groupe avec qui échanger
  • vous assurer que tous les membres de ce groupe acceptent l'échange
  • envoyer un mail à SC et DD pour informer du changement (avec le chef de projet de l'autre groupe en copie)

Les modifications ne sont acceptées que jusqu'au dimanche précédent la soutenance.

Soutenance de fin de projet

Salle : Durée totale : 30 minutes Utilisez des transparents pour présenter votre projet. Lors de votre passage vous devez présenter une démo PRÉPARÉE

Arrivez avec l'application démarrée (on ne perd pas de temps) et 1 ou 2 scénarios (de test)

  • Préparez vous 30 minutes avant votre soutenance pour démarrer les instances Windows Azure (ou autre plateforme de Cloud de votre choix) avec le service développé.
  • Les démonstrations peuvent être faites sur vos machines personnelles cependant le service eCOM doit IMPERATIVEMENT s'exécuter sur une ou plusieurs instances de machines virtuelles sur le Cloud de votre choix

Contenu attendu dans votre présentation( à avoir au minimum dans vos slides) : une présentation globale du projet le processus de conception (illustré) des évaluations le bilan (pédagogique ET du projet/individuel ET groupe)

  • le temps consacré à la conception
  • le temps consacré au développement

les principales difficultés rencontrées


Ordre de passage :

Respectez l'ordre établi. Faites attention au temps. Vous disposez de 30 minutes par soutenance pour : votre présentation et les questions. Vous devrez gérer le temps. Les remarques (d’amélioration) qui seront faites pendant cette soutenance par les enseignants devront être prises en compte pour la version finale (pris en compte dans la note finale).

//A compléter lorsque les groupes seront faits

ATTENTION : Si vous voulez modifier l'un des plannings, vous devez :

  • trouver un autre groupe avec qui échanger
  • vous assurer que tous les membres de ce groupe acceptent l'échange
  • envoyer un mail à SC et TR pour informer du changement (avec le chef de projet de l'autre groupe en copie)

Les modifications ne sont acceptées que jusqu'au dimanche précédent la soutenance.

Livrables

Deux rapports doivent être rédigés pour la partie Système : un document de conception système et un document d'évaluation système. Ces documents doivent être accessibles depuis le wiki (ils peuvent même être directement édités sur le wiki).

Vous pouvez ajouter les livrables que vous jugez utiles pour présenter le travail que vous avez réalisé. Pour ces livrables : numérotez les

Rendus

Intitulé : Date : Mode de rendu L1 : 13/09 minuit : Email à SC et DD L2 : 16/10 minuit : Wiki L3 : 16/10 minuit : Wiki L4 : 16/10 minuit : Wiki L5 : ? L6 : 16/10 minuit : Wiki L7 : 16/10 minuit : Wiki L8 : en continu : Wiki L9 : en continu : Wiki L10 : 12/12 minuit : Lien Git sur Wiki L11 : 12/12 minuit : Lien sur Wiki L12 : 13/12 lors du passage : Tableaux complétés et imprimés L13 : 16/10 minuit : Lien Git sur Wiki L14 : 12/12 minuit : Lien Git sur Wiki

Contenu

L1. Composition des groupes et sujet Le sujet doit être validé par vos enseignants dès le premier jour du projet. Envoyez une description dans un corps de mail à DD et SC. Cette description doit contenir :

  • les membres du projet
  • le nom du chef de projet
  • le nom du scrum master
  • les rôles envisagés par chaque membre
  • le titre du sujet

un paragraphe descriptif du sujet dans lequel est particulièrement explicité l'adéquation du sujet et les requis (quelques lignes) L2. Dossier de conception Système Le Dossier de Conception Système (DCS) a pour but de permettre à toute personne de connaitre les principaux composants JEE de votre application ECOM. Cette connaissance doit pouvoir être acquise rapidement, sans avoir à entrer dans les détails de l'implémentation. Le DCS doit donc être de taille relativement limitée (5 à 10 pages, 20 pages au grand maximum). Le DCS est centré sur un schéma d'architecture système (SAS). Pour chaque composant et lien du SAS, le DCS doit fournir :

  • Une description fonctionnelle : La description fonctionnelle d'un composant fait apparaître les attributs qui le composent, ainsi que les méthodes qu'il fournit. Attributs et méthodes seront associés à une courte description. Les besoins liées à la persistence ou aux aspects transactionnels peuvent également être explicités.
  • Une description d'implantation JEE : La description d'implantation décrit l'implantation du composant ou du lien dans l'environnement JEE. Un composant peut être implanté par un programme Java externe (client léger / client lourd JEE), par un servlet, par un bean ou par un objet POJO. Dans ces derniers cas, il faut préciser les caractéristiques des beans / POJO (local / distribué, session / évenementiel, stateful / stateless, etc). Un lien peut être implanté par une relation JEE, ou bien par conservation de référence de bean.

Le dossier de conception système doit être disponibles depuis votre page wiki. L3. Analyse des besoins Questionnaire et son analyse pour définir les besoins utilisateurs que doit satisfaire votre application. L4.Maquette L5.SRS L6.Diagramme UML L7.Modèle de tâches L8.Scrum (waffle ou autre)

  • (Ils peuvent si vous le souhaiter être directement édités sur le wiki)
  • Le rapport de charge (benchmark) doit être (MUST) disponible sur le wiki.
  • Le rapport sur les métriques logicielles doit être (MUST) disponible sur le wiki.

L9.Journal L10.Dépôt Git Votre code source doit être accessible en ligne avec un lien depuis votre fiche de suivi sur le wiki. L11.Application en ligne L12. Auto-évaluation de la quantité de travail réalisée IHM : media:System-Usability-ScaleLogicielComplet.pdf et media:EvalEfficacite.pdf Système : Media:FicheEval20152016-GROUPE-THEME.doc L13. Diapos de votre présentation de conception L14. Diapos de votre présentation finale

Réalisations attendues

Conduite et suivi de projet

Le projet eCOM est très court en durée. Vous utiliserez la méthodologie Scrum pour la conduite du projet dans chaque groupe. Vous pouvez vous inspirer de la méthode Lean Startup pour livrer rapidement votre application. Vous devez choisir un Scrum Master (unique ou tournant) : justifiez votre choix et la durée du sprint (justifiez votre choix). Vous devez prévoir :

  • product backlog
  • sprint backlog
  • sprint planning
  • démos
  • rétrospectives

Pensez à créer un wiki qui regroupera l'ensemble de vos documentations. Cela doit être une documentation Agile !!!!

(May) mettre en place des "poker planning"

PokerPlanningECOM2013

Ces 2 premiers critères sont fixes !!!

Selon les principes de la méthodologie Agile, vous devez composer votre travail en fonctionnalités. Chacune fera l’objet d’une conception (système et IHM) et d’un développement. Conception ET développement constituent l’ensemble des réalisations attendues.

Réalisations système

Conception système

La conception système est composée de deux réalisations principales : le modèle de donnée : il est vivement conseillé de définir le modèle de données aussi tôt que possible et d"en discuter avec les enseignants. le schéma d'architecture système (SAS) : ce schéma doit faire apparaître les composants qui vont constituer l'application, ainsi que les liens entre les beans. Un lien depuis un composant A vers un (ou plusieurs) composant(s) B signifie qu'une interaction peut avoir lieu depuis A vers B. Un lien peut être monovalué ou multivalué, monodirectionnel ou multidirectionnel.

Développement système

Pour chaque fonctionnalités conçues le développement système sera réalisé en deux étapes. Etape 1 : La première consiste à définir le cœur de l'application, c'est-à-dire le modèle de données et la logique métier, puis à réaliser un premier prototype qui démontre une bonne maîtrise des EJB (session et entity beans). L'application est seulement accessible par l'intermédiaire d'un "client lourd" (programme java offrant une console en mode texte). Il n'est pas demandé, de réaliser une interface web pour interagir avec l'application. L'application doit cependant offrir deux modes d’utilisation (administrateur et consommateur) et exécuter les requêtes avec des garanties transactionnelles. Etape 2 : La seconde étape consiste à compléter le premier prototype (étape 1) avec les objectifs suivants :

  • développement d'une interface Web basée sur le modèle MVC ;
  • modification de la configuration de déploiement : (1) client (lourd/léger) distant, (2) base de données externe (MySQL, Oracle, HSQL ...) et éventuellement distante ;

ajout éventuel de fonctionnalités non prioritaires.

Remarques pour la mise en ligne : NE COMMITEZ JAMAIS vos credentials Cloud (AWS, Azure, ...) DANS UN DEPOT PUBLIC !!!!!

Votre compte serait utilisé pour créer plusieurs centaines de VMs et vous serez lourdement facturés (bitcoins, DDoD, ...) !

Réalisations IHM

Conception

Développement

Documentation

Transparents de cours

Doc utiles

http://proton.inrialpes.fr/~depalma/ecom/liens/liens.html

Quelques livres et technologies

REMARQUE: les livres sur JavaEE se periment très vite avec l'évolution de la spécification

JavaEE

REST

Web

Responsive Web Design

AngularJS

Bootstrap

Ember

Tests unitaires

Intégration en Continue

Misc

Questionnaires pour les sites web

Questionnaire SUS (évaluation de la satisfaction)

[1] Media:System-Usability-ScaleLogicielComplet.pdf