109
1 INM5151 Été 2015 Projet d‟analyse et modélisation Groupe 20 ALARY, Marc-André ALAM20039200 MATHURIN, Mathieu MATM05059000 SCOTT, Mathy SCOM15079104 DROUIN, Simon DROS04078908 LÉGARÉ, Jean-Philippe LEGJ03059206 ÉTHIER, Maxime ETHM21027405 SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL Travail présenté à MAKARENKOV, Vladimir Le 9 juin 2015 Université du Québec à Montréal

SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

1

INM5151 Été 2015

Projet d‟analyse et modélisation Groupe 20

ALARY, Marc-André ALAM20039200

MATHURIN, Mathieu MATM05059000

SCOTT, Mathy SCOM15079104

DROUIN, Simon DROS04078908

LÉGARÉ, Jean-Philippe LEGJ03059206

ÉTHIER, Maxime ETHM21027405

SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

Travail présenté à

MAKARENKOV, Vladimir

Le 9 juin 2015

Université du Québec à Montréal

Page 2: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

2

Page 3: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

3

HISTORIQUE DE VERSIONS

# Date Historique Commentaires

1 09/06/2015 Première version de la spécification des exigences.

Document remis dans le cadre du cours INM5151

Page 4: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

4

Table des matières

HISTORIQUE DE VERSIONS ................................................................................................................................. 3

LISTE DES FIGURES ............................................................................................................................................... 8

LISTE DES TABLEAUX ........................................................................................................................................... 8

1.0 INTRODUCTION ................................................................................................................................................. 9

1.1 Objectifs du document ................................................................................................................................ 9

1.2 Portée ............................................................................................................................................................... 9

1.3 Définitions, acronymes et abréviations ................................................................................................ 10

1.4 Documents de références ......................................................................................................................... 12

1.5 Aperçu du document .................................................................................................................................. 13

2.0 DESCRIPTION GÉNÉRALE DU LOGICIEL ................................................................................................ 14

2.1 Perspective du produit .............................................................................................................................. 14

2.1.1 Autres parties du système ................................................................................................................ 14

2.1.2 Utilisateurs ............................................................................................................................................ 14

2.1.3 Composantes matérielles .................................................................................................................. 15

2.1.4 Composantes logicielles ................................................................................................................... 15

2.1.5 Télécommunications........................................................................................................................... 16

2.1.6 Contraintes de mémoire primaire et secondaire ......................................................................... 16

2.1.7 Opérateurs ............................................................................................................................................. 17

2.1.8 Adaptation du site d’installation ...................................................................................................... 17

2.2 Vue d’ensemble des fonctions du produit ........................................................................................... 18

2.3 Description des utilisateurs ..................................................................................................................... 19

2.4 Contraintes d’ordre général ..................................................................................................................... 19

2.4.1 Règlements des organismes gouvernementaux, syndicaux, etc. .......................................... 19

2.4.2 Limitations du matériel....................................................................................................................... 19

2.4.3 Interfaces à d’autres applications ................................................................................................... 19

2.4.4 Opérations en parallèle ...................................................................................................................... 19

2.4.5 Fonctions d’audit ................................................................................................................................. 20

2.4.6 Fonctions de contrôle......................................................................................................................... 20

2.4.7 Exigences de langages de programmation .................................................................................. 20

2.4.8 Protocoles de communication ......................................................................................................... 20

2.4.9 Exigences de fiabilité .......................................................................................................................... 20

Page 5: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

5

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

Page 6: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

6

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

Page 7: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

7

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

Page 8: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

8

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

LISTE DES TABLEAUX Tableau 1 - Définitions 10

Tableau 1.1 - Définitions du lexique client 11

Tableau 2 - Acronyme 11

Tableau 3 - Abréviations 11

Tableau 4 - Vue d‟ensemble des fonction d‟ÉconoÉpiceries 18

Page 9: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

9

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.

1.1 Objectifs du document

Le document présent a pour but d‟établir de manière claire les spécifications d‟exigences logicielles (SEL) du nouveau système ÉconoÉpiceries selon la norme IEEE830 [1]. Une étude d‟opportunité précédemment publiée explique plus en détails la raison d‟être d‟un tel système, la situation actuelle du marché québécois et justifie la nécessité d‟un tel service pour les consommateurs.

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].

Rapidement, ce document a pour fonction de définir de manière globale les tâches et fonctionnalités que le système d‟ÉconoÉpiceries est destiné à combler, les limitations avec lesquelles il devra opérer ainsi que toute autre informations périphériques jugées utiles aux phases de conception et de développement. Il spécifie précisément les attentes envers le logiciel développé afin d‟en encadrer le développement.

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. Le système peut être résumé en trois points : Collecte, normalisation et comparaison. Premièrement, la collecte: ÉconoÉpiceries récolte hebdomadairement les données d‟articles vendus par les diverses épiceries québécoises. Deuxièmement, ÉconoÉpiceries normalise ces multitudes de données en un format standardisé et analysable statistiquement. Troisièmement, ÉconoÉpiceries présente ces données aux consommateurs via des outils en ligne de recherche et comparaison.

Page 10: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

10

Voici quelques unes des fonctions que va couvrir le système : Collecte de données automatique et/ou manuelle Normalisation intelligente et création de statistiques pour chaque article Recherche et comparaison d‟articles Gestion d‟utilisateurs Création de listes d‟épiceries Gestion d‟articles favoris Gestion de commentaires et soumission d‟ajustements de prix

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.

1.3 Définitions, acronymes et abréviations

Tableau 1 - Définitions

Définition Signification

Article Produit vendu en épicerie

Collecte Processus automatique hebdomadaire de recherche et sauvegarde de données sur les sites d‟épiceries.

Donnée (collecte)

Informations sur un article collectées en ligne et non-traitées, notamment le magasin, le code-barre, le prix et la date d‟échéance.

ÉconoÉpiceries Le système développé

Item Synonyme d‟article

Logique d‟affaire Contraintes logicielles établies par des pratiques d‟affaires plutôt que par des exigences fonctionnelles

Normalisation Processus de transformation de données (collecte) diverses en un format défini par le système.

NoSQL Base de données non-relationnelle

TCP/IP Suite de protocoles internet

Hachage Transformer une chaîne de caractère avec un algorithme pour des raisons de confidentialité

Page 11: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

11

Tableau 1.1 - Définitions du lexique client

Définition Signification

Administrateur Un Usager ayant des droits supérieurs dans le système

Usager Une personne ayant un compte

Membre Un Usager non-administrateur

Visiteur Une personne sans compte

Tableau 2 - Acronymes

Acronyme Signification

BDD Base de données

CU Cas d‟utilisation

DS Diagramme de séquence

HTTP Hypertext Transfer Protocol

HTTPS Hypertext Transfer Protocol Secure

I/O Input/Ouput, communications entrantes/sortantes d‟une application avec un élément externe

OS Operating System, système d‟exploitation

SEL Spécifications des Exigences du Logiciel, IEEE830

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é

Page 12: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

12

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)

[3] Node.js, En ligne [https://nodejs.org], Consulté le 9 juin 2015

[4] MongoDB, En ligne [https://www.mongodb.org], Consulté le 9 juin 2015

[5] UML 2 et les design patterns, 3e édition, Craig Larman, Person Education (2005)

Page 13: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

13

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. Le deuxième chapitre, « Description générale du logiciel », donne une vue d‟ensemble du système : sa perspective, ses fonctions, ses utilisateurs, ses contraintes, ses dépendances et ses exigences.

Le troisième chapitre, « Description détaillée », vient préciser le deuxième à un niveau suffisant détaillé pour permettre d‟avancer la phase de conception du logiciel. Les interfaces externes, les spécifications, les exigences et contraintes y sont définies en plus amples détails.

Le quatrième chapitre, « Informations complémentaires », amène d‟autres informations utiles à la compréhension du document.

Page 14: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

14

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.

Figure 1 - Diagramme du fonctionnement opérationnel

2.1.1 Autres parties du système

Le produit ÉconoÉpiceries est une solution tout-en-un, les parties requises à son bon fonctionnement en sont partie intégrante. ÉconoÉpiceries comble la tâche du système à part entière, sans nécessité de dépendances système externes.

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.

À noter que le document présent utilise la généralisation Usager pour désigner un Membre et Administrateur lorsqu‟une situation pourrait s‟appliquer au deux types sans aucun impact sur le déroulement normal des fonctions ou sur l‟état actuel du système. Aussi, pour des fins de compréhension, le lexique client sera capitalisé automatiquement au cours de ce document.

Page 15: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

15

Rappel de Tableau 1.1 - Définitions du lexique client

Définition Signification

Administrateur Un Usager ayant des droits supérieurs dans le système

Usager Une personne ayant un compte

Membre Un Usager non-administrateur

Visiteur Une personne sans compte

2.1.3 Composantes matérielles

ÉconoÉpiceries est un service en ligne. Il nécessite donc un hébergement. La trafic risque d‟être élevé, le système nécessitera un haute bande passante. De part la nature du fonctionnement d‟ÉconoÉpiceries, au minimum deux serveurs sont à prévoir. L‟un pour le traitement de requêtes webs, l‟autre pour le traitement de requêtes applicatives et le roulement de tâches automatisées.

2.1.4 Composantes logicielles

Le produit ÉconoÉpiceries est développé sur un architecture à 3 couches, soit 3 composantes: un serveur web, un serveur applicatif et une couche d‟accès au donnée, ou base de donnée. Les deux serveurs mentionnés en 2.1.3 servent à isoler le serveur web du reste des composantes systèmes pour un souci d‟isolation et de performance.

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.

La troisième composante, la base de donnée, est une instance de MongoDB. MongoDB est une BDD nouveau genre faisant partie de la vague NoSQL. Sa nature de stockage document-objet JSON en fait un choix parfait pour une intégration avec Node.js et pour la nature changeante des données récoltées par le produit.

Page 16: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

16

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.

2.1.6 Contraintes de mémoire primaire et secondaire

La demande mémoire, en mémoire vive et espace de stockage, varie principalement selon la charge serveur. On peut cependant prévoir un demande moyenne nécessaire lors des premiers mois après le lancement du produit.

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.

Page 17: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

17

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.

2.1.8 Adaptation du site d’installation

Une configuration standard de serveur respectant les spécifications matérielles et logicielles mentionnées ci-haut comble parfaitement les besoins du produit. Aucune adaptation du site d‟installation outre la configuration n‟est requise.

Page 18: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

18

2.2 Vue d’ensemble des fonctions du produit

Tableau 4 - Vue d’ensemble des fonctions d’ÉconoÉpiceries

Fonction Description

Gestion de produits Les fonctions de gestion de produits serviront principalement aux Administrateurs à ajouter, modifier et supprimer des produits manuellement au système. Ces fonctions servent à entre autres à corriger / modifier les données de la collecte automatique.

Gestion de prix Les fonctions de gestion de prix serviront principalement aux Administrateurs à ajouter, modifier et supprimer des prix de produits manuellement au système. Ces fonctions servent à entre autres à corriger / modifier les données de la collecte automatique.

Consultation de produits

Les fonctions rattachées à la consultation de produits. Les Visiteurs et les Usagers peuvent consulter des produits, voir les prix et les commentaires laissés.

Gestion de comptes Les fonctions de gestion de comptes permettent la création, l‟authentification, la modification et suppression de son compte à un Membre. De plus, un Administrateur peut visionner, modifier, supprimer ou suspendre un compte existant, en plus d‟en créer de nouveaux, admin ou non.

Gestion de listes d‟épiceries

Les fonctions de gestion de listes d‟épiceries permettent aux Usagers de 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.

Gestion de commentaires

Les fonctions de gestion de commentaires permettent aux Usagers de pouvoir commenter un produit et d‟évaluer les autres commentaires. Un Administrateur possède de plus des capacités de modération.

Recherche de produits Les fonctions de recherche permettent aux Visiteurs et Usagers de trouver un produit et le consulter.

Gestion de la mise à jour des données

Les fonctions de gestion de la mise à jour des données permettent aux Administrateurs de modifier l‟horaire de collecte automatique des données.

Gestion de magasins Les fonctions de gestion de magasins permettent aux Administrateurs de modifier les informations des magasins et d‟activer/désactiver la collecte par magasin.

Gestion de chaînes Les fonctions de gestion de chaînes permettent aux Administrateurs de modifier les informations des chaînes de magasins et d‟activer/désactiver la collecte par chaîne de magasins.

Page 19: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

19

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.

Le Membre est un élément interne du système possédant un compte et étant authentifié. Ses privilèges sont plus élevés que le Visiteur puisqu‟il est authentifié. À ceux du Visiteur se rajoutent les listes d‟épiceries, les produits favoris et les commentaires de produit. Tout comme le Visiteur, seul la capacité de naviguer le web lui est requise.

L‟Administrateur est l‟élément interne du système possédant les responsabilités et privilèges les plus élevés. En plus des privilèges du Membre, l‟Administrateur se voit attribuer les capacités de modération des commentaires, modification des produits, des magasins, des chaînes, des comptes et de la collecte. L‟Administrateur a la responsabilité d‟assurer le bon fonctionnement du système. Une connaissance technique de base lui est requise pour administrer les parties système d‟ÉconoÉpiceries.

2.4 Contraintes d’ordre général

2.4.1 Règlements des organismes gouvernementaux, syndicaux, etc.

La collecte automatisée de donnée sur des sites externes, en anglais « Web Scraping », est une zone grise légale. La pratique n‟est pas particulièrement dénotée illégale par la loi mais entre en possible conflit avec notamment la question de la propriété intellectuelle. De plus, la pratique peut briser les termes d‟utilisation d‟un site web.

2.4.2 Limitations du matériel

Les limitations du matériel vont dépendre de la charge d‟utilisation du serveur, soit le nombre de requêtes concurrentes sur le serveur. Dans notre cas d‟utilisation normale prédit, les spécifications matérielles mentionnées en 2.1.3 et 2.1.6 devraient suffirent. L‟autre point pouvant limiter le système est la bande passante accessible, autant par le serveur que par l‟utilisateur.

2.4.3 Interfaces à d’autres applications

Le système ÉconoÉpiceries n‟est pas dépendant d‟autres applications sur le même serveur, hormis Node.js et MongoDB. Cependant, il est dépendant des applications des épiceries pour la collecte, soit leur site ou une api dans le cas existant.

2.4.4 Opérations en parallèle

Le serveur applicatif gère principalement la recherche mais permet des opérations parallèles, notamment il exécute les opérations automatisées de collecte de données et normalisation.

Page 20: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

20

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.

2.4.6 Fonctions de contrôle

L‟Administrateur a accès à la modification de pratiquement toute donnée et information du système. De plus, il peut modifier les paramètres de la collecte, dont l‟horaire, les chaînes et magasins.

2.4.7 Exigences de langages de programmation

Le choix a été pris de développer la totalité d‟ÉconoÉpiceries, autant client que serveur, en JavaScript afin de faciliter le développement. La forme d‟objet « prototype » extrêmement flexible de JavaScript nous impose peu ou pas de contraintes lors du développement.

2.4.8 Protocoles de communication

Les communications du système seront effectuées à l‟aide du protocole HTTP. Un support de TCP/IP est donc requis.

2.4.9 Exigences de fiabilité

Le service doit être en tout temps disponible. Un durée de fonctionnement de 99% doit être visée (un standard « deux neuf » de haute disponibilité).

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.

2.4.10 Aspects critiques de l’application

Il est primordial que la collecte de donnée fonctionne correctement. Sans des informations valides, le reste du système devient inutile pour un utilisateur. La collecte étant lourdement dépendante de la structure des sites des épiceries, une maintenance fréquente devra être effectuée du processus de collecte.

2.4.11 Considération de sûreté et de sécurité

Le système va récolter quelques informations personnelles sur les utilisateurs il est donc important d‟avoir une certaine forme de sécurité en place. Un certificat SSL pour activer la navigation sécurisée est suggéré. Cependant, la portée des informations récoltées est minime et le système n‟engage pas de transactions financières; une modèle de sécurité plus simple peut être utilisé.

Page 21: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

21

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.

Les spécifications matérielles spécifiées devraient suffirent à la charge serveur durant la première année d‟exercice d‟ÉconoÉpiceries. La quantité de données gérée devrait grandir de manière constante, relative à la base utilisateur.

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.

2.6 Répartitions des exigences

Pour la première version d‟ÉconoÉpiceries, certaines fonctionnalités ne seront pas encore implémentées. Quelques exigences peuvent être reportées à la révision suivante. Par exemple, la création d‟une application mobile, la gestion des utilisateurs authentifiés ainsi que les fonctionnalités leurs étant rattachées tel les favoris ne sont pas nécessaires pour la première phase puisque la recherche, le but principal du système, est encore possible.

Page 22: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

22

3.0 DESCRIPTION DÉTAILLÉE

Vue d’ensemble des cas d’utilisation (Visiteur + Membre)

Figure 3 - Diagramme des cas d’utilisation (Visiteur + Membre)

Page 23: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

23

Vue d’ensemble des cas d’utilisation (Administrateur)

Figure 4 - Diagramme des cas d’utilisation (Visiteur + Membre)

Page 24: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

24

3.1 Interface externes

3.1.1 Chercher un produit

ID: CU01

Nom: Chercher un produit

Acteurs: Visiteur, Membre et Administrateur

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

Références: CO2: lancerRecherche

CO3: estCUP

CO4:rechercherProduitParCUP

CO5:rechercherProduitParMotClé

CO6:chercherPrix

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

1. Entre un code ou des mots clés dans la barre de recherche, choisit les paramètres de recherche désirés et lance la recherche.

2. Affiche à l‟écran un résumé de tous les produits correspondant à la recherche.

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

Page 25: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

25

. Afficher le résumé de chaque produit

3.1.2 S’enregistrer

ID: CU02

Nom: S‟enregistrer

Acteurs: Visiteur

Objectifs: Permet de se créer un compte Membre

Résumé: Le Visiteur entre ses informations personnelles, dont un nom d‟usager, un courriel et un mot de passe, pour pouvoir accéder à des fonctionnalités supplémentaires telles que sauvegarder ses produits et magasins favoris.

Type: Secondaire

Références: CO7: s‟enregistrer CO8: créerUtilisateur

Pré-conditions: L‟utilisateur n‟est pas authentifié.

Post-conditions:

Le Visiteur devient un Membre.

Interactions:

Acteurs Système

1. Entre les informations personnelles dont un courriel et un mot de passe.

2.

Ajoute le futur Membre dans la BDD et envoie un courriel de confirmation. Affiche à l‟écran les nouvelles fonctionnalités et le nom du Membre.

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

Page 26: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

26

Page 27: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

27

3.1.3 Consulter un produit

ID: CU03

Nom: Consulter un produit

Acteurs: Visiteur, Membre et Administrateur

Objectifs: Permet de visualiser un produit en détail

Résumé: L‟utilisateur choisit un produit à consulter. Le système affiche le produit ainsi que tous les détails du produits tel que la description, les statistiques pour le prix du produit, etc...

Type: Primaire

Références: CO9: consulterProduit

Pré-conditions:

Une liste de produits est affichée.

Post-conditions:

Le produit sélectionné est affiché avec tous les détails, sinon un message est affiché disant que le produit est introuvable.

Interactions:

Acteurs Système

1. Sélectionne un produit parmi les produits affichés

2.

Affiche à l‟écran le produit sélectionné ainsi que tous les détails du produit.

Page 28: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

28

3.1.4 S’authentifier

ID: CU04

Nom: S‟authentifier

Acteurs: Visiteur

Objectifs: Accéder aux fonctionnalités du compte utilisateur

Résumé: Le Visiteur doit envoyer des informations clés qui permettront au système de l'identifier de façon sécuritaire.

Type: Secondaire

Références: CO1: s‟authentifier

Pré-conditions: L‟utilisateur n‟est pas authentifié.

Post-conditions: Le Visiteur est authentifié comme Membre ou Administrateur et est autorisé à utiliser les fonctionnalités

Interactions:

Acteurs Système

1. Entre son nom d‟usager et son mot de passe.

2.

Vérifie dans la BDD si les informations concordent. Dans le cas positif, affiche les fonctionnalités supplémentaires. Dans le cas contraire, il demande de réessayer jusqu‟au succès.

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

Page 29: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

29

3.1.5 Ajouter une liste d’épicerie

ID: CU05

Nom: Ajouter une liste d‟épicerie

Acteurs: Membre, Administrateur

Objectifs: Créer une nouvelle liste de produits pour pouvoir la consulter lorsqu‟on fait l‟épicerie

Résumé: Lorsqu‟un Usager trouve un produit intéressant, il l‟ajoute à sa liste d‟épicerie. Elle contient le produit, son prix et son emplacement.

Type: Secondaire

Références: C010: ajouterListeÉpicerie CO11: créerListeÉpicerie

Pré-conditions: L‟Usager est authentifié.

Post-conditions:

Une liste d‟épicerie est créée

Interactions:

Acteurs Système

1. Clique sur un bouton Créer une liste d‟épicerie

2.

Ajoute une liste d‟épicerie à la BDD

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

Page 30: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

30

3.1.6 Consulter une liste d’épicerie

ID: CU06

Nom: Consulter une liste d‟épicerie

Acteurs: Membre, Administrateur

Objectifs: Consulter une liste d‟épicerie

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

Références: C011: consulterListeÉpiceries CO12: obtenirListesÉpiceries CO13:consulterListe CO14:obtenirListe

Pré-conditions:

L‟Usager est authentifié.

Post-conditions:

La liste d‟épicerie est affichée avec tout les produits qu‟elle contient.

Interactions:

Acteurs Système

1. Sélectionne une liste d‟épicerie parmi les listes affichées

2.

Affiche à l‟écran la liste d‟épicerie

Page 31: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

31

3.1.7 Calculer le prix d’une liste d’épicerie

ID: CU07

Nom: Calculer le prix d‟une liste d‟épicerie

Acteurs: Membre, Administrateur

Objectifs: Calculer le prix actuel d‟une liste d‟épicerie

Résumé: Lorsque l‟Usager accède à une liste d‟épicerie, il peut faire calculer prix actuel de la liste.

Type: Secondaire

Références: CO15: calculerPrix CO16: obtenirPrix CO17: garderPrixMin CO18: ajouterAuTotal

Pré-conditions: La liste est affichée.

Post-conditions: Le prix de la liste est calculé.

Interactions:

Acteurs Système

1. Clique sur le bouton „Calculer le prix de la liste‟

2.

Calcule le prix de la liste d‟épicerie

3.

Affiche le prix de la liste d‟épicerie

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

Page 32: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

32

3.1.8 Supprimer une liste d’épicerie

ID: CU08

Nom: Supprimer une liste d‟épicerie

Acteurs: Membre, Administrateur

Objectifs: Supprimer une liste d‟épicerie que l'acteur a créée.

Résumé: Après que le Membre a créé sa liste d‟épicerie, il peut la supprimer après avoir fini son épicerie.

Type: Secondaire

Références: CO19: supprimerListeÉpicerie CO20: supprimerListe CO21: demanderConfirmation

Pré-conditions: Une liste d‟épicerie existe.

Post-conditions:

La liste d‟épicerie est supprimée.

Interactions:

Acteurs Système

1. Clique sur le bouton Supprimer la liste d‟épicerie

2.

Supprime la liste d‟épicerie de la BDD et rafraîchit la page

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

Page 33: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

33

3.1.9 Retirer un produit d’une liste d’épicerie

ID: CU09

Nom: Retirer un produit d‟une liste d‟épicerie

Acteurs: Membre, Administrateur

Objectifs: Retirer un produit d'une liste d'épicerie créée par l'acteur.

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

Références: CO22: retirerProduitÉpicerie CO23: supprimerProduitÉpicerie

Pré-conditions:

Le produit existe dans la liste d‟épicerie.

Post-conditions:

Le produit n'est pas dans la liste.

Interactions:

Acteurs Système

1. Clique sur le bouton 'Retirer' associé au produit.

2.

Supprime le produit de la liste dans la BDD.

Confirme l‟action.

Page 34: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

34

3.1.10 Ajouter un produit à une liste d’épicerie

ID: CU10

Nom: Ajouter un produit à une liste d‟épicerie

Acteurs: Membre, Administrateur

Objectifs: Créer une référence entre un produit une liste d'épicerie personnelle.

Résumé: L‟acteur ajoute un produit à sa liste d'épicerie. La banque de donnée crée alors une référence du produit dans la liste de l'usager.

Type: Secondaire

Références: CO24: ajouterUnProduitÉpicerie CO25:récupérerListesÉpicerie CO26: chosirListeÉpicerie CO27: ajouterProduitÉpicerie

Pré-conditions:

Le produit existe dans la BDD.

Post-conditions:

Le produit est ajouté à la liste.

Interactions:

Acteurs Système

1. Clique sur le bouton 'Ajouter' associé au produit désiré.

2.

Ajoute une référence de la liste vers le produit dans la BDD.

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

Page 35: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

35

Page 36: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

36

3.1.11 Consulter les commentaires

ID: CU11

Nom: Consulter les commentaires

Acteurs: Membre, Administrateur

Objectifs: Accéder à tous les commentaires du produit.

Résumé: L'acteur peut accéder aux détails des commentaires associés à un produit. Le système lui fournis alors les informations de ces derniers.

Type: Secondaire

Références: CO28: consulterCommentaires CO29: récupérerCommentaires

Pré-conditions:

Le commentaire existe.

Post-conditions:

Les informations sont affichés.

Interactions:

Acteurs Système

1. Clique sur le bouton „Commentaires‟

2.

Envois toutes les informations des commentaires.

Page 37: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

37

3.1.12 Évaluer un commentaire

ID: CU12

Nom: Évaluer un commentaire

Acteurs: Membre, Administrateur

Objectifs: Évaluer un commentaire laisser par un autre Usager

Résumé: L‟acteur peut évaluer un commentaire laisser par un autre Usager

Type: Secondaire

Références: CO30:évaluerCommentaire CO31:ajouterCote

Pré-conditions: Le commentaire existe.

Post-conditions: Le rating du commentaire est ajusté

Interactions:

Acteurs Système

1. Clique sur les boutons 'j'aime', 'je n'aime pas' associés au commentaire.

2.

Comptabilise l‟évaluation du commentaire et actualise le commentaire.

Page 38: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

38

3.1.13 Ajouter un commentaire

ID: CU13

Nom: Ajouter un commentaire

Acteurs: Membre, Administrateur

Objectifs: Ajouter un commentaire à un produit

Résumé: L‟acteur peut laisser un commentaire en dessous d‟un produit afficher.

Type: Secondaire

Références: CO32:produireCommentaire CO33:ajouterCommentaire CO34: créerCommentaire

Pré-conditions: Le produit est affiché.

Post-conditions: Le commentaire a été ajouté à la liste de commentaires du produit.

Interactions:

Acteurs Système

1. Clique pour ajouter un commentaire.

2.

Affiche le formulaire de saisie de commentaire.

3. Remplit le formulaire et le soumet.

4.

Ajoute le commentaire à la liste de commentaires du produit.

5.

Confirme l‟ajout.

Page 39: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

39

3.1.14 Modifier un commentaire

ID: CU14

Nom: Modifier un commentaire

Acteurs: Membre, Administrateur

Objectifs: Modifier un commentaire

Résumé: L‟acteur peut modifier un commentaire qu‟il a laissé sur un produit.

Type: Secondaire

Références: C035:modifierCommentaire CO36: modificationsCommentaire CO37: mettreAjourCommentaire

Pré-conditions: Le commentaire existe.

Post-conditions: Les modifications ont été apportées au commentaire.

Interactions:

Acteurs Système

1. Clique pour modifier le commentaire.

2.

Affiche le formulaire de modification.

3. Remplit le formulaire et le soumet.

4.

Apporte les modifications.

5.

Confirme l‟action.

Page 40: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

40

3.1.15 Supprimer un commentaire

ID: CU15

Nom: Supprimer un commentaire

Acteurs: Administrateur

Objectifs: Supprimer un commentaire

Résumé: L‟acteur peut supprimer un commentaire laissé sur un produit.

Type: Secondaire

Références: CO21: demanderConfirmation CO38: retirerCommentaire CO39: supprimerCommentaire

Pré-conditions: Le commentaire existe.

Post-conditions: Le commentaire a été supprimé de la base de données.

Interactions:

Acteurs Système

1. Clique pour supprimer un commentaire.

2.

Demande la confirmation de la suppression.

3. Confirme la suppression du commentaire.

4.

Supprime le commentaire de la base de données.

5.

Affiche un message de confirmation.

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é

Page 41: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

41

3.1.16 Consulter la liste des favoris

ID: CU16

Nom: Consulter la liste des favoris

Acteurs: Membre, Administrateur

Objectifs: Accès une liste de favoris personnelle.

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

Références: CO40: consulterListeFavoris CO41: récupérerFavoris

Pré-conditions:

Aucune

Post-conditions:

La liste est affichée peu importe si celle-ci est vide ou non.

Interactions:

Acteurs Système

1. Clique sur le bouton 'Afficher favoris'

2.

Affiche la liste de favoris.

Page 42: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

42

3.1.17 Ajouter un produit à la liste des favoris

ID: CU17

Nom: Ajouter un produit à la liste des favoris

Acteurs: Membre, Administrateur

Objectifs: Ajouter un produit à la liste.

Résumé: Un Usager ayant recherché un produit qui l'intéresse a la possibilité de garder une référence vers ce produit dans sa liste personnelle de favoris.

Type: Secondaire

Références: CO42:ajouterAuxFavoris CO43: nouveauFavoris

Pré-conditions:

Le produit existe.

Post-conditions:

Le produit est ajouté à la liste.

Interactions:

Acteurs Système

1. Appuie sur le bouton 'Ajouter' associé au produit recherché.

2.

Ajoute une référence vers le produit dans la liste de favoris.

Page 43: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

43

3.1.18 Retirer un produit de la liste des favoris

ID: CU18

Nom: Retirer un produit de la liste des favoris

Acteurs: Membre, Administrateur

Objectifs: Retirer un produit de la liste de favoris d‟un Usager

Résumé: L‟acteur peut retirer un produit de ses favoris.

Type: Secondaire

Références: CO44: retirerFavori CO45: supprimerFavori

Pré-conditions: Le produit est présent dans la liste de favoris.

Post-conditions: Le produit n'est plus référé dans la liste de favoris.

Interactions:

Acteurs Système

1. Appuie sur le bouton 'Retirer'

2.

Supprime la référence du produit dans la liste.

Page 44: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

44

3.1.19 Modifier son compte

ID: CU19

Nom: Modifier son compte

Acteurs: Membre

Objectifs: Modifier son compte

Résumé: Un Membre peut modifier les informations personnelles de son compte.

Type: Secondaire

Références: CO46: modifierCompte CO47: miseAJourCompte

Pré-conditions: L‟utilisateur doit être authentifé

Post-conditions: Les modifications sont apportées.

Interactions:

Acteurs Système

1. L'utilisateur appuie sur le bouton 'Modifier compte'

2.

Le système affiche un formulaire avec les champs à modifier.

3. L'utilisateur remplis les champs qu'il souhaite modifier.

4.

Le système remplace les informations dans la BDD.

5.

Le système affiche un message de confirmation.

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

Page 45: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

45

. Le système affiche un message d‟erreur

3.1.20 Supprimer son compte

ID: CU20

Nom: Supprimer son compte

Acteurs: Membre

Objectifs: Gestion des comptes.

Résumé: Un Membre peut supprimer son compte de la base de donnée. Les références utilisés dans les favoris et les liste d'épiceries associées au compte seront aussi détruites.

Type: Secondaire

Références:

Pré-conditions: Le compte existe.

Post-conditions: Le compte est supprimé.

Interactions:

Acteurs Système

1. Appuie sur le bouton 'Supprimer compte'

2.

Demande une confirmation.

3. Confirme la demande.

4.

Demande une le mot de passe.

5. Entre le mot de passe.

6.

Authentifie l‟utilisateur.

7.

Supprime le compte.

8.

Affiche la page d‟accueil.

9.

Affiche une message de confirmation.

Scénarios alternatifs

Page 46: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

46

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

3.1.21 Démarrer manuellement la collecte de données

ID: CU21

Nom: Démarrer manuellement la collecte de données

Acteurs: Administrateur

Objectifs: Gestion des données.

Résumé: L'Administrateur peut lancer la collecte automatisée des donnés d'un magasin en particulier. La circulaire sera alors mise à jour.

Type: Secondaire.

Références:

Pré-conditions:

Aucune

Post-conditions:

La circulaire est mise à jour.

Interactions:

Acteurs Système

1. Démarre la collecte d'un magasin.

2.

Récolte les données sur le site du magasin.

Met à jour la circulaire associée.

Envoie une confirmation lorsque la tâche est terminée.

Page 47: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

47

Page 48: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

48

3.1.22 Consulter la liste des produits

ID: CU22

Nom: Consulter la liste des produits

Acteurs: Administrateur

Objectifs: Gestion des données.

Résumé: L'Administrateur peut en tout temps consulter la liste de tous les produits du site.

Type: Secondaire

Références:

Pré-conditions: Aucune.

Post-conditions:

La liste est affichée peut importe si cette dernière est vide ou non.

Interactions:

Acteurs Système

1. Appuie sur le bouton 'Afficher liste complète des produits'

2.

Affiche tous les produits.

Page 49: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

49

3.1.23 Ajouter un produit

ID: CU23

Nom: Ajouter un produit

Acteurs: Administrateur

Objectifs: Gestion des données

Résumé: L'Administrateur peut ajouter un produit lui même. Les informations sont validés puis stockées dans la BDD.

Type: Secondaire

Références:

Pré-conditions: Aucune

Post-conditions:

Aucune

Interactions:

Acteurs Système

1. Appuie sur 'Ajouter un produit'

2.

Envois un formulaire.

Remplis le formulaire.

Valide les données du formulaire.

Crée le nouveau produit dans la BDD à l'aide des informations validées.

Envois un message de confirmation.

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

Page 50: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

50

3.1.24 Modifier un produit

ID: CU24

Nom: Modifier un produit

Acteurs: Administrateur

Objectifs: Gestion des données.

Résumé: L'Administrateur peut modifier un produit existant. Les anciennes informations seront remplacés dans la BDD.

Type: Secondaire

Références:

Pré-conditions: Le produit existe.

Post-conditions:

Aucune

Interactions:

Acteurs Système

1. Appuie sur 'Modifier produit'

2.

Fournis un formulaire.

3. Fournis les informations du produit.

4.

Valide les informations.

5.

Modifie les informations dans la BDD.

6.

Envois un message de confirmation.

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

Page 51: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

51

Page 52: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

52

3.1.25 Ajouter un prix à un produit

ID: CU25

Nom: Ajouter un prix à un produit

Acteurs: Administrateur

Objectifs: Ajouter un prix connu qui n‟est pas en circulaires à un produit.

Résumé: L‟Administrateur qui consulte un produit peut y ajouter un prix. Le prix et ses informations sont ajoutés à la base de données.

Type: Secondaire

Références:

Pré-conditions:

Le produit existe.

Post-conditions:

Le prix est ajouté à la base de données.

Interactions:

Acteurs Système

1. Appuie sur “Ajouter un prix”

2. Entre les détails du nouveau prix.

3.

Valides les données et les range dans la base de données.

4.

Affiche un message de confirmation.

Page 53: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

53

3.1.26 Modifier le prix d’un produit

ID: CU26

Nom: Modifier le prix d‟un produit

Acteurs: Administrateur

Objectifs: Gestion des données.

Résumé: L'Administrateur peut modifier les information concernant le prix d'un produit. Incluant l'unité ainsi que la date de début et de fin.

Type: Secondaire

Références:

Pré-conditions: Le prix existe et est lié à un produit existant.

Post-conditions:

Le prix est modifié dans la BDD.

Interactions:

Acteurs Système

1. Appuie sur 'Modifier prix'

2.

Envoie un formulaire.

Envois les nouvelles informations concernant le prix.

Modifie les informations dans la BDD.

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

Page 54: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

54

Page 55: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

55

3.1.27 Supprimer le prix d’un produit

ID: CU27

Nom: Supprimer le prix d‟un produit

Acteurs: Administrateur

Objectifs: Supprimer un prix d‟un produit.

Résumé: L‟Administrateur supprime un prix d‟un produit qu‟il consultait. Il est effacé de la base de données.

Type: Secondaire

Références:

Pré-conditions: Le prix existe et est lié à un produit existant.

Post-conditions: Le prix est effacé de la base de données.

Interactions:

Acteurs Système

1. Appuie sur “Supprimer prix”

2.

Demande une confirmation.

3. Appuie sur “confirmer”.

4.

Demande le mot de passe de l‟administrateur.

5. Entre son mot de passe.

6.

Confirme l‟authentification.

7.

Supprime le prix de la base de données.

8.

Affiche une 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 système affiche un message d‟erreur

Page 56: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

56

3.1.28 Supprimer un produit

ID: CU28

Nom: Supprimer un produit

Acteurs: Administrateur

Objectifs: Supprimer un produit.

Résumé: L‟Administrateur supprime le produit qu‟il consultait. Le produit est supprimé de la base de données. Les prix et commentaires qui y sont reliés sont supprimés.

Type: Secondaire

Références:

Pré-conditions: Le produit existe.

Post-conditions: Le produit est supprimé de la base de données.

Interactions:

Acteurs Système

1. L‟administrateur appuie sur “Supprimer”

2.

Demande une confirmation.

3. Appuie sur “Confirmer”.

4.

Demande le mot de passe de l‟administrateur.

5. Entre son mot de passe.

6.

Confirme l‟authentification.

7.

Supprime le produit de la BDD.

8.

Affiche un message de confirmation.

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

Page 57: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

57

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

3.1.29 Consulter la liste des magasins

ID: CU29

Nom: Consulter la liste des magasins

Acteurs: Administrateur

Objectifs: Consulter la liste des magasins du système.

Résumé: Un administrateur fait afficher la liste des magasins.

Type: Primaire

Références:

Pré-conditions: Aucune

Post-conditions: La liste des magasins est affichée.

Interactions:

Acteurs Système

1. Clique pour faire afficher la liste des magasins.

2.

Affiche la liste des magasins.

Page 58: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

58

3.1.30 Ajouter un magasin

ID: CU30

Nom: Ajouter un magasin

Acteurs: Administrateur

Objectifs: Ajouter un nouveau magasin.

Résumé: L‟Administrateur ajoute un nouveau magasin d‟une chaîne à la BDD.

Type: Primaire

Références:

Pré-conditions: La chaîne existe.

Post-conditions: Le magasin est ajouté à la base de données.

Interactions:

Acteurs Système

1. Appuie sur “Ajouter magasin”

2.

Affiche un formulaire.

3. Entre les informations du magasin dans le formulaire.

4.

Valide les données et ajoute le magasin à la base de données.

5.

Affiche un message de confirmation.

Page 59: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

59

3.1.31 Modifier un magasin

ID: CU31

Nom: Modifier un magasin

Acteurs: Administrateur

Objectifs: Modifier les informations d‟un magasin.

Résumé: Un Administrateur modifie les informations d‟un magasin dans le système.

Type: Primaire

Références:

Pré-conditions: Le magasin existe.

Post-conditions:

Les informations du magasin ont été modifiées.

Interactions:

Acteurs Système

1. Clique pour modifier un magasin.

2.

Affiche le formulaire de modification.

3. Remplit le formulaire et le soumet.

4.

Apporte les modifications.

5.

Affiche un message de confirmation.

Page 60: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

60

3.1.32 Activer/désactiver la collecte de données d’un magasin

ID: CU32

Nom: Activer/désactiver la collecte de données d‟un magasin

Acteurs: Administrateur

Objectifs: Permet de désactiver et réactiver la collecte automatique de données d‟un magasin.

Résumé: L‟Administrateur désactive ou active la collecte de données d‟un magasin pour les prochaines collectes.

Type: Secondaire

Références:

Pré-conditions: La collecte de données existe.

Post-conditions:

Le changement d‟état de la collecte de données est enregistré.

Interactions:

Acteurs Système

1. Appuie sur le bouton “Activer/Désactiver”

2.

Change l‟état de la collecte dans la BDD.

3.

Affiche un message de confirmation.

Page 61: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

61

3.1.33 Supprimer un magasin

ID: CU33

Nom: Supprimer un magasin

Acteurs: Administrateur

Objectifs: Supprimer un magasin

Résumé: Un Administrateur supprime un magasin du système.

Type: Primaire

Références:

Pré-conditions: Le magasin existe.

Post-conditions: Le magasin a été supprimé.

Interactions:

Acteurs Système

1. Clique pour supprimer un magasin

2.

Demande une confirmation

3. Confirme la suppression.

4.

Demande une authentification.

5. Entre son mot de passe.

6.

Confirme l‟authentification.

7.

Supprime le magasin.

8.

Affiche un message de confirmation.

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

Page 62: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

62

3.1.34 Consulter la liste des chaînes

ID: CU34

Nom: Consulter la liste des chaînes

Acteurs: Administrateur

Objectifs: Consulter la liste complète des chaînes.

Résumé: L‟Administrateur consulte la liste des chaînes contenues dans la BDD.

Type: Primaire

Références:

Pré-conditions: Il existe des chaînes dans la base de données.

Post-conditions: Toutes les chaînes sont affichées.

Interactions:

Acteurs Système

1. Appuie sur “Consulter toutes les chaînes”

2.

Affiche la liste des chaînes de la BDD.

Page 63: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

63

3.1.35 Ajouter une chaîne

ID: CU35

Nom: Ajouter une chaîne

Acteurs: Administrateur

Objectifs: Ajouter une chaîne d‟épiceries

Résumé: Un Administrateur ajoute une chaîne d‟épiceries au système.

Type: Primaire.

Références:

Pré-conditions: Aucune

Post-conditions: La chaîne a été rajoutée au système.

Interactions:

Acteurs Système

1. Clique pour ajouter une chaîne.

2.

Affiche le formulaire d‟ajout.

3. Remplit le formulaire et le soumet.

4.

Ajoute la chaîne au système.

5.

Affiche un message de confirmation.

Page 64: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

64

3.1.36 Modifier une chaîne

ID: CU36

Nom: Modifier une chaîne

Acteurs: Administrateur

Objectifs: Modifier une chaîne d‟épiceries

Résumé: Un Administrateur modifie les informations d‟une chaîne d‟épiceries.

Type: Primaire

Références:

Pré-conditions: La chaîne existe.

Post-conditions: La chaîne a été modifiée.

Interactions:

Acteurs Système

1. Clique pour modifier une chaîne.

2.

Affiche le formulaire de modification.

3. Remplit le formulaire et le soumet.

4.

Apporte les modifications.

5.

Affiche une message de confirmation.

Page 65: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

65

3.1.37 Activer/désactiver la collecte de donnée d’une chaîne

ID: CU37

Nom: Activer/désactiver la collecte de données d‟une chaîne

Acteurs: Administrateur

Objectifs: Permet de désactiver et réactiver la collecte automatique de données d‟une chaîne.

Résumé: L‟Administrateur désactive ou active la collecte de données d‟une chaîne pour les prochaines collectes.

Type: Secondaire

Références:

Pré-conditions: La collecte de données existe.

Post-conditions:

Interactions:

Acteurs Système

1. Appuie sur le bouton “Activer/Désactiver”

2.

Change l‟état de la collecte dans la BDD.

3.

Affiche un message de confirmation.

Page 66: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

66

3.1.38 Supprimer une chaîne

ID: CU38

Nom: Supprimer une chaîne

Acteurs: Administrateur

Objectifs: Supprimer une chaîne

Résumé: Un Administrateur supprime une chaîne d‟épiceries du système.

Type: Primaire

Références:

Pré-conditions: La chaîne existe.

Post-conditions: La chaîne a été supprimée.

Interactions:

Acteurs Système

1. Clique pour supprimer une chaîne.

2.

Demande une confirmation.

3. Confirme la suppression.

4.

Demande une authentification.

5. Entre son mot de passe.

6.

Confirme l‟authentification.

7.

Supprime la chaîne.

8.

Affiche un message de confirmation.

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

Page 67: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

67

3.1.39 Consulter la liste des comptes

ID: CU39

Nom: Consulter la liste des comptes

Acteurs: Administrateur

Objectifs: Consulter la liste des comptes

Résumé: L‟Administrateur fait afficher la liste des comptes

Type: Secondaire

Références:

Pré-conditions: Aucune

Post-conditions: La liste des comptes est affichée.

Interactions:

Acteurs Système

1. Appuie sur “Consulter tout les chaînes”

2.

Affiche la liste des comptes.

Page 68: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

68

3.1.40 Supprimer un compte

ID: CU40

Nom: Supprimer un compte

Acteurs: Administrateur

Objectifs: Supprimer un compte

Résumé: Un Administrateur peut supprimer un compte de la base de donnée. Les références utilisés dans les favoris et les liste d'épiceries associées au compte seront aussi détruites.

Type: Secondaire

Références:

Pré-conditions: Le compte existe.

Post-conditions: Le compte est supprimé.

Interactions:

Acteurs Système

1. Appuie sur le bouton 'Supprimer compte'

2.

Demande une confirmation.

3. Confirme la demande.

4.

Demande une authentification.

5. Entre son mot de passe.

6.

Confirme l‟authentification.

7.

Supprime le compte.

8.

Affiche une message de confirmation.

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

Page 69: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

69

. Le système affiche l‟information de l‟Usager

3.1.41 Suspendre ou rétablir un compte Membre

ID: CU41

Nom: Suspendre un compte Usager

Acteurs: Administrateur

Objectifs: Suspendre et rétablir l‟accès à un compte d‟un Usager.

Résumé: L‟administrateur suspend ou rétabli l‟accès à un compte Usager qu‟il était en train de consulter.

Type: Secondaire

Références:

Pré-conditions: Le compte existe.

Post-conditions: Le changement d‟état est sauvegardé.

Interactions:

Acteurs Système

1. Appuie sur “Suspendre/Rétablir”

2.

Demande une confirmation

3. Appuie sur “Confirmer”

4.

Change l‟état du compte

5.

Affiche un message de confirmation

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

Page 70: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

70

. Le système affiche le compte de l‟Usager

Page 71: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

71

3.1.42 Modifier un compte

ID: CU42

Nom: Modifier un compte

Acteurs: Administrateur

Objectifs: Modifier les informations d‟un compte d‟un Usager.

Résumé: Un Administrateur modifie les informations du compte d‟un Usager.

Type: Secondaire

Références:

Pré-conditions: Le compte existe.

Post-conditions: Le compte a été modifié.

Interactions:

Acteurs Système

1. Appuie sur “Modifier compte”

2.

Affiche un formulaire

3. Modifie les informations voulues dans le formulaire

4.

Valide les nouvelles informations

5.

Enregistre les informations dans la BDD

Affiche un message de confirmation

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

Page 72: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

72

3.1.43 Ajouter un compte

ID: CU43

Nom: Ajouter un compte

Acteurs: Administrateur

Objectifs: Ajouter un compte Membre ou Administrateur.

Résumé: L‟Administrateur ajoute un compte Membre ou Administrateur

Type: Secondaire

Références: CU8: créerUtilisateur

Pré-conditions: Aucune.

Post-conditions: Le compte est créé.

Interactions:

Acteurs Système

1. Appuie sur “Ajouter un compte”.

2.

Affiche le formulaire.

3. Remplit le formulaire et le soumet.

4.

Vérifie les informations.

5.

Ajouter le compte.

6.

Affiche un message de confirmation.

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

Page 73: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

73

3.1.44 Consulter l’horaire de de collecte de données automatisée

ID: CU44

Nom: Consulter l‟horaire de collecte de données automatisée

Acteurs: Administrateur

Objectifs: Permet de consulter l‟horaire des toutes les collectes de données prévues

Résumé: Un Administrateur

Type: Secondaire

Références:

Pré-conditions: Il existe des collectes de données prévues.

Post-conditions: L‟horaire des collectes est affiché.

Interactions:

Acteurs Système

1. Appuie sur “Horaire des collectes de données”

2.

Affiche l‟horaire de toutes les collectes de données prévues.

Page 74: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

74

3.1.45 Ajouter une collecte de données automatisée

ID: CU45

Nom: Ajouter une collecte de données automatisée

Acteurs: Administrateur

Objectifs: Ajouter de nouvelles collectes de données automatiques.

Résumé: Un administrateur ajoute une nouvelle collecte de données.

Type: Secondaire

Références:

Pré-conditions: Doit viser un magasin ou une chaîne existant déjà.

Post-conditions: La nouvelle collecte est ajoutée.

Interactions:

Acteurs Système

1. Appuie sur “Ajouter une collecte”

2.

Affiche un formulaire

3. Entre les informations sur la collecte

4.

Ajoute la collecte à l‟horaire.

5.

Affiche un message de confirmation

Page 75: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

75

3.1.46 Modifier une collecte de données automatisée

ID: CU46

Nom: Modifier une collecte de données automatisée

Acteurs: Administrateur

Objectifs: Modifier les informations d‟une collecte de données automatisée

Résumé: Un Administrateur modifie les informations d‟une collecte de donnée qu‟il consultait.

Type: Secondaire

Références:

Pré-conditions: La collecte de données existe

Post-conditions:

Les modifications sont enregistrées

Interactions:

Acteurs Système

1. Appuie sur “Modifier collecte”

2.

Affiche un formulaire

3. Entre les nouvelles informations

Enregistre les modifications

Affiche un message de confirmation

Page 76: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

76

3.1.47 Supprimer une collecte de données automatisée

ID: CU47

Nom: Supprimer une collecte de données automatisée

Acteurs: Administrateur

Objectifs: Supprimer une collecte de données automatisée

Résumé: Un administrateur peut supprimer une collecte de donnée automatisée

Type: Secondaire

Références:

Pré-conditions: La collecte de donnée automatisée existe

Post-conditions: La collecte de donnée automatisée est supprimée

Interactions:

Acteurs Système

1. Appuie sur “Supprimer collecte”.

2.

Demande une confirmation.

3. Confirme suppression.

4.

Demande une authentification.

5. Entre son mot de passe.

6.

Confirme l‟authentification.

7.

Affiche message de confirmation.

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é

Page 77: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

77

3.2 Spécifications fonctionnelles

3.2.1.1 Chercher un produit

Page 78: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

78

3.2.1.2 S’enregistrer

3.2.1.3 Consulter un produit

Page 79: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

79

3.2.1.4 S’authentifier

3.2.1.5 Ajouter une liste d’épicerie

Page 80: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

80

3.2.1.6 Consulter une liste d’épicerie

3.2.1.7 Calculer le prix d’une liste d’épicerie

Page 81: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

81

3.2.1.8 Supprimer une liste d’épicerie

Page 82: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

82

3.2.1.9 Retirer un produit d’une liste d’épicerie

Page 83: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

83

3.2.1.10 Ajouter un produit à une liste

3.2.1.11 Consulter les commentaires

Page 84: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

84

3.2.1.12 Évaluer un commentaire

3.2.1.13 Ajouter un commentaire

Page 85: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

85

3.2.1.14 Modifier un commentaire

3.2.1.15 Supprimer un commentaire

Page 86: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

86

3.2.1.16 Consulter la liste des favoris

3.2.1.17 Ajouter un produit à la liste des favoris

Page 87: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

87

3.2.1.18 Retirer un produit de la liste des favoris

3.2.1.19 Modifier un compte membre

Page 88: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

88

3.2.1.20 Supprimer un compte membre

Page 89: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

89

3.2.1.21 Démarrer manuelle la collecte de données

3.2.1.22 Consulter la liste des produits

Page 90: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

90

3.2.1.23 Ajouter un produit

Page 91: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

91

3.2.1.24 Modifier un produit

Page 92: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

92

3.2.1.25 Ajouter un prix à un produit

3.2.1.26 Modifier le prix d’un produit

Page 93: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

93

3.2.1.27 Supprimer le prix d’un produit

Page 94: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

94

3.2.1.28 Supprimer un produit

3.2.1.29 Consulter la liste des magasins

Page 95: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

95

3.2.1.30 Ajouter un magasin

3.2.1.31 Modifier un magasin

Page 96: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

96

3.2.1.32 Activer / Désactiver la collecte de données d’un magasin

3.2.1.33 Supprimer un magasin

Page 97: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

97

3.2.1.34 Consulter la liste des chaînes

3.2.1.35 Ajouter une chaîne

Page 98: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

98

3.2.1.36 Modifier une chaîne

3.2.1.37 Activer / Désactiver la collecte de données d’une chaîne

Page 99: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

99

3.2.1.38 Supprimer une chaîne

3.2.1.39 Consulter la liste des comptes Membre

Page 100: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

100

3.2.1.40 Supprimer un compte Membre

3.2.1.41 Suspendre un compte Membre

Page 101: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

101

3.2.1.42 Modifier un compte

3.2.1.43 Ajouter un compte

Page 102: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

102

3.2.1.44 Consulter l’horaire de la collecte de données automatisée

3.2.1.45 Ajouter une collecte de donnée automatisée

Page 103: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

103

Page 104: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

104

3.2.1.46 Modifier une collecte de données automatisée

3.2.1.47 Supprimer une collecte de données automatisée

Page 105: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

105

3.2.4 Diagramme de classes

Figure 1 Diagramme de classes

Page 106: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

106

3.3 Exigences d’opérations, de communications et de performance

Quant aux exigences quantitatives, plusieurs facteurs sont à prendre en compte.

Pour pouvoir gérer correctement le système et les demandes de service à clientèle, il va falloir 5 Administrateurs. Donc, il faut pourvoir 5 postes de travail. Deux serveurs seront nécessaires pour le roulement du système. Le premier sera pour traiter les requêtes web et le deuxième pour les requêtes applicatives et le roulement de tâches automatisées ainsi que pour la base de données.

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.

3.4 Exigences logiques de bases de données

À la suite de la concertation de l‟équipe, on a décidé de prendre une BDD non-relationnelle où toutes les données relatives à l‟application seront stockées.

3.4.1 Types d’informations utilisées par les différentes fonctions

Les types des attributs seront des entiers, des décimaux, des chaînes de caractères, des dates ainsi que des images.

3.4.2 Fréquence d’utilisation

La fréquence de d‟utilisation de la BDD sera environ la même que le site internet puisque le site affiche les informations de la BDD. L‟utilisation de cette dernière sera plus élevée lorsque le crawler va ajouter des éléments à la BDD.

3.4.3 Capacité d’accès

La capacité d‟accès de la BDD directement sera disponible uniquement aux Administrateurs et au serveur applicatif.

3.4.4 Entités et relations des données

Avec MongoDB, il n‟y a pas de relations de données entre-elles. Si elle serait représenté avec des relations, ça serait celui du diagramme de classe de la section 3.2.4.

Page 107: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

107

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.

3.4.6 Exigences de rétention des données

Concernant la rétention des données, la BDD va être accessible en tout temps. Ainsi, le site va avoir un taux d‟accessibilité plus élevé.

3.5 Contraintes de conception

ÉconoÉpiceries est un nouveau produit dans un marché non-exploité au Québec. Le produit n‟a pas à continuer sur les bases de normes établies ou sur un système existant, sa conception est donc parfaitement libre de toute contraintes.

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 Exigences non-fonctionnelles

3.6.1 Fiabilité

L‟utilité du système étant directement reliée à la qualité d‟informations gérée par ÉconoÉpiceries, les Administrateurs devront s‟assurer régulièrement de la qualité et fiabilité des données récoltées durant la collecte automatisée.

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.

Page 108: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

108

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.

4.0 INFORMATIONS COMPLÉMENTAIRES 4.1 Index

Aucun.

Page 109: SPÉCIFICATIONS DES EXIGENCES D’UN LOGICIEL

109

4.2 Annexes

Annexe A - Maquette d‟interface