Académique Documents
Professionnel Documents
Culture Documents
SEL EconoEpiceries
SEL EconoEpiceries
Travail présenté à
MAKARENKOV, Vladimir
Le 9 juin 2015
Université du Québec à Montréal
1
2
HISTORIQUE DE VERSIONS
1 09/06/2015 Première version de la spécification des Document remis dans le cadre du cours
exigences. INM5151
3
Table des matières
4
2.4.10 Aspects critiques de l’application.................................................................................................20
2.4.11 Considération de sûreté et de sécurité........................................................................................20
2.5 Hypothèses et dépendances....................................................................................................................21
2.6 Répartitions des exigences ......................................................................................................................21
3.0 DESCRIPTION DÉTAILLÉE ...........................................................................................................................22
Vue d’ensemble des cas d’utilisation (Invité + Membre).........................................................................22
................................................................................................................................................................................22
3.1 Interface externes .......................................................................................................................................23
3.1.1 Chercher un produit ............................................................................................................................24
3.1.2 S’enregistrer..........................................................................................................................................25
3.1.3 Consulter un produit ...........................................................................................................................27
3.1.4 S’authentifier .........................................................................................................................................28
3.1.5 Ajouter une liste d’épicerie ...............................................................................................................29
3.1.6 Consulter une liste d’épicerie...........................................................................................................30
3.1.7 Calculer le prix d’une liste d’épicerie .............................................................................................31
3.1.8 Supprimer une liste d’épicerie .........................................................................................................32
3.1.9 Retirer un produit d’une liste d’épicerie ........................................................................................33
3.1.10 Ajouter un produit à une liste d’épicerie .....................................................................................34
3.1.11 Consulter les commentaires...........................................................................................................36
3.1.12 Évaluer un commentaire ..................................................................................................................37
3.1.13 Ajouter un commentaire ..................................................................................................................38
3.1.14 Modifier un commentaire.................................................................................................................39
3.1.15 Supprimer un commentaire ............................................................................................................40
3.1.16 Consulter la liste des favoris ..........................................................................................................41
3.1.17 Ajouter un produit à la liste des favoris ......................................................................................42
3.1.18 Retirer un produit de la liste des favoris .....................................................................................43
3.1.19 Modifier son compte .........................................................................................................................44
3.1.20 Supprimer son compte.....................................................................................................................45
3.1.21 Démarrer manuellement la collecte de données .......................................................................46
3.1.22 Consulter la liste des produits .......................................................................................................48
3.1.23 Ajouter un produit .............................................................................................................................49
3.1.24 Modifier un produit ............................................................................................................................50
3.1.25 Ajouter un prix à un produit ...........................................................................................................52
5
3.1.26 Modifier le prix d’un produit ...........................................................................................................53
3.1.27 Supprimer le prix d’un produit .......................................................................................................55
3.1.28 Supprimer un produit .......................................................................................................................56
3.1.29 Consulter la liste des magasins ....................................................................................................57
3.1.30 Ajouter un magasin ...........................................................................................................................58
3.1.31 Modifier un magasin .........................................................................................................................59
3.1.32 Activer/désactiver la collecte de données d’un magasin .......................................................60
3.1.33 Supprimer un magasin .....................................................................................................................61
3.1.34 Consulter la liste des chaînes ........................................................................................................62
3.1.35 Ajouter une chaîne ............................................................................................................................63
3.1.36 Modifier une chaîne...........................................................................................................................64
3.1.37 Activer/désactiver la collecte de donnée d’une chaîne ...........................................................65
3.1.38 Supprimer une chaîne ......................................................................................................................66
3.1.39 Consulter la liste des comptes ......................................................................................................67
3.1.40 Supprimer un compte .......................................................................................................................68
3.1.41 Suspendre ou rétablir un compte Membre .................................................................................69
3.1.42 Modifier un compte ...........................................................................................................................71
3.1.43 Ajouter un compte .............................................................................................................................72
3.1.44 Consulter l’horaire de de collecte de données automatisée .................................................73
3.1.45 Ajouter une collecte de données automatisée ..........................................................................74
3.1.46 Modifier une collecte de données automatisée .........................................................................75
3.1.47 Supprimer une collecte de données automatisée ....................................................................76
3.2 Spécifications fonctionnelles ..................................................................................................................77
3.2.4 Diagramme de classes .....................................................................................................................105
3.3 Exigences d’opérations, de communications et de performance ...............................................106
3.4 Exigences logiques de bases de données .........................................................................................106
3.4.1 Types d’informations utilisées par les différentes fonctions ................................................106
3.4.2 Fréquence d’utilisation.....................................................................................................................106
3.4.3 Capacité d’accès ................................................................................................................................106
3.4.4 Entités et relations des données ...................................................................................................106
3.4.5 Contraintes d’intégrité......................................................................................................................107
3.4.6 Exigences de rétention des données ...........................................................................................107
3.5 Contraintes de conception .....................................................................................................................107
6
3.6 Exigences non-fonctionnelles ...............................................................................................................107
3.6.1 Fiabilité .................................................................................................................................................107
3.6.2 Disponibilité ........................................................................................................................................107
3.6.3 Sécurité ................................................................................................................................................107
3.6.4 Entretien du logiciel ..........................................................................................................................108
3.6.5 Portabilité.............................................................................................................................................108
4.0 INFORMATIONS COMPLÉMENTAIRES ...................................................................................................108
4.1 Index .............................................................................................................................................................108
Aucun. ......................................................................................................................................................................108
4.2 Annexes .......................................................................................................................................................109
Annexe A - Maquette d‟interface .........................................................................................................................109
7
LISTE DES FIGURES
Figure 1 - Diagramme du fonctionnement opérationnel 14
Figure 2 - Diagramme des composantes logicielles 16
Figure 3 - Diagramme des cas d‟utilisation (Visiteur + Membre) 22
Figure 4 - Diagramme des cas d‟utilisation (Administrateur) 23
8
1.0 INTRODUCTION
ÉconoÉpiceries est un service en ligne offrant la possibilité aux consommateurs québécois
d‟épargner sur le prix de leur panier d‟épicerie.
Sommairement, ÉconoÉpiceries récolte les données variées des diverses épiceries
québécoises de manière hebdomadaire et les rend disponibles dans une forme normalisée aux
utilisateurs. Un consommateur peut ainsi rapidement comparer les prix de divers articles et
sauver sur le prix de son panier en magasinant à rabais.
Le document présent n‟a donc pas pour but de reprendre ces points mais bien de continuer
sur ces bases. Une référence à ce document peut être retrouvée au point 1.4 Documents
de références [2].
Le document présent n‟est donc pas destiné à tout public. Il requiert une certaine
connaissance technique de base et est donc destiné à un public plus technique, soit le
personnel impliqué au développement du système d‟ÉconoÉpiceries.
1.2 Portée
Le système développé a été nommé « ÉconoÉpiceries » suite à une consultation de
l‟équipe. ÉconoÉpiceries est le premier système en son genre au Québec. Des concepts de
services similaires existent déjà de par le monde mais ne sont pas encore présents ici.
Certains sites permettent déjà d‟avoir accès rapidement à toutes les circulaires d‟épicerie
d‟une région donnée. Cependant, aucun ne propose une manière simple et rapide de
comparer le prix d‟un article dans plusieurs épiceries. C‟est là qu‟ÉconoÉpiceries intervient.
ÉconoÉpiceries a pour but de faciliter cette comparaison en évitant au consommateur de
devoir lui-même vérifier les circulaires.
Dans le contexte actuel, aucun produit du genre n‟existe. ÉconoÉpiceries vient remplacer
une série de services existants inférieurs en sauvant une étape aux consommateurs. À
court terme, après le lancement du service, les consommateurs verront très rapidement les
bénéfices d‟un tel service, permettant d‟un simple clic de comparer le prix d‟un article
désiré. La démarche est simple, beaucoup plus rapide et efficace que la méthode
(manuelle) actuelle . ÉconoÉpiceries va permettre de facilement réduire le prix moyen du
panier d‟épicerie d‟un consommateur averti.
Définition Signification
Logique d‟affaire Contraintes logicielles établies par des pratiques d‟affaires plutôt que par des
exigences fonctionnelles
Hachage Transformer une chaîne de caractère avec un algorithme pour des raisons de
confidentialité
10
Tableau 1.1 - Définitions du lexique client
Définition Signification
Tableau 2 - Acronymes
Acronyme Signification
CU Cas d‟utilisation
DS Diagramme de séquence
Tableau 3 - Abréviations
Abréviation Signification
CONOPS Concept of Operations, document décrivant les caractéristiques d‟un système proposé
selon la vue d‟un utilisateur du système, étude d‟opportunité
11
1.4 Documents de références
[1] IEEE Recommended Practice for Software Requirements Specifications, IEEE Computer
Society, IEEE Std 830-1998 (Revision of IEEE Std 830-1993)
[2] Étude d’opportunité, Marc-André Alary, Mathieu Mathurin, Mathy Scott, Simon Drouin &
Jean-Philippe Légaré (2015), Révision 1 (19 mai 2015)
[5] UML 2 et les design patterns, 3e édition, Craig Larman, Person Education (2005)
12
1.5 Aperçu du document
La suite du document est séparée en trois chapitres: Description générale du logiciel,
description détaillée et informations complémentaires.
13
2.0 DESCRIPTION GÉNÉRALE DU LOGICIEL
2.1 Perspective du produit
Le développement du produit ÉconoÉpiceries permet de récolter, normaliser et rendre
facilement accessible à la recherche les données d‟articles vendus dans plusieurs épiceries
québécoises. ÉconoÉpiceries permet à l‟utilisateur la consultation, comparaison et
soumission de modification de tout article. Le produit est une solution 'tout en un' qui vient
remplacer la nécessité d‟autres produits complémentaires dans le système.
Pour bien comprendre la portée fonctionnelle du produit il est important de bien comprendre
les composants du système, leurs interfaces avec l‟environnement d‟opération et les
éléments externes au système desquels il dépendra.
2.1.2 Utilisateurs
Pour le fonctionnement du produit, on considère 3 types d‟utilisateurs distincts jouant un
rôle sur le système. Le premier, le Visiteur, soit l‟utilisateur ayant les responsabilités et
privilèges les plus limitées. Le deuxième, le Membre , soit un Usager possédant un
compte ÉcononÉpiceries ayant accès à plus de privilèges que le Visiteur. Le troisième,
l‟Administrateur, un Usager possédant le plus haut niveau de privilèges du système.
Définition Signification
La première composante, le serveur web, est une instance Node.js destinée à traiter les
requêtes HTTP, gérer l‟affichage des données, des pages, des vues et de gérer les
sessions utilisateurs. Node.js est un plate-forme construite sur le moteur d‟exécution
JavaScript V8 de Google développé pour Google Chrome. La nature flexible des
données gérées par ÉconoÉpiceries combinée au modèle d‟objet JSON de JavaScript
et l‟optimisation I/O de Node.js en font un choix parfait pour le serveur gérant une large
quantité de requêtes HTTP. Linux est conseillé comme OS, ce n‟est cependant pas une
exigence.
La deuxième composante, le serveur applicatif, est aussi une instance de Node.js aussi
sous Linux. Le serveur applicatif est séparé en deux sous-composantes: L‟une destinée
à la recherche et la logique d‟affaire, l‟autre destinée à la collecte automatique «
scraping » des données et la normalisation.
15
Figure 2 - Diagramme des composantes logicielles
2.1.5 Télécommunications
Le produit est un service web, pour son bon fonctionnement un support TCP/IP est
requis pour pouvoir utiliser le protocole HTTP. Ce support est natif pour la plupart des
OS.
Côté mémoire vive, on suggère un minimum de 2GO répartie entre les composantes.
Un minimum de 512MO pour la base de données, 512MO pour le serveur web et 1GO
pour le serveur applicatif.
Pour ce qui est de l‟espace de stockage, une bonne partie des données stockées
existent sur une base rotative et ont un temps d‟existence limité; L‟utilisation de l‟espace
de stockage risque donc d‟être minime, 10GO devraient suffire pour un moment. Par
souci d‟intégrité des données, il est conseillé de prévoir soit un espace de sauvegarde
de secours, soit une redondance des données, voir même les deux.
16
2.1.7 Opérateurs
L‟Administrateur a accès aux mêmes interfaces qu‟un utilisateur normal, seulement sa
vue (web) se voit augmentée de fonctionnalités supplémentaires lui permettant
d‟administrer les différentes parties du produit lors de la navigation. De plus,
l‟Administrateur a accès à une interface web lui étant réservée lui permettant d‟effectuer
des opérations supplémentaires de gestion système sur les données, l‟application, les
serveurs et l‟OS.
17
2.2 Vue d’ensemble des fonctions du produit
Tableau 4 - Vue d’ensemble des fonctions d’ÉconoÉpiceries
Fonction Description
Gestion de listes Les fonctions de gestion de listes d‟épiceries permettent aux Usagers de
d‟épiceries créer, modifier et supprimer des listes d‟épiceries ainsi que d‟y rajouter ou
supprimer des produits et d‟en calculer le prix total.
Gestion de favoris Les fonctions de gestion de favoris permettent aux Usagers de sauver
dans leur compte leurs produits favoris afin de pouvoir y accéder plus tard.
Recherche de produits Les fonctions de recherche permettent aux Visiteurs et Usagers de trouver
un produit et le consulter.
Gestion de la mise à Les fonctions de gestion de la mise à jour des données permettent aux
jour des données Administrateurs de modifier l‟horaire de collecte automatique des
données.
18
2.3 Description des utilisateurs
Le Visiteur est un élément externe du système ayant un accès limité au système. Ses
responsabilités et privilèges sont restreints au minimum. Il peut rechercher et consulter un
produit, créer un compte et s'authentifier. Aucune expertise ou capacité lui est requise outre
la qualité d‟être capable d‟utiliser un navigateur web et l‟internet. Ceci est valable pour tout
les utilisateurs.
19
2.4.5 Fonctions d’audit
Le système garde une historique des grandes actions faites par un Usager. L‟historique
rend possible le profilage d‟un utilisateur ou d‟une séquence d‟actions afin d‟améliorer le
système et de corriger les dysfonctionnements ou écarts détectés.
Côté données, le système doit s‟assurer que les prix listés sont les même qu‟en
magasin. Des incohérences fréquentes rendraient inutile le système.
20
2.5 Hypothèses et dépendances
Le serveur web et le serveur applicatif, tout deux des instances Node.js, ainsi que l‟instance
MongoDB seront hébergés sur un système d‟exploitation Linux. Les deux serveurs seront
accessibles via HTTP, la base de donnée tant qu‟à elle ne devrait pas être accessible sur le
web.
Le système a une grand dépendance envers les épiceries. Le moindre changement de leur
site et/ou circulaire pourrait empêcher la collecte automatique de fonctionner correctement.
Une vérification régulière devra être effectuée pour maintenir ÉconoÉpiceries fonctionnel.
21
3.0 DESCRIPTION DÉTAILLÉE
Vue d’ensemble des cas d’utilisation (Visiteur + Membre)
23
3.1 Interface externes
3.1.1 Chercher un produit
ID: CU01
Objectifs: Permet de chercher et afficher un ou des produits à partir d‟un code à barre (CUP) ou de
mots clés.
Résumé: L‟utilisateur entre le code ou les mots clés qui correspondent à sa recherche, ainsi que les
différents paramètre comme la région, le magasins,etc.... Le système affiche en retour la
liste des produits retrouvés qui correspondent à sa requête.
Type: Primaire
Pré-conditions: Aucune
Post-conditions: La liste des produits retournée par la recherche est affichée. Chaque produit peut être
consulté, rajouté à la liste des favoris ou à une liste d‟épicerie, si l‟utilisateur est
authentifié.
Interactions:
Acteurs Système
Scénarios alternatifs
1.
a. Le texte entré est un code CUP
i. Recherche un produit par son code CUP
b. Le texte entré n‟est pas un CUP
. Recherche un produit par mot clé
2.
. La liste de produit trouvé est vide
. Retourne un message
a. La liste retourné contient au moins un produit
24
. Afficher le résumé de chaque produit
3.1.2 S’enregistrer
ID: CU02
Nom: S‟enregistrer
Acteurs: Visiteur
Type: Secondaire
Interactions:
Acteurs Système
Scénarios alternatifs
1.
a. La création a été complété
i. Affiche la page d‟accueil
b. La création n‟a pas été complété
. affiche un message d‟erreur
25
26
3.1.3 Consulter un produit
ID: CU03
Type: Primaire
Post- Le produit sélectionné est affiché avec tous les détails, sinon un message
conditions: est affiché disant que le produit est introuvable.
Interactions:
Acteurs Système
27
3.1.4 S’authentifier
ID: CU04
Nom: S‟authentifier
Acteurs: Visiteur
Type: Secondaire
Interactions:
Acteurs Système
Scénarios alternatifs
1.
a. L‟authentification est valide
i. Affiche la page d‟accueil puis affiche un message de bienvenue
b. L‟authentification n‟est pas valide
. Affiche un message d‟erreur
28
3.1.5 Ajouter une liste d’épicerie
ID: CU05
Objectifs: Créer une nouvelle liste de produits pour pouvoir la consulter lorsqu‟on
fait l‟épicerie
Type: Secondaire
Interactions:
Acteurs Système
Scénarios alternatifs
1.
a. La liste a été créée
i. La liste est affichée
b. La liste n‟a pas été créée
. Affiche un message d‟erreur
29
3.1.6 Consulter une liste d’épicerie
ID: CU06
Résumé: Un Usager peut consulter une liste d‟épicerie auparavant crée. Elle
contient une liste de produits qu‟il a sauvegardé.
Type: Secondaire
Post- La liste d‟épicerie est affichée avec tout les produits qu‟elle contient.
conditions:
Interactions:
Acteurs Système
30
3.1.7 Calculer le prix d’une liste d’épicerie
ID: CU07
Résumé: Lorsque l‟Usager accède à une liste d‟épicerie, il peut faire calculer
prix actuel de la liste.
Type: Secondaire
Interactions:
Acteurs Système
Scénarios alternatifs
1.
a. Une chaîne est spécifiée pour calculer les prix
i. Additionne le prix de chaque articles de la liste ayant un prix au
magasin de la chaîne le plus près de l‟Usager.
b. Aucune chaîne n‟est spécifiée pour calculer le prix
. Additionne le prix le plus bas entre chaque magasin le plus près de
l‟Usager pour chaque articles de la liste
31
3.1.8 Supprimer une liste d’épicerie
ID: CU08
Type: Secondaire
Interactions:
Acteurs Système
Scénarios alternatifs
1.
a. L‟Usager confirme la suppression de la liste
i. Le système supprimer la liste de la BDD
b. L‟Usager ne confirme pas la suppression de la liste
. Le système affiche la liste
32
3.1.9 Retirer un produit d’une liste d’épicerie
ID: CU09
Résumé: Un produit existant dans la BDD et ayant été ajouté à la liste d'épicerie
personnelle d'un Usager peut ensuite être supprimée de cette même
liste.
Type: Secondaire
Interactions:
Acteurs Système
Confirme l‟action.
33
3.1.10 Ajouter un produit à une liste d’épicerie
ID: CU10
Objectifs: Créer une référence entre un produit une liste d'épicerie personnelle.
Type: Secondaire
Interactions:
Acteurs Système
Confirme l‟action.
Scénarios alternatifs
1.
a. L‟Usager a plus d‟une liste
i. Affiche les listes de l‟Usager
ii. L‟Usager choisit une liste
iii. Le produit est ajouté à la liste
b. L‟Usager a une seule liste
. Le produit est ajouté à la liste
34
35
3.1.11 Consulter les commentaires
ID: CU11
Type: Secondaire
Interactions:
Acteurs Système
36
3.1.12 Évaluer un commentaire
ID: CU12
Type: Secondaire
Références: CO30:évaluerCommentaire
CO31:ajouterCote
Interactions:
Acteurs Système
2. Comptabilise l‟évaluation du
commentaire et actualise le
commentaire.
37
3.1.13 Ajouter un commentaire
ID: CU13
Type: Secondaire
Références: CO32:produireCommentaire
CO33:ajouterCommentaire
CO34: créerCommentaire
Interactions:
Acteurs Système
3. Remplit le formulaire et le
soumet.
5. Confirme l‟ajout.
38
3.1.14 Modifier un commentaire
ID: CU14
Type: Secondaire
Références: C035:modifierCommentaire
CO36: modificationsCommentaire
CO37: mettreAjourCommentaire
Interactions:
Acteurs Système
5. Confirme l‟action.
39
3.1.15 Supprimer un commentaire
ID: CU15
Acteurs: Administrateur
Type: Secondaire
Interactions:
Acteurs Système
3. Confirme la suppression du
commentaire.
Scénarios alternatifs
1.
a. L‟Administrateur confirme la suppression du commentaire
i. Le commentaire est supprimé
b. L‟Administrateurne confirme pas la suppression du commentaire
. Le commentaire n‟est pas supprimé
40
3.1.16 Consulter la liste des favoris
ID: CU16
Résumé: Un Usager peux entretenir une liste de produits auxquels il souhaite avoir
accès. Il lui est alors possible de consulter cette liste, demandant ainsi au
système d'afficher toute information contenue dans celle-ci.
Type: Secondaire
Pré- Aucune
conditions:
Post- La liste est affichée peu importe si celle-ci est vide ou non.
conditions:
Interactions:
Acteurs Système
41
3.1.17 Ajouter un produit à la liste des favoris
ID: CU17
Type: Secondaire
Références: CO42:ajouterAuxFavoris
CO43: nouveauFavoris
Interactions:
Acteurs Système
42
3.1.18 Retirer un produit de la liste des favoris
ID: CU18
Type: Secondaire
Interactions:
Acteurs Système
43
3.1.19 Modifier son compte
ID: CU19
Acteurs: Membre
Type: Secondaire
Interactions:
Acteurs Système
Scénarios alternatifs
1.
a. L‟information envoyé est valide
i. Le système affiche un message de confirmation
b. L‟information envoyé est invalide
44
. Le système affiche un message d‟erreur
ID: CU20
Acteurs: Membre
Type: Secondaire
Références:
Interactions:
Acteurs Système
3. Confirme la demande.
6. Authentifie l‟utilisateur.
7. Supprime le compte.
Scénarios alternatifs
45
1.
a. Le Membre confirme la demande de suppression
i. Le système demande l‟authentification du Membre
ii. L‟authentification du Membre est valide
1. Le système affiche la page d‟accueuil
iii. L‟authentification du Membre est invalide
1. Le système affiche un message d‟erreur
b. Le membre ne confirme pas la demande de suppresion
. Le système affiche la page du compte du client
ID: CU21
Acteurs: Administrateur
Type: Secondaire.
Références:
Pré- Aucune
conditions:
Interactions:
Acteurs Système
46
47
3.1.22 Consulter la liste des produits
ID: CU22
Acteurs: Administrateur
Type: Secondaire
Références:
Pré-conditions: Aucune.
Post- La liste est affichée peut importe si cette dernière est vide ou non.
conditions:
Interactions:
Acteurs Système
48
3.1.23 Ajouter un produit
ID: CU23
Acteurs: Administrateur
Type: Secondaire
Références:
Pré-conditions: Aucune
Post- Aucune
conditions:
Interactions:
Acteurs Système
2. Envois un formulaire.
Remplis le formulaire.
Scénarios alternatifs
1.
a. Les informations soumises par l‟Administrateur sont valides
i. Le système affiche un message de confirmation
b. Les informations soumises par l‟Administrateur sont invalides
. Le système affiche un message d‟erreur
49
3.1.24 Modifier un produit
ID: CU24
Acteurs: Administrateur
Type: Secondaire
Références:
Post- Aucune
conditions:
Interactions:
Acteurs Système
2. Fournis un formulaire.
Scénarios alternatifs
1.
a. Les informations soumises par l‟Administrateur sont valides
i. Le système affiche un message de confirmation
b. Les informations soumises par l‟Administrateur sont invalides
. Le système affiche un message d‟erreur
50
51
3.1.25 Ajouter un prix à un produit
ID: CU25
Acteurs: Administrateur
Type: Secondaire
Références:
Interactions:
Acteurs Système
52
3.1.26 Modifier le prix d’un produit
ID: CU26
Acteurs: Administrateur
Type: Secondaire
Références:
Interactions:
Acteurs Système
2. Envoie un formulaire.
Affiche un message de
confirmation.
Scénarios alternatifs
1.
a. L‟authentification de l‟Administrateur est valide
i. Le système affiche un message de confirmation
b. L‟authentification de l‟Administrateur est invalide
. Le systeme affiche un message d‟erreur
53
54
3.1.27 Supprimer le prix d’un produit
ID: CU27
Acteurs: Administrateur
Type: Secondaire
Références:
Interactions:
Acteurs Système
6. Confirme l‟authentification.
Scénarios alternatifs
1.
a. L‟authentification de l‟Administrateur est valide
i. Le système affiche un message de confirmation
b. L‟authentification de l‟Administrateur est invalide
. Le système affiche un message d‟erreur
55
3.1.28 Supprimer un produit
ID: CU28
Acteurs: Administrateur
Type: Secondaire
Références:
Interactions:
Acteurs Système
6. Confirme l‟authentification.
Scénarios alternatifs
1.
a. L‟Administrateur confirme la supression
i. Le système demande l‟authentification de l‟Administrateur
ii. L‟authentification de l‟Administrateur est valide
56
1. Le système affiche un message de confirmation
iii. L‟authentification de l‟Administrateur est invalide
1. Le système affiche un message d‟erreur
b. L‟Administrateur ne confirme pas la suppression
. Le système affiche le produit
ID: CU29
Acteurs: Administrateur
Type: Primaire
Références:
Pré-conditions: Aucune
Interactions:
Acteurs Système
57
3.1.30 Ajouter un magasin
ID: CU30
Acteurs: Administrateur
Type: Primaire
Références:
Interactions:
Acteurs Système
2. Affiche un formulaire.
58
3.1.31 Modifier un magasin
ID: CU31
Acteurs: Administrateur
Type: Primaire
Références:
Interactions:
Acteurs Système
59
3.1.32 Activer/désactiver la collecte de données d’un magasin
ID: CU32
Acteurs: Administrateur
Type: Secondaire
Références:
Interactions:
Acteurs Système
60
3.1.33 Supprimer un magasin
ID: CU33
Acteurs: Administrateur
Type: Primaire
Références:
Interactions:
Acteurs Système
3. Confirme la suppression.
6. Confirme l‟authentification.
7. Supprime le magasin.
Scénarios alternatifs
1.
a. L‟Administrateur confirme la supression
i. Le système demande l‟authentification de l‟Administrateur
ii. L‟authentification de l‟Administrateur est valide
1. Le système affiche un message de confirmation
iii. L‟authentification de l‟Administrateur est invalide
1. Le système affiche un message d‟erreur
b. L‟Administrateur ne confirme pas la suppression
. Le système affiche l‟information du magasin
61
3.1.34 Consulter la liste des chaînes
ID: CU34
Acteurs: Administrateur
Type: Primaire
Références:
Interactions:
Acteurs Système
62
3.1.35 Ajouter une chaîne
ID: CU35
Acteurs: Administrateur
Type: Primaire.
Références:
Pré-conditions: Aucune
Interactions:
Acteurs Système
63
3.1.36 Modifier une chaîne
ID: CU36
Acteurs: Administrateur
Type: Primaire
Références:
Interactions:
Acteurs Système
64
3.1.37 Activer/désactiver la collecte de donnée d’une chaîne
ID: CU37
Acteurs: Administrateur
Type: Secondaire
Références:
Post-
conditions:
Interactions:
Acteurs Système
65
3.1.38 Supprimer une chaîne
ID: CU38
Acteurs: Administrateur
Type: Primaire
Références:
Interactions:
Acteurs Système
3. Confirme la suppression.
6. Confirme l‟authentification.
7. Supprime la chaîne.
Scénarios alternatifs
1.
a. L‟Administrateur confirme la supression
i. Le système demande l‟authentification de l‟Administrateur
ii. L‟authentification de l‟Administrateur est valide
1. Le système affiche un message de confirmation
iii. L‟authentification de l‟Administrateur est invalide
1. Le système affiche un message d‟erreur
b. L‟Administrateur ne confirme pas la suppression
. Le système affiche l‟information de la chaîne
66
3.1.39 Consulter la liste des comptes
ID: CU39
Acteurs: Administrateur
Type: Secondaire
Références:
Pré-conditions: Aucune
Interactions:
Acteurs Système
67
3.1.40 Supprimer un compte
ID: CU40
Acteurs: Administrateur
Type: Secondaire
Références:
Interactions:
Acteurs Système
3. Confirme la demande.
6. Confirme l‟authentification.
7. Supprime le compte.
Scénarios alternatifs
1.
a. L‟Administrateur confirme la supression
i. Le système demande l‟authentification de l‟Administrateur
ii. L‟authentification de l‟Administrateur est valide
1. Le système affiche un message de confirmation
iii. L‟authentification de l‟Administrateur est invalide
1. Le système affiche un message d‟erreur
b. L‟Administrateur ne confirme pas la suppression
68
. Le système affiche l‟information de l‟Usager
ID: CU41
Acteurs: Administrateur
Type: Secondaire
Références:
Interactions:
Acteurs Système
Scénarios alternatifs
1.
a. L‟Administrateur confirme
i. L‟état du compte est changé
ii. Le système envoit un message de confirmation
b. L‟Administrateur ne confirme pas
69
. Le système affiche le compte de l‟Usager
70
3.1.42 Modifier un compte
ID: CU42
Acteurs: Administrateur
Type: Secondaire
Références:
Interactions:
Acteurs Système
2. Affiche un formulaire
Scérarios alternatifs
1.
a. Les informations du formulaire sont valide
i. Le système affiche un message de confirmation
b. Les informations du formulaire sont invalide
. Le système affiche un message d‟erreur
71
3.1.43 Ajouter un compte
ID: CU43
Acteurs: Administrateur
Type: Secondaire
Pré-conditions: Aucune.
Interactions:
Acteurs Système
2. Affiche le formulaire.
5. Ajouter le compte.
Scénarios alternatifs
1.
a. Les informations du formulaire sont valide
i. Le système affiche un message de confirmation
b. Les informations du formulaire sont invalide
. Le système affiche un message d‟erreur
72
3.1.44 Consulter l’horaire de de collecte de données automatisée
ID: CU44
Acteurs: Administrateur
Résumé: Un Administrateur
Type: Secondaire
Références:
Interactions:
Acteurs Système
73
3.1.45 Ajouter une collecte de données automatisée
ID: CU45
Acteurs: Administrateur
Type: Secondaire
Références:
Interactions:
Acteurs Système
2. Affiche un formulaire
74
3.1.46 Modifier une collecte de données automatisée
ID: CU46
Acteurs: Administrateur
Type: Secondaire
Références:
Interactions:
Acteurs Système
2. Affiche un formulaire
75
3.1.47 Supprimer une collecte de données automatisée
ID: CU47
Acteurs: Administrateur
Type: Secondaire
Références:
Interactions:
Acteurs Système
3. Confirme suppression.
6. Confirme l‟authentification.
Scénarios alternatifs
1.
a. L‟Administrateur confirme la suppresion
i. Le système demande une authentification
ii. L‟authentification de l‟Administrateur est valide
1. Le système affiche un message de confirmation
iii. L‟authentification de l‟Administrateur est invalide
1. Le système affiche un message d‟erreur
b. L‟Administrateur ne confirme pas la suppresion
. L‟information de la collecte est affiché
76
3.2 Spécifications fonctionnelles
77
3.2.1.2 S’enregistrer
78
3.2.1.4 S’authentifier
79
3.2.1.6 Consulter une liste d’épicerie
80
3.2.1.8 Supprimer une liste d’épicerie
81
3.2.1.9 Retirer un produit d’une liste d’épicerie
82
3.2.1.10 Ajouter un produit à une liste
83
3.2.1.12 Évaluer un commentaire
84
3.2.1.14 Modifier un commentaire
85
3.2.1.16 Consulter la liste des favoris
86
3.2.1.18 Retirer un produit de la liste des favoris
87
3.2.1.20 Supprimer un compte membre
88
3.2.1.21 Démarrer manuelle la collecte de données
89
3.2.1.23 Ajouter un produit
90
3.2.1.24 Modifier un produit
91
3.2.1.25 Ajouter un prix à un produit
92
3.2.1.27 Supprimer le prix d’un produit
93
3.2.1.28 Supprimer un produit
94
3.2.1.30 Ajouter un magasin
95
3.2.1.32 Activer / Désactiver la collecte de données d’un magasin
96
3.2.1.34 Consulter la liste des chaînes
97
3.2.1.36 Modifier une chaîne
98
3.2.1.38 Supprimer une chaîne
99
3.2.1.40 Supprimer un compte Membre
100
3.2.1.42 Modifier un compte
101
3.2.1.44 Consulter l’horaire de la collecte de données automatisée
102
103
3.2.1.46 Modifier une collecte de données automatisée
104
3.2.4 Diagramme de classes
105
3.3 Exigences d’opérations, de communications et de performance
Quant aux exigences quantitatives, plusieurs facteurs sont à prendre en compte.
Dans le cas de l'achalandage, on prévoit qu‟il y ait 10 000 utilisateurs par mois. Elle sera
plus élevée le soir et les fins de semaines lorsque les familles préparent leur liste d‟épicerie.
La performance des affichages des pages devra être en dessous de 5 secondes, sinon les
utilisateurs vont penser qu‟il y a un problème.
Concernant la sécurité, le site sera en HTTPS pour pouvoir sécuriser les données des
utilisateurs. Les Membres et les Administrateurs devront entrer leur courriel et leur mot de
passe pour valider leur identité. De plus, les mots de passes ne seront pas stockés en clair
dans la base de données, une fonction de hachage sera appliqué dessus. Donc, même les
Administrateurs ne pourront pas voir les mots de passe des Membres.
106
3.4.5 Contraintes d’intégrité
Malheureusement, il n‟y a pas d‟intégrité des données avec MongoDB. Pour la
préserver, il faut s‟en assurer au niveau applicatif.
Le système n‟a pas de rapports à produire. Le format des données est entièrement
nouveau. Il n‟effectue de transactions financières ni ne traite des transactions de données
influençant le système avec l‟utilisateur en dehors de ses informations de comptes, la
traçabilité des traitements n‟est donc pas une nécessité non plus.
3.6.2 Disponibilité
ÉconoÉpiceries étant un service en ligne, le produit devra s‟assurer d‟être disponible en
tout temps de de viser une cote de haute disponibilité 99% (deux neufs).
3.6.3 Sécurité
Le système va gérer beaucoup de données entrantes et sortantes. Pour maximiser la
sécurité des serveurs, une connexion sécurisée est nécessaire. En outre, seul un
Administrateur devrait avoir accès à la modification des données de la BDD. Les rôles
des Membre à cet effet devraient être limités.
107
3.6.4 Entretien du logiciel
L‟entretien du logiciel va être un élément primordial du système. La base
d‟ÉconoÉpiceries, la collecte de données, étant basée sur des éléments externes, la
capacité à adapter et maintenir le système va être cruciale.
3.6.5 Portabilité
Le système devra être développé d‟une manière à assurer sa portabilité afin de pouvoir
répondre rapidement à une forte augmentation de traffic ou un changement de
technologie d‟hébergement, notamment les services d'hébergement d‟application PAAS
(Plateform As A Service) et Docker, un technologie de conteneurs logiciels.
108
4.2 Annexes
Annexe A - Maquette d‟interface
109