Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du...

39
1 Introduction aux méthodes Introduction aux méthodes d’analyse et de modélisation d’analyse et de modélisation Emmanuel ADAM Emmanuel ADAM Groupe de recherche RAIHM Raisonnement Automatique et Interaction Homme-Machine Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel 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, – ...

Transcript of Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du...

Page 1: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

1

Introduction aux méthodes Introduction aux méthodes

d’analyse et de modélisationd’analyse et de modélisation

Emmanuel ADAMEmmanuel ADAM

Groupe de recherche RAIHMRaisonnement Automatiqueet Interaction Homme-Machine

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

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,

– ...

Page 2: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

2

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

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 – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

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]

Page 3: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

3

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

Les étapes de développement

1 - Analyse des besoins

2 - Spécification

3 - Conception

4 - Codage

5 - Intégration

6 - Mise en œuvre

7 - Exploitation - Maintenance

40%40%

20%

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

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, ...

Page 4: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

4

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

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 – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

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, ...

Page 5: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

5

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

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 – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

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, ...

Page 6: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

6

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

Les langages de programmation (2/2)

• Programmation logique– issue de l’IA– ex : prolog, Level5, …

• Programmation orientée agent ?– Agent = objet autonome communicant

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

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)

Page 7: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

7

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

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 – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

Aide à lagénération dedocumentation

Aide à lagestion desversions

AnalyseSpécification

Coda

ge

ConceptionDétaillée Co

nceptio

n

Préliminaire

Transform

ationLibrairie

modèles

des modèles à

la conception

a - ........

b - .......

........

d - ........

dictionnaire

de données

architecture

du logiciel

fonction(....) ........ ....... fin

pseudo code

générateurde code Java

générateurde codeVisual Basic

générateurde code C++

Aide à lagestion deprojet

Atelier de modélisation

Page 8: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

8

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

éditeur de code

éditeur d'interfaceshomme-machine

compilateur debugger

Atelier de développement

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

Les différents modèles de développement

• Enchaînement des étapes – Le modèle cascade– Le modèle en V– Le modèle évolutif– Le modèle spirale

Page 9: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

9

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

Les différents modèles de développement

• Le modèle cascade

Spécification

Faisabilité, cahier

des charges

Conception

préliminaire

Conception

détaillée

Codage

Intégration

Installation

Exploitation &

maintenance

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

Les différents modèles de développement

• Le modèle en V

Programmation

Spécification

Faisabilité, cahier

des charges

Conception

préliminaire

Conception

détaillée

Test d’acceptation

Installation et

tests systèmes

Intégration et test

d’intégration

Test unitaire

Page 10: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

10

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

Les différents modèles de développement

• Le modèle incrémental (évolutif)Faisabilité, cahier des charges

Validation

Spécification

Validation

Conception

Vérification

Conception détaillée

Vérification

CodageTests unitaires

Intégration

Vérification

Mise en œuvre

Test

Exploitation, Maintenance

Revalidation

Conception détaillée

Vérification

CodageTests unitaires

Intégration

Mise en œuvre

Itération 2

Itération 1

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

Les différents modèles de développement

• Le modèle spirale

prototype1

plan généraldu projet

conceptsd'opération

analyse de

risque

prototype2 prototype3

prototype

opérationnel

analyse de

risque

analyse de

risque

analyse de

risque

détermination des objectifs,des alternatives,

des contraintes

plan de

développement

plan d'intégration

et de test validation de la

conception

Vérification

Validation des

besoins

conception

détaillée

Programmation et

test unitaires

Intégration et test

Test Système

Mise en oeuvre

simulation, modélisation, benchmark

Page 11: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

11

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

Les modèles

• 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 – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

Quelques méthodes d’analyse,de spécification et de conception

MERISE : orientée BdD

SADT : méthode structurée

1 3

2 4

vue globa le du s ystèm e

1

2

3

OSSAD : organisation CISAD : coopération

MKSM : gestion des connaissances

OMT : orientée objetUML

Page 12: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

12

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

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 – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

MERISEModèle Conceptuel de Communication

DT

FDC

FDC

FDC

FDC

FDC

FDC

FDC

FDC

FDC

rôle 5

rôle 4

rôle 2

rôle 6

rôle 5

rôle 3

rôle 6

rôle 4

rôle 2

Page 13: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

13

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

MERISEModèle Conceptuel des Données : Modèle Entité-Relation

nom,

prénom

rôle 5

type,

domaine

rechercheeffectuer

1,1

0,n

accord

avis de

brevetabilité

domaine,

état de l'art,

description

Dossier

Technique

constituer

DT

1,1

1,1

1,n

1,1 rédiger

PjtDmd

1,1

référence,organisme,

nom rôle 5

Farde de

Circulation

1,1

nom,

prénom

rôle 4

résumé du projet

texte du projet

projet de

demande

remplir

FdC

1,1

1,n

1,1

1,n

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

MERISEModèle Organisationnel des traitements

Acteur 2 Acteur 1Acteur 3Acteur 4Acteur 5Acteur 6

- copier et placer

PJTDMD dans la

farde COG,

prise de

connaissance

Constituer DT

rediger et mettre

en forme le

projet de

demande

non

correctcorrect

remplir la farde

de circulationcréer n° cas

Dossier

Technique

Projet dedemande

demande n°

n° index

farde de

circulation

farde decirculation

avis de

brevetabilité

Page 14: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

14

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

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 – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

OMTModèle de données

Dosssier Technique

(DT)

- Référence invention

- Domaine de l'invention

- Etat de l'art

- Caractéristiques de l'invention

- Référence invention,

- Résumé de l'invention,

- Etat de l'art,

- Description de l'invention

Projet de demande de brevet

(Prj.Dmd)

- n° de dossier,

- noms inventeurs,

- mots clés

Dossier de circulation

(DdC)

Dossier principal

Avis de brevetabilité

(Avis)

- Référence invention

- avis

correspond àcorrespond à

Page 15: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

15

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

OMTDiagramme d’événements

Rôle 2 Rôle 1Rôle 3Rôle 4Rôle 5Rôle 6

Dossier Technique

constitué

n° farde demandé

avis de brevetabilité

transmis

n° farde créé

farde de circulation

complétée

projet de demande

incorrect

projet de demande

modifié

projet de demande

correct

projet de demande

classé dans farde

COG

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

OMTDiagramme d’état

première vérification

création

de la farde COGfaire : copier le projet

Constitution du

Dossier

faire : compléter la

farde de circulation

Projet de

demande créé

nouvelle fdc /

demande n°

avis de

brevetabilité

Dossier Technique

constitué

rédaction du projet

de demande

création d'un

n°de cas

n° créé

Farde de Circulation

constituée

Farde de Circulation

incorrecte

Farde de Circulation

correcte

FCOG créée /

transmettre fdc

Page 16: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

16

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

OMTDiagramme de flux de données

remplir dossier

lire

compléter le

dossier

enregistrer

passage

compléter le

texte

vérifier

enregistrer passage,mettre à jour le

dossier principal

classer le

dossier

principal

lire, parapher

rôle 2

rôle 6

Dossier

Principal

dossier decirculation

rôle 3

dossier de

circulation

dossier de

circulation

dossier de

circulation

dossier decirculation

dossier de

circulation

Dossier

principal

Dossier

principal

rôle 1

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

UML : Unified Modelling Language

• Langage, fusion des différentes méthodes orientées objets

• supporté par des outils

• +, cf. prochains cours

Page 17: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

17

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

UMLCas d’utilisation

création

du dossier principalfaire : copier le projet

Constitution du

Dossier

création du dossier

de circulation

rédaction du projet

de demande

acteur 5

acteur 4

acteur 4acteur 6

acteur 2

acteur 6

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

UMLScénario

copier et placer

le projet dans le

dossier principal

prendre

connaissance

Constituer

Dossier

Technique

rediger et mettre

en forme le

projet de

demande

remplir le

dossier decirculation

créer n° cas

Acteur 2 Acteur 1Acteur 3Acteur 4Acteur 5Acteur 6

Page 18: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

18

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

UMLDiagramme de séquence

Acteur 2 Acteur 1Acteur 3Acteur 4Acteur 5Acteur 6

Dossier

Technique

constitué

avis de brevetabilité

n° dossier

dossier de circulation

dossier de circulation

Dossier

Technique

Projet de demande

créé et n° dossier

demandén° dossier créé

demande n°

dossier de circulation

complétée,

TQ projet non correct

loop

projet non correctend loop

projet correctdossier de circulation

projet de demande

classé dans

dossier principaldossier de

circulation lu

dossier de circulationdossier de

circulation

complété

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

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

Page 19: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

19

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

SADTActigrammes

créer un n°

unique

n° dossier

remplir

dossier de

circulation

vérifier

copier,

remplir dossier

principal

lire

dossier de

circulation

acteur 6

acteur 5

acteur 6

acteur 4

acteur 2

dossier de

circulationdossier de

circulation

dossier de

circulation

dossier de

circulation

avis de

brevetabilité

constituer le

Dossier

Technique

dossier

Technique

rédiger Projet

de demande,

demander n°

acteur 5

acteur 4

demande n°

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

SADTDatagrammes

avis de brevetabilité,

recherche

donner un avis

chercher

Dossier

Technique

constituer le

Dossier

Technique

(acteur 5)

Projet de

demande

rédiger projet

de demande

(acteur 4)

dossier de

circulation

remplir le

dossier

de circulation

(acteur 4)

dossier

vérifié

lire

(acteur 5)dossier lu

vérifer

(acteur 2)

compléter

le dossier

(acteur 3,

acteur 4)

dossier

complété

revérifier

(acteur 2)

Dossier

revérifié

dossier

principal

créer

dossier

principal

(acteur 6)

dossier

principal

vérifié

vérifier

(acteur 1)

Page 20: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

20

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

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 – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

OSSADDiagramme A1

Relations entre les fonctions de l’organisme

constituer le

dossier

technique

rediger et mettre

en forme le

projet de

demande

créer et remplir

le dossier de

circulation

DossierTechnique

Avis debrevetabilité

Projet dedemande

Dossier de

circulation

copier et placerle projet dans

le dossier

principal

parapher

compléter

Dossier principal

Page 21: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

21

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

OSSADDiagramme 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

Acteur 6

Modification du texte du brevet

Modification et envoi du dossier

principal

Acteur 5

Acteur 4

Acteur 3

Acteur 2

Acteur 1

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

OSSADExemple de Diagramme D1 : Relations entre rôles

acteur 5acteur 4acteur 2

acteur 1

Dossier TechniqueDossier de

Circulation

Dossier de

Circulation

acteur 3Dossier de

Circulation

Dossier de

Circulation

Dossier de

Circulation

Dossier de

Circulation

Dossier

Principal

acteur 6

n° dossier

demande n°

Page 22: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

22

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

OSSADExemple de diagramme D2 : Relations entre procédures

Rédaction duprojet de

demande

Création dudossier de

circulation

Création dudossier principal

Modification et

Classement dudossier pricipal

dossier deCirculation

Dossier

Technique

Projet de

demande

dossier deCirculation

Modification dudossier decirculation

dossier deCirculation

dossier principal

Rôle 5

dossier de

Circulation

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

OSSADFiche représentant une tâche

Fiche Tâche

Nom de la tâche + (Id) :

(Decription) :

remplir Dossier de Circulation par acteur 4

(Ta402)

Liens (arborescence) :

/ asc. (Procédure)

\ desc. (Opérations)

Création du dossier de Circulation (Pr003)

Demander n° dossier (Op402),

Remplir (Op403)

Relations avec tâches :

par ressources entrantes

par ressources sortantes

Rédaction du Projet / Acteur 4,

Création du dossier principal / Acteur 6

Projet de demande (Doc001)

Farde de Circulation (Doc002)

Page 23: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

23

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

OSSADFiche représentant une donnée

Fiche Ressource

Nom de la ressource + (Id) :

(Decription) :

Projet de demande (doc001)

Liens (arborescence) :

/ asc. (Super Ress.)

\ desc. (Rubriques)

néant

référence invention, résumé, état de l'art,

description de l'invention

Relations avec opérations :

Origine :

Destination :

Rédiger le projet de demande (Op451)

projet de demande de dépôt de brevet

Mettre en forme le projet (Op452)

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

OSSADDiagramme d ’une procédure

Acteur 2 Acteur 1Acteur 3Acteur 4Acteur 5Acteur 6

- copier et placer

Projet dans le

dossier principal

AVIS

prise de

connaissance

dossier deCirculation

Dossier Technique

Constituer

DossierTechnique

rediger et mettre en forme

le projet de demande

remplir ledossier de

circulation

créer n°dossier

dmde n° dossier

n° dossier

Projet de demande

dossier de Circulationcorrect

oudossier de Circulation

non correct

Page 24: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

24

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

CISAD : Cooperative Information System Analysis and design

• Étend OSSAD en permettant la prise en compte de la coopération

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

CISADExemple de modèle descriptif de rôle adapté (type D1)

Agent

service

prêt(2)

Client(1)

Chef de

service

demande

dossier Conditions

Offre

Agent

service

prêt(1)

Client(2)

Plan A Plan C

Plan B

Page 25: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

25

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

CISADMatrice de Grudin pour la modélisation des communications

site 1 ... site imprévisible

rôle A rôle B ... rôle A rôle B ... rôle A rôle B ...

rôle A

rôle B

...

rôle A

rôle B

...

rôle A

rôle B

...

site 1

site ...

site

imprévisible

SynchroneAsynchrone et moment

imprévisible

Asynchrone et moment

prévisible

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

CISADExemple de modèles d’argumentation

A : Constitution de l'ordre du jour

Question

Demande

de sujet

proposition sujet 1

proposition sujet 2

proposition sujet 3

justification

justification

justification

options critères

régulateur Participants à la réunion (n)

C : Conversation / Débat

Question

Question

sur le sujet

proposition de

solution 1

arguments positifs

options critères

régulateur Participants à la réunion (n)

proposition de

solution 2

arguments négatifs

arguments positifs

arguments négatifs

Page 26: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

26

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

CISADUn exemple de représentation de la conversation

A : constitution

de l'ordre du jour

Accord

Sujet proposé

ParticipantRégulateur

Acceptation

Demande de sujet

B : Convocation

des participants

Accord pour répondre

Réponse participation

ParticipantRégulateur

Prise en compte

Convocation

Réunion

Accord pour participation

Exécution

ParticipantRégulateur

Validation de la réunion

Organisation d'une réunion

Prise en compte

Démarrage sur un sujet

C : Conversation

/ Débat

Annonce de l'intérêt

Proposition de solution / résolution

ParticipantRégulateur

E : Evaluation de

la réunion

Accord pour évaluer

Avis sur la réunion

ParticipantRégulateur

Prise en compte de la réponse

Demande d'évaluation

D : Question /Réponse

Veut répondre

Réponse

Participant

(n-1)

Participant

(1)

Prise en compte de la réponse

Prépare une question

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

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.

Page 27: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

27

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

MKSMModèle du domaine: représentation d ’un processus

Champ Actif

département de propriété

Industrielle

Système Source

acteur 5

Système Cible

acteur 4

Action Source

constitution d'un

dossier technique

Action Cible

rédaction d'un

projet de demande

conséquence

emission d'un projet

de demande

Flux

Dossier Technique

é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 3

Action Source

prendre connaissance des

modifications sur la demande de

brevet

Action Cible

compléter le dossier de circulation

conséquence

emission d'un

dossier de circulation

Flux

Dossier de circulation

événement déclencheur

réception d'un dossier de

circulation

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

MKSMModèle de concepts : Exemple d ’un réseau de concepts

dossier principal

projet de demande

référence àl'invention

résumé del'invention

état de l'art description

dossier technique

référence àl'invention

domaine del'invention

état de l'artcaractéristiquesde l'invention

texte texte texte texte texte texte texte texte

Page 28: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

28

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

MKSMModèle de tâches

vérifier le dossier de circulation

(par acteur 2)

retourner le dossier

(à acteur 4)

transmettre le

dossier (à acteur 6)

des corrections sont

à apporterle dossier est correct

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

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, …)

Page 29: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

29

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

Exemple d’application

• Modéliser des processus de type workflow

• au sein d’organisations humaines

• dans le but de spécifier des outils informatiques d’aide à la gestion de documents

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

Modéliser l’organisation humaine

• Nécessité de représenter :

– les documents, les flux de documents, leurs traitements

– les acteurs ayant différents niveaux de responsabilité

– la dynamique des échanges (interruptions, parallélisme)

– …

Page 30: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

30

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

Recherche d'une méthode

MERISE : orientée BdD

SADT : méthode structurée

1 3

2 4

vue globa le du s ystèm e

1

2

3

OSSAD : organisation CISAD : coopération

MKSM : gestion des connaissances

OMT : orientée objetUML

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

Cadre de comparaison

• 5 dimensions de comparaison

– dimension méthodologie : cycle de développement, implication de l ’utilisateur, ...

– dimension environnement d’application : types d'organisation et d'environnement, ...

– dimension représentation : formalismes, principe de construction, ...

– dimension technologie : programmation, ...

– dimension coopération : communication, coordination, relations

Page 31: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

31

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

Confrontation des méthodes

=> Intégration de méthodes [Paide 99], ...

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

Proposition d'une méthode

• MAMOSACO : Méthode Adaptable de MOdélisation de Systèmes Administratifs COmplexes

• méthodologie : approche évolutive, intégrant les acteurs dans les étapes d’analyse, de modélisation et de spécification

• environnement d ’application : organisation basée sur les flux de documents

• représentation : modèles accessibles, de données, de flux de données, de traitements, et dynamique

• coopération : utilisation du modèle dynamique et d’un simulateur

• technologie : orientation multi-agents

Page 32: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

32

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

Les étapes de MAMOSACO

Acteurs

SimulationAnalyse

Modélisation

Données Dynamique

Activité Traitements

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

Modélisation des données

- Objectif de l'invention

- Description de l'invention

- Revendications

Texte de la demandeTDMD

- n° de version

- date

Texte non définitiftnd

Version finale du textevft

Dossier de

candidatureDDC

Curiculum vitaeCV

Annexeanx

Page 33: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

33

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

Modélisation des activités

chef de

département

constituer le

dossier

technique

rédiger un

projet de

demande

(Avis) (DT)

créer et remplir

un dossier de

cisculation(DC)

(PjtDmd)

copier DC et le

classer dans le

dossier principal

prendre

note

(DC)

compléter le

dossier

(DC)

chef-adjoint

responsable

secteur

conseil en

brevet

inventeur

bureau

administratif

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

Modélisation des traitements

chef-adjointresponsable

secteur

conseil en

brevetinventeur

bureau

administratif

recevoir Avis

si

constituer ledossier

technique

(Avis)

(Avis) positif

créer un n° de

dossier

créer et remplir le

dossier decirculation

(dmd n°)

(n° dossier)

(DC) vérifier le dossier

si(DC) ok

copier le dossierde circulation,

le classer dans ledossier principal

rédiger un projet de demande,demander un n° de dossier

(DT)

Page 34: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

34

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

Avis

Avis positif

Chef AdjointResponsablesecteur

Conseil en

brevet

InventeurBureau

Administratif

Constituer DT

n° dossier

n° dossier créé

DT

DT prêt

créer PjtDmd

dmd

infos

envoi infos

PjtDmd créé

créer, mettre en

fome DC

dmd

n° dossier

créer n°dossier

DC

DC incorrect

Modélisation de la dynamique

Règles globales

Règles locales

Règles personnelles

RdP Paramétrés

[Agimont 96]

5. Atelier de Génie Logiciel supportant la 5. Atelier de Génie Logiciel supportant la

méthode MAMOSACOméthode MAMOSACO

Modèle d’organisation multi-agents pour l’aide au travail coopératif dans les processus d ’entreprise : application aux systèmes administratifs complexes

Page 35: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

35

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

Atelier de Modélisation MAMOSACO

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

Démarche d’utilisation

1 2 3

4

5

6

Page de présentation Fiche descriptive Modèle des données

Modèle dynamique

Modèle des traitements

Modèle de flux de données

Page 36: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

36

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

Matrice Activité-Rôle

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

Modèle des données

Page 37: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

37

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

SimOH : Simulateur d’organisation humaine

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

Application à un cas concret

• L’application à un cas réel d’un méthode nécessite quelquefois quelques ajustements en fonction des spécificités du domaine

• Exemple :

Page 38: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

38

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

Application de MAMOSACO

Acteurs

SimulationAnalyse

Modélisation

Données

Dynamique

Activité Traitements

[[ErgodinErgodin 95]95][[CarrereCarrere 95]95]

SimplificationSimplificationdes procéduresdes procédures

Démarche participative Démarche participative très appréciéetrès appréciée

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

Simplification des procédures

prof il

d 'i nte rroga tion

InterrogerBibliothèque

Chef de Service ID

Secrétariat PI/ID

Chargé d'Etude à

finalité ID

Cellule

Dactylo

Sélectionner

demandes à

priori

menaçantes

Imprimer les

demandes

sélectionnées

li re, parapher,nommer CE

dater fc et ppdmd,

classer ppdmd

sélectionner les dmd les

plus menaçantes,

rediger mi nute du fDBTAT,dater, parapher

enregi st rer

passage

encoder demandes,li re et modifi er min. ,

dater et parapher fc

enregistrer

passage

taper le formul aire

de DBTAT,

dater, parapher

vérif ier, dater,parapher

modifier leformulaire de

DBTAT ,

dater, parapher

enregist rer

passage

vérif ier,dater,

parapher

enregi strer

passage

demander copies

de la dmd de

brevet , dater,

parapher

copier,

dater,

parapher

copi er fbtat, lier auxcopies de dmd de

brevet, distribuer

selon la li ste dans fc,

détruire fc

adjoint chef

dept PI/ID

chef relations

PI/Recherche

Conseil en Brevet

Chargé d'Etude à

finalité PI

Bureau

Administratif

Cellule courrier

Bibliothèque

Chef de Service ID

Secrétariat PI /ID

Chargé d'Etude à f inalité ID

Cellule Dactylo

adjoi nt chef

dept PI /ID

chef service

relat ions PI/Recherche

Conseil en Brevet

Chargé d'Etude à fi nal ité PI

Bureau Administrati f

Cell ule courri er

Diffuser l es

demandesà DCR-PI

surveiller et

suivre le

dossier

surveiller et

suivre le

dossier

Encoder

enregistrer

passage

répons e

prendre

connaissance,parapherréponse

enregist rer

passage

réponse

copier 3

fois le

formulaire

répons e

dater et

parapher,indiquer CE et

CB sur copies

prendre

connaissance

cop ie

répons e

réponse +

2 copies

réponse

compléter

encodage,

t ransmett recopies

2 copies

réponse

prendre

connaissance

prendre

connaissance

c op ie

réponse

classer

fdtat+pp

classeroriginal,

ok

enregistrerréponse

(ppdmd)

(ppdmd)

selectionnées

(dmdbvt)

(fc)

(dmdbvt)

(fc)

(dmdbvt)

(fc)

(dmdbvt)

reselect ionnées

(dmdbvt) non

selecti onnées

(fc) +

(mi nute)

(dmdbvt)

reselect ionnées

(dmdbvt) non

select ionnées

(fc) +(minute)

(fc) +

(mi nute)

(fc) +

(m inute)

(fdbtat )

(fdbtat )

(fdbtat )

(fdbtat )

(fdbtat )(fdbtat )

(fdbtat)

(fdbtat )

(fdbtat )

copies

(dmdbvt)

(fdbtat)

(fdbtat) +(dmdbvt)

(fdbtat) +(dmdbvt)

(fdbtat ) +

(ppdmd)

AvantAvant

encoder demandes,

lire et approuver

fdbtat,

dater et parapher

1 profil

d'interrogation

par CHET

Interroger

(5 paquetspour 5 CHET)

Bibliothèque

Chef de Service ID

Secrétariat PI/ID

Chargé d'Etude à

finalité ID (CHET ID)

Cellule

Dactylo

Sélectionner

demandes à

priori

menaçantes

Imprimer les

demandes

sélectionnées

sélectionner les dmd les

plus menaçantes,

rediger minute du fDBTAT,

dater, parapher

Vérifier fdbtat

adjoint chef

dept PI/ID

chef relationsPI/Recherche

Conseil en Brevet

Chargé d'Etude àfinalité PI (CHET PI)

BureauAdministratif

Cellule courrier

dater et

parapher,indiquer CE et

CB sur copies

prendre

connaissance

réponse + 2 copies réponse

copieréponse

prendre

connaissance

prendreconnaissance

encoder par code PI,

CGP, n° surveillance,

date, mots-clés

"surveiller"

taper le formulaire

de DBTAT,

dater, parapher

classerfdtat+pp

classer

original,

original

prendre

connaissance

copieréponse

(1 paquetpour SPERT)

copier la dmd de brevet, copier fdbtat,

lier aux copies de dmd de brevet,

distribuer selon la liste dans fdbtat

Diffuser lesdemandes

à DCR-PI

"surveiller" et

suivre le dossier

"surveiller" et

suivre le dossier

"classer"

Trier et

copier 3

fois

copie réponse

réponsepour SPE

SPE

Bibliothèque

Chef de Service ID

Secrétariat PI/ID

Chargé d'Etude à

finalité ID

Cellule

Dactylo

adjoint chef

dept PI/ID

chef relationsPI/Recherche

Conseil en Brevet

Chargé d'Etude àfinalité PI

BureauAdministratif

Cellule courrier

SPE

(ppdmd)

(ppdmd)

(ppdmd)

sélectionnées

(dmdbvt)

(minute)

+ (dmdbvt)

(dmdbvt)(fdbtat) +

(fdbtat) +(dmdbvt)

(dmdbvt)

(fdbtat) +

(dmdbvt)

(fdbtat) +

(dmdbvt)(fdbtat) +

(fdbtat) +

(fdbtat) +(ppdmd)

(dmdbvt)

(fdbtat) +

(fdbtat) sous

surveillance

AprèsAprès

Page 39: Le Génie Logiciel, Pourquoi - boitasite.comEmmanuel ADAM –Universitéde Valenciennes et du Hainaut Cambrésis –Introduction aux méthodes du Génie Logiciel UML Scénario copier

39

Emmanuel ADAM – Université de Valenciennes et du Hainaut Cambrésis – Introduction aux méthodes du Génie Logiciel

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.