ECOM RICM5 Groupe4 2017: Difference between revisions
(→COCOMO) |
|||
(30 intermediate revisions by 3 users not shown) | |||
Line 22: | Line 22: | ||
!scope="row"| 2 |
!scope="row"| 2 |
||
| ROPRAS Thomas |
|||
| thomas.ropars@imag.fr |
|||
|- |
|||
!scope="row"| 3 |
|||
| CAFFIAU Sybille |
| CAFFIAU Sybille |
||
| sybille.caffiau@imag.fr |
| sybille.caffiau@imag.fr |
||
Line 70: | Line 75: | ||
|} |
|} |
||
== |
== Livrable et rendus == |
||
* [[Media:ECOM2017_Grp4_DCS.pdf|DCS]] |
|||
=== Application === |
|||
* [[Media:ECOM2017_Grp4_ProductBacklog.pdf|Product Backlog]] |
|||
* Slides Audit n°1 |
|||
L'application est disponible ici : [http://meslocationsvacances.tk.s3-website.eu-west-2.amazonaws.com http://meslocationsvacances.tk.s3-website.eu-west-2.amazonaws.com]. |
|||
=== DCS === |
|||
* [[Media:ECOM2017_Grp4_DCS.pdf|DCS (PDF)]] |
|||
=== Slides === |
|||
* [[Media:Audit 1 - ECOM2017 - Groupe 4.pdf|Slides Audit n°1 (PDF)]] |
|||
* [[Media:Audit 2 - ECOM2017 - Groupe 4.pdf|Slides Audit n°2 (PDF)]] |
|||
* [[Media:Audit 3 - ECOM2017 - Groupe 4.pdf|Slides Audit n°3 (Rendu final) (PDF)]] |
|||
=== CLOC === |
|||
Au 18/12/2017 - 11h15 |
|||
==== Front-end ==== |
|||
<nowiki>100 files |
|||
178 text files. |
|||
classified 178 files |
|||
Duplicate file check 178 files (137 known unique) |
|||
Unique: 100 files |
|||
139 unique files. |
|||
Counting: 100 |
|||
194 files ignored. |
|||
http://cloc.sourceforge.net v 1.60 T=0.48 s (222.2 files/s, 28528.1 lines/s) |
|||
----------------------------------------------------------------------------------- |
|||
Language files blank comment code |
|||
----------------------------------------------------------------------------------- |
|||
CSS 5 233 216 3234 |
|||
Java 46 781 264 3039 |
|||
HTML 2 8 140 2166 |
|||
JavaServer Faces 34 295 0 1819 |
|||
XML 11 42 10 429 |
|||
Maven 2 30 7 396 |
|||
Javascript 3 28 74 195 |
|||
Bourne Shell 1 14 3 114 |
|||
YAML 1 0 0 61 |
|||
Visualforce Component 1 0 0 10 |
|||
----------------------------------------------------------------------------------- |
|||
SUM: 106 1431 714 11463 |
|||
-----------------------------------------------------------------------------------</nowiki> |
|||
==== Back-end ==== |
|||
<nowiki>84 text files. |
|||
classified 84 files |
|||
79 unique files. |
|||
444 files ignored. |
|||
http://cloc.sourceforge.net v 1.60 T=0.40 s (121.0 files/s, 130744.6 lines/s) |
|||
------------------------------------------------------------------------------- |
|||
Language files blank comment code |
|||
------------------------------------------------------------------------------- |
|||
Javascript 19 4162 20312 18287 |
|||
CSS 12 199 232 8207 |
|||
XML 5 0 0 847 |
|||
HTML 12 113 32 519 |
|||
YAML 1 0 0 26 |
|||
------------------------------------------------------------------------------- |
|||
SUM: 49 4474 20576 27886 |
|||
-------------------------------------------------------------------------------</nowiki> |
|||
=== COCOMO et Cout === |
|||
https://docs.google.com/spreadsheets/d/1Gg3kR72RhBdt6bRRfIuOhKgeKhaBmp_lIwPsDKNQdvc/edit#gid=0 |
|||
=== Auto-évaluation === |
|||
[[Media:Fiche-Eval-ECOM2017-Groupe4.pdf|Fiche d'auto-évaluation (PDF)]] |
|||
== Liens importants == |
|||
===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 |
|||
== Tâches à réaliser == |
== Tâches à réaliser == |
||
Line 83: | Line 188: | ||
*Pas de filtre |
*Pas de filtre |
||
*Description de l’offre |
*Description de l’offre |
||
===Backlog :=== |
|||
*Filtres (durée, date, lieu …) |
|||
*Création de compte, connexion, gestion … |
|||
*Persistance de connexion (cookies, autre) |
|||
*Réservation avec un compte |
|||
*Paiement CB |
|||
*Paiement PayPal |
|||
*Paiement sur place avec compte |
|||
*Tickets imprimables ( Par le site du loueur cf. scénario 3) |
|||
*Ticket sur smartphone ( Par le site du loueur également ? ) |
|||
*Multiple formats de logements (scénario 2, 1 ou plusieurs bâtiments, Pas toujours au choix du client cf scénario 5) |
|||
*Consultation des taux de réservations pour les gestionnaires |
|||
*Plusieurs niveaux de droit de gestion (Scénario 4) |
|||
*Affichage de statistiques (scénario 4) |
|||
*Précision adulte/enfant (scénario 2) |
|||
*Affectation clients |
|||
*Offres spéciales / réductions |
|||
*Adaptation à la taille de l’écran |
|||
*Systeme de promotions |
|||
*(Gérant) affectation des réservations à des gîtes (maj du nombre de places disponible) |
|||
*(Gérant) Ajouter et affecter client sans réservation. |
|||
*Notification employé lors de l’affectation d’un client ( appli ? sms ?). |
|||
== Partie IHM == |
== Partie IHM == |
||
Line 116: | Line 197: | ||
===Diagramme d'interaction === |
===Diagramme d'interaction === |
||
[[ File: |
[[ File:Abstrait.png|800px|thumb|center| figure_x : Diagramme des interactions]] |
||
===Diagramme de contexte=== |
===Diagramme de contexte=== |
||
Line 123: | Line 204: | ||
== Partie système == |
== Partie système == |
||
=== Choix technologiques === |
=== Choix technologiques === |
||
[[ File: |
[[ File:Architec.png|800px|thumb|center| figure_x : Choix Technologiques]] |
||
=== Diagramme de classes === |
=== Diagramme de classes === |
||
Line 129: | Line 210: | ||
===Intégration continue=== |
===Intégration continue=== |
||
[https://circleci.com/gh/ECOM2017-MesLocationsVacances https://circleci.com/gh/ECOM2017-MesLocationsVacances] |
[https://circleci.com/gh/ECOM2017-MesLocationsVacances https://circleci.com/gh/ECOM2017-MesLocationsVacances] (Nécessite un compte ''gratuit'' sur CircleCI) |
||
== SCRUM == |
== SCRUM == |
||
Line 190: | Line 271: | ||
'''Retrospective:''' : Déploiement du prototype dans un docker avec intégration continue sur Amazon Web Services. |
'''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. |
Travail sur la maquette et la spécification technique. |
||
===Sprint 6 : 23 au 29 Octobre 2017=== |
===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:''' : |
'''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=== |
===Sprint 7 : 6 au 11 Novembre 2017=== |
||
'''Retrospective:''' : |
|||
* Audit numéro 2. |
|||
A la suite de cet audit, nous nous sommes organisé autrement : En utilisant beaucoup mieux Waffle.io ([[ECOM_RICM5_Groupe4_2017#Tableau_agile|Tableau agile]]) et des réunions plus "carrés". C'est pour cela que cette section n'est plus à jour. |
Latest revision as of 09:54, 19 December 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).
Equipe
Enseignants
Nom Prénom | ||
---|---|---|
1 | DONSEZ Didier | didier.donsez@imag.fr |
2 | ROPRAS Thomas | thomas.ropars@imag.fr |
3 | CAFFIAU Sybille | sybille.caffiau@imag.fr |
Etudiants
Nom Prénom | Rôle | ||
---|---|---|---|
1 | BOISADAM Antoine | antoine.boisadam@etu.univ-grenoble-alpes.fr | Chef de projet |
2 | DEREYMEZ Maxime | maxime.dereymez@etu.univ-grenoble-alpes.fr | Développeur |
3 | LEMAIRE Timothée | timothee.lemaire@etu.univ-grenoble-alpes.fr | Scrum master |
4 | LESAGE Lucas | lucas.lesage@etu.univ-grenoble-alpes.fr | Lead Développeur |
5 | ZENNOUCHE Douria | douria.zennouche@etu.univ-grenoble-alpes.fr | Développeur |
Livrable et rendus
Application
L'application est disponible ici : http://meslocationsvacances.tk.s3-website.eu-west-2.amazonaws.com.
DCS
Slides
CLOC
Au 18/12/2017 - 11h15
Front-end
100 files 178 text files. classified 178 files Duplicate file check 178 files (137 known unique) Unique: 100 files 139 unique files. Counting: 100 194 files ignored. http://cloc.sourceforge.net v 1.60 T=0.48 s (222.2 files/s, 28528.1 lines/s) ----------------------------------------------------------------------------------- Language files blank comment code ----------------------------------------------------------------------------------- CSS 5 233 216 3234 Java 46 781 264 3039 HTML 2 8 140 2166 JavaServer Faces 34 295 0 1819 XML 11 42 10 429 Maven 2 30 7 396 Javascript 3 28 74 195 Bourne Shell 1 14 3 114 YAML 1 0 0 61 Visualforce Component 1 0 0 10 ----------------------------------------------------------------------------------- SUM: 106 1431 714 11463 -----------------------------------------------------------------------------------
Back-end
84 text files. classified 84 files 79 unique files. 444 files ignored. http://cloc.sourceforge.net v 1.60 T=0.40 s (121.0 files/s, 130744.6 lines/s) ------------------------------------------------------------------------------- Language files blank comment code ------------------------------------------------------------------------------- Javascript 19 4162 20312 18287 CSS 12 199 232 8207 XML 5 0 0 847 HTML 12 113 32 519 YAML 1 0 0 26 ------------------------------------------------------------------------------- SUM: 49 4474 20576 27886 -------------------------------------------------------------------------------
COCOMO et Cout
https://docs.google.com/spreadsheets/d/1Gg3kR72RhBdt6bRRfIuOhKgeKhaBmp_lIwPsDKNQdvc/edit#gid=0
Auto-évaluation
Liens importants
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
Tâches à réaliser
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
Partie IHM
Diagramme des taches client
Diagramme des taches gerant
Diagramme d'interaction
Diagramme de contexte
Partie système
Choix technologiques
Diagramme de classes
Intégration continue
https://circleci.com/gh/ECOM2017-MesLocationsVacances (Nécessite un compte gratuit sur CircleCI)
SCRUM
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
- 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.
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.
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.