Cours UMl Bourmane Excellent
Transcript of Cours UMl Bourmane Excellent
-
7/27/2019 Cours UMl Bourmane Excellent
1/195
1
ANALYSEETCONDUITE DE PROJETS
P. Bourmanne
HELMo
-
7/27/2019 Cours UMl Bourmane Excellent
2/195
2
PLAN DU COURS Partie I : Introduction :(#3)
Prsentation Evaluation Les mtiers de linformaticien dans le cadre dun dveloppement logiciel Buts du cours
Partie II : Les mthodes danalyse :(#17) Le modle entit-association Le modle de Bachman Bases de donnes : gnralits Le modle relationnel
Partie III : La modlisation objet avec UML :(#78) Introduction (#80) UML : point de vue statique (diagrammes et notation) (#91) UML : point de vue fonctionnel (diagrammes et notation) (#111) UML : point de vue dynamique (diagrammes et notation) (#138) Tableau rcapitulatif(#180) Vers une mthode de dveloppement (#181) Applications (#187)
http://193.190.64.114/WD120AWP/WD120Awp.exe/CTX_2108-2-LLYgWrTdPH/ECTS_GrilleAnneeGroupee/SYNC_-1881700812http://193.190.64.114/WD120AWP/WD120Awp.exe/CTX_2108-2-LLYgWrTdPH/ECTS_GrilleAnneeGroupee/SYNC_-1881700812 -
7/27/2019 Cours UMl Bourmane Excellent
3/195
3
PARTIE I
Introduction
-
7/27/2019 Cours UMl Bourmane Excellent
4/195
4
INTRODUCTION: PRESENTATION
Cours: 2 1.5 1.5 1.5 1.5 1.5
Patricia Bourmanne Laboratoires : 0 2 2 1.5 1.5 0
Patricia Bourmanne
Danile Bayers
-
7/27/2019 Cours UMl Bourmane Excellent
5/195
5
SUPPORTS ET REFERENCES Syllabi :
Mthodes danalyse ; A. Clarinval; septembre 2002 Initiation aux bases de donnes ; P. Bourmanne, 2002 Concepts et mthodes de la programmation par objets; A. Clarinval;
novembre 2002 Livres de rfrence :
Modlisation objet avec UML , P.A. Muller, d. Eyrolles, 1997 UML et C++, guide pratique du dveloppement orient objet ; R.C.
Lee, W.M. Tepfenhart, d. Prentice Hall, 1998 Guide pratique du RUP , P. Koll, Ph. Kruchten, CampusPress, 2003 UML 2 par la pratique , P. Roques, Eyrolles, 2005 The unified modeling language, user guide , G. Booch, J. Rumbaugh,
I. Jacobson,d. Addison-Wesley, 1999
UML 2 en concentr, manuel de rfrence , D. Pilone, d. OReilly UML 2 et les design patterns, analyse et conception orientes objet etdveloppement itratif ,C. Larman, d. Pearson Education
http://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/Analyse.pdfhttp://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/INITIATION%20AUX%20BD.pdfhttp://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/Concepts%20et%20methodes.pdfhttp://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/Concepts%20et%20methodes.pdfhttp://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/Concepts%20et%20methodes.pdfhttp://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/Concepts%20et%20methodes.pdfhttp://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/INITIATION%20AUX%20BD.pdfhttp://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/Analyse.pdf -
7/27/2019 Cours UMl Bourmane Excellent
6/195
6
SUPPORTS ET REFERENCES (suite)
Diaporamas du cours (P. Bourmanne)
Sites : http://www.hemes.be/saint-laurent/informatique/ressources.php
http://www.gramme.be/infopb
UML : http://www.omg.org/technology/documents/formal/uml.htm
http://sparxsystems.com.au/uml-tutorial.html http://sparxsystems.com.au/UML2_tutorial/UML2_Tutorial_Intro.htm
http://www.hemes.be/saint-laurent/informatique/ressources.phphttp://www.gramme.be/infopbhttp://www.omg.org/technology/documents/formal/uml.htmhttp://sparxsystems.com.au/uml-tutorial.htmlhttp://sparxsystems.com.au/UML2_tutorial/UML2_Tutorial_Intro.htmhttp://sparxsystems.com.au/UML2_tutorial/UML2_Tutorial_Intro.htmhttp://sparxsystems.com.au/uml-tutorial.htmlhttp://sparxsystems.com.au/uml-tutorial.htmlhttp://sparxsystems.com.au/uml-tutorial.htmlhttp://www.omg.org/technology/documents/formal/uml.htmhttp://www.gramme.be/infopbhttp://www.hemes.be/saint-laurent/informatique/ressources.phphttp://www.hemes.be/saint-laurent/informatique/ressources.phphttp://www.hemes.be/saint-laurent/informatique/ressources.php -
7/27/2019 Cours UMl Bourmane Excellent
7/1957
INTRODUCTION: EVALUATION
Votre participation active aux cours thoriques etpratiques
Vos travaux lors des sances de laboratoires
Une interrogation (le lundi 24 novembre)
Un examen sur la thorie, des exercices raliser,un projet prsenter
Modalits :cf. http://www.gramme.be/infopb/coursSL/analyse/evaluations/Modalites_generales.pdf
http://www.gramme.be/infopb/coursSL/analyse/evaluations/Modalites_generales.pdfhttp://www.gramme.be/infopb/coursSL/analyse/evaluations/Modalites_generales.pdf -
7/27/2019 Cours UMl Bourmane Excellent
8/1958
INTRODUCTION : METIERS
DINFORMATICIEN
Catgories:
Dveloppement logiciel Gestion dun parc informatique
Assistance clientle (technique et/ou logicielle)
Formation
-
7/27/2019 Cours UMl Bourmane Excellent
9/1959
INTRODUCTION: METIERS DU
DEVELOPPEMENT LOGICIEL
Les mtiers de linformaticien dans le cadre dun dveloppementlogiciel:
1) Le chef de projet : responsable de llaboration et de la modificationdu plan de dveloppement logiciel Rle complexe :
Les personnes Le produit = lobjectif Le processus = feuille de route de lquipe Le projet grer, planifier, contrler, rectifier
Le budget Comptences diffrentes pour tre capable dune ORIENTATION et
ADAPTATION dynamiques : Aptitudes techniques Talents de communication
Sera jug sur les rsultats
-
7/27/2019 Cours UMl Bourmane Excellent
10/19510
INTRODUCTION: METIERS2) Lanalyste : responsable de dfinir et de communiquer auxintervenants les fonctionnalits qui sont attendues du systme
Tches de haut niveau : Comprendre les besoins des diffrents intervenants (utilisateurs,
investisseur, acheteur, chef de produit, ) Ngocier les exigences et faciliter lacceptation de lapplication
par le client Documenter, hirarchiser et communiquer les exigences
Implication dans les disciplines suivantes : Modlisation mtier/systme Gestion et expression des exigences Analyse (= modlisation de la description du problme) Conception (= modlisation de la solution du problme)
-
7/27/2019 Cours UMl Bourmane Excellent
11/19511
INTRODUCTION: METIERS
Lanalyste : (suite) Qualits requises :
Habilet grer les relations entre plusieurs intervenants Bonne comprhension du domaine du problme ou
capacit de lacqurir rapidement
Aptitude communiquer oralement de faon claire etconcise
Capacit rdiger succinctement et clairement lesexigences
Comprhension globale du cycle de vie dudveloppement du logiciel
-
7/27/2019 Cours UMl Bourmane Excellent
12/19512
INTRODUCTION: METIERS3) Larchitecte logiciel : dirige et coordonne les activitstechniques(technologies, structure et organisation du systme
logiciel) tout au long du projet; il est un centre de la communication Rle pluridisciplinaire :
Exprience des problmes (comprhension approfondie des exigences) etde lingnierie logicielle (vision globale du projet, comprhension destechnologies, )
Leadership technique ( chef de projet : leadership pour les aspectsmtier et administratif)
Sens de la communication Concentration sur les objectifs et la proactivit: pour axer le projet sur les
rsultats
Source de travail : principalement exigences tablies par les analystes Doit tre capable de cerner rapidement les situations et les problmes,
dmettre des jugements aviss et critiques en labsencedinformations compltes
Collaboration troite avec le chef de projet (architecte + chef de projet= gestionnaires)
-
7/27/2019 Cours UMl Bourmane Excellent
13/19513
INTRODUCTION: METIERSLarchitecte logiciel : (suite)
Architecture logicielle =
structure du systme logiciel + aspects suivants:
Usage Fonctionnalit Performance Robustesse
Rutilisation Comprhensibilit Contraintes et compromis conomiques et technologiques Aspects esthtiques
en se concentrant uniquement sur les dcisions de conceptionimportantes (effets long terme sur les performances, la qualit,lvolutivit du systme)
-
7/27/2019 Cours UMl Bourmane Excellent
14/19514
INTRODUCTION: METIERS4) Le dveloppeur: charg de traduire les exigences en code excutabledune qualit suffisante
Tches de haut niveau : Comprendre les exigences (notamment par les cas dutilisation) et les
contraintes de conception Matriser la technologie dimplmentation et des outils utiliser Concevoir, implmenter et tester les logiciels et les bases de donnes Intgrer ses travaux de dveloppement ceux des autres dveloppeurs tre cratif en restant rationnel Veiller la qualit
Collaboration troite : avec larchitecte pour garantir que la conception respecte larchitecture globale avec lanalyste pour lui faire part dincohrences ou de lacunes au niveau des
exigences ; lanalyste pourra alors procder aux corrections ncessaires
-
7/27/2019 Cours UMl Bourmane Excellent
15/19515
INTRODUCTION: METIERS5) Le testeur: charg de lvaluation de la qualit du
logiciel et du respect des objectifs
Mission : valuer le produit logiciel en fonction de critres appropris
(qualit perue, conformit aux normes, dcouverte dedfauts, )
Communiquer ses valuations aux dveloppeurs, auxmanagers, ventuellement aux clients
rsoudre les conflits entre les diffrentes visions dune
bonne qualit (rle ingrat : cot de la qualit) Amener ventuellement lquipe se rendre compte que les
spcifications ntaient pas compltes Dtecter les conditions exceptionnelles qui pourraient rendre
le logiciel inutilisable
-
7/27/2019 Cours UMl Bourmane Excellent
16/19516
INTRODUCTION: METIERS
Un rle peut tre tenu par une ou plusieurs
personnes Une personne peut endosser plusieurs rles,
entirement ou partiellementLe dveloppement logiciel est avant tout un travail dquipe(s).
Linformaticien doit tre capable :- dautonomie
- danticipation
- de rigueur
- de communiquer (oralement et par crit)
Linformaticien doit pouvoir rester concentr sur ses propres activits, tout encollaborant harmonieusement avec dautres personnes organiquement lies.
-
7/27/2019 Cours UMl Bourmane Excellent
17/19517
INTRODUCTION : BUTS DU COURS
Vous amener tre capable danalyserunproblme, une situation modliser
Par ce cours et vos cours de programmation:vous amener tre capable de concevoirunlogiciel de qualit: Correct : rpond aux spcifications Robuste : rsiste aux situations difficiles
Extensible : peut tre amlior et tendu Rutilisable: peut tre utilis par dautres logiciels
Vous amener communiquer
-
7/27/2019 Cours UMl Bourmane Excellent
18/19518
INTRODUCTION : BUTS DU COURS
(suite)
Vous sensibiliser et vous former la qualit : Confrence Espace Horizon Qualit par lASBL Entreprise &
Qualit (le 16/09/2008 3me info)Ides principales (cf. folder fourni) : Exigence de chaque client : La qualit pour tous et partout Qualit = atteinte de la satisfaction des clients internes et externes Qualit
est un besoin universel et vital est la rponse adapte un ensemble de besoins (qui voluent) ne simprovise pas, se construit chaque jour
La recherche de la qualit: se trouve tous les niveaux de lorganisation et chacun y tient une
responsabilit nest pas une recherche du coupable, mais la recherche du progrs
continu
Apprentissage des principes du RUP (processus dedveloppement logiciel)
-
7/27/2019 Cours UMl Bourmane Excellent
19/19519
ET VOUS ?
- Dans quelle catgorie mtier vous voyez-
vous le mieux actuellement ? Pourquoi ?- Si vous travaillez dans le dveloppementlogiciel, quel mtier vous semble le mieuxconvenir votre idal ? Pourquoi ?
-
7/27/2019 Cours UMl Bourmane Excellent
20/195
20
PARTIE II
Les mthodes danalyse
(mthodes orientes gestion de donnes )
-
7/27/2019 Cours UMl Bourmane Excellent
21/195
21
CONCEPT DE DONNEE
1. Dune faon gnrale, tout ce qui estmanipul par un ordinateur est appelDONNEE.
2. Une DONNEE ELEMENTAIRE dcrit unlment atomique du monde rel.
3. On appelle STRUCTURE DE DONNESl'association d'un ou plusieurs noms et d'unensemble de donnes lmentairesauxquelles ce ou ces noms permettentd'accder.
-
7/27/2019 Cours UMl Bourmane Excellent
22/195
22
TYPE (ABSTRAIT) DE DONNEES
Quand un informaticien dveloppe un programme, ilest normal, qu'au dpart, il ne se proccupe pas de
la reprsentation physique des donnes.On parle alors de TYPE ABSTRAIT DE DONNES.
Celui-ci dfinit la syntaxe de la donne ou de lastructure de donnes et les oprations que l'on va
effectuer sur ce type de donnes ou de structure.
-
7/27/2019 Cours UMl Bourmane Excellent
23/195
23
NOTION DENTITE
ENTIT = concept concret ou abstrait qui prsente unintrt pour les besoins de gestion de l'entreprise.
Il est affect dun NOM et porteur de PROPRIETES(donnes lmentaires).
INSTANCE D ENTITE = un lment particulier d'un typed'entits, caractris par un identifiant et des valeurs desproprits.
IDENTIFIANT = proprit ou ensemble de proprits quidfinit une et une seule instance d'un type d'entit.
-
7/27/2019 Cours UMl Bourmane Excellent
24/195
24
NIVEAUX DABSTRACTION
3 niveaux de reprsentation :
-
7/27/2019 Cours UMl Bourmane Excellent
25/195
25
LES NIVEAUX DABSTRACTION Le NIVEAU EXTERNE correspond la vision particulire de chaque
utilisateur par rapport au systme d'informations de l'entreprise. Il estvident que chacune de cesvuesexternes est incomplte et
partielle. Chaque utilisateur peut travailler sur des donnesdiffrentes ou sur des donnes communes d'autres utilisateurs.
Le NIVEAU CONCEPTUEL ou schma conceptuel constitue lasynthse de tous les schmas externes intgrs dans un schmaunique qui est un invariant de l'organisation, car il est indpendant
des traitements et du type d'organisation des donnes choisi. Il varegrouper toutes les donnes lmentaires, tous les objets recenssdans les vues externes, toutes les associations entre objets etventuellement toutes les rgles auxquelles doivent satisfaire toutesles donnes.
-
7/27/2019 Cours UMl Bourmane Excellent
26/195
-
7/27/2019 Cours UMl Bourmane Excellent
27/195
27
MODELE : DEFINITIONS
Modle conceptuel de donnes (MCD) : Ensemble de rgles de structuration ou de
modlisation de l'information . Ensemble de rgles qui permet de passer du concret
inaccessible (l'univers rel) un abstrait manipulable .Un modle ne doit pas seulement dcrire
l'organisation des donnes, mais aussi la faon donton opre sur ces donnes ;il peut tre peru comme un ensemble de structuresavec un ensemble d'oprations dfinies dessus .
-
7/27/2019 Cours UMl Bourmane Excellent
28/195
28
METHODES DANALYSE: UTILITE
Une mthode dfinit une dmarchereproductible pour obtenir des rsultatsfiables
Une mthode dfinit gnralement unereprsentation (souvent graphique) quipermet: de manipuleraisment les modles de communiqueret dchanger linformation
entre les diffrents intervenants
-
7/27/2019 Cours UMl Bourmane Excellent
29/195
29
METHODES DANALYSE:
LE MODELE ENTITE-ASSOCIATION
Le modle entit-association exprime lasmantique des donnes laide des
concepts:
- dentit
- dassociation entre entits
- dattribut dcrivant les entits etassociations
-
7/27/2019 Cours UMl Bourmane Excellent
30/195
30
DEFINITION CONCEPTUELLE DEDONNEES :
le modle entit-association
1. ASSOCIATION= un lien logique entre 2 entits ou plus.Elle est souvent dfinie par un verbe ou un nom (lien
smantique) et une ou plusieurs proprits.
2. CARDINALITS d'une entit dans une association qui lelie une autre entit = le nombre minimum et le nombre
maximum d'instances de l'association auxquelles doittre rattache chacune des instances de l'entit.
-
7/27/2019 Cours UMl Bourmane Excellent
31/195
31
A FAIRE A DOMICILE
Lire
Mthodes danalyse ; A. Clarinval; septembre2002 : chap. 3.1 : Le modle entit-association
Initiation aux bases de donnes ;P. Bourmanne, 2002 : chap. 2 : Les donnes
http://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/Analyse.pdfhttp://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/INITIATION%20AUX%20BD.pdfhttp://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/INITIATION%20AUX%20BD.pdfhttp://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/Analyse.pdf -
7/27/2019 Cours UMl Bourmane Excellent
32/195
32
DEFINITION LOGIQUE DESDONNEES :
le diagramme de Bachman
Enregistrement logique Entit( = record = segment)
avec ses champs (= fields) avec sesproprits
Lien Association
diagramme de Bachman
-
7/27/2019 Cours UMl Bourmane Excellent
33/195
33
DIAGRAMME DE BACHMAN Rgles de transformation dun modle entit-
association en un diagramme de Bachman : 1 entit 1 segment (propritaire ou membre)
segment propritaire
segment membre cardinalit (0,1) ou (1,1)
1 association porteuse dau moins une cardinalit (0,1) ou
(1,1) 1 lien 1 association totalement porteuse de cardinalits (0,N) ou
(1,N) 1 segment membre + liens (autant de liens que dentitsassocies lassociation)
-
7/27/2019 Cours UMl Bourmane Excellent
34/195
34
A FAIRE A DOMICILE
Lire Mthodes danalyse ; A. Clarinval; septembre
2002 : chap. 4 : Schma logique du stockage desdonnes
Initiation aux bases de donnes ;P. Bourmanne, 2002 : chap. 5.3. : Types debases de donnes
http://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/Analyse.pdfhttp://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/INITIATION%20AUX%20BD.pdfhttp://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/INITIATION%20AUX%20BD.pdfhttp://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/Analyse.pdf -
7/27/2019 Cours UMl Bourmane Excellent
35/195
35
Bases de donnes : gnralits
-
7/27/2019 Cours UMl Bourmane Excellent
36/195
36
Base de donnes : dfinition Ensemble structur de donnes enregistres sur
des supports accessibles par l'ordinateur,
reprsentant des informations du monde rel etpouvant tre interrogetmis jourpar unecommunaut d'utilisateurs.
Fichiers informatiques regroupant un ensemble
dinformations thmatiques sous forme structure etindexe.
-
7/27/2019 Cours UMl Bourmane Excellent
37/195
37
Systme de gestion de base de
donnes
Logiciel gnral qui permet l'utilisateur,qu'il soit programmeur ou utilisateur final, demanipuler les donnes dans des termesabstraits, sans tenir compte de la faon dontl'ordinateur les voit.
-
7/27/2019 Cours UMl Bourmane Excellent
38/195
38
Objectifs dun S.G.B.D. Indpendance physique des programmes aux
donnes :indpendance entre structures de stockage et structures des donnes dumonde rel,indpendance entre schma interne et conceptuel
Indpendance logique des programmes auxdonnes :possibilit de modifier un schma externe (vue) sans modifier le
schma conceptuel et inversment Manipulation des donnes par des langages non
procduraux Administration facilite des donnes (fcts pour dfinir les
donnes et changer leur dfinition)
-
7/27/2019 Cours UMl Bourmane Excellent
39/195
39
Objectifs dun S.G.B.D. Efficacit des accs aux donnes (dbit + temps de rponse) Partage des donnes
Cohrence des donnescontrainte dintgrit (= rgle spcifiant les valeurs permises pourcertaines donnes, ventuellement en fonction dautres donnes, etpermettant dassurer une certaine cohrence de la base de donnes) :
- unicit de cl- contrainte rfrentielle
- contrainte de domaine Redondance contrle des donnes Scurit des donnes (confidentialit + cohrence si panne : une
transaction doit tre totalement excute ou pas du tout)
-
7/27/2019 Cours UMl Bourmane Excellent
40/195
40
Fonctions dun S.G.B.D. Description des donnes :
commandes pour dfinir les schmas interne, conceptuel et externe
Recherche des donnes :commandes pour retrouver les donnes de la base rpondant uncritre plus ou moins complexe (= qualification = expression logique decritres simples, chaque critre permettant soit de comparer un attribut une valeur, soit de parcourir une association )
Mise jour des donnes :commandes pour insrer des donnes dans la base, modifier desdonnes, supprimer des donnes
Fonctions qui assurent les objectifs prcits(transformation des donnes, contrle de lintgrit des donnes,gestion de transactions et scurit)
-
7/27/2019 Cours UMl Bourmane Excellent
41/195
41
TYPES DE BD Modle hirarchique
Modle rseau
Modle relationnel
-
7/27/2019 Cours UMl Bourmane Excellent
42/195
42
LE MODELE RELATIONNEL
Introduit par Codd
Rsultat d'une approche formellemathmatique qui modlise dans une mmethorie la notion de donnes et demanipulations de donnes et ne fait aucune
rfrence au niveau physique Permet de rpondre aux objectifs prcits
-
7/27/2019 Cours UMl Bourmane Excellent
43/195
43
Bibliothque(hypothse : 1 auteur/livre)
Titre Date achat Prix TVAC Auteur Info auteur
Germinal 10/05/90 22.5 Emile Zola 1840-1902
Le rouge et le
noir05/08/97 25 Stendhal 1783-1842
Les mots 01/02/98 17Jean-Paul
Sartre1905-1980
La btehumaine
01/06/97 30 Emile Zola 1840-1902
-
7/27/2019 Cours UMl Bourmane Excellent
44/195
Titre Date_achat Prix TVAC Auteur
Germinal 10/05/90 22.5 Emile Zola
Le rouge et le noir 05/08/97 25 Stendhal
Les mots 01/02/98 17 Jean-Paul Sartre
La bte humaine 01/06/97 30Emile Zola
Auteur Info auteur
Emile Zola 1840-1902
Stendhal 1783-1842
Jean-Paul Sartre 1905-1980
-
7/27/2019 Cours UMl Bourmane Excellent
45/195
45
Dfinitions
ATTRIBUT :champ ou proprit du lot d'informations
RELATION (ou TABLE) :liste d'attributs a1, a2, ..., an; ensemble delignes du tableau dfini par les attributs.
Notation : r(a1, a2, ..., an) o rest le nom dela relation
-
7/27/2019 Cours UMl Bourmane Excellent
46/195
46
Dfinitions
TUPLE (ou LIGNE) :ligne du tableau, instance du lotd'informations. Une relation est donc unensemble de tuples et elle ne possde pasdeux tup les ident iques.
COLONNE :attribut ou ensemble des valeurs de l'attribut
-
7/27/2019 Cours UMl Bourmane Excellent
47/195
47
Dfinitions
DOMAINE :ensemble de dfinition des valeurs desattributs.
Soit r(a1, a2, ..., ai, ..., an) une relation, la liste des domaines:D1, D2, ...,Di, ..., Dn dans laquelle Di est le domaine de l'attribut
ai.La relation rest un sous-ensemble du produit cartsien:D1 x D2 x ... x Di x ... x Dn.
-
7/27/2019 Cours UMl Bourmane Excellent
48/195
48
Dfinitions ARITE d'une relation :
nombre de ses attributs.
La relation r(a1, a2, ..., ai, ..., an) est d'arit n.L'arit d'une relation est aussi le nombre decolonnes de la table.
CARDINALIT d'une relation r:nombre de tuples (ou de lignes) de la table.
-
7/27/2019 Cours UMl Bourmane Excellent
49/195
49
Dfinitions
CL D'UNE RELATIONr: ensembled'attributs dont les valeurs identifient un tupleet un seul de la relation r. Une relationpossde toujours au moins une cl, c'est--dire l'ensemble de ses attributs: deux tuples
d'une relation diffrent entre eux au moinspar les valeurs d'un attribut.
-
7/27/2019 Cours UMl Bourmane Excellent
50/195
50
Dfinitions CL CANDIDATE :
cl d'une relation telle que tout sous-ensemble
d'attributs de cette cl n'est pas une cl. Une clcandidate constitue donc un sous-ensemble minimald'attributs pouvant jouer le rle de cl.
CL PRIMAIRE :la cl unique qui sera retenue parmi les cls
candidates. Par la suite, la cl primaire d'une relationsera dsigne par le terme cl .
-
7/27/2019 Cours UMl Bourmane Excellent
51/195
51
Dfinitions
CL ETRANGERE dans une table :cl primaire ou candidate dans une autre table
-
7/27/2019 Cours UMl Bourmane Excellent
52/195
52
Dfinitions CONTRAINTES D'INTGRIT :
rgles smantiques auxquelles les donnesdune base doivent obir.Elles font partie du schma conceptuel.But : garantir la cohrence des donnes lors
des mises jour de la base (les donnes nesont pas indpendantes)
-
7/27/2019 Cours UMl Bourmane Excellent
53/195
53
Dfinitions Contrainte dintgrit :
Contrainte de domaine :exprime la smantique des donnes au moyen de proprits vrifiespar les attributs
Contrainte dintgrit dentit :une table doit toujours avoir une cl primaire
Contrainte dintgrit rfrentielle :toute valeur attribue une cl trangre dans une table doit exister
dans la table o cette cl se retrouve comme cl primaire ou candidatePar exemple dans la relation r(employ, salaire, patron):
"un salaire est compris entre 1 000 et 2 000" "un employ n'a qu'un seul patron" "un patron a au plus 15 employs"
sont des contraintes d'intgrit dfinies sur la relation r.
-
7/27/2019 Cours UMl Bourmane Excellent
54/195
54
ALGEBRE RELATIONNELLEElle dfinira un cadre formel pour ladfinition d'un langage de manipulation de
donnes dont les primitives seront lesoprations de base. Ces primitivesconstitueront des oprations de haut niveaucomparables certains traitements
classiques de fichiers (tri, fusion, extraction,dition)
-
7/27/2019 Cours UMl Bourmane Excellent
55/195
-
7/27/2019 Cours UMl Bourmane Excellent
56/195
56
Produit cartsien Soient les relations ret s d'arits respectives
k1
et k2
. Le produit cartsienr X s est larelation d'arit k1 + k2 dont les tuples sont lersultat de la concatnation des tuples de ravec ceux de s.
-
7/27/2019 Cours UMl Bourmane Excellent
57/195
57
Projection ProjectionPs(r) d'une relation rsur un sous-
ensemble s de ses attributs : relationobtenue en supprimant dans la table lescolonnes des attributs qui n'appartiennentpas s et en ne gardant dans la nouvelle
table ainsi dfinie qu'une seule occurrencede chaque tuple.
-
7/27/2019 Cours UMl Bourmane Excellent
58/195
58
Slection Soit :
un ensemble d'oprateurs arithmtiques et logiques: =, ,
, OU, ET, NON des oprandes: attributs et constantes une formule F dfinie sur les attributs de rpar les
oprateurs et les oprandes.
La slection dfinie par F surr, note sF (r),est une relation, ensemble des tuples de rqui vrifient la formule F.
-
7/27/2019 Cours UMl Bourmane Excellent
59/195
59
Date Vendeur Secteur Client Code Adresse vente
1/02 JFD 17 DUPONT C1212 LIEGE 3050
2/02 JFD 17 DURAND C1217 BRUXELLES 4200
2/02 RF 17 DUPONT C1212 LIEGE 1200
3/02 LM 19 MARTIN C1420 NIVELLES 12500
3/02 RF 19 BRUYNE C1435 NAMUR 5200
4/02 LM 17 DUPONT C1212 LIEGE 4800
4/02 JFD 17 DAMS C1120 VIRTON 11200
5/02 LM 17 DURAND C1217 BRUXELLES 7500
-
7/27/2019 Cours UMl Bourmane Excellent
60/195
60
Intersection Intersection de 2 tables
r1 r2 = r1 - ( r1 - r2) est dfinie commeune table qui est constitue des tuplescommuns aux relations r1 et r2
-
7/27/2019 Cours UMl Bourmane Excellent
61/195
61
Jointure Jointure de 2 relations ret s suivant la relation i q j ( est
un oprateur, i et j les rangs des attributs respectivement
dans ret s) :ensemble des tuples du produit cartsien rx s qui satisfontla relation i j. On la note :
r si q j
i et j peuvent tre remplacs par le nom des attributscorrespondants.
Cas particulier : quijointure
r si = j
-
7/27/2019 Cours UMl Bourmane Excellent
62/195
62
Schma relationnel Rgles de transformation dun diagramme de Bachman
en un schma relationnel : Tout segment est transpos en une relation Une relation issue d'un segment propritaire se voit attribuer,
comme cl, l'identifiant du segment et comme proprits lesattributs du segment.
Une relation issue d'un segment membre ayant un identifiant,se voit attribuer, comme cl, l'identifiant du segment et comme
proprits les attributs du segment ainsi que le ou lesidentifiants du ou des segments propritaires.
Une relation issue d'un segment membre n'ayant pasd'identifiant, se voit attribuer, comme cl, le ou les identifiantsdu ou des segments propritaires et comme proprits lesattributs du segment membre.
-
7/27/2019 Cours UMl Bourmane Excellent
63/195
63
Les formes normales
-
7/27/2019 Cours UMl Bourmane Excellent
64/195
64
Bibliothque(hypothse : 1 auteur/livre)
Titre Date achat Prix TVAC Auteur Info auteur
Germinal 10/05/90 22.5 Emile Zola 1840-1902
Le rouge et le
noir
05/08/97 25 Stendhal 1783-1842
Les mots 01/02/98 17Jean-Paul
Sartre1905-1980
La btehumaine
01/06/97 30 Emile Zola 1840-1902
-
7/27/2019 Cours UMl Bourmane Excellent
65/195
-
7/27/2019 Cours UMl Bourmane Excellent
66/195
-
7/27/2019 Cours UMl Bourmane Excellent
67/195
67
Relation Voiture
NV Type Marque Puissance Couleur
872RH75 P206A Peugeot 7 Bleue
975AB80 P206A Peugeot 7 Rouge
-
7/27/2019 Cours UMl Bourmane Excellent
68/195
-
7/27/2019 Cours UMl Bourmane Excellent
69/195
-
7/27/2019 Cours UMl Bourmane Excellent
70/195
Relations Vin1 et Vin2
NV Cru Qualit100 Volnay Moyen
200 Chablis Excellent
300 Chablis Moyen400 Volnay Mdiocre
500 Sancerre Excellent
Cru Anne DegrVolnay 1992 11.5Chablis 1997 12.3
Chablis 1999 12.1
Sancerre 2002 12.0
-
7/27/2019 Cours UMl Bourmane Excellent
71/195
71
Dpendance fonctionnelleDpendance fonctionnelle :
Soit une relation R(A1,A2, , An), et X et Y des sous-
ensembles de {A1,A2, , An}.Y dpend fonctionnellement de X (XY)si pour tout tuple t1 et t2 de R, on a :
X(t1) = X(t2) => Y(t1) = Y(t2)
Cl de relation :
Sous-ensemble X des attributs dune relationR(A1,A2, , An)tel que
1. XA1 A2 An
2. Il nexiste pas de sous-ensembleY X tel que YA1 A2 An
-
7/27/2019 Cours UMl Bourmane Excellent
72/195
-
7/27/2019 Cours UMl Bourmane Excellent
73/195
73
Forme normale 1Pre (numro national, nom, prnom,
prnom_enfants)
NN Nom PrenomPrenom_enfants
70101210130 Dupont Andr Paul Anne Eric
68042110331 Durand Ren Jol Vincent
-
7/27/2019 Cours UMl Bourmane Excellent
74/195
-
7/27/2019 Cours UMl Bourmane Excellent
75/195
75
Forme normale 2Tarif (nom, adresse, article, prix)
Nom Adresse Article PrixDupont Angleur Bureau 420
Dupont Angleur Chaise 100
Durand Mons Bureau 400Durand Mons Chaise 110
-
7/27/2019 Cours UMl Bourmane Excellent
76/195
76
Forme normale 2Nom Article Prix
Dupont Bureau 420
Dupont Chaise 100
Durand Bureau 400
Durand Chaise 110
Nom Adresse
Dupont Angleur
Durand Mons
-
7/27/2019 Cours UMl Bourmane Excellent
77/195
77
Forme normale 3Vente(date, vendeur, nom_client,
adresse_client)
Date Vendeur Nom client Adresse client
25/02/02 11h Dupont Detaille Bruxelles
25/02/02 12h Durand Quevy Bruxelles
06/03/02 9h Durand Labro Lige
10/03/02 10h Dupont Detaille Bruxelles
-
7/27/2019 Cours UMl Bourmane Excellent
78/195
-
7/27/2019 Cours UMl Bourmane Excellent
79/195
79
Forme normale
de Boyce-Codd
Personne Sport Entraneur
Paul tennis Durand
Anne escalade Van Loock
Jol tennis Durand
Sophie tennis Detaille
Paul escalade Van Loock
Stage(personne, sport, entraneur)
-
7/27/2019 Cours UMl Bourmane Excellent
80/195
-
7/27/2019 Cours UMl Bourmane Excellent
81/195
81
PARTIE III
La modlisation objet avec UML
P. Bourmanne
D. Bayers
-
7/27/2019 Cours UMl Bourmane Excellent
82/195
82
PREREQUIS Relire le document ConceptionObjet.pdf de
P. Bourmanne (cours de POO)
-
7/27/2019 Cours UMl Bourmane Excellent
83/195
83
INTRODUCTIONPLAN :
- Introduction : lapproche objet
- UML : introduction
- UML : dfinition
- UML : les trois points de vue de la
modlisation- UML : les diagrammes
-
7/27/2019 Cours UMl Bourmane Excellent
84/195
-
7/27/2019 Cours UMl Bourmane Excellent
85/195
85
UML : introduction UML = Unified Modeling Language
(langage unifi pour la modlisation objet) Norme de standardisation des applications dveloppes selon le
concept deprogrammation objet, labore en 1994 par les AmricainsG. BOOCH et J. RUMBAUGH et le Sudois I. JACOBSON pour lasocit "Rational".Cette norme - base sur la modlisation et la formalisation de projetsinformatiques, permettant de quantifier les besoins, ressources etrelations existantes entres eux - facilite la r-utilisation descomposants programms d'une application l'autre.
Standardis par lOMG (Object Management Group) depuis 1997 La mthode UML simplifie le processus complexe de conception d'un
systme informatique en dfinissant 3 points de vue (9 diagrammes)de modlisation .
Utilis par des centaines de projets dans le monde Indispensable votre formation dinformaticien
http://www.teaser.fr/~spineau/acrodict/index.php?NDFIC=004503&INDEX=&F_ZONE=1&F_TYPE=1&F_CLE=UML&F_FIND=1&IDBT=http://www.dicofr.com/cgi-bin/n.pl/dicofr/definition/20010101004118http://www.dicofr.com/cgi-bin/n.pl/dicofr/definition/20010101002821http://www.dicofr.com/cgi-bin/n.pl/dicofr/definition/20010101004015http://www.dicofr.com/cgi-bin/n.pl/dicofr/definition/20010101004015http://www.dicofr.com/cgi-bin/n.pl/dicofr/definition/20010101002821http://www.dicofr.com/cgi-bin/n.pl/dicofr/definition/20010101004118http://www.teaser.fr/~spineau/acrodict/index.php?NDFIC=004503&INDEX=&F_ZONE=1&F_TYPE=1&F_CLE=UML&F_FIND=1&IDBT= -
7/27/2019 Cours UMl Bourmane Excellent
86/195
86
UML : dfinitionUML est un langage danalyse et de conception se basant sur la cration de modlessuccessifs de plus en plus affins afin de mettre en place une solution au problmetudi. Le cadre de cette modlisation est orient objet.
UML a pour objectif de se rendre indpendant de certaines parties techniques comme parexemple le langage de programmation.
Les diffrentes phases du dveloppement avec UML peuvent tre reprsentes aumoyen dune srie dediagrammes permettant de comprendre de manire visuelle lesconcepts dfinis. Tous les modles senchanent en passant de lanalyse la conception,
gagnant en complexit, saffinant au fur et mesure pour arriver llaboration finale du
modle. Les diagrammes permettent de comprendre sous diffrents angles la globalit ducas tudi en prsentant une vue fonctionnelle, statique et dynamique de celui-ci.Chaque diagramme exprime une partie de la structure totale, tout en tant un aspectparticulier du systme.
Les diagrammes sont crs par un modlisateur (analyste);ils doivent gnralement tre valids par un expert mtier (non informaticien)
-
7/27/2019 Cours UMl Bourmane Excellent
87/195
87
MODELE, ANALYSE ET CONCEPTION Modle =
description abstraite dun systme ou dun processus
reprsentation simplifie qui permet de : Comprendre
Simuler
Modlisation = Description dun problme : ANALYSE
Description de la solution dun problme : CONCEPTION
-
7/27/2019 Cours UMl Bourmane Excellent
88/195
88
UML : OBJECTIFS ET UTILISATION Objectif : Fournir une reprsentation de concepts qui facilite et
rende efficace la communication entre les diffrentsprotagonistes dun projet :
Informaticiens Experts mtier Utilisateurs
Utilisations : Analyseret concevoirdes logiciels informatiques
Communiquersur des processus logiciels ou dentreprises Prsentersous forme dtaille lanalyse dun systme(reprsentation graphique, vue dun systme)
Documenterun systme, un processus ou une organisationexistants
-
7/27/2019 Cours UMl Bourmane Excellent
89/195
89
UML : les 3 points de vue de lamodlisation
FONCTIONNELdiagramme de cas dutilisation
STATIQUE DYNAMIQUEdiagramme de classes diagramme dtats
diagramme de packages diagramme dactivitdiagramme dobjets diagramme de squencediagramme de structure composite diagramme de collaboration
(ou de communication)
-
7/27/2019 Cours UMl Bourmane Excellent
90/195
90
UML : les 3 points de vue de lamodlisation (suite)
Statique: Identifier les concepts du mtier, les modliser en tant que
classes Identifier les associations pertinentes entre les concepts Rflchir aux multiplicits chaque extrmit dassociation Ajouter des attributs aux classes
Dynamique: Rpertorier tous les messages que les acteurs peuvent
envoyer au systme et recevoir Fonctionnel:
Dtailler les diffrentes faons dont les acteurs peuventutiliser le systme.
-
7/27/2019 Cours UMl Bourmane Excellent
91/195
91
UML : diagrammes
Point de vue fonctionnel : Diagramme de cas dutilisation: Premire tape dans le processus de modlisation,un cas dutilisation dcrit textuellement une situation, une fonctionnalit, dans la
problmatique tudie. Il sagit dun scnario typique accompli par un ou plusieurs objetsmodliss. Le diagramme de cas dutilisation illustre les liens entre les diffrents cas et les
intervenants dans les diffrents scnarios considrs.
Point de vue statique :
Diagramme de classes: Le diagramme de classes a pour caractristique dillustrer lesdiffrents acteurs, leurs compositions et leurs associations. Une classe est la descriptiondun groupe dobjets possdant des proprits communes ainsi que des comportements
similaires. Lobjet est linstance dune classe particulire. Le diagramme de classes est
une reprsentation statique des diffrentes classes du modle dvelopp.
-
7/27/2019 Cours UMl Bourmane Excellent
92/195
92
UML : diagrammes (suite)
Point de vue dynamique :Diagramme dtats: Ce type de diagramme dcrit les diffrentes transitions dtats quisoprent au cours du temps de vie dun objet. Un tat se caractrise par sa dure et sastabilit, il reprsente une conjonction instantane des valeurs des attributs d'un objet etdes liens avec dautres objets. Les diffrents tats de lobjet sont lis entre eux et leurs
transitions sont dclenches par certains vnements.
Diagramme dactivit: Le diagramme dactivit reprsente les activits qui ont lieudans le droulement dun processus. Ils reprennent des concepts des diagrammes dtats
insistant plus sur la modlisation de certaines activits avec des notions de concurrence
et de synchronisation. Les diffrentes activits reprsentent les ralisations de certainesoprations. Le diagramme permet donc de reprsenter la succession des oprations aucours des flux de travail (workflows).
-
7/27/2019 Cours UMl Bourmane Excellent
93/195
93
UML : diagrammes (suite)
Diagrammes dinteraction: Le comportement dynamique des objets et des acteurs estreprsent au moyen des diagrammes dinteraction :
a) Diag ramme de squence: Dans ce type de diagramme, il se dgage une structure
temporelle des messages qui sont changs entre les diffrents objets impliqus dans laralisation dun cas dutilisation. La dimension verticale montre les enchanementstemporels des messages. Les rponses des diffrents objets aux messages reus sontaussi clairement reprsentes et comprhensibles (dynamique de fonctionnement).
b) Diagramme de co l laborat ion: Les diagrammes de collaboration sont une autre forme
de reprsentation du comportement dynamique des objets illustrant la ralisation dun casdutilisation. Cette reprsentation est quivalente, mais elle se focalise davantage surlorganisation des objets : ils mettent en vidence les relations entre objets par ladisposition des objets.
-
7/27/2019 Cours UMl Bourmane Excellent
94/195
-
7/27/2019 Cours UMl Bourmane Excellent
95/195
95
DIAGRAMME DE CLASSE
Objectif : dcrire la structure des entitsmanipules par les utilisateurs
Reprsente la structure dun code orient
objet
Reprsentation :
Classes (avec attributs et oprations), relies par: des associations, ou
des gnralisations
-
7/27/2019 Cours UMl Bourmane Excellent
96/195
96
REPRESENTATION DUNE CLASSEDANS UN DIAGRAMME DE CLASSE
Classe1
nomA1 : type = valeur initiale
nomA2 : type = valeur initiale
nomM1 ( nomArg1:type = valeurDefaut,) : typeRetourn
nomM2 ( nomArg1:type = valeurDefaut,) : typeRetourn
Nom de classe
Mthodes
Attributs
-
7/27/2019 Cours UMl Bourmane Excellent
97/195
97
CLASSE ET OBJET
Classe: Reprsente la description abstraitedun ensemble dobjets possdant
les mmes caractristiques
typedobjets Exemples : classe Voitureclasse Personne
Objet :- Entit aux frontires bien dfinies, possdant une identit et encapsulant un
tatet uncomportement
instance(occurrence) dune classe- Exemples : ma voiture est une instance de la classe VoitureCh. Mathy est une instance de la classe Personne
-
7/27/2019 Cours UMl Bourmane Excellent
98/195
98
ATTRIBUT ET OPERATION
Attribut : Reprsente un type dinformation contenu dans une
classe Exemples :
cylindre, numro dimmatriculation de la classe Voiture Cas particulier : attribut driv
Opration : Reprsente un lment de comportement
(service) contenu dans une classe Exemples :
dmarrer(), avancer(), tourner() de la classe Voiture
-
7/27/2019 Cours UMl Bourmane Excellent
99/195
99
Visibilit des attributs et desoprations
+ public
# protected
- private
Soulign : static (variables et oprations declasse)
-
7/27/2019 Cours UMl Bourmane Excellent
100/195
100
ASSOCIATION
Association:
Reprsente une relation smantique durableentre 2 classes
Exemple : la relationpossde est une associationentre les classes Personne et Voiture : unepersonne peut possder des voitures
Personne Voiture
1 0 .. *
possde >
-
7/27/2019 Cours UMl Bourmane Excellent
101/195
101
ASSOCIATION : caractristiques
Lassociation estnomme (indication en italique - surle type de la relation).
Mme si le terme qui nomme lassociation sembleprivilgier un sens, une association entre concepts estpar dfaut bidirectionnelle. Donc, implicitement,lexemple cit inclut galement le fait quune voiture estpossde par une personne.Par dfaut, un lien est donc navigable dans les 2 sens.Un objet (dit objet utilisateur) peut utiliser les servicesdun autre objet (dit objet utilis) selon le sens denavigation indiqu par lassociation. Pour utiliser unservice dun objet, lobjet utilisateur envoie un message
lobjet utilis.
-
7/27/2019 Cours UMl Bourmane Excellent
102/195
-
7/27/2019 Cours UMl Bourmane Excellent
103/195
103
Valeurs conventionnelles demultiplicit
1 Un et un seul (par dfaut)
0 .. 1 Zro ou unM .. N De M N (entiers)
* De zro plusieurs
0 .. * De zro plusieurs
1 .. * De un plusieurs
-
7/27/2019 Cours UMl Bourmane Excellent
104/195
104
AGREGATION
Agrgation : cas particulier dassociation nonsymtrique* : une classe joue un rle prdominant
par rapport lautre.Exemple courant: agrgation exprimant une relationde contenance.Inutile de nommer cette association : implicitement,
elle signifie : contient, est compos de
* lagrgat utilise les services du composant, pas linverse
-
7/27/2019 Cours UMl Bourmane Excellent
105/195
105
AGREGATION FORTE: composition
Agrgation forte : agrgation non partage :
un lment ne peut appartenir qu un seul objet, ditagrgat compositeDonc, multiplicit du ct de lagrgat : 1
Responsabilit de lagrgat compositeconcernant le cycle de vie des parties :la destruction de lagrgat composite entrane la destruction
de tous ses lments Exemples : le solde dun compte
les dents dune personne
-
7/27/2019 Cours UMl Bourmane Excellent
106/195
106
AGREGATION FAIBLE
Agrgation faible : agrgation partageable
Lexistence du composant ne dpend pas de celle ducompos un mme composant peut faire partie deplusieurs agrgats
Exemples :une quipe sportive est compose de personnes
une classe de 2me info est compose de personnes
-
7/27/2019 Cours UMl Bourmane Excellent
107/195
107
GENERALISATION
super-classe : classe plus gnrale relie une ouplusieurs autres classes spcialises(sous-classes) par une relation de gnralisation
Les sous-classes hritent des proprits de leursuper-classe et peuvent comporter des propritsspcifiques supplmentaires
Exemples : les voitures, les bateaux, les avions sontdes moyens de transport
Une classe abstraitene sinstancie pas. Elle senote en italique.
-
7/27/2019 Cours UMl Bourmane Excellent
108/195
-
7/27/2019 Cours UMl Bourmane Excellent
109/195
-
7/27/2019 Cours UMl Bourmane Excellent
110/195
110
PACKAGE
Package : mcanisme de regroupement dlments (classes et
associations) Espace de noms
Structuration dun modle en packages: Cohrence (regroupement des classes selon la
smantique)
Indpendance (minimisation des relations entre classes depackages diffrents)
Exemple : package Clientle et package Voitures
-
7/27/2019 Cours UMl Bourmane Excellent
111/195
111
CONVENTION DE NOMMAGE
Nom de classe :commence par une majusculeEx. : Client, Aeroport
Nom dattribut, dopration, dassociation, de rle :
commence par une minuscule, puis, ventuellement plusieurs motsconcatns commenant par une majusculeEx. : nom, numTel, heureDepart
Nom dassociation en italique, et souvent par forme verbale (active oupassive) avec ventuellement un petit triangle dirig vers la classedsigne par la forme verbaleEx. entre les classes Societe et Personne:
-
7/27/2019 Cours UMl Bourmane Excellent
112/195
112
EXERCICE
Etude dun systme de rservation de vol (cf. pages 80et suivantes de UML 2 par la pratique , P. Roques,Eyrolles, 2005, 4me dition ou pages 66 et suivantes
dans la 2me dition:http://www.gramme.be/infopb/coursSL\analyse\references\externes/Modelisation_statique_by_Roques.pdf )
Notions supplmentaires vues dans lexercice ( noter !) : Instance persistante Attribut driv
Classe dassociation Contrainte sur une association({ordered}) Qualificatif
http://www.gramme.be/infopb/coursSL/analyse/references/externes/Modelisation_statique_by_Roques.pdfhttp://www.gramme.be/infopb/coursSL/analyse/references/externes/Modelisation_statique_by_Roques.pdfhttp://www.gramme.be/infopb/coursSL/analyse/references/externes/Modelisation_statique_by_Roques.pdfhttp://www.gramme.be/infopb/coursSL/analyse/references/externes/Modelisation_statique_by_Roques.pdfhttp://www.gramme.be/infopb/coursSL/analyse/references/externes/Modelisation_statique_by_Roques.pdfhttp://www.gramme.be/infopb/coursSL/analyse/references/externes/Modelisation_statique_by_Roques.pdfhttp://www.gramme.be/infopb/coursSL/analyse/references/externes/Modelisation_statique_by_Roques.pdfhttp://www.gramme.be/infopb/coursSL/analyse/references/externes/Modelisation_statique_by_Roques.pdf -
7/27/2019 Cours UMl Bourmane Excellent
113/195
-
7/27/2019 Cours UMl Bourmane Excellent
114/195
114
UML : POINT DE VUE FONCTIONNEL
PLAN :
- Concepts et dfinitions de base:- Acteur (principal/secondaire)
- Cas dutilisation (CU)
- Scnario
- Exemples de cas dutilisation
-
7/27/2019 Cours UMl Bourmane Excellent
115/195
Exemple de diagramme de casd tili ti
-
7/27/2019 Cours UMl Bourmane Excellent
116/195
dutilisation
Distributeur de billets
Client
Retirer de largent
Consulter soncompte
Assurerla maintenance
TechnicienRecharger en billetsTransporteurde billets
Banque centrale
-
7/27/2019 Cours UMl Bourmane Excellent
117/195
117
Diagramme de cas dutilisation
Un diagramme de cas dutilisation : dcrit
lesacteurs lescas dutilisation
le systme
contient
des descriptions textuelles
-
7/27/2019 Cours UMl Bourmane Excellent
118/195
118
Le systme
Le systme est un ensemble de cas dutilisation
Le systme ne comprend pas les acteurs.
Nom dusystme
Nom du systme
-
7/27/2019 Cours UMl Bourmane Excellent
119/195
119
Acteur
lment extrieur au systme qui interagit avec le systme
Rle typique jou par un humain ou un systme connexe parrapport au systme
Ex. : un client, un guichetier, un responsable maintenance,
Une mme personne peut jouer plusieurs rlesEx. : Maurice est directeur mais peut faire le guichetier
Plusieurs personnes peuvent jouer un mme rleEx. : Paul et Pierre sont deux clients
Un acteur nest pas forcment un tre humain (dispositif matriel,
)Ex. : un distributeur de billets peut tre vu comme un acteur
Un acteur excute un ou plusieurs cas dutilisation
-
7/27/2019 Cours UMl Bourmane Excellent
120/195
120
Acteur
Est reprsent par: un petit bonhomme (stick man) avec son nom dessous ou par un rectangle contenant le mot-cl > avec son nom
dessous ou Par un mlange de ces 2 reprsentations
acteur humain acteur non humain
Pour les identifier : Quelles sont les entits externes au systme qui interagissent
directement avec le systme ?
Nom
acteur
Nom de lacteur Nom de lacteur
-
7/27/2019 Cours UMl Bourmane Excellent
121/195
-
7/27/2019 Cours UMl Bourmane Excellent
122/195
122
Utilit des acteurs
La dfinition dacteurs permet didentifier les cas dutilisation
Ex. : que peut faire un guichetier ? un client ? le directeur ? de voir le systme de diffrents points de vues
de dterminer des droits daccs par type dacteur
de fixer des ordres de priorit entre acteurs
...
-
7/27/2019 Cours UMl Bourmane Excellent
123/195
-
7/27/2019 Cours UMl Bourmane Excellent
124/195
124
Cas dutilisation
Est reprsent par un ovale. Le nom du cas est inclus dans lellipseou figure en-dessous
Reli par des associations participe ses acteurs Lensemble des cas dutilisation dcrit exhaustivement les
fonctionnalits du systme (1 CU : 1 fonction mtier du systme)
Pour les identifier: par acteur, quelles sont les diffrentes maniresdutiliser le systme ?
Nom du CU
Liste des proprits(sommaire didentification)
Nom du CUNom CU
-
7/27/2019 Cours UMl Bourmane Excellent
125/195
Exemple de description dtaille
-
7/27/2019 Cours UMl Bourmane Excellent
126/195
126
Exemple de description dtailledun CU: sommaire didentification
Titre : Retirer de largentRsum : CU qui permet un client de la banque deretirer de largentActeurs : clientPrcondition :Le distributeur contient des billets, il est en attente dune
opration, il nest ni en panne, ni en maintenanceDbut : lorsqu un client introduit sa carte bancaire dansle distributeur.
Fin : lorsque la carte bancaire et les billets sont sortis.Postcondition :Le GAB contient moins de billets quau dbut du CU.Transaction de retrait enregistre par le GAB.Hors CU, car fonctionnalit de la banque du client :
Si de largent a pu tre retir, la somme dargent sur le compte est gale la somme dargent quil y avait avant,moins le montant du retrait. Sinon la somme d argent sur le compte est la mme quavant.
Retirerde largent
Exemple de description dtaille
-
7/27/2019 Cours UMl Bourmane Excellent
127/195
127
Exemple de description dtailledun CU: description des scnarios
Retirerde largent
Scnario nominal = droulement normal :(1) le clientintroduit sa carte bancaire(2) le systme lit la carte et vrifie si la carte est valide(3) le systme demande au client de saisir son code
(4) le clientsaisit son code confidentiel(5) le systme vrifie que le code correspond la carte(6) le clientchoisit une opration de retrait(7) le systme demande le montant retirer
Scnarios derreurs (se terminent brutalement) :
Carte invalide : au cours de l tape (2) si la carte est juge invalide, lesystme affiche un message derreur, rejette la carte et le casd utilisation se termine.Code erron (pour la 3me fois) : au cours de l tape (5) ...
Scnarios alternatifsMontant demand suprieur au solde du compteCode erron (pour la 1re ou 2me fois)
Exemple de description dtaille
-
7/27/2019 Cours UMl Bourmane Excellent
128/195
128
Exemple de description dtailledun CU: exigences non-fonctionnelles
Exigences non-fonctionnelles :
(A) Performance : le systme doit ragir dans un dlai
infrieur 4 secondes, quelle que soit laction delutilisateur.(B) Rsistance aux pannes : si une coupure de courant ouune autre dfaillance survient au cours du cas dutilisation,
la transaction sera annule, l argent ne sera pas distribu.Le systme doit pouvoir redmarrer automatiquement dansun tat cohrent et sans intervention humaine.(C) Rsistance la charge : le systme doit pouvoir grerplus de 1000 retraits d argent simultanment...
Retirerde largent
Exemple de description dtaille
-
7/27/2019 Cours UMl Bourmane Excellent
129/195
129
Exemple de description dtailledun CU: besoins IHM
Besoins dIHM: dispositifs dentre-sortie la dispositionde lacteur principal:
-Lecteur de carte bancaire-Clavier numrique-Ecran pour laffichage des messages du GAB-Touches autour de lcran
-Distributeur de billets-Distributeur de tickets
Retirerde largent
Remarque : les IHM seront appliques lors de votre cours de POO/java en 2me et de votre cours de Dveloppement Web et
a lications distribues en 3me
-
7/27/2019 Cours UMl Bourmane Excellent
130/195
-
7/27/2019 Cours UMl Bourmane Excellent
131/195
-
7/27/2019 Cours UMl Bourmane Excellent
132/195
132
Acteurs principaux et secondaires
Acteur principaldun CU Celui pour qui le CU produit un rsultat observable A gauche des CU Rle indiqu ventuellement sur lassociation ct acteur :
(valeur par dfaut)
Acteur secondairedun CU Celui pour qui le CU ne produit pas un rsultat observable par lutilisateur Souvent sollicits pour des informations complmentaires Peuvent uniquement consulter ou informer le systme(pas dobjectif part
entire de la part de lacteur secondaire)
A droite des CU Rle indiqu ventuellement sur lassociation ct acteur : Ex. : systme dauthentification appel par le distributeur de billets
Relations entre acteurs et cas
-
7/27/2019 Cours UMl Bourmane Excellent
133/195
133
Relations entre acteurs et casdutilisation
Guichetier
Crer Un Compte
Relation dassociation ( participe ) :Lien entre un acteur et un cas dutilisation quil peut excuter
Un cas dutilisation doit tre reli au moins unacteur
-
7/27/2019 Cours UMl Bourmane Excellent
134/195
134
Relations entre cas dutilisation
fragment
Identifier le clientRetirer de largent
include
Relation dinclusion (utilisation) Utilise pour enlever la rptition entre plusieurs cas dutilisation Utilisation du strotype include Un cas A (identifier le client) est inclus dans un cas B (retirer de
largent) si le comportement dcrit par le cas A est inclus dans lecomportement de B
Le CU de base B incorpore explicitement le CU A de faonobligatoire un endroit spcifi dans ses enchanements
Le CU inclus peut porter le strotype fragment
B A
-
7/27/2019 Cours UMl Bourmane Excellent
135/195
135
Relations entre cas dutilisation (2)
Consulter soldeRetirer de largent
extend Relation dextension
optionnelle: le CU de baseB incorpore un CU A de faonoptionnelle :Ex. Le CU Consulter solde se fait uniquement
sur demande du client de la banque; il tend le CU Retirer de largent
Utilise lorsquun cas d'utilisation est semblable un autre, mais
ajoute de la fonctionnalit. Utile pour reprsenter les exceptions
Utilise pour dcrire une variation du comportement normal
Souvent soumise condition exprime sous la forme dune note
Utilisation du strotype extend
Sur demandedu client
BA
-
7/27/2019 Cours UMl Bourmane Excellent
136/195
136
Relations entre cas dutilisation (3)
Relation de gnralisation Un cas A est une gnralisation dun cas B si B est un cas particulier
de A
Dposer de largent est cas dutilisation gnralis. Il devient abstrait (italique) car ilne sinstancie pas directement, mais uniquement par le biais de lun des 2 casspcialiss
Distinguer 2 CU spcialiss possibilit de leur associer des acteurs secondairesdiffrents
A
B
Dposer de
largent
Dposer duliquide
Dposer deschques
-
7/27/2019 Cours UMl Bourmane Excellent
137/195
137
Relations entre acteurs
Uniquement relation degnralisation/spcialisation
A est une gnralisation de B si tous les CUaccessibles A sont accessibles B, maispas linverse
BA
-
7/27/2019 Cours UMl Bourmane Excellent
138/195
138
Structuration en package
Si les cas dutilisation sont nombreux les regrouperpar acteur
Oprations client Oprations administrateur
etc.
les regrouperpar domaine fonctionnel
Grer les contrats Grer les clients
Etc. Grer lesclients
ETAPES DE LA MODELISATION
-
7/27/2019 Cours UMl Bourmane Excellent
139/195
139
ETAPES DE LA MODELISATIONFONCTIONNELLE
Identification des acteurs Identification des CU (par acteur) Ralisation des diagrammes de CU
Description textuelle des CU (scnarios) * Organisation des CU (relations entre CU + packages)
PUIS description graphique * * des CU : Modlisation dynamique:
diagramme de squence systme diagramme dactivit
* Pour communiquer facilement avec les utilisateurs et sentendre sur la
terminologie mtier employe* * Pour mieux montrer la succession des enchanements
-
7/27/2019 Cours UMl Bourmane Excellent
140/195
140
EXEMPLES DE CAS DUTILISATION
Etude dun guichet automatique de banque
(GAB) (cf. pages 19 et suivantes de UML 2
par la pratique , P. Roques, Eyrolles, 2005) Etude dune caisse enregistreuse (cf. pages
52 et suivantes de UML 2 par la pratique ,P. Roques, Eyrolles, 2005)
Notion supplmentaire vue( noter !) : Navigabilitsur lassociation
-
7/27/2019 Cours UMl Bourmane Excellent
141/195
141
UML : POINT DE VUE DYNAMIQUE
PLAN:- Concepts et dfinitions de base:
- Diagramme de squence (#140)- Diagramme de collaboration (non vu en 2me) (#147)- Diagramme dtats (#148)
- Etat- Transition- Evnement- Message- Condition- Effet : action ou activit
- Diagramme dactivit (#162)- Interaction Overview Diagram(non vu en 2me) (#178)
- Exemples de diagrammes dynamiques UML
-
7/27/2019 Cours UMl Bourmane Excellent
142/195
142
Rle des diagrammes dynamiques
Montrer la succession des enchanements
Montrer la chronologie des messages
envoys et reus Montrer quel moment un acteur est sollicit
-
7/27/2019 Cours UMl Bourmane Excellent
143/195
143
DIAGRAMME DE SEQUENCE: rle
Visualisation des interactions entre objets selon unpoint de vue temporel
Insistance sur la chronologie des envois desmessages
Mise en vidence du fonctionnement du programmeavec visualisation du temps
DIAGRAMME DE SEQUENCE:
-
7/27/2019 Cours UMl Bourmane Excellent
144/195
144
DIAGRAMME DE SEQUENCE:reprsentation
Reprsentation des objets :
nomObjet : NomClasse rectangle avec lenom de lobjet
soulign
ligne de vieAxe
dutemps
DIAGRAMME DE SEQUENCE :
-
7/27/2019 Cours UMl Bourmane Excellent
145/195
145
DIAGRAMME DE SEQUENCE :reprsentation (suite)
Acteur principal : gauche
Objet reprsentant le systme en bote noire aumilieu
Acteurs secondaires : droite
Echange de message :
flche horizontale, de lmetteur vers le destinataire
message
acteurPrincipal systeme acteurSecondaire
x
Transition :instant dmission
dun message;
peut tre nomm(ex. : x,y)
y
{y-x < 5s }
Contraintetemporelle
DIAGRAMME DE SEQUENCE :
-
7/27/2019 Cours UMl Bourmane Excellent
146/195
146
:GAB :SystemeAutorisation
Demande autorisation
Autorisation (solde)
:PorteurCarte
DIAGRAMME DE SEQUENCE :reprsentation (suite)
Flche de retouren pointill
Banderectangulairesur ligne devie : Priodedactivit =temps
pendant lequelun objeteffectue uneaction
DIAGRAMME DE SEQUENCE :
-
7/27/2019 Cours UMl Bourmane Excellent
147/195
147
DIAGRAMME DE SEQUENCE :utilisations
Documentation des CU (description de linteraction,pas de dtail de synchronisation):
Diagramme de squence systme : Scnario nominal
Diagramme de squence enrichi =Diagramme de squence systme +
Principales actions internes du systme
Renvois aux scnarios alternatifs et derreur Usage + informatique : messages au sens des
langages de programmation
DIAGRAMME DE SEQUENCE :
-
7/27/2019 Cours UMl Bourmane Excellent
148/195
148
G S QU Ccatgories de messages
Synchronisation des messages: Message simple (objet client et serveur agissent dans le mme processus) Message synchrone(metteur bloqu: attend que rcepteur ait fini de traiter le message) Message minut (comme synchrone, sauf que lattente est limite par un timeout)
Message drobant (minut par un dlai dattente nul) Message asynchrone (metteur non bloqu)
Message rflexif: un objet senvoie un message lui-mme(exemple : pour indiquer des interactions internes entre composantsd un objet composite)
-
7/27/2019 Cours UMl Bourmane Excellent
149/195
-
7/27/2019 Cours UMl Bourmane Excellent
150/195
150
DIAGRAMME DE COLLABORATION
Montre les objets, les liens qui les unissent etles messages quils schangent
Mise en vidence des relations entre objets
Rem. : nappartient pas la matire de 2me
-
7/27/2019 Cours UMl Bourmane Excellent
151/195
151
DIAGRAMME DETATS
= statechart = cycle de viedune instance gnrique dune classe au fil de
ses interactions avec le monde Utile : pour dcrire avec prcision des comportements
complexes Seulement pour certaines classes du modle
statique : Comportement ractif: si la raction un vnement dun objet
dune classe dpend de son tat tat caractrise un type deraction
Ncessit dtats squentiels pour prciser une chronologiedvnements
Un objet suit globalement le comportement dcrit pour saclasse
-
7/27/2019 Cours UMl Bourmane Excellent
152/195
152
DIAGRAMME DETATS : construction
Construction :
Description du comportement nominal dun objet : squence
dtats + transitions associes
Ajout des transitions dues aux comportements alternatifs ouderreur
(cf. CU)
Reprsentation : graphe orient dtats et de transitions
Etat 1
Etat 3
Etat 2 Un objet passepar unesuccessiondtats durantson existence
-
7/27/2019 Cours UMl Bourmane Excellent
153/195
153
ETAT
Reprsente une situation durant la vie dun objet : Condition particulire satisfaite Activit particulire en cours Evnement particulier en attente
Identification des tats : Recherche intuitive base sur lexpertise mtier Etude des attributs et des associations : valeur seuil dun attribut qui modifie la
dynamique, Etablissement des interactions dans le comportement de chaque classe
Un tat a une dure finie, variable selon larrive dvnements Un objet est toujours dans un tat donn pour un certain temps; il ne peut tre dans un tat
inconnu ou non dfini Un tat est limage dune conjonction instantane des valeurs des attributs de lobjet et de
la prsence (ou absence) de liens entre lobjet et dautres objets Etat initial: cration de linstance Etat final: destruction de linstance (il peut exister de 0 n tats finaux)
systme qui ne sarrte pas conditions de fin diffrentes
-
7/27/2019 Cours UMl Bourmane Excellent
154/195
154
TRANSITION
Description de la raction dun objet suite unvnement
Connexion unidirectionnelle reliant 2 tats (parfois non
distincts)
Passage dun tat lautre : instantan (car objettoujours dans un tat connu)
Constitution : vnement dclencheur Condition de garde Effet tat cible
Etat Etat 1 Etat 2
-
7/27/2019 Cours UMl Bourmane Excellent
155/195
155
EVENEMENT
Occurrence dun stimuluslocalis dans le temps et lespace:sert de dclencheur pour que lobjet passe dun tat un autre(objet contrl par les vnements en provenance du systme, dun autre objet)
4 types : Signal: rception dun message(envoi asynchrone) Call event: appel dune opration sur lobjet rcepteur
(appel synchrone) Time event: passage du temps (afterdure) Change event: changement de la satisfaction dune condition
(whenexpression_boolenne)
Spcification: Nom de lvnement Liste des paramtres (information circulant entre objets) Objet expditeur Objet destinataire Description de la signification de lvnement
Le passage de faux vrai de lexpression
boolenne dclenche la transition
Evnements internes(au systme)
Evnements externes
(message au systme parun acteur, un autre objet)
-
7/27/2019 Cours UMl Bourmane Excellent
156/195
156
MESSAGE
Transmission dinformation unidirectionnelleentre lobjet metteur et lobjet rcepteur
Communication : Synchrone
(ex.: call event) Asynchrone
(ex.: envoi dun message)
La rception du message est un vnementtrait par le rcepteur
-
7/27/2019 Cours UMl Bourmane Excellent
157/195
-
7/27/2019 Cours UMl Bourmane Excellent
158/195
158
EFFET
Comportement optionnel de lobjet spcifi par une transition 2 types :
Action (non interruptible) Activit: squence atomique (non interruptible) dactions
Laction (ou les actions) correspond une opration dclare dans laclasse de lobjet destinataire de lvnement
A accs : aux paramtres de lvnement aux attributs de lobjet
Exemples daction :
MAJ dun attribut Appel dopration Cration/destruction dun autre objet Envoi dun signal un autre objet
Notation : /effet vnement /effetEtat 1 Etat 2
EFFET ( i )
-
7/27/2019 Cours UMl Bourmane Excellent
159/195
159
EFFET (suite)
Effet dentre : entry /Effet de sortie : exit /
Remarques : une transition rflexive entrane lexcution des effets de sortie et dentre
Un vnement interne nentrane pas lexcution des effets dentre et desortie Une activit interruptible sera associe un tat, non une transition; il
sagit dune activit durable (do-activity); notation : do/activit.Cas particulier : Lorsquune activit squentielle se termine, unetransition automatique (sans vnement, avec garde ventuelle) estdclenche
Un effet dentre (de sortie) reprsente une action ou uneactivit qui est excute chaque fois que lon entre (sort)
dans (de) ltatfactorisation de leffet dclench par toutesles transitions qui entrent (sortent) dans (de) ltat
Etat Aentry/A_In
exit/A_Out
EFFET ( it )
-
7/27/2019 Cours UMl Bourmane Excellent
160/195
160
EFFET (suite)
Etat
entry / opEntry
do / opDo
exit / opExit
/ opTransitionIn
/ opTransitionOutwhen(vn. interne;condition) / opChangeEventWhenafter(dure) / opTimeEventAfter
Points dexcution des
oprations
-
7/27/2019 Cours UMl Bourmane Excellent
161/195
161
Modlisation dun message reu/mis
Message reu vnement qui dclencheune transition entre tats
Message mis action (effet) sur latransition
NOTATION GENERALE DU
-
7/27/2019 Cours UMl Bourmane Excellent
162/195
162
DIAGRAMME DETATS
Etat 1do/activit 1 Etat 2do/activit 2
Etat initial delobjet : cration
Etat finalde lobjet :destruction
Evnement(paramtres)[condition] / effet
Etats avecactivitdurable
Transition aveccondition et effet
EXERCICE
-
7/27/2019 Cours UMl Bourmane Excellent
163/195
163
EXERCICE
Etude dun publiphone pices (cf. pages 156 et suivantes de UML 2 par la pratique , P. Roques, Eyrolles, 2005)
Notions supplmentaires vues dans lexercice ( noter !) :
Diagramme de squence : oprateuropt Diagramme dtats :
Etat composite ou super-tat Transition :
propre (retour de lobjet au sous-tat initial) interne (pas deffet sur ltat courant) factorise (un super-tat permet de factoriser la transition)
Pseudo-tat history Envoi de message un autre objet sur dclenchement dune transition :
/ send cible.message
EXERCICE
-
7/27/2019 Cours UMl Bourmane Excellent
164/195
164
EXERCICE
Etude dun rveil (cf. pages 181 et suivantes
de UML 2 par la pratique , P. Roques,
Eyrolles, 2005)
DIAGRAMME DACTIVITE
-
7/27/2019 Cours UMl Bourmane Excellent
165/195
165
DIAGRAMME DACTIVITE
Reprsentation de lensemble des actions ralises par lesystme, avec tous les branchements conditionnels et toutesles boucles possibles : reprsentation de la dynamique globaledu CU
Graphe orient dactions et de transitions : Transitions automatiques* :
franchies la fin des actions ventuellement gardes par des conditions boolennes mutuellement
exclusives
tapes : en parallle ou en squence
* Pas de transition interne, ni de transition dclenche par un vnement
REPRESENTATION
-
7/27/2019 Cours UMl Bourmane Excellent
166/195
166
REPRESENTATION
Action 1 Action 2
Action 3
[Not OK]
[OK]
flots
dbut actions
conditions
dcision
fin
EXEMPLE DE TRANSITION GARDEE
-
7/27/2019 Cours UMl Bourmane Excellent
167/195
167
EXEMPLE DE TRANSITION GARDEE
Mesurer latemprature
[trop froid] [trop chaud]
chauffer refroidir
Mesurer latemprature
[trop froid] [trop chaud]
chauffer refroidir
REPRESENTATION 1
REPRESENTATION 2
FLOTS DE CONTROLE
-
7/27/2019 Cours UMl Bourmane Excellent
168/195
168
FLOTS DE CONTROLE
Les flots de contrle connectent des actions(rectangles avec coins arrondis) pour indiquer quelaction pointe par la flche ne peut pas dmarrer
tant que laction source nest pas termine
Casser loeuf
Sparer le blanc dujaune
Action source
Action pointe
FLOTS DOBJETS
-
7/27/2019 Cours UMl Bourmane Excellent
169/195
169
FLOTS DOBJETS
Les flots dobjets connectent des nudsdobjets (rectangles) pour fournir des entres
(inputs) aux actions. Le nom dun tat peuttre mis entre crochets ( [nomEtat] ).Faire fondre lechocolat
chocolat
[fondu]
Nud dobjet :
- objet soulign
- tat entre crochets
Input
pour laction
suivante
E l ti it d d
-
7/27/2019 Cours UMl Bourmane Excellent
170/195
170
Exemple : activits dune commande
se renseigner tablir undevis
commander
facturer
payer
livrer
commande[paye]
commande
[passe]
bon delivraison
La responsabilitdes diffrentesactivits peut trerpartie surdiffrents objets(client, vendeur,
servicedexpdition)
BARRE DE SYNCHRONISATION
-
7/27/2019 Cours UMl Bourmane Excellent
171/195
171
BARRE DE SYNCHRONISATION
Une barre de synchronisation : reprsente une synchronisation entre flots de
contrle parallles permet douvrir (fork= barre dembranchement)
ou de fermer (join = barre de jointure) desbranches parallles au sein dun flot dexcution
dune mthode ou dun CU
FORK
-
7/27/2019 Cours UMl Bourmane Excellent
172/195
172
FORK
fork: barre dembranchement
Sparer les blancs
des jaunes
jaunes blancs
Action
fork
Nuds dobjets
FORK (suite)
-
7/27/2019 Cours UMl Bourmane Excellent
173/195
173
FORK (suite)
Refroidir
Arrter le
chauffage
Arer
Les transitions audpart dune barre de
synchronisation sontdclenchessimultanment
JOIN
-
7/27/2019 Cours UMl Bourmane Excellent
174/195
174
JOIN
join : barre de jointure (fusion de flots)
chocolat[fondu]
jaunes
Ajouter les jaunesau chocolat fondu
join
JOIN (suite)
-
7/27/2019 Cours UMl Bourmane Excellent
175/195
175
JOIN (suite)
Mesurer latemprature
Arrter lechauffage
Arer Une barre desynchronisation ne
peut tre franchie quelorsque toutes lestransitions en entresur la barre ont tdclenches
ACCEPT TIME EVENT
-
7/27/2019 Cours UMl Bourmane Excellent
176/195
176
ACCEPT TIME EVENT
Accept time event
Mettre les rcipientsde mousse au frigo
Attendre 3h
Accept time
event
REGION DEXPANSION
-
7/27/2019 Cours UMl Bourmane Excellent
177/195
177
REGION D EXPANSION
Une rgion dexpansion est un nud dactivit structur quisexcute 1 fois pour chaque lment dans une collectiondentres. Les entres et sorties de la collection (nuddexpansion) sont matrialiss sur la frontire de la rgion
(rectangle en pointills avec coins arrondis) par des petitsrectangles de plusieurs compartiments
Mlanger les blancs laprparation chocolat
Mlange
Rcipients
Verser dans unrcipient
Mettreau frigo
Rgiondexpansion
REGION INTERRUPTIBLE
-
7/27/2019 Cours UMl Bourmane Excellent
178/195
178
:
REGION INTERRUPTIBLE
Une rgion interruptible est un ensemble de nuds et darcs dactivitau sein duquel lactivit se termine si un vnement dsign se
produit. Cet vnement dinterruption apparat comme une flche clair
Nettoyer et
ranger
Faire fondrele chocolat
chocolat[fondu]
chocolatest brl
Recette rate
Rgion interruptible :gestionnairedinterruption
Flot dexception
ENVOI/RECEPTION DUN SIGNAL
-
7/27/2019 Cours UMl Bourmane Excellent
179/195
179
ENVOI/RECEPTION D UN SIGNAL
Envoi dun signal
Rception dun signal
EXERCICE
-
7/27/2019 Cours UMl Bourmane Excellent
180/195
180
EXERCICE
Etude dun guichet automatique de banque
(GAB)
(cf. pages 19 et suivantes de UML 2 par lapratique , P. Roques, Eyrolles, 2005) :diagramme dactivit pour le retrait dargent
page 37
Interaction Overview Diagram
-
7/27/2019 Cours UMl Bourmane Excellent
181/195
181
Interaction Overview Diagram
Fusion des diagrammes dactivit et de
squence
Actions remplaces par des interactions
Rem. : nappartient pas la matire de 2me
A FAIRE A DOMICILE
-
7/27/2019 Cours UMl Bourmane Excellent
182/195
182
A FAIRE A DOMICILE
Lire le chapitre 8 Mthodes orientes
objets du syllabus Mthodes danalyse dA. Clarinval
TABLEAU RECAPITULATIF
-
7/27/2019 Cours UMl Bourmane Excellent
183/195
183
TABLEAU RECAPITULATIF
Diagrammes de Point de vue des cas dutilisation Point de vue logique
cas dutilisationActeurs
CU
classes
Classes
Relations
objetsObjets
Liens
Classes
Objets
Liens
squenceActeurs
Objets
Messages
Acteurs
Objets
Messages
collaboration
Acteurs
Objets
Liens
Messages
Acteurs
Objets
Liens
Messages
tatsEtats
Transitions
Etats
Transitions
activitActivits
Transitions
Activits
Transitions
VERS UNE METHODE DEDEVELOPPEMENT
-
7/27/2019 Cours UMl Bourmane Excellent
184/195
184
DEVELOPPEMENT
Cycle de vie itratifet incrmental: Abandon de la mthode en cascade pour un
dveloppement itratif Exemple : RUP (cf. le document : Le processus
RUP )
VERS UNE METHODE DEDEVELOPPEMENT (suite)
http://www.gramme.be/infopb/coursSL/analyse/cours/RUP.pdfhttp://www.gramme.be/infopb/coursSL/analyse/cours/RUP.pdfhttp://www.gramme.be/infopb/coursSL/analyse/cours/RUP.pdfhttp://www.gramme.be/infopb/coursSL/analyse/cours/RUP.pdf -
7/27/2019 Cours UMl Bourmane Excellent
185/195
185
DEVELOPPEMENT (suite)
Extrait de lavant-propos de :
Guide pratique du RUP , P. Koll, Ph. Kruchten, CampusPress, 2003
VERS UNE METHODE DEDEVELOPPEMENT (suite)
-
7/27/2019 Cours UMl Bourmane Excellent
186/195
186
DEVELOPPEMENT (suite)
VERS UNE METHODE DEDEVELOPPEMENT (suite)
-
7/27/2019 Cours UMl Bourmane Excellent
187/195
187
DEVELOPPEMENT (suite)
VERS UNE METHODE DEDEVELOPPEMENT (suite)
-
7/27/2019 Cours UMl Bourmane Excellent
188/195
188
DEVELOPPEMENT (suite)
6 ETAPES dun processus dedveloppement (par Expert-IT SA)
-
7/27/2019 Cours UMl Bourmane Excellent
189/195
189
dveloppement (parExpert IT SA)
Un processus dcrit: Quoi faire Comment le faire Qui le fera
Quand le faire Pourquoi le faire Un processus :
utilise UML comme langage de modlisation est un guide sur la manire dutiliser UML
6 tapes dun processus de dveloppement logiciel:A. BesoinsB. Analyse des Business Process (BP)C. Recueil des besoins du projet informatiqueD. Analyse et design de lapplicationE. ImplmentationF. Logiciel fourni
6 ETAPES dun processus dedveloppement (suite)
-
7/27/2019 Cours UMl Bourmane Excellent
190/195
190
dveloppement (suite)
1) Besoins:lentreprise, dcompose en processus mtier, subitles actions du monde extrieur
2) Analyse des BP :analyse du systme dinformation humain:
a) Est alimente par : Business Process Modeling Notation (BPMN) Business Process Execution Language (BPEL) Business Process Modeling Language (BPML) Diagrammes dactivit Diagrammes dtat diagr. de classe Business UCb) Produit les artefacts suivants :- BP Model- Glossaire- Model Concepts
6 ETAPES dun processus dedveloppement (suite)
-
7/27/2019 Cours UMl Bourmane Excellent
191/195
191
dveloppement (suite)
3) Recueil des besoins du projet informatique:a) Est aliment par :- diagrammes CU- diagrammes dactivit, dtat, de squence, de classesb) Produit les artefacts suivants :- modlisation des concepts (UML)- catalogue des acteurs (UML)- catalogue des CU (UML)- catalogue des business rules (rgles communes tous
les CU)- catalogue des besoins non fonctionnels (temps derponse, infrastructure Web, multilinguisme, )- glossaire (commenc ventuellement dans lanalyse desbesoins)
Non UML:rgles debonnepratique
6 ETAPES dun processus dedveloppement (suite)
-
7/27/2019 Cours UMl Bourmane Excellent
192/195
192
dveloppement (suite)
4) Analyse et design de lapplication :(= comment va-t-on faire ?) :
1) Organisation des classes du point de vue structurel et dynamique2) Point de vue technique, de linfrastructure
a) Est alimente par :- diagrammes de classe- diagrammes dynamiquesb) Produit les artefacts suivants :- diagrammes de classe- modlisation dynamique
5) Implmentation du logiciel :Do un feed-back sur les autres tapesb) Produit les artefacts suivants :- System Sequence Diagram (SSD): oprations systme avec pr-conditions et post-conditions
6 ETAPES dun processus dedveloppement (suite)
-
7/27/2019 Cours UMl Bourmane Excellent
193/195
193
dveloppement (suite)
6) Logiciel fourni :A chaque itration dimplmentation, un incrment est fourni auclient.
Exemples dincrment :- un cran de cration de devis- association de lcran la cration dun plan mdia
Limplication du client doit tre forteSeront rgulirement runis : analyste + dveloppeur + client
NB : Recommandation : un artefact doit tre produit sur maximum3 semaines (sinon prvoir de plus petits artefacts)
Travaux pratiques
-
7/27/2019 Cours UMl Bourmane Excellent
194/195
194
Travaux pratiques
Utilisation du logiciel Rational Rose Enterprise 2003Rational Rose est le Leader Mondial en outil de Modlisation UML, c'est aussi l'undes plus coteux. Rational propose par ailleurs de nombreux outil pour faciliter lagestion des projets de dveloppement. Rational a par ailleurs pass un accord avec la
Socit Ensemble pour distribuer le Rose Link qui procure une liaison bidirectionnellesynchronise entre un modle UML de Rose et un code Java ou Delphi par exemple.Avec cette combinaison le reverse engineering partir d'une application Java ouDelphi est possible. Rose Link Java est disponible pour Borland, JBuilder, Visual Caf,Oracle JDeveloper, & IBM's VisualAge.
Utilisation du logiciel Microsoft Office Visio 2003
(cf. http://www.microsoft.com/france/office/visio/decouvrez.mspx )
Cf. les 6 TPs proposs surhttp://www.gramme.be/infopb/coursSL/analyse/TP
Avec de lexprience
http://www.rational.com/worldwide/france/index.jsphttp://www.rational.com/worldwide/france/index.jsphttp://www.ensemble-systems.com/http://www.microsoft.com/france/office/visio/decouvrez.mspxhttp://www.gramme.be/infopb/coursSL/analyse/TPhttp://www.gramme.be/infopb/coursSL/analyse/TPhttp://www.gramme.be/infopb/coursSL/analyse/TPhttp://www.microsoft.com/france/office/visio/decouvrez.mspxhttp://www.ensemble-systems.com/http://www.rational.com/worldwide/france/index.jsphttp://www.rational.com/worldwide/france/index.jsp -
7/27/2019 Cours UMl Bourmane Excellent
195/195
Avec de l exprience
Etre comptent en UML, cest comprendre ceque chaque type de diagramme peut offrir et
savoirquand il faut lutiliser. Souvent, unconcept pourra tre exprim au moyen deplusieurs diagrammes; lutilisateur
expriment dUML saura utiliser le(s) plus