ppe-2-1-fini

publicité
2012-2014
BILLOT
PERRICHON
DANIEL
A1
BTS SIO SLAM
SGBD & Base de données
p. 2
p. 3
p. 6
p. 7
p. 8
p. 10
p. 15
p. 21
p. 22
p. 28
p. 29
SGBD & Base de données
La Maison des Ligues de Lorraine (M2L) a pour mission de fournir des espaces et des services
aux différentes ligues sportives régionales et à d’autres structures hébergées. La M2L est une
structure financée par le Conseil Régional de Lorraine dont l'administration est déléguée au Comité
Régional Olympique et Sportif de Lorraine (CROSL).
Les associations sportives (les clubs) peuvent profiter de dispositions fiscales apparues en
2008 pour faire bénéficier de remises d'impôts les adhérents engageant des frais, en particulier dans
le cadre de déplacements liés à des compétitions, des stages sportifs, des réunions… Il s'agit de
faciliter par l'informatisation l'établissement du document officiel permettant la remise d'impôts.
Les adhérents doivent entrer leurs notes de frais permettant aux trésoriers de faire les
comptes des associations sportives.
Les adhérents des clubs engageant des frais peuvent « renoncer » au remboursement de ces frais, ce
qui équivaut à un don à l’association. Ils peuvent alors faire valoir ce don lors de leur déclaration de
revenus et bénéficier de remise d’impôts (au même titre qu’un don à une association caritative par
exemple)
L’association doit délivrer un document officiel numéroté à ses adhérents en fin d’année civile
(document CERFA n° 11580-02) où figure le montant total « rétrocédé » à l’association durant l’année.
Pour l’adhérent, ce document CERFA sert de reçu et il pourra le joindre à sa déclaration de revenus.
En tant que prestataire de M2L nous avons comme objectifs :
 De créer une interface qui permettrait aux licenciés de pouvoir :
 s’enregistrer et de se connecter pour pouvoir gérer et
entrer eux même leur note de frais.
 De permettre aux trésorier :




Projet Fredi
se connecter comme les adhérents aux interfaces
gérer le contenu des bordereaux
créer ou éditer des CERFA et ensuite les envoyer
gérer les montants total des sommes des bordereaux validés
imprimer une pièce justificative de ce montant.
Page 1 sur 29
Important :
 Gérer les connexions à l’aide du mot de passe et de l’adresse mail
 Gérer les Mails de confirmation qui retourne le mot de passe choisit
1. Pour les adhérents :
 L’ajout de note de frais.
 Les aperçus des reçus.
2. Pour chaque connexion :
 Etre réactif aux modifications des coordonnées
 Renvoie du mot de passe
 Modification de note de frais
3. Pour le trésorier :




Création du Cerfa
Suivre les validations déjà validées
Valider les notes
Suivre les paiements
`
Projet Fredi
Page 2 sur 29
 Le modèle conceptuel des données (MCD) a pour but d'écrire les
données qui seront utilisées par le système d'information.
Il s'agit donc d'une représentation des données, facilement compréhensible, permettant de
décrire le système d'information à l'aide d'entités.
 Le MCD vise à conceptualiser l’application.
 Il met en jeu des d’entités et des associations
 L’entité : un objet d’intérêt dans le problème qu’on cherche à modéliser
 Chaque entité comporte des attributs (ou propriétés) c’est à dire des
caractéristiques (date de naissance, couleur, nom, capitale, population,
Superficie...).
 Il peut exister 0 à n occurrences d’une entité
Remarque :
 Indépendance logique : Une modification du schéma conceptuel ne
doit pas entraîner la modification des programmes; une modification
de certains schémas externes est utile dans ce cas.
Projet Fredi
Page 3 sur 29
1. Entités et classe d’entité
 Une entité est la représentation d'un élément matériel ou immatériel ayant un rôle dans le
système que l'on désire décrire.
On appelle classe d'entité un ensemble composé d'entités de même
type, dont la définition est la même. Une entité est une instanciation
de la classe. Chaque entité est composée de propriétés, données
élémentaires permettant de la décrire.
Les classes d'entités sont représentées par un rectangle. Ce rectangle est
séparé en deux champs :


le champ du haut contient le libellé (abréviation de l'écriture). Chaque classe d'entité
correspond un et un seul libellé, et réciproquement
le champ du bas contient la liste des propriétés de la classe d'entité
2. Relation et classes de relation
 Une relation (ou association) représente les liens sémantiques qui peuvent exister entre
plusieurs entités.
Une classe de relation peut lier plus de deux
classes d'entité.
Il existe plusieurs dénominations des classes de
relation selon le nombre d'intervenants :
1.
2.
3.
4.
Relation récursive (ou réflexive) relie la même classe d'entité
Relation binaire relie deux classes d'entité
Relation ternaire relie trois classes d'entité
Relation n-aire relie n classes d'entité
 La cardinalité indique le nombre minimum (0 ou 1) et maximum (1 ou n)
de fois où l’occurrence d’une entité peut participer à une association.
 Une cardinalité 1.N signifie que chaque entité appartenant à une classe d'entité participe au
moins une fois à la relation.
 Une cardinalité 0.N signifie que chaque entité appartenant à une classe d'entité ne participe
pas forcément à la relation.
Remarque :
Les classes de relations sont représentées par des hexagones ou ellipses, dont l'intitulé décrit le type
de relation qui relie les classes d'entité.
Projet Fredi
Page 4 sur 29
1. Les identifiants
 Un identifiant est un ensemble de propriétés (une ou plusieurs) permettant de désigner une
et une seule entité.
L'identifiant est une propriété particulière d'un objet telle qu'il n'existe pas deux occurrences
de cet objet pour lesquelles cette propriété pourrait prendre une même valeur
 Les attributs d'une classe d'entité permettant de désigner de façon unique chaque instance
de cette entité sont appelés identifiants absolus.
Remarque :
Les attributs peuvent avoir des types permettant de mieux les décrire:
D
An
BL
T
DT
N
S
I
Date
Caractères de longueur n
Booléen
Temps
Date Temps
Nombre
Smallint (entier court)
Integer entier
2. Les règles de normalisation :
1. Première forme normale : chaque entité ́e doit posséder un identifiant qui caractérise ses
individus de manière unique.
2. Deuxième forme normale: l’identifiant peut être composée de plusieurs attributs mais les
autres attributs de l’entité é doivent être dépendant de l’identifiant en entier (et non pas une
partie de cet identifiant).
3. Troisième forme normale (importante) : les attributs d’une entité doivent dépendre
directement de son identifiant.
Projet Fredi
Page 5 sur 29
Le logiciel utilisé pour établir le MCD et MPD est
« PowerAMC ».
C’est un logiciel de création développé par SYBASE qui permet
de réaliser tous les modèles informatiques existants
aujourd’hui. Pour le projet, nous n’avons utilisé que le schéma
de merise « MCD ».
Une fois le MCD réalisé à l’aide de cet outil, nous sommes passé au MPD.
Particularité du logiciel : une fois le Modèle Conceptuel de Données réalisé, Power AMC permet de
faire le Modèle Physique de Données automatiquement. Bien entendu, il ne faut pas qu’il y ait
d’erreur dans le MCD pour que le MPD soit réalisé de façon automatique.
Pour la base de données, le logiciel procède de la même manière que du MCD vers MPD sauf que là
c’est MCD vers BDD. Il ne faut également aucunes erreurs pour que la réalisation se fasse.
Effectivement, s’il y a des erreurs, le logiciel vous en fera part pour que vous tentiez d’y remédier.
Projet Fredi
Page 6 sur 29
Modèle Conceptuel de Données
Modèle Physique de Données
Projet Fredi
Page 7 sur 29
Une base de données est un ensemble organisé d'informations, mémorisées sur un support
informatique.
 Structure de données permettant de :
 Recevoir
 Stocker
 Fournir
à la demande des données à de multiples utilisateurs indépendants.
 Une base de données permet de mettre des données à la disposition d'utilisateurs pour une
consultation, une saisie ou bien une mise à jour, tout en s'assurant des droits accordés à ces
derniers.

Une base de données peut être :
 Locale (utilisable sur une machine par un utilisateur).
 Répartie (les informations sont stockées sur des machines distantes et accessibles
par réseau).
L'avantage majeur de l'utilisation de bases de données est la possibilité de pouvoir être
accédées par plusieurs utilisateurs simultanément.
Projet Fredi
Page 8 sur 29
1. Les différentes structures de BD
 Les concepts de base :
Domaine : ensemble de valeurs caractérisé par un nom.
Table / relation : tableau à 2 dimensions : lignes et colonnes
Clé candidate : attribut ou ensemble d’attributs dont la
connaissance des valeurs permet d’identifier de façon unique
chaque ligne de la table.
Clé primaire : Il y a une clé primaire par table, choisie parmi les
clés candidates.
Clé étrangère : attribut ou ensemble d’attributs d’une table
qui correspond à une clé primaire d’une autre table. Une
table peut contenir plusieurs clés étrangères.
Valeur nulle : valeur conventionnelle qui doit représenter une information inconnue ou non
existante.
2. Les contraintes
Contrainte d’intégrité : Prédicat qui doit
vérifier un sous ensemble de la base de
données afin que l’on puisse considérer la
base de données comme cohérente.
Contrainte de domaine contrôle syntaxique
et sémantique d’une donnée, en faisant
référence au type de définition du domaine.
Contrainte déclarative contrainte imposée
sur des attributs (valeur nul, valeur par défaut, clé primaire, validité des valeurs …)
Contrainte référentielle la valeur d’un attribut d’une table existe comme valeur
de clé primaire dans une autre table
(Clé étrangère -> clé primaire).
Projet Fredi
Page 9 sur 29
La base de données a été crée grâce fichier Liste_Licencies, générer par power AMC. Nous avons
donc choisi de composer notre base de données de 5 tables :
1. Adhérents
 Liste des adhérents et leurs informations détaillé fourni
aves le PPE 2-1 ainsi que le mot de passe et le login
2. Clubs
 Qui rassemble tous les différents clubs.
3. Bordereau
 Qui rassemble l’année, le numéro de bordereau ainsi que les
adhérents et les tarifs
4. Tarif
 Regroupe les différents tarifs pour les notes de frais.
5. Frais
 Regroupe toute les lignes de frais classé par les adhérents
pour les imprimer par la suite.
 Une fois la base de données crée, nous avons choisi d’utiliser SQL server express comme SGBR.
Nous l’avons donc transférer et exécuter puis crée des jeu d’essai.
Projet Fredi
Page 10 sur 29
/*==============================================================*/
/* Table : Adherents
*/
/*==============================================================*/
create table Adherents (
ID_adherent
int
ID_club
not null,
int
Nom_adherent
not null,
varchar(256)
Prenom_adherent
Sexe_adherent
not null,
varchar(256)
int
not null,
not null,
Datenaiss_adherent datetime
Adresse_ahderent
not null,
varchar(256)
CP_adherent
int
Ville_adherent
varchar(256)
not null,
not null,
NoLicence_adherent bigint
Login_adherent
not null,
not null,
varchar(256)
not null,
MotDePasse_adherent varchar(256)
Email
varchar(50)
not null,
null,
constraint PK_ADHERENTS primary key nonclustered (ID_adherent)
)
go
/*==============================================================*/
/* Index : ADHERER_FK
*/
/*==============================================================*/
create index ADHERER_FK on Adherents (
ID_club ASC
)
go
Projet Fredi
Page 11 sur 29
/*==============================================================*/
/* Table : Bordereau
*/
/*==============================================================*/
create table Bordereau (
ID_bordereau
int
ID_adherent
ID_tarif
not null,
int
int
Annee_bordereau
not null,
not null,
smallint
not null,
constraint PK_BORDEREAU primary key nonclustered (ID_bordereau)
)
go
/*==============================================================*/
/* Index : EMETTRE_FK
*/
/*==============================================================*/
create index EMETTRE_FK on Bordereau (
ID_adherent ASC
)
go
/*==============================================================*/
/* Index : RELEVER_FK
*/
/*==============================================================*/
create index RELEVER_FK on Bordereau (
ID_tarif ASC
)
go
Projet Fredi
Page 12 sur 29
/*==============================================================*/
/* Table : Clubs
*/
/*==============================================================*/
create table Clubs (
ID_club
int
Nom_club
not null,
varchar(256)
not null,
constraint PK_CLUBS primary key nonclustered (ID_club)
)
go
/*==============================================================*/
/* Table : Frais
*/
/*==============================================================*/
create table Frais (
ID_frais
ID_bordereau
int
not null,
int
not null,
Date_frais
datetime
not null,
Motif_frais
varchar(256)
not null,
Trajet_frais
varchar(256)
not null,
Kms_frais
int
Cout_frais
float
not null,
not null,
Peages_frais
int
null,
Repas_frais
int
null,
Hebergement_frais int
Remboursement_frais bit
null,
not null,
constraint PK_FRAIS primary key nonclustered (ID_frais)
)
go
Projet Fredi
Page 13 sur 29
/*==============================================================*/
/* Index : APPARTENIR_FK
*/
/*==============================================================*/
create index APPARTENIR_FK on Frais (
ID_bordereau ASC
)
go
/*==============================================================*/
/* Table : Tarif
*/
/*==============================================================*/
create table Tarif (
ID_tarif
int
Prix_tarif
float
not null,
not null,
constraint PK_TARIF primary key nonclustered (ID_tarif)
)
go
Projet Fredi
Page 14 sur 29
Pour cette requête j'ai sélectionné :
 le nom
 le prénom
 no de licence
 puis ordonné par date de naissance
Projet Fredi
Page 15 sur 29
Pour cette requête j’ai utilisé :
 un count pour compter le nombre de garçons
Projet Fredi
Page 16 sur 29
Pour cette requête j’ai utilisé :
 un count pour compter le nombre de filles
Projet Fredi
Page 17 sur 29
Pour cette requête j'ai :
 sélectionner que les dates de naissances
Projet Fredi
Page 18 sur 29
Pour cette requête j'ai sélectionné :
 le nom des adhérents pour les trier par
famille
 il y est compter 34 familles alors qu'il y a 40
adhérents
Projet Fredi
Page 19 sur 29
Pour cette requête j'ai compté :
 le nombre de personnes habitants à
"Villers lès Nancy" grâce à "count"
Projet Fredi
Page 20 sur 29
Visual studio
• prône le RAD: Rapid Application Développement rendu possible grâce aux nombreux outils
disponibles.
• gère élégamment le produit cartésien entre les langages de programmation et les types
d’applications.
• Multi langages de programmation:






C#
VB.NET
C++ non géré
MC++ (Managed C++)
J#
Multi applications:
 application mode console
 application graphique avec fenêtres
 service windows
 application web
 service web
 une bibliothèque de classes et base de données.
Pour faire des IHM, visual studio est facile à utiliser, rapide, et comporte de nombreux élément
pour construire des ihm rapidement et facilement. Grace à cela ça donne un bon aperçu de ce
que donnera la future solution et un aperçu de notre application. On peut tous gérer en quelque
click et changer chaque élément, chaque couleur en instantanée. On peut facilement coder pour
relier nos ihm et avoir un vrai aperçu de notre idée de départ.
Projet Fredi
Page 21 sur 29
L’interface Homme-Machine correspond à l’affichage de l’application telle que la verra l’utilisateur.
Sur cette interface apparaîtront les différents écrans auxquels l’utilisateur aura accès.
Page de connexion
Sur cette première image, on peut voir l’écran de connexion. Pour pouvoir accéder à
l’application, l’utilisateur doit préalablement s’être enregistré dans la base de
données pour avoir accès à son compte. S’il s’est enregistré, l’utilisateur possède un
« login » et un « mot de passe »
Le bouton « inscription »
est à votre disposition afin
Entrer votre login /identifiant
ci-dessous
Entrer votre mot de
de vous enregistrer dans la
passe ci-dessous
base de données et de vous
permettre d’accéder à
l’application.
Si vous cocher
le bouton, à la
prochaine
ouverture de
l’application,
votre connexion
se fera
automatiqueme
nt avec les
identifiants
rentre lors de
la précédente
connexion.
Cliquer ici en cas d’erreur, vous
pourrez recommencer la
manipulation.
Projet Fredi
Valider en cliquant sur
« ok ». Si les
informations sont
correctes, l’application
ouvre l’écran d’accueil.
Sinon, un message
d’erreur apparaît pour
informer l’utilisateur
qu’il a fait une erreur et
l’inviter à recommencer.
Le bouton « Mot de passe
oublié » sert à renvoyer à
l’utilisateur son mot de passe en
échange d’informations afin
d’attester l’identité de
l’utilisateur.
Page 22 sur 29
Page d’inscription
L’écran d’inscription permet à l’utilisateur de s’enregistrer auprès de la base de données.
Il s’agit là d’un formulaire visant à récupérer des informations essentielles pour l’utilisation de
l’application.
Insérer votre
Insérer votre
Insérer votre date de
nom ci-dessous
prenom ci-dessous
naissance ci-dessous
Insérer votre
adresse juste ici
Insérer votre ville
juste ici
Insérer votre code
postal.
Cocher la case qui
vous convient
Cliquer ici en cas d’erreur, vous
pourrez recommencer la
manipulation et arrête
l’opération en cours afin de
revenir à l’écran de connexion.
Projet Fredi
Cliquer sur « envoyer », votre inscription sera
enregistré.
Ce bouton sert à transmettre à la base de données
les informations entrées par l’utilisateur. Il lui sera
alors notifié un « login » ainsi qu’un « mot de passe »
à entrer à l’écran de connexion.
Page 23 sur 29
Page de recensement des informations
On arrive sur cette page lorsque la connexion s’est bien établie. Elle recense
toutes les informations concernant l’adhérent. Les données ne sont
modifiables que lorsque vous cliquerez sur le bouton « modifier » en bas de
page.
Cliquer sur
« déconnexion »
pour quitter
l’application et
revenir à l’écran de
connexion
Cliquer sur modifier redirige vers la page
Cliquer sur « Note de Frais »
de modification de recensement
redirige vers la page du
d’informations
recensement des notes de frais
Projet Fredi
Page 24 sur 29
Page de modification de recensement
L’écran de modification des données personnelles est sensiblement équivalent à
l’écran d’inscription.
Il permet à l’utilisateur de modifier ses informations (ex : changement d’adresse,
informations erronées, etc…)
Insérer votre N. de
licence ci-dessous
Insérer votre
Insérer votre date de
prénom ci-dessous
naissance ci-dessous
Insérer votre
nom ici
Insérer votre
adresse ici
Insérer votre
code postal ici
Entrer votre
sexe ici
Projet Fredi
Entrer votre
Cliquer ici en cas d’erreur, vous
pourrez annuler & recommencer
la manipulation ou encore de
revenir à l’écran d’accueil.
Cliquer sur « envoyer », vos
ville ici
modifications seront
enregistrées.
Page 25 sur 29
Page de note de frais
L’écran des notes de frais se présente comme un formulaire permettant, après l’avoir complété, à
l’utilisateur d’imprimer sa fiche de notes de frais afin de prouver qu’il a bien fait don de ces
remboursements de frais et d’acquérir sa remise d’impôt.
Remplir les champs
ci-dessous
Sélectionner l’année
civile correspondante
Remplir les champs
ici
Cliquer sur « retour »,
Cliquer sur « ajouter »,
pour revenir à la page
pour ajouter une
précédente.
nouvelle note de frais
(ligne)
Projet Fredi
Cliquer sur « modifier »,
pour modifier la note de
frais (lignes, champs …)
Cliquer sur
Cliquer sur
« supprimer », pour
« imprimer »,
supprimer la note de
pour sortir votre
frais
exemplaire
Page 26 sur 29
Page de modification des notes
La page d’ajout de note de frais est sensiblement la même que cette page au niveau
des champs sauf qu’elle permet d’ajouter une ligne au tableau des notes de frais.
Sélectionner l’année
Remplir les champs
civile correspondante
ci-dessous
Remplir les champs
Cliquer ici en cas d’erreur, vous
Cliquer sur « modifier », pour
pourrez annuler &
valider la modification.
recommencer la manipulation.
Remarque : L’écran d’ajout et de modification des fiches de notes de frais sont les mêmes à ceci près
que le dernier permet de modifier les informations d’une fiche existante alors que le premier ajoute
une nouvelle fiche.
Projet Fredi
Page 27 sur 29
Apres avoir identifié et compris les besoins de la M2L, nous avons d'abord réfléchi à l'élaboration
d'une base de données. Nous sommes passé par trois étapes pour arriver à une base de données
complète :
- établissement d'un modèle conceptuel de données
- élaboration d'un modèle physique de données
- réalisation du script de la base de données à l'aide des deux schémas
Une fois la base de données créée, nous avons créé une ébauche de ce que pourrait être l'application
dont la M2L aurait besoin. Nous ne sommes partis d'aucune base d'autres applications pour créer la
notre. Nous nous sommes mis à la place des utilisateurs pour essayer de penser à tous les besoins.
Nous nous sommes fait des jeux de rôle pour nous assurer que l'application conviendrait avant de la
proposer. Cela permettra à la M2L de gérer plus efficacement ses notes par rapport à la méthode
actuelle qui peut entrainer des pertes de papiers, des retards dans le remplissage des fiches ou
même des papiers qui arriveraient en retard.
C'est-à-dire comprendre l'utilité de l'application, se familiariser avec les documents officiels de notes
de frais pour comprendre le but final. Nous proposons donc ce dossier pour la M2L pensant que ce
serait ce qui lui conviendrait le mieux.
Projet Fredi
Page 28 sur 29
Projet Fredi
Page 29 sur 29
Téléchargement