Difference between revisions of "ECOM-1FO"
Line 1: | Line 1: | ||
− | Le projet eCOM consiste à concevoir et développer une application |
+ | Le projet eCOM consiste à concevoir et développer une application d’échange en ligne (commerce électronique, échanges de services…). [[ECOM|suite ...]] |
+ | =Organisation= |
||
− | =Étapes du projet [[ECOM]]= |
||
+ | ==Aide à la lecture du document== |
||
− | La partie IHM et la partie Système sont menées en parallèle pendant toute la durée du projet. Le projet se conclut par une soutenance finale pour chaque partie (IHM et système). |
||
+ | ===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== |
||
− | [[Media:PresentationECOM-Seance1Modif.pdf]] |
||
+ | ===Groupes eCOM-RICM 2016-2017=== |
||
+ | Les groupes sont imposés par les enseignants. |
||
+ | * [[Groupes eCOM-RICM 2015-2016]] |
||
− | ==Conduite de projet== |
||
+ | * [[Groupes eCOM-RICM 2014-2015]] |
||
− | Le projet eCOM est très court en durée. Il est préconisé d'utiliser la méthodologie [[Scrum]] pour la conduite du projet dans chaque groupe. Néanmoins, vous pouvez inspirer de la méthode [[Lean Startup]] pour livrer rapidement votre application. |
||
+ | ===Sujets 2016-2017=== |
||
− | |||
− | ==Choix des sujets== |
||
Vous devez choisir le domaine d'application dans lequel vas s'inscrire votre projet. Des sujets sont interdits : |
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 de ventes de livres, CD, chaussures, alcool |
||
* les sites pornographiques |
* les sites pornographiques |
||
− | Votre projet ne doit pas nécessairement être un site commercial mais doit respecter les contraintes |
+ | 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]]) |
* gestion de compte utilisateur (login propriétaire ou login [[OAuth]]) |
||
* envoi de mails |
* envoi de mails |
||
* une transaction (transactions ACID) avec retours en arrière possible |
* une transaction (transactions ACID) avec retours en arrière possible |
||
− | * (May)accès aux ressources externes |
+ | * (May) accès aux ressources externes |
− | |||
− | Ce sujet doit être validé par vos enseignants dès le premier jour du projet. Envoyez une description dans un corps de mail à Didier Donsez et Sybille Caffiau. 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 ci-dessus |
||
+ | ==Planning des séances== |
||
− | ===Critères d'évaluation=== |
||
+ | 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. |
||
− | La conduite du projet sera principalement évaluée en fonction des critères suivants : |
||
+ | * 13/09 08H00-11H15 : Introduction 1H00 (DD), CM Définition des besoins 2H00 (SC) |
||
− | * vous devez choisir un Scrum Master (unique ou tournant) : vous devez justifier votre choix |
||
+ | * 13/09 13h30-16h45 : CM JavaEE & EJB 3h00 DD [[http://lig-membres.imag.fr/donsez/cours/javaee-ejb.pdf Cours JavaEE EJB] |
||
− | * durée du sprint (idem : vous devez justifier votre choix) |
||
− | Sur ces 2 premiers critères, vous n'en changez pas !!! |
||
+ | * 20/09 08H00-11H15 : Démarrage instance Cloud (EC2, Azure, ...) Install [[JavaEE]] ([[Glassfish]], [[JBossAS]], [[Apache TomEE]]), tutoriel EJB 3h00 DD |
||
− | Vous devez prévoir : |
||
+ | * 20/09 13H30-16H45 : CM [http://lig-membres.imag.fr/donsez/cours/http-ecom.pdf HTTP] & [http://lig-membres.imag.fr/donsez/cours/servletjsp-ecom.pdf Servlets/JSP] 3h00 (DD) |
||
− | * product backlog |
||
− | * sprint backlog |
||
− | * sprint planning |
||
− | * démos |
||
− | * rétrospectives |
||
+ | * 27/09 08H00-11H15 : Tutoriel EJB, Tutoriel Servlet/JSP/REST/WS 3h00 (DD) |
||
− | Pensez à créer un wiki qui regroupera l'ensemble de vos documentations. Cela doit être une documentation Agile !!!! |
||
+ | * 27/09 13H30-16H45 : TD Besoins utilisateur (SC) |
||
+ | * 04/10 08H00-11H15 : CM Conception IHM 1H00 (SC), TD Conception IHM 2H00 (SC) |
||
− | Un point de bonus pour ceux qui réussiront à mettre en place des "poker planning". |
||
+ | * 04/10 13H30-16H45 : Travail autonome |
||
− | [[File:20121002 141359.jpg|center|400px|PokerPlanningECOM2013]] |
||
+ | 11/10 08H00-11H15 : Permanence Système (DD) + IHM (SC) |
||
− | IMPERATIFS |
||
+ | 11/10 13H30-16H45 : Travail autonome |
||
− | * le projet doit être (MUST) géré selon la méthode Scrum : le Scrum Master devra présenter le déroulement du projet. |
||
− | * le serveur JavaEE doit être (MUST) hébergé sur une instance Windows Azure à partir du compte étudiant Azure offert gratuitement en début de projet (la machine virtuelle peut etre de type Windows ou Linux). |
||
− | * un rapport de charge (benchmark) doit être (MUST) fourni : les outils JMeter ou Clif peuvent être utilisés. |
||
− | * un rapport sur les métriques logicielles doit être (MUST) fourni : l'outil Sonar peut être utilisé. |
||
+ | *18/10 08H00-11H15 : Soutenance Conception |
||
− | ==Partie IHM== |
||
+ | *18/10 13H30-16H45 : Permanence Système (TR) + IHM (SC) |
||
+ | *25/10 08H00-11H15 : Permanence Système (TR) + IHM (SC) |
||
− | ===Etapes et documents demandés=== |
||
+ | *25/10 13H30-16H45 : Permanence Système (TR) + IHM (SC) |
||
− | Le détail sur l'organisation et l'évaluation du travail concernant les spécifications du site sera communiqué lors des premières séances de cours. |
||
+ | *08/11 08H00-11H15 : Permanence Système (TR) + IHM (SC) |
||
− | ===Critères d'évaluation=== |
||
+ | *08/11 13H30-16H45 : Permanence Système (TR) + IHM (SC) |
||
− | La partie IHM du projet sera principalement évaluée en fonction des critères suivants : |
||
− | * Conformité de l'IHM avec le modèle de tâche |
||
− | * Couverture fonctionnelle de l'application et robustesse au regard des priorités que vous avez retenues |
||
− | * Qualité ergonomique au regard des principes vus en cours |
||
− | * Rigueur de la démarche |
||
− | * Explication des choix de conception faits |
||
− | * Intégration des retours de tests utilisateur |
||
+ | *15/11 08H00-11H15 : Permanence Système (TR) + IHM (SC) |
||
− | ==Partie Système== |
||
+ | *15/11 13H30-16H45 : Permanence Système (TR) + IHM (SC) |
||
− | La partie Système est axée sur deux étapes successives. |
||
+ | *29/11 08H00-11H15 : Permanence Système (TR) + IHM (SC) |
||
+ | *29/11 13H30-16H45 : Permanence Système (TR) + IHM (SC) |
||
+ | *06/12 08H00-11H15 : Permanence Système (TR) + IHM (SC) |
||
− | ===Première étape=== |
||
− | 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). |
||
+ | *13/12 08H00-11H15 : Soutenances finales |
||
− | 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. Il est également recommandé de limiter le premier prototype à un sous-ensemble des spécifications fonctionnelles, à la fois assez vaste pour couvrir les principales difficultés techniques et assez léger pour respecter les délais imposés. |
||
+ | ==Modalités d’évaluation== |
||
− | À ce stade, l'application est seulement accessible par l'intermédiaire d'un "client lourd" (programme java offrant une console en mode texte). En particulier, il n'est pas demandé, pour cette première étape, de réaliser une interface web pour interagir avec l'application. L'application doit cependant offrir deux interfaces (administrateur et consommateur) et exécuter les requêtes avec des garanties transactionnelles. |
||
+ | 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 : |
||
− | Une présentation/démonstration du prototype V1 sera réalisée à la fin de l'étape n°1. |
||
+ | avancés : |
||
− | ===Deuxième étape=== |
||
+ | livrables : |
||
− | La seconde étape consiste à compléter le premier prototype avec les objectifs suivants : |
||
− | * ajout des beans nécessaires pour couvrir l'ensemble des spécifications fonctionnelles ; |
||
− | * développement d'une interface Web basée sur le modèle MVC ; [[Responsive Web Design|adaptative]] (utilisation des [[Media Queries]] de CSS); |
||
− | * rédaction des documents demandés (voir ci-dessous) ; |
||
− | * 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. |
||
− | |||
− | Une présentation d'une mini-maquette d'interface web aura lieu au milieu de l'étape n°2. |
||
− | |||
− | Remarque : Aucune des phases du projet ne nécessite le développement d'un client lourd en mode graphique (SWT ...). |
||
− | |||
− | ===Troisième étape=== |
||
− | La troisième étape consiste à ajouter au prototype précédent les fonctionnalités suivantes : |
||
− | ====Outillage==== |
||
− | * Intégration en continue (par exemple avec [http://docs.travis-ci.com/user/languages/java/ Travis-CI sur GitHub]) |
||
− | * Déploiement et retrait de l'application sur/de la plateforme cloud (UFR, Amazon, Azure) avec [http://roboconf.net/ Roboconf] ([http://roboconf.net/en/user-guide/lamp-example-part-1.html voir l'exemple avec LAMP]) |
||
− | |||
− | ====Déploiement==== |
||
− | * Déploiement avec [[Docker]] (dockerfile et docker-compose) pour l'application eCom (utiliser [https://hub.docker.com/_/glassfish/ Glassfish]). |
||
− | * Préparation d'images [[Docker]] |
||
− | * Performances (résultat du injection de charge avec [[Apache JMeter]], [[Gatling]], OW2 CLIF, BlazeMeter.com) : Astuce: utiliser les images [[Docker]]. |
||
− | * Déploiement de l'application eCOM distribuée sur plusieurs VM [[CoreOS]] ou [[Ubuntu Core]] avec [[Vagrant]] et VirtualBox, Azure, Amazon EC2, [[Google's Compute Engine]] ... |
||
− | * Injection de pannes avec [[Netflix Simian Army]] |
||
− | * Supervision des VMs du système déployé avec un de ces systèmes : [[Nagios]], [[Shinken]], [[Icinga]], [[Filter]]s, [[Tomcat Valve]]s, [[Glimpse]], [[Ganglia]], [[Elastic Search]], [[Telegraf]] ... |
||
− | * Reprise sur panne simple avec [[Monit]] (ie relance simple du serveur en cas de "plantage"). |
||
− | |||
− | ====Fonctionnalités==== |
||
− | * Renseignement de la [[Privacy policy guidelines|notice relative à la protection de la vie privée]]. |
||
− | * Interface CLI ou Shell pour l'administration et le ''bulk loading'' (initialisation du catalogue du service, l'ajout de nouveaux produits). Vous pouvez utiliser l'interface EJB facade directement ou bien une interface [[RESTful]] en utilisant directement [[Curl]]). |
||
− | * Gestion de l'internationalisation (i18n) des applications web et mobiles. ''Remarque : vous pouvez utiliser les principes et outils appris dans l'UE Communication Langagière.'' |
||
− | * Gestion de la confidentialité avec [[SSL/TLS]] lors des phases de login, signin, et de paiement |
||
− | * Gestion de la concurrence et de la reprise sur panne avec des transactions ACID |
||
− | * Gestion asynchrone et transactionnelle de l'envoi des courriels via [[JMS]] et des EJBTimer (voir http://ecom.ow2.org/xwiki/bin/view/Main/fremail) |
||
− | * Gestion asynchrone et transactionnelle de l'envoi de SMS via [[JMS]] et des EJBTimer ([[ECOM/SMSProviders|fournisseurs SMS]]) |
||
− | |||
− | ====Bonus Track==== |
||
− | De façon facultative, vous pourrez ajouter au prototype précédent quelques unes des fonctionnalités suivantes : |
||
− | * Gestion des contenus multimedia (photos, videos, docs ...) avec [[Apache Jackrabbit]] |
||
− | * Stockage externalisé des contenus multimedia par des [[Content Delivery Network]]s (Amazon S3, Azure ...) |
||
− | * Suivi du ''click stream'' avec des Filters en vue d'une analyse ''[[Big Data]]'' avec [[Spark]] (''Click Analytics'', [https://github.com/pmerienne/iterative-cf Recommender System]). |
||
− | * Intégration de [[Memcached]] |
||
− | * Gestion rudimentaire d'une interface vocale avec un serveur vocal [[EA2012-Serveux Vocaux|VoiceXML]]. |
||
− | * Utilisation de [[OAuth]] ou [[OpenID]] pour le login |
||
− | * Gestion de l'équilibrage de charge entre plusieurs instances de Glassfish avec [https://glassfish.java.net/docs/4.0/administration-guide.pdf#page=131 Mod_JK]. |
||
− | * Utilisation de services tiers via leurs APIs (voir le catalogue de [[Mashape]]) |
||
− | * Chat avec un opérateur du helpdesk (texte et/ou audio avec [[WebRTC]]) |
||
− | * Gestion d'un ''cloud'' privé avec [[OpenStack]] avec [[Fuel]] |
||
− | * Conditionnement de l'application mobile avec [[Apache Cordova]] |
||
− | |||
− | * Traduction automatique et à la volée des champs des produits (nom, description, commentaires et avis) en fonction de la langue de l'usager, au moyen d'un service tiers ([[AxiMAG]] par exemple). |
||
− | |||
− | Remarque: les fonctionnalités sont assez indépendantes du noyau du projet : elles peuvent être mis en place dès le départ de l'étape 1. |
||
− | |||
− | ===Documents demandés=== |
||
− | 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). |
||
− | |||
− | ====Document 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) : 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. |
||
− | |||
− | 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. |
||
− | |||
− | ====Document d'évaluation système==== |
||
− | |||
− | Le rapport final système du projet ECOM a pour but de préciser l’état d’avancement de votre application ECOM. |
||
− | |||
− | Le rapport final système doit préciser : |
||
− | * L’état de chaque composant : non réalisé, réalisé, réalisé et validé |
||
− | * Les fonctions réalisées, réalisées et testées, et celles restant à réaliser |
||
− | * Les propriétés non fonctionnelles garanties par votre réalisation, et celles restant à considérer pour finaliser votre application |
||
− | * Le temps consacré à la conception système |
||
− | * Le temps consacré au développement système |
||
− | * Les principales difficultés rencontrées |
||
− | |||
− | ===Critères d'évaluation=== |
||
− | La partie système du projet sera principalement évaluée en fonction des critères suivants : |
||
− | * Conformité aux spécifications de l'application et aux consignes données dans le cadre du projet |
||
− | * Respect des échéances pour les différentes étapes du projet (y compris pour les prototypes intermédiaires et les documents) |
||
− | * Qualité de l'architecture de l'application |
||
− | * Qualité et robustesse du code applicatif |
||
− | * Compréhension des principaux concepts de la technologie JEE |
||
− | * Rigueur de la démarche de conception |
||
− | * Qualité des présentations/soutenances |
||
− | En complément, les aspects suivants seront également considérés : |
||
− | * Outils collaboratifs |
||
− | * Méthodologies de test (unitaire, intégration, performance) |
||
− | * Intégration en continue |
||
− | * [[Continuous Delivery|Livraison en continue]] |
||
− | * Utilisation (optionnelle) de technologies/APIs/frameworks avancés |
||
− | |||
− | ==Remarques Importantes== |
||
− | 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 ([http://readwrite.com/2014/04/15/amazon-web-services-hack-bitcoin-miners-github bitcoins], DDoD, ...) ! |
||
− | |||
− | ==Planning 2015== |
||
− | |||
− | |||
− | '''Equipe pédagogique:''' Sybille Caffiau (SC), Didier Donsez (DD), Thomas Ropars (TR) |
||
− | |||
− | '''Dates Importantes:''' |
||
− | * Dépôt en ligne sur le wiki des livrables d'étape (Questionnaire et son analyse, Maquettes, SRS, Diagramme UML et Modèle de tâches, Scrum (waffle ou autre), Journal, lien vers le dépôt Git) : 19/10 Minuit |
||
− | * Soutenance Conception (IHM + système) : 20/10 (après-midi à CONFIRMER) |
||
− | * Dépôt en ligne sur le wiki des livrables d'étape (Documents modifiés, Scrum (waffle ou autre), Journal, Evaluation utilisateur, Métriques logiciels et performance) : 14/12 Minuit |
||
− | * Soutenance Finale (IHM + système) : 15/12 |
||
− | |||
− | '''Séances:''' (Voir sur ADE) |
||
− | * 08/09 08H00-11H15: Introduction 1H00 (DD), CM Définition des besoins 2H00 (SC) |
||
− | |||
− | * 22/09 08H00-11H15: CM JavaEE & EJB 3h00 DD [[http://lig-membres.imag.fr/donsez/cours/javaee-ejb.pdf Cours JavaEE EJB] |
||
− | * 22/09 13H30-16H45: Démarrage instance Cloud (EC2, Azure, ...) Install [[JavaEE]] ([[Glassfish]], [[JBossAS]], [[Apache TomEE]]), tutoriel EJB 3h00 DD |
||
− | |||
− | * 29/09 08H00-11H15: CM [http://lig-membres.imag.fr/donsez/cours/http-ecom.pdf HTTP] & [http://lig-membres.imag.fr/donsez/cours/servletjsp-ecom.pdf Servlets/JSP] 3h00 (DD) |
||
− | * 29/09 13H30-16H45: Tutoriel EJB, Tutoriel Servlet/JSP/REST/WS 3h00 (DD) |
||
− | |||
− | * 06/10 08H00-11H15: TD Besoins utilisateur (SC) |
||
− | * 06/10 13H30-16H45: CM Conception IHM 1H00 (SC), TD Conception IHM 2H00 (SC) |
||
− | |||
− | * 20/10 08H00-11H15: Permanence Système (DD) + IHM (SC) |
||
− | * 20/10 13H30-16H45: Soutenance Conception Système (DD) + IHM (SC) |
||
− | |||
− | * 03/11 08H00-11H15: Journée Polytech Pro |
||
− | |||
− | * 09/11 16h30-18h30: Permanence Système (TR) |
||
− | |||
− | * 10/11 08H00-11H15: CM Evaluation utilisateur (1H00) + Travail en autonomie (2H) |
||
− | |||
− | * 17/11 08H00-11H15: Permanence Système (TR) + IHM (SC) |
||
− | |||
− | * 24/11 08H00-11H15: Permanence Système (TR) + IHM (SC) |
||
− | * 24/11 13H30-16H45: Permanence Système (TR) + IHM (SC) |
||
− | |||
− | * 01/12 08H00-11H15: Permanence Système (TR) + IHM (SC) |
||
− | |||
− | * 08/12 08H00-11H15: Permanence Système (TR) + IHM (SC) |
||
− | |||
− | * 15/12 13H30-16H45: Soutenances |
||
− | |||
− | ==Groupes eCOM-RICM 2015-2016== |
||
− | '''Les groupes sont imposés par les enseignants.''' |
||
− | |||
− | * [[Groupes eCOM-RICM 2015-2016]] |
||
− | * [[Groupes eCOM-RICM 2014-2015]] |
||
==Soutenances== |
==Soutenances== |
||
Deux soutenances sont prévues : |
Deux soutenances sont prévues : |
||
− | * soutenance de conception le |
+ | * soutenance de conception le 18 Octobre 2016 |
− | * soutenance de fin de projet le |
+ | * 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. |
Dans les deux cas, les soutenances doivent présenter les parties GL, Système et IHM. |
||
− | ===Soutenance de conception |
+ | ===Soutenance de conception === |
+ | Salle : |
||
− | 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 lundi minuit, vous devez avoir rendu accessibles les livrables. |
||
+ | 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) :''''' |
+ | '''''Contenu attendu dans votre présentation( à avoir au minimum dans vos slides) :''''' |
Pour la partie GL |
Pour la partie GL |
||
* Organisation de l'équipe (roles, ...) |
* Organisation de l'équipe (roles, ...) |
||
* Méthodologie de travail |
* Méthodologie de travail |
||
− | + | Planning (envisagé) |
|
+ | Choix technologiques |
||
Pour la partie Système |
Pour la partie Système |
||
Line 259: | Line 111: | ||
'''''Ordre de passage :''''' |
'''''Ordre de passage :''''' |
||
− | Respectez l'ordre établi |
+ | Respectez l'ordre établi. |
− | Faites attention au temps. Vous disposez de 30 minutes par soutenance pour : votre présentation et les questions |
+ | 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 |
||
− | * 13h30 - Groupe 2 : Site de vente de stickers personnalisés |
||
− | * 14h05 - Groupe 1 : Site de vente de sushis |
||
− | * 14h40 - Groupe 5 : Site de restauration personnalisée |
||
− | * 15h15 - Groupe 4 : ??? |
||
− | * 15h50 - Groupe 3 : Pixel-Shirt |
||
+ | 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 |
+ | ===Soutenance de fin de projet === |
− | Salle : |
+ | Salle : |
Durée totale : 30 minutes |
Durée totale : 30 minutes |
||
− | Utilisez des transparents pour présenter votre projet. |
+ | 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) |
||
− | '''Consignes spécifiques pour les soutenances IHM''' |
||
− | * Emmener les feuilles complétées de vos évaluations : [[media:System-Usability-ScaleLogicielComplet.pdf]] et [[media:EvalEfficacite.pdf]] |
||
− | * Votre passage doit contenir une présentation globale du projet, le processus de conception (illustré), des évaluations, le bilan (point de vue IHM) et une démo PRÉPARÉE |
||
− | * Arrivez avec l'application démarée (on ne perd pas de temps) et 1 ou 2 scénarios (de test) |
||
− | * A apporter sur clés : tous les documents numérisés produits (ppt des audits, scan des maquettes papier...) |
||
− | |||
− | '''Consignes spécifiques pour les soutenances Système''' |
||
− | * Remplissez et apportez une version papier de la fiche d'évaluation suivante [[Media:FicheEval20152016-GROUPE-THEME.doc]] |
||
− | * Votre code source doit être accessible en ligne avec un lien depuis votre fiche de suivi sur le wiki. |
||
− | * Le dossier de conception système et le dossier d'évaluation doivent aussi être disponibles depuis votre page wiki. (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. |
||
* 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é. |
* 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 |
* 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 |
||
− | Respectez l'ordre établi |
||
− | Faites attention au temps. Vous disposez de 30 minutes par soutenance pour : votre présentation, la démo et les questions |
||
+ | '''''Ordre de passage :''''' |
||
− | * 13h30 - 14h00 : Groupe 1 |
||
+ | |||
− | * 14h05 - 14h35 : Groupe 2 |
||
+ | Respectez l'ordre établi. |
||
− | * 14h40 - 15h10 : Groupe 3 |
||
+ | Faites attention au temps. Vous disposez de 30 minutes par soutenance pour : votre présentation et les questions. |
||
− | * 15h15 - 15h45 : Groupe 4 |
||
+ | 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). |
||
− | * 15h50 - 16h20 : Groupe 5 |
||
+ | |||
+ | //A compléter lorsque les groupes seront faits |
||
ATTENTION : Si vous voulez modifier l'un des plannings, vous devez : |
ATTENTION : Si vous voulez modifier l'un des plannings, vous devez : |
||
Line 305: | Line 156: | ||
* envoyer un mail à SC et TR pour informer du changement (avec le chef de projet de l'autre groupe en copie) |
* 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. |
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" |
||
+ | [[File:20121002 141359.jpg|center|400px|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 ([http://readwrite.com/2014/04/15/amazon-web-services-hack-bitcoin-miners-github bitcoins], DDoD, ...) ! |
||
+ | |||
+ | ==Réalisations IHM== |
||
+ | ===Conception=== |
||
+ | ===Développement=== |
||
=Documentation= |
=Documentation= |
Revision as of 16:08, 31 July 2016
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.
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
- 20/09 08H00-11H15 : Démarrage instance Cloud (EC2, Azure, ...) Install JavaEE (Glassfish, JBossAS, Apache TomEE), tutoriel EJB 3h00 DD
- 20/09 13H30-16H45 : CM HTTP & Servlets/JSP 3h00 (DD)
- 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 autonome
11/10 08H00-11H15 : Permanence Système (DD) + IHM (SC) 11/10 13H30-16H45 : Travail autonome
- 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 : Permanence Système (TR) + IHM (SC)
- 08/11 08H00-11H15 : Permanence Système (TR) + IHM (SC)
- 08/11 13H30-16H45 : Permanence Système (TR) + IHM (SC)
- 15/11 08H00-11H15 : Permanence Système (TR) + IHM (SC)
- 15/11 13H30-16H45 : Permanence Système (TR) + IHM (SC)
- 29/11 08H00-11H15 : Permanence Système (TR) + IHM (SC)
- 29/11 13H30-16H45 : Permanence Système (TR) + IHM (SC)
- 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"
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
- Cours JEE/EJB(NDP) Media:EJB-ECOM2010.pdf
- Cours JEE tiers presentation (SCB) : url
- Cours GWT (SCB) : url
- Cours maven (DD) : url
- Cours versionning (DD) : url
- Cours subversion (DD) : url
- Cours forge (DD) : url
- Cours http (DD) : url
- Cours servlet (DD) : url
- Cours IHM (SC) : Media:Cours2015-2016RICM.pdf
- Annexe Cours IHM (SC) : Media:Annexe1-HeuristiqueNielsen.pdf, Media:Annexe2-KMADe.pdf, Media:Annexe3-Placement.pdf, Media:Annnexe4-Accesssibilité.pdf
Doc utiles
- Transformation UML vers Relationnel
- Guide d'administration de Glassfish 4
- Tutorial JavaEE 7 (sources des exemples)
- API JavaEE 7
- Java EE Platform Specification
- JPA implementation patterns
- Présentation sur le Cloud Computing : http://erods.liglab.fr/icar2013/programme.html
- Documentation et Training Kit sur Windows Azure : http://www.microsoft.com/en-us/download/details.aspx?id=8396
- Documentation de Roboconf
- Exemple avec LAMP http://roboconf.net/en/user-guide/lamp-example-part-1.html
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
- Arun Gupta, Java EE 7 Essentials, Enterprise Developer Handbook, O'Reilly Media, August 2013 (examples)
- Antonio Goncalves, Beginning JavaEE 7, APress, 2013, (examples pour Glassfish 4)
- Peter A. Pilgrim, Java EE 7 Developer Handbook, Packt, 2013, ISBN 139781849687942
- Mick Knutson, Java EE6 Cookbook for securing, tuning, and extending enterprise applications, Packt Publishing, June 2012
- Holly Cummins and Timothy Ward, Enterprise OSGi in Action, March, 2013, 400 pages, ISBN: 9781617290138, http://www.manning.com/cummins/ (chapitre 2, chapitre 10)
- Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan, EJB 3 in Action, Second Edition, March 2014, ISBN: 9781935182993, (source code of examples)
- Andrew Lee Rubinger, Bill Burke, Enterprise JavaBeans 3.1, 6th Edition, O'Reilly Media, Final Release Date: September 2010, Pages
REST
- The RESTful CookBook, How to do stuff RESTful, http://restcookbook.com
- Bill Burke, RESTful Java with JAX-RS 2.0, 2nd Edition, Designing and Developing Distributed Web Services, Publisher: O'Reilly Media, Final Release Date: November 2013 (source code of examples)
Web
Responsive Web Design
- Matthew Carver, The Responsive Web, Manning, October 2014, ISBN: 9781617291241 http://www.manning.com/carver/ (source code)
AngularJS
- Brad Green, Shyam Seshadri, AngularJS, Pub OReilly http://shop.oreilly.com/product/0636920028055.do (source code)
Bootstrap
- Jake Spurlock, Bootstrap, Responsive Web Development, Pub: O'Reilly Media, http://shop.oreilly.com/product/0636920027867.do (source code)
Ember
Tests unitaires
Intégration en Continue
Misc
- Eric Ries, The Lean Startup, http://theleanstartup.com/