Systèmes D Information, Méthodes Avancées
Systèmes D Information, Méthodes Avancées
Systèmes D Information, Méthodes Avancées
2015
Systèmes
d’information,
Méthodes
avancées
• Support
de
cours
en
“Systèmes
d’information,
méthodes
avancées”
• Cours
dispensé
aux
classes
de
master
1,
option
“systèmes
d’informations
et
aide
à
la
décision”,
Départment
d’informatique,
Faculté
des
sciences
exactes
et
informatique,
Université
de
Jijel.
Ce support de cours contient en premier lieu l’ensemble des chapitres du cours, organisés
selon les étapes d’un processus de développement des systèmes d’information. Trois parties
annexes s’en suivent qui comportant les séries d’exercices, les interrogations et les examens
depuis l’année universitaire 2011-2012 jusqu’à l’année 2014-2015. Pour certaines séries
d’exercices, des corrigés-types ou indications sont donnés.
Ce document est, comme son nom l’indique, ne sert que de support et ne peut pas se
substituer au cours présentiel. Aussi, les séries d’exercices, les interrogations et les examens
peuvent être utilisées pour consolider la compréhension du cours et pour bien préparer les
futurs examens ou concours.
Ce cours détaille le processus Two-Track Unified Process (2TUP) lequel est basé sur le
processus unifié (UP) du développement des systèmes d’informations. Les références
principales de ce cours sont les deux livres UML en action et UML 2 en action de Pascal
Roques. Encore une fois, ces deux livres étant amplement détaillés, ne peuvent pas
directement remplacer ce cours vu le degré avancé de détail des livres, devant lequel
l’étudiant moyen risque de perdre les repères. Ainsi, ce support peut être vu comme un
résumé fournissant une vue synthétique et se concentrant sur l’essentiel.
Ce document, par vocation, se veut didactique. Tout au long des chapitres, un seul exemple de
la gestion du personnel d’une entreprise X est développé afin de permettre à l’étudiant de
mieux comprendre les concepts de chaque étape du processus de développement à travers un
cas pratique.
Le processus 2TUP est enseigné à l’université de Jijel depuis une dizaine d’années,
remplaçant ainsi la méthode Merise. Ce document, en plus de détailler ce processus et de
servir de support du module « systèmes d’informations, méthodes avancées », représente un
mini guide pour le développement des SI pour les étudiants en deuxième années de master
dans le cadre de leur projets de fin d’études. Il peut également servir de memento du
processus 2TUP pour les développeurs de petits systèmes d’information, étant donné que
beaucoup de détails inutiles pour le besoin d’enseignement ont été omis.
Ce support de cours est structuré en neuf (09) chapitres. Le premier chapitre reprend les
notions de bases nécessaires à la compréhension du processus 2TUP ainsi qu’à sa bonne
application. Les chapitres restants sont ordonnés selon les étapes du processus. Les annexes à
la fin du support regroupent l’ensemble des travaux dirigés, interrogations et examens ayant
accompagné l’enseignement du processus tout au long des quatre dernières années.
Les exercices ne sont malheureusement pas tous accompagnés de corrigés-types.
Enfin, et comme son nom l’indique, ce document étant un support de cours, il ne dispense pas
de la présence physique de l’étudiant, vu que beaucoup de concepts du processus ont besoin
d’être étayés avec davantage d’exemples.
1. Introduction
Un système d'information (SI) est un ensemble de moyens matériels, logiciels, humains pour
gérer l'information au sein de l'entreprise.
2. Concepts
préliminaires
2.1. Génie
logiciel
Le génie logiciel est une science de génie industriel qui étudie les méthodes de travail et les
bonnes pratiques des ingénieurs qui développent des logiciels [1].
1.1.1. Modèle
Un modèle est une abstraction de la réalité. Selon [2], « a data model is for a database
designer what a box of colors is for a painter: it provides a means for drawing
representations of reality ». Il s’agit de la représentation des éléments d’une réalité pour n’en
1.1.2. Méthode
Une méthode est un guide plus ou moins formalisé. Elle est constituée d’un ensemble de
concepts de modélisations qui sont mis en œuvre en suivant une succession chronologique
d’activité et en respectant un ensemble de règles.
Dans le domaine des SI, et selon Rambaugh [3], une méthode est un ensemble de règles et de
directives et se compose des éléments suivants
Il existe un plusieurs modèles de développement de logiciels, dont les plus connus sont :
• le modèle en cascade
• le modèle en V
• le modèle en spirale.
Il existe une multitude de méthodes de développement de SI. On peut classer ces méthodes
chronologiquement comme suit
• Années 90. les années 90 sont caractérisées par l’apparition du paradigme objet en
termes de méthodes d’analyse, puisqu’il existait depuis les années 60 en termes de
programmation.
Les concepts de l’orienté objet ont débuté dans la programmation. Par la suite, durant les
années 90, l’intérêt a été porté à ces concepts en matière de développement de systèmes
d’information pour l’entreprise. Un des concepts-clé de l’introduction de l’objet dans le
développement des systèmes étant la notion de réutilisation. En effet, la démarche objet
permet de fabriquer des composants réutilisables dans d’autres contextes similaires, ce qui
rentabilise l’effort du développement des SI.
Durant les années 90, on comptait déjà environ 50 méthodes différentes, mais les plus
distinguées sont les méthodes OMT (Rambaugh), BOOCH, et OOSE (Jacobson). La fusion
des trois méthodes ayant donné lieu en 1996 à UML, qui est soumise à l’OMG, et depuis,
UML est devenu une notation reconnue dans le développement des systèmes.
Le développement des systèmes suit un cycle de vie qui définit les étapes, leur enchainement,
et leur interdépendance. La diversité des méthodes a conduit à la diversité des cycles de vie
des systèmes orientés objet. Cependant, il a été ressorti trois phases principales
2.5. UML
1.1.4. Présentation
UML (Unified modeling language) est le résultat de la fusion, en 1996, de trois méthodes de
développement orientées-objet (OMT, OOD et OOSE). UML devient une spécification de
Booch 93 OMT 2
UML 1.0
UML 2.x
UML n'est pas une méthode, c'est un langage unifié qui offre un ensemble de diagrammes
représentant différentes vues du système à développer. UML n’a pas été accompagné d’une
méthode de développement pour respecter les spécificités des entreprises. Mais, une bonne
pratique de développement nécessite d’intégrer l’élaboration des modèles dans un processus
pour
Les efforts déployés pour fournir un processus accompagnant UML se sont soldés par la
proposition du processus unifié.
• Orienté utilisateur : il répond aux besoins métiers à travers les cas d’utilisation (use
cases). Le cas contraire est de développer un système générique qui ne tient pas
compte ni des spécificités de l’entreprise ni des besoins des utilisateurs.
Le processus unifié est une spécification générale qui a été implémentée par plusieurs
processus concrets (ex : 2TUP, RUP…). Le processus 2TUP (2-Track Unified Process) [8, 9]
est un processus respectant le modèle en Y du développement et qui sépare les aspects
techniques des aspects fonctionnels.
Remarque : les étapes du processus 2TUP sont précédées par une étape de prise de contact
avec le domaine et l’environnement de l’entreprise.
Dans ce cours, nous allons traiter les premières étapes de la capture des besoins jusqu’à la
conception détaillée.
3. Conclusion
Dans ce chapitre, nous avons rappelé la notion de système d’information et passé en revue les
différentes approches de développement des systèmes d’informations. Nous avons également
présenté l’approche orientée objet pour le développement ainsi que le processus unifié. Enfin,
nous avons introduit le processus 2TUP qui sera la base de ce cours.
1. Introduction
Les concepts de l’orienté objet ont débuté dans la programmation. Par la suite, durant les
années 90, l’intérêt a été porté à ces concepts en matière de développement de systèmes
d’information pour l’entreprise. Durant les années 90, on comptait déjà environ 50 méthodes
différentes, mais les plus distinguées sont les méthodes OMT (Rumbaugh), BOOCH, et
OOSE (Jacobson). Un effort d’unification des notations utilisées dans les méthodes objet ont
donné lieu en 1996 à UML, qui est soumise à l’OMG, et depuis, UML est devenu une
notation reconnue dans le développement des systèmes.
2. UML
• Résultat de la fusion, en 1996, de trois méthodes de développement orientées-objet
(OMT, OOD et OOSE). Devenu spécification de l’Object management group en 1997.
• Les versions actuelles d'UML sont notées UML 2.x.
• UML n’est pas une méthode au sens propre de méthode mais plutôt un ensemble de
notations graphiques (modèles) qui peuvent être utilisées par une méthode.
Dans ce cours, nous nous contentons de présenter le diagramme de classes qui, selon nous, est
l’un des diagrammes essentiels, notamment pour aboutir à un schéma de base de données
correct. Aussi, nous présentons le diagramme d’objets qui sert à valider le diagramme de
classes en amont et en aval. Le lecteur peut se référer à la documentation correspondant aux
autres diagrammes.
• Le concept d’objet
Il existe plusieurs définitions du concept d’objet mais elles sont convergentes. Nous adoptons
la définition suivante :
« Un objet est une entité abstraite ou concrète de la réalité. Un objet est caractérisé par un état
interne constitué des attributs et par un comportement qui représente l’ensemble d’opérations
qui permettent de changer l’état interne de l’objet ».
Exemple : objets concrets voiture 1727, personne 877,… objets abstrait : trajet 123,
processus A23B2, …
• Le concept de classe
Une classe d’objet représente une catégorie de plusieurs objets ayant la même structure. Un
objet représente l’instance d’une classe (dans un système à un seul niveau d’instanciation).
Par contre, une classe représente l’abstraction de plusieurs objets ayant la même structure.
Polycopié pédagogique en systèmes d’informations, méthodes avancées – D. Boukraâ- 2015
Chapitre 2 : Rappel sur l’objet et UML 16
Exemple : les classes correspondant aux objets de l’exemple précédent sont voiture,
personne, trajets, processus
Une classe est représentée graphiquement sous la forme d’un rectangle avec plus ou moins de
détail.
Voiture Personne
Marque Nom
Type Prénom
Voiture Personne Démarrer ()
Arrêter () Recruter ()
L’encapsulation d’un objet consiste à protéger l’état de l’objet (les attributs) en n’affichant
que les méthodes qui permettent de les modifier. Aussi, le code des méthodes est caché à
l’utilisateur externe à l’objet. Ceci permet de protéger les données d’un objet et d’en assurer
l’intégrité. Les fonctions présentées à l’utilisateur de la classe sont appelées interfaces.
• L’attribut
Un attribut est une propriété caractérisant une classe. Il est représenté dans la partie du milieu
dans la classe. Un attribut possède un type de données prédéfini ou défini par l’utilisateur.
Exemples de types de données prédéfinis : String, Int, Double, Float, Date, Booelan …
Exemples de types de données définis par l’utilisateur : T_couleurs pour l’attribut Couleurs,
tel que les valeurs permises soient vert, blanc, noir.
Personne
Nom : String
Salaire : Int
Un attribut peut avoir une valeur initiale et une valeur par défaut. Cela est spécifié par les
symboles = et # avant la valeur
Exemple : la figure suivante représente les valeurs initiales des attributs Salaire et Prime.
Personne
Nom : String
Salaire : Int = 10000
Prime : Int =#1000
Les classes UML ne respectent pas forcément la première forme normale, dans le sens où un
attribut peut être multivalué. Cela est représenté par les cardinalités (multiplicités d’attributs),
entre crochets. Les valeurs des multiplicités possibles sont 0 (pas de valeur) ; 1 (une valeur) ,
* (plusieurs valeurs).
Personne
Nom : String
Ages_enfants [0..*] : Int
La visibilité d’un attribut est définie par le spectre dans lequel l’attribut est visible dans
l’objet. Il existe trois visibilités
• public (+) : l’élément est visible pour tous les clients de la classe
• protégé (#) : l’élément est visible pour les sous-classes de la classe
• privé (-) : l’élément n’est visible que par les objets de la classe dans laquelle il
est déclaré.
Exemple : l’attribut Nom est public, l’attribut Salaire est protégé, par contre l’attribut Prime
est privé.
Personne
+ Nom : String
# Salaire : Int
- Prime
Les attributs peuvent être stéréotypés pour ajouter de nouvelles informations non prises en
charge par les éléments de modélisation d’UML.
Personne
Une opération (appelée aussi méthode) est un comportement de l’objet. Il s’agit d’une
fonctionnalité assurée par la classe. Une opération est désignée par un verbe et est suivie de
parenthèses. Une opération est caractérisée par son nom, la liste des paramètres (chaque
paramètre est décrit par son nom, son type et éventuellement sa valeur par défaut), le type de
résultat et ainsi que des propriétés indiquées entre accolades.
Exemple : on peut définir les opérations démarrer, arrêter et réparer pour une voiture.
Voiture
Matricule : int
Modèle : String
Marque : String
Démarrer ()
Arrêter ()
Réparer ()
Comme l’attribut, une opération peut avoir trois visibilités : protégée, publique et privée.
• public (+) : l’opération est visible pour tous les clients de la classe
• protégé (#) : l’opération est visible pour les sous-classes de la classe
• privé (-) : l’opération n’est visible que par les objets de la classe dans laquelle elle
est déclarée.
Exemple : l’exemple ci-dessous montre différentes visibilités des opérations sur une voiture.
Voiture
Matricule : int
Modèle : String
Marque : String
+ Démarrer ()
+ Arrêter ()
# Réparer ()
- Calcul_kilométrage ()
L’association
Il s’agit d’un lien entre des classes ou des objets. Dans certaines méthodes, on distingue entre
association entre objets et association entre classes. Sinon, l’existence d’une association entre
les objets suppose son existence entre leurs surclasses. Une association peut être caractérisée
par une multiplicité, des rôles, et peuvent être élaborées pour être des classes à part entière.
L’association la plus simple est binaire et lie deux classes. La terminaison d’une association
peut être désignée par un rôle.
Exemple : dans l’exemple suivant, nous associons une personne à une société dans le sens
que la personne travaille au sein de la société.
Société Personne
Exemple : la figure suivante illustre une association employé employeur entre des personnes
et des sociétés.
Exemple : dans l’exemple suivant, on ne peut connaître les personnes travaillant dans une
société mais on ne peut pas connaître la société dans laquelle travaille chaque personne.
Société Personne
Produit Commande
Ligne commande
Quantité
prix
Exemple : l’exemple ci-dessous représente une association ternaire entre trois classes.
Adhérent Livre
Date
Dans certains cas, il est possible de découper une association n-aires en n-1 associations
binaires. L’association sera dans ce cas une classe liée à chaque classe qui participait dans la
relation. La décomposition d’une association n-aire peut simplifier la lecture d’un diagramme
de classes, mais peut se traduire par la perte de la sémantique voire la perte de la l’intégrité de
Exemple : la classe Prêt suivante est le résultat de la décomposition d’une association ternaire
entre adhérent, livre et a
Adhérent Livre
Prêt
Date
L’agrégation traduit un relations de type composant /composé entre deux classes. Il s’agit
d’une relation transitive et antisymétrique. L’agrégation est représentée par un losange du côté
de l’agrégat. L’agrégation peut utiliser les multiplicités.
Exemple : la figure suivante illustre deux agrégations entre direction et sous-direction d’une
part et sous-direction et service d’autre part.
La composition est un type particulier d’agrégation dans lequel la classe composant n’a pas
d’existence indépendante de l’existence de ses composants. Il s’agit souvent de composition
physique. La composition est représentée par un losange noir.
Exemple : la figure suivante illustre une composition entre Livre et Introduction, Chapitre et
Conclusion.
Livre
Employé
Le diagramme d'objets, permet de représenter les instances des classes, c'est-à-dire des objets.
Il exprime les relations qui existent entre les objets, mais aussi l'état des objets. Il est moins
général que le diagramme de classes.
Tout au long de la présentation des concepts d’UML, un ensemble de concepts est utilisé de
manière transversale aux diagrammes. Ces concepts sont décrits dans ce qui suit.
2.3.1. Stéréotype
Un stéréotype UML permet d’étendre les éléments de modélisation d’UML pour répondre à
des besoins spécifiques de modélisation. Un stéréotype exprime le fait d’une classe par
exemple soit l’instance d’une méta-classe définie par l’utilisateur.
Exemple : On peut stéréotyper les classes Fournisseur et Client comme des Partenaires.
Client Fournisseur
<<partenaire>> <<partenaire>>
Une contrainte exprime une relation ad-hoc entre deux éléments de modélisation ou plus. Elle
est spécifiée entre {} et peut être écrit en langage naturel, en pseudo-code ou dernièrement, en
utilisant un langage de formalisation des contraintes OCL.
Exemple : on peut exprimer la contrainte de valeur sur un attribut prix sous la forme de
{prix>0}.
2.3.3. Note
Appelée aussi commentaire, il s’agit d’un texte qui décrit, en langage naturel un élément de
modélisation.
Client
Décrit les clients de l’entreprise
2.3.4. Paquetage
Exemple : l’exemple suivant illustre trois paquetages avec leur contenu en termes de classes.
2.3.5. Dépendance
Une dépendance entre des paquetages afin d’exprimer le fait qu’un élément d’un paquetage
utilise un élément ou plus d’un autre paquetage.
Clientèle Ventes
Production
4. Conclusion
Dans ce chapitre, nous avons présenté la panoplie des diagrammes d’UML tout en mettant
l’accent sur le diagramme de classes. Cependant, ce cours n’étant pas dédié à UML, il
appartient à l’étudiant de compléter ses connaissances sur les diagrammes UML ou de réviser
les connaissances acquises dans le cursus de licence. Les chapitres suivants sont consacrés
aux étapes du processus 2TUP et le cheminement du cours suit l’enchainement des étapes du
processus.
Polycopié pédagogique en systèmes d’informations, méthodes avancées – D. Boukraâ- 2015
Chapitre 3 : Etude préliminaire
1. Introduction
L'étude préliminaire permet de recueillir des informations initiales sur le système. Il s’agit
dans cette phase de définir le contour du système, les différents acteurs, ainsi que les
messages d’interaction entre les acteurs et le système.
Le nouveau système à placer doit satisfaire un ensemble de besoins. On distingue deux types
de besoins :
Remarque : les besoins métier et opérationnels sont exprimés par les utilisateurs du système.
Cette expression ne doit pas sous-entendre nécessairement les solutions (informatiques) pour
répondre aux besoins.
Le projet est à réaliser dans l’entreprise X, en particulier le service des ressources humaines.
Le système à développer doit répondre aux besoins fonctionnels suivants :
§ Centraliser les informations des employés en une seule base de données et ainsi éliminer le
risque d’incohérence.
§ Réduire le nombre d’exemplaires de certains documents.
§ Automatiser les tâches de gestion du personnel qui sont les suivantes : inscription des
informations de base, gestion des absences, ajouter un employé, consulter et modifier leurs
informations, supprimer un employé, noter un employé, saisir la fiche de pointage, ajouter
et consulter les absences (gérer l’assiduité), qualifier un employé, gérer les congés, gérer
les sanctions, gérer la dégradation, gérer la promotion, réintégrer un employé, gérer les
arrêts du travail et la fin de carrière d’un employé.
• l’administrateur est la seule personne autorisée à définir et modifier les mots de passe
Un acteur est représenté par le symbole auquel on peut associer son rôle par rapport au
système sous la forme d’une note UML. On peut aussi définir une hiérarchie des acteurs.
Erreurs à éviter
L’identification du contour du système est parfois difficile et les deux erreurs à éviter sont les
suivantes :
• Impliquer des acteurs indirects qui n’ont pas d’interaction directe avec le système.
• Identifier des composants du système en tant qu'acteurs.
Polycopié pédagogique en systèmes d’informations, méthodes avancées – D. Boukraâ- 2015
Chapitre 3 : Etude préliminaire 28
Autres système
Exemple : la fiche ci-dessous illustre les messages entre le système et l’agent administratif.
- Le système qu’on va appeler SGP envoie les informations suivantes (liste non exhaustive): les
informations des employés, la liste des employés, la liste des formations, les liste des employés
sanctionnés, les employés candidats aux promotions, aux avancements en échelons
- Par contre, il reçoit les informations suivantes (liste non exhaustive): les informations détaillées de
chaque employé, les affectations, formations, sanctions…
6. Conclusion
Dans ce premier chapitre, nous avons abordé le processus 2TUP par la présentation de la
première étape. Pour illustrer cette étape, nous avons présenté un cas fictif d’une entreprise X
qui veut mettre en œuvre un système de gestion du personnel. Cette première étape permet de
définir le contour du système, d’identifier ses utilisateurs ainsi que les messages qu’ils
envoient ou reçoivent à partir du système. Le chapitre suivant est consacré à l’étape de
capture des besoins fonctionnels.
1. Introduction
Par besoins fonctionnels on désigne l’ensemble des besoins liés au métier et domaine traités
par le système, par opposition aux besoins technique, que nous verrons dans le chapitre
suivant. Aussi, il faut se détacher à cette étape des besoins en interaction homme-machine
(IHM) qu’il est toutefois possible d’intégrer dans d’autres étapes. Les étapes de capture des
besoins fonctionnels sont décrites dans ce qui suit.
L’erreur à éviter est de descendre trop bas dans l’identification des cas. Le cas d’utilisation ne
doit pas être réduit à une seule transaction (dans le sens de manipulation informatique : ajout,
modification, suppression). Il doit plutôt décrire une intention de l’acteur vis-à-vis du système
en termes de changement d’état global et de bénéfice métier.
Exemple de description textuelle d’un cas d’utilisation : la fiche ci-dessous décrit brièvement le cas
d’utilisation suivi de la fiche de l’employé.
Responsable
Agent de Personnel
administratif Suivi de
Suivi de carrière
l’assiduité
Sommaire d’identification
Titre du cas d’utilisation : le nom du cas d’utilisation
But : l’intention ou valeur ajoutée attendue de l’exécution du cas
Résumé : un bref résumé du cas
Acteurs : l’acteur principal et les éventuels acteurs secondaires
Date de création : date de création du cas Date de mise à jour : date de la dernière MAJ
Version : version actuelle Responsable : créateur du cas ou responsable
Sommaire d’identification
Précondition :
- l’agent authentifié
- les informations à ajouter au système visées par le responsable du personnel
Enchaînements
Ce cas commence lorsque l’agent administratif reçoit les informations d’un employé nouveau ou
existant.
[Exception 1 : l’employé avec le même nom et prénom existe déjà] : dans ce cas, l’agent vérifie s’il
s’agit bel et bien du même employé ou d’un homonyme. Dans le premier cas, l’ajout est annulé. Dans
le second cas, l’employé est ajouté.
Postcondition
- Diagramme de collaboration : son pouvoir d’expression par rapport aux cas n’est pas
aussi élevé que celui des diagrammes de séquence et d’activité.
Organisation des cas d’utilisation
A cette étape, on identifie les éventuelles relations entre les cas d’utilisation (inclusion,
extension, généralisation/spécialisation).
Les relations d’inclusion sont identifiées par factorisation des traitements communs à
plusieurs cas. Un exemple de cela est l’authentification requise pour chaque acteur avant le
début de toute utilisation du système.
Les cas d’utilisation définis comme extensions à d’autre cas regroupent des traitements
optionnels ou répondant à des conditions spécifiques. Un exemple de cela est l’extension de
l’ajout d’une commande par l’ajout de produits.
Ce type de relation est identifié lors de l’existence de traitements spécifiques ou modifiés d’un
cas ou de plusieurs cas par rapport à un traitement normal.
Exemple : la classe véhicule permet de (1) connaître ses caractéristiques, connaître son
propriétaire et connaître sa disponibilité. Graphiquement, on représente cela comme suit.
Responsabilités
Véhicule - connaître ses caractéristiques
- connaître son propriétaire
- connaître sa disponibilité
Une responsabilité peut contenir dans sa description les attributs de la classe, les opérations,
mais aussi les associations. Cependant, lorsque deux responsabilités de deux classes donnent
lieu à deux associations identiques, il faut représenter une seule association entre les deux
classes.
Le diagramme de classes issu de chaque cas d’utilisation est appelé « diagramme de classes
participantes ». A ce niveau là, on ne doit pas chercher l’ensemble exhaustif des classes, car
d’autres classes peuvent réapparaître plus tard.
Cas d’ut. 1 X
X
... X X
Cas d’ut. n X
Naturellement, l’analyse de ce tableau doit permettre de s’assurer que toutes les exigences du
système sont prises en charge avec le cas d’utilisation. Faute de quoi, il faudra revenir sur les
étapes précédentes autant de fois que nécessaire.
11. Conclusion
Ce chapitre a été consacré à la première étape réelle du processus 2TUP qui est l’étude
préliminaire. Cette étape permet de traduire les besoins fonctionnels recensés dans l’étude
préliminaire sous la forme de cas d’utilisation. C’est durant cette étape qu’on fait le passage
être une expression en langue naturelle de ce que les utilisateurs veulent fonctionnellement et
la manière de répondre à ces besoins. L’étape suivante est similaire à la capture des besoins
fonctionnelle quoiqu’il soit possible de ne pas l’entamer qu’près avoir terminé les étapes de la
branche gauche. Néanmoins, il est préférable de la présenter juste après la capture des besoins
fonctionnels.
1. Introduction
La capture des besoins techniques traite la spécification logicielle et matérielle du système.
Elle s’oppose ainsi à la spécification métier et fonctionnelle. Cette étape est du ressort des
architectes techniques du système. Au préalable de cette étape, les architectes doivent
disposer de minimum d’informations techniques, telles que l’environnement de
développement, le matériel…Les étapes à suivre sont décrites dans ce qui suit.
LAN
Serveur * PC Direction
3. Spécification
d’architecture
En plus de la spécification matérielle, on procède à la spécification logicielle permettant de
satisfaire l’architecture de fonctionnement choisie (par exemple Client / Serveur). Les
éléments de spécification logicielle sont les suivants :
o Composant d’exploitation
o Composant métier
Les composants métiers correspondent à des composants logiciels qui ont une vocation
métier, et fournissent des services métier. Les composants métiers conviennent aux
architectures 3-tiers, dans lesquelles un middleware applicatif d’interpose entre les serveurs
de bases de données et les clients.
Un exemple de composants métier sont les classes qui traversent plusieurs métiers de
l’entreprise. Par exemple la classe Produit peut être utilisée pour les métiers Production,
Clientèle, Vente…
<<SGBD>> <<Application>>
o L’exploitant : il s’agit d’un acteur du système au sens UML, qui bénéficie des
services techniques du système. L’utilisateur classique d’une application est
dans ce sens un exploitant car il bénéficie au moins du service de connexion à
l’application.
o Le cas d’utilisation technique : tout comme les cas d’utilisation métier, les cas
d’utilisation techniques sont spécifiques à chaque système. Toutefois, il est
possible d’identifier, dans un premier temps, les cas les plus récurrents, comme
la connexion au système, l’utilisation de l’aide, le débogage, le changement de
mots de passe.
Consulter l’aide
Se connecter
Administrateur
Utilisateur
Définir les mots de passe
Définir les droits d’accès
Déboguer
Une couche logicielle définit un niveau contenant des spécifications logicielles homogènes.
Les couches sont empilées les unes sur les autres. Cela est similaire aux couches réseaux du
modèle OSI, dans le sens ou chaque couche offre des services à la couche adjacente.
Dans le cas d’un mode de fonctionnement client/serveur, les couches utilisées sont les
suivantes : Présentation, Application, Métier, Accès aux données et Stockages de données. Un
cas d’utilisation de l’exploitant entrainera une cascade d’actions (qu’on peut considérer
comme des cas d’utilisation technique inter-couches) qui sont reparties sur les différentes
couches. D’autres modèles de spécification logicielle peuvent être spécifiés comme le modèle
MVC.
6. Conclusion
Dans ce chapitre, nous avons présenté la capture des besoins techniques qui permet de
traduire les besoins opérationnels de l’étude préliminaire en cas d’utilisation techniques.
Aussi, cette étape permet de traduire les besoins matériels et logiciels des utilisateurs en
modèles de spécifications matérielle et logicielle, représentant la première ossature de la
solution informatique qui sera détaillée dans les étapes suivantes.
1. Introduction
L’étape d’analyse est entamée à la suite de l’étape de capture de besoins fonctionnels. A la
différence avec les approches classique (ex : Merise), l’analyse cible le système futur plutôt
que le système existant. Elle est située sur la branche gauche du processus 2TUP.
- la cohérence des classes : dans le sens ou les classes sont liées sémantiquement
- l’évolution : en regroupant les classes a fort degré d’évolution ensemble et vice-versa
- la durée de vie des objets : on regroupe des classes dont les objets ont des durées de
vies proches
- la dépendance entre les classes : la notion de dépendance est décrite plus loin
Exemple : dans le système de gestion du personnel, on peut identifier les catégories suivantes
(un autre découpage est possible selon d’autres critères).
Exemple :
« Category
»
+Congé « Category
+Position »
+Fonction
+Aff_fonction
« Category » +Service +Aff_service
Employé
+Employé « Category
+Type
« Category »
»
+Diplôme
Carrière
+A_diplome + Date
+ Section
+Grade
+ Sanction
+ Formation
L’analyse de près des classes a pour objectif d’éliminer les anomalies. Ces anomalies se
manifestent sous plusieurs formes :
Redondance, Classes à la place de rôle, Classe représentant des acteurs, Classe techniques (de
conception), classe de groupes ou listes d’objets et classe grosses. D’autres concepts de
modélisation sont à vérifier : multiplicités, navigabilité, associations ayant le sens
d’agrégation ou de composition.
Aussi, il est possible d’ajouter des contraintes aux extrémités des associations, comme les
contraintes d’ordre, d’ajout / suppression d’instance…ainsi que des stéréotypes aux classes et
aux liens.
Les attributs doivent être analysés pour en éliminer ceux qui traduisent des rôles. Aussi, on
peut, pour expliciter des contraintes entre des propriétés, ajouter des attributs dérivés, en les
faisant précéder du symbole /. Un attribut dérivé peut être calculé à partir des attributs de la
même classe ou de classes différentes associées. Aussi, on prévoit à cette étape les attributs
jouant le rôle de qualificatifs.
Ajout de contraintes : outre les règles de calculs, le diagramme d’association peut être enrichi,
à ce niveau par des contraintes. Exemple, on peut exprimer la contrainte {date de recrutement
La notion de scénario découle du fait que les enchaînements d’un cas d’utilisation ne sont pas
exécutés tous à la fois, quoique l’ensemble des enchaînements constitue le cas complet.
Erreur
- Les scénarios nominaux : il s’agit de scénarios qui permettent d’atteindre la fin du cas
(et en conséquent réaliser la post-condition) de manière naturelle.
- Les scénarios alternatifs : il s’agit d’enchainement qui aboutissent à la fin du cas
mais dans des situations rares car il s’agit d’alternatives en face à des exceptions du
traitement normal.
- Les scénarios aux limites : ces scénarios définissent les limites d’exécution du cas de
telle sorte qu’une autre exécution du cas provoquerait une erreur.
- Les scénarios d’erreur : il s’agit de sortie anormales du cas d’utilisation qui n’aboutit
pas aux post-conditions.
- création de l’employé
- affectation d’un diplôme
- consultation des informations sur un employé
- scénarios aux limites : affectation du dernier chauffeur à une livraison dans la gestion
des commandes
- scénarios d’erreur : non validation de l’ajout de l’employé à cause de doublons dans
les noms et prénoms de l’employé
La notion de message est centrale dans la formalisation d’un scénario car un message est
l’élément échangé entre les objets (y compris les acteurs). Un message est une spécification
de communication entre les objets. Cette communication englobe l’ensemble des paramètres
valorisés passés de l’émetteur vers le récepteur. Il existe deux catégories de messages :
- Messages destinés à un groupe d’objets : dans certains cas, il est possible concerne
plusieurs instances d’objets. Par exemple, lors de l’affectation des diplômes à un
employé, plusieurs instances de diplômes sont concernées.
- Messages de création / destruction d’objets : les instances auxquelles sont destinés les
messages ne sont pas initialement pré-existant. Dans ce cas, un message particulier
permet de créer l’instance. Cette opération peut être spécifiée par le stéréotype
« create ». De même, un envoi de message peut être la destruction d’une instance
d’objet.
Les diagrammes qui interviennent dans la formalisation des cas d’utilisation sont les quatre
diagrammes vus dans la partie une du cours, à savoir le diagramme de séquences, le
diagramme de collaboration, le diagramme d’états-transition et le diagramme d’activité. Ci-
- Diagrammes d’états-transitions
- Diagrammes de séquences
- Recommandé.
- Utiliser des notes pour spécifier les exceptions. Les notes peuvent être
dessinées en marge et au même niveau que la flèche décrivant l’exception
- Utiliser les auto-messages sous la forme de flèche réflexive partant et revenant
au même couloir de l’objet en question.
5. Conclusion
L’analyse est une étape importante qui permet de développer les modèles statiques
(diagrammes de classes) et les modèles dynamiques (diagramme des cas d’utilisation). Pour le
modèle statique, il s’agit de corriger les anomalies avant de compléter les diagrammes dans
les étapes suivantes. Pour le modèle dynamique, le système est remplacé par l’ensemble des
classes manipulées par le cas d’utilisation. Dans le chapitre suivant, nous basculerons encore
une fois vers le côté droit du processus afin d’aborder la conception générique du système.
1. Introduction
La conception générique consiste à développer la spécification technique proposée durant la
capture des besoins techniques tout en restant indépendant des besoins fonctionnels. Dans ce
qui suit, nous décrivons les éléments de base nécessaires à la construction des modèles de la
conception générique.
La notion de framework découle du fait que généralement une classe technique n’est pas
utilisée seule, mais dans un ensemble de classes. Ce regroupement de classes techniques est
appelé framework. Associé à la notion de framework est la notion d’interface. Une interface
définit un ensemble d’opérations abstraites qui définissent les services offerts par une classe
ou par un composant.
Une interface est réalisée (ou implémentée) pour donner lieu à des classes concrètes. Un
ensemble d’interfaces interdépendantes définit un framework abstrait. Par contre, un
ensemble d’interfaces concrètes définit un framework concret.
Les classes techniques et frameworks sont définis selon le modèle de couches logicielles
adopté durant l’étape de capture des besoins techniques. Si on reprend le modèle à 5 couches,
on retrouve les couches suivantes avec les différents objets qui peuvent y figurer :
Cette couche contient les objets (et donc les classes) nécessaires à la présentation. On y trouve
les concepts fenêtre, panneau, bouton, …
Dans cette couche, on retrouve les objets métier avec les règles de gestion associés. On y
retrouve les concepts d’objet métier, objet composite …
A ce niveau, on prévoit des objets qui gèrent l’accès aux données. On peut à ce niveau prévoir
une classe technique qui récupère les données pour chaque classe métier comme l’employé,
les diplômes, …et une classe Tuplet qui porte les valeurs d’une ligne d’une table physique.
Exemple : prenons l’exemple de gestion des droits de lecture/écriture des utilisateurs dans des
tables du système. Chaque utilisateur peut avoir trois droits : lecture, écriture et
lecture/écriture. On peut définir ce besoin à différents niveaux de spécification
Droit_d’acces
Caractéristiques Droit
Utilisateur 1 *
Par contre, au niveau de la couche de stockage, on trouvera trois tables relationnelles (si le
Polycopié pédagogique en systèmes d’informations, méthodes avancées – D. Boukraâ- 2015
Chapitre 7 : Conception générique 50
choix physique porte sur le modèle relationnel): utilisateur, table_app et utilisateur_droit qui
recense les droits de chaque utilisateur sur chaque table.
Métier Sécurité
Sauvegarde périodique
<<framework technique >>
Accès aux <<framework technique >>
Pour reprendre l’exemple du système SGP, il s’agit d’inclure les composants nécessaires à la
sécurisation de l’application et aux opérations de sauvegarde. Le cas de la sécurité nécessite
de reposer sur un composant de base de données du même type que celui qui gère les données
métier, tout en partageant le même composant qui représente le moteur de base de données.
Pour la sauvegarde, s’il l’on opte pour une sauvegarde sur un fichier externe, le composant
d’exploitation « fichier » apparaitra. Nous aurons ce schéma illustratif des composants
d’exploitation.
<<fichier script>>
Fichier de sauvegarde
<<Instance BDD>>
<<moteur de BDD>> Base de données des
Serveur BDD SGP droits d’accès
7. Conclusion
La conception générique est une étape importante dans laquelle les classes techniques du
système sont développées, et ce, malgré que, de nos jours, les environnements de
développement clé en main implémentent directement ces classes. La conception générique
permet de détailler le modèle de spécification logicielle en détaillant les classes techniques qui
serviront pour la conception des classes d’analyse. Ces classes sont alors organisées en
paquetages appelés frameworks techniques correspondant à chaque couche du modèle logiciel
choisi. En outre, des frameworks supplémentaires peuvent s’ajouter au modèle logiciel pour
prendre en charge des aspects spécifiques du système tels que la sécurité, l’archivage, etc
1. Introduction
La conception préliminaire consiste à tenir compte des besoins exprimés dans la phase de
capture des besoins fonctionnels dans la conception du logiciel. Il s’agit donc d’adapter la
conception générique en terme de modèle de composants et de configuration logicielles aux
métier et domaine du système à développer. La conception préliminaire est une première
étape de la fusion qui sera suivie par le détail de conception plus tard (chapitre suivant). La
conception préliminaire passe par les étapes décrites ci-après.
Exemple : dans le système SGP, dans un déploiement client serveur, on peut prévoir deux
postes de travail qui correspondent au responsable de personnel et à l’agent administratif.
Aussi, le nœud « serveur » permet de stocker et gérer les données.
Poste
responsable
Serveur de base de
données
Poste agent
admin.
Le point de départ pour l’identification des applications est le regroupement des cas
d’utilisation effectué durant l’étape de capture des besoins. Dans certains cas, un groupe de
cas d’utilisation peut être affecté à un poste de travail. Ce poste de travail se verra assigner
alors l’application qui réalise l’ensemble de ces cas d’utilisation. Par contre, on peut aussi
trouver la situation où un cas d’utilisation est partagé entre plusieurs applications car exécuté
par plusieurs acteurs sur des postes de travail différents.
Suivi des
formations
Responsable
Agent de Personnel
administratif Suivi de
Suivi de carrière
l’assiduité
Gest_CC
Exemple : dans le cas du système SGP, on peut distinguer la catégorie Employé qui peut être
utilisée qui est partagée entre les deux applications voire avec plusieurs applications qui
seront centrées sur l’employé plus tard. De ce fait, on peut ressortir le composant Employé
comme composant métier à part. Les autres catégories donneront lieu chacune à un
composant métier. En ce qui concerne la base de données, l’architecture du système étant en 2
tiers, une seule instance de base de données suffira. Le schéma suivant illustre le modèle
d’exploitation comportant des composants métiers. Ici, le composant Employé est partagé et
est constitué d’une seule catégorie d’analyse. Par contre, les composants Gest_CC et
Gest_FFA ne sont pas partagés.
<<Application>> <<Application>>
Gest_CC Gest_AP
<<Composant distribué>>
Employé
<<Instance de BDD>>
BDD SGP
Exemple : dans le cas de SGP, le seul composant distribué étant Employé. Ce composant
contient une catégorie qui contient pour sa part sept classes. Chaque classe donne lieu à une
Par interface, nous signifions les interfaces de présentation des applications par opposition
aux interfaces objet. La définition des interfaces objets peut être prévue dès l’étape de capture
de besoins fonctionnels et étape d’analyse, mais c’est à ce niveau là que les maquettes
peuvent être dessinées et distribuées sur les applications. La définition des interfaces liées aux
applications permet, plus tard, d’identifier les objets de la couche présentation. Les IHM
peuvent être décrits textuellement dans un tableau comme illustré dans l’exemple suivant du
système SGP pour l’application SGP_FP. La liste n’est pas exhaustive.
Exemple : la sélection d’employés est utilisée à chaque fois qu’on veut faire un traitement à
un employé. Les classes nécessaires à cette sélection (niveau application et application)
peuvent être isolées en sous-système. Aussi, les catégories d’une même catégorie d’analyse
relevant des couches application et présentation sont souvent associées car généralement, ces
deux couches ne sont pas isolées.
7. Conclusion
L’étape de conception préliminaire constitue le premier point de rencontre entre la branche
fonctionnelle et la branche technique du processus 2TUP. Dans cette étape, le modèle de
configuration matérielle donnera lieu au déploiement des postes de travail. Aussi, le modèle
d’exploitation est concrétisé par l’identification des applications de découpage du système et
les composants distribués. Les aspects d’interface sont également traités par l’énoncé des
interface homme machine de chaque application.
1. Introduction
L’étape de conception détaillée est la dernière étape avant le codage. A cette étape, on
commence à raffiner les choix de conception en incluant les spécificités du langage ou
environnement de développement. Les étapes de conception détaillées sont présentées dans ce
qui suit.
La conception détaillée des classes est relativement systématique, cas les concepts de
l’orienté-objet trouvent leur équivalence au niveau des langages de programmation, comme
Java. Cependant, certains concepts ne sont pas explicités dans certains langages de
programmation.
Lorsque le concept d’association n’est pas pris en charge par le langage de codage, il convient
de procéder à la transformation de l’association. Cette transformation dépend du type et des
multiplicités de l’association.
Exemple : soit les classes représentées par le diagramme ci-dessous et la transformation qui
lui est associés.
C1
C1
* *
Role1 : C2
Role1 1 *
C2 C3 Liste_C3 :Vector<C3
>
Le passage du modèle objet au relationnel suit un ensemble de règles illustrées dans le tableau
suivant :
4. Conclusion
La conception détaillée représente la dernière étape de conception qui précédé le codage et les
tests. C’est durant cette étape que le modèle statique sera détaillé. Il s’agit de concevoir les
classes selon l’environnement de mise en œuvre (développement sous Java, par exemple) et
d’affiner le contenu des classes en termes d’attributs et d’opérations.
Ce support reste ouvert aux améliorations. Les critiques peuvent être destinées à l’auteur à
travers le site Web du master SIAD de l’université de Jijel. Aussi, les quatre années
d’enseignement de ce module ont permis de déceler les parties délicates qui nécessitent plus
d’explications lors des séances de cours et plus d’attention au niveau du support de cours.
Références bibliographiques
Références bibliographiques 62
[1] https://fr.wikipedia.org/wiki/G%C3%A9nie_logiciel
Le médecin tient un registre des visites sur lequel il note toutes les visites effectuées. Les
visites sont numérotées séquentiellement. Le médecin tient aussi une fiche de chaque patient
où il note le nom de ce dernier, son prénom, son sexe, sa date de naissances, les éventuelles
allergies, les antécédents familiaux ainsi que les visites effectuées. Lorsque le patient se
présente pour la première fois, on lui créé une nouvelle fiche. Cette fiche permet le suivi de
près de chaque patient et elle est constamment modifiée pour ce qui est des informations
générales ou des informations de suivi médical. Pour chaque visite, le médecin note sur le
registre des visites la date, le nom et prénom du patient, le type de la visite (consultation ou
contrôle). Il note également les différentes mesures effectuées (tension, poids, etc.). Une visite
de type consultation est caractérisée par la constatation faite par le médecin sur l’état de santé
du patient (diagnostic, symptômes, etc.). Pour une visite de type contrôle, on note l’évolution
de l’état de santé du patient (état avant, état après).
Chaque visite donne lieu à une éventuelle prescription médicale. En plus du nom, prénom et
âge du patient, la prescription contient l’ensemble des médicaments avec, pour chaque
médicament, la quantité et le mode de prise (posologie, fréquence de prise, durée, etc.).
Travail à faire
1
Le fonctionnement décrit ici est partiel. La gestion des payements n’est pas prise en compte.
• Le diagramme de classes
• Diagramme d’états-transitions
La classe concernée par des changements d’état est la classe RDV. Le diagramme d’états-
transitions est le suivant :
La bibliothèque Kitabi est spécialisée dans le prêt de livres de différents types (livres
scolaires, histoire, géographie, sport, etc.). Chaque année, le bibliothécaire dresse la liste des
livres à acheter auprès des fournisseurs. Une fois les livres acquis, le bibliothécaire se charge
de les classer selon le type, de leur affecter les côtes et de les ranger dans les rayons. Une fois
les livres rangés, ils peuvent être prêtés. La bibliothèque prête les livres à des adhérents (prêts
externes) ou permet la consultation interne pour les adhérents et pour les non adhérents sur
présentation de la carte d'adhésion ou d'une pièce d'identité. Les agents de prêts, au nombre de
La bibliothèque est chapeautée par un directeur qui veille à son bon fonctionnement. Aussi,
par souci de sa modernisation, il vous sollicite afin de lui mettre en place un système
d'information pour gérer sa bibliothèque. Le directeur vise à travers le système d'information à
faire connaître sa bibliothèque au grand public en permettant à toute personne de consulter par
Internet la liste des livres et leur disponibilité. Il souhaite que cette consultation soit également
possible à l'intérieur de la bibliothèque en déployant des ordinateurs dans le hall. Ainsi, une
fois qu'un adhérent ou personne externe aurait identifié le livre souhaité et vérifié sa
disponibilité, il s'adresse à l'agent qui effectue le prêt en le notant sur machine. On voudrait
qu'un adhérent puisse réserver un livre indisponible et d'annuler la réservation. Aussi, on veut
renforcer la gestion en sanctionnant automatiquement les retardataires dans les restitutions (ne
pas permettre le prêt jusqu'à la fin de la période de sanction).
Par ailleurs, la recherche de livres ne requiert pas d'authentification. Par contre, pour pouvoir
gérer la réservation d'un livre, l'adhérent doit s'authentifier avec un nom d'utilisateur et mot de
passe. L'attribution des login /mot de passe est du ressort des agents lors de l'ajout de
l'adhérent au système ou du renouvellement d'adhésion. Un mot de passe aléatoire est donné à
l'adhérent à la fin de son inscription. Cependant, ce dernier doit être en mesure de modifier
son mot de passe. Dans le cas de perte du mot de passe, l'adhérent s'adressera à l'agent de prêt
pour le lui réinitialiser. De même, afin de garder une trace des opérations de prêts, chaque
agent doit s'authentifier pour pouvoir gérer les prêts. L'attribution des coordonnées de
connexion au système pour les agents revient au bibliothécaire. Le principe de changement et
réinitialisation des mots de passe des agents est le même que celui des adhérents.
Le souci de satisfaction des adhérents et consultants est majeur, surtout par rapport à la
disponibilité des livres. Pour cela, le bibliothécaire suit la gestion des prêts pour connaître les
livres trop demandés, les titres souvent demandés mais indisponibles (à travers l'historique
des recherches), les livres au nombre insuffisant d'exemplaires et ce, pour planifier les achats
de livres. A un autre niveau, le directeur de la bibliothèque souhaite suivre l'évolution de
l'activité de sa bibliothèque à travers différentes mesures (évolution du nombre d'adhérents,
taux de renouvellement des adhésions chaque année, taux de prêts de livres, etc.).
Travail demandé
Corrigé de la série 2
o Besoins fonctionnels
§ Gestion des adhérents (ajouter les adhérents, renouveler les adhésions, …)
§ Gestion des prêts (ajouter les prêts, prolonger les prêts, restituer les livres,
Modélisation du contexte
3 Livres recherchés
4 Informations sur les livres et leurs disponibilités
5 Informations de réservation (livre, date de
réservation) – annulation de réservation
6 Informations sur les adhérents – informations sur
les prêts et restitutions – informations sur les
comptes d’utilisateurs
7 Adhérents sanctionnés, informations détaillées
sur les prêts
8 Taux de renouvellement, taux de prêt de livres
5. Illustrer l'activité de prêt d'un livre par un diagramme d'activités, ensuite par un
Reprendre la description du cas de la bibliothèque kitabi (série n°2) et faire le travail suivant
Exercice 2 : Analyse
1. A partir des classes identifiées dans les diagrammes de classes participantes dans la
série 3, procéder à un découpage en catégories et illustrer les dépendances entre
catégories par un diagramme de packages ;
2. Pour le cas d'utilisation gestion des prêts
Travail demandé : il est demandé pour chacun des cas ci-haut, d'
Corrigé type du TD 1
Exercice 1 :
• besoins fonctionnels
• besoins techniques
Exercice 2 : Vidéothèque
1.besoins fonctionnels :
2.besoins techniques
Exercice 3 :
−besoins fonctionnels
−besoins techniques
Nous avons identifié les cas d'utilisation fonctionnels suivants : (1) Gestion des prêts de films,
(2) Consultation de la liste des films
Nous avons identifié les cas d'utilisation fonctionnels suivants : (1) Ajout d’opération, (2)
Ajout d'entrée en caisse, (3) Ajout de sortie de caisse, (4) Consultation du solde de la caisse,
(5) Consultation du montant restant à payer.
Travail demandé
1. Identifier les acteurs et les cas d'utilisation techniques et dessiner le diagramme de cas
d'utilisations techniques;
2. Elaborer le modèle de spécification du point de vue matériel,
• Le critère de découpage
• Les dépendances entre catégories
Soit le diagramme de classes suivants représentant les prêts dans la vidéothèque et issu du
regroupement des classes candidates :
Reprendre le diagramme de cas d'utilisation structuré de la gestion de caisse. Pour chaque cas
Exercice 1
Exercice 2
Exercice 3
Exercice 4
Exercice 1 : On veut mettre en place un système d'informations pour gérer les réservations en
ligne de tables dans un restaurant. Un client qui souhaite réserver une ou plusieurs tables doit
créer un compte et se connecter. Il peut visualiser la liste des tables disponibles pour une date
donnée. Il peut réserver une ou plusieurs tables, annuler une réservation, ou modifier le
nombre de tables. Le client doit confirmer son arrivée au plus tard 3 heures avant le repas en
ligne ou par téléphone. Le gérant peut consulter la liste des tables réservées par date. Il peut
effectuer la réservation sur place pour des clients qui se présentent physiquement au
restaurant. Lorsque le client se présente au repas, après son identification physique, le gérant
met à jour le statut de la réservation comme «présence». Sinon, si le client ne se présente pas
ou vient en nombre insuffisant, le système enregistre respectivement «absence» et «sous-
exploitation». A la fin de chaque mois, le gérant élabore les statistiques sur les mauvais
clients, les habitués, etc. Le système peut refuser la réservation à un mauvais client au delà
d'un certain seuil de réservations absentes ou sous-exploitées.
Travail demandé : Refaire les questions des exercices précédents pour ce cas.
QuickMail (courrier rapide) est une entreprise de délivrance rapide de courrier ; elle possède
une branche dans chaque ville. Pour envoyer un courrier rapide, le client le dépose à
QuickMail (QM). Le système à mettre en œuvre doit permettre à l'agent de QM d'enregistrer
le nouveau courrier et de délivrer au client un bordereau contenant un numéro et un code
barre. Le client doit pouvoir connaître le statut de son courrier à l'aide du numéro ou code
barre. Le client peut également se renseigner auprès de l'agent par téléphone sur son courrier.
Dans ce cas, l'agent recherche le courrier par son numéro ou par d'autres critères (nom et
prénom, date de dépôt, etc). Dans tous les cas, le système doit sauvegarder ces critères et les
valeurs de recherche pour permettre la réindexation manuelle de la base de données.
Au départ des courriers, l'agent modifie leur statut à « en route » et celui des chauffeurs et
véhicules affectés à « en mission ». Au retour des missions, l'agent libère le chauffeur et
véhicule et modifie le statut du courrier soit à « délivré » ou « non délivré ».
Le statut d'un courrier doit être consultable à tout moment (24h/24, 7j/7). Aussi, pour éviter
les problèmes techniques, un spécialiste bases de données est sollicité régulièrement pour
sauvegarder la base de données et la récupérer en cas de perte.
Travail demandé :
Exercice 1 : On veut concevoir le système d’information d’un cabinet médical. Le cabinet est
composé du médecin généraliste, d’un infirmier assistant le médecin dans diverses tâches
(mesure de tension, injections, …). Une réceptionniste accueille les patients, enregistre les
rendez-vous, et s’occupe de la gestion de la caisse. Les patients se présentent au cabinet ou
téléphonent pour la prise de rendez-vous. La réceptionniste note le nom, prénom du patient
ainsi que la date et heure du rendez-vous. Le patient peut demander d'annuler ou de reporter le
rendez-vous. Le médecin tient une fiche de chaque patient où il note les informations sur ce
dernier et les visites effectuées. Lorsque le patient se présente pour la première fois, on lui
créé une nouvelle fiche. Cette fiche permet le suivi de près de chaque patient et elle est
constamment modifiée pour ce qui est des informations générales ou des informations de
suivi médical. Pour chaque visite, le médecin note sur le registre des visites la date, le nom et
prénom du patient, le type de la visite (consultation ou contrôle). Il note également les
différentes mesures effectués (tension, poids,…). Une visite de type consultation est
caractérisée par la constatation faite par le médecin sur l’état de santé du patient (diagnostic,
symptômes,…). Pour une visite de type contrôle, on note l’évolution de l’état de santé du
patient (état avant, état après). Chaque visite donne lieu à une éventuelle prescription
médicale. En plus du nom, prénom et âge du patient, la prescription contient l’ensemble des
Exercice 2 : Reprendre l'énoncé de l'exercice 2 de la série 1. Nous avons identifié les cas
d'utilisation fonctionnels suivants : (1) Gestion des prêts de films, (2) Consultation de de la
liste des films.
Exercice 3 : Reprendre l'exercice 3 de la série 1. Nous avons identifié les cas d'utilisation
fonctionnels suivants : (1) Ajout d’opérations, (2) Ajout d'entrée en caisse, (3) Ajout de sortie
de caisse, (4) Consultation du solde de la caisse, (5) Consultation du montant restant à payer,
(6) consultation des informations sur les stagiaires. Les cas sont liés comme suit : (2) et (3)
spécialisent (1), (3) inclut (4), (2) inclut (6) et (5) inclut (6).
Travail demandé :
Exercice 2 : Une banque met à disposition de ses clients des cartes magnétiques pour le
retrait d'argent de ses distributeurs. On veut mettre en place un système pour la gestion de ces
cartes. Chaque carte est identifée par un numéro unique. Lors de la première délivrance, le
Travail demandé : Identifier les cas d'utilisation techniques et élaborer le diagramme de cas
d'utilisation techniques.
Travail demandé:
Travail demandé:
4.1. Série 1
Exercice 2 : On veut développer une application Web qui permet à une équipe d’employés
d’organiser des promenades en week-end. On désigne parmi les participants un organisateur
et un cuisinier. L’organisateur se charge d’ajouter l’ensemble des dates de week-ends avec
Travail demandé :
4.2. Série 2
Travail demandé
2. Pour chaque cas, élaborer une fiche descriptive en mettant l’accent sur les
enchainements.
3. Affiner le diagramme précédent en montrant les éventuels liens entre les cas.
Exercice 2 : Gestion d’un agenda électronique
On veut développer une application informatique pour la gestion d'un agenda électronique
d'un responsable. L'agenda doit permettre à ce dernier d'organiser ses rendez-vous et activités
qu'on appelèra événements. L'agenda est tenu par le responsable ou pas sa secrétaire. Les
événements sont affichés sur un calendrier croisé : en colonnes les jours et en lignes les
heures de 00h00 à 23h. A la demande du responsable, la secrétaire ajoute des événements en
choisissant la date, l'heure et la durée. Pour cela, elle consulte d'abord le calendrier pour
choisir un crénaux convenable mais elle doit avoir la confirmation du responsable avant de
valider l'ajout. Si le responsable est disponible, la secrétaire demande la confirmation
verbalement. Sinon, elle met en attente le choix et envoie un mail au responsable. A la lecture
du mail, le responsable consulte l'agenda et confirme les choix convenables mis en attente de
la secrétaire. Pour les choix non convenables, il peut demander à la secrétaire de les modifier
ou il peut lui-même les modifier et les confirmer directement.
Dans plusieurs cas, lorsque les événements sont urgents ou ont des dates et heures fixées, la
secrétaire peut modifier des crénaux existants par d'autres plus urgents ou fixés. Dans ce cas,
l'événement urgent ou fixé remplace l'événement existant et ce dernier sera déplacé à un autre
Dans certains cas, le responsable peut décider d'annuler des évènements et confie à sa
secrétaire la tâche d'apporter ces annulations à l'agenda. Enfin, au début de chaque journée, la
secrétaire met à jour le statut des événements de la veille en mentionnant sa réalisation ou pas.
Travail demandé
1. Elaborer le diagramme de cas d’utilisation fonctionnels en montrant les liens entre les
cas
2. Pour chaque cas, élaborer le diagramme de classes participantes en indiquant la
responsabilité de chaque classe.
4.3. Série 3
Exercice 1 : On veut développer un système pour gérer les données des élections législatives.
Les élections sont gérées au niveau du ministère de l'Intérieur, des Wilayas et des bureaux de
vote. Chaque wilaya dispose d'un ensemble de fiches de candidats en format word. Ces fiches
sont accessibles via un serveur de fichier à partir de terminaux mis à la disposition des
électeurs dans chaque bureau de vote. Après fermeture des bureaux de vote à 20h00, un agent
de bureau saisit les données de vote sur un terminal à travers une application de saisie
centralisée par wilaya. Les données saisies sont stockées directement dans la base de données
de la wilaya. À 22h00, les données de chaque wilaya sont répliquées dans la base de données
du ministère. Pour des mesures de sécurité, une copie de ces données est stockée dans une
base de données clone, hébergée sur une machine séparée. Enfin, les résultats des élections
peuvent être analysées soit au niveau de chaque wilaya ou soit niveau du ministère (résultat
global) à travers des applications spécifiques.
Travail demandé :
Exercice 2 : On veut développer une application pour gérer une superette. Les achats sont
saisis par plusieurs caissiers avec un système de rotation par caisse. Avant de commencer le
travail, chaque caissier doit d'abord s'identifier. L'attribution et la gestion des identifiants et
des codes d'accès se fait par le gérant de la superette à travers l'espace confidentiel de ce
dernier. Avant d'ouvrir la caisse, le caissier doit s'assurer que l'argent liquide disponible
correspond au solde affiché.
A la présentation de l'acheteur devant la caisse, le caissier enregistre chaque article acheté par
le biais du lecteur de code barre. Dans certains cas, lorsque le code barre n'est pas fonctionnel
ou inexistant, le caissier bascule vers la saisie manuelle du produit. La lecture par code barre
est le mode par défaut. Le caissier peut à tout moment mettre en pause l'enregistrement des
articles, par exemple pour renseigner un autre acheteur sur le pris d'un produit, puis il reprend
l'enregistrement.
Après la saisie de tous les produits d'un acheteur, ce dernier procède au payement. Le mode
4.4. Série 4
Travail demandé :
Travail demandé : identifier les différents scénarios du cas d’ajout d’une opération de stock
(remarque : vu la simplicité de traitement, on considère un seul cas d’utilisation).
Soit le diagramme de classes suivant pour le traitement des commandes de clients par un
agent commercial d’une entreprise.
On s’intéresse au cas d'utilisation d'ajout d'une commande décrit comme suit : l'agent
commercial
renseigne les informations de la commande (numéro, date, etc.), ensuite il associe l'ensemble
des produits commandés à partir d'un catalogue de produits. Pour chaque produit, l'agent
choisit un des fournisseurs qui fournissent le produit. Ce choix est basé sur deux critères qui
sont mis à jour automatiquement: le prix du produits proposé et le délai de livraison. Une fois
le fournisseur de chaque produit choisi, l'agent renseigne la quantité commandée et le prix de
la vente (après application d'un pourcentage de bénéfice). Enfin, l'agent établit le lien entre la
commande et le client qui est choisi à partir d'une liste.
1. Interrogation 2011-‐2012
Une petite entreprise veut mettre en place un système informatisé pour gérer sa messagerie
interne (comme la messagerie de gmail, yahoo!, et hotmail). On affecte à chaque employé de
l'entreprise une adresse email unique et un code secret pour se connecter. L'affectation est
faite par l'informaticien de l'entreprise. Les employés ne peuvent pas modifier leurs codes
d'accès mais lorsqu'un employé perd son code, l'informaticien lui en crée un nouveau.
Une fois connecté, l'employé peut écrire un nouveau message, il saisit l'objet du message, le
texte et sélectionne un ou plusieurs destinataires. Il peut aussi joindre un ou plusieurs fichiers
selon la capacité du système. Lorsque le message est prêt à être envoyé, l'employé a le choix
soit de le sauvegarder comme brouillon, soit de l'annuler, soit de l'envoyer. Le message
brouillon peut être ouvert plus tard et devient un message en cours de rédaction. L'employé
peut donc le supprimer, le modifier puis l'envoyer ou le sauvegarder une autre fois comme
brouillon.
Pour faciliter la sélection des destinataires des messages, le système les sauvegarde dans une
liste. L'employé peut ajouter de nouveaux contacts avec pour chaque contact, un nom, un
prénom et un alias en plus de l'adresse email existe déjà. Le système doit inviter l'employé à
ajouter les destinataires de messages comme contacts après l'envoi d'un message si le
destinataire n'existe pas déjà dans la liste des contacts. Sinon, l'ajout se fait de manière
indépendante. Aussi, l'employé peut changer les informations d'un contact ou supprimer
certains contacts. Un contact supprimé ne sort pas automatiquement dans la liste des
destinataires lorsqu'on écrit un message.
Enfin, pour mieux gérer l'espace de stockage, le système doit permettre de nettoyer les boites
de réception et d'envoi lorsqu’elles commencent à se remplir. L'employé peut afficher le
contenu de chaque boite, classer les messages par date ou par envoyeur pour la boite de
réception et par destinataire pour la boite d'envoi. Les messages que l'employé juge
inintéressants peuvent être sélectionnés puis supprimés. Noter que la suppression est
définitive.
Travail demandé
1. Identifier les acteurs fonctionnels et les cas d'utilisation fonctionnels et les représenter
par un diagramme de cas d'utilisation en montrant les liens entre cas s'ils existent ;
2. Sélectionner un cas d'utilisation fonctionnel parmi ceux identifiés en 1et identifier les
messages en entrée et en sortie.
2. Interrogation
2012-‐2013
Reprendre l’énoncé du cas QuickMail
Travail demandé
3. Interrogation
2013-‐2014
Reprendre le cas du Ebook reader
Travail à faire:
4. Interrogation
2014-‐2015
Cas RestoRapido
Le responsable d’un restaurant est soucieux de la qualité des repas qu’il offre à ses clients
mais aussi de la rapidité de service. Il sollicite une boite informatique pour lui développer un
système d’information qui lui permet de bien gérer son restaurant. Après l’étude préliminaire,
on lui proposa le fonctionnement suivant :
A son entrée au restaurant, chaque client doit d’abord choisir une table disponible. Ensuite, il
se dirige vers la caisse pour payer à l’avance son repas. Le caissier crée une nouvelle
commande avec comme identifiant la date et heure d’entrée et le numéro de table. Il saisit le
contenu de la commande et affiche au client le montant à payer. Après payement, la
commande aura le statut « payée ». Au niveau de la cuisine, les cuisiniers disposent d’un
écran géant tactile sur lequel est affichée la liste des commandes payées en attente de
préparation. Dès qu’un cuisinier est disponible, il prend en charge la première commande
selon l’ordre FIFO. Il met à jour le statut de la commande de « payée » à « en cours de
préparation ». Une fois le repas préparé, le cuisinier met à jour le statut de la commande à
« prête », la commande prête disparaît de l’écran. Le cuisinier imprime un ticket sur lequel est
noté le numéro de la commande. Il dépose le plat sur une table avec son ticket.
La délivrance des commandes aux clients est prise en charge par les serveurs. Chaque serveur
dispose d’une tablette connectée au système sur laquelle les plats prêts son affichés. Pour
chaque plat qu’il récupère et sert, il met à jour son statut vers « servi ».
Dans certaines situations, des clients peuvent quitter le restaurant avant leur service (service
lent, urgence, etc.). Ils se présentent au niveau de la caisse pour demander le remboursement.
Le caissier cherche la commande et procède au remboursement. Si le plat est déjà prêt, il
demande au client s’il veut le prendre (à emporter) ou renoncer à quitter et lui signale que le
remboursement est impossible. Sinon, si le plat est juste payé ou en cours de préparation, le
caissier annule la commande et rembourse le client. Une alerte sonore est déclenchée sur
l’écran de la cuisine contenant le numéro et le contenu de la commande annulée si la
commande est en cours de préparation et cette dernière est supprimée automatiquement de
Polycopié pédagogique en systèmes d’informations, méthodes avancées – D. Boukraâ- 2015
Annexe 2 : Interrogations 2011-2014 91
l’affichage en cuisine.
Travail demandé
Quelle que soit l'opération, le secrétaire note sa date et heure, son montant (valeur). Par
contre, lorsque l'opération correspond à un dépôt, il peut s'agir d'un payement fait par un
client ; dans ce cas, le secrétaire note le nom et prénom du client. Le dépôt peut également
être fait par l'avocat. Dans ce cas, le secrétaire mentionne la cause du dépôt, par exemple
« caisse vide ». Pour les dépenses, il s'agit soit de remboursement fait pour un client soit
d'achats divers (journaux, café, produits de nettoyage, etc.). Dans le premier cas, le secrétaire
note le nom et prénom du client remboursé. Dans le deuxième cas, il note la liste des achats.
Noter qu'on ne veut pas gérer la liste des clients à part entière.
Dans tous les cas, le système doit permettre de connaître à tout moment le solde réel de la
caisse (ce que contient la caisse) en faisant la différence entre la somme des dépôts et la
somme des dépenses.
Noter que la modification des informations sur les opérations déjà enregistrées dans la base de
données est interdite et la même chose pour la suppression d'opérations. Si le secrétaire a fait
un erreur sur le montant d'une opération, il identifie l'opération à corriger à partir de la liste, il
note le montant de rectification et il fait le lien entre cette nouvelle opération et l'opération à
corriger. La rectification doit être de même type que l'opération qu'elle corrige. Le montant de
rectification peut dans le cas (et seulement dans ce cas) être positif ou négatif selon l'erreur
faite.
1. Elaborer le diagramme des cas d'utilisation illustrant les liens entre cas s'ils existent.
2. Choisir un seul cas à partir du diagramme des cas d'utilisation. Le cas ne doit pas être
abstrait et doit permettre d'alimenter le système par des données. Pour ce cas choisi,
1. Répondre par vrai ou faux et corriger dans le cas « faux » : la relation d'inclusion
permet d'inclure dans un cas les différents scénarios de son exécution.
2. Compléter la phrase suivante par un seul mot: dans le processus 2TUP, la capture des
besoins fonctionnels a pour objectif de collecter et organiser les besoins liés au …....
des utilisateurs.
3. Durant la capture des besoins fonctionnels, en plus de la description textuelle d'un cas
d'utilisation, citer un diagramme permettant de mieux décrire un cas d'utilisation et
expliquer son rôle.
4. Dans le processus de développement 2TUP, quel est l'avantage de la séparation dans
les premières étapes entre les aspects fonctionnels et les aspects techniques?
Le distributeur permet aux clients de consulter le solde ou de retirer l'argent. Pour retirer
l'argent, le client peut soit choisir un montant prédéfini, soit saisir le montant manuellement.
Dans ce dernier cas, le client peut valider le montant ou le corriger. Le système vérifie si le
montant dépasse l'argent disponible dans le distributeur ou si le solde du client n'est pas
suffisant. Dans les deux cas, le système rejette l'interaction et redemande au client de la
refaire. Dans le cas contraire (argent suffisant dans le distributeur et solde du client suffisant),
le système délivre l'argent au client tout en affichant le détail de l'opération : date, solde avant
opération, solde après opération.
Travail demandé
1. Identifier les cas d'utilisation fonctionnels et les cas d'utilisation techniques en les
associant aux acteurs correspondants (illustrer par deux diagrammes).
2. Représenter le diagramme de contexte dynamique correspondant aux aspects
fonctionnels du système.
Une entreprise de vente de produits est organisée en une direction générale, 4 directions
régionales (est, ouest, centre, sud) et une unité de vente dans chaque wilaya. L'entreprise veut
3. Quel est le mécanisme qui permet d'utiliser une classe d'analyse en dehors de sa catégorie ?
On veut modéliser les aspects fonctionnels et techniques du service de rédaction d'un journal.
Le service est composé de plusieurs journalistes, d'un rédacteur-en-chef, d'un infographe et du
directeur du journal. Les articles sont écrits par des journalistes dans différents domaines
(sport, politique, économie). Chaque article est mis en attente pour vérification par le
rédacteur-en-chef pour s'assurer de la bonne qualité de rédaction. Si l'article est validé, le
rédacteur-en-chef décide de la date de sa publication. Sinon, le journaliste est invité soit à
modifier l'article, soit à le supprimer. A 15h de chaque jour de travail, l'ensemble des articles
à paraître le lendemain doit être prêt. Sur la base de cet ensemble, l'infographe commence la
composition du journal en choisissant l'endroit où placer chaque article. Si l'espace est
insuffisant, l'infographe demande au journaliste concerné de raccourcir l'article. Une fois le
journal composé, l'infographe génère une version PDF qu'il envoie au directeur pour
validation. Le directeur peut demander de modifier la composition du journal. Une fois la
composition finale validée, l'infographe publie le journal en ligne ainsi que la version PDF.
Les lecteurs peuvent accéder au contenu du journal gratuitement à partir du site Web du
journal. Mais, pour télécharger la version PDF, chaque lecteur doit créer un compte et se
connecter. Un compte de lecteur ne peut être fonctionnel qu'après sa validation par
l'administrateur du journal. Chaque lecteur peut, après la lecture d'un article et des
commentaires, ajouter un commentaire à l'article ou commenter des commentaires. Chaque
journaliste peut lire les commentaires faits sur son article. Il peut supprimer les commentaires
qui comportent des insultes. A la demande d'un journaliste, l'administrateur peut désactiver les
commentaires d'un lecteur sur la base de son adresse IP ou supprimer les comptes de mauvais
lecteurs. Enfin, l'administrateur procède chaque jour à la suppression des articles les moins lus
depuis une semaine et de ceux qui datent de plus d'un mois.
On veut mettre en place un système d'informations pour gérer les sujets de master et de
doctorat au niveau des universités et au niveau du ministère de l'enseignement supérieur.
Après chaque soutenance, on saisit les informations sur le sujet soutenu à travers une
application spécifique au niveau du sujet (master ou doctorat). Les données saisies sont
stockées dans une seule base de données par département. A la fin de l'année universitaire, les
données sur les sujets soutenus de l'année en cours sont extraites de la base de données de
chaque département et fusionnées dans un fichier XML qui sera stocké au niveau du doyen de
chaque faculté. Ce dernier peut analyser le contenu du fichier XML à travers une application
unique à l'université et gérée par le rectorat.
A la fin de l'année, les fichiers XML sont exportés vers la deux bases de données centrales au
niveau du ministère : une base de données sera utilisée par le service des sujets de master et
2. Choisir une seule bonne réponse : Quel est le sens d'un scénario terminal ?
4. Dans quel cas, un acteur fonctionnel peut-il figurer dans le diagramme de classes d'un
système à développer ?
Exercice 1 (8 pts = 4+4) : On veut développer un système pour gérer les données des
élections législatives. Les élections sont gérées au niveau du ministère de l'Intérieur, des
Wilayas et des bureaux de vote. Chaque wilaya dispose d'un ensemble de fiches de candidats
en format Word. Ces fiches sont accessibles via un serveur de fichier à partir de terminaux
mis à la disposition des électeurs dans chaque bureau de vote. Après fermeture des bureaux de
vote à 20h00, un agent de bureau saisit les données de vote sur un terminal à travers une
application de saisie centralisée par wilaya. Les données saisies sont stockées directement
dans la base de données de la wilaya. À 22h00, les données de chaque wilaya sont répliquées
dans la base de données du ministère. Pour des mesures de sécurité, une copie de ces données
est stockée dans une base de données clone, hébergée sur une machine séparée. Enfin, les
résultats des élections peuvent être accessibles soit au niveau de chaque wilaya soit niveau du
ministère (résultat global) à travers des applications spécifiques.
Exercice 2 (6 pts)
On veut développer une application pour gérer une superette. Les achats sont saisis par
plusieurs caissiers avec un système de rotation par caisse. Avant de commencer le travail,
chaque caissier doit d’abord s’identifier. L’attribution et la gestion des identifiants et des
codes d’accès se fait par le gérant de la superette à travers l’espace pesonnel de ce dernier.
Avant d’ouvrir la caisse, le caissier doit s’assurer que l’argent liquide disponible correspond
au solde affiché.
A la présentation de l’acheteur devant la caisse, le caissier enregistre chaque article acheté par
le biais du lecteur de code barre. Dans certains cas, lorsque le code barre n’est pas fonctionnel
ou s’il est illisible le caissier bascule vers la saisie manuelle du produit. La lecture par code
barre est le mode par défaut. Le caissier peut à tout moment mettre en pause l’enregistrement
des articles, par exemple pour reseigner un autre acheteur sur le pris d’un produit, puis il
reprend l’enregistrement.
Après la saisie de tous les renseignements d’un acheteur, ce dernier procède au payement. Le
mode de paiement par défaut est le payement cash (argent liquide). L’acheteur peut également
payer en utilisant une carte de crédit. Dans ce cas, le caissier bascule vers le payement par
carte. L’acheteur introduit sa carte dans un lecteur de carte lié au réseau de banques.
L’acheteur saisit ensuite le code secret et valide. Le numéro de carte et le code introduit sont
lus par le lecteur : si le code est correct, le caissier valide le payement. Sinon, après trois
tentatives échouées du code de la carte bancaire, et si l’acheteur ne dispose pas d’argent, le
montant des achats est sauvegardé comme « dette ». Par mesure de garantie (en cas d’acheteur
inconnu), le numéro de la carte bancaire du client est à nouveau lu pour être associé à la dette
et le caissier fixe un délai de payement. Une fois le payement effectué, la dette est supprimée.
Dans plusieurs cas, lorsque les événements sont urgents ou ont des dates et heures fixes, la
secrétaire peut modifier des créneaux existants par d’autres plus urgents ou fixes. Dans ce cas,
Dans certains cas, le responsable peut décider d’annuler des évènements et confie à sa
secrétaire la tâche d’apporter ces annulations à l’agenda. Enfin, au début de chaque journée, la
secrétaire met à jour le statut des événements de la veille en mentionnant sa réalisation ou pas.
Travail demandé:
2. Choisir une ou plusieurs bonnes réponses : dans la capture des besoins techniques, un
besoin technique peut être assuré par
3. Expliquer la différence d’utilisation d’un diagramme de séquences pour décrire les cas
d’utilisation durant l’étape de capture de besoins fonctionnels et durant l’étape
d’analyse.
Une école de formation de haut niveau organise chaque année un concours pour l’accès au
doctorat au profit des étudiants en Master des 5 meilleures universités de l’année. L’école
prend de chaque université trois (03) étudiants sur un total des dix (10) meilleurs classés qui
passent le concours.
Le jour du concours, les dix candidats de chaque université sont regroupés dans une salle et
chacun sera affecté à un terminal Web. Le sujet d’examen est électronique et s’affiche sous la
forme d’une application Web interactive servie à partir d’une machine située au niveau de
l’école. Les réponses se font à travers l’application. Une fois terminé, le candidat valide ses
réponses qui seront enregistrées sous la forme d’un fichier avec l’extension « .frp » sur une
machine unique située à l’université. En fin de journée, les fichiers des cinq universités sont
répliqués tels quels sur une machine unique au niveau de l’école. Le lendemain, le
responsable des concours lance les corrections automatiques sur un PC de correction lié au PC
qui héberge les fichiers FRP.
Les résultats (candidats retenus, classement, corrigé-type, copies corrigées) sont stockés en
Exercice 2 (8 pts)
Une agence de dépôt de demandes de visa veut informatiser la gestion de son service
d’accueil. Le service fonctionne comme suit :
Par la suite, le visiteur dépose tous ses objets (portable, montre, etc.) dans un bac et le fait
passer par un scanner contrôlé par un agent de contrôle. Ce dernier doit reconnaître tous les
objets. Si un objet n’est pas reconnu, l’agent utilise un appareil manuel pour vérifier que
l’objet n’est pas dangereux. Les objets du visiteur sont conservés et ce dernier se présente
devant l’agent de vérification des documents. Dans le cas où des photocopies de documents
manquent, le visiteur doit les reproduire en utilisant un photocopieur-scanner : le mode par
défaut est la photocopie, mais si la qualité de la photocopie n’est pas bonne, le visiteur peut
scanner puis imprimer ses documents.
Par la suite, si le dossier est complet, le visiteur se place devant un PC pour remplir le
formulaire. Il a le choix de saisir ses données directement puis imprimer le formulaire
rempli ou d’imprimer le formulaire vide et le remplir manuellement. Une fois le formulaire
rempli, le visiteur l’ajoute au dossier, et retire un ticket d’un distributeur puis se dirige vers la
salle d’attente pour attendre son tour.
Travail demandé :
- Identifier les acteurs techniques de ce système. Pour chaque acteur, préciser s’il s’agit d’un
acteur purement technique et préciser ses responsabilités métier dans le cas contraire.
- Elaborer le diagramme de cas d’utilisation techniques.
Le distributeur permet aux clients de consulter le solde ou de retirer l’argent. Pour retirer
l’argent, le client peut soit choisir un montant inférieur, soit saisir le montant manuellement.
Dans ce dernier cas, le client peut valider le montant ou le corriger. Le système vérifie si le
montant dépasse l’argent disponible dans le distributeur ou si le solde du client n’est pas
suffisant. Dans les deux cas, le système rejette l’interaction et redemande au client de la
refaire. Dans le cas contraire (argent suffisant dans le distributeur et solde du client suffisant),
le système délivre l’argent au client tout en affichant le détail de l’opération : date, solde avant
opération, solde après opération.
Travail demandé
1. Identifier les cas d’utilisation fonctionnels et les cas d’utilisation techniques en les
associant aux acteurs correspondants (illustrer par deux diagrammes).
2. Représenter le diagramme de 101contexte dynamique correspondant aux aspects
fonctionnels du système.