Modèle d`organisation multi-agent pour l`aide au travail coopér

Transcription

Modèle d`organisation multi-agent pour l`aide au travail coopér
Introduction aux méthodes
d’analyse et de modélisation
Emmanuel ADAM
Institut des Sciences et Techniques de Valenciennes
Le Génie Logiciel, Pourquoi ?
• Apparu en 1968 pour
– construire des logiciels fiables,
– respecter les délais,
– travailler en équipe,
– décomposer la complexité,
– assurer la qualité,
– permettre la réutilisation,
– ...
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
Le Génie Logiciel pour des problèmes complexes
• Ajouter un programmeur sans organisation ne fait
que ralentir la mise en œuvre du projet.
– Problème de nb de communications : (Loi de Brooks)
– Problème de communication (compréhension)
• malentendus, erreurs d’interprétation, ...
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
Quelques définitions
• le génie logiciel est l'art de spécifier, de concevoir, de
réaliser, et de faire évoluer, avec des moyens et dans des
délais raisonnables, des programmes, des
documentations et des procédures de qualité en vu
d'utiliser un ordinateur pour résoudre certains problèmes.
[MC Gaudel & co, 96]
• Le génie logiciel se caractérise par une approche
rigoureuse et systématique de la construction de
logiciels ne pouvant être maîtrisés par une seule personne.
[JP Fournier 00]
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
Les étapes de développement
1 - Analyse des besoins
2 - Spécification
3 - Conception
40%
40%
4 - Codage
5 - Intégration
20%
6 - Mise en œuvre
7 - Exploitation - Maintenance
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
Analyse des besoins
• Etude de faisabilité
• Type d’analyse
– orientée processus, orientée rôle, orientée données
• Techniques d’acquisitions
– entretiens, observations, questionnaires, ...
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
Spécification
(inspiré de IEEE Std 830 & [Jaulent 90])
• Première description du futur système (le quoi, Ce qu’il doit
faire)
–
–
–
–
–
Les fonctions générales,
Les caractéristiques des utilisateurs,
Contraintes (développement, exploitation, maintenance),
Interfaces (homme-machine, logiciel/matériel, logiciel/logiciel),
Objets, entités constituant le système.
• Garder une trace des différentes spécifications (justification)
• Ne pas oublier le glossaire !
• Dans une annexe, placer les références aux documents
utilisés
• Ne pas faire de choix d’implémentation à ce niveau...
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
Conception
• Augmenter la spécification pour se rapprocher de
l’implémentation, du codage
• Conception Architecturale
– Décomposer le système en sous-systèmes
– Définir les interfaces, les liens entres les composants
• Conception détaillée
– Détailler le fonctionnement des composants
• définir quelques algos, la représentation des données, ...
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
Le codage et l’intégration
• Ne représente que 15 à 20% du temps dans un
projet complexe et bien structuré
• Ne pas oublier de gérer les différentes versions
des composants
• L’intégration nécessite une bonne définition
préalables des interfaces entre composants
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
Les langages de programmation (1/2)
• Programmation impérative
– programmation structurée,
– basé sur des algos,
– ex : fortran, pascal, c, ADA, …
• Programmation applicative
– programmation fonctionnelle et déclarative,
– programmation objet
– ex : Lisp, Caml, Smalltalk, C++, Java, ...
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
Les langages de programmation (2/2)
• Programmation logique
– issue de l’IA
– ex : prolog, lisp, scheme…
• Programmation orientée agent ?
– Agent = objet autonome communicant
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
Mise en œuvre
• Porter le logiciel sur le système client
• Vérifier l’adéquation avec le système visé
– Validation
• De manière générale, il faut tenter de valider à
tout niveau (spécifications & conceptions)
– test unitaires (composants)
– test d ’intégration (logiciel complet)
– test système (logiciel sur site)
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
Les AGL: des outils d’aide
• AGL = Atelier de Génie Logiciel
– Atelier de modélisation
• Une méthode n’existe que si elle est supportée par un outil
– Atelier de développement
• facilite la programmation (Visual Basic, Visual C++, ...)
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
Atelier de modélisation
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
Atelier de développement
éditeur de code
compilateur
debugger
éditeur d'interfaces
homme-machine
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
Les différents modèles de développement
• Enchaînement des étapes
–
–
–
–
Le modèle
Le modèle
Le modèle
Le modèle
cascade
en V
évolutif
spirale
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
Les différents modèles de développement
• Le modèle cascade
Faisabilité, cahier
des charges
Spécification
Conception
préliminaire
Conception
détaillée
Codage
Intégration
Installation
Exploitation &
maintenance
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
Les différents modèles de développement
• Le modèle en V
Faisabilité, cahier
des charges
Installation et
tests systèmes
Spécification
Test d’acceptation
Conception
préliminaire
Intégration et test
d’intégration
Conception
détaillée
Test unitaire
Programmation
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
Les différents modèles de développement
• Le modèle incrémental (évolutif)
Faisabilité, cahier
des charges
Validation
Itération 2
Spécification
Validation
Conception
détaillée
Conception
Vérification
Conception
détaillée
Vérification
Codage
Codage
Tests
unitaires
Itération 1
Vérification
Intégration
Tests
unitaires
Intégration
Vérification
Mise en œuvre
Mise en œuvre
Test
Exploitation,
Maintenance
Revalidation
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
Les différents modèles de développement
• Le modèle spirale
analyse de
risque
analyse de
risque
analyse de
risque
détermination des objectifs,
des alternatives,
des contraintes
analyse de
risque
prototype
opérationnel
prototype1 prototype2 prototype3
plan général concepts
du projet d'opération
plan de
développement
plan d'intégration
et de test
simulation, modélisation, benchmark
conception
détaillée
Validation des
besoins
Programmation et
test unitaires
validation de la
conception
Vérification
Intégration et test
Test Système
Mise en oeuvre
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
Les formalismes
• Représenter le système (initial ou visé)
• 4 types de modèle :
–
–
–
–
modèle des données
modèle des flux de données
modèle de traitement
modèle dynamique
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
Quelques méthodes d’analyse,
de spécification et de conception
MERISE : orientée BdD
OSSAD : organisation
OMT : orientée objet
UML
CISAD : coopération
vueglobale
dusystèm
e
1
3
2
4
1
2
3
SADT : méthode structurée
MKSM : gestion des connaissances
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
MERISE
•
•
•
•
•
Orientée Base de données
Cycle cascade
Approche descendante
Modélisation : données & activités, traitements
Particularités :
– modèles conceptuels, organisationnels, logique et
physique
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
MERISE
Modèle Conceptuel de Communication
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
MERISE
Modèle Conceptuel des Données : Modèle Entité-Relation
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
MERISE
Modèle Organisationnel des traitements
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
OMT : Object Modeling Technique
•
•
•
•
•
Orientée Objet
Cycle spirale
Approche descendante
Modélisation : données, dynamique, traitements
Particularités :
– Méthode objet utilisée dans qqs entreprises avant
l’apparition d’UML
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
OMT
Modèle de données
Dossier principal
Dossier de circulation
(DdC)
- n° de dossier,
- noms inventeurs,
- mots clés
Avis de brevetabilité
(Avis)
Dosssier Technique
(DT)
- Référence invention
- avis
correspond à
- Référence invention
- Domaine de l'invention
- Etat de l'art
- Caractéristiques de l'invention
Projet de demande de brevet
(Prj.Dmd)
correspond à
- Référence invention,
- Résumé de l'invention,
- Etat de l'art,
- Description de l'invention
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
OMT
Diagramme d’événements
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
OMT
Diagramme d’état
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
OMT
Diagramme de flux de données
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
UML : Unified Modelling Language
• Langage, fusion des différentes méthodes
orientées objets
• supporté par des outils
• +, cf. prochains cours
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
UML
Cas d’utilisation
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
UML
Scénario
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
UML
Diagramme de séquence
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
SADT : Structured Analysis and Design Technique
•
•
•
•
•
Méthode structurée
Cycle cascade
Approche descendante
Modélisation : données, activités
Particularités :
– Actigrammes fortement utilisés
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
SADT
Actigrammes
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
SADT
Datagrammes
Projet de
demande
constituer le
Dossier
Technique
(acteur 5)
Dossier
rédiger projet
Technique
de demande
(acteur 4)
remplir le
dossier
de circulation
(acteur 4)
dossier de vérifer
circulation (acteur 2)
donner un avis
dossier
vérifié
lire
(acteur 5)
dossier lu
compléter dossier revérifier
le dossier complété (acteur 2)
(acteur 3,
acteur 4)
avis de brevetabilité,
recherche
Dossier
revérifié
créer
dossier
principal
(acteur 6)
chercher
dossier vérifier
principal (acteur 1)
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
dossier
principal
vérifié
OSSAD : Office Support System Analysis and Design
•
•
•
•
•
Méthode pour modélisation des organisations
Cycle V
Approche descendante
Modélisation : activités, traitement, données
Particularités :
– 8 formalismes proposés !
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
OSSAD
Diagramme A1
Relations entre les fonctions de l’organisme
parapher
créer et remplir
le dossier de
circulation
Avis de
brevetabilité
constituer le
dossier
technique
Dossier
Technique
rediger et mettre
en forme le
projet de
demande
Projet de
demande
compléter
copier et placer
le projet dans
le dossier
principal
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
Dossier de
circulation
Dossier principal
OSSAD
Acteur 1
Acteur 2
Acteur 3
Acteur 4
Acteur 5
Acteur 6
Diagramme A2
Matrice Activité/Rôle
Constitution du dossier
Rédaction du projet de demande
Création du dossier de circulation
Création du dossier principal
Modification du dossier de circulation
Modification du texte du brevet
Modification et envoi du dossier
principal
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
OSSAD
Exemple de Diagramme D1 : Relations entre rôles
acteur 2
Dossier de
Circulation
acteur 4
Dossier Technique
Dossier de
Circulation
acteur 5
Dossier de
Circulation
demande n°
n° dossier
Dossier de
Circulation
Dossier de
Circulation
Dossier de
Circulation
acteur 6
Dossier
Principal
acteur 1
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
acteur 3
OSSAD
Exemple de diagramme D2 : Relations entre procédures
Rôle 5
Dossier
Technique
Projet de
demande
Rédaction du
projet de
demande
Création du
dossier de
circulation
dossier de
Circulation
dossier de
Circulation
Création du
dossier principal
dossier de
Circulation
dossier principal
Modification du
dossier de
circulation
dossier de
Circulation
Modification et
Classement du
dossier pricipal
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
OSSAD
Fiche représentant une tâche
Fiche Tâche
Nom de la tâche + (Id) :
remplir Dossier de Circulation par acteur 4
(Ta402)
(Decription) :
Liens (arborescence) :
/ asc. (Procédure)
Création du dossier de Circulation (Pr003)
\ desc. (Opérations)
Demander n° dossier (Op402),
Remplir (Op403)
Relations avec tâches :
Rédaction du Projet / Acteur 4,
Création du dossier principal / Acteur 6
par ressources entrantes
Projet de demande (Doc001)
par ressources sortantes
Farde de Circulation (Doc002)
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
OSSAD
Fiche représentant une donnée
Fiche Ressource
Nom de la ressource + (Id) :
Projet de demande (doc001)
(Decription) :
projet de demande de dépôt de brevet
Liens (arborescence) :
/ asc. (Super Ress.)
néant
\ desc. (Rubriques)
référence invention, résumé, état de l'art,
description de l'invention
Relations avec opérations :
Origine :
Rédiger le projet de demande (Op451)
Destination :
Mettre en forme le projet (Op452)
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
OSSAD
Diagramme d ’une procédure
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
CISAD : Cooperative Information System Analysis and design
• Étend OSSAD en permettant la prise en compte de
la coopération
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
CISAD
Exemple de modèle descriptif de rôle adapté (type D1)
Plan B
Chef de
service
dossier
Conditions
Agent
service
prêt(1)
Agent
service
prêt(2)
demande
Offre
Client(1)
Plan A
Client(2)
Plan C
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
CISAD
Matrice de Grudin pour la modélisation des communications
site 1
rôle A
rôle B
...
...
rôle A
rôle B
site imprévisible
...
rôle A
rôle B
rôle A
site 1
rôle B
...
rôle A
site ...
rôle B
Synchrone
Asynchrone et moment Asynchrone et moment
prévisible
imprévisible
...
rôle A
site
imprévisible
rôle B
...
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
...
CISAD
Exemple de modèles d’argumentation
A : Constitution de l'ordre du jour
régulateur
Question
Demande
de sujet
Participants à la réunion (n)
options
critères
proposition sujet 1
justification
proposition sujet 2
justification
proposition sujet 3
justification
C : Conversation / Débat
régulateur
Question
Question
sur le sujet
Participants à la réunion (n)
options
proposition de
solution 1
proposition de
solution 2
critères
arguments positifs
arguments négatifs
arguments positifs
arguments négatifs
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
CISAD
Un exemple de représentation de la conversation
Demande de sujet
Accord
Convocation
A : constitution
Régulateur
Participant
de l'ordre du jour
Acceptation
Régulateur
Sujet proposé
Prise en compte
Organisation d'une réunion
Régulateur
Validation de la réunion
Accord pour répondre
B : Convocation
Participant
des participants
Réponse participation
Accord pour participation
Réunion
Participant
Exécution
Démarrage sur un sujet
Annonce de l'intérêt
C : Conversation
Régulateur
Participant
/ Débat
Prise en compte
Demande d'évaluation
Accord pour évaluer
E : Evaluation de
Régulateur
Participant
la réunion
Prise en compte de la réponse
Proposition de solution / résolution
Avis sur la réunion
Prépare une question
Participant
(1)
Veut répondre
D : Question /
Réponse
Prise en compte de la réponse
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
Participant
(n-1)
Réponse
MKSM : Methodology for Knowledge System Management
•
•
•
•
•
Méthode pour la gestion des connaissances
Cycle V
Approche descendante
Modélisation : traitement, activités, données
Particularités :
– s’arrête à la modélisation du système réel,
passe la main à OMT pour la spécification du système
informatique.
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
MKSM
Modèle du domaine: représentation d ’un processus
événement déclencheur
réception d'un bulletin d'avis
positif
Champ Actif
département de propriété
Industrielle
Système Source
acteur 5
Système Cible
acteur 4
Flux
Dossier Technique
Action Source
constitution d'un
dossier technique
événement déclencheur
réception d'un dossier de
circulation
conséquence
emission d'un projet
de demande
Champ Actif
département de propriété
Industrielle
Système Source
acteur 5
Action Source
prendre connaissance des
modifications sur la demande de
brevet
Action Cible
rédaction d'un
projet de demande
conséquence
emission d'un
dossier de circulation
Système Cible
acteur 3
Flux
Dossier de circulation
Action Cible
compléter le dossier de circulation
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
MKSM
Modèle de concepts : Exemple d ’un réseau de concepts
dossier principal
dossier technique
projet de demande
référence à
l'invention
domaine de
l'invention
état de l'art
caractéristiques
de l'invention
référence à
l'invention
résumé de
l'invention
état de l'art
description
texte
texte
texte
texte
texte
texte
texte
texte
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
MKSM
Modèle de tâches
vérifier le dossier de circulation
(par acteur 2)
des corrections sont
à apporter
le dossier est correct
retourner le dossier
(à acteur 4)
transmettre le
dossier (à acteur 6)
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
Autre modèle : le réseau de Petri
• Outil mathématique pour la représentation de la
dynamique de systèmes à événements discrets
• Il existe de nombreuses extensions (temporisés,
colorés, objets, …)
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis
Conclusion
• Il existe de nombreuses méthodes
• Les méthodes doivent être choisies en fonction du
besoin, du domaine
• et surtout suite à une « bonne » analyse devant
contenir TOUTES les informations utiles.
• L’analyse est la base de tout projet,
• Ne pas hésiter à coupler les méthodes si cela est
nécessaire et de façon rigoureuse.
Emmanuel ADAM – ISTV – Université de Valenciennes et du Hainaut-Cambrésis

Documents pareils