42
1 Isima Chapitre 8 LES DIAGRAMMES D'ACTIVITÉS

LES DIAGRAMMES D'ACTIVITÉS

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: LES DIAGRAMMES D'ACTIVITÉS

1

Isima

Chapitre 8

LES

DIAGRAMMES

D'ACTIVITÉS

Page 2: LES DIAGRAMMES D'ACTIVITÉS

2

Isima

[pas de café] [pas de soda]

[sodatrouvé]

[café trouvé]

[plus de gouttes]

Boire

Trouverà boire

Mettre cafédans filtre

Mettre filtreds cafetière

Mettre eau ds réservoir

Allumerla cafetière

Attendre

Trouverune tasse

Prendrebouteille

soda

Servircafé

EXEMPLE

Page 3: LES DIAGRAMMES D'ACTIVITÉS

3

Isima

Christine FORCE

SPECIFICATIONDES BESOINS

ANALYSE

CONCEPTIONde l’architecture

TESTS

IMPLEMENTATION

Modélisationdes

traitements

Modélisationdes

processus métier

DIAGRAMMES D’ACTIVITES

Page 4: LES DIAGRAMMES D'ACTIVITÉS

4

Isima

DIAGRAMMES D’ACTIVITES

S’intéressent aux étapes d’une tâche complexe à acco mplir.

Modélisent les processus : enchaînements d’activités .

Décrivent le flot de contrôle entre activités.

S’utilisent à plusieurs niveaux :

Processus m étiers de haut niveau (par exemple étude de l’existant).

Alternative aux diagrammes de séquences pour décrire un cas d’utilisation.

Description des délégations entre objets dans un système logiciel.

Description d’algorithmes (difficultés pour décrire de s algorithmes complexes)

Page 5: LES DIAGRAMMES D'ACTIVITÉS

5

Isima

DOMAINE D'APPLICATION

Processus m étier :

Le système (d'information, industriel),

Un sous-système,

Cas d’utilisation

Description d’une famille de scénarios,

Enchaînements d’écrans dans une IHO,

Logique complexe

d'une opération, ou d'une classe,

d'une collaboration (la dynamique d’un ensemble d’objets).

Processus m étier

commande

Produit

Expédition

Page 6: LES DIAGRAMMES D'ACTIVITÉS

6

Isima

EXEMPLE : PROCESSUS INDUSTRIEL

palette

lecteur code barres

Aire de stockage

Aire de stockage

convoyeur

Page 7: LES DIAGRAMMES D'ACTIVITÉS

7

Isima

[Saturation][emplacement

disponible]

[incident]

[interventionopérateur terminée]

[OK]

RANGEMENT D’UNE

PALETTE

Ejecter

Lire codebarre

DéterminerEmplacement

Mettreà Jour BD

Activer Automate

AfficherRangement

Effectué

AfficherAppel

Opérateur

AfficherOpérationterminée

Nœud de décision

Synchronisation(concurrence)

Activitédécomposée

synchronisation(rendez-vous)

Nœud defusion

garde

Page 8: LES DIAGRAMMES D'ACTIVITÉS

8

Isima

DIAGRAMMES D’ACTIVITÉS

Syntaxe proche des diagrammes d’états

Contiennent :

Des activités ( peuvent se redécomposer

en un autre diagramme d’activités)

Des actions (non décomposables) et des attentes,

Des transitions automatiques : le flot de contrôle reste dans l’activité jusqu’à ce que le traitement soit ter miné.

Des nœuds de décision (associés à des gardes) et de fusion,

Des barres de synchronisation

Des objets (pour monter qui est modifié par une action) .

Page 9: LES DIAGRAMMES D'ACTIVITÉS

9

Isima

DIAGRAMMES D’ACTIVITÉS

Un nœud de décision est représenté par un losange d’oùpartent toutes les alternatives obligatoirement exclus ives.

Un autre losange (nœud de « fusion ») matérialise la fu sion des branches d’une décision.

Une barre de synchronisation spécifie le parallélisme : en sortie d’une barre on indique plusieurs flots de contrô les concurrents.

à l’exécution du système, ces activités peuvent être physiquement concurrentes, séquentielles ou entrela cées.

Une autre barre de synchronisation représente le rendez -vous entre flots de contrôles parallèles : la barre n’ est franchie que lorsque chaque flot amont est terminé.

Etat initial et final peuvent être représentés sur l e diagramme.

Page 10: LES DIAGRAMMES D'ACTIVITÉS

10

Isima

DIAGRAMMES D’ACTIVITÉS

Les itérations sont représentées par une « région d’expansion » : partie d’un diagramme où les actions so nt exécutées pour tous les éléments d’une collection.

Les actions peuvent être concurrentes ou itératives .

Le symbole ⊗⊗⊗⊗ représente un flux qui s’arrête même si l’activité n’est pas finie (exemple : dans une collec tion on rejette un élément).Les diagrammes peuvent être découpés en partitions (s wimlanes), pour montrer les différentes responsabilités d ans un mécanisme ou une organisation.

Chaque responsabilité assurée par un objet est allou ée à une partition donnée.La position relative des partitions n’est pas signi ficative, les transitions peuvent traverser librement les frontiè res.Les partitions peuvent être représentées en couloir s ou en damiers.

Page 11: LES DIAGRAMMES D'ACTIVITÉS

11

Isima

REGION D’EXPANSION

bon mauvais

itérative

Traitercommande

Vérifierproduit

Attribuerproduit

Vérifierclient

Validercommande

Annulercommande

Expédiercommande Flux final : met fin à la

branche, mais pas aux activité concurrentes

Notation pour une activitédécomposée

Région d’expansion :traitement d’une collection d’objets qui peut être itératif ou parallèle.

Brochede sortie

Page 12: LES DIAGRAMMES D'ACTIVITÉS

12

Isima

PARTITIONS

objet

État de l’objet

Partition

Page 13: LES DIAGRAMMES D'ACTIVITÉS

13

Isima

ENVOI ET RÉCEPTION DE SIGNAUX

Attendreauthentification

authentifier

reprendre

:ContrôleurSécurité /send ContrôleurSécurité.

Authentifier ( )

Autre représentation

suite

Annuleropération

20s

Envoi d'un signal

Objetémetteur oudestinataire(facultatif)

Réception d'un signal

Attente (délai)

Attendreauthentification

Page 14: LES DIAGRAMMES D'ACTIVITÉS

14

Isima

MODÉLISATION DES FLUX

Établir l’objectif.

Sélectionner les objets qui ont les responsabilités de haut niveau.

Identifier les pré-conditions de l’état initial et les post-conditions de l’état final.

Spécifier les actions et les placer sur le diagramm e.

Regrouper en Action Composite les actions complexes ou les ensembles d’actions qui apparaissent à plusieurs rep rises et développer un diagramme d’activités pour chacun.

Tracer les transitions. Commencer avec les flux séq uentiels, puis les branchements et enfin les flux parallèles.

Insérer les objets importants dans les diagrammes.

Montrer les changements de valeur et d’état utiles à la compréhension de l'objectif.

Page 15: LES DIAGRAMMES D'ACTIVITÉS

15

Isima

EXERCICE 1 : organisation d’un examen

Le service scolarité :planifie l’examen, prépare les copies, puis, une fois l’examen corrigé, saisit et affiche le s notes,et archive les copies.

L’enseignant prépare un sujet et corrige les copies.Les étudiants rédigent une solution et prennent connaissance de leur note après affichage.Rédiger un diagramme d’activités (en remettant les cho ses dans l’ordre).

Page 16: LES DIAGRAMMES D'ACTIVITÉS

16

Isima

Exercice 2 : AtelierPour créer une fiche de réparation, le chef d’ateli er saisit les critères de recherche de voitures dans le système.Le logiciel de gestion des réparations lui donne la liste des voitures correspondant aux critères entrés.Si la voiture existe dans la liste, le chef d’ateli er va sélectionner la voiture. Le logiciel va, ensuite, fournir les informations s ur le véhicule.Si la voiture est sous garantie, le chef saisit la date de demande de réparation.Si la voiture n’existe pas, le chef saisit les info rmations concernant ce

nouveau véhicule.Dans tous les cas, le chef d’atelier entre la date de réception et de restitution.Si le dommage de la voiture est payé par l’assurance , le logiciel fournit une liste d’assurances au chef d’atelier.Ce dernier sélectionne l’assurance adéquate.Enfin, le logiciel enregistre la fiche de réparatio n.

Page 17: LES DIAGRAMMES D'ACTIVITÉS

17

Isima

AUTRE FORMALISME : RESEAU DE PETRI

entrée palette

saturation

Mettreà Jour BD

Activer Automate

IncidentEjecter

AppelerOpérateur

RangementEffectué

Opérationterminée

Page 18: LES DIAGRAMMES D'ACTIVITÉS

18

Isima

AUTRE FORMALISME : SADT / IDEF0

Lire code barre

ActiverAutomates

Ejecter

Rangement

AppelerOpérateur

E1 : palettesaturation

M1 : PC

M2 : automate

C1 : état du stock

incident

S2 : opérationterminée

S1 : palette éjectée

Calculer emplacement

Mettreà Jour BD

Page 19: LES DIAGRAMMES D'ACTIVITÉS

19

Isima

Chapitre 8

LA CONCEPTION

Page 20: LES DIAGRAMMES D'ACTIVITÉS

20

Isima

L’ACTIVITÉ DE CONCEPTION

La spécification et l’analyse des besoins ont

permis de définir le système à construire (Quoi).

L’activité de conception, s’intéresse à la façon de

construire le système (Comment).

Elle vise à construire une solution qui est

conforme aux besoins du système

Page 21: LES DIAGRAMMES D'ACTIVITÉS

21

Isima

CONCEPTION

Organiser le développement,

Concevoir et documenter précisément la solution

informatique (le code),

Passer de l’analyse objets à l’architecture,

Combiner les différents points de vue de la

modélisation pour obtenir les détails de

fabrication en langage objets,

Répondre à toutes les questions qui concernent

la manière de réaliser le système.

Page 22: LES DIAGRAMMES D'ACTIVITÉS

22

Isima

CONCEPTION

Définition des classes à implémenter, en utilisant :

Les diagrammes de classes d’analyse pour préciser la structure des classes techniques :

� Concevoir les associations,

� Concevoir les attributs (sdd, conteneurs),

� Définir les m éthodes.

� Intégrer patrons (design patterns) et composants sur étagère (COTS).

Les diagrammes d’interactions (communication entre o bjets),

Les diagrammes d’activités (délégations entre objets , méthodes).

Page 23: LES DIAGRAMMES D'ACTIVITÉS

23

Isima

ARCHITECTURE

Organisation des classes de conception en configuratio n logicielle : paquets sous-systèmes (cohésion, couplage).

Séparation des responsabilités :La présentation,

La logique applicative (services),

Le domaine métier,

L’accès aux données.

Page 24: LES DIAGRAMMES D'ACTIVITÉS

24

Isima

ARCHITECTURE

Passage du modèle objets au modèle physique (soluti ons qui traduisent des choix techniques) :

Type d’architecture (clients/serveur, n tiers…),

Localisation des composants (nœuds du réseau),Migration des objets.

Page 25: LES DIAGRAMMES D'ACTIVITÉS

25

Isima

LA PERSISTANCE

Type de gestion de données.Retouche du diagramme de classes :

Objets volumineux,Chargement trop long,Navigation,Persistance trop étendue,

Transformation de l'héritage (cohérence du modèle et navigabilité).Transformation des associations (requêtes, contrainte s d’intégrité, économies de stockage).Passage au modèle relationnel (Cf. annexe 3 poly 1) .

Page 26: LES DIAGRAMMES D'ACTIVITÉS

26

Isima

Chapitre 9

CLASSES NOTATIONS AVANCEES

Page 27: LES DIAGRAMMES D'ACTIVITÉS

27

Isima

INTERFACES

egalA()superieurA()inferieurA()differentDe()

« interface »comparableEquipe « realize »

Joueur« realize »

Equipe

Joueur

comparable

comparable

Page 28: LES DIAGRAMMES D'ACTIVITÉS

28

Isima

NAVIGABILITE DES ASSOCIATIONS

notation

Source Cible Centurion CampRomain1 1

dirige ����

Exemple

Page 29: LES DIAGRAMMES D'ACTIVITÉS

29

Isima

CLASSES GENERIQUES

Elément

Généricité : classe paramétrée

Classe Générique

Paramètregénérique

formelAnnuaire

<personne>

«bind»<personne>

Table générique

Page 30: LES DIAGRAMMES D'ACTIVITÉS

30

Isima

STEREOTYPES

«métaclasse»TypeXX

«utilitaire»Maths

«interface»Runnable

exemple : les classes d’analyse de Jacobson

boundary(classe d’IHO)

control entity(classe métier)

Page 31: LES DIAGRAMMES D'ACTIVITÉS

31

Isima

TECHNIQUES DE CONCEPTION

Page 32: LES DIAGRAMMES D'ACTIVITÉS

32

Isima

EXEMPLE : MEDUSE

: FenêtreEmprunt

: ctrlEmprunt : Lecteur

emprunter ()

demNumAdh ()

new (numAdh)

estOK(numAdh)

cherchAdhParNum(numAdh)

numAdh

Etc.

:AccèsDonnéesLecteur

Page 33: LES DIAGRAMMES D'ACTIVITÉS

33

Isima

Chapitre 10

DIAGRAMMES DE

COMMUNICATION

(COD)

Page 34: LES DIAGRAMMES D'ACTIVITÉS

34

Isima

DIAGRAMMES DE COMMUNICATION

objet1:ClasseA

objet2:ClasseA

objet4:ClasseC

1: message1()

2: [garde] message2()3: message3()

4: * message4()

objet3:ClasseBobjet3:

ClasseB

Page 35: LES DIAGRAMMES D'ACTIVITÉS

35

Isima

EXEMPLES

a : A

CopieDeB : B{transient}

b : B{destroy}

2 : Effacer

1: Copier

: Commande

:LigneProduit

Client

1 : new

2 : * new

Page 36: LES DIAGRAMMES D'ACTIVITÉS

36

Isima

: Cabine

: Moteur

: Superviseur

1: PréparerAPartir()

3 : *Fermer ()

2 : Allumer ()

6 : Démarrer ()

4 : Fermée

5 : prête

Appeler()

: Porte

Ascenseur :: appel

EXEMPLE

: Lampe

Page 37: LES DIAGRAMMES D'ACTIVITÉS

37

Isima

COMPARAISON COMMUNICATION/SEQUENCES

: Commande

: Fenêtre Saisie

Commande

: LigneCommande

: Livraison

1: préparer ()

2 *: préparer ()

: Article en Stock

3 : estEnStock ()4: besoinDeRéapprovisionner ()

: Réapprovision-nement

5 : new6 : new

cf. diag de séquences poly 1

Page 38: LES DIAGRAMMES D'ACTIVITÉS

38

Isima

PATRON OBSERVER

Subject

attach (observer)detach (observer)notify ( )

ConcreteSubject

attach (observer)detach (observer)notify ( )getInfo ( )

Observer

update( )

ConcreteObserver

update ( )

0..*

Page 39: LES DIAGRAMMES D'ACTIVITÉS

39

Isima

sujet:ConcreteSubjectObservateur:

ConcreteObserver

utilisateur:Utilisateur

4 - * upDate ()

1 - attachObserver()6 - detachObserver()

{déclenchées par la création (resp. la destruction) de l’Observer}

2 – modifierDonnées

LE PATRON OBSERVER

5 – getInfo ()3 - notify

Page 40: LES DIAGRAMMES D'ACTIVITÉS

40

Isima

REPRÉSENTATION DE LA COLLABORATION

Page 41: LES DIAGRAMMES D'ACTIVITÉS

41

Isima

EXERCICE

Au lieu de faire la queue pour affranchir vos lettre s, vous préférez utiliser le distributeur automatique, il faut :

Initialiser le distributeur (p. ex. un bouton sur l ’écran tactile)

Poser une lettre sur la balance,

Choisir le tarif d’expédition sur l’écran tactile,

L’écran affiche alors le prix et demande si d’autre s lettres sont àaffranchir.

Si oui, le même scénario se répète (à partir de pose r une lettre),

Sinon il faut payer : le montant total s’affiche et vous devez introduire les pièces.

La monnaie est rendue et les vignettes sont délivré es.

NB : Représenter le distributeur sous forme de plus ieurs objets.

Page 42: LES DIAGRAMMES D'ACTIVITÉS

42

Isima

Distributeur

Balance Ecran MonnayeurClavier

Client*1 sert >

Vignette

1..*

achètev

distributeur

vendrevignettes