Cours de CSI Bac 2 Informatique
Cours de CSI Bac 2 Informatique
Cours de CSI Bac 2 Informatique
2023
ii
Code UE : INF201
Nombre de Crédits : 3
Préalables
- Labo 1
- Informatique Général
Ressources
- Support du cours ;
- Ordinateur ;
- Projecteur ;
- AGL (Modelio).
iii
Objectifs du cours
a. Objectif Général
Cette Unité d’Enseignement intitulée Conception de Systèmes
Informatiques vise à fournir à l’étudiant(e) des connaissances sur des méthodes
et concepts fondamentaux de l’analyse, de la conception et de la réalisation de
systèmes informatiques.
b. Objectifs Spécifiques
A l’issu de ce cours, tout étudiant qui aura suivi avec succès ces enseignements
sera capable:
- De comprendre et d’utiliser les concepts de l’approche orientée objet ;
- D’analyser le domaine d'étude pour comprendre les besoins et les
formaliser en utilisant les diagrammes correspondants ;
- De concevoir le système pour déterminer les mécanismes de traitement de
l’information par les opérations informatisables de la solution à
développer;
- De définir l’architecture de la future solution pour son implémentation;
- De comprendre et représenter (modéliser) un concept du système
d’information ;
- D’analyser et de concevoir un système d’information par le processus
unifié (UP) associé au langage de modélisation UML et SysML.
Approches Pédagogiques
- La pédagogie inversée.
PLAN DU COURS
I. INTRODUTION
II. DEFINITION DES CONCEPTS
SYSTEME
SYSTEME D’INFORAMTION
CONCEPTION
MODELE
LANGAGE DE MODELISATION
OBJET
CLASSE
ENCAPSULATION
ASSOCIATION ET AGGREGATION
GENERALISATION ET SPECIALISATION
BREVE HISTORIQUE
LE DIAGRAMME DE CLASSES
LE DIAGRAMME DE COMPOSANTS
LE DIAGRAMME DE DEPLOIEMENT
LE DIAGRAMME D’ACTIVITES
LE DIAGRAMME DE SEQUENCE
CONSIDERATIONS THEORIQUES
DESCRIPTION FONCTIONNELLE
DESCRIPTION STRUCTURELLE
PRESENTATION D’UP
ACTIVITES DU PROCESSUS
o Programmation
o Gestion des versions
o Factorisation
o Tests unitaires
o Optimisation du code
Phase de livraison
o Intégration
o Validation
o Documentation du logiciel
o Packaging
o formation
NB :
Dans ce cours c’est la première phase (Analyse/Conception que
nous allons approfondir pour voir dans quelle mesure, nous allons atteindre
nos objectifs.
a. SYSTEME
Un système peut à la fois être qualifié de solaire, technique ou
d’équations en fonction de son domaine d’application. Dans tous les cas, le
terme fait référence à un objet complexe, logique et ordonné. A l’image de
son étymologie (du grec systêma signifiant un assemblage ou une
combinaison), la norme ISO/IEC 15288 : 2002 propose la définition
suivante.
b. SYSTEME D’INFORMATION
Plusieurs définitions existent pour un système d’information.
Nous pouvons noter celles qui suivent :
- Le système information, appelé aussi d’une manière large
système informatique, (noté SI) représente l'ensemble des logiciels
et matériels participant à la récolte, au stockage, au traitement,
au transport et à la diffusion de l'information au sein de
l'organisation.
sans rapport entre elles ne pas très utile. Mais agrégées, indexées et
organisées ensemble dans un fichier, elles deviennent un outil
puissant pour les entreprises. C’est ainsi que les organisations
collectent toutes sortes de données et les utilisent pour prendre des
décisions (orientations) qui peuvent ensuite être analysées quant à
leur efficacité.
b. Communication en Réseau
Outre les composants technologiques (matériel, logiciel et donnée) qui
ont été longtemps considérés comme la technologie de base des
systèmes d’information, il a été suggéré d’ajouter un autre composant :
la communication. Un système d’information peut exister sans pouvoir
communiquer (le cas des premiers ordinateurs personnels qui étaient
des machines autonomes qui n’accédaient pas à Internet).
Cependant, dans le monde hyper-connecté d’aujourd’hui, c’est
extrêmement rare de trouver un ordinateur qui ne se connecte pas à
un autre appareil ou à un réseau. Techniquement, l’élément
communication en réseau est composé de matériels et de logiciels,
mais c’est une caractéristique tellement essentielle des systèmes
d’informations actuels qu’il est devenu une catégorie à part entière.
c. Personne
Les personnes constituent un panel des personnes qui interviennent
dans la construction, l’usage et la maintenance du système
d’information. Nous trouvons notamment, les personnels d’assistance
pour les utilisateurs (Help Desk), les utilisateurs de première ligne, les
analystes d’affaires, les développeurs jusqu’au directeur des systèmes
d’information (DSI), les personnes impliquées dans les systèmes
d’information constituent un élément essentiel de ces derniers.
d. Processus
Un processus est une série d’étapes entreprises pour atteindre un
résultat ou un objectif souhaité. Les systèmes d’information sont de
plus en plus intégrés aux processus organisationnels, apportant une
plus grande productivité et un meilleur contrôle de ces processus.
2. LE SYSTME INFORMATIQUE
Un système informatique est constitué de ressources matérielles et
logicielles organisées pour collecter, stocker, traiter et communiquer
les informations. Les ressources humaines nécessaires à son
fonctionnement (par exemple les administrateurs) sont parfois incluses
dans ce périmètre.
Le système informatique ne doit pas être conçu comme une fin en soi :
il est l’un des outils qui permet à l’organisation d’atteindre ses
objectifs. Il ne se justifie que tant qu’il soutient des processus « métier
», sans lesquels il n’a aucun sens. Il doit donc être aligné avec les
objectifs stratégiques de l’organisation. Cet alignement stratégique est
fondamental : désormais, un système informatique est un facteur
déterminant de la performance (efficacité, efficience, maîtrise des
risques) d’une organisation. Inversement, un système informatique
inadapté ou mal maîtrisé peut être une source inépuisable de
difficultés.
c. LA CONCEPTION
Est un processus créatif qui consiste à représenter les diverses
fonctions du système d’information afin d’obtenir rapidement un ou
plusieurs programmes réalisant ses fonctions. Cette technique est aussi
connue sous le contexte de la « Modélisation ».
La modélisation est la conception d'un modèle. D’une manière
simple, on définit aussi la modélisation comme un mécanisme consistant à
comprendre une idée et de la représenter par des modèles du langage de
d. LE MODELE
Un modèle est une représentation simplifiée d’une réalité sur
laquelle on veut être renseigné (Ex : Un plan, une carte, un schéma,
électronique,…). Un modèle s’exprime avec un ensemble de concepts, dotés
de règles d’utilisation et de représentation (souvent graphiques).
Les modèles servent à :
- Communiquer : Vérifier que l’analyste a bien compris les
utilisateurs (phase d’analyse) ;
- Préparer la réalisation : Grâce à un modèle de la solution (Phase de
conception).
Un modèle est une représentation abstraite de la réalité qui exclut
certains détails du monde réel. Il permet de réduire la complexité d'un
phénomène en éliminant les détails qui n'influencent pas son comportement
de manière significative. Il reflète ce que le concepteur croit important pour
la compréhension et la prédiction du phénomène modélisé, les limites du
phénomène modélisé dépendent des objectifs du modèle.
e. LANGAGE DE MODELISATION
Un langage de modélisation est un langage artificiel qui peut être
utilisé pour exprimer de l'information ou de la connaissance ou des systèmes
dans une structure qui est définie par un ensemble cohérent de règles. Les
règles sont utilisées pour l'interprétation de la signification des composants
dans la structure.
Un langage de modélisation peut être graphique ou textuel.
- Les langages de modélisation graphiques utilisent des techniques de
diagrammes avec des symboles associés à des noms qui représentent
les concepts et des lignes qui connectent les symboles et qui
représentent les relations et les diverses autres annotations
graphiques pour représenter les contraintes.
- Les langages de modélisation textuels utilisent typiquement des mots-
clés standardisés accompagnés de paramètres pour rendre les
expressions interprétables par les ordinateurs.
REMARQUE
A. OBJET ET CLASSE
1. Objet
Un objet représente un exemplaire utilisable d’une entité du
monde réel (ou du monde virtuel pour les objets immatériels), qui se
caractérise par un ensemble de propriétés (attributs), des états significatifs
Exemple.
Considérons l’étudiante BENEDICT, Code BKM0001, Genre
Féminin, Promotion L1, évoluant dans le département d’Eq-Info.
Cet objet est caractérisé par la liste de ses attributs et son état est
représenté par les valeurs de ses attributs :
- Code : BKM0001
- Nom : Benedict
- Genre : Féminin
- Promotion : L2
- Departement : Eq-Info
2. Classe
Une classe est l’abstraction d’un ensemble d’objets qui possèdent
une structure identique (liste des attributs) et un même comportement (liste
des opérations). C’est ainsi qu’on définit aussi un objet comme étant une
instance d’une et une classe. En d’autres termes, nous pouvons définir la
classe comme étant un ensemble d’objets ayant les mêmes propriétés (aspect
structurel) et les mêmes méthodes (aspect comportemental).
Exemple :
Considérons la classe Etudiant qui représente tous les étudiants
d’une Université. La description de la classe Etudiant comportera les
éléments suivants :
Nom Classe : Etudiant ;
Attributs :
o Code
o Nom
o Genre
o Promotion
o Departement
Opérations :
o Inscrire Etudiant
o Enseigner Etudiant
o Délibérer Etudiant
o Modifier Etudiant
Exemple des Etudiants…
B. ENCAPSULATION ET INTERFACE
Par rapport à l’approche classique, l’approche objet se caractérise
par le regroupement dans une même classe de la description de la structure
des attributs et de la description des opérations. Ce regroupement des deux
descriptions porte le nom d’encapsulation données-traitements.
Plus précisément, les données ne sont accessibles qu’à partir
d’opérations définies dans la classe. Le principe d’encapsulation renforce
l’autonomie et l’indépendance de chaque classe et donne une potentialité
accrue de définition de classe réutilisable. L’ensemble des opérations d’une
classe rendue visible aux autres classes porte le nom d’interface.
CLASSE N
TREAITEMENTS
INTERFACE
1. Opérations Accessibles DONNEES :
Accès aux
données
- Opération 1
via l’interface - Opération 2 Liste des
(partie visible - Opération 3 Attributs
de la classe)
- Opération n
1. Association
L’association représente une relation entre plusieurs classes. Elle
correspond à l’abstraction des liens qui existent entre les objets dans le
monde réel. Les multiplicités (ou cardinalités en MERISE) et les rôles des
objets participant aux relations complètent la description d’une association.
Les exemples d’associations sont donnés directement dans les diagrammes
de classe d’UML.
2. Agrégation
L’agrégation est une forme particulière d’association entre
plusieurs classes. Elle exprime le fait qu’une classe est composée d’une ou
plusieurs autres classes. La relation composant-composé ou la relation
structurelle représentant l’organigramme d’une entreprise sont des exemples
types de la relation d’agrégation.
D. GENERALISATION ET SPECIALISATION
1. Généralisation
La généralisation de classes consiste à factoriser dans une classe,
appelée super classe, les attributs et/ou opérations des classes considérées.
Appliquée à l’ensemble des classes, elle permet de réaliser une hiérarchie des
classes. Il s’agit de l’opération qui consiste à construire une classe mère
appelée (super classe) à partir d’autres classes filles dites sous-classe.
A titre d’exemple, la relation qui existe entre la classe telle que
« Personne » et la classe telle que « Etudiant ». On peut se permettre de dire
que tous les étudiants sont des personnes, mais toute personne n’est pas
étudiant ; dans ce sens Etudiant n’est qu’un cas particulier d’une personne.
2. La Spécialisation
La spécialisation représente la démarche inverse de la
généralisation puisqu’elle consiste à créer à partir d’une classe, plusieurs
classes spécialisées. Chaque nouvelle classe créée est dite spécialisée puis
qu’elle comporte en plus des attributs ou opérations de la super-classe
(disponibles par héritage) des attributs ou opérations qui lui sont propres.
Une classe spécialisée porte aussi le nom de sous-classe. La
spécialisation de classe se construit en deux temps : d’abord par héritage
des opérations et des attributs d’une super-classe et ensuite par ajout
d’opérations et/ou d’attributs spécifiques à la sous-classe.
La généralisation-spécialisation est un des mécanismes les plus
importants de l’approche objet qui facilite la réutilisation des classes.
E. LE POLYMORPHISME
Le polymorphisme est la capacité donnée à une même opération
de s’exécuter différemment suivant le contexte de la classe où elle se trouve.
Ainsi, une opération définie dans une super-classe peut s’exécuter de
manière différente selon la sous-classe où elle est héritée.
Exemple.
Considérons une classe Employé ayant la structure suivante :
Nom Classe : Employé
Attributs :
o Code
o Nom
o Genre
o Salaire de base
Opération
o calculSalaire ()
F. LA PERSISTANCE
La persistance est la propriété donnée à un objet de continuer à
exister après la fin de l’exécution du programme qui l’a créé. Par défaut dans
l’approche objet, aucun objet n’est persistant. Les modèles décrivent le
système en exécution en mémoire centrale et ne tiennent pas compte apriori
de l’état du système qui doit être stocké sur disque.
La gestion de la mémoire incombe au programmeur avec
notamment le problème de la libération des espaces.
A. BREVE HISTORIQUE
Regardons tout d’abord ce qui s’est passé au début des années 90.
Par rapport à la cinquantaine de méthodes d’analyse et de conception objet
qui existaient au début des années 90, seulement trois d’entre elles se sont
détachées nettement au bout de quelques années.
En effet, la volonté de converger vers une méthode unifiée était déjà
bien réelle et c’est pour cette raison que les méthodes OMT, BOOCH et
OOSE se sont démarquées des autres. OMT (Object Modeling Technique) de
James Rumbaugh et BOOCH de Grady Booch ont été les deux méthodes les
plus diffusées en France durant les années 90. Par ailleurs, OOSE de Ivar
Jacobson s’est aussi imposée dans le monde objet pour la partie
formalisation des besoins.
Pour aller plus loin dans le rapprochement, James Rumbaugh et
Grady Booch se sont retrouvés au sein de la société Rational Software et ont
a. Diagramme de classe
Ce diagramme représente la description statique du système en
intégrant dans chaque classe la partie dédiée aux données et celle consacrée
aux traitements. C’est le diagramme pivot de l’ensemble de la modélisation
d’un système.
b. Diagramme d’objet
Le diagramme d’objet permet la représentation d’instances des
classes et des liens entre instances.
c. Diagramme de composant
Ce diagramme représente les différents constituants du logiciel au
niveau de l’implémentation d’un système.
d. Diagramme de déploiement
Ce diagramme décrit l’architecture technique d’un système avec
une vue centrée sur la répartition des composants dans la configuration
d’exploitation.
e. Diagramme de paquetage
Ce diagramme donne une vue d’ensemble du système structuré en
paquetage. Chaque paquetage représente un ensemble homogène d’éléments
du système (classes, composants…).
b. Diagramme d’état-transition
Ce diagramme montre les différents états des objets en réaction
aux événements.
c. Diagramme d’activités
Ce diagramme donne une vision des enchaînements des activités
propres à une opération ou à un cas d’utilisation. Il permet aussi de
représenter les flots de contrôle et les flots de données.
d. Diagramme de séquence
Ce diagramme permet de décrire les scénarios de chaque cas
d’utilisation en mettant l’accent sur la chronologie des opérations en
interaction avec les objets.
a. INTRODUCTION
Le diagramme de classe constitue l’un des pivots essentiels de la
modélisation avec UML. En effet, ce diagramme permet de donner la
représentation statique du système à développer. Cette représentation est
centrée sur les concepts de classe et d’association. Chaque classe se décrit
par les données et les traitements dont elle est responsable pour elle-même
et vis-à-vis des autres classes. Les traitements sont matérialisés par des
opérations. Le détail des traitements n’est pas représenté directement dans
le diagramme de classe ; seul l’algorithme général et le pseudo-code
correspondant peuvent être associés à la modélisation.
La description du diagramme de classe est fondée sur :
• le concept d’objet,
• le concept de classe comprenant les attributs et les opérations,
• les différents types d’association entre classes.
b. OBJET
Nous allons donner une première définition du concept d’objet
avant de traiter le concept de classe. La description d’un objet sera
complétée simultanément à la présentation du concept de classe.
Un objet est un concept, une abstraction ou une chose qui a un
sens dans le contexte du système à modéliser. Chaque objet a une identité et
peut être distingué des autres sans considérer a priori les valeurs de ses
propriétés.
Il existe deux types d’objets ; les objets physiques et les objets de
gestion.
Exemple :
La figure ci-dessous montre des exemples d’objets physiques (une
chaise, une voiture, une personne, un vélo) et d’objets de gestion (la
Commande n° 12, le Client Durand).
1. Classe
Une classe décrit un groupe d’objets ayant les mêmes propriétés
(attributs), un même comportement (opérations), et une sémantique
commune (domaine de définition).
Un objet est une instance d’une classe. La classe représente
l’abstraction de ses objets. Au niveau de l’implémentation, c’est-à-dire au
cours de l’exécution d’un programme, l’identificateur d’un objet correspond
une adresse mémoire.
Nom de Classe
Attributs
Ou bien
Opérations
Nom Classe
Attributs
Opérations
2. Attribut
Un attribut est une propriété élémentaire d’une classe. Il s’agit
d’un type d’information à stocker dans une classe. Pour chaque objet d’une
classe, l’attribut prend une valeur.
Formalisme et Exemple
Nom de la classe Employé
Nom et Caractéristique Attribut1
Matricule : texte
Nom et Caractéristique Attribut2
N.B :
3. Opération
Une opération est une fonction applicable aux objets d’une classe.
Une opération permet de décrire le comportement d’un objet. Une méthode
est l’implémentation d’une opération.
Formalisme et exemple
Chaque opération est désignée soit seulement par son nom soit par
son nom, sa liste de paramètres et son type de résultat.
Nom Classe
Attribut
Nom et Caractéristique Opération 1
Nom et Caractéristique Opération 2
Exemple1
Voiture
Marque : texte
Rouler(vitesse)
Exemple 2
Voiture
Marque : texte
Puissance : entier
Année : entier
/Ancienneté : entier
Rouler ()
Freiner ()
Arrêter ()
Démarrer ()
e. ASSOCIATION ET MULTIPLICITES
1. Lien et Association
Un lien est une connexion physique ou conceptuelle entre
instances de classes donc entre objets. Une association décrit un groupe de
liens ayant une même structure et une même sémantique. Un lien est une
instance d’une association. Chaque association peut être identifiée par son
nom.
2. Multiplicités
La multiplicité indique un domaine de valeurs pour préciser le
nombre d’instance d’une classe vis-à-vis d’une autre classe pour une
association donnée. Le domaine de valeurs est décrit selon plusieurs formes
:
Intervalle fermé – Exemple : 2, 3..15.
Valeurs exactes – Exemple : 3, 5, 8.
Valeur indéterminée notée * – Exemple : 1..*.
Exemple
Personne Travail Service
3. CLASSE ASSOCIATION
Une classe-association permet de décrire soit des attributs soit
des opérations propres à l’association. Cette classe-association est elle-même
reliée par un trait en pointillé au losange de connexion. Une classe-
association peut être reliée à d’autres classes d’un diagramme de classes.
Nom NomService
* *
Postnom Adresse
Affectation
DateDebut
DateFin
4. AGREGATION ET COMPOSITION
a. Agrégation
L’agrégation est une association qui permet de représenter un lien
de type« ensemble » comprenant des « éléments ». Il s’agit d’une relation entre
une classe représentant le niveau « ensemble » et 1 à n classes de niveau «
éléments ». L’agrégation représente un lien structurel entre une classe et une
ou plusieurs autres classes.
Classe A
Classe B
Exemple :
b. Composition
La composition est une relation d’agrégation dans laquelle il existe
une contrainte de durée de vie entre la classe « composant » et la ou les
classes « composé ». Autrement dit la suppression de la classe « composé »
implique la suppression de la ou des classes « composant ».
Classe A
Classe B
Exemple.
c. Interface
Une classe d’interface permet de décrire la vue externe d’une
classe. La classe d’interface, identifiée par un nom, comporte la liste des
opérations accessibles par les autres classes. Le compartiment des attributs
ne fait pas partie de la description d’une interface. L’interface peut être aussi
matérialisée plus globalement par un petit cercle associé à la classe source.
La classe utilisatrice de l’interface est reliée au symbole de
l’interface par une flèche en pointillé. La classe d’interface est une
spécification et non une classe réelle.
Formalisme et exemple
La figure ci-après donne le formalisme, sur un exemple, des deux types de
représentation d’une interface.
Ou bien
5. SPECIALISATION ET LA GENERALISATION
La généralisation est la relation entre une classe et deux autres
classes ou plus partageant un sous-ensemble commun d’attributs et/ou
d’opérations. La classe qui est affinée s’appelle super-classe, les classes
affinées s’appellent sous-classes. L’opération qui consiste à créer une super-
classe à partir de classes s’appelle la généralisation. Inversement la
spécialisation consiste à créer des sous classes à partir d’une classe. D’une
manière simple c’est aussi un principe d’héritage que nous trouvons là-
dessus.
Classe A
Exemple.
Une classe abstraite est une classe qui n’a pas d’instance directe
mais dont les classes descendantes ont des instances. Dans une relation
d’héritage, la super-classe est par définition une classe abstraite.
Exercice.
Question
Une entreprise nationale de vente d’appareil électroménager
souhaite réaliser une première expérience d’analyse objet avec le langage
UML sur un petit sous ensemble de son SI. Ce sous-ensemble concerne le
suivi des personnels des agences locales implantées dans les régions.
Chaque région est pilotée par une direction régionale qui a en charge un
certain nombre d’agences locales. Une direction régionale est caractérisée
par un code et un libellé.
Chaque agence est caractérisée par un code, un intitulé, une date
de création et une date de fermeture. À une agence sont rattachées une à
plusieurs personnes. Chaque personne est caractérisée par les données :
numéro, qualité (M., Mme, Mlle), nom, prénom, date de naissance, date
prévisionnelle d’arrivée, date d’arrivée et date de départ. Il est demandé
d’élaborer le diagramme de classe de ce premier sous-ensemble du SI de
cette entreprise.
Corrigé :
Les trois classes constituant ce système sont évidentes puisque déjà bien
identifiées dans l’énoncé : Direction régionale, Agence et Personnel.
L’association entre Direction régionale et Agence est une agrégation qui
matérialise une relation structurante entre ces classes. La relation entre
Agence et Personnel est une association de un à plusieurs. Les opérations
mentionnées dans chaque classe correspondent aux opérations élémentaires
nécessaires à la gestion du personnel des agences.
Direction Régionale
-Code : texte
-Libelle : texte
+consulter ()
+demande_créer_agence()
+demande_supprimer_agence()
Personnel
1,*
- Code : entier
Agence - nom :texte
- postnom :texte
-code : entier - datenaissance : date
Appartenir
-intitulé : texte -date_arrivee_agence : date
-datecreation : date -date_depart_agence : date
-datefermeture :date 1 1,*
+créer() +créer()
+supprimer() +modifier()
+modifier() +supprimer()
+visualiser() +rechercher()
+rattacher_agence()
+dettacher_agence()
Exercice 2
A. COMPOSANT
On appel composant, une ressource logicielle permettant de
réaliser une tâche bien spécifique au sein d’un logiciel.
Chaque composant est assimilé à un élément exécutable du
système. Il est caractérisé par :
un nom ;
une spécification externe sous forme soit d’une ou plusieurs interfaces
requises, soit d’une ou plusieurs interfaces fournies ;
un port de connexion.
Le port d’un composant représente le point de connexion entre le
composant et une interface. L’identification d’un port permet d’assurer une
certaine indépendance entre le composant et son environnement extérieur.
Formalisme général
<<composant>>
NomComposant
Exemple :
A. NŒUD
Un nœud correspond à une ressource matérielle de traitement sur
laquelle des artefacts seront mis en œuvre pour l’exploitation du système.
Les nœuds peuvent être interconnectés pour former un réseau d’éléments
physiques.
Formalisme
Un nœud ou une instance de nœud se représente par un cube ou
parallélépipède.
<<Devise>>
NomDuNoeud
B. ARTEFACT
Un artefact est la spécification d’un élément physique qui est
utilisé ou produit parle processus de développement du logiciel ou par le
déploiement du système. C’est donc un élément concret comme par exemple
: un fichier, un exécutable ou une table d’une base de données.
Un artefact peut être relié à d’autres artefacts par notamment des
liens de dépendance.
Formalisme et exemple
Un artefact se représente par un rectangle caractérisé par le mot-
clé« artifact » et/ou une icône particulière dans le coin droit du rectangle.
<<artifact>>
commande.jar
C. REPRESENTATION
Le diagramme de déploiement représente les nœuds de
l’architecture physique ainsi que l’affectation des artefacts sur les nœuds
conformément aux règles de déploiement définies. L’exemple est la suivante :
<<Devise>>
ServeurFacturation
<<artifact>>
Facturation.jar
<<artifact>> <<artifact>>
Facture.mdb Client.mdb
Exemple 2.
<<device>>
client
<<artifact>>
Explorateur
<<Devise>>
ClientWeb
<<artifact>>
Facturation.jar
<<Device>>
ServeurBDD
<<artifact>>
Script Sql
2. ACTEUR
Un acteur est un utilisateur type qui a toujours le même
comportement vis-à-vis d’un cas d’utilisation. Ainsi les utilisateurs d’un
système appartiennent à une ou plusieurs classes d’acteurs selon les rôles
qu’ils tiennent par rapport au système.
Une même personne physique peut se comporter en autant
d’acteurs différents que le nombre de rôles qu’elle joue vis-à-vis du système.
C’est ainsi un administrateur du système logiciel peut aussi devenir
utilisateur de cette même messagerie. Il sera considéré, en tant qu’acteur du
système, dans le rôle d’administrateur d’une part et dans celui d’utilisateur
d’autre part.
Formalisme :
Un acteur peut se représenter symboliquement par un «
bonhomme » ou stick man et être identifié par son nom.
Nom Acteur
Interaction
Nom Cas d'Utilisation
Nom Acteur
Chaque cas d’utilisation doit être décrit sous forme textuelle afin
de bien identifier les traitements à réaliser par le système en vue de la
satisfaction du besoin exprimé par l’acteur.
Exemple :
Soit le diagramme des cas d’utilisation pour le système de gestion
des commandes.
System
passer commande
client receptionniste
Enregistrer Commande
Valider Commande
gestionnaire
a. Relation d’inclusion
Un cas A inclut un cas B si le comportement décrit par le cas A
inclut le comportement du cas B : le cas A dépend de B. Lorsque A est
sollicité, B l'est obligatoirement, comme une partie de A. Cette dépendance
est symbolisée par le stéréotype <<include>>
cas d'utilisation A
<<include>>
cas d'utilisation B
System
s'inscrire
etudiant appariteur
<<include>>
b. Relation d’Extension
Une relation d’extension d’un cas d’utilisation A par un cas
d’utilisation B signifie qu’une instance de A peut être étendue par le
comportement décrit dans B. Deux caractéristiques sont à noter :
cas d'utilisation B
cas d'utilisation A
<<extend>>
Exemple :
accorder rabais
passer commande
si > 200
<<extend>>
c. Relation de Généralisation
Une relation de généralisation de cas d’utilisation peut être définie
conformément au principe de la spécialisation-généralisation déjà présentée
pour les classes.
Cas d'Utilisation A
Exemple :
Retirer Argent
système doit réaliser en vue de produire les résultats attendus par les
acteurs.
La description textuelle d’un cas d’utilisation est articulée en six points :
Objectif – Décrire succinctement le contexte et les résultats attendus
du cas d’utilisation.
Acteurs concernés – Le ou les acteurs concernés par le cas doivent être
identifiés en précisant globalement leur rôle.
Pré conditions – Si certaines conditions particulières sont requises
avant l’exécution du cas, elles sont à exprimer à ce niveau.
Post conditions – Par symétrie, si certaines conditions particulières
doivent être réunies après l’exécution du cas, elles sont à exprimer à
ce niveau. Pour notre part, par souci de simplification nous n’avons
pas traité ce point dans les exercices et études de cas présentés.
Scénario nominal – Il s’agit là du scénario principal qui doit se dérouler
sans incident et qui permet d’aboutir au résultat souhaité.
Scénarios alternatifs – Les autres scénarios, secondaires ou
correspondants à la résolution d’anomalies, sont à décrire à ce niveau.
Le lien avec le scénario principal se fait à l’aide d’une numérotation
hiérarchisée (1.1a, 1.1b…) rappelant le numéro de l’action concernée.
Exercice 1.
Énoncé
Une bibliothèque universitaire souhaite automatiser sa gestion.
Cette bibliothèque est gérée par un gestionnaire chargé des inscriptions et
des relances des lecteurs quand ceux-ci n’ont pas rendu leurs ouvrages au-
delà du délai autorisé. Les bibliothécaires sont chargés de gérer les
emprunts et la restitution des ouvrages ainsi que l’acquisition de nouveaux
ouvrages.
Il existe trois catégories d’abonné. Tout d’abord les étudiants qui
doivent seulement s’acquitter d’une somme forfaitaire pour une année afin
d’avoir droit à tous les services de la bibliothèque. L’accès à la bibliothèque
est libre pour tous les enseignants.
Acteurs :
étudiant,
externe,
enseignant,
emprunteur,
gestionnaire,
bibliothécaire.
System
S'inscrire
Etudiant
Consultater catalogue
Particulier
gestionnair
Emprunter Livre
emprunteur
Restituer livre
bibliothècaire
Approvisionner livre
Enseignant
Relancer emprunteur
B. LE DIAGRAMME D’ACTIVITES
1. PRESENTATION
Le diagramme d’activité présente un certain nombre de points
communs avec le diagramme d’état-transition puisqu’il concerne le
comportement interne des opérations ou des cas d’utilisation. Cependant le
comportement visé ici s’applique aux flots de contrôle et aux flots de données
propres à un ensemble d’activités et non plus relativement à une seule
classe.
Les concepts permettant de manipuler ou de modéliser un
diagramme d’activités sont les suivants :
Nœud initial (état initial),
Nœud final (état final),
Nœud de fin flot (état de sortie),
Nœud de décision (choix).
- nœud de bifurcation,
- nœud de jonction,
- nœud de fusion,
- pin d’entrée et de sortie,
- flot d’objet,
- partition.
Voici la description de chaque concept pour le diagramme
d’activités.
a. Action
Une action correspond à un traitement qui modifie l’état du
système. Cette action peut être appréhendée soit à un niveau élémentaire
proche d’une instruction en termes de programmation soit à un niveau plus
global correspondant à une ou plusieurs opérations.
Formalisme et Exemple.
b. Transition
Dès qu’une action est achevée, une transition automatique est
déclenchée vers l’action suivante. Il n’y a donc pas d’événement associé à la
transition.
Formalisme
Transition
Action 1 Action 2
c. Activité
Une activité représente le comportement d’une partie du système
en termes d’actions et de transitions.
DemanderInscription EnregistrerCoordonnées
d. Nœud de Bifurcation
Un nœud de bifurcation (fourche) permet à partir d’un flot unique
entrant de créer plusieurs flots concurrents en sortie de la barre de
synchronisation.
Formalisme et Exemple
reception paiement
Comptabiliser ValiderFacture
Encaisser
f. Nœud de Test-décision
Un nœud de test-décision permet de faire un choix entre plusieurs
flots sortants en fonction des conditions de garde de chaque flot. Un nœud
de test-décision n’a qu’un seul flot en entrée. On peut aussi utiliser
seulement deux flots de sortie : le premier correspondant à la condition
vérifiée et l’autre traitant le cas sinon.
Formalisme et Exemple
Passer Commander
g. Nœud d’Objet
Un nœud d’objet permet de représenter le flot de données véhiculé
entre les actions.
Formalisme et Exemple
[Facture] [NomObjet]
h. Partition
UML permet aussi d’organiser la présentation du diagramme
d’activité en couloir d’activités. Chaque couloir correspond à un domaine de
responsabilité d’un certain nombre d’actions. Les flots d’objets sont aussi
Commander
Enregistrer Commande
[commande]
Editer Facture
Regler Facture
[Facture]
Receptionner Produit
C. DIAGRAMME DE SEQUENCE
1. PRESENTATION
L’objectif du diagramme de séquence est de représenter les
interactions entre objets en indiquant la chronologie des échanges. Cette
représentation peut se réaliser par cas d’utilisation en considérant les
différents scénarios associés.
Un diagramme de séquence se représente globalement dans un
grand rectangle avec indication du nom du diagramme.
sd NomDiagramme
2. LIGNE DE VIE
Une ligne de vie représente l’ensemble des opérations exécutées
par un objet. Un message reçu par un objet déclenche l’exécution d’une
opération. Le retour d’information peut être implicite (cas général) ou
explicite à l’aide d’un message de retour.
4. FRAGMENT D’INTERACTION
b. Opérateur alt
L’opérateur alt correspond à une instruction de test avec une ou
plusieurs alternatives possibles. Il est aussi permis d’utiliser les clauses de
type sinon.
Formalisme
L’opérateur alt se représente dans un fragment possédant au
moins deux parties séparées par des pointillés.
sd Diagramme de sequence
3 : resultat
alt alt
[stock suffisant]
4 : commande validée
................................................................................................................................
[stock insuffisant]
5 : commande rejetee
c. Opérateur opt
L’opérateur opt (optional) correspond à une instruction de test sans
alternative (sinon).
Formalisme et Exemple
L’opérateur opt se représente dans un fragment possédant une seule partie.
Utilisateur Systeme
1 : Saisir Coordonnees()
2 : Verifier Authentification()
seq opt
[ si utilisateur enregistre]
3 : donner acces
d. Opérateur loop
L’opérateur loop correspond à une instruction de boucle qui
permet d’exécuter une séquence d’interaction tant qu’une condition est
satisfaite.
Formalisme et exemple.
L’opérateur loop se représente dans un fragment possédant une
seule partie et englobant toutes les interactions faisant partie de la boucle.
Association Adhérent
I. UP.
UML n’est qu’un langage de modélisation. Nous n’avons pas
aujourd’hui dans la norme, de démarche unifiée pour construire les modèles
et conduire un projet mettant en œuvre UML ; c’est ainsi que le processus
unifié doit être associé à UML
• Construction.
• Transition.
a. INCEPTION
Cette phase correspond à l’initialisation du projet où l’on mène une
étude d’opportunité et de faisabilité du système à construire. Une évaluation
des risques est aussi réalisée dès cette phase.
En outre, une identification des principaux cas d’utilisation
accompagnée d’une description générale est modélisée dans un diagramme
de cas d’utilisation afin de définir le périmètre du projet. Il est possible, à ce
stade, de faire réaliser des maquettes sur un sous-ensemble des cas
d’utilisation identifiés. Ce n’est qu’à l’issue de cette première phase que l’on
peut considérer le projet véritablement lancé.
b. ELABORATION
Cette phase reprend les résultats de la phase d’inception et élargit
l’appréciation de la faisabilité sur la quasi-totalité des cas d’utilisation. Ces
cas d’utilisation se retrouvent dans le diagramme des cas d’utilisation qui est
ainsi complété.
Cette phase a aussi pour but d’analyser le domaine technique du
système à développer afin d’aboutir à une architecture stable. Ainsi, toutes
les exigences non recensées dans les cas d’utilisation, comme par exemple
les exigences de performances du système, seront prises en compte dans la
conception et l’élaboration de l’architecture.
L’évaluation des risques et l’étude de la rentabilité du projet sont
aussi précisées. Un planning est réalisé pour les phases suivantes du projet
en indiquant le nombre d’itérations à réaliser pour les phases de
construction.
c. CONSTRUCTION
Cette phase correspond à la production d’une première version du
produit. Elle est donc fortement centrée sur les activités de conception,
d. TRANSITION
L Après les opérations de test menées dans la phase précédente, il
s’agit dans cette phase de livrer le produit pour une exploitation réelle. C’est
ainsi que toutes les actions liées au déploiement sont traitées dans cette
phase. De plus, des « bêta tests » sont effectués pour valider le nouveau
système auprès des utilisateurs.
Dans cet exemple, nous avons l’utilisateur ou acteur « Client » qui utilise
directement le système c’est pourquoi, il touche le système. Le système est
représenté par l’oval dans lequel c’est écrit « GESTION DE RESERVATION
DES VOLS ». Ce système se trouve dans un domaine (le rectangle), nous y
trouvons deux types d’acteurs :
- L’acteur Agent Comptoir : c’est un acteur interne au domaine et
externe au système comme caissier et chargé des opérations
aériennes. Mais il est un acteur d’interface dans le sens qu’il est en
contact physique avec les acteurs externes au domaine.
- Caissier et Chargé des Opérations : sont les acteurs internes du
domaine qui sont des contrôleurs, c’est-à-dire qu’ils ont niveau de
décision dans le processus.
b. ANALYSE
L’analyse permet une formalisation du système à développer en
réponse à l’expression des besoins formulée par les utilisateurs. L’analyse se
concrétise par l’élaboration de tous les diagrammes donnant une
représentation du système tant statique (diagramme de classe
c. CONCEPTION
La conception prend en compte les choix d’architecture technique
retenus pour le développement et l’exploitation du système. La conception
permet d’étendre la représentation des diagrammes effectuée au niveau de
l’analyse en y intégrant les aspects techniques plus proches des
préoccupations physiques.
d. IMPLEMENTATION
Cette phase correspond à la production du logiciel sous forme de
composants, de bibliothèques ou de fichiers. Cette phase reste, comme dans
toutes les autres méthodes, la plus lourde en charge par rapport à
l’ensemble des autres phases (au moins 40 %).
e. TEST
Les tests permettent de vérifier :
• la bonne implémentation de toutes les exigences (fonctionnelles et
techniques),
• le fonctionnement correct des interactions entre les objets,
• la bonne intégration de tous les composants dans le logiciel.
I. CONSIDERATION THEORIQUE
A. INTRODUCTION
B. PRESENTATION DE SYSML
Exemple :
Soit à concevoir un lecteur MP3 pour la lecture de la musique.
C. LE DIAGRAMME DE CONTEXTE
Ce diagramme complète éventuellement la description fonctionnelle
en présentant tous les éléments externes qui influencent le système étudié et
le système lui-même.
C. LE DIAGRAMME PARAMETRIQUE
A. LE DIAGRAMME DE SEQUENCE
Le diagramme de séquence représente les éléments intervenant
dans le scénario, ainsi que les échanges de messages entre le système et des
acteurs, ou entre des parties du système, de manière chronologique en
précisant d'éventuelles contraintes de temps. La lecture d'un tel diagramme
se fait de haut en bas.
Dans un premier temps, on peut choisir de représenter les
interactions entre l'acteur et le système (vue boite noire). Par la suite il est
possible de rentrer en détails avec un diagramme de séquence qui représente
les blocs internes du système intervenant dans un scénario (pour un
message émis par l'acteur, le diagramme décrit l’enchaînement des messages
échangés entre les blocs internes du système) ; on parle ainsi de la vue boite
blanche (comportement du système).
B. LE DIAGRAMME D’ACTIVITES
Le diagramme d'activité est utilisé pour représenter les étapes d'un
traitement. Avec SysML, les « input et output pins » sont particulièrement
utilisés pour représenter le type d'élément qui est requis en entrée d'une
activité ou action, et ce qui est généré en sortie.
Si une action ou activité représente l'opération d'un bloc, on peut
garantir la cohérence du modèle en s'assurant que ce qui est défini en entrée
d'une activité corresponde à la signature de l'opération du bloc ou de son
interface.
IV. ILLUSTRATION
Pour une étude plus concrète, nous proposons dans le ligne qui suive l’Atélier de
Génie Logiciel MODELIO.
BIBLIOGRAPHIE
- Alissali, M. (1998). Support de cours introduction au génie logiciel.
- Bell, D. (2004). Uml’ssequencediagram.)
- Debrauwer, L. & Van der Heyd, F. (2005). Uml 2 initiation, exemples
etexercices corrigés. eni.
- Developpez.com. (n.d.). Club d’entraide des développeurs
francophones.Internet.(http ://www.developpez.com/)
- Morand, B. (n.d.). Analyse et conception des systèmes d’information :
Lesdiagrammes de unifiedmodelinglanguage (uml).
- Muller, P.-A. &Gaertner, N. (2000). Modélisation objet avec uml.Eyrolles.
- Hughes BERSINI, L’orienté Objet, Eyrolles, 2004.
- Michael BLAHA, James RAMBAUGH − Modélisation et conceptionorientées
objet avec UML 2, Pearson Education, 2005.
- Alistair COCKBURN, Rédiger des cas d’utilisation efficaces, Eyrolles,2001.
- ACSIOME, Modélisation dans la conception des systèmes
d'information,Masson, 1989
- C. TESSIER, La pratique des méthodes en informatique de gestion,LesEditions
d'Organisation, 1995
- Daniel Durand, La systémique, PUF "Que sais-je?" n°1795, 1979
- Gérard Donnadieu & Michel Karsky, La systémique: penser et agir dansla
complexité, Liaisons,2002