1. Définitions.
2. Formalisme des unités fonctionnelles.
3. Construction et description.
4. Formalisme des diagrammes d'U.F.
5. Construction des D.U.F.
6. Exercice.
Le dessin externe classique, utilisé pour représenter
des fonctions, des traitements à programmer, est celui des unités
fonctionnelles. Une U.F. (ou fonction logique) regroupe un ensemble
de tâches réalisées sur un même poste de travail,
suivant un même mode de travail (conversationnel ou temps différé),
avec la même périodicité.
On peut la positionner ainsi :
Une entreprise se décompose
en domaines, c'est à dire de très gros projets : gestion
commerciale, gestion d'une bibliothèque, etc.
Un
domaine se décompose en applications (ou activités ou encore
processus) : gestion des commandes, gestion des règlements, etc.
Chaque
application se décompose en fonctions : saisie de commandes, édition
de bons de livraisons, etc.
Une
fonction est composée de tâches ou de modules fonctionnels
: saisir les coordonnées d'un client, ...
Enfin,
chaque tâche est composée d'opérations élémentaires
: saisie le n° du client, afficher un solde de compte, un nom de client,
...
Une U.F. est donc un ensemble de tâches déclenchées de deux façons possibles :
Interactive
(ou conversationnelle) : Les U.F. ont pour origine un même
type d'évènement(s), comme un coup de téléphone
pour une commande peut provoquer la saisie d'une commande
Batch
(ou différé) : Les U.F.ont pour origine une ou plusieurs
restitution(s) à produire à une même date , par exemple
l'édition de fin de mois des fiches de paie des salariés.
Voici maintenant les symboles utilisés pour décrire une U.F. :
Fichier en écriture / Fichier en Lecture et/ou
ecriture / Fichier en lecture
Construction des U.F. :
Une première démarche consiste à partir du M.C.D. Pour toute entité nous définissons une U.F. conversationnelle de mise à jour ou de consultation. Par mise à jour, nous entendons les opérations habituelles d'ajout, de modification et de suppression d'informations. Reprenons le M.C.D. traité dans ce cours :
A l'entité CLIENT correspond une U.F. de mise à jour :
Description des U.F. :
Pour chaque unité fonctionnelle (organisationnelle), il faut décrire :
Le
but (l'objectif, l'usage ou le résultat demandé par l'utilisateur).
La
périodicité (quotidien, hebdomadaire, trimestriel, ...).
Le
responsable.
Le
dessin d'U.F. (ci dessus).
Le
descriptif de traitement.
Les fichiers logiques permanents, les tables d'une base de données sont décrits une fois en dehors des descriptifs d'unités fonctionnelles, car ils sont utilisés dans plusieurs U.F.
Voyons maintenant la construction du dessin d'U.F. en lui-même.
On représente par des ovales tous les fichiers avec lesquels l'U.F.
doit être en relation. Ces fichiers correspondent aux tables logiques
du M.L.D. défini, c'est à dire aux entitiés et aux
associations porteuses. Ces fichiers sont reliés à l'U.F.
selon la façon dont ils sont exploités par l'.U.F. : en lecture,
en écriture ou en mise à jour (lecture/écriture).
On représente un écran si, pour le traitement de l'U.F., il
y a un besoin d'interactivité avec l'utilisateur. Ex
: pour créer un nouveau client, il faut rentrer ses coordonnées.
Il en sera de même pour les états imprimés si,
dans la gestion de l'U.F. il y a des documents à imprimer. Ex
: établir un listing des clients.
Pour bien illustrer la construction d'U.F.
voici celle qui correspond à la gestion des produits :
U.F. de gestion des produits.
But : traitement des produits.
Périodicité : tous les jours de 9h à 17h.
Responsable : Service commercial.
Descriptif : La saisie s'effectue sur le N° produit. La mise à
jour elle, sur le libellé du produit, le prix unitaire,
son code TVA et la quantité. Enfin l'édition
des catalogues de produits se fait par facture et/ou par magasins.
Le diagramme d'unité fonctionnelle est un dessin d'U.F. dont
les différents modules fonctionnels apparaissent distincts dans
le dessin, alors que dans le formalisme d'une U..F ils n'apparaissent que
dans le descriptif.
Une fonction n'est pas interruptible, c'est à dire qu'elle n'a pas
besoin d'attendre d'autres entrées, ou évènements
que ceux ayant provoqué le lancement du travail. Un module, en revanche
n'est pas sécable : un découpage plus fin n'aurait aucun
sens, au niveau de la compréhension externe (pour un utilisateur).
Un D.U.F. correspond à la description plus fine d'une unité
fonctionnelle. Ex : étudions la saisie
d'un prêt dans une bibliothèque.
L'emprunteur choisit un livre dans la bibliothèque, et se présente
à l'enregistrement du prêt de livre, voici ce qui pourrait
se passer :
Le
numéro de l'emprunteur est saisi, l'opérateur vérifie
à l'écran le nom et l'état de l'emprunteur : le nombre de
livres déjà empruntés, les dates de retour des livres
empruntés et pas encore rendus, ...
On
saisit ensuite le ou les numéro(s) de livres à emprunter.Si
tout est en ordre, le prêt est validé et les tables sont mises
à jour.
La construction d'un D.U.F. se fait, comme pour les autre modèles,
par touches succesives, c'est à dire qu'on essaie une solution,
et donc un découpage en modules fonctionnels, puis une autre, etc.
jusqu'à l'obtention d'une solution satisfaisante.
Pour chaque module, on note à côté des objets mémorisés
(fichiers, tables d'une base de données, ...), les rubriques nécessaires.
Celles-ci ne coïncident pas toujours avec les rubriques affichées,
car il peut exister des rubriques calculées, des constantes, les
dates système, ... qui ne sont pas dans l'objet utilisé.
L'ensemble des D.U.F. permet de vérifier le modèle des données
mémorisées, ou de le construire, car les D.U.F. donnent la
totalité des informations élementaires nécessaires
aux différentes tâches.
Ex : continuons avec l'exemple du prêt de livre. Nous définissons une exception E1 : il s'agit du cas où un emprunteur n'est pas en ordre (il n'est pas représenté dans le dessin par soucis de clarté, mais il faudrait le traiter ensuite). L'exception E2 correspond au cas où un livre ne peut pas être sorti de la bibliothèque. Voici le D.U.F. correspondant au scénario du prêt de livre :
D.U.F. Saisie d'un prêt
Pour les manipulations d'objets :
Une flèche vers la gauche représente une lecture.
Une flèche vers la droite représente une écriture (ou
une création).
Une double flèche représente la mise à jour d'une rubrique
d'une occurence déjà existante.
Ce formalisme peut aussi être utilisé dans une description organique, il faut alors être plus précis sur les accès aux tables, les contrôles, ... Il faut aussi envisager d'autres cas exceptionnels comme les N° livre ou N° emprunteur inexistants.