106

Definitiondesbesoinsuml

Embed Size (px)

DESCRIPTION

UML - MOAMaitrise d'oeuvre ouvrage

Citation preview

Page 1: Definitiondesbesoinsuml
Page 2: Definitiondesbesoinsuml

Plan du coursIntroduction

Le problème, Les techniques objet, Genèse d’UML Intro UML

Les 13 diagrammes, les diagrammes expression de besoin, notion de modèle

Les cas d’utilisation (modélisation métier et application)

Les diagrammes statiquesLe diagramme de classe et de package

Les diagrammes dynamiquesSéquence, automate, activité,…

Etude de cas2

Page 3: Definitiondesbesoinsuml

Le problème

3

Page 4: Definitiondesbesoinsuml

Importance de l’expression des besoins

4

Source Borland (Juin 2003 à Juin 2004)

Page 5: Definitiondesbesoinsuml

5

Il faut une méthode

Page 6: Definitiondesbesoinsuml

Booch-93 Rumbaugh( OMT2)

Oct-950.8

Jacobson (use case - sdl)

Juillet-960.9

Janv-971.0

Nov-971.0

Sept-971.1 (OMG)

20001.4

20052.0

DOC-PDF UML1.3 = 4,7MBDOC-PDF UML2.0 = 5.8 MB

20062.1

6

Page 7: Definitiondesbesoinsuml

UML

7

Page 8: Definitiondesbesoinsuml

Les cycles de DVP

• Conceptualisation• Analyse• Conception• Codage• Tests unitaires• Intégration

8

Page 9: Definitiondesbesoinsuml

ExpertMetier ExpertObjet

TrainOméoplasmose

Sténotype

ClassePolymorphisme

Relinker

Langagecommun

• Décrire ce que l’on doit faire(UC) => langage commun• Langage commun => Glossaire• Glossaire => Tout ce qui est mis dans un modèle doit avoir

une définition associée

9

Page 10: Definitiondesbesoinsuml

Les UC :• Décrire les acteurs et ce qu’ils attendent du système• Décrire l’ensemble des messages entrant et sortant du système• Ne pas décrire comment on fait

• Décrire l’ensemble des contraintes• Réutilisation d’un autre système• Problème de capacité-volume (des chiffres)• Problème de temps de réponse (des chiffres)• Choix technique quelconque imposé

10

Architecte

Analyste-Concepteur

Page 11: Definitiondesbesoinsuml

• Partir des diagrammes de UC• Trouver les classes d’analyse (Boundary et Control)

• Partir de la description des UC• Trouver les classes entity• Faire tourner le programme

• Diagramme de séquence• Cas nominal• Les cas d’exception

• Affiner le diagramme statique (attributs, opérations, nouvelles classes)

• Refaire des sous-systèmes• Affiner les classes complexes : Automate

RMQ : Ne pas se vautrer dans l’héritage

11

Page 12: Definitiondesbesoinsuml

UML & Méthode

12

Page 13: Definitiondesbesoinsuml

13

Page 14: Definitiondesbesoinsuml

14

XP propose une un ensemble de pratiques organisées autour des principes suivants :

• Le client (maîtrise d'ouvrage) pilote lui-même le projet, et ce de très près grâce à des cycles itératifs extrêmement courts (1 ou 2 semaines).

• L'équipe livre très tôt dans le projet une première version du logiciel, et les livraisons de nouvelles versions s'enchaînent ensuite à un rythme soutenu pour obtenir un feedback maximal sur l'avancement des développements.

• L'équipe s'organise elle-même pour atteindre ses objectifs, en favorisant une collaboration maximale entre ses membres.

• L'équipe met en place des tests automatiques pour toutes les fonctionnalités qu'elle développe, ce qui garantit au produit un niveau de robustesse très élevé.

• Les développeurs améliorent sans cesse la structure interne du logiciel pour que les évolutions y restent faciles et rapides.

Regis Medina

Page 15: Definitiondesbesoinsuml

Source : the corporate Use Of Object Technology

17

11

81714

11

7

6

2

2

5

IncreasedProductivity

Cost savings

Improvedinterfaces

Software reuse

Improvedapplicationmaintenance

Encapsulateexistingapplications

Develop strategicapplicationsquickly

Developapplications asrevenue source

Access new OSand tools

15

Page 16: Definitiondesbesoinsuml

Dvp = 20%

Maintenance = 50%

C++ C++ C++ C C CV0 V1 V2 V0 V1 V2

Average Function LOC 6,66 6,2 6,11 29,62 32,5 37,11Min Function LOC 2 1 1 3 3 3Avg Cyclomatic Complex 1,66 1,59 1,59 5,88 6,25 6,56Avg Comparison Complex 0,25 0,24 0,3 1,38 1,62 2,22Avg Logic Flow Complex 1,91 1,83 1,89 7,25 7,88 8,78Avg Function Complexity 3,69 3,59 3,7 9 9,62 10,56eLoc/100 2,07 2,5 2,68 2,68 2,91 3,53eLOC 207 250 268 268 291 353

16

Page 17: Definitiondesbesoinsuml

Les Concepts Objet

17

Page 18: Definitiondesbesoinsuml

Une bonne société qui développe des programmes est celle qui fabrique des programmes de qualité qui satisfont les besoins des clients (livraison à temps, utilisation des ressources humaines et matérielles optimales)

Le but principal n’est donc pas de produire de beaux documents,ni de conduire de nombreuses réunions, ni de proclamer de beaux slogans, ni de gagner des prix Pulitzer sur les lignes de code;mais simplement de produire des programmes capables de satisfaire le client aujourd’hui et demain.

Tout le reste est secondaire

UML est fait pour:• Spécifier• Comprendre• Communiquer• Documenter

source : UML-User Guide

Un dvpObjet

18

Page 19: Definitiondesbesoinsuml

Un modèle contient :• Des éléments de modélisation

• Des classes (reliées à d'autres classes) avec des opérations etdes attributs

• Des informations supplémentaires sur le comportement des classes (automates, activité)

• Des informations concernant le cahier des charges (UC)• La description des fichiers et des machines supportant l'application

• Des dessins (vues) explicatifs liés les uns aux autres• Des diagrammes de classes réduits• Des diagrammes montrant comment les objets se partagent le

travail (interaction)• Des diagrammes montrant les objets existant à un moment donné

• Toutes ces informations sont organisées dans des packages

19

Page 20: Definitiondesbesoinsuml

20

Un modèle contient :• Un diagramme de Use Case

• Des diagrammes d’interraction• Des diagrammes d’automate• Des diagrammes d’activité• Des diagrammes de vues d’ensemble des interractions

• Des diagrammes de classes• Les contraintes techniques

Toutes ces informations sont organisées dans des packages

Page 21: Definitiondesbesoinsuml

Introduction

21

Page 22: Definitiondesbesoinsuml

22

Page 23: Definitiondesbesoinsuml

Les diagrammes pour la définition des besoins

23

Page 24: Definitiondesbesoinsuml

24

Page 25: Definitiondesbesoinsuml

25

Page 26: Definitiondesbesoinsuml

Navigateur

Définitions

Boutons génériques

Boutons Spécifiques

Les diagrammes

ClasseUse Case

Composants

26

Page 27: Definitiondesbesoinsuml

Un stéréotype est une nouvelle classe d’un élément de modélisation qui est introduit au moment de la modélisation. Cela représente une sous classe d’un élémentde modélisation existant avec la même forme, mais avecune intention différente.

• Exemple : un acteur est "comme" une classe, mais il ne fait paspartie du système. Un acteur pourrait être un stéréotype d'une classe

• On peut stéréotyper les classes, les associations, les packages, …..• On peut associer un nouvel icône pour chaque nouveau stéréotype.

Z<<nouveauStereotype>>

27

Page 28: Definitiondesbesoinsuml

28

{ceci est une contrainte}

Rmq : On peut écrire des contraintes en OCLUne contrainte est raccrochée à un élément de modélisation

Personne

+age: int age > 0

Page 29: Definitiondesbesoinsuml

Diagramme de Use case

Page 30: Definitiondesbesoinsuml

Un acteur est un rôle d’un ou plusieurs objetssitués à l’extérieur du système et qui interagissentavec lui pour remplir une fonctionnalité donnée de ce système.Un acteur caractérise le rôle joué par un objet àl’extérieur du système.

Uti lisateur

• Un acteur parle au système (Acteur principal)• Le système parle à un acteur (Acteur secondaire)• Un acteur est :

• Un humain (via une IHM)• Du soft• Du hard

30

Page 31: Definitiondesbesoinsuml

Un Cas d’utilisation ( use case ) est une fonctionnalité importante pour un acteur remplie par le système et qui semanifeste par un ensemble de messages échangésentre le système et un ou plusieurs acteurs.

UtilisateurVerifierBonneMarche

CapteurTemperature

31

Description

Page 32: Definitiondesbesoinsuml

32

Page 33: Definitiondesbesoinsuml

• Titre et numérotation• Résumé• Les acteurs

– Acteur principal– Acteurs

secondaires• Pré-conditions• Description• Exceptions• Post-conditions

(3-5 pages)Ce n ’est pas une

description formelleMais doit être très détaillé

Ceci est l ’usagemais ne fait partiede la norme UML

33

Page 34: Definitiondesbesoinsuml

Payer cash

Payer par carte

Manger

Demander facture

Maitre d'hotel

Prendre la commande

clientAller au restaurant<<include>>

<<include>>

Caissier

Payer

<<include>>

<<extend>>

SommelierCommander pinard

<<extend>>

Serveur

Retourner plat en cuisine

<<extend>>

34

Page 35: Definitiondesbesoinsuml

35

Page 36: Definitiondesbesoinsuml

Manger

Descriptions

A

A1()A2()A3()

B

B1()B2()

C

C1()C2()C3()C4()

Distribuer le comportement des fonctionnalitésaux méthodes des objets

36

Page 37: Definitiondesbesoinsuml

User Stories et Use Cases formalisent les besoins utilisateurs et sont orientés ButIls font facilement l'objet d'ateliers de travail avec les utilisateurs pour les découvrir, les expliciterIls vont être priorisés et vont ainsi guider les développementsIls mettent en avant les rôles, les différents profils d'utilisateursIls ne traitent que des exigences fonctionnelles (les aspects non fonctionnels sont décrits dans les spécifications supplémentaires(contexte UP) et dans les "Constraints Cards" (contexte XP))Ils sont textuels et obéissent à des règles de construction très précises Ils ne traitent pas des aspects interface et ergonomieIls aident à organiser le modèleIls facilitent le choix du contenu des itérationsIls peuvent être rédigés par les analystes (UC) ou le client (US)

37

Page 38: Definitiondesbesoinsuml

38

Page 39: Definitiondesbesoinsuml

39

Cas d'utilisation :Essentiellement un ensemble d'interactions

Acteur: Élément externe qui interagit avec le système (humain ou

autre système) Scénario :

Une lecture particulière d'un cas d'utilisation, son instanciation Relation de communication :

Le vecteur de l'échange (l'interaction) entre acteur et système <<include>> :

Relation qui, lorsqu'elle existe entre deux cas, est obligatoirement appliquée. C'est une dépendance entre le cas source qui inclut . <<extend>> :

Relation de dépendance optionnelle. Il s'agit d'étendre les interactions d'un cas avec celles d'un autre. Spécialisation de cas :

La même finalité, mais obtenue par des interactions différentes .

Page 40: Definitiondesbesoinsuml

Une société de vente par correspondance vous demande de développer sonsystème informatique. Ce système doit pouvoir prendre en compte descommandes passées par la poste et des commandes passées par internet. Ildoit suivre les expéditions qui ne sont effectuées que si le paiement est OK.Les paiements se font par carte bancaire dans le cas d'internet et par chèquedans le cas de la poste. Les paiements sont validés par un système bancaire appartenant à la société et existant. Il faut récupérer ce système. Lenouveau système est chargé aussi de la gestion de stocks, lorsqu'un articleatteint un seuil minimal, alors il faut passer une nouvelle commande aufournisseur adéquat. A la réception de la commande, la mise à jour de la base est faite par un employé. Dans le cas d'un paiement accepté et de stockdisponible, l'expédition est faite par un robot existant au quel il suffit depasser les coordonnées du client, et la liste des produits achetés. En cas d'indisponibilité, une lettre doit être envoyé au client.

40

Page 41: Definitiondesbesoinsuml

La première étape de la définition d’un système d’informationconsiste donc à s’interroger sur  l’organisation (l’entreprise) pourlaquelle ce système d’information fonctionne, sur son identité, sur ce qui en fait partie et sur ce qui n’en fait pas partie

Utilisé par L’entreprise

Comment fait l’entrepriseLes objets de l’entreprise

Utilisateur

Employés deL’entreprise

Ce que fait l’entreprise

41

Page 42: Definitiondesbesoinsuml

42

Selon Alistair Cockburn, il existe trois niveaux principaux qu'il situe allégoriquement par rapport à un niveau de référence qui est "celui de la mer".

Mouette :Au-dessus de la mer, représente plutôt des cas d'utilisation

métier Mer:

Le cas d'utilisation "système" dans son acceptation classique : une situation qui génère une bonne valeur ajoutée pour l'un des utilisateurs (acteurs) ; une fonctionnalité au sens habituel du terme (un micro-onde offre deux fonctionnalités principales qui sont "Décongélation" et la "Cuisson"). Crabe :

Quelques interactions qui ne constituent pas vraiment une situation d'utilisation en tant que telle. Ce seront généralement des cas qui seront réinjectés dans le modèle via des relations include ou extend.

Page 43: Definitiondesbesoinsuml

•De quelle entreprise s'agit-il? Trouver les acteurs, entités (objets), use case, les employés …..

• Voyageur• Métro• Station• Couloir• Client• Inspecteur• Wagon

• Guichetier• Panneau publicitaire• Conducteur• Clochard• Commerciaux• Voyager• Acheter• Louer

43

Page 44: Definitiondesbesoinsuml

Diagramme de classe

Page 45: Definitiondesbesoinsuml

• Statique :– Ne pas utiliser de verbes d'action pour relier les classes– Une classe isolée est une classe inutile– Doit être vrai tout le temps– Représente LE programme– On ne peut pas tout montrer sur un seul schéma

Un diagramme de classe montre la structure statiquedu modèle, les choses qui existent, leur structureinterne et les relations aux autres choses.

45

Page 46: Definitiondesbesoinsuml

Personne

nom : Stringpoids : intsexetaille : intage : int = 0/ dateNaissance : String$ nbPersonne : int

Manger(calories : int, lipide : float)Dormir() : voidTravailler(duree : int) : int$GetNbPersonne() : int//FaireBonneAction()

Dentiste

adresseCabinet

Travailler()

Abstrait

Nom : type [= Initialisation]

Syntaxe libre

Attribut dérivé

Attribut de classe

Opération de classe

Responsabilité

{abstract}

46

Page 47: Definitiondesbesoinsuml

Personne

nom : Stringpoids : intsexetaille : intage : int = 0/ dateNaissance : String$ nbPersonne : int

Manger(calories : int, lipide : float)Dormir() : voidTravailler(duree : int) : int$GetNbPersonne() : int//FaireBonneAction()

Personne

nom : Stringpoids : intsexetaille : intage : int = 0/ dateNaissance : String$ nbPersonne : int

Manger()Dormir()Travailler()$GetNbPersonne()//FaireBonneAction()

Personne

nom : Stringpoids : intsexetai lle : intage : int = 0/ dateNaissance : String$ nbPersonne : int

Personne

Manger()Dormir()Travai ller()$GetNbPersonne()//FaireBonneAction()

Personne

Manger()Dormir()Travailler()$GetNbPersonne()//FaireBonneAction()Personne

47

Page 48: Definitiondesbesoinsuml

48

Personne

+nom+adresse+age

+travailler()

Dentiste

+adresse cabinet

+travailler()

Boulanger

+type de pain

+travailler()

Vehicule

+carte grise

Avion

+aile

Bateau

+quille

Hydravion

Type de pain<<enumeration>>

+baguette+gros pain+poilane

Page 49: Definitiondesbesoinsuml

Association & Dépendance

49

Les associations (relations) connectent deux ou plusieurs classes.

Elles peuvent porter un nom.Si une association connecte une classe à elle-

même, elle est dite réflexive.Une classe peut simplement dépendre d’une

autre classe

Personne

+Guerir(m: Medecin)

EcoleformationMedecin

Personne

+nom+adresse+age

+travailler()

+enfants

+parent

0..*

2

Page 50: Definitiondesbesoinsuml

Personne SocieteEst Employée par

Nom d'association

Personne SocieteEst Employée par

-employeur-employeNom de rôle

Personne

employeur : Societe

Societe

employe : Personne

SocietePersonne1..* 0..1

-employe -employeur

1..* 0..1Cardinalité-Multiplicité

Personneemployeur : Societe

Societeemploye : ListeOfPersonne

NavigabilitéSocietePersonne1..*

-employes

1..*

Societeemployes : Personne

Personne

50

Page 51: Definitiondesbesoinsuml

51

PersonneEntreprise

**

Contrat de travail

+date embauche+titre-salaire

Page 52: Definitiondesbesoinsuml

52

Personne

Coeur

1

J ambe

2

Entreprise

ANPE

*

1

{ou}

Page 53: Definitiondesbesoinsuml

53

Page 54: Definitiondesbesoinsuml
Page 55: Definitiondesbesoinsuml

Un package est un regroupement des éléments du model. Cela s’applique à tous les élémentsUML ainsi qu’aux différents diagrammes.Les packages sont la base de la gestion deconfiguration

P0

On peut montrer ce qu’il y a à l’intérieur du packageUne classe appartient à un package et un seule, mais peutêtre utilisée dans d'autres package.

P1

+ C1C2C3

P2

global

55

Page 56: Definitiondesbesoinsuml

Notion de package

• Un paquetage est un regroupement d’éléments de modélisation, mais aussi une encapsulation de ces éléments. A l’image des classes, les paquetages possèdent une interface et une réalisation.

• Chaque élément contenu par un paquetage possède un paramètre qui signale si l’élément est visible ou non à l’extérieur du paquetage.

• Les valeurs prises par le paramètre sont : public ou implémentation (privé).

56

Page 57: Definitiondesbesoinsuml

Cela signifie que :• Un élément de P0 au moins

utilise un élément publique de P3 et de P1

• Un élément de P3 au moins utilise un élément publique de P1

• P0, P3 et P1 peuvent utiliser les éléments publiques de p2

P2

global

P1

+ C1C2C3

P0

P3

57

Page 58: Definitiondesbesoinsuml

K

L

A B

I

E

J

G

D

H

C

F

58

Page 59: Definitiondesbesoinsuml

K

L

A B

I

E

J

G

D

H

C

F

59

Page 60: Definitiondesbesoinsuml

Environnement

Métier

Fonctionnel

B

C

E

Control

Fonctionnel

Entite

Métier

Boundary

Environnement

60

Page 61: Definitiondesbesoinsuml

Aiguilleur

Pilote

Decoller

Atterrir

Aeroport

Voler

61

Page 62: Definitiondesbesoinsuml

Aiguilleur

Pilote

Decoller

Atterrir

Aeroport

VolerCtrlVoler

CtrlDecoller

CtrlAtterrir

DecollerForm

VolerForm

AtterrirForm

AeroportForm

AiguilleurForm

TrainAtterrissage

Reacteur

Frein

62

Page 63: Definitiondesbesoinsuml

Immeuble

Famille

Appartement

Pièce

Cuisine

Salon

Gardemanger

Chien

Chat

Animal

Location

Vente

Nourriture

Lapin

Whisky

Mariage

CompteBanquaire

Personne

63

Page 64: Definitiondesbesoinsuml

Diagrammes dynamiques

Page 65: Definitiondesbesoinsuml

• Diagrammes d'interaction (Séquence collaboration) servent à montrer comment les objets se parlent les une aux autres.Ils montrent le déroulement d'un ou d'une partie d'un Use case(cas nominal, cas des exceptions, …)

• Automates servent à montrer le comportement d'une classe qui réagit différemment selon son état.

• Activités montrent le déroulement d'une méthode d'une classe oucelui d'un Use case

65

Page 66: Definitiondesbesoinsuml

: Clienta : A b : B c1 : C : C

A2( )

A3( )

B2( )C2( )

C4( )

new

66

Page 67: Definitiondesbesoinsuml

a : A

: Client

b : B

c1 : C

: C

1: A2( )

2: A3( )

3: B2( )

4: C2( )5: C4( )

67

Page 68: Definitiondesbesoinsuml

68

Page 69: Definitiondesbesoinsuml

69

Page 70: Definitiondesbesoinsuml

Un automate est accroché à une classe (ou un UC) et est composé d'états etde transitions. Les transitions permettent de passer d'un état àun autre …

Arret Marche

On

Off

Casse

Casse

70

Page 71: Definitiondesbesoinsuml

Etat

entry/ Action1exit/ Action2on Ev1/ Action2do/ Activité

E1 E2Ev1( a1,a2 )[ i == 0 ] / ActionDeTransition ^Cible.SendEv2(a3, a4)

Événement qui déclenche la transition

Garde

Action effectuée sur la transition

Envoie de Ev2 à un objet Cible

Action en entrant dans l'état

Action en sortant de l'étatAction déclenchée sur réception de Ev1

Activité

71

Page 72: Definitiondesbesoinsuml

72

Page 73: Definitiondesbesoinsuml

73

Page 74: Definitiondesbesoinsuml

E1

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++on E4: i ++

E1 / i++

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

74

Page 75: Definitiondesbesoinsuml

75

Page 76: Definitiondesbesoinsuml

76

Page 77: Definitiondesbesoinsuml

• Les diagrammes d’interaction générale fusionnent les diagrammes d’activité et de séquence en autorisant l’utilisation de fragments (diagrammes de séquence) avec des points de décision et des flots de contrôle (diagrammes d’activité).  

77

Page 78: Definitiondesbesoinsuml

Interaction Diagram

Requirements

Sequence

Collaboration

Use Cases

GUI

Class diagram

State Activity

Implementation

Component

Deployment

Code

Code

Code

Code

Tests

78

Page 79: Definitiondesbesoinsuml

79

Patron du dossier d'expression des besoinsProjet<<nom du projet>>Version < ?. ?>Historique des révisionsIntroductionPrésentation du documentObjectifs du documentContenu du documentDescription du Métier (Optionnel) Les entités métiers (diagramme de classe) Les processus métiers (diagramme d’activité + états des objets)Description du produit Les objectifs du produit, les avantages qu'apporte le produit Les fonctionnalités du produit (UC) Les utilisateurs du produit et leurs caractéristiques (acteurs humains) Les contraintes du produit, règles métier Les hypothèses (conditions d'utilisation) et les dépendances (acteurs système)

Page 80: Definitiondesbesoinsuml

80

Les besoins-exigences non fonctionnelsExigence en terme de qualité Utilisabilité (Maniabilité)[Par exemple: le temps de formation nécessaire à la prise en main du produit, exigence de standardisation, …] Fiabilité (Conformité)[On trouve ici les caractéristiques principales de la fiabilité comme, par exemple: temps moyen entre 2 pannes, le temps moyen d'intervention,…] Performance (Efficacité)[Par exemple: Temps de réponse moyen et maximal pour une transaction, le nombre d'utilisateurs simultanés, les fonctionnements dégradés acceptables, l'utilisation des ressources (mémoire, disque, communications,...) ] Documentation et aide en ligneAutres exigences Contraintes de conception (langage, machine, BD persistence,…..) Les composants non développés dans l'application (Réutilisation) Les interfaces (API, Corba,….) acteurs secondaires? Les interfaces utilisateurs, érgonomie…..construites à partir des boundary

Page 81: Definitiondesbesoinsuml

81

Objectifs : décrire les besoins d’un système informatique. La première description est faite par le client. Cas de l’étude : logiciel de Gestion d’Affaires (GA) demandé par un client tertiaire, 250 personnes, 10000 affaires). Le logiciel de gestion d’affaires doit permettre de gérer, par collaborateur, les affaires dont il s’occupe. Une affaire peut posséder un nom, un client, une date de création, une date de fin prévue, un état (en cours, en retard, en cours mais en retard, abandonnée, terminée), une description.Les actions possibles sur une affaire sont : création, modification, suppression.Les affaires devront être présentées en 4 listes : en cours et en retard, en retard, toutes, terminées.La sélection doit se faire par collaborateur, ou bien par client.

Page 82: Definitiondesbesoinsuml

82

1. Faire un diagramme de Use Case2. Faire un diagramme d’activité, présentant les étapes pour créer, modifier et supprimer une affaire.3.Faire un diagramme de classe4.Faire un Automate concernant les affaires5.Faire un diagramme de séquence6.Dessiner l’IHM

1

23

4

65

Page 83: Definitiondesbesoinsuml

83

Page 84: Definitiondesbesoinsuml

Robot

ClientPoste

ClientInternet

Verifier StockFournisseur

Passer Commande Internet

include

Passer Commande Posteinclude

SystemBancaireVerifier Paiement

Include

Include

Expedier Commande

Extend

AdministrateurGérer Stocks et fournisseurs

8484

Page 85: Definitiondesbesoinsuml

85

Page 86: Definitiondesbesoinsuml

86

Page 87: Definitiondesbesoinsuml

87

Page 88: Definitiondesbesoinsuml

88

Page 89: Definitiondesbesoinsuml

89

Page 90: Definitiondesbesoinsuml

90

Page 91: Definitiondesbesoinsuml

91

Page 92: Definitiondesbesoinsuml

92

Page 93: Definitiondesbesoinsuml

93

Page 94: Definitiondesbesoinsuml

94

Page 95: Definitiondesbesoinsuml

95

Page 96: Definitiondesbesoinsuml

Business Actor(client)

• Voyageur• Métro• Station• Couloir• Client• Inspecteur• Wagon

• Guichetier• Panneau publicitaire• Conducteur• Clochard• Commerciaux• Voyager• Acheter• Louer

Business Worker(employée)

• Voyageur• Métro• Station• Couloir• Client• Inspecteur• Wagon

• Guichetier• Panneau publicitaire• Conducteur• Clochard• Commerciaux• Voyager• Acheter• Louer

96

Page 97: Definitiondesbesoinsuml

Business use caseLes fonctions

• Voyageur• Métro• Station• Couloir• Client• Inspecteur• Wagon

• Guichetier• Panneau publicitaire• Conducteur• Clochard• Commerciaux• Voyager• Acheter• Louer

• Voyageur• Métro• Station• Couloir• Client• Inspecteur• Wagon

• Guichetier• Panneau publicitaire• Conducteur• Clochard• Commerciaux• Voyager• Acheter• Louer

Business Entité(les objets)

97

Page 98: Definitiondesbesoinsuml

98

Page 99: Definitiondesbesoinsuml

9999

Page 100: Definitiondesbesoinsuml

100

Utilisateur

Gerer les affaires

Page 101: Definitiondesbesoinsuml

101

Selectionner un Client ou un collaborateur

Choisir un état

en coursen retarden cours mais en retardterminéeabandonnée

Selectionner une affaire

[N OK]

Creer une Affaire

[NOK]

Modifier l'affaire

[OK]

Afficher les affaires correspondantes

nomclient(si non selectionné)collaborateur(si non selectionné)date de findescription

nomclientcollaborateurdate de débutdate de finetatdescription

Page 102: Definitiondesbesoinsuml

102

Affaire

+nom+description+date debut+date fin+etat: EtatEtat

<<enumeration>>

+en cours+en retard+en retard et en cours+abandonné+terminée

Client

+nom

Collaborateur

+nom

+client

1

0..*

+collaborateur0..1

1..*

Page 103: Definitiondesbesoinsuml

103

en cours en cours et en retard

[ date>date de fin ]

terminée

fin

fin

Abandonnée

abandonner abandonner

en retard

attendre

reprendre

attendre

[ date<date de fin ]

La date de fin a été repoussée

Page 104: Definitiondesbesoinsuml

104

actif

en cours en cours et en retarden cours en cours et en retarddate > date fin

date < date fin

terminée

abandonnée

en retard

attendrereprendre

Page 105: Definitiondesbesoinsuml

105

: Utilisateur

GA

Selectionner Client/Collaborateur()

Selectionner un état()

Rechercher des Affaires()

Afficher les afffaires()

Selectionner une affaire()

Afficher les infos de l'affaire()

Modifier un ou plusieurs champps de l'affaire()

Valider la ou les modifications()

Page 106: Definitiondesbesoinsuml

106

delete valider