Professional Documents
Culture Documents
htrognit
Prescrire les exigences Investiguer le systme Construire les architectures fonctionnelle et physique Estimer les performances et la sret de fonctionnement Prvoir et valider les comportements Partager la connaissance
pluridisciplinarit
Modles d analyse et de conception Modles analytiques Modles formels Modles cognitifs de communication
Supporter lanalyse
Expression des rsultats de lanalyse fonctionnelle Aide lexhaustivit, la cohrence, la non contradiction Lien / traces entre les tapes danalyse / niveaux
Le systme est vu comme une boite noire changeant des flux avec son environnement pour raliser les services attendus selon les scnarios oprationnels dfinis Le systme est vu comme une architecture de fonctions ralisant les fonctions de service
Le systme est vu comme une architecture d organes supportant l architecture fonctionnelle Les organes sont choisis
?
c
Modlesde decomprhension comprhension Modles comprendrellenvironnement environnement comprendre analyserle lesystme systme analyser dcrirepour pourpartager partagerla laconnaissance connaissance dcrire Modlesnormatifs normatifs Modles prescrireles lesexigences exigences prescrire concevoirles lesarchitectures architectures concevoir dfinirles lessolutions solutions dfinir Modlesde deprvision prvision Modles prvoiret etvalider validerles lescomportements comportements prvoir estimerles lesperformances performances estimer estimerla lafiabilit, fiabilit,la lasret sretde defonctionnement fonctionnement estimer Modlesde depilotage pilotage Modles modlesde decommande commandedu dusystme systme modles modlesde dedcision dcisiondans dansle leprojet projet modles
?
c
S ?
?c
E S
Sphre technologique
Sphre informatise
4 hirarchies
Dcisionnelle Structurelle
volution
Finalit
hirarchie fonctionnelle
hirarchie de pilotage
hirarchie organique
SADT/ IDEF0
Structured Analysis & Design Technique Ross 1977
Modlisation fonctionnelle Langage pour le communication Fonctions et contrles
SADT
Notation graphique dun concept trs gnral (Diagrammes de Flux de Donnes, DFD), mais aussi mthode Base de plusieurs standards dont IDEF0 (Integration Definition for Function ) du NIST (National Institute of Standards and Technology) (1993) Support pour lanalyse dun systme Primtre dapplication trs gnral : processus de production, processus dentreprise, systmes informatiss, systmes technologiques,
activit
processeur
chane de production
diagramme de contexte
A0
activit A-0
processeur
A1
Une bote est dcompose en sous-botes (3 6 ou 7) toute bote doit avoir un vnement dclencheur (contrle) une information la fois entre et contrle d une bote est note en contrle contrainte de cohrence des flux entre une bote et sa dcomposition
A2
A3 A4
A0
A21 A22
A1
A2
A23
A3
sous-diagrammes
diagramme A0
ancien solde nouveau solde montant traiter la compensation interbancaire retraits dj effectus transaction montant autoris A2 espces restantes mthode authentification fournir les espces espces en stock retraits insertion carte espces effectus A3 depuis n jours carte espces restantes nouveau solde code confidentiel effectuer des compensation interbancaire ancien solde retraits espces montant
A0
diagramme A-0
dbarquer
ouverture / fermeture porte signal sonore dpart consigne vitesse cde acclration cde freinage conduire alarme estimation position A2
diagramme A0
arrt consigne station vitesse tat porte info vitesse capteurs voie capteurs obstacles arrt urgence
A3
informer usager
message
transporter
A0
ouverture / fermeture porte signal sonore cde acclration cde freinage diagramme alarme message
A-0
acqurir vitesse
capteurs voie
estimer position
A22
estimation position
commander acclration
A23
cde freinage
diagramme A2
dvelopper un systme
A0
dossier de spec syst dossier ss-syst et interfaces dossier d intgration dossier de validation systme valid
Lapproche SAGACE
JM Pnalva, CEA (1994)
Une mthode d analyse et de conception systmique
SAGACE
Une approche systmique gnrale, mise au point au CEA Une grille danalyse + un langage graphique de modlisation + une dmarche danalyse Peu utilise dans la ralit industrielle. Grille danalyse dun systme utilisable indpendamment de tout langage de modlisation ou de toute mthode Applicable aux systmes complexes : humain + technologie + informatique
volution
fonctionnement
action 1 fonctions
vision fonctions constituantes enchanement des fonctionnelle correspondant aux activits pour raliser
visions du systme
fonctionnement 2 processus
volution scnarios
enchanement des modes de fonctionnement
4 sous-systme oprant
organes ralisant les fonctions
5 sous-systme de commande
organes de mise en uvre des activits
6 sous-systme auxiliaire
organes assurant les changements de configuration
conduite
consignes de rgulation des fonctions
gestion
9 anticipation
adaptation des dcisions d ordre activits (transition stratgique (changement de mode des phases de de fonctionnement) fonctionnement)
procd
4
processus
5 systme de 6
programme de production
contrlecommande
8
systme d ordonnancement
supervision
ordonnancement d atelier
entre (M, E, I)
processus
Syntaxe
sortie (M, E, I) information information de commande de rsultat conditions de dmarrage
Processus fonctions, activits, ou modes (vision fonctionnelle) organes (vision organique) tches dcisionnelles (vision dcisionnelles)
flux entrant (M, E, I)
processus
propagation (M, E, I) flux sortant (M, E, I)
processus vnement
(IR) vnement (IR) transition condition (IC)
processus
rtroaction (M, E, I)
processus
vnement (IR)
diagramme de flux
diagramme de transition
Diagramme de contexte Ex : Systme = sous-systme oprant (vhicule, voie, infrastructure) + soussystme de commande
contraintes et attentes
Voie et infrastructure
Comment le systme Point de vue volue dynamique Point de vue fonctionnel Ce que fait le systme Architecture organique Point de vue smantique Les informations quil manipule Validation rciproque des modles Intgration entre les modles
Use Cases : formaliss par Ivar Jacobson Destins l expression du besoin Centrs sur les utilisateurs Formalisme trs simple Servent galement la conception des tests de validation
Concepts de base
ACTEUR
reprsente un rle jou par une personne ou une chose qui interagit avec le systme mais qui lui est extrieure est caractris par un nom qui exprime son rle une mme personne physique peut tre modlise par plusieurs acteurs un acteur reprsenter plusieurs personnes physiques
ou
Usager <<actor>>
Autre Systme
Paquetage
Exemple
Nature de l interaction
Distributeur de billets
Consulter solde compte
SI Banque
Client
Technicien
Cas d utilisation objectif du systme motiv par un besoin
<<Extends>>
Gnralisation Uses Une relation de gnralisation strotype uses du cas d utilisation A vers le cas d utilisation B signifie quun scnario du cas d utilisation A intgrera aussi le comportement spcifi par B.
Travaux dirigs
<<Uses>>
Enseignement
Exemple : le GAB
Services offerts : 1. distribution d argent tout porteur de carte de crdit (carte Visa, ou carte de la banque) via un lecteur de carte et un distributeur de billets 2. consultation de solde de compte, dpt en espces et dpt de chques pour les clients porteurs d une carte de la banque 3. il est ncessaire de recharger de temps autre le distributeur
SA Visa Porteur de CB
GAB
0..1 1..1
Client de la banque
<<actor>> 0..1
SI Banque
Porteur de CB
Note : Porteur de CB et
Client de la banque sont mutuellement exclusifs
Oprateur de maintenance
Client de la banque
SI Banque
Porteur de CB Visa <<actor>> Retirer de l argent
SA Visa
Consulter un solde
Recharger le distributeur
Client de la banque
Dposer du liquide
Oprateur de maintenance
Identification
Virement au guichet
Client au guichet
Lanalyse du systme
Les modlisations smantique, fonctionnelle, et dynamique
Comment le systme Point de vue volue dynamique Point de vue fonctionnel Ce que fait le systme = les transformations Architecture organique Point de vue smantique Les informations quil manipule Validation rciproque des modles Besoin dintgration entre les modles
Systmes informatiss
Besoin en modlisation des aspects fonctionnels et dynamiques Les flux informationnels traits par les fonctions vhiculent les donnes reprsentatives du problme Besoin en modlisation des donnes et de leur relations : contexte smantique du problme Approche de modlisation des systmes d information selon trois points de vue, et diffrents niveaux d abstraction
Modlisation smantique
Le modle Entit-Association (Chen, 1977) Les diagrammes de Classes
Modle smantique
Comment volue le systme
Dynamique volution
Le modle Entit-Association
Introduit initialement dans le domaine des Bases de Donnes pour la phase de conception Diagramme de base dans les mthodes de conception des Systmes dInformation (Ex : MCD de MERISE) Modlisation des entits du domaine et des informations internes au systme Ne reprsente que laspect donnes Chaque mthode a introduit sa notation propre
Le modle Entit-Association
modle entit-association de Chen Les entits : types d objets qui apparaissent pertinents pour modliser le problme (ex : substantifs du cahier des charges) regroupes en classes d entits, et possdant des attributs Les associations : relations de sens entre les entits, avec des cardinalits Relations de spcialisation ( plus spcifique /gnrique que ) Diverses notations ( EA , , classes UML )
article
rfrence dsignation
Rseaux smantiques
magasin
localisation capacit
Cardinalits
Prcise les nombres min et max possibles d occurrences mises en relation 4 cardinalits
E1 Association E2
n1 n2
Nombre min. d entits E1 associes une entit E2 Nombre max. d entits E1 associes une entit E2
m1
m2
Nombre max. d entits E2 associes une entit E1
Exemples 0 1 : 0 ou 1 1 2 : 1 ou 2 0 2 : 0, 1 ou 2
Cardinalits. Exemples
article
rfrence dsignation
magasin 0 n localisation
capacit
besoin
identifiant texte
client
nom adresse
0 n identifiant
nom
Femme Roue
0..* : 0, 1 ou n
Manager Ministre
0..1 : optionnel 1..4 : spcifi numriquement all : toutes les instances de la classe
Modle EA du GAB
Contraintes de spcialisation
Avion
Motorisation
ContexteUtilisation
{inclusif}
AvionReaction AvionHelice AvionMilitaire AvionCivil
Personne
{exclusif}
Language de programmation
Homme
Femme
{incomplet}
Pascal C++ Java COBOL
La modlisation fonctionnelle
Les mthodes SADT et SA
SADT
Application de SADT aux systmes informatiss en gnrale et logiciels en particulier Modlisation des aspects fonctionnels par les Actigrammes, avec flux de donnes Les flux de donnes peuvent se dcomposer progressivement par drivation Introduction des Datagrammes pour centrer une reprsentation sur la structuration des donnes Note :
Pas de smantique de contrle vnementiel Peu de lien avec les entits de larchitecture logicielle
Ex : Terminal montique
carte mthode authentification code bon retraits effectus depuis n jours
diagramme A0
traiter la transaction
A2
mthode authentification retraits carte effectus espces en stock depuis n jours nouveau solde code confidentiel effectuer des Requte de dbit compte ancien solde retraits espces montant
A0
A3
espces
diagramme A-0
activit
informations en sorties
donnes
activit utilisatrice
processeur
Actigramme
vrifier les exigences cahier des charges faire l analyse des exigences rfrentiel des exigences conflit d exigences
Datagramme
compromis d exigences
Exemple de Datagramme
L analyse structure
source
flux 1 flux 3
puits
processus P
flux 2
source
flux 4
puits
Diagramme de contexte
stockage de donnes flux 1
flux
DFD d un GAB
Approche SA : synthse
Rpond l analyse fonctionnelle en dcomposant les fonctions et en mettant en vidence les flux d information dclaration de stock de donnes et dictionnaire de donnes rcapitule l ensemble des informations en prenant en compte la smantique liaison possible avec le modle entit-association bien adapt la modlisation des changes d information dans les Systmes d Information approche qui ne peut tre utilise seule pour les systmes de conduite temps rel (pas d aspects temporels et dynamiques) extension SART
Modlisation dynamique
Automates tats finis, Statecharts, Rseaux de Ptri
Modle dynamique
Comment volue le systme
Systmes transformationnels
cactus noir
dlivre un flux de sortie en fonction d un flux d entres analysable par dcomposition fonctionnelle vnements E1 Qi Qj ractions R1 E2 Qk R2 E3 Qm temps R3
Qi
E1 R1
Qj
E2 R2
Qk
E3
R3 Qm
Systme
S (t+t)
Systmes squentiels Automates finis : 2 hypothses : causalit : S (t+t) ne dpend que de E(t) et de l histoire antrieure t finitude : l histoire antrieure est rsume par un tat qui ne prend qu un ensemble fini de valeurs
F
E(t) Q(t) t S(t+t)
G
S(t+t) = F[E(t), Q(t)] Q(t+t) = G[E(t), Q(t)]
choix produit 3 fournit produit reoit 3 1 2 3 reoit 1 reoit reoit 1 1 attente reoit 2 reoit 2 fournit 2 4 produit 4 choix produit 4 fournit choix produit 3 produit 3 + rend 1
tat 1
tat 3 action 2
tat 3
Machine de Moore
Machine de Mealy
activits 1
vnement 1
activation des activits de l tat 2
mode 1
actions de reconfiguration tat 2 processus mode 2 du mode 2
vnement 1
tat 2
activits
vnement 1
activation des activits de l tat 3
tat 3
mode 3
du mode 3
modes de fonctionnement
attente en station
Dfinition du du diagramme diagramme Dfinition d tat tat global global partir partir de de d scnarios oprationnels oprationnels scnarios
fermeture porte
porte ferme acclrer
porte bloque
acclration
vitesse atteinte rguler vitesse
conduite v constante
proximit station freiner
freinage
station ouvrir porte
Matrice tat-transition
tats attente en fermeture acclration conduite v porte constante vnements station dlai coul porte ferme porte bloque vitesse atteinte proximit station station
fermer porte fermetu re porte
freinage
?
acclrer acclr ation fermetu re porte
? ? ?
rguler vitesse conduit e v cte
? ? ? ?
freiner freinage
? ? ? ? ?
ouvrir porteattente station
? ? ? ? ?
? ? ?
? ?
Les Statecharts
Harel (87)
Les Statecharts
Fortes limitations des diagrammes tats-transitions : croissance exponentielle des tats il devient impossible de reprsenter le systme complet relative indpendance de diffrentes parties d un diagramme embotement de diffrents niveaux de dtail (Ex: phases, modes, ) besoin de structuration et de hirarchisation (modularit)
AD BD BE C
A C
D E
AE
Niveau 0 C
a c a
B E
D F
c Niveau 1 Niveau 1
E = A OUex B F = C OUex D
A
c c
E
a a b b
mode dgrad
panne
mode arrt
mode marche
mlange
traitement
chauffage
mode arrt
mlange
traitement
Avion
Systme gnral Sous-systme radar Missile
CAtOff COnOff
AOnOff
MOnOff
Off Attente On
Dpendance
la transition arrt n est possible que si le processus A est dans l tat fonct.
Exemple de Statecharts
Standardisation UML
Diagrammes dtats UML (Statecharts) Modlisation de la dynamique dun systme complet, dun sous-systme, ou dun objet une transition reprsente un passage suppos instantan d un tat vers un autre deux tats prdfinis : tat initial et tat final Notations :
Transitions
Spcification de transition : 3 parties optionnelles Nom-vnement [garde] / Action evt [cond] / Act Etat1 Etat2 vnements :
externes : changes entre objets internes : mis et reus au sein du mme objet
4 types d vnements :
appel : invocation synchrone d un objet temporisation satisfaction de condition
un transition peut ne pas avoir d vnement associ (dclenche lors dune fin d activit, tat
fugitif)
Exemple
Diagramme d tats d une classe Police d assurance
Abandonne Refus client Dlai expir Demande client (rsiliation) En souscription Signature client En cours Trop de sinistres Rsilie
Demande client Demande client (suspension) (fin suspension) Dlai expir Date fin Demande client suspension (rsiliation) Suspendue
Transitions (2)
Garde ou condition :
Une transaction peut tre conditionnelle la condition porte sur des informations accessibles de l objet : paramtres, attributs les gardes doivent tre mutuellement exclusives
En cours Sinistre [nombreSinistres = 5] Rsilie
PoliceAssurance
- nombreSinistres +signer() +faireDemande(motif) +dclarerSinistre()
Les traitements
Actions figurant dans un tat : dclenches par :
l entre dans l tat (Entry)
Ex : l entre dans l tat En cours , dition du contrat sert factoriser un action associe plusieurs transitions menant l tat la sortie de l tat (Exit) Ex : en sortie de l tat Suspendue , notification l assur
En souscription Entry / dition
une transition interne (laissant l objet dans le mme tat) (On event)
Ex : relancer client dans l tat En souscription une semaine avant le dlai d expiration
Les activits
Une activit est une action qui dure ou se rpte elle ne peut tre attache qu un tat (et non une transition) syntaxe analogue celle d une action avec mention d vnement remplac par le mot cl do l activit dure tant que l objet est dans l tat concern elle n est interrompue que par des transitions internes et ne s arrte qu la sortie de l tat on peut faire rfrence un traitement dtaill dans la suite de l analyse
Ex :
En activit Do / effectuer mission Systme
expdition
En attente
Commande
chaque sous-tat hrite de la description du super-tat smantique des Statecharts de Harel mcanisme de gnralisation / spcialisation compar celui des classes introduction d un tat not H qui dsigne le dernier tat visit
dlai (2 mn)
schage
Agrgation d tat
L agrgation dtat est la composition dtats partir de plusieurs autres tats
Etat courant Situation Etat Civil dcd naissance mort clibataire mort mort divorc endormissement rveil mariage divorce remariage remariage mari dcs conjoint veuf veill mort Etat de veille endormi
Communications
Communication entre objets ou sous-systmes : envoi d vnements entre les automates correspondants concept trs gnral : appel de mthode, interruption, vnement dans une application temps rel, ... notation d une action : ^cible.vnement(Arguments) syntaxe complte d une transition :
vnement(arguments) [garde] / action^cible.vnement(arguments)
Tlviseur
bascul Attente bascul Arrt
Tlcommande
Bouton Enfonc ^Tlviseur.bascul Attente
Statecharts
Utiliss dans la mthode Statemate en liaison avec un modle fonctionnel repris dans les mthodes d analyse par objets telles qu OMT et dans la notation unifie UML pour reprsenter la dynamique dun systme ou la dynamique interne des objets
Rseaux de Ptri
Modlisation formelle exprimant la synchronisation d activits d automates parallles base conceptuelle ayant inspir les modlisations temporelle de plusieurs mthodes (RDD, Merise, ) Un rseau rseau est est constitu constitu :: Un
de deplaces places de detransitions transitions d darcs arcsvalus valus(valeur (valeur1 1par pardfaut) dfaut)
arcsd dincidence incidenceavant avant arcs arcsd dincidence incidenceaprs aprs arcs
P1
1 transition 4 valuations 2 t1
P2
P3
volution du marquage
La dynamique du rseau s exprime par l volution du marquage une transition est franchissable si le nombre de marques dans les places amonts est suprieur ou gal aux valuations des arcs d incidence avant correspondant ajoute au marquage des places aval les valuations correspondantes des arcs d incidence aprs le fait qu une transition soit franchissable n implique pas qu elle soit franchie
P1 P2 P1 P2
franchissement de t1
1 4
P3
t1
t1
4
P3
boucle
ET paralllisme
squence
fin ET fin OU
rendez-vous
exclusion mutuelle
synchronisation
Processus producteur
Processus consommateur
Association :
des synchronisations aux transitions des fonctions (oprations) aux places des vnements (internes ou externes) aux marques des propositions logiques aux conditions de marquage
Modle comportemental
Comment volue le systme
Comportemental
Comment se comporte le systme
Le besoin
Besoin dintgration entre les aspects fonctionnel, smantique et dynamique Certaines approches proposent des liens fonctions information, et fonction contrle Besoin de modliser de manire intgre fonctions et dynamique du systme
modle fonctionnel
association
dcomposition en comportements
flux de contrle
L approche SA-RT
Extension de SA aux systmes temps rel Version de Hatley et Pirbhai
puits
processus P
flux 2
source
flux 4
puits
Diagramme de contexte
stockage de donnes flux 1
flux
Contrles internes
Activations, synchronisations
contrles en entre
Modle de contrle
contrles en sortie
L approche SA-RT
Ide : complter la dcomposition fonctionnelle de l analyse structure (SA) par une modlisation de la dynamique
flux de donnes
tat processus
flux de donnes vnement action
tat
vnement action C-spec vnement flux de contrle
tat
vnement action
flux de donnes
processus
flux de donnes
Diagramme SA-RT
Processus dcomposs en sous-diagrammes Diagrammes :
n sous-processus 0 ou 1 spcification de contrle (C-Spec) Cohrence diagramme - sous-diagramme
P
B
Flots et activateurs
Flot de donnes Flot de contrle Data condition
P P
Dclenchement implicite de P par le flux de donne entrant Le flot de contrle entrant doit se retrouver dans le sousdiagramme associ P Le flot de contrle est gnr par le code de P Le processus lmentaire P est dclench/modul par un activateur Un activateur peut prendre 5 valeurs : Enable, Disable, Trigger, Suspend, Resume
Activateur
Spcification du contrle
action P2 activateurs vers processus valider code P3 P5 obtenir fournir montant espces demander code demander montant demander montant fournir espces fournir espces
1 1 1
temps de rponse
code illisible < 2 sec banque insrer carte carte carte affich numro demande < 2 sec nant montant affich montant validation carte retirer carte < 15 sec affich montant
SART
Une des mthodes les plus labores pour l analyse des systmes temps rels Intgration de la modlisation fonctionnelle et la modlisation dynamique Une des premires mthodes permettant un passage logique de l architecture fonctionnelle l architecture technique Concepts volus repris par diffrentes mthodes (RDD, Statemate, )
Les EFFBD
Extended Functional Flow Block Diagrams (Mthodes CORE et RDD)
Les EFFBD
Modlisation directe de comportements Reprsentation de la synchronisation temporelle entre fonctions avec expression de la squentialit et du paralllisme (flux de contrle avec AND et OR) flux de donnes entre fonctions
T1 T2
Action 1
AND donne T3
Action 2
T4 AND
Action 4
Action 3
RDD
Dcomposition comportementale directe inspiration directe des rseaux de Ptri la dcomposition peut tre continue jusqu obtention de fonctions sans comportement temporel tats
Actions et activits
Action
opration lmentaire, ininteruptible
Action
Activit
dcompose en actions peut tre interrompue reprsente par un autre diagramme
Activit
Action1 Action2 E1
do: activit
Attente
pas d activit, attente d vnements
Activit
Activit termine
E2
Transitions
Action Action
relient les actions / activits (flot de contrle) dclenches par des vnements : fin de l activit prcdente (transition automatique)
objet dans un certain tat satisfaction d une condition
une transition peut tre assortie d une condition de garde (bloque la transaction tant qu elle n est pas vrifie)
Prparation de la commande
[fin de journe]
Envoi de la commande
Nuds de dcision
une transition entrante et plusieurs transitions sortantes expression logique (garde) sur chaque transition sortante les gardes doivent tre exclusives (flot non indtermin) et couvrir toutes les possibilits (flot non gel) itrations ralises comme dans un organigramme ou avec l oprateur *
[produit bon]
[else]
Stocker le produit
Renvoyer le produit
Concurrence et synchronisation
Barre de synchronisation : indique le paralllisme
sparation de deux flots de contrle (fork) rendez-vous (join)
Demande de crdit
Recherche catalogue
Slection produit
Affichage rponse
Continuer
Gonfler
Dgonfler
tablir communication
Passer table
Servir repas
Emettre
Recevoir
Manger
Exemple (1)
Programmer Vol Rserver
Affrter avion
Nommer quipage
Prendre rservation
[rservations insuffisantes] [rservations termines]
Annuler Vol
Dbuter embarquement
Objets
Il est possible de faire apparatre les objets dans un diagramme d activit on peut reprsenter la ligne de vie des objets (comme dans un diagramme de squence) on peut indiquer les crations, destructions, changement d tats ou de valeurs d attributs
Couloirs d activits
Introduction des acteurs responsables de chaque activit
Passager
Pilote
Enregistrer Passager
Billet
Rserver
Prparer Vol
Affrter avion
Avion [vide]
Piloter
Analyse structure
modle de flux de donnes
Smantique structure
Le monde du problme, ce que traite le problme
Fonctions
Ce que fait le systme
La fonction
L objet
L objet informatique
identification Attributs
S1 S2
interfaces des services
associations
Concepts Concepts
Classe//instance instance Classe encapsulation encapsulation hritage hritage agrgation agrgation rfrencesentre entreobjets objets rfrences
identification Attributs Services (mthodes)
Services (mthodes)
smantique
fonctionnel
Services (mthodes)
dynamique interne
smantique
Objet 1 Attributs
dynamique interne
Objet 3 Attributs Services (mthodes)