Académique Documents
Professionnel Documents
Culture Documents
Les données sont les entités qui contiennent les frais et les chiffres brutes alors
qu’une information est la collecte des données utile capable de fournir les
connaissances de manière particulière.
Les données utilisés comme entrée doivent être traité et organiser d’une manière
particulière pour générer une sortie c’est-à-dire les informations.
Les données n’ont aucune signification réelle alors que les informations ont une
certaine signification.
En conclusion, données et information sont des termes que nous utilisons et qui font partis
de la hiérarchie de l’intelligence et diffèrent dans la manière donc les données ne sont pas
significatives mais les informations formées par les données traitées sont significative dans
leur contexte.
1. Le système de pilotage
Il est chargé de diriger l’entreprise et de prendre les décisions sur les actions à conduire. Il
contrôle le système opérant en décidant de son comportement compte tenu des objectifs de
l’entreprise.
2. Le système opérant
Ce système assure l’exécution des tâches en transformant les flux d’entrée en flux de sortie.
Un flux est un échange d’information entre deux acteurs. Il communique avec le système de
pilotage à travers le système d’information.
3. Le système d’information
Ce système s’occupe de collecter, traiter, stocker et diffuser l’information dans l’entreprise.
Il reçoit du système opérant les données collectées les transformes en information utile et
informe le système de pilotage des performances du système opérant.
Environnement
Système de pilotage
4.
Réfléchit, décide, contrôle
Information
Système d’information
1. Langage de modélisation
Merise propose de considérer le système réel selon deux points de vue (une vue
statique (données) et une vue dynamique (traitement)) c’est-à-dire qu’avec la
méthode MERISE, nous avons une étude séparé des données et des traitements alors
que UML propose une approche différente de celle de merise en ce sens qu’il associe
les données et les traitements.
Chapitre 2 : MODELISATION STATIQUE
I. LES METHODES OU DEMARCHE DE CONSTRUCTION LOGICIELLE
Une méthode d’analyse et de conception est un procède qui a pour objectifs de formaliser
les étapes préliminaires de développement d’un système afin de le rendre plus fidèle aux
besoins du client.
Avantages de merise
Elle est adoptée à la modélisation d’une base de données(BD) en vue de la
construction d’une BDR
Elle permet la formalisation des besoins des utilisateurs dans le cadre d’un cahier de
charge en vue de la conception logicielle adaptée
b) UML
UML c’est l’acronyme anglais pour (Unified Modeling Langage) on le traduit par « langage de
modélisation unifié »
La notion UML est un langage visuel constitué d’un ensemble de schéma appelé des
diagrammes qui donnent chacun une vision différente du projet à traiter
UML nous fournit donc des diagrammes pour représenter le logiciel à développer :
Son fonctionnement
Sa mise en route
Les actions susceptibles d’être effectué par le logicielle
Réaliser ces diagrammes revient dont à modéliser les besoins du logiciel à développer
Un modelé est une abstraction de la réalité. Un modèle est une vue subjective mais
pertinente de la réalite.Ce n’est pas la « réalité »mais une vue subjective de la réalité.
Bien qu’un module ne représente pas une réalité absolue il reflète des aspects importantes
de la réalité il en donne une vue juste et pertinente.
Modéliser c’est décrire de manière visuelle et graphique les besoins et les solutions
fonctionnelles et techniques de votre projet.
Un objet est une entité aux frontières précises qui précède une identité (un nom)
Un objet est une instance de classe (une occurrence d’un type abstrait)
Une classe est un type de donnée abstrait caractérisé par des propriétés (attributs et
méthodes) communes à des objets et permettant de créer des objets possédant ces
propriétés.
Document
+code document : Int
+code document : string
+type document : string
+calculer date de rappel () : date
b. L’héritage
L’héritage est un mécanisme de transmission des propriétés d’une classe (ses attributs et
méthodes) vers une sous classe. Une classe peut être spécialisée en d’autre classe afin d’y
ajouter des caractéristiques spécifiques ou d’en adopter certaines. Plusieurs classes peuvent
être généralisées en une classe qui les factorise afin de regrouper les caractéristiques
communes d’un ensemble de classes.
c. Le polymorphisme
d. L’agrégation
Il s’agit d’une relation entre deux classes, spécifiant que les objets d’une classe sont des
composantes de l’autre classe. Une relation d’agrégation permet donc de définir des objets
composés d’autres objets. L’agrégation permet d’assembler des objets de base afin de
construire des objets plus complexes.
Ainsi UML définit 09 types de diagrammes dans deux catégories de vue : les vues statiques et
les vues dynamiques.
Vues statiques
Les diagrammes de cas d’utilisation décrivent le comportement et les fonctions d’un
système du point de vue de l’utilisateur
Les diagrammes de classes décrivent les structures statiques, les types et les relations
d’un ensemble d’objet. Représente les classes constituant le système et les
associations entre elle
Les diagrammes d’objet décrivent les objets d’un système et leurs relations
Les diagrammes de composants décrivent les composants physiques et l’architecture
interne d’un logiciel
Les diagrammes de déploiement décrivent la répartition des programmes
exécutables sur les différents matériels.
Vues dynamiques
Les diagrammes de collaboration décrivent les messages entre objets (liens et
interactions)
Les diagrammes d’état-transitions décrivent les différents états d’un objet
Les diagrammes de séquence décrivent de manière temporelle les
interactions entre objet et acteur
A. LE DIAGRAMME DE CLASSE
1. PRESENTATION
1. Les notions d’objet /de classe
A la différence d’une entité qui comporte des attributs (MCD merise) un objet est définit à la
fois par les informations et les comportements.
Une classe est une collection d’objet de caractéristiques communes. Les informations sont
des données portées par l’objet, on les nomme aussi attribut pour donner au variable
d’instance. Les comportements sont les traitements applicable à l’objet on les nomme aussi
méthode ou opération. Une classe est une représentation abstrait d’un ensemble d’objet
elle contient des informations nécessaire à la construction de l’objet (attribut, méthode)
La classe peut donc être considérer comme le model, le moule ou la rotule qui va permettre
la construction d’un objet. On dit également qu’un objet est l’instance d’une classe.
Le diagramme de classe est le plus important des diagrammes d’UML c’est le seul qui soit
obligatoire lors de la modélisation objet d’un système.
Un attribut est une caractéristique sur les objets d’une classe. Il a un nom, un type
Une opération ou méthode est une fonction ou procédure pouvant être appliquée aux
objets par les autres objets. Elle possède un nom et éventuellement une liste de paramètre
(argument) et un type de retour.
Une classe est représentée par un rectangle (appelé aussi classeur) divise en 03
compartiments :
Nom de la classe
-Nom attribut 1 : type
-Nom attribut 2 : type
-Nom attribut 3 : type
+Nom méthode 1 () : void
+Nom méthode 2 () : void
5. Exemple
Un élève est caractérisé par son nom, son âge et son adresse de résidence. Au cours du
temps pour mettre à jour l’objet élève il faudra par exemple modifier son âge et ceci peut
être fait au moyen d’une fonction change Age (). On peut ainsi concevoir une multitude de
m méthode permettant la mise à jour d’un objet.
Élève
-Nom : texte
-Adresse : texte
-Age : entier
+Change Age () : void
Une instance de la classe élève est donc vue comme une occurrence d’entité Merise et est
ainsi appelé objet élève 1 ; élève 2 ;……..élève n sont vus comme des objets de la classe
élève. On rappelle que l’obligation d’avoir un attribut identifiant comme c’est le cas pour
Merise n’en est pas une pour UML sauf si cela est requis. Le type void signifie que
l’opération n’est pas d’un type connu.
La visibilité est l’aptitude d’une méthode ou d’un attribut à être repéré. Ainsi les propriétés
auront un accès :
Chaque extrémité d’une association peut être nommé ce nom est appelé rôle et indique la
manière dont l’objet est vu de l’autre cote de l’association.
2. Le concept de cardinalités
Les associations sont typiquement destinées à représenter les relations durables entre les
classes ; elles sont utilisées pour représenter les attributs de la classe et comme nous l’avons
vu pour un attribut il est possible d’utiliser la multiplicité pour indiquer le nombre d’instance
(d’une classe donnée) qui sont impliqués dans la relation.
La cardinalité indique le nombre d’instances de la classe étant en relation avec la classe situé
à l’autre extrémité de l’association.
Cardinalités Significations
0…1 Zéro à un
1…1 Une et une seule fois
0…* De zéro à plusieurs fois
1…* De un à plusieurs fois
m…n Entre m à n fois
n…n N fois
A la différence d’un MCD la cardinalité d’une classe est placée de l’autre côté de l’association
et inversement.
3. La notion de classe d’association
Lorsqu’une association est caractérisé par des attributs ne pouvant parvenir en raison des
cardinalités (multiplicité) affectées à aucune des classes de l’association elle est complétée
d’une classe particulière dite « classe d’association » qui contiendra les attributs de cette
association.
élève Matière
Notation
4. Association réflexives
Une association qui lie une classe avec elle-même est une association réflexive.
Parents
Personne
Nom : string
Prénom : string
5. Association n’aire
Une association qui lie plus de deux classes entre elle est une association n-aire .
L’association se représente par un losange ou par un trait allant à chaque classe il est
imprécis, difficile à interpréter et souvent source d’erreur. Elle est donc très peu utilisée la
plupart du temps nous nous en servons que pour esquiver la modélisation au début du
projet puis elle est vite remplacée par un ensemble d’association binaire afin de lever toute
ambiguïté.
6. Les concepts avancés
a. L’agrégation
Il existe deux sortes d’agrégation : l’agrégation faible ou simple et l’agrégation forte ou
composée communément appelé composition. Ce concept traduit la relation d’inclusion ou
contenance d’une classe dans une autre. Lorsque la destruction d’une entité n’entraine pas
la destruction de l’autre avec laquelle elle est en relation alors l’agrégation est qualifiée de
faible
Exemple : un véhicule appartient à plusieurs types.
voiture type
b. La composition
La composition est un cas particulier de l’agrégation dans laquelle la vie des composants est
liée à celle des agrégats. Elle fait souvent référence à une contenance physique. Dans la
composition l’agrégat ne peut être multiple il implique en plus de l’agrégation une
coïncidence des durées de vie des composants : la destruction de l’agrégat (ou conteneur)
implique automatiquement la destruction de tous les composants lies.
Par exemple si on considère les deux entités voitures et moteur, il est clair que la relation qui
lie les deux entités est la contenance d’une entité dans l’autre et il apparait clairement que
la destruction de l’entité voiture entraine la destruction de l’entité moteur. On dit alors qu’il
y a agrégation forte ou composée ou composition. On le représente comme suite :
c. L’héritage
L’héritage indique qu’une classe B est une représentation d’une classe A. la classe B (appelé
classe fille, classe dérivée ou sous classe) hérite des attributs et des méthodes de la classe A
(appelé classe mère, classe de base ou super classe) il se représente par un triangle vide afin
d’indiquer le sens de la généralisation (inverse de la spécialisation)
L’héritage peut être simple ou multiple. La spécialisation est l’opération opposée à la
généralisation.
Plusieurs classes peuvent être généralisées en une seule qui les factorise afin de regrouper
les caractéristiques commune d’un ensemble de classe : c’est la généralisation
L’héritage (généralisation ou spécialisation) permet de constituer les hiérarchies de classe
elle évite la duplication et encourage la réutilisation.
Homme Femme
Généralisation
Personne
-Nom : texte
-Prénom : texte
-Age : entier
B. LE DIAGRAMME D’OBJET
I. Définition et rôle
Un diagramme d’objet est la représentation d’un ensemble d’objet et de lien exprimant une
structure statique.
Un objet est l’instance d’une classe : il représente l’état d’une classe à un instant précis.
Un diagramme d’objet est une instance d’un diagramme de classe et illustre l’état d’un
système à un moment donné.
Le diagramme d’objet s’utilise principalement :
Pour monter un contexte
Ex : avant ou après une interaction
Pour faciliter la compréhension des structures de donné complexe comme la
récursivité
Un diagramme d’objet est compose :
D’objet (instance de classe)
De lien (instance d’association)
Un lien représente une relation entre les objets à un instant donné ; la multiplicité des
extrémités des liens est toujours de 1.
La notation des diagrammes d’objet est dérivée de celle des diagrammes de classe.
II. Représentation graphique
Chaque objet est représenté dans un rectangle dans lequel figure le nom de l’objet souligné)
et éventuellement la valeur d’un ou plusieurs de ces attributs.
Comme pour la représentation d’une classe, la représentation d’un objet pourra être plus ou
moins détaillée
On distingue les représentations suivantes :
Nom de l’objet
Première représentation
Instance nommé d’une classe anonyme
Ex : voiture de Lucas Voiture de Lucas
Deuxième représentation
Troisième représentation
: classe
Instance anonyme de la classe classe
Ex : : Voiture
voiture moteur
: voiture : moteur
: roue
I. Définition et rôle
1. Définition
Un cas d’utilisation est un ensemble de séquence d’action qui sont réalisé par le système et
qui produis un résultat observable pour un acteur particulier d’un système.
Un cas d’utilisation (use case) décrit le comportement du système point de vue de
l’utilisateur. Il représente une fonctionnalité par laquelle un acteur se sert du système.
Le Use case permet de définir les limites du système et les relations entre le système et son
environnement.
Un cas d’utilisation est une manière spécifique d’utiliser le système c’est l’image d’une
fonctionnalité en réponse à la stimulation d’un acteur externe.
Nom de l’acteur
2. Les cas d’utilisation : élément de l’interface d’utilisation
Un cas d’utilisation est une suite d’évènement souvent initié par un des acteurs qui
correspond à une situation particulière du système.
Le cas d’utilisation ou Use case correspond à un objectif du système motivé par un besoin
d’un ou de plusieurs acteurs.
a. Identifier les uses cases
Chaque cas d’utilisation doit décrire les exigences fonctionnelles du système
Chaque cas d’utilisation correspond à une fonction métier du système (besoin des
utilisateurs et possibilités du système)
Il convient donc de rechercher pour chaque acteur :
Les différentes intentions métiers avec lequel il utilise le système
Déterminer les services fonctionnels attendus du système
b. Formalisme
Un cas d’utilisation se représente par une éclipse contenant le nom du cas d’utilisation
(phrase commençant par un verbe à l’infinitif) et optionnellement un stéréotype au-dessus
du nom.
Frontière du Cas
système d’utilisation association
Nom du
système
Retirer l’argent
acteur
Porteur carte
Consulter ses
soldes
Système auto
Effectuer un
Client banque
virement
Effectuer une
maintenance S.I banque
Operateur maintenance
III. Les concepts de base
1. La relation d’inclusion
Le cas d’utilisation A contient (include) et le cas d’utilisation B. si A utilise tous les
comportements de B, la relation d’inclusion sert un à décomposer un cas d’utilisation
complexe a un cas d’utilisation simple.
Ex : pour une consultation de solde ou un retrait d’argent le client doit automatiquement
s’identifier (mot de passe) : d’où la relation include.
Dans un diagramme de cas d’utilisation cette relation est représenté par une flèche en
pointille reliant les deux cas d’utilisation et menu du stéréotype include
L’inclusion permet de :
Partager une fonctionnalité commune entre plusieurs cas d’utilisation
Décomposer un cas d’utilisation complexe en décrivant ses sous fonctions.
Retirer de
l’argent
Porteur de carte
Consulter « Include »
le solde
Système auto
« Include »
Effectuer un
Client de la banque virement
« Include »
Effectuer la
maintenance
S’authentifier
Si de la banque
Operateur maintenance
2. Relation d’extension
Elle indique que le cas d’utilisation source ajoute son comportement au cas d’utilisation
destinataire. Comme la relation include, la relation d’extension enrichit un cas d’utilisation
par un autre cas d’utilisation. Cette relation permet de modéliser les variables de
comportement d’un cas d’utilisation. Elle est représenté par une flèche en pointille reliant
les deux cas d’utilisation et menu du stéréotype extend.
Ex : le G.A.B (guichet automatique de banque) permet à son utilisateur d’imprimer un reçu
s’il le désire.
Imprimer un
reçu
Retirer de
Porteur de carte
l’argent
« Extend »
« Include »
Consulter
le solde Système auto
« Include »
Effectuer la
maintenance Si de la banque
S’authentifier
Operateur maintenance
3. -Relation de généralisation ou de spécialisation
Dans une généralisation entre deux cas d’utilisation, le cas d’utilisation enfant est une
spécialisation du cas d’utilisation parent.
Un acteur peut également participer à une relation de généralisation avec d’autre acteur.
La relation de généralisation est représentée par une flèche avec extrémité triangulaire.
Ex : l’expert métier précise que le GAB situer dans une zone internationale devra donc
fournie la somme d’euro
Imprimer un
reçu
Retirer de
Porteur de carte Dollars
l’argent
Euro « extend »
« Include »
Consulter
le solde Système auto
« Include »
« Include »
Effectuer la
maintenance Si de la banque
S’authentifier
Operateur maintenance
D. DIAGRAMME DE SEQUENCE
1. Définition et rôle
Le diagramme de séquence est la représentation graphique des interactions entre les
acteurs et le système selon un ordre chronologique.
En général un diagramme de séquence illustre un cas d’utilisation. Pour un système étudie
on retrouve donc plusieurs en fonction des cas d’utilisation les plus complexes.
2. Caractéristiques d’un diagramme de séquence
a. Délimitation du diagramme de séquence
Un diagramme de séquence est placé dans un rectangle qui dispose d’une étiquette SD en
haut à gauche (qui signifie sequence diagram) suivit du nom du diagramme.
b. L’objet
Dans un diagramme de séquence l’objet à la même représentation que dans un diagramme
d’objet. C’est-à-dire un rectangle dans lequel figure le nom de l’objet il est généralement
souligné et peut prendre l’une des quatre formes suivantes confer cours sur le diagramme
d’objet)
c. La ligne de vie
A chaque objet est associe une ligne de vie (en trait pointillé à la verticale de l’objet) qui peut
être considère comme axe temporel (le temps s’écroule de haut en bas). Dans ce genre de
diagramme, la quantification du temps n’a pas d’importance. La ligne de vie indique les
périodes d’activité de l’objet (généralement les moments ou l’objet exécute une de ces
méthodes). Lorsque l’objet est détruit la ligne de vie s’achevé par une croix.
d. Les messages
Un message définit une conversation particulière entre les lignes de vie ainsi un message est
une conversation d’un objet vers un autre objet. La réception d’un message est considérée
par l’objet récepteur comme un évènement qu’il faut traiter ou pas. Plusieurs messages
existent, les plus communs sont :
L’invocation d’une opération : message synchrone (appel d’une méthode de l’objet
cible)
L’envoi d’un signal : message asynchrone (typiquement utilise pour la gestion
évènementielle)
La création ou la destruction d’une instance de classe au cours du cycle principale
Les messages synchrones : la réception d’un message synchrone doit provoquer chez
le destinataire le lancement d’une de ces méthodes qui souvent porte le même nom
que le message). L’expéditeur du message reste bloqué pendant l’exécution de la
méthode et attend dont la fin de celle-ci avant de pouvoir lancé un autre message.
C’est le message le plus fréquenté utilisé.
Les messages asynchrone : ici l’expéditeur n’attend pas la fin de l’activation de la
méthode invoque chez le destinataire. Un message asynchrone peut être :
Un appel de méthode
Un signal (cas le plus fréquent) : l’objet expéditeur transmet juste une information à
l’objet destinataire
3. Représentation et avantages
Dans un diagramme de sequence, les envois de message sont représentés par une flèche
horizontale qui va de la ligne de vie de l’objet émetteur du message vers la ligne de vie de
l’objet récepteur du message.
Les messages synchrones : flèche avec triangle plein à son extrémité pour sa
représentation
Les messages asynchrones : ils sont représentés par des simples flèches
Les messages retours (réponse) : sont représentés par des simples flèches en
pointillé.
1 : messages ()
Retour
2 : messages ()
La création d’un objet est matérialisée par un message spécifique, appel du constructeur
généralement accompagné du stéréotype create qui pointe sur le début de la ligne de vie de l’objet
créé.
Destruction d’un objet est représentée par une croix à la fin de sa ligne de vie. Souvent l’objet est
détruit suite à la réception d’un message mais ce n’est pas obligatoire. Dans ce cas-là il porte le
stéréotype destroy.
La plupart du temps dans un diagramme de sequence nous pouvons nous contenter de définir un
message par :
Son nom : qui est le nom de la méthode appelé ou du signal envoyé : nous pouvons lui adjoindre
facultativement :
Une numérotation devant le nom du message (séparer du nom du message par deux points).
La numérotation s’effectue séquentiellement à partir de 1
Les paramètres passés à la méthode ou au signal (entre parenthèse après le nom du
message)
Comme pour les messages synchrone et asynchrone nous pouvons nous contenter de donner au
message de retour un simple nom. Mais nous pouvons aussi les caractérise plus précisément en
utilisant la syntaxe suivantes :
SD instauration communication
téléphonique
ssss
Téléphone
2 : composer numéro
2.1 sonner
2.1.1 : décrocher
Elève
Matricule Nom Date de naissance Quartier
Ly 001 Tjeck 2002 Pk 12
Ly 002 Toto 2004 Pk 12
Ly 003 Tata 2006 Pk 13
Ly 004 Abi 2006 Pk 14
Ly 005 René 2007 Pk 14
Insert into Elève (Matricule, Nom, Date de naissance, Quartier)
(Ly 001, Ly 002, Ly 003, Ly 004, Ly 005)
Il est possible d’indiquer seulement une partie des champs
La liste des champs est facultative lorsque l’on ne la donne pas cela correspond à
indiquer tous les champs
L’ordre des valeurs doit correspondre à l’ordre des champs qui ont été donne.
2. Modification d’un enregistrement
La modification d’un enregistrement se fait partiellement ou en totalité on utilise la syntaxe :
Up Date Nom_table
Set champ 1= val 1, champ 2= val 2, …, champ n = val n
Where condition
Pour modifier en totalité on utilise la syntaxe ci-après :
Replace into Nom_table
Valeurs (val 1, val 2,…, val n)
Ex : Up Date Elève Replace into Elève
SET Date de naissance =2003 valeurs (on met les nouvelles valeurs)
Where Nom= « Toto »
3. Suppression d’un enregistrement
La syntaxe de suppression d’un enregistrement est :
Delete From Nom_table
Where condition
IV. Interrogation des données
La sélection d’un enregistrement est la requête la plus employé en langage SQL.
Elle permet de rechercher les informations à partir d’une ou des tables suivantes d’éventuel
critère.
Elle retourne une valeur ou un pseudo, sa syntaxe est la suivante :
Select [ALL] [Distinct] [Attribut]*
From liste des tables
Where condition
[Group by] liste des champs
[Having] condition
[Order by] liste des champs (ASD)/ (DSC)
ASD= ascendant DSC= descendant *=tous les champs
Une requête select suit la procédure suivante :
On choisit les tables avec la close From. Lorsqu’il y en a plusieurs on parle de jointure
On filtre les enregistrements avec la close Where : on parle de restriction
On regroupe les enregistrements avec la close Group by : on parle de regroupement
On tri les enregistrements avec la close order by
On sélectionne les colonnes avec la close select on parle de projection
Ex : afficher le nom et le matricule des élèves
Select nom, matricule
From élève
Ca va afficher
Matricule Nom
Ly 001 Tjeck
Ly 002 Toto
Ly 003 Tata
Ly 004 Abi
Ly 005 René
Client
Num_cli Nom_cli Adresse_cli Tel_cli
Cli 001 Toto Pk 12 762
cli-002 Tète Pk 13 761
cli-003 Tata Pk 12 764
commande
Num_com Num_cli Date_com
Com 001 Cli 001 01/01/2001
Com 002 Cli 002 12/12/2020
Com 003 Cli 002 03/02/2020
Com 004 Cli 003 03/02/2020
Afficher le nom et matricule des clients qui ont passé la commande le 03/02/2020
Select Nom, Adresse, Date_com
From client, com
Where client. Num_cli=commande. Num_cli AND Date = « 03/02/2020 »
La close having
Elle fonctionne comme la close where mais pour les éléments d’un même groupe
Ex : code des matières pour lesquels au moins deux élèves ont composé
Select code
From Note
Group by code
Having count note >=2
La jointure
La requête commence par la projection des champs situés dans les tables différentes
La condition de jointure est matérialisé par la close where
Le tri
Cette requête permet de classer les éléments par ordre croissant (ASD) et décroissant (DSC)
Ex : Select Nom, quartier
From Elève
Order by quartier ASD, Nom DSC