SADT
SADT
Normalisé pour le compte de l’US Air Force et l'ICAM (Integrated Computer Aided Manufacturing)
pour favoriser la coopération entre les industriels de l'aéronautique
Î IDEF0, IDEF1
site : www.idef.com
SADT =
Un formalisme pour exprimer la définition des fonctions d’un système (SA)
=> modèles
+
Une démarche, mode d’emploi pour utiliser au mieux ce formalisme (DT)
=> processus d'élaboration de modèles
Plan
Les principes 2
Les modèles SADT 10
Le processus de modélisation de SADT 18
Domaine d’application
Un système
est capable de faire qq chose
en produisant un résultat
grâce à ce qui lui est fournit par son environnement
Control
Mechanism
Modéliser
Etablir une description, une représentation du système.
« Pour un opérateur O, un objet M est un modèle d’un objet S si O peut utiliser M pour répondre
à des questions Q qu’il se pose au sujet de S » (M. Minsky).
Le contexte
Un système est délimité par son interface avec son environnement :
tout échange se produit entre un élément dans le système et un élément hors du système.
=> SADT ne s'utilise pas pour décrire la structure d'un système, quels sont ses constituants, …
mais, pendant les phases amonts d'un projet Logiciel, pour comprendre
ce que fait ce système, les besoins auxquels il doit répondre
quelles opérations doivent être appliquer aux entrées pour produire les sorties.
Sous forme d'un ensemble de contraintes
activités de control
activités activités
génératrices ENTITE
utilisatrices
Mechanisme ou
support de l'entité
A-0
More General
1
2
3 More Detailed
4
A4
A0
2
A42
3
A4
A42
Bien découper les tâches, pour qu'elles soient le plus indépendantes possible.
Définir clairement le rôle et les responsabilités de chacun.
L'effectivité de l'évaluation d'un modèle par une personne dépend de sa compréhension du modèle.
=> Le modèle doit être bien structuré,
pour rendre facile l'accès à tout niveau de détail.
Graphique + texte
Graphique : pour décrire, selon la techniques des plans d'architecte et du dessin industriel
concis, rigoureux et précis, favorisent le cohérence,
avec un grand nombre de convention, pour faciliter la compréhension
Texte : pour le commentaire explicatif
- les éléments du modèles qui ne se prêtent pas à une représentation graphique,
- informations sur le modèle, qui indiquent comment l'interpréter.
appel
étage demandé
franchissement étage
Charge max
Diagramme A-0
C1 C2 C3 C4
appel franchissement étage
étage demandé Charge max
étage arrivée
déplacer O1
cabine
arrivée à étage
A2
Diagramme A0
A11
mémoriser
étage prochain étage
demandé
A12
destination
O1
calculer
étage départ
I1
A13
Diagramme A1
C1 C2 C3
arrivée à étage Charge max
franchissement étage
ouvrir X secondes
A31
attendre OK
A32
Diagramme A0
Diagramme A1
Les boîtes
Chaque boîte correspond à une (sous-)fonction.
nom de la fonction : un verbe, ou une expression verbale, aussi spécifique que possible
numéro d'ordre : entier (1 ... 6), qui identifie la boîte dans le diagramme
Identificateur du noeud fils qui détaille la boîte : Diagram Reference Expression
Contrôles
nom de fonction
Entrées Sorties
rang
Identification du noeud
qui détaille
Mécanisme Appel
L'interface d'une boîte :
• sorties : résultat fourni à chaque exécution de l'opération.
• entrées : les données/objets auxquels l'opération s'applique, modifiés par son exécution
• contrôles : événement déclenchant, indication sur les modalités d'exécution
• mécanismes : ressources ou dispositif utilisés, nécessaires pour pouvoir réaliser l'opération
QUI fait l'opération, BD accédée, ...
• appel : sous-système utilisé de façon non exclusive
(ne peut donc pas être détaillé comme une ss-fonction)
Toute boîte a :
au moins 1 contrôle
au moins 1 sortie
au plus 10 flèches connectées.
Les Entrées et Mécanismes sont des contraintes qui conditionnent l'exécution de l'opération,
ce dont elle a besoin pour pouvoir s'exécuter;
Ceux sont les Contrôles qui déterminent Quand l'opération s'exécute.
I1 O1
I2 O2
I3 O3
M1 M2 M3
Conventions :
GRAPHIC INTERPRETATION
A
means
A A A
A A A
means
A
A A A
means
Where B is a
B portion of A B
A A&B
means
B A
B
Function A
Function B
Function C
or
Input feedbacks
1
Control feedbacks
parent parent
diagram 1 box
2
A12
3
child A1
diagram
A12
This arrow is an output
on the parent box.
Convention de nommage des flèches d'interface dans le diagramme enfant (codification MECS)
PARENT BOX
DETAILED BY
CHILD DIAGRAM
C2 C3
I1
CHILD I2
DIAGRAM 1
O1
C1 2
O2
3
2
A12
3
A1
child
diagram This arrow (position C2) is not
shown on child diagram.
C1 C3
I1 1
3 O1
This output is not
A12
shown connecting to
the parent box.
1. Draw arrows along horizontal and vertical lines, not diagonally or as curves (except at corners).
2. Place arrow corners, crossings and labels a reasonable distance away from boxes.
3. Don’t use the keywords, i.e., «data», «function», «input», «output», «control"« or
«mechanism» in names or labels, unless absolutely necessary.
I1
I2 O1
rather than
rather than
9. Bundle arrows with the same source and the same destination unless the arrow is of such
importance that making it part of a pipeline would decrease clarity.
rather than
10. Use as few arrows as possible on any one side of a box. If there are too many, bundle some,
label with a suitable abstract label and fan out branches to their destinations.
rather than
11. If an arrow forks and feeds into several boxes, draw it at the same relative ICOM position on
each box, if possible.
rather than
rather than
13. Minimize curves and corners, while keeping labeled segments clear:
rather than
14. Use the expressive potential of branching arrows when and if it is appropriate.
A and B A and B
A A
rather than A
B B
2O2 to 3C1 or 2o2 to 3c1 The arrow from 2O2 to 3C1 (The I, O, C or M
may be upper case or lower case.)
I2 to 2I3 to 2O2 to (3C1 and 4C2) From the boundary arrow with ICOM code I2
to Box 2 Input 3, through the activation of Box
2 that yields Output 2, to the availability (via a
forking branch) of that output as Control 1 on
Box 3 and Control 2 on Box 4.
1. Préparer le modèle
répéter
répéter
2. Créer un diagramme
3. Choisir 1 boîte à détailler
jusqu'à sous-modèle évaluable
4. Faire un cycle Auteur / Lecteur
jusqu'à objectif du modèle atteint.
On ne parlera pas de la modélisation des données
1. Préparer le modèle
1.1. Préliminaires
1. Délimiter le contexte du modèle
2. Identifier l'objectif du modèle
3. Choisir un point de vue
Difficiles à formuler d'emblée de façon claire et précise,
améliorer la formulation peu à peu, au fur et à mesure que la compréhension du système s'améliore.
2. Créer un diagramme
Le Contexte est déterminé par l'interface de la boîte parent que le diagramme détaille
Tout dire sur la boîte parent, ne rien dire d'autre.
Respecter l'objectif et le point de vue de l'ensemble du modèle
On s'arrête généralement au niveau 3, (2 à 30 diagrammes)
2.1. Préparer
Identifier et structurer les éléments du diagrammes avant de le dessiner
Travailler en parallèle sur les entités et les opérations, pour garantir la cohérence du diagramme.
Faire une matrice croisée Entités / Activités pour vérifier la complétude des listes
- Chaque Entité est-elle créée, détruite, utilisée ou transformée ?
- Chaque activité a-t-elle une sortie, un contrôle ?
règle 1 :
L'arborescence est construite
- de bas en haut (un enfant après son père)
- en largeur d'abord (les frères avant les enfants)
Avant de décomposer une activité, on s'assure de son interface, et par là de son rôle.
Toute les branches n'ont pas nécessairement la même profondeur.
règle 2 :
Dans une fratrie, choisir la fonction dont la décomposition
- apportera le plus d'information sur les autres boîtes
- la plus difficile, car moins familière ou moins claire
=> la dominante
la moins bien connue, la plus complexe pour l'auteur
généralement pas la plus simple, dont on arrivera tjs à s'accommoder
(Détailler Axj verrouille l'interface des Axk, et donc réduit la marge de manœuvre pour les détailler)
C. Sibertin-Blanc, DESS IGSI 20
4. Faire un cycle Auteur / Lecteur
Objectifs
- assurer la qualité des diagrammes par la technique de l'inspection
- assurer l'homogénéité des composantes du modèle
- favoriser l'esprit d'équipe, l'émergence d'un consensus
de façon efficace
Produire un kit
rassembler un ensemble cohérent de documents (4-5 diagrammes avec leur texte, glossaire, PES)
l'identifier
le diffuser aux lecteurs avec le délai de réponse souhaité (1 – 3 jours)
Commenter le kit
Rédiger sur la copie du kit des notes de lecteur, en rouge
Chaque note porte sur un diagramme ouX l'ensemble du kit
Etre positif
Eviter
- l'instabilité
- les rustines (modification a minima qui altèrent la cohérence du modèle).
KIT TO REVIEWER
COMMENTS TO AUTHOR
COPYING INSTRUCTIONS
copies of pages = total
C-NUMBER PAGE
24
NOMENCLATURE DOCUMENT/MODEL TITLE DOCUMENT NUMBER
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
IDEF KIT DIAGRAM FORM
Used at: Author: Date: WORKING READER DATE Context:
Project: Rev: DRAFT
RECOMMENDED
Notes: 1 2 3 4 5 6 7 8 9 10 PUBLICATION