Académique Documents
Professionnel Documents
Culture Documents
Approche Systme
Introduction
II
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
1
2
2
3
4
4
5
6
6
10
10
12
Comportement interne
Diagramme de squences
a)
Rappel . . . . . .
b)
Nouveauts . . .
2
Diagramme dtat stm
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
14
14
14
14
14
III
sd
. . .
. . .
. . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Objectif :
Savoir dcrire un systme selon le modle de chane fonctionnelle (chane dnergie et chane
dinformation)
Savoir dcomposer un systme en sous-systmes et constituants.
Savoir lire et dcrire la dfinition de ces constituants.
Savoir dcrire les interactions entre constituants dun systme.
3 septembre 2014
Approche Systme
I.
Introduction
Dans le cours prcdent, nous avons tudi lanalyse fonctionnelle externe, cest dire lanalyse du besoin,
des fonctions remplir et du contexte dans lequel notre systme va tre utilis.
Lobjet de se cours est de rentrer dans la structure interne du systme. Lide consiste pouvoir dcrire
les diffrents constituants qui le compose, mais galement des interactions et intercommunications entre ces
diffrents lments.
II.
1
Lobjectif est de dcrire lintrieur dun systme, ses constituants, ses interactions, etc. Il existent plusieurs
stratgies pour dcrire lensemble des lments (comment doit-on couper notre systme ? quest ce qui fait partie
de telle ou telle sous-partie ? etc.)
Une premire manire de procder consiste sparer le systme en deux parties fonctionnelles : la chane
dnergie et la chane dinformation (fig.1).
Chane d'information
(La partie "intelligente"
ou partie "commande")
Chane d'nergie
(partie "active" ou
partie "oprative")
Figure 1 Le systme est spar en 2 parties : la partie intelligente (chane dinformation) et la partie active
(chane dnergie).
Chacune de ces deux chanes est elle-mme dcomposes en blocs fonctionnels (fig.2). Dtaillons chacune
de ces fonctions.
a)
La chane dinformation
1 / 15
Approche Systme
Chane dinformation
ACQURIR
TRAITER
Noms des
capteurs. . .
Noms des
systme de
traitement
COMMUNIQUER
Noms des
moyens de
communication
Matire
duvre
Ordres
Chane dnergie
ALIMENTER
DISTRIBUER
Noms des
distributeurs
Noms des
systmes
dalimentation
CONVERTIR
Noms des
convertisseurs
TRANSMETTRE
ADAPTER
Noms des
transmetteurs
AGIR
Noms des
Effecteurs
Matire
duvre
+
Valeur
ajoute
La chane dnergie
Les interfaces
Les interfaces permettent de donner des ordres de la chane dinformation la chane dnergie, mais aussi
dacqurir certaines donnes de la chane dnergie vers la chane dinformation.
Lyce Gustave Eiffel de Dijon
2 / 15
Approche Systme
Chane dinformation
ACQURIR
COMMUNIQUER
TRAITER
Ordres
Chane dnergie
ALIMENTER
DISTRIBUER
TRANSMETTRE
ADAPTER
CONVERTIR
AGIR
La chane fonctionnelle est, comme son nom lindique, une manire fonctionnelle de reprsenter la structure
dun systme. Par contre, nous allons voir dautres manires graphique de reprsenter cette structure.
Systme
Analyse de sa structure
Diagramme de dnition des blocs
bdd [Modle] Voiture [Constituant de la voiture]
<<block>>
Voiture
Values
vitesse-max : vitesse = 200
couleur-carosserie : couleur = "rouge"
marque : string = "Ferrari"
0..1
Acclrer()
Freiner()
Essui-glace()
...
<<block>>
Volan
Values
diamtre : longueur = 380
<<block>>
Roue
Values
pression-gonage : pression =2.4
diamtre : longueur = 400
<<block>>
jente
1
...
Values
1
<<block>>
Vilebrequin
1
<<block>>
Moteur
Values
puissance-moteur : puissance = 70
...
<<block>>
injection
<<block>>
bielle
Values
Values
...
Values
<<block>>
pneu
0..1
...
Values
<<block>>
pison
1
1
...
1 ...
1
0..1
Values
3 / 15
Approche Systme
a)
Introduction
La premire chose pour dcrire la structure dun systme est de dfinir lensemble des lments qui le
constitue.
Astuce 1 :
Pour dfinir ces structures lmentaires, on utilise le diagramme de dfinition des blocs bdd (Bloc
Diagram Definition en anglais fig.3). Le diagramme de dfinition des blocs doit prsenter un ou plusieurs
lments du systme. Par prsenter , on entend :
Donner un nom ce type dlment (on parlera de nom de classe) ;
Dire ce que cest (son type) (pice, assemblage, flux, un temps, etc.) ;
Donner ses dimensions/paramtres/variables caractristiques (ses valeurs) ;
Dire de quoi il est compos (ses membres) (quels sont les autres lments qui le constituent) ;
Dire ce quil peut faire (ses oprations)
A quels autres lments du systmes il peut tre associ.
Astuce 2 :
Pour analyser un systme dj existant, le plus simple faire une analyse descendante (fig.4), cest
dire dfinir dans lordre :
1. le systme en entier comme premier bloc ;
2. les sous-systme qui compose directement le systme entier ;
3. ... puis de remontrer les sous-sous-systme, sous-sous-sous-systme, etc. la manire dune
arborescence.
b)
Chaque bloque est reprsent par une boite, spare en plusieurs parties (fig.5).
Lentte : elle est compos :
du mot cl donnant le type dobjet. En gnral, on mettra block pour un lment physique concret. Le
mot cl system permet de dire quil sagit du systme global. Le mot cl valueType permet de dfinir
quil sagit de la dfinition dun type de valeur et non dun lment physique.
du nom du bloc (une bonne pratique est de commencer par une majuscule, mais ce nest pas un obligation).
Les parties (intitul parts) : il sagit de la liste des sous-lments qui composent notre bloc. Chaque
sous-lment est crit lun sous lautre sous la forme :
nom-du-bloc : type-de-bloc [quantit]
Remarque 2 :
quantit est un nombre ([1],[2], etc.), mais peut aussi tre un intervalle. Par exemple,
[1..5] signifie que le sous-lment est prsent entre une et cinq fois. Linfini est not * (toile).
4 / 15
Approche Systme
Un moteur, c'est a :
Un piston, c'est a :
Un vilebrequin, c'est a :
Figure 4 Analyse descendante : on part de la dfinition globale du systme vers la dfinition de ses constituants.
Les valeurs (intitul values) : Elles sont comparables des variables en informatique. Elles fonctionnent
comme les parties, la diffrence quon peut leur donner une valeur :
nom-de-la-valeur : type-de-valeur [quantite] = valeur-de-la-valeur
Les oprations : Cest le nom que lon donne aux actions que peut faire le systme. Elle est suivi de
parenthses (comme des fonctions)
nom-de-mon-operation()
<<system>>
Voiture
part
roues-avant : Roue [2]
roues-arriere : Roue [2]
volant-conducteur : Volant [1]
...
Values
vitesse-max : Vitesse = 200
couleur-carosserie : Couleur = "rouge"
marque : string = "Ferrari"
Acclrer()
Freiner()
Essui-glace()
...
Liens de composition
Une faon plus visuelle de reprsenter les parties consiste ne pas les noter dans les blocs, mais plutt de
les reprsenter par des liens entre les diffrents blocs. Ces liens sont appel lien de composition et sont
nots avec un ligne finissant par un losange noir (fig.7). Ces liens sont annots dun nombre correspondant la
5 / 15
Approche Systme
<<Rationnal>>
Les types prsents dans
l'objet "voiture" sont
dni dans les bloc
ci-dessous
<<block>>
Voiture
part
roues-avant : Roue [2]
roues-arriere : Roue [2]
volant-conducteur : Volant [1]
...
Values
vitesse-max : Vitesse = 200
couleur-carosserie : Couleur = "rouge"
marque : String = "Ferrari"
Acclrer()
Freiner()
Essui-glace()
...
part
jante-alu : Jante [1]
pneu-michelin : Pneu [1]
<<block>>
Volant
Values
pression-gonage : pression =2.4
diamtre : longueur = 400
<<valueType>>
Pression
Values
diamtre : Longueur = 380
<<ValuesType>>
Dimension = Force/Surface
Unit = bar
symbole = bar
<<valueType>>
Vitesse
<<ValuesType>>
Dimension = Longueur/Temps
Unit = kilomtre par heure
symbole = km/h
part
vilebrequin : Vilebrequin [1]
piston : Piston [4]
bielle : Bielle [4]
systme-injection : Injection[1]
Values
puissance-moteur : Puissance = 70
<<block>>
Roue
<<valueType>>
Longueur
<<ValuesType>>
Dimension = Longueur
Unit = millimtre
symbole = mm
<<block>>
Moteur
<<valueType>>
Couleur
<<valueType>>
qteCouleur
{0..255}
<<valueType>>
Puissance
<<ValuesType>>
Dimension = Energie/Temps
Unit = cheval
symbole = cv
Figure 6 Exemple de dfinition de blocs : Voiture est le bloc principal, compos dautres blocs
Objet
contenant
Objet
contenu
Figure 7 Lien de composition. objet contenu est contenu lintrieur de objet contenant . De plus,
objet contenu est prsent 4 fois dans objet contenant tandis quil ny a quun seul objet contenant qui
contienne objet contenu .
multiplicit (cest dire la quantit, le nombre entre crochet dfini plus haut). Ce connecteur a notamment
lavantage de montrer la multiplicit dans les deux directions.
Ainsi, la figure 6 pourra trs bien tre reprsente comme indique sur la figure 8.
d)
Liens dagrgation
Cest un lien qui est beaucoup moins fort que la contenance. Il permet de montrer quun objet contient
ventuellement un autre objet. Il est reprsent de la mme manire que le lien de composition, mais avec un
losange blanc (fig.9).
e)
Liens dassociation
Lassociation entre deux blocs reprsente une liaison dgal gal entre ces deux blocs (lun nest pas contenu
dans lautre. Ils sont 2 entits en parallle). Elle est reprsent par une ligne simple, annot des multiplicits
comme pour les liens de composition (fig.11). De plus, le type de lien peut tre dcrit par un verbe conjugu,
affich en milieu de connecteur.
Par dfaut le lien se fait dans les deux sens (bidirectionnel), mais peut aussi tre unidirectionnel. Cest
dire quun bloc peut tre associ un autre bloc, sans que ce soit rciproque. Dans ce cas, il faut mettre une
flche pour savoir quel bloc est associ quel bloc, et un seul nombre de multiplicit.
6 / 15
Approche Systme
<<block>>
Voiture
Values
vitesse-max : vitesse = 200
couleur-carosserie : couleur = "rouge"
marque : string = "Ferrari"
0..1
Acclrer()
Freiner()
Essui-glace()
...
<<block>>
Volant
Values
diamtre : longueur = 380
<<block>>
Roue
Values
pression-gonage : pression =2.4
diamtre : longueur = 400
<<block>>
Jante
Values
...
<<block>>
Moteur
Values
puissance-moteur : Puissance = 70
<<block>>
Pneu
0..1
Values
Values
...
<<block>>
Piston
...
Values
<<block>>
bielle
<<block>>
injection
Values
...
1 ...
0..1
<<block>>
Vilebrequin
...
Values
Objet
ventuellement
contenu
<<block>>
Voiture
<<block>>
Valises dans le core
0..*
0..1
Values
vitesse-max : vitesse = 200
couleur-carosserie : couleur = "rouge"
marque : string = "Ferrari"
0..1
Acclrer()
Freiner()
Essui-glace()
...
pression-gonage : p
diamtre : longueur
1
<<block>>
Vilebrequin
1
<<block>>
Moteur
Values
puissance-moteur : puissance = 70
1
1
<<block>>
injection
1 ...
1
<<block>>
pison
1
4
Values
...
Values
<<block>>
bielle
Attention :
Lien unidirectionnel signifie que le bloc auquel on se lie na vraiment aucun lien avec le
bloc associ. Par exemple, dans la figure 12, la voiture roule sur la route, mais la route est
ncessairement li la voiture (puisquelle sert a !). Le lien nest donc pas unidirectionnelle,
malgr les apparences.
Lyce Gustave Eiffel de Dijon
7 / 15
Approche Systme
Un
block
Un block
non-associ
1 Un autre
fait un truc
block
Un block
associ au
premier
fait un truc
Figure 11 Lien dassociation (les deux blocs font un truc lun sur lautre), et dassociation unidirectionnelle
(seul un bloc fait un truc sur lautre).
<<block>>
Voiture
<<block>>
Valises dans le core
0..1
0..*
0..*
possde
<<block>>
Personne
Values
vitesse-max : vitesse = 200
couleur-carosserie : couleur = "rouge"
marque : string = "Ferrari"
Acclrer()
Freiner()
Essui-glace()
...
0..*
values
Nom : string
Prenom : string
adresse : adresse-postale
1
roule sur
<<block>>
Moteur
Values
puissance-moteur : puissance = 70
<<block>>
route
values
Nom : string
Revtement : matire
<<block>>
bielle
<<block>>
injection
...
Values
...
Values
8 / 15
Approche Systme
<<block>>
Radio
[0..1]
<<Rationale>>
Solution simple
et conomique
[0..*]
Values
frquence courante : MHz
volume courant : Integer
changer station( f : MHz )
changer volume( v : Integer )
...
<<block>>
Pile
<<block>>
Acheur
Values
Voltage : V = 1.5
Values
heure courante : Horodatage = 00.00
heure alarme : Horodatage = 00.00
<<block>>
Projecteur
Values
heure projete : Horodatage [0..1] = 00.00
[1..2]
<<block>>
Horloge
Values
heure : Horodatage = 00.00
allumer projecteur()
teindre projecteur()
<<Problem>>
Avec 2 horloges,
risque d'incohrence
entre les achages
9 / 15
Approche Systme
Une fois que les diffrents blocs ont t dfinis dans le diagramme bdd (une fois quon a expliqu ce que
ctait), il faut maintenant dcrire comment ces blocs sont interconnects entre eux et prsent dans le systme
(bref : comment le Lgo se monte).
Le diagramme de blocs internes (internal bloc diagram ibd en anglais) permet de reprsenter cela
(fig.14).
Systme
Analyse de sa structure
Diagramme de blocs internes
bdd [Modle] Voiture [Constituant d'une voiture, vue de l'extrieur]
<<block>>
reveil : Reveil
<<block>>
a : Acheur
affichage : Lumiere
<<block>>
p : Projecteur
ppd : Lumire
projection : Lumire
<<block>>
r : Radio
port afficheur-horloge
: Heure
port horloge-afficheur
: Heure
<<block>>
h : Horloge
haut-parleur
: son [1..2]
haut-parleur : son [1..2]
antenne : signal radio
antenne
: signal radio
affichage : Lumiere
a)
Les instances
Notion dinstance :
Dfinition 3 : instance
On appelle instance une des reprsentations relles dun bloc dfini dans le bdd. Il peut exister
plusieurs instances issues dun mme bloc.
Attention :
Ne pas confondre :
un bloc du bdd : cest un modle (une sorte de dfinition ) qui explique ce quest le
type dobjet, et quels sont ses paramtres caractristiques.
une instance de libd : est un objet rel sappuyant sur modle dfini dans le bdd. Il
peut exister plusieurs instances issues dun mme bloc de bdd.
Lexemple 2 permet de diffrencier les deux diagrammes.
10 / 15
Approche Systme
Exemple 2 : La voiture
bdd [Modle] Voiture [BBD vs IBD]
<<block>>
Voiture
<<block>>
Roue
Values
vitesse-max : Vitesse = 200
couleur-carosserie : Couleur = "rouge"
marque : String = "Ferrari avec un core"
part
jante-alu : Jante [1]
pneu-michelin : Pneu [1]
Values
pression-gonage : Pression =2.4
diamtre : Longueur = 400
acclrer()
freiner()
essui-glace()
...
<<block>>
<<block>>
ma-voiture : Voiture
la-voiture-du-voisin : Voiture
<<block>>
roue-avant-1 : Roue
<<block>>
<<block>>
<<block>>
roue-arriere-1 : Roue
roue-avant-3 : Roue
roue-avant-3 : Roue
<<block>>
<<block>>
<<block>>
<<block>>
roue-avant-2 : Roue
roue-arriere-2 : Roue
roue-avant-4 : Roue
roue-avant-4 : Roue
Ici, le bdd explique comment est fait une voiture, et comment est fait une roue. libd, par contre,
reprsente des vraies voitures avec des vraies roues, en plusieurs exemplaires, toutes bases sur le
modle dfini dans le bdd.
La contenance des blocs : Comme nous lavons vu, certains blocs peuvent tre lis entre eux par des liens
de contenance. Dans libd, le bloc contenant sappelle une partie. Une partie est simplement reprsent par
un bloc qui englobe les lments inclus dedans (eux mme pouvant tre des parties englobant dautres blocs,
etc.)(fig.15). On prendra juste soin de sparer lentte dune partie des blocs inclus, par un trait.
<<block>>
ma-voiture : Voiture
<<block>>
<<block>>
roue-arriere-1 : Roue
<<block>>
volant : Volant
roue-avant-1 : Roue
<<block>>
<<block>>
roue-arriere-2 : Roue
roue-avant-2 : Roue
<<block>>
moteur : Moteur
Lagrgation et lassociation : De mme que prcdemment, les blocs peuvent tre li par des associations
ou des agrgation. Cela veut dire que ces bloc ne sont pas partie du systme. On pourrait dire quils sont
Lyce Gustave Eiffel de Dijon
11 / 15
Approche Systme
cot. Ces blocs se reprsentent avec un cadre en pointill. Ces bloques peuvent ventuellement tre contenus
dans dautres blocs (comme par exemple les bagages dans la figure 16).
ibd [Modle] Voiture et son contexte [Constituant d'une voiture, vue de l'extrieur]
<<block>>
<<block>>
ma-voiture : Voiture
roue-avant-1 : Roue
<<block>>
<<block>>
roue-arriere-2 : Roue
roue-avant-2 : Roue
<<block>>
core : Conteneur
<<block>>
<<block>>
<<block>>
moteur : Moteur
roue-arriere-1 : Roue
<<block>>
volant : Volant
<<block>>
<<block>>
conducteur: Personne
<<block>>
<<block>>
roue-arriere-2 : Roue
roue-avant-1 : Roue
<<block>>
moteur : Moteur
<<block>>
roue-avant-2 : Roue
<<block>>
<<block>>
volant : Volant
<<block>>
core : Conteneur
<<block>>
bagages : Conteneur [0..*]
roue-arriere-1 : Roue
Les flux
Dfinition 4 : Flux
Un flux est une entit physique (ou non) qui passe dun bloc un autre (par exemple : lessence
qui va du bloc rservoir vers le bloc moteur ). Cela peut tre un fluide, un solide, une
information, une nergie, etc... Un flux peut tre unidirectionnel ou bidirectionnel.
Lyce Gustave Eiffel de Dijon
12 / 15
Approche Systme
Les flux sont reprsent par des traits qui vont dun bloc lautre. Ils sont accrochs ces blocs au travers
de ports. Dans le cas de flux unidirectionnelle, lentit circulant dans ce flux peut tre indique par une flche
au milieu du trait (fig.18).
un ux unidirectionnel
Les ports :
Dfinition 5 : Port
Un port est un lment dun bloc, par lequel un flux est envoy ou reu. Il se reprsente (fig.19) :
par un carr (dans la cas dun port standard, ou dun multi-port),
par un carr avec un flche rentrante ou sortante (si le flux associ est unidirectionnel),
par un carr avec une double flche entrante/sortante (si le flux associ est bidirectionnel)
(b) Port
unidirectionnel
(c) Port
bidirectionnel
Remarques 3 :
Chaque port doit tre annot avec un nom (par exemple prise lectrique ) suivi de deux
points : et le type de flux qui y passe au travers (par exemple nergie lectrique ).
Le port standard est le port par dfaut (quand on ne sait pas quoi mettre dautre). Il peut
aussi et surtout reprsenter un assemblage de plusieurs ports et de plusieurs flux (fig.20).
<<block>>
radio-reveil : Radio
<<block>>
radio-reveil : Radio
bouton heures : interface
bouton minutes : interface
bouton activation alarme : interface
Figure 20 Assemblage de plusieurs ports pour un faire un seul port globale. Ici, on a un port
Interface-Homme-Machine (IHM).
<<block>>
Pompe
essence
: uide
Essence
Rservoir : conteneur
Systme
d'injection
: uide
<<block>>
Moteur : moteur
13 / 15
Approche Systme
<<block>>
reveil : Reveil
port projecteur-heure
: Heure
<<block>>
a : Acheur
port horloge-afficheur
: Heure
port projecteur
<<block>>
h : Horloge
haut-parleur
: son [1..2]
port radio
port horloge
affichage : Lumiere
projection : Lumire
<<block>>
r : Radio
port afficheur-horloge
: Heure
affichage : Lumiere
<<block>>
p : Projecteur
III.
1
Comportement interne
Diagramme de squences sd
a)
Rappel
Un diagramme de squence reprsente de manire chronologique les messages et interactions entre les blocs.
Chaque bloc possde une ligne de vie. Des algorithmes lmentaires peuvent tre mis en place, appels
fragments , prsents dans le cours prcdent.
b)
Nouveauts
Le diagramme dtat (stm= State Machine) permet de dcrire des comportement squentiel, cest dire
les comportements qui se font tape par tape. Ce genre de diagramme permet en gnrale de dcrire lvolution
dun bloc du bdd.
14 / 15
Approche Systme
Utilisateur
horloge
1: Bouton ALARME
afficheur
sation radio
radio
loop
[arret de
l'utilisateur
ou attente
1h]
par
[Affichage]
6: Affichage clignotant
[Reveil]
alt
8: Ondes radio
[radio]
9: Son radio
[else]
[Arret]
opt
11: Arret rveil
[Arret du
rveil]
15 / 15