Difference between revisions of "ECOM RICM5 Groupe5 2015"

From air
Jump to navigation Jump to search
 
(2 intermediate revisions by the same user not shown)
Line 21: Line 21:
   
 
== Documents ==
 
== Documents ==
[http://air.imag.fr/index.php/Benchmark_ECOM_2015_GRP5 Document Évaluation Système - Benchmark]
+
* [http://air.imag.fr/index.php/Benchmark_ECOM_2015_GRP5 Document Évaluation Système - Benchmark]
[http://air.imag.fr/index.php/File:DCS_gp5.pdf Document Conception Système]
+
* [http://air.imag.fr/index.php/File:DCS_gp5.pdf Document Conception Système]
[http://air.imag.fr/index.php/SCS_ECOM_2015_GRP5 Schéma SCS]
+
* [http://air.imag.fr/index.php/SCS_ECOM_2015_GRP5 Schéma SCS]
[http://air.imag.fr/index.php/SONAR_ECOM_2015_GRP5 Audit SONAR (CI)]
+
* [http://air.imag.fr/index.php/SONAR_ECOM_2015_GRP5 Audit SONAR (CI)]
  +
* [http://air.imag.fr/index.php/SRS_ECOM_2015_GRP5 Document SRS]
  +
* [http://air.imag.fr/index.php/File:Chartegraphique.pdf Charte Graphique]
  +
* [http://air.imag.fr/index.php/File:Spécifications_ecom_grp5.pdf Spécifications - Trace de travail (Sprint 1)], Conception "générale" du projet (livrable 08/09)
  +
* [https://docs.google.com/forms/d/14Bcd32h7TER11Bxbu9Sg22n8N94EqxBxuCFtMLpmzaQ/viewform Questionnaire] (étude des besoins)
  +
* [http://air.imag.fr/index.php/File:ECOM-GRP5-Conception.pdf Trace de travail (Sprint 2)], Conception IHM (livrable 06/10)
  +
  +
== Liens ==
  +
* [https://github.com/EudesRobin/ecom Dépôt Github] (dépôt actuellement privé).
  +
* [https://waffle.io/EudesRobin/ecom Board Waffle.io - ECOM GRP5] (le dépot Github étant privé, cette board requiert la même authentification)
   
 
== Etude du marché ==
 
== Etude du marché ==

Latest revision as of 23:08, 5 July 2016

Bienvenue sur la fiche de suivi du projet Restauration personnalisée en ligne .

Un projet de site de E-commerce dans lequel nous allons nous initier à la programmation J2EE.

Nous sommes le groupe 5 de la promotion RICM5 - 2015/2016.

Présentation du projet

Le site porte sur un service de restauration personnalisée. Deux modes de fonctionnement vous sont possibles :

  • des formules sont proposées par des artisans restaurateurs, sur lesquelles il vous est possible d’imposer des contraintes (la cuisson,...) selon vos affinités gustative, si l’artisan le propose.
  • des thèmes culinaires sont proposés par des artisans restaurateurs qui se charge de répondre à votre demande de plat dans un temps imparti. Il est à noter que l’artisan peut librement accepter ou refuser le traitement de votre demande dans la mesure des stocks disponibles. Dans le cas d’un refus une proposition peut vous être faite par l’artisan.

L'équipe

Documents

Liens

Etude du marché

Suite à la diffusion de notre questionnaire, nous avons obtenu 26 réponses à l'heure actuelle. Bien que cet échantillon de réponse soit limité, nous l'avons jugé suffisamment représentatif pour baser nos principaux axes de travail en adéquation avec les réponses reçues.

Utilisateurs cibles

Users cible.png

Nous ciblons principalement les étudiants, ou les jeunes salariés.

Besoins utilisateurs

Users need1.png Uses need2.png Uses need3.png

Le moyen principal de paiement serait la carte bancaire, cependant il serait souhaitable que notre système accepte différents modules de paiements tel que Paypal, Izly. La base d'utilisateur est par ailleurs favorable à un système de fidélité, récompensant le client d'une commande offerte après une certaine quantité d'achats à définir. Le site doit également donner accès à un système de notation sur les formules ou plats proposés par les restaurateurs, l'avis des autres clients étant un critère de choix important.

Etude de la concurrence

La concurrence est nombreuse, et souvent spécialisée dans un domaine culinaire. En voici quelques exemples :

  • Foodpanda : Le site nous proposera d'abord de choisir un restaurant, puis le menu que l'ont souhaite commander, avant de finaliser la commande (paiement). Cependant, on peut également effectuer une recherche par type de cuisine,et donc trouver les restaurants servant ce type de plats, pour revenir dans le premier schéma évoqué (choix restaurant -> choix plat -> paiement). La recherche par type de cuisine est pas mise en avant. Le site reste malgré tout assez clair, bien que chargé. Une application mobile est proposée par ailleurs (Android/iOS/Windows Phone).
  • SushiShop : Thème "sombre" pour le site, on a un accès direct aux "boxes" (menus sushis), ou à la carte détaillée. Le menu donnant accès à la carte nous offre un "diaporama" des plats servis, très agréable visuellement. Le panier sera affiché dans un menu sur la droite uniquement une fois que nous avons sélectionné un plat. Un espace de connexion vers son compte est disponible en haut à droite. Logo discret sur le coin supérieur gauche.

Plateformes d'utilisation

Uses plat.png

La mise en forme de notre site devra être capable de supporter différents supports, PC et mobiles principalement (responsive design).

Définition des services rendus

Exigences

Exigences fonctionnelles

  • Tâches prioritaires
    • Gestion d'une session sécurisée
    • Acteur client : Effectuer une commande
    • Acteur client : Gérer son panier
    • Acteur artisan : Gérer son catalogue
  • Tâches secondaires
    • Acteur client : Effectuer un appel d'offre
    • Acteur artisan : Répondre à un appel d'offre

Exigences non fonctionnelles

  • Propriétés ACID sur les transactions (en particulier le paiement)
  • Utilisabilité , selon Les critères ergonomiques de Bastien & Scapin
  • Gestion fine de l'utilisation de HTTPS
  • Résistance du système à la montée en charge (Temps de service constant)
  • Réduire au minimum le parcours de paiement
  • Portabilité (responsive design) PC, mobiles.

Conception du système

Arbres des tâches

Tâches prioritaires

Arbre taches client faire une commande.png


Arbre taches artisan gerer catalogue.png

Tâches secondaires

Arbre taches client faire un appel d offre.png


Arbre taches artisan repondre appel d offre.png

Diagramme de contexte

Diagramme de contexte ecom5.png

Base de données

UML - DataBase.png

Vous remarquerez, qu'il n'y a pas de table "Panier" ou "Historique", car nous considérons que ces données sont à sauvegarder en session.

IHM abstraites

Faire une commande (client)

Priorité : forte


La tâche "Faire une commande" pour l'acteur Client se décomposer en ces 2 IHM abstraites : Consulter la carte et Consulter son panier .

Client - consulter carte - IHM abstraite.png

IHM abstraite - consulter panier (client).png

Gérer son catalogue (artisan)

Priorité : forte


IHM abstraite - Gestion catalogue artisan.png

Maquettes du site

Maquette Accueil du site

Maquette carte.png

Maquette page Formule

Maquette formule (1).png

Planification du projet - SCRUM

SCRUM est la méthode de travail préconisée, bien que non adaptée à la nature exploratoire du projet. Nous tacherons néanmoins de planifier au mieux.

Sprint planning


Sprint 1 : 15/09/2015 - 28/09/2015

  • Choix d'un sujet de commerce en ligne
  • Prise en main des outils de développement J2EE
  • Réalisation d'un questionnaire
    • ciblage du marché
    • étude de marché sur la concurrence
    • identification des besoins utilisateur

Sprint 2 : 29/09/2015 - 12/10/2015

  • Réalisation d'un arbre des tâches
  • Conception d'une architecture générale
  • Publication des documents de conception IHM sur air.imag.fr
  • Analyse des résultats du questionnaire

Sprint 3 : 13/10/2015 - 26/10/2015

  • Mise en forme des arbres des tâches, IHM abstraites.
  • Analyse de la concurrence
  • Réalisation de la maquette
  • Conception Architecture système
  • Préparation de la soutenance "Conception" GL/IHM/Système

Sprint 4 : 27/10/2015 - 09/11/2015

  • Mise en place client d'administration lourd
  • Session bean Client,Artisan,Product : première version
  • Recherches concernant la mise en place d'une API REST
  • Recherches concernant la gestion de l'authentification via l'API REST
  • Mise en place d'une page d'index pour la webapp utilisant bootstrap, angularJS
  • Modification de quelques Entity bean (champs inutiles, etc )

Sprint 5 : 10/11/2015 - 23/11/2015

  • Session beans Formule, Orders première version
  • Autre sessions beans : version 2 , révision des prototypes, ajout de fonctionnalités
  • API REST sans authentification v1 opérationnelle pour Product, Artisan, Client ( incomplète , cependant )
  • Modification de certaines propriétés des entity pour empêcher des incohérences/dysfonctionnements
  • Ajout fonctions pour modifier un champ unique de Product (icon_url,description,isAvailable,price,title)

Sprint 6 : 24/11/2015 - 07/12/2015

  • Finalisation Authentification API + diverses fonctionnalités
  • Finalisation des divers Session beans (client,artisan,formule,product,orders)
  • Ajout newsletter hebdomadaire , mensuelle
  • Possibilité d'envoie de mail massif au client (hors newsletter)
  • Envoie de mail à la création/suppression compte
  • Envoie de mail à la création d'une commande et modification de son état
  • Utilisation d'une URL avec UUID pour activation du compte créé
  • Suppression des comptes non activés après une semaine
  • IHM ClientSide (utilisation du site web...) avancement
  • Panier @Statefull + utilisation sur interface web
  • Ajout fonctionnalités dans le client d'administration
  • Possibilité de modifier le contenu des newsletters
  • Bug fix divers
  • Mise à jour wiki
  • Pagination des résultats sur la page d’accueil (liste des formules)

Sprint 7 : 08/12/2015 - 16/12/2015

  • Bug Fix API
  • Suppression token user lors du logout
  • Modification routes AngularJS
  • Cleaning Code (Audit SONAR du code)
  • Mise à jour Javadoc
  • Mise à jour Wiki
  • Benchmark JMeter
  • Bug Fix Création Formule (ajouts des produits)
  • Rédaction Document Conception Système, Document Évaluation Système
  • Mise à jour Charte Graphique
  • Préparation démonstration - soutenance
  • Debug API
  • corrections mineures dans le système ( pseudo unique dans la BDD )

Centralisation documents produits

Divers

Note : Les documents de type "Trace de travail" ne sont que des snapshots de notre travail au jour J, et ne sont donc pas nécessairement en accord avec la version actuelle de notre projet, présentée ci dessus.

Dépôt Github

GitHub - ECOM GRP5 (dépôt actuellement privé).

Note : Merci de nous communiquer un identifiant de compte à ajouter, si vous souhaitez observer nos développements.

Board Waffle.io

Board Waffle.io - ECOM GRP5 (le dépot Github étant privé, cette board requiert la même authentification)

SRS

Document SRS

Charte Graphique

Charte Graphique

Métrique (Cloc)

-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Java                            58           1073            850           5513
Javascript                       4             86             19            583
HTML                             9             48             17            575
Maven                            5             40             33            288
Bourne Shell                     5              0              0             41
DOS Batch                        3              0              0             40
JSON                             2              0              0             32
XML                              4              0             25             29
CSS                              1              6              1             23
-------------------------------------------------------------------------------
SUM:                            91           1253            945           7124
-------------------------------------------------------------------------------

Mesure Cloc du projet (détails)

Document Évaluation Système - Benchmark

Document Évaluation Système - Benchmark

Audit SONAR (CI)

Audit SONAR (CI)

Schéma Conception Système

Schéma SCS

Document Conception Système

Document Conception Système