ECOM RICM5 Groupe4 2017

Le projet ECOM-RICM 2016-2017 consiste à concevoir et développer une application de commerce électronique.

Présentation du projet ECOM
Notre site de commerce électronique MesLocationsVacances permet la recherche et location de chambres (appart'hôtel) ou gîtes entier ainsi que d'activité pour les vacances en famille ou entre amis. Le projet ECOM étant de courte durée nous décidons d'utiliser une méthodologie Scrum pour la conduite de ce projet. 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).

DCS

 * [[Media:ECOM2017_Grp4_DCS.pdf‎|DCS]]

Slides

 * [[Media:Audit 1 - ECOM2017 - Groupe 4.pdf|Slides Audit n°1]]
 * [[Media:Audit 2 - ECOM2017 - Groupe 4.pdf|Slides Audit n°2]]
 * [[Media:Audit 3 - ECOM2017 - Groupe 4.pdf|Slides Audit n°3 (Rendu final)]]

CLOC
Au 18/12/2017 - 11h15

Front-end
10658 text files. 7819 unique files. 3523 files ignored.

github.com/AlDanial/cloc v 1.72 T=65.07 s (110.8 files/s, 14005.5 lines/s) --- Language                            files          blank        comment           code --- JavaScript                           5188          80763         137151         429248 JSON                                  812            317              0          93211 Markdown                              698          32662              2          80758 HTML                                  211           1314            228          10787 CSS                                    25            459            717           9310 XML                                    13           3242           1309           7922 TypeScript                             79           1385           9184           6273 YAML                                  104             57             55           1225 Bourne Shell                            8            150            106            681 DTD                                     1            179            177            514 Windows Module Definition               5             88              0            437 make                                   35            162             57            412 CoffeeScript                           15             69             53            185 XHTML                                   3              3              5            104 Smarty                                  6             17             30             91 XSLT                                    1              5              0             32 C#                                      2              3              1             27 ASP.Net                                 2              5              0             23 C                                       1              7              4             23 Bourne Again Shell                      1              2              1             20 Handlebars                              1              3              0             19 Lisp                                    1              0              0              6 --- SUM:                                 7212         120892         149080         641308 ---

Back-end
168 text files. 119 unique files. 66 files ignored.

github.com/AlDanial/cloc v 1.72 T=1.98 s (52.6 files/s, 7292.3 lines/s) --- Language                    files          blank        comment           code --- CSS                             5            233            216           3234 Java                           46            781            264           3039 HTML                            2              8            140           2166 XHTML                          28            236              3           1412 JSON                            3              1              0           1115 XML                             7             39             10            364 Maven                           1             18              6            299 JavaScript                      3             28             74            195 INI                             4             60              0            180 Bourne Shell                    1             14              3            114 Markdown                        2             35              0             70 YAML                            1              0              0             61 Dockerfile                      1              0              0              2 --- SUM:                          104           1453            716          12251 ---

COCOMO SIMPLE METHOD
CLOC= 39349/1000 = 39.349

type de projet: CLOC > 300 donc on a un modèle organique ou simple. E : effort par personne et par mois. D : temps de développement.


 * E = a*(CLOC⁾)b
 * E = 2.4*39.349¹,⁰⁵
 * E =113.472762144


 * D = c*(E)^d
 * D = 2.5* (113.472762144) ^0.38
 * D = 15.0938081908

Organisation Github
https://github.com/ECOM2017-MesLocationsVacances

Sur cette organisation, nous avons 5 dépôts :
 * MesLocationsVacances où est le code du backend
 * front-end où est le code du front-end
 * wildfly10-mariadb où est le Dockerfile et les fichiers de configuration de notre serveur
 * docker-influxdb-grafana où est un docker-compose avec une stack InfluxDB et Grafana
 * docker-ce-git-maven où est un Dockerfile maison qui est utilsé pour builder notre app dans CircleCI (Déploiement continu)

Backlog
https://docs.google.com/spreadsheets/d/1q9dQ0ybt4afcZ-YlmdH-NDNNKolRx7T0uzQxiNFy_n8/edit?usp=sharing

Tableau agile
https://waffle.io/ECOM2017-MesLocationsVacances/MesLocationsVacances

Comptes rendus des réunions
https://drive.google.com/drive/folders/115YeCpQLLFb4bdtlrquMVgLuziuOptew?usp=sharing

Journaux personnels
https://drive.google.com/drive/folders/13bg_dhKpsQFdoLZ15I-Wp-iOa9W2I591?usp=sharing

Version minimum :

 * Paiement sur place
 * Consultation (pas de réservation en ligne, possibilité d’obtenir le numéro du loueur)
 * Pas de filtre
 * Description de l’offre

Intégration continue
https://circleci.com/gh/ECOM2017-MesLocationsVacances (Nécessite un compte gratuit sur CircleCI)

Sprint 1 : 18 au 24 Septembre 2017

 * Découverte du sujet attribué.
 * Attribution des rôles (chef, lead développeur et scrummaster).
 * Identification des besoins client.
 * Découverte de l’architecture globale du projet imposée.
 * Suivi d'un cours sur les différentes technologies qu’on peut utiliser dans notre projet.

Retrospective: En découvrant le sujet et les cas d’utilisations cela nous a permis de nous faire une première idée de ce que nous devions produire.

Sprint 2 : 25 Septembre au 1 Octobre 2017

 * Brainstorming et discussion pour être tous sur la même longueur d’onde.
 * Choix des technologies utilisées (Wildfly, Docker, Eclipse Java EE, GenerJEE, Mix Wildfly-Docker-JavaEE sur github.)
 * Rédaction UML minimum.
 * Génération du projet avec GenerJEE.
 * Réalisation du modèle de tâches.
 * Réalisation du modèle d’interaction IHM.
 * Extraction des besoins depuis les cas d’utilisations.
 * Rédaction d’une première version de backlog résumant toutes les exigences client.

Retrospective: Nous avons décidés d’utiliser WildFly et GenerJEE et avons donc installés les différents logiciels.

Sprint 3 : 2 au 8 Octobre 2017
Retrospective: Une bonne repartition des tâches nous a permis de bien avancer dans notre travail et nous a permis d'etre efficace. '' Lors de cette semaine nous nous commes rendu compte que genereJee n'etait pas la technologie la plus adequate à notre projet. Nous avions donc perdu beaucoup trop de temps à la comprendre ce qui nous a permis d'arriver a la conclusion de chercher une nouvelle technologie qui serait plus adaptée. ''
 * Répartition des tâches pour la première série de livrables :
 * L2 : Dossier de conception Système
 * L3 : Analyse des besoins
 * L7 : Modèle de tâches
 * Avancement dans notre projet et code source.
 * Avancement dans la rédaction du Wiki.
 * Préparer les diapos de la présentation de la semaine prochaine.
 * Revoir les exigences clients plus en détails.
 * Fait le journal des tâches.
 * Revoir l’UML et le compléter.

Sprint 4 : 9 au 15 Octobre 2017

 * Audit 1
 * Analyse de l’existant
 * Modèle de tâche gérant
 * Déploiement du prototype (généré par generJEE)
 * planification

Retrospective : Entre l'audit 1 et le cours en fin de journée, moins de progression cette semaine. Prise en compte des retour de l'audit 1, et deployment avec succès du prototype en local.

Sprint 5 : 16 au 22 Octobre 2017

 * Prise en main docker
 * Génération de code
 * Mise en place AWS
 * Mise en place d'intégration continue

Retrospective: : Déploiement (avec fonctionnalité minimal) du prototype dans un docker avec intégration continue sur Amazon Web Services.

Travail sur la maquette et la spécification technique.

Sprint 6 : 23 au 29 Octobre 2017
Réalisation d’un prototype pour la partie métier (serveur applicatif) -> prise en main EJB (session et entity beans, annotations JAX-RS, Swagger). Pas besoin d’interface web, accès par client http (cUrl, Swagger UI, jmeter …)

Détails des différents EJBs et leurs UML (diagram de class) Maquette et squelette du site pour la plateforme cible.

Retrospective: : Modification du prototype (base de donnée), amélioration de l'installation sur AWS (optimisation facturation, correction de certain paramètres). progression de la maquette et du prototype de l'IHM. Prise en main du code serveur généré.

Sprint 7 : 6 au 11 Novembre 2017

 * Audit numéro 2.

A la suite de cet audit, nous nous sommes organisé autrement : En utilisant beaucoup mieux Waffle.io (Tableau agile) et des réunions plus "carrés". C'est pour cela que cette section n'est plus à jour.