51
ANALYSE (PRINCIPES ET METHODES). 1. INTRODUCTION. 1.1 TERME « ANALYSE » : notions de décomposition, de résolution, de structure. 1.2 METHODE : On parlera donc inévitablement de méthode pour décomposer, résoudre, structurer. 1.3 MAIS ANALYSE DE QUOI ? Il s’agit ici d’analyser des systèmes d’information. 1.4 NOTION DE SYSTEME D’INFORMATION. Système d’information d’une organisation (entreprise, organisme public, …) : ensemble des moyens et procédés de traitement de l’information, permettant de faire fonctionner et de gérer l’organisation. 1.5 NOTION DE SYSTEME D’INFORMATION AUTOMATISE (SIA). SIA d’une organisation : sous-ensemble du système d’information pour lequel les traitements sont programmés sur ordinateur. 1.6 PROBLEMES POUR LE DEVELOPPEMENT D’UN SIA. - Accroissement du coût des logiciels. - Mauvaise productivité des équipes de développement car : Les besoins des usagers sont mal définis. On se rend compte trop tard que les objectifs sont trop ambitieux par rapport aux moyens qui sont limités. On confond souvent ce que l’on doit faire avec comment on doit le faire. Les décisions ne sont pas prises au moment adéquat -> beaucoup de rétro-ajustements. Le projet se termine dans la précipitation. Accroissement du coût du développement. - La qualité du logiciel est insuffisante car : Trop compliqué. Ancienne documentation. Ne favorise pas les modifications. Accroissement du coût de la maintenance ultérieure. 1

NAMUR ANNEXE COURS ANALYSE TEMP.doc

Embed Size (px)

Citation preview

Page 1: NAMUR ANNEXE COURS ANALYSE TEMP.doc

ANALYSE (PRINCIPES ET METHODES).

1. INTRODUCTION.

1.1 TERME « ANALYSE » : notions de décomposition, de résolution, de structure.

1.2 METHODE :On parlera donc inévitablement de méthode pour décomposer, résoudre, structurer.

1.3 MAIS ANALYSE DE QUOI ?Il s’agit ici d’analyser des systèmes d’information.

1.4 NOTION DE SYSTEME D’INFORMATION.Système d’information d’une organisation (entreprise, organisme public, …) : ensemble des moyens et procédés de traitement de l’information, permettant de faire fonctionner et de gérer l’organisation.

1.5 NOTION DE SYSTEME D’INFORMATION AUTOMATISE (SIA).SIA d’une organisation : sous-ensemble du système d’information pour lequel les traitements sont programmés sur ordinateur.

1.6 PROBLEMES POUR LE DEVELOPPEMENT D’UN SIA.- Accroissement du coût des logiciels.- Mauvaise productivité des équipes de développement car :

Les besoins des usagers sont mal définis. On se rend compte trop tard que les objectifs sont trop ambitieux par

rapport aux moyens qui sont limités. On confond souvent ce que l’on doit faire avec comment on doit le faire. Les décisions ne sont pas prises au moment adéquat -> beaucoup de

rétro-ajustements. Le projet se termine dans la précipitation.

Accroissement du coût du développement.- La qualité du logiciel est insuffisante car :

Trop compliqué. Ancienne documentation. Ne favorise pas les modifications.

Accroissement du coût de la maintenance ultérieure.

1.7 OBJECTIFS. Augmenter la productivité des équipes de développement :

- Discipliner la démarche de développement.- Maintenir une vue d’ensemble.- Documenter au fur et à mesure du

développement.

1

Page 2: NAMUR ANNEXE COURS ANALYSE TEMP.doc

Améliorer la qualité du logiciel :- Délimiter correctement le système.- Répondre aux besoins.- Prévoir la capacité d’évolution du système.

1.8 ROLE D’UNE METHODE.Aider à atteindre ces objectifs.

1.9 ELEMENTS AYANT DETERMINE L’EVOLUTION DES METHODES.

Les mathématiques :- Algèbre de Boole -> tables de décision.- Algèbre de Boole (conditions) + algèbre traditionnelle (traitements) ->

programmation structurée.- Algèbre relationnelle -> Merise pour la conception.

Les représentations graphiques :Graphes.

Le concept « système de gestion de bases de données » :SGBD : ensemble de logiciels permettant de décrire, mémoriser, manipuler, traiter des ensembles de données, tout en assurant, pour celles-ci : sécurité, confidentialité et intégrité.

- Gestion sans SGBD : Ensemble de fichiers différents, décrivant une suite de besoins. On définit les traitements sur ces fichiers pour produire les

résultats attendus par les utilisateurs.-  Gestion avec SGBD :

On analyse un ensemble de besoins (données et relations entreles données).

On dégage une structure de données qui convient à tous les besoins -> BD.

Remarques. Données non redondantes. Indépendance des traitements par rapport à la structure des

données. L’approche systémique :

- Approche par les informaticiens : Techniques utilisées pour coder les informations en données

formatées (mises sous forme d’enregistrement) pour qu’elles puissent être traitées en ordinateur.

Traduire les besoins des utilisateurs sous forme de traitements appropriés sur les données.

- Approche par les systémiciens (vue classique) : Représenter le fonctionnement des organisations d’une entreprise

suivant 3 systèmes :

2

Page 3: NAMUR ANNEXE COURS ANALYSE TEMP.doc

système de pilotage

flux financiers entrants -> système d’information -> flux financiers sortants

flux de matières -> système opérant -> flux de produits finis(production)

Remarque.Le système d’information va entraîner la construction d’une base de données centrale.

a) Le système opérant transforme des matières premières en produits finis, pour les vendre.

D’où 3 sortes de flux :o Flux de matières.o Flux de produits finis.o Flux financiers entrants (par exemple : règlements des

clients).o Flux financiers sortants (par exemple : règlements des

fournisseurs).b) Le système de pilotage qui permet de prendre des décisions.c) Le système d’information qui permet de représenter sous forme

de données manipulables par ordinateur les informations liées aux système opérant et de pilotage.

- Lien entre ces deux approches : Les informaticiens reprochaient aux systémiciens de ne rien

donner de concret. Les systémiciens reprochaient aux informaticiens de ne travailler

qu’au coup par coup, sans approche globale.En fait, il manquait un outil aux informaticiens pour généraliser la notion de fichier et il manquait aux systémiciens, un outil pour concrétiser leurs théories globalisantes.Outil faisant le pont entre les deux :Concepts de base de données et de schéma conceptuel.o Pour les systémiciens : il représente le support physique faisant

le lien entre le système de pilotage et le système opérant.o Pour les informaticiens : il représente l’outil qui généralise la

notion de fichier. C’est ceci qui est à la base de la méthode Merise.

Classification des méthodes.- Méthodes fonctionnelles (1965-1975).

Système d’information = chaîne de fonctions recevant des entrées et produisant des résultats.

Ces méthodes ont tendance à privilégier les préoccupations informatiques et à escamoter toute réflexion sur les données.

Ne sont plus utilisées.

3

Page 4: NAMUR ANNEXE COURS ANALYSE TEMP.doc

- Méthodes systémiques (depuis 1975). Approche globale du système d’information. Analyse distincte de l’aspect statique (données) et de l’aspect

dynamique (traitements, échanges). Avantage : modélisation du système d’information (exemple :

Merise).- Méthodes orientées objets (depuis le milieu des années 80).

Dans un système d’information, tout est appréhendé en tant qu’objet.

Objet : structure de données et un comportement caractérisé par un ensemble d’actions appelées « méthodes ».Exemple. Objet « voiture », caractérisé par une structure de données (no-plaque, marque, modèle, …) et un comportement (se déplacer, charger, …).

Les objets ayant même comportement et même structure de données, sont regroupés dans des classes.

Mécanisme de l’héritage.Exemple. La classe « Etudiants » hérite de la classe « Personne ». Par conséquent, un étudiant hérite de la structure de données « personne » (no-personne, nom, prénom) mais peut se différencier par des données comme le nom de l’école, la section, … .

Intérêt : grande modularité dans le développement, possibilité de réutilisation du code développé.Exemples.COAD-YOURDON : OOA (Analyse orientée objet).BOOCH : OOD (Conception orientée objet).Merise Orientée Objet : OOM.

1.10LES TROIS CYCLES DU SYSTEME D’INFORMATION.L’étude d’un système d’information est conduite traditionnellement en suivant trois cycles.

- Le cycle de vie.On peut distinguer les étapes suivantes :

conception réalisation maintenance déclin

Conception.Description détaillée du système et proposition de solutions.

Réalisation.Elaboration des programmes pour la mise en œuvre des solutions précédentes.

Maintenance.Adaptation du système aux besoins nouveaux de l’entreprise.

Déclin.Lorsque le système d’information est considéré comme complètement dépassé.

4

Page 5: NAMUR ANNEXE COURS ANALYSE TEMP.doc

- Le cycle d’abstraction.Il traduit les différents degrés d’abstraction du système d’information au cours de sa vie.On peut distinguer 3 niveaux. Le niveau conceptuel.

Examiner l’ensemble des entités manipulées par le système d’information (quoi ?).

S’intéresser au métier de l’entreprise (que veut-on faire ?). Le niveau logique.

Procéder aux choix en termes d’organisation pour les traitements et de modèles de bases de données pour les données (qui ? quand ? où ? comment ?).

Le niveau physique.On examine les contraintes en termes de système d’exploitation, de système de gestion des bases de données, de langages de programmation, … (avec quels moyens ?).

- Le cycle de décision.Il permet de déterminer qui prend les décisions, en particulier en ce qui concerne la validation des différents modèles de la méthode et le passage d’une étape de la vie du système d’information à une autre.

1.11LA CONDUITE D’UN PROJET.On se place ici dans l’étape de conception d’un système d’information, selon le cycle de vie de celui-ci.Pour conduire chacun des projets mis en évidence au cours de cette étape, on peut se baser sur la « courbe du soleil », qui tient compte des différents niveaux du cycle d’abstraction.

nouveaux besoinsnouvelles orientations

conceptuel

logique

physique

actuel futur

5

Page 6: NAMUR ANNEXE COURS ANALYSE TEMP.doc

Cette courbe est la juxtaposition de deux éléments :

- Premier élément : analyser l’existant. Analyse rapide des aspects physiques du système actuel (programmes et

documents d’E/S du système). Analyse du niveau logique : qui fait quoi ? où ? quand ? Analyse du niveau conceptuel : on s’intéresse aux choix de gestion, au

métier de l’entreprise. Diagnostic du système. De nouveaux besoins ou orientations sont pris en compte, servant de base à

l’élaboration d’un nouveau système.- Deuxième élément : application d’une méthode d’analyse pour considérer les

nouveaux besoins (par exemple, la méthode Merise).

2 ETUDE DE L’EXISTANT. Elle sert à prendre connaissance du domaine dans lequel l’informaticien va être employé pour améliorer son fonctionnement.Elle permet de recenser l’ensemble des objectifs et des contraintes de l’entreprise, pour le domaine considéré.

- Moyen. Faire des interviews auprès du personnel (direction, différents postes de travail).

- Résultat. DFD (Data Flow Diagram ou diagramme de flux de données).

DD (Data Dictionnary ou dictionnaire de données).

2.1 LE DFD. Un Data Flow est un ensemble de données élémentaires (exemple : nom

d’une personne) et de structures (exemple : adresse d’une personne qui se décompose en numéro, rue, code-postal, ville, pays).

Un Data Store est un ensemble de Data Flows (exemple : nom, adresse de tout le personnel)

Représentation. .

acteur externe au domaine étudié

fonction ou process

flux

6

Page 7: NAMUR ANNEXE COURS ANALYSE TEMP.doc

fichier ou data store

Règles d’or. - Ne pas présenter les flux entre 2 externes.- Quasi toujours un fichier intermédiaire quand il y a un flux entre deux

fonctions.- Fonction : au moins un flux entrant et un flux sortant.

Attention   ! Chaque fonction a-t-elle toutes les informations nécessaires pour fournir ses résultats ?

Méthode conseillée. - Identifier les externes.- Dessiner le DFD premier niveau.- Identifier les fonctions et les fichiers permanents (ceux dont on parle

explicitement dans le texte).- Dessiner éventuellement des DFD second niveau qui reprennent plus

en détail et avec les cas d’exception, les fonctions répertoriées au premier niveau.

- Vérifier que les flux du premier niveau sont tous dans le second.

7

Nom du fichier

Page 8: NAMUR ANNEXE COURS ANALYSE TEMP.doc

Exemple   : cas d’une agence d’intérim.

DFD premier niveau. Suite aux demandes des demandeurs d’emploi, l’agence d’intérims propose un intérim à ceux-ci.

demande d’intérimDemandeur Agenced’emploi

intérim

DFD second niveau. L’agence reçoit les demandes d’intérim des demandeurs d’emploi. L’agence vérifie si ces demandeurs d’emploi sont déjà connus et, dans le cas contraire, enregistre leurs informations.L’agence recherche, dans une liste, des intérims correspondant aux demandeurs d’emploi et les propose à ceux-ci.

demande d’intérim Demandeur d’emploi intérim Agence

DFD troisième niveau. L’agence reçoit les demandes d’intérim des demandeurs d’emploi.L’agence met à jour sa liste des demandeurs d’emploi.Si l’agence trouve une offre d’emploi convenant au demandeur, elle lui propose directement. Sinon, la demande est mise en attente. Périodiquement, l’agence contacte les entreprises pour obtenir de nouvelles offres d’emploi, en fonction des besoins.Dès réception d’une offre d’emploi d’une entreprise, celle-ci est enregistrée par l’agence et comparée avec les demandes non satisfaites.Si une de ces nouvelles offres correspond à une des demandes non satisfaites, l’agence la propose directement au demandeur d’emploi concerné.

8

demandeurs d’emploi

intérims

Page 9: NAMUR ANNEXE COURS ANALYSE TEMP.doc

Demandeur Mise à jourd’emploi demandeur

et recherche offre

demande d’intérim

intérim

Sollicitationpériodique demandedes entreprises entreprise

d’offre

offre d’ emploi

Réceptionetcomparaison

intérim

3 LA METHODE «   MERISE   ».

3.1. HISTORIQUE.Projet lancé, en 1977, en France, par le Ministère de l’Industrie pour permettre à l’administration de réussir ses projets dans les coûts et délais prévus.

Ministère de l’Industrie (Décembre 1976)

C.E.T.E. MERISE (sigle) Universitaires

Secteur Privé (1979/1980)S.C.I.I. ou S.S.I.I. Administration (Juin 1979)

C.E.T.E. : Centre Technique de l’Equipement d’Aix-en-Provence.S.C.I.I. : Sociétés de Conseil et d’Ingéniérie Informatique.S.S.I.I. : Sociétés de Services et d’Ingéniérie Informatique.

9

demandeurs d’emploi

offres d’emploi

demandes en suspens

Page 10: NAMUR ANNEXE COURS ANALYSE TEMP.doc

Présentation officielle de Merise : 1979.Remarque : Il existe plusieurs versions de Merise.

3.2. CONDUITE D’UN PROJET AVEC MERISE.

On considère ici le deuxième élément de la « courbe du soleil » :

Deuxième élément : approche à 3 niveaux de Merise Cette approche s ‘appuie fortement sur le cycle d’abstraction.Elle sépare les données (aspect statique) des traitements (aspect dynamique).

Niveaux Données Traitements

conceptuel MCD MCT

logique MLD MOT

physique MPD MopT

Au niveau conceptuel   : On met en évidence les règles de gestion du domaine étudié (quoi ?que veut-on faire ?).

Exemples. Un professeur ne peut donner qu’un seul type de cours. Prix total = prix unitaire x quantité.

MCD : modèle conceptuel des données.MCT : modèle conceptuel des traitements.

Au niveau logique   : Choix organisationnels : qui fera quoi ? où ? quand ? pourquoi ? comment ?On met en évidence les règles d’organisation du domaine étudié.

Exemples. Il faut livrer à partir de 9 h. Le cours de Math doit toujours se donner au V202.

MLD : modèle logique des données.MOT : modèle organisationnel des traitements.

Au niveau physique   : Choix techniques pour déterminer totalement les moyens informatiques (avec quels moyens ?).On met en évidence les règles techniques.

10

Page 11: NAMUR ANNEXE COURS ANALYSE TEMP.doc

MPD : modèle physique des données.MOpT : modèle opérationnel des traitements.

La validation se fait en interaction avec les deux premiers éléments.Cela permet de voir si un élément est valide ou non.Cela permet de savoir si les gens de la société sont d’accord ou non.A chaque fois qu’un document sort, il y a validation.Chaque modèle doit être validé  cycle de décision.

3.3 ORGANISATION DES DIFFERENTS MODELES.

Etude de l’existant (50% du temps)

MCD (équipe1) MCT (équipe 2)

(en parallèle,par 2 équipes (25%)différentes) MOT (équipe 2)

Vues externes (équipe 2)

Validation données-traitements

(10 %)MLD

MPD MOpT (15 %)

EXERCICES DE DFD.

Appels d'offres. Pour ses divers projets de développement d’applications informatisées, une

11

Page 12: NAMUR ANNEXE COURS ANALYSE TEMP.doc

critères

entreprise réalise des appels d’offre à des sociétés de service. A réception despropositions, l’entreprise les évalue pour en sélectionner une.

Pour évaluer les propositions, le responsable de chaque projet donne des critèresde sélection. L’évaluation débouche sur une note établie à partir des critères. Deslettres de refus ou d’acceptation sont éditées.

DFD de niveau 1.

Sélection

appel d’offre

propositionsociété de service

lettre de refus ou d’acceptation

DFD de niveau 2.

appel d’offreEnvoi desappelsd’offre

Définition descritères et

proposition saisie despropositions

société deservice Calcul des

notes

lettre derefus ou Editiond’acceptation sociétés de service

12

projets

appels d’offre

critères

propositions

Page 13: NAMUR ANNEXE COURS ANALYSE TEMP.doc

Location de cassettes (DVD).On utilise les diagrammes de flots de données pour spécifier les fonctionnalités d'uneapplication de location de cassettes vidéo (de DVD, en réalité).Le cahier des charges précise que :- le client peuto louer et rapporter des cassettes; les locations sont enregistrées ainsi que les clients,- le gérant peuto ajouter/supprimer des cassettes au catalogue,o changer les prix des cassettes au tarif,- l'applicationo calcule le prix d'une location selon le tarif des cassettes empruntées etla durée de l'emprunt,o génère des états de caisse en fin de journée.

L.B.F.A. (Ligue Belge Francophone d'Athlétisme).Représentation, par un diagramme de flux (DFD), de la gestion des affiliations et transferts d'athlètes à la LBFA (Ligue Belge Francophone d'Athlétisme) et ce, du point de vue de la LBFA.

Un athlète qui désire s'affilier à un club d'athlétisme doit remplir et signer une demande d'affiliation qui mentionne essentiellement ses coordonnées personnelles. Le secrétaire du club contresigne la demande, lui attribue un numéro d'ordre (propre au club) et la transmet à la LBFA. La LBFA enregistre l'affiliation et transmet la carte de membre au secrétaire du club concerné.

Chaque année, tout athlète affilié désirant participer aux compétitions organisées sous l'égide de la LBFA doit attester de sa bonne conduite physique en passant une visite médicale chez un médecin de son choix. Le secrétariat du club envoie le certificat médical à la LBFA par la poste. Si le certificat déclare que l'athlète est apte à la pratique sportive, la LBFA lui attribue un numéro de dossard pour la saison. Le dossard lui-même est envoyé au secrétariat du club qui le remettra à l'athlète. Dans le cas contraire, la LBFA constitue un dossier complet reprenant tous les antécédents de l'athlète depuis sa première affiliation. Le dossier est transmis à la commission médicale de la LBFA qui statuera. En cas d'acceptation, le dossard est envoyé par la voie normale. En cas de refus, l'athlète en est averti par lettre personnelle.

Pour frais administratifs, un club doit verser la somme de 20 € par athlète dossardé pour la saison. Tous les mois, pour chaque club, la LBFA calcule la somme ainsi due et envoie la facture au club concerné qui doit s'acquitter du paiement dans les deux mois. Ce délai dépassé, une lettre de rappel est envoyée au secrétariat du club. Si la facture n'a pas été acquittée dans les trois mois qui suivent, le secrétariat de la LBFA transmet le dossier du club à la "Commission de Discipline". Le traitement de ce dossier n'est pas décrit d'avantage dans ce texte.

Un athlète qui désire changer de club doit en faire la demande écrite à la LBFA en mentionnant le club qu'il désire rejoindre. Il doit également communiquer une copie

13

Page 14: NAMUR ANNEXE COURS ANALYSE TEMP.doc

de cette demande aux secrétaires des clubs concernés. Par ailleurs, la LBFA transmet, aux clubs concernés, la demande de l'athlète. Le transfert ne sera accepté que si le club d'origine donne son accord ou si l'athlète est affilié depuis moins de six mois. Dans le cas contraire, si l'athlète réitère le désir de changer de club dans le courant de l'année suivante, le transfert sera accordé automatiquement et l'athlète ainsi que le club en seront prévenus.

Agence de voyage "Tourista"L'agence de voyages "Tourista" s'occupe de mettre sur pieds des voyages organisés et de les proposer au grand public.

14

Page 15: NAMUR ANNEXE COURS ANALYSE TEMP.doc

Préparer des voyages organisés consiste à imaginer un itinéraire de voyage axé sur un ou plusieurs centres d'intérêt (culture, découverte de la nature, sports, …). Il s'agit ensuite de choisir et de réserver les différents hôtels, ainsi que les moyens de transports. A cet effet, on fera bien sûr jouer la concurrence entre les différentes compagnies d'aviation et d'autocars. Ensuite, il faudra évidemment faire connaître les nouvelles propositions de voyages pour remplir les places disponibles. C'est le département "promotion" qui sera chargé de promouvoir ces nouveaux voyages.

Le département "promotions" dispose de 2 outils de travail : la campagne publicitaire et le mailing.

La campagne publicitaire consiste à contacter une agence de publicité pour que celle-ci réalise soit une affiche, soit une page publicitaire, soit un spot radio ou TV, et la diffuse dans les médias convenus.

Le mailing consiste à consulter le fichier interne "mailing" et à y puiser les coordonnées des personnes les plus susceptibles d'être intéressées par le voyage en question. On leur enverra alors une lettre d'introduction, ainsi qu'un dépliant qui aura été réalisé en interne par un département spécialisé, principalement constitué de graphistes. Le département fait néanmoins appel à un imprimeur extérieur pour le tirage de ces dépliants. C'est le département "promotions" qui décrit aux graphistes la documentation à réaliser.

Trois raisons principales peuvent motiver l'appel téléphonique d'une personne à l'agence "Tourista" :

Il s'agit d'une simple demande de renseignements généraux à laquelle on répond immédiatement.

Il s'agit d'une demande de documentation pour l'un ou l'autre voyage organisé; on en prend bonne note et on effectue le nécessaire pour y répondre rapidement (envoi de dépliants).

Il s'agit d'un réel intérêt pour un voyage organisé en particulier; dans ce cas, on communique l'information au département chargé de remplir les voyages organisés. Ces personnes fourniront au client toutes les informations qu'il désire, et considéreront qu'il est inscrit définitivement au voyage à partir du moment où il a versé l'acompte demandé.

Outre le fait de trier les appels entrants, il faut aussi penser à introduire les personnes qui prennent contact pour la première fois avec l'agence "Tourista", dans le fichier 'mailing".

EXERCICES DE MCD.

SECRETARIAT DES JEUX OLYMPIQUES.Soient les individus-types :

15

Page 16: NAMUR ANNEXE COURS ANALYSE TEMP.doc

Ville Année Discipline Catégorie Nationalité Participant

Complétez le modèle afin qu'il offre la possibilité de connaître :1) les villes où se sont déroulés les jeux en sachant que :

pour une année déterminée, les jeux se déroulent simultanément dans plusieurs villes :

toutes les disciplines d'une même catégorie se déroulent au même endroit, pour une année déterminée,

chaque discipline appartient à une seule catégorie,

2) les résultats individuels (OR, ARGENT, BRONZE ou NEANT) en sachant que :

un participant peut se présenter, lors d'une année, à plusieurs disciplines,

un participant peut se représenter, à différentes années, à une même discipline,

3) la nationalité représentée par les participants en sachant que : un participant peut changer de nationalité entre deux années,

4) le nombre de médailles OR, ARGENT, BRONZE et NEANT obtenues par chacune des nationalités, pour chacune des catégories, par année.

Pour chaque relation, donnez les cardinalités et citez quelques occurrences.

NOM : …………………………………………………… 

INTERROGATION D’ANALYSE. (/20)(Info. Gestion) (Novembre 2011) (Mme Namur)

16

Page 17: NAMUR ANNEXE COURS ANALYSE TEMP.doc

QUESTION 1. FONCTIONNEMENT SIMPLIFIE D’UNE SOCIETE DE VENTE PAR CORRESPONDANCE. (/4)Une société envoie son nouveau catalogue de produits à ses clients, ainsi qu’à un échantillon étudié de personnes qui ne sont pas encore dans la base de données, afin de tenter d’étendre ses activités.Dès la réception des bons de commande, la société met à jour, si nécessaire, les coordonnées des clients et ajoute, les nouveaux clients éventuels, dans sa base de données.Les bons de commande sont, également, enregistrés dans la base de données.En cas de rupture de stock d’articles, les fournisseurs correspondants sont sollicités, pour des commandes éventuelles.Dès que possible, les colis sont expédiés aux clients, avec la facture à payer, dans les 30 jours.Si le paiement n’a pas été effectué, un rappel lui est envoyé. Si le paiement n’a pas été effectué, dans les 15 jours, après le rappel, une amende est prévue et une facture, incluant celle-ci, est, alors, envoyée au client.Le client peut renoncer à l’achat et retourner son colis à la société, dans les 7 jours ouvrables suivant la réception du colis. Passé ce délai, le retour du colis est refusé et celui-ci est, à nouveau, expédié chez le client qui devra le payer, selon les conditions décrites ci-dessus.Dans le cas d’un colis défectueux (article abîmé, article manquant, erreur d’article, …), le client a le droit d’échanger son colis, dans les 7 jours ouvrables suivant la réception du colis. Un nouveau colis lui sera, alors, envoyé, comme normalement, avec la facture qui mentionnera, en plus, une amende à payer, si le délai a été dépassé. Donnez le DFD de niveau 1 pour décrire tout ce qui précède.REPONSE.

QUESTION 2. (/4)Soit l’entité suivante :

4 CONSULTATION

17

Page 18: NAMUR ANNEXE COURS ANALYSE TEMP.doc

4.1.1 NO-CONSULTATIONNO-VETERINAIRENOM-VETERINAIREADRESSE-VETERINAIRENO-ANIMALESPECE-ANIMAL (1)NOM-PROPRIETAIRE-ANIMALTYPE-SOIN (2)

5 PRIX-TOT-A-PAYERDATE

(1) ESPECE-ANIMAL : chat, chien, lapin, …, par exemple.(2) TYPE-SOIN : soin dentaire, toilettage, …, par exemple.

Remarque.Si une personne se présente avec deux animaux à soigner, chez un vétérinaire, celui-ci considère qu’il y a deux consultations.

a) Cette entité est-elle en 1ère Forme Normale ? Si non, la mettre en 1ère Forme Normale.b) Est-elle en 2ème Forme Normale ? Si non, la mettre en 2ème Forme Normale.c) Est-elle en 3ème Forme Normale ? Si non, la mettre en 3ème Forme Normale.REPONSE.

QUESTION 3. (/12)GESTION DE BIBLIOTHEQUES.On considère le dictionnaire de données suivant :

CODE-BIBLIOTHEQUE NOM-BIBLIOTHEQUE ADRESSE-BIBLIOTHEQUENO-RESPONSABLE NOM-RESPONSABLE ADRESSE-RESPONSABLENOM-SALLE (2 salles différentes ne peuvent porter le même nom)

18

Page 19: NAMUR ANNEXE COURS ANALYSE TEMP.doc

THEME NOM-SPECIALITE

Une bibliothèque dispose d’un certain nombre de salles gérées, chacune, par un responsable.Chaque salle traite un thème bien précis (exemple : la littérature au Moyen Age).Une bibliothèque peut être spécialisée dans différents domaines (exemple : une bibliothèque spécialisée dans l’informatique et les mathématiques).Chaque bibliothèque a un horaire bien précis :

exemple : Mercredi : 13 h à 18 hVendredi : 9 h à 11 h et 16 h à 19 h

Le modèle doit permettre, pour chaque bibliothèque, de garder le signalétique de chaque membre (no-carte-identité, nom, prénom, adresse) et de connaître la date de début de l’affiliation de chaque membre.Une même personne peut être membre, dans des bibliothèques différentes.Chaque nouveau membre reçoit une carte de la bibliothèque, reprenant son numéro de membre.La durée de validité de la carte et son prix sont fixés par la bibliothèque.

A partir des règles de gestion ci-dessus, donnez le MCD normalisé, le plus simple possible, pour résoudre ce problème, en complétant, éventuellement, le dictionnaire de données et en donnant les CIFs, s’il y a lieu. REPONSE.

EXERCICES DE MCT A PARTIR DES DFD CONSTRUITS PRECEDEMMENT.

Exemple   : Cas d’une agence d’intérim.

19

Page 20: NAMUR ANNEXE COURS ANALYSE TEMP.doc

Exercice   : Appels d'offres.

Exercice   : Agence de voyage "Tourista".

EXERCICES DE REVISION (ETUDES DE CAS).

Gestion des références bibliographiques. Il s’agit de réaliser une base de données pour le laboratoire CARTAGERE de l’ENITA de Bordeaux afin de :

20

Page 21: NAMUR ANNEXE COURS ANALYSE TEMP.doc

- présenter le laboratoire - permettre au grand public d’avoir accès à la bibliographie relative à la

thématique de recherche du laboratoire - gérer les emprunts d’ouvrages, revues … détenus par le laboratoire.

On vous demande de gérer 3 types de références bibliographiques : 1°) les ouvrages Titre de l’ouvrage Date de publication Edité par : Liste de mot-clés Nom(s) du(des) auteur(s) 2°) les articles publiés dans des revues Titre de l’article Date de publication Edité par (Nom de la revue) : Liste de mot-clés Nom(s) du(des) auteur(s) 3°) les articles publiés dans des sites Internet Titre de l’article Date de publication Adresse du site : Liste de mot-clés Nom(s) du(des) auteur(s)

On désire produire les états de sortie suivants : a) la liste des ouvrages/articles empruntés à une date donnée. Exemple : Date : 05/05/03 Dupont Louis

b) la liste des publications pour un auteur donné Exemple : Auteur choisi = Chery. Ph. Liste des publications :

21

Page 22: NAMUR ANNEXE COURS ANALYSE TEMP.doc

Etablir le dictionnaire des données, le modèle conceptuel des données correspondant puis le modèle logique associé.

22

Page 23: NAMUR ANNEXE COURS ANALYSE TEMP.doc

23

Page 24: NAMUR ANNEXE COURS ANALYSE TEMP.doc

MLD   : GESTION DES REFERENCES BIBLIOGRAPHIQUES. Table « EDITEUR » : <NO-EDITEUR, NOM-EDITEUR, ID-TYPE-EDITION>Table “TYPE-EDITION” : <ID-TYPE-EDITION, TYPE-EDITION>Table “REFERENCE” : <NO-REFERENCE, LIBELLE-REFERENCE, DATE-PUBLI,

ADRESSE-SITE, NO-EDITEUR, NO-TYPE-REFERENCE>Table “TYPE-REFERENCE” : <NO-TYPE-REFERENCE, LIBELLE-REFERENCE>Table “LISTE-MOTS-CLES” : <NO-MOT-CLE, MOT-CLE>Table « AUTEUR » : <NO-AUTEUR, NOM-AUTEUR>Table « EMPRUNT » : <NO-EMPRUNT, DATE-EMPRUNT,

DATE-RETOUR-EFFECTIVE, DATE-RETOUR-PREVUE,NO-REFERENCE, NO-EMPRUNTEUR>

Table “EMPRUNTEUR” : < NO-EMPRUNTEUR, NOM-EMPRUNTEUR, ADRESSE, ADRESSE2, TELEPHONE, CODE-INSEE>

Table « VILLE » : <CODE-INSEE, CODE-POSTAL, VILLE>Table « LISTE-MOTS-CLES-REFERENCE » : <NO-MOT-CLE, NO-REFERENCE>Table “REFERENCE-AUTEUR” : <NO-REFERENCE, NO-AUTEUR, PRINCIPAL>

24

Page 25: NAMUR ANNEXE COURS ANALYSE TEMP.doc

EXERCICE DE NORMALISATION.Soit l’entité :

ARTISTE

NO-ARTISTE

NOM-ARTISTEPRENOM-ARTISTENATIONALITE-PRINCIPALETITRE-CHANSON-CONCERT (1)TITRE-CONCERT (2)NOM-LIEU (3)DATE-CONCERTCODE-POSTAL-ID (4)NOM-LOCALITECODE-PAYSNOM-PAYS

Remarques.(1) TITRE-CHANSON-CONCERT : titre de la chanson que l’artiste compte chanter lors

du concert prévu,(2) TITRE-CONCERT : nom publicitaire de l’événement,(3) NOM-LIEU : nom de la salle où aura lieu le concert,(4) CODE-POSTAL-ID : code postal suivi d’un numéro pour différencier les villes qui

ont le même code postal.

a) 1ère forme normale ? Sinon, la mettre en 1ère F.N.b) 2ème forme normale ? Sinon, la mettre en 2ème F.N.c) 3ème forme normale ? Sinon, la mettre en 3ème F.N.

25

Page 26: NAMUR ANNEXE COURS ANALYSE TEMP.doc

MCD et MLD.GESTION DU PLANNING DANS UN CENTRE DE FORMATION.

Liste des données   : 1. numéro du stagiaire,2. nom du stagiaire,3. prénom du stagiaire,4. date de naissance du stagiaire,5. numéro de stage,6. intitulé du stage,7. date de début de la session d’un stage,8. date de fin de la session d’un stage

(exemple : stage n° 1322 d’intitulé Initiation à la micro-informatique pour cadres », dont une session démarre le 1er mars et se termine le 12 mars),

9. numéro du professeur,10.nom du professeur,11.prénom du professeur,12.numéro du module,13. intitulé du module (un module est un cours susceptible d’être incorporé dans

un ou plusieurs stages),14.numéro de session.

Informations complémentaires   : o Un stagiaire suit une session d’un stage (et une seule).o Un module peut être assuré par un ou plusieurs professeurs, selon leurs

compétences.o Une session de stage se compose d’une succession de modules, chacun de ces

modules étant pris en charge par un professeur , entre une date de début et une date de fin.

26

Page 27: NAMUR ANNEXE COURS ANALYSE TEMP.doc

MLD   : GESTION DU PLANNING DANS UN CENTRE DE FORMATION. Table « STAGIAIRE » : <NO-STAGIAIRE, NOM-STA, PRENOM-STA, DATE-NAISS,

NO-SESSION>Table “STAGE” : <NO-STAGE, INTITULE-STA>Table “MODULE” : <NO-MODULE, INTITULE-MOD>Table “SESSION” : <NO-SESSION, NO-STAGE, DATE-DEB, DATE-FIN>Table “PROFESSEUR” : <NO-PROFESSEUR, NOM-PROF, PRENOM-PROF>Table « STAGE-MODULE » : <NO-STAGE, NO-MODULE>Table “MODULE-PROFESSEUR” : <NO-MODULE, NO-PROFESSEUR>Table “SESSION-DATE-MODULE-PROFESSEUR” : <NO-SESSION, NO-MODULE,

NO-PROFESSEUR, DATE-DEBUT, DATE-FIN>

27

Page 28: NAMUR ANNEXE COURS ANALYSE TEMP.doc

28

Page 29: NAMUR ANNEXE COURS ANALYSE TEMP.doc

29

Page 30: NAMUR ANNEXE COURS ANALYSE TEMP.doc

30

Page 31: NAMUR ANNEXE COURS ANALYSE TEMP.doc

31

Page 32: NAMUR ANNEXE COURS ANALYSE TEMP.doc

32

Page 33: NAMUR ANNEXE COURS ANALYSE TEMP.doc

33

Page 34: NAMUR ANNEXE COURS ANALYSE TEMP.doc

34

Page 35: NAMUR ANNEXE COURS ANALYSE TEMP.doc

35

Page 36: NAMUR ANNEXE COURS ANALYSE TEMP.doc

36

Page 37: NAMUR ANNEXE COURS ANALYSE TEMP.doc

LABO   : ACCESS ET MYSQL.

1) UTILISATION DE DB-MAIN.

Créer un projet et introduire le MCD voulu (voir exemple ci-dessous) afin de générer le MLD relationnel et le SQL.

37

Page 38: NAMUR ANNEXE COURS ANALYSE TEMP.doc

-- *********************************************-- * Standard SQL generation *-- *-------------------------------------------*-- * Generator date: Jul 6 2009 *-- * Generation date: Sun Jan 10 11:22:35 2010 *-- *********************************************

-- Database Section-- ________________

create database GESTPRIX;

-- DBSpace Section-- _______________

-- Tables Section-- _____________

create table GESTPRIX.ARTICLE ( NOART char(5) not null, NOMART char(20) not null, QTESTOCK numeric(5) not null, PRIXART numeric(7,2) not null, CODECATEG char(3) not null, constraint ID_ARTICLE_ID primary key (NOART));

create table GESTPRIX.CATEGART ( CODECATEG char(3) not null, NOMCATEG char(20) not null, constraint ID_CATEGART_ID primary key (CODECATEG));

create table GESTPRIX.MODIFPRIX ( NUMMODIF int not null auto_increment, DATEMODIF date not null, TYPEMODIF char(1) not null, POURCENTAGE numeric(3,2) not null, CODECATEG char(3), NOART char(5), constraint ID_MODIFPRIX_ID primary key (NUMMODIF));

-- Constraints Section-- ___________________

alter table ARTICLE add constraint EQU_ARTIC_CATEG_FK foreign key (CODECATEG) references CATEGART;

38

Page 39: NAMUR ANNEXE COURS ANALYSE TEMP.doc

alter table CATEGART add constraint ID_CATEGART_CHK check(exists(select * from ARTICLE where ARTICLE.CODECATEG = CODECATEG));

alter table MODIFPRIX add constraint REF_MODIF_CATEG_FK foreign key (CODECATEG) references CATEGART;

alter table MODIFPRIX add constraint REF_MODIF_ARTIC_FK foreign key (NOART) references ARTICLE;

-- Index Section-- _____________

create unique index ID_ARTICLE_IND on ARTICLE (NOART);

create index EQU_ARTIC_CATEG_IND on ARTICLE (CODECATEG);

create unique index ID_CATEGART_IND on CATEGART (CODECATEG);

create unique index ID_MODIFPRIX_IND on MODIFPRIX (NUMMODIF);

create index REF_MODIF_CATEG_IND on MODIFPRIX (CODECATEG);

create index REF_MODIF_ARTIC_IND on MODIFPRIX (NOART);

REMARQUES.Il est obligatoire de modifier, à l’aide d’un éditeur (le « Bloc-notes » de Windows ou « Word » ou …), le SQL généré par DB-MAIN :

Modifier les 3 « CREATE TABLE », en mettant le nom de la BD devant le nom de la table (voir ci-dessus),

Changer le type de donnée de « NUMMODIF » en INT AUTO_INCREMENT (voir ci-dessus).

2) MYSQL.Se connecter à « Windows » en tant qu’administrateur.Installer « MYSQL-ESSENTIAL-… » en définissant un mot de passe pour l’utilisateur « root ».Lancer « MYSQL », entrer le mot de passe défini, copier-coller et exécuter le « CREATE DATABASE » , copier-coller et exécuter les 3 « CREATE TABLE ».

39

Page 40: NAMUR ANNEXE COURS ANALYSE TEMP.doc

3) LIEN ENTRE MYSQL ET ACCESS.Installer “ MYSQL-CONNECTOR-ODBC-…”.Aller dans “Panneau de Configuration », « Outil d’administration », « Source de données ODBC », « Source de données fichier », « Ajouter », choisir « MYSQL Server » dans la liste.Dans la fenêtre affichée, introduire le nom du serveur « localhost », le nom de l’utilisateur « root », le mot de passe défini et le nom de la base de données.

4) ACCESS.Lancer « Access » et créer une base de données. Dans le menu « Fichier », choisir « Ouvrir BD » et prendre le type de fichier « ODBC Databases ». Dans la fenêtre « Data Sources », choisir la base de données voulue et entrer le mot de passe de l’utilisateur « root ».Dans la fenêtre « Attacher les tables », sélectionner toutes les tables.Une base de données « ODBC.mdb » est créée (il est conseillé, par la suite, de changer le nom de cette base de données).Les fois suivantes, pour utiliser cette base de données, il suffira de « double-cliquer » sur son nom, dans le répertoire « C:\Program Files\Fichiers Communs\ODBC\Data Sources ».

Tout d’abord, il faut créer les relations entre les tables.Ensuite, il faut créer les formulaires.

FORMULAIRE «   FARTICLES   ». Il sera créé, à l’aide de l’Assistant, en mode tabulaire.Pour ce faire, dans l’Assistant, il faut sélectionner la table « ARTICLE » et considérer tous ses champs. Puis, il faut sélectionner la table « CATEGART » et considérer tous ses champs.

FORMULAIRE «   FCATEGART   ». Il sera créé, à l’aide de l’Assistant, en mode tabulaire.Pour ce faire, dans l’Assistant, il faut sélectionner la table « CATEGART » et considérer tous ses champs.

40

Page 41: NAMUR ANNEXE COURS ANALYSE TEMP.doc

FORMULAIRE «   FMODIFPRIX   ».

Il sera créé, à l’aide de l’Assistant, en mode colonne.Pour ce faire, dans l’Assistant, il faut sélectionner la table « MODIFPRIX » et considérer tous les champs, sauf le champ « NUMMODIF ».Passer ensuite, en mode création de formulaire, pour le modifier.Faire un clic droit sur le champ « DATEMODIF » et prendre « propriétés ».Dans l’onglet « Données », mettre =Date() dans « Valeur par défaut ».Créer le bouton « VERIF ARTICLES », sans l’Assistant (double-clic dans le bouton, pour modifier le texte apparaissant dans le bouton).Faire un clic droit sur le bouton et prendre « propriétés ».Dans l’onglet « Evénement », choisir « Procédure événementielle » dans « Sur clic ».Cliquer dans le champ « Sur clic » pour faire apparaître les 3 petits points.Cliquer sur les 3 petits points pour modifier le code de la procédure événementielle, de la manière suivante :Private Sub Commande10_Click()DoCmd.CloseDoCmd.OpenForm "FARTICLES"End SubCréer le bouton « VERIF CATEG », sans l’Assistant (double-clic dans le bouton, pour modifier le texte apparaissant dans le bouton).Faire un clic droit sur le bouton et prendre « propriétés ».Dans l’onglet « Evénement », choisir « Procédure événementielle » dans « Sur clic ».Cliquer dans le champ « Sur clic » pour faire apparaître les 3 petits points.Cliquer sur les 3 petits points pour modifier le code de la procédure événementielle, de la manière suivante :Private Sub Commande11_Click()DoCmd.CloseDoCmd.OpenForm "FCATEGART"End SubFORMULAIRE «   MENU   ». Il sera créé sans l’Assistant, en mode création.

41

Page 42: NAMUR ANNEXE COURS ANALYSE TEMP.doc

Créer les 3 boutons « AFFICHER ARTICLES », « AFFICHER CATEGORIES ‘ARTICLES’ », « INTRODUIRE UNE MODIFICATION DE PRIX » sans l’Assistant (double-clic dans chaque bouton, pour modifier le texte apparaissant dans le bouton).Faire un clic droit sur chaque bouton et prendre « propriétés ».Dans l’onglet « Evénement », choisir « Procédure événementielle » dans « Sur clic ».Cliquer dans le champ « Sur clic » pour faire apparaître les 3 petits points.Cliquer sur les 3 petits points pour modifier le code de chaque procédure événementielle, de la manière suivante :Option Compare DatabaseProcédure associée au premier bouton.Private Sub Commande0_Click()DoCmd.OpenForm "FARTICLES"End SubProcédure associée au deuxième bouton.Private Sub Commande1_Click()DoCmd.OpenForm "FCATEGART"End SubProcédure associée au troisième bouton.Private Sub Commande2_Click()DoCmd.OpenForm "FMODIFPRIX"DoCmd.GoToRecord acDataForm, "FMODIFPRIX", acNewRecEnd Sub

5) MYSQL.Créer la procédure stockée suivante dans l’éditeur de votre choix, sous Windows.Copier-coller et exécuter, ensuite, cette procédure, dans MYSQL.DELIMITER //CREATE PROCEDURE gestprix.majprix()BEGIN DECLARE tmodif, codecat, nart CHAR; DECLARE npourcent DOUBLE;

DECLARE cur CURSOR FOR SELECT typemodif,pourcentage,codecateg,noart FROM gestprix.modifprix WHERE nummodif=(SELECT MAX(nummodif) FROM gestprix.modifprix);

OPEN cur; FETCH cur INTO tmodif,npourcent,codecat,nart;IF codecat IS NULL THEN IF tmodif = 'A' THEN UPDATE article SET prixart=prixart+prixart*npourcent/100 WHERE noart=nart;ELSE UPDATE article SET prixart=prixart-prixart*npourcent/100 WHERE noart=nart;END IF;

42

Page 43: NAMUR ANNEXE COURS ANALYSE TEMP.doc

ELSE IF tmodif = 'A' THEN UPDATE article SET prixart=prixart+prixart*npourcent/100 WHERE codecateg=codecat;ELSE UPDATE article SET prixart=prixart-prixart*npourcent/100 WHERE codecateg=codecat;END IF;END IF;CLOSE cur;END //Créer le trigger suivant dans l’éditeur de votre choix, sous Windows.Copier-coller et exécuter, ensuite, ce trigger, dans MYSQL.delimiter //create trigger gestprix.tupdate after insert on modifprix for each row begin call majprix(); end //

6) ACCESS.Tester l’application en ouvrant le formulaire « MENU ».Introduire des données dans la table « CATEGART », puis dans la table « ARTICLE », à l’aide des formulaires créés.Introduire, ensuite, des modifications de prix, à l’aide du formulaire « FMODIFPRIX » et vérifier ces modifications.

43