590 likes | 1.35k Vues
2. PLAN DU COURS. Partie I : Introduction : (
E N D
1. 1 ANALYSE ET CONDUITE DE PROJETS P. Bourmanne
HELMo
2. 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)
3. 3 PARTIE I
4. 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
5. 5 SUPPORTS ET REFERENCES Syllabi :
Mthodes danalyse; A. Clarinval; septembre 2002
Initiation aux bases de donnes; P. Bourmanne, 2002
Concepts et mthodes de la programmationpar 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 et dveloppement itratif,C. Larman, d. Pearson Education
6. 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
7. 7 INTRODUCTION: EVALUATION Votre participation active aux cours thoriques et pratiques
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
Aucune absence ne sera tolre
Les prsences seront prises chaque foisAucune absence ne sera tolre
Les prsences seront prises chaque fois
8. 8 INTRODUCTION : METIERS DINFORMATICIEN Catgories:
Dveloppement logiciel
Gestion dun parc informatique
Assistance clientle (technique et/ou logicielle)
Formation
9. 9 INTRODUCTION: METIERS DU DEVELOPPEMENT LOGICIEL Les mtiers de linformaticien dans le cadre dun dveloppement logiciel:
1) Le chef de projet : responsable de llaboration et de la modification du 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
Demander aux tudiants le mtier dinformaticien quils imaginent faire dans quelques annes regrouper par catgorie
Mtiers :
Dveloppement logiciel
Gestion dun parc informatique
Assistance clientle (assistance technique et/ou logicielle)
Formations
Dbut du cours : mtiers du dveloppement logiciel
Rf. Livre RPU (Kroll et Kruchten) pour les diffrents mtiers
Puis : Avant-propos du livre en conclusion
Chef de projet : o, quand, qui
Analyste : quoi, comment
Chef de projet :
Personnes : recruter, former, sous-traiter,
Produit = lobjectif
Processus = feuille de route de lquipe
Projet : gestion, planification, contrle
Demander aux tudiants le mtier dinformaticien quils imaginent faire dans quelques annes regrouper par catgorie
Mtiers :
Dveloppement logiciel
Gestion dun parc informatique
Assistance clientle (assistance technique et/ou logicielle)
Formations
Dbut du cours : mtiers du dveloppement logiciel
Rf. Livre RPU (Kroll et Kruchten) pour les diffrents mtiers
Puis : Avant-propos du livre en conclusion
Chef de projet : o, quand, qui
Analyste : quoi, comment
Chef de projet :
Personnes : recruter, former, sous-traiter,
Produit = lobjectif
Processus = feuille de route de lquipe
Projet : gestion, planification, contrle
10. 10 INTRODUCTION: METIERS 2) Lanalyste : responsable de dfinir et de communiquer aux
intervenants 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)
Intervenants = personne ou entit concerne par un rsultat du systme: acheteur, chef de produit, investisseur, utilisateurIntervenants = personne ou entit concerne par un rsultat du systme: acheteur, chef de produit, investisseur, utilisateur
11. 11 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 et concise
Capacit rdiger succinctement et clairement les exigences
Comprhension globale du cycle de vie du dveloppement du logiciel
12. 12 INTRODUCTION: METIERS 3) Larchitecte logiciel : dirige et coordonne les activits
techniques (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) et de lingnierie logicielle (vision globale du projet, comprhension des technologies, )
Leadership technique ( ? chef de projet : leadership pour les aspects mtier 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 labsence dinformations compltes
Collaboration troite avec le chef de projet (architecte + chef de projet = gestionnaires)
Architecture logicielle:
Usage
Fonctionnalit
Performance
Robustesse
Rutilisation
Comprhensibilit
Contraintes et compromis conomiques et technologiques
Aspects esthtiquesArchitecture logicielle:
Usage
Fonctionnalit
Performance
Robustesse
Rutilisation
Comprhensibilit
Contraintes et compromis conomiques et technologiques
Aspects esthtiques
13. 13 INTRODUCTION: METIERS Larchitecte 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 conception
importantes (effets long terme sur les performances, la qualit,
lvolutivit du systme)
14. 14 INTRODUCTION: METIERS 4) Le dveloppeur : charg de traduire les exigences en code excutable
dune 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
15. 15 INTRODUCTION: METIERS 5) 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 de dfauts, )
Communiquer ses valuations aux dveloppeurs, aux managers, 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 tre accus dignorer le facteur de cot force de vouloir tre perfectionniste dans la qualit (que lon peut toujours amliorer)
Normes :
Standard dergonomie (ex : apparence du produit comme Windows 2000)
Normes mdicales, de cartographie, tre accus dignorer le facteur de cot force de vouloir tre perfectionniste dans la qualit (que lon peut toujours amliorer)
Normes :
Standard dergonomie (ex : apparence du produit comme Windows 2000)
Normes mdicales, de cartographie,
16. 16 INTRODUCTION: METIERS Un rle peut tre tenu par une ou plusieurs personnes
Une personne peut endosser plusieurs rles, entirement ou partiellement
Remarque : Travail dquipes nentrane pas une absence dautonomie
Membres de lquipe travaillent de concert
Parler du savoir-tre de linformaticienRemarque : Travail dquipes nentrane pas une absence dautonomie
Membres de lquipe travaillent de concert
Parler du savoir-tre de linformaticien
17. 17 INTRODUCTION : BUTS DU COURS Vous amener tre capable danalyser un problme, une situation modliser
Par ce cours et vos cours de programmation:vous amener tre capable de concevoir un logiciel 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
Cf. avant-propos de RUP
- Correct et robuste : pgm fiable
- Extensible : pgm souple, rsistant aux changements
A la fin, demander aux tudiants dcrire sur une feuille le mtier dinformaticien logiciel dans lequel ils se voient le mieux dans quelques annes et pourquoi ce choixCf. avant-propos de RUP
- Correct et robuste : pgm fiable
- Extensible : pgm souple, rsistant aux changements
A la fin, demander aux tudiants dcrire sur une feuille le mtier dinformaticien logiciel dans lequel ils se voient le mieux dans quelques annes et pourquoi ce choix
18. 18 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 de dveloppement logiciel)
19. 19 ET VOUS ? Dans quelle catgorie mtier vous voyez-vous le mieux actuellement ? Pourquoi ?
Si vous travaillez dans le dveloppement logiciel, quel mtier vous semble le mieux convenir votre idal ? Pourquoi ?
20. 20 PARTIE II
21. 21 CONCEPT DE DONNEE 1. Dune faon gnrale, tout ce qui est manipul par un ordinateur est appel DONNEE.
2. Une DONNEE ELEMENTAIRE dcrit un lment atomique du monde rel.
3. On appelle STRUCTURE DE DONNES l'association d'un ou plusieurs noms et d'un ensemble de donnes lmentaires auxquelles ce ou ces noms permettent d'accder. 1) Donnes :
1500 ? salaire, prix, .
3 ans ? ge, dure dtudes,
2) Structure de donnes :
employ : nom, prnom, salaire, anciennet,
tudiant : nom, prnom, ddn, localit, 1) Donnes :
1500 ? salaire, prix, .
3 ans ? ge, dure dtudes,
2) Structure de donnes :
employ : nom, prnom, salaire, anciennet,
tudiant : nom, prnom, ddn, localit,
22. 22 TYPE (ABSTRAIT) DE DONNEES Quand un informaticien dveloppe un programme, il est 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 la structure de donnes et les oprations que l'on va effectuer sur ce type de donnes ou de structure. Int : ordre des bytes diffrent selon lOS
Structure : alignement, padding
Entier : oprations : +, -, * , / , %Int : ordre des bytes diffrent selon lOS
Structure : alignement, padding
Entier : oprations : +, -, * , / , %
23. 23 NOTION DENTITE ENTIT = concept concret ou abstrait qui prsente un intrt 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 type d'entits, caractris par un identifiant et des valeurs des proprits.
IDENTIFIANT = proprit ou ensemble de proprits qui dfinit une et une seule instance d'un type d'entit. Entit = concept : concrtisation du rel peru Exemples : concret : client (nom, adresse, )
abstrait : mariage (nom homme, nom femme, date mariage, localit mariage)
Identifiants : Exemples : employ identifiant = matricule ou (nom,prnom1,prnom2)Dterminer ensemble des identifiants de ETUDIANT : - numro de matricule
- nom, prnoms1,2,3
- nom,prnom,adresseEntit = concept : concrtisation du rel peru Exemples : concret : client (nom, adresse, )
abstrait : mariage (nom homme, nom femme, date mariage, localit mariage)
Identifiants : Exemples : employ identifiant = matricule ou (nom,prnom1,prnom2)Dterminer ensemble des identifiants de ETUDIANT : - numro de matricule
- nom, prnoms1,2,3
- nom,prnom,adresse
24. 24 NIVEAUX DABSTRACTION 3 niveaux de reprsentation : MCD : rgles de construction et rgles smantiques.
Par exemple :
a) en cartographie, un MCD peut dire :
une surface est dtermine par les lignes qui lentourent
Une ligne est dtermine par son point dbut et son point fin
[Montrer transparents dEDIGEO]
b) Ordinateur : botier, carte mre, carte graphique,
c) Un client (dune banque) possde un compte :
- vue: au guichet : fiche visualise : nom + adresse + numro compte vue
- MCD : rgle smantique : 1 compte a un seul titulaire
- niveau physique : BD ORACLE
- niveau interne : trs technique (accs, organisation, index,)MCD : rgles de construction et rgles smantiques.
Par exemple :
a) en cartographie, un MCD peut dire :
une surface est dtermine par les lignes qui lentourent
Une ligne est dtermine par son point dbut et son point fin
[Montrer transparents dEDIGEO]
b) Ordinateur : botier, carte mre, carte graphique,
c) Un client (dune banque) possde un compte :
- vue: au guichet : fiche visualise : nom + adresse + numro compte vue
- MCD : rgle smantique : 1 compte a un seul titulaire
- niveau physique : BD ORACLE
- niveau interne : trs technique (accs, organisation, index,)
25. 25 LES NIVEAUX DABSTRACTION Le NIVEAU EXTERNE correspond la vision particulire de chaque utilisateur par rapport au systme d'informations de l'entreprise. Il est vident que chacune de ces vues externes est incomplte et partielle. Chaque utilisateur peut travailler sur des donnes diffrentes ou sur des donnes communes d'autres utilisateurs.
Le NIVEAU CONCEPTUEL ou schma conceptuel constitue la synthse de tous les schmas externes intgrs dans un schma unique qui est un invariant de l'organisation, car il est indpendant des traitements et du type d'organisation des donnes choisi. Il va regrouper toutes les donnes lmentaires, tous les objets recenss dans les vues externes, toutes les associations entre objets et ventuellement toutes les rgles auxquelles doivent satisfaire toutes les donnes.
26. 26 LES NIVEAUX DABSTRACTION
Le NIVEAU ORGANISATIONNEL OU LOGIQUE constitue une tape intermdiaire entre le niveau conceptuel et le niveau interne. La description logique des donnes devra par exemple tenir compte du type de base de donnes choisie, mais s'affranchira encore de la reprsentation spcifique en mmoire des donnes lmentaires par exemple.
Le NIVEAU INTERNE ou schma physique dcrit les choix d'organisation physique des donnes (fichiers, BD, mthodes d'accs, types d'index...).
27. 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 dont on opre sur ces donnes ;il peut tre peru comme un ensemble de structures avec un ensemble d'oprations dfinies dessus .
http://www.grappa.univ-lille3.fr/polys/access-1997/node28.html pour exemples
Cours BD de Mathy :
. Le schma conceptuel: description de la smantique des structures de donnes
Le schma logique: description des structures de donnes telles qu'elles sont perues par le
programmeur (description lie au SGBD)
Le schma physique: description des techniques d'implmentation des structures logiques
(performance en temps et en espace)http://www.grappa.univ-lille3.fr/polys/access-1997/node28.html pour exemples
Cours BD de Mathy :
. Le schma conceptuel: description de la smantique des structures de donnes
Le schma logique: description des structures de donnes telles qu'elles sont perues par le
programmeur (description lie au SGBD)
Le schma physique: description des techniques d'implmentation des structures logiques
(performance en temps et en espace)
28. 28 METHODES DANALYSE: UTILITE Une mthode dfinit une dmarche reproductible pour obtenir des rsultats fiables
Une mthode dfinit gnralement une reprsentation (souvent graphique) qui permet:
de manipuler aisment les modles
de communiquer et dchanger linformation entre les diffrents intervenants - Cuisiniers : recettes de cuisine- Cuisiniers : recettes de cuisine
29. 29 METHODES DANALYSE:LE MODELE ENTITE-ASSOCIATION Le modle entit-association exprime la smantique des donnes laide des concepts:
- dentit
- dassociation entre entits
- dattribut dcrivant les entits et associations
30. 30 DEFINITION CONCEPTUELLE DE DONNEES : 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 le lie une autre entit = le nombre minimum et le nombre maximum d'instances de l'association auxquelles doit tre rattache chacune des instances de l'entit. Entit : concept concret ou abstrait qui permet de modliser une situation relle:
Client commande produit facture
Bibliothque livre dition exemplaires (http://www.grappa.univ-lille3.fr/polys/access-1997/node28.html)
Fait associatif : exemple : client possde compte
Exemples :
Ouvrages-auteurs
Clients-facturesEntit : concept concret ou abstrait qui permet de modliser une situation relle:
Client commande produit facture
Bibliothque livre dition exemplaires (http://www.grappa.univ-lille3.fr/polys/access-1997/node28.html)
Fait associatif : exemple : client possde compte
Exemples :
Ouvrages-auteurs
Clients-factures
31. 31 A FAIRE A DOMICILE Lire
Mthodes danalyse; A. Clarinval; septembre 2002 : chap. 3.1 : Le modle entit-association
Initiation aux bases de donnes; P. Bourmanne, 2002 : chap. 2 : Les donnes
32. 32 DEFINITION LOGIQUE DES DONNEES : le diagramme de Bachman Enregistrement logique Entit
( = record = segment)
avec ses champs (= fields) avec ses proprits
Lien Association
diagramme de Bachman Exemples :
N-1 : Clients ? factures
N-N : ouvrages ? signatures et auteurs ? signatures
N-N : vente de produits par des fournisseurs : produits ? tarifs et fournisseurs ? tarifs
+ donner les proprits (insister sur le prix dans vente dans lexemple 3)Exemples :
N-1 : Clients ? factures
N-N : ouvrages ? signatures et auteurs ? signatures
N-N : vente de produits par des fournisseurs : produits ? tarifs et fournisseurs ? tarifs
33. 33 DIAGRAMME DE BACHMAN Rgles de transformation dun modle entit-association en un diagramme de Bachman :
1 entit ? 1 segment (propritaire ou membre)segment propritairesegment 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 dentits associes lassociation)
34. 34 A FAIRE A DOMICILE Lire
Mthodes danalyse; A. Clarinval; septembre 2002 : chap. 4 : Schma logique du stockage des donnes
Initiation aux bases de donnes; P. Bourmanne, 2002 : chap. 5.3. : Types de bases de donnes
35. 35 Bases de donnes : gnralits
36. 36 Base de donnes : dfinition Ensemble structur de donnes enregistres sur des supports accessibles par l'ordinateur, reprsentant des informations du monde rel et pouvant tre interrog et mis jour par une communaut d'utilisateurs.
Fichiers informatiques regroupant un ensemble dinformations thmatiques sous forme structure et indexe.
37. 37 Systme de gestion de base de donnes Logiciel gnral qui permet l'utilisateur, qu'il soit programmeur ou utilisateur final, de manipuler les donnes dans des termes abstraits, sans tenir compte de la faon dont l'ordinateur les voit. Un SGBD est un logiciel parmi les plus complexes que l'on trouve sur le march. Un SGBD est un logiciel parmi les plus complexes que l'on trouve sur le march.
38. 38 Objectifs dun S.G.B.D. Indpendance physique des programmes aux donnes :indpendance entre structures de stockage et structures des donnes du monde rel,indpendance entre schma interne et conceptuel
Indpendance logique des programmes aux donnes :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)
Cfr. Chap. 3 de Gardarin (Bases de donnes)
indp. Phys : on peut ajouter un index, regrouper 2 fichiers, (= monde des informaticiens) sans que lutilisateur ne le voit.
Indp. Logique : ? indpendance entre les utilisateurs (vues diffrentes)
Manip. Des donnes : doit pouvoir se faire par des non informaticiens (interrogation et mise jour)
Adm. Des donnes : volution va vers le dvt doutils intgrs capables de faciliter ladm. des donnes et dassurer la cohrence des descriptionsCfr. Chap. 3 de Gardarin (Bases de donnes)
indp. Phys : on peut ajouter un index, regrouper 2 fichiers, (= monde des informaticiens) sans que lutilisateur ne le voit.
Indp. Logique : ? indpendance entre les utilisateurs (vues diffrentes)
Manip. Des donnes : doit pouvoir se faire par des non informaticiens (interrogation et mise jour)
Adm. Des donnes : volution va vers le dvt doutils intgrs capables de faciliter ladm. des donnes et dassurer la cohrence des descriptions
39. 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 pour certaines donnes, ventuellement en fonction dautres donnes, et permettant 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)
- Efficacit des accs :
Dbit = nb de transactions excutes par seconde
+
Temps de rponse = temps dattente moyen pour une requte ? il faut partager les ressources entres les diffrents utilisateurs
partage : 1. dans le temps 2. Simultanment (rservation en mme temps de la mme place davion ? SGBD doit faire comme si squentiel dans le temps)
Cohrence : contraintes dintgrit : valeur dans un domaine, intgrit rfrentielle, contrainte dintgrit :
- unicit de cl
- contrainte rfrentielle
- contrainte de domaine
redondance :
les fichiers + ou redondants seront intgrs dans un seul fichier partag par les diverses applications
Parfois bonne pour augmenter les performances, mais copie doit tre invisible pour lutilisateur (la redondance doit tre gre par le SGBD)
Scurit : droits daccs + cohrence si panne (ex : prof modifie ses cotes par un facteur 1.1) - Efficacit des accs :
Dbit = nb de transactions excutes par seconde
+
Temps de rponse = temps dattente moyen pour une requte ? il faut partager les ressources entres les diffrents utilisateurs
partage : 1. dans le temps 2. Simultanment (rservation en mme temps de la mme place davion ? SGBD doit faire comme si squentiel dans le temps)
Cohrence : contraintes dintgrit : valeur dans un domaine, intgrit rfrentielle, contrainte dintgrit :
- unicit de cl
- contrainte rfrentielle
- contrainte de domaine
redondance :
les fichiers + ou redondants seront intgrs dans un seul fichier partag par les diverses applications
Parfois bonne pour augmenter les performances, mais copie doit tre invisible pour lutilisateur (la redondance doit tre gre par le SGBD)
Scurit : droits daccs + cohrence si panne (ex : prof modifie ses cotes par un facteur 1.1)
40. 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 un critre plus ou moins complexe (= qualification = expression logique de critres 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 des donnes, supprimer des donnes
Fonctions qui assurent les objectifs prcits (transformation des donnes, contrle de lintgrit des donnes, gestion de transactions et scurit)
- qualification : permet dexprimer une condition qui doit satisfaire les rsultats dune question- qualification : permet dexprimer une condition qui doit satisfaire les rsultats dune question
41. 41 TYPES DE BD Modle hirarchique
Modle rseau
Modle relationnel
42. 42 LE MODELE RELATIONNEL Introduit par Codd
Rsultat d'une approche formelle mathmatique qui modlise dans une mme thorie la notion de donnes et de manipulations de donnes et ne fait aucune rfrence au niveau physique
Permet de rpondre aux objectifs prcits
43. 43 Bibliothque (hypothse : 1 auteur/livre) montrer lexemple des livres dune bibliothque (table) et demander de critiquer cette faon de stocker les donnes
Faire le modle entit-association + Bachmanmontrer lexemple des livres dune bibliothque (table) et demander de critiquer cette faon de stocker les donnes
Faire le modle entit-association + Bachman
45. 45 Dfinitions ATTRIBUT :champ ou proprit du lot d'informations
RELATION (ou TABLE) :liste d'attributs a1, a2, ..., an; ensemble de lignes du tableau dfini par les attributs. Notation : r(a1, a2, ..., an) o r est le nom de la relation
46. 46 Dfinitions TUPLE (ou LIGNE) :ligne du tableau, instance du lot d'informations. Une relation est donc un ensemble de tuples et elle ne possde pas deux tuples identiques.
COLONNE :attribut ou ensemble des valeurs de l'attribut
47. 47 Dfinitions DOMAINE :ensemble de dfinition des valeurs des attributs.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 r est un sous-ensemble du produit cartsien: D1 x D2 x ... x Di x ... x Dn.
48. 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 de colonnes de la table.
CARDINALIT d'une relation r :nombre de tuples (ou de lignes) de la table.
49. 49 Dfinitions CL D'UNE RELATION r: ensemble d'attributs dont les valeurs identifient un tuple et un seul de la relation r. Une relation possde toujours au moins une cl, c'est--dire l'ensemble de ses attributs: deux tuples d'une relation diffrent entre eux au moins par les valeurs d'un attribut.
50. 50 Dfinitions CL CANDIDATE :cl d'une relation telle que tout sous-ensemble d'attributs de cette cl n'est pas une cl. Une cl candidate constitue donc un sous-ensemble minimal d'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 relation sera dsigne par le terme cl .
51. 51 Dfinitions CL ETRANGERE dans une table :cl primaire ou candidate dans une autre table
52. 52 Dfinitions CONTRAINTES D'INTGRIT :rgles smantiques auxquelles les donnes dune base doivent obir.Elles font partie du schma conceptuel.But : garantir la cohrence des donnes lors des mises jour de la base (les donnes ne sont pas indpendantes)
53. 53 Dfinitions Contrainte dintgrit :
Contrainte de domaine :exprime la smantique des donnes au moyen de proprits vrifies par 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 candidate
Par 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.
54. 54 ALGEBRE RELATIONNELLE Elle dfinira un cadre formel pour la dfinition d'un langage de manipulation de donnes dont les primitives seront les oprations de base. Ces primitives constitueront des oprations de haut niveau comparables certains traitements classiques de fichiers (tri, fusion, extraction, dition)
55. 55 Somme et diffrence La somme de deux relations r et s, note r s est l'union ensembliste des tuples de r et des tuples de s.
La diffrence r - s est l'ensemble des tuples de r qui n'appartiennent pas s.
Les deux relations doivent avoir mme arit. Dans la pratique, pour que la somme ait un sens, les attributs de mme rang de r et s doivent avoir le mme domaine.
Toujours demander : arit = combien ? Cardinalit = ?
Les deux relations doivent avoir mme arit. Dans la pratique, pour que la somme ait un sens, les attributs de mme rang de r et s doivent avoir le mme domaine.
Toujours demander : arit = combien ? Cardinalit = ?
56. 56 Produit cartsien Soient les relations r et s d'arits respectives k1 et k2. Le produit cartsien r X s est la relation d'arit k1 + k2 dont les tuples sont le rsultat de la concatnation des tuples de r avec ceux de s. Cardinalit = card1 * card2Cardinalit = card1 * card2
57. 57 Projection Projection Ps(r) d'une relation r sur un sous-ensemble s de ses attributs : relation obtenue en supprimant dans la table les colonnes des attributs qui n'appartiennent pas s et en ne gardant dans la nouvelle table ainsi dfinie qu'une seule occurrence de chaque tuple.
58. 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 r par les oprateurs et les oprandes.
La slection dfinie par F sur r, note sF (r), est une relation, ensemble des tuples de r qui vrifient la formule F.
59. 59 F1 : secteur = 17 et vente > 4 000
F2 : date <= 3/02 et vendeur = JFDF1 : secteur = 17 et vente > 4 000
F2 : date <= 3/02 et vendeur = JFD
60. 60 Intersection Intersection de 2 tables r1 r2 = r1 - ( r1 - r2) est dfinie comme une table qui est constitue des tuples communs aux relations r1 et r2
61. 61 Jointure Jointure de 2 relations r et s suivant la relation i q j (? est un oprateur, i et j les rangs des attributs respectivement dans r et s) :ensemble des tuples du produit cartsien r x s qui satisfont la relation i ? j. On la note :
r s
i q j
i et j peuvent tre remplacs par le nom des attributs correspondants.
Cas particulier : quijointure
r s
i = j
62. 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 les attributs 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 les identifiants du ou des segments propritaires.
Une relation issue d'un segment membre n'ayant pas d'identifiant, se voit attribuer, comme cl, le ou les identifiants du ou des segments propritaires et comme proprits les attributs du segment membre.
63. 63 Les formes normales
64. 64 Bibliothque (hypothse : 1 auteur/livre) Rappel des notions vues :
vocabulaire : attribut, arit,
demander de critiquer cette faon de stocker les donnes
3 modles pour 1 livre/auteurRappel des notions vues :
vocabulaire : attribut, arit,
demander de critiquer cette faon de stocker les donnes
3 modles pour 1 livre/auteur
65. Rappel dalgbre relationnelle :
- Dcomposition par projection
- Recomposition par jointureRappel dalgbre relationnelle :
- Dcomposition par projection
- Recomposition par jointure
66. 66 Dcomposition d'une relation universelle Relation universelle:
Table unique dont le schma est compos par union de tous les attributs des tables constituant la base
Dcomposition:
Remplacement dune relation R(A1,A2, ,Am) par une collection de relations R1, R2, , Rn obtenues par des projections de R sur des sous-ensembles dattributs dont lunion contient tous les attributs de R
Dcomposition sans perte:
Dcomposition dune relation R en R1, R2, , Rn
telle que on ait: R = R1 R2 Rn
67. 67 Relation Voiture
68. 68 Dcomposition 1
69. 69 Dcomposition 2 Peut-on retrouver le type, la marque, la puissance, la couleur de chaque voiture ?Peut-on retrouver le type, la marque, la puissance, la couleur de chaque voiture ?
70. Relations Vin1 et Vin2 Impossible de retrouver :- le degr dun vin de numro donn
- la qualit dun cru dune anne particulire
exemple BD cole et socit (relation universelle, puis 3 schmas dabord 1 cole, 1 socit, puis n et n )(table au tableau faire ensemble: NN, nom, prnom, ddn, cole,info cole,socit,info socit)
On peut :
- soit envisager la dcomposition directement
- soit faire le MCD, puis revenir au relationnel
Exemple Vente de produits (table au tableau faire ensemble: code_fournisseur, code_produit, description_produit, prix_produit, adresse_fournisseur) (relation universelle, puis 3 schmas)
Impossible de retrouver :- le degr dun vin de numro donn
- la qualit dun cru dune anne particulire
exemple BD cole et socit (relation universelle, puis 3 schmas dabord 1 cole, 1 socit, puis n et n )(table au tableau faire ensemble: NN, nom, prnom, ddn, cole,info cole,socit,info socit)
On peut :
- soit envisager la dcomposition directement
- soit faire le MCD, puis revenir au relationnel
Exemple Vente de produits (table au tableau faire ensemble: code_fournisseur, code_produit, description_produit, prix_produit, adresse_fournisseur) (relation universelle, puis 3 schmas)
71. 71 Dpendance fonctionnelle Dpendance fonctionnelle:
Soit une relation R(A1,A2, , An), et X et Y des sous-ensembles de {A1,A2, , An}.
Y dpend fonctionnellement de X (X?Y)
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 relation R(A1,A2, , An) tel que
X ? A1 A2 An
Il nexiste pas de sous-ensemble Y ? X tel que Y ? A1 A2 An
Exemples :
Livres
voituresExemples :
Livres
voitures
72. 72 Dpendance fonctionnelle Dpendance fonctionnelle lmentaire:
Dpendance fonctionnelle de la forme
X ? A, o A est un attribut unique
nappartenant pas X
et o il nexiste pas X ? X tel que
X ? A Ecrire les dpendances F lm. trouves ensemble au tableau(graphe-entourer les noms pour ne pas confondre avec Bachman) :
exemple biblio: titre ? date achat, titre ? prix TVAC, titre ? auteur, auteur ? info auteur;
par transitivit: titre ? info auteur
exemple voiture: NV ? type, NV ? couleur, type ? marque, type ? puissance;
par transitivit: NV ? marque, NV ? puissance
Ecrire les dpendances F lm. trouves ensemble au tableau(graphe-entourer les noms pour ne pas confondre avec Bachman) :
exemple biblio: titre ? date achat, titre ? prix TVAC, titre ? auteur, auteur ? info auteur;
par transitivit: titre ? info auteur
exemple voiture: NV ? type, NV ? couleur, type ? marque, type ? puissance;
par transitivit: NV ? marque, NV ? puissance
73. 73 Forme normale 1 Pre (numro national, nom, prnom, prnom_enfants)
Autres exemples :
personne (NN,nom,prnom, professions)
personne (NN,nom,prnom,sports_pratiqus)
Autres exemples :
personne (NN,nom,prnom, professions)
personne (NN,nom,prnom,sports_pratiqus)
74. 74 Forme normale 1
75. 75 Forme normale 2 Tarif (nom, adresse, article, prix) dterminer ensemble la cl, les DF :
Q: que pensez-vous de cette relation? cl ? DF? quel pourrait tre le problme de cohrence de BD?
RA: adresse dpend fonctionnellement de nom et pas darticle.
Q: que faut-il faire pour viter ce problme de redondance, source dincohrence?
RA: dcomposition de la relation dterminer ensemble la cl, les DF :
Q: que pensez-vous de cette relation? cl ? DF? quel pourrait tre le problme de cohrence de BD?
RA: adresse dpend fonctionnellement de nom et pas darticle.
Q: que faut-il faire pour viter ce problme de redondance, source dincohrence?
RA: dcomposition de la relation
76. 76 Forme normale 2 1. Au tableau (schma dune relation R): R: K1 K2 X Y
cl K = K1,K2
K ? X
K2 ? Y
Do la dcomposition en 2 relations (R1(K1,K2,X) et R2(K2,Y))
2. Discussion sur la suppression (lajout) de tuple de R1 ou R2 :
suppression R1 OK, R2 NOK
ajout R1 NOK, R2 OK
Conclusion : Tout nom de R1 doit apparatre dans R2 (intgrit rfrentielle), mais
tout nom de R2 ne doit pas ncessairement apparatre dans R1
1. Au tableau (schma dune relation R): R: K1 K2 X Y
cl K = K1,K2
K ? X
K2 ? Y
Do la dcomposition en 2 relations (R1(K1,K2,X) et R2(K2,Y))
2. Discussion sur la suppression (lajout) de tuple de R1 ou R2 :
suppression R1 OK, R2 NOK
ajout R1 NOK, R2 OK
Conclusion : Tout nom de R1 doit apparatre dans R2 (intgrit rfrentielle), mais
tout nom de R2 ne doit pas ncessairement apparatre dans R1
77. 77 Forme normale 3 Vente(date, vendeur, nom_client, adresse_client)
Q: que pensez-vous de cette relation? DF? quel pourrait tre le problme de cohrence de BD?
RA: adresse client fonctionnellement de nom client.
Q: que faut-il faire pour viter ce problme de redondance, source dincohrence?
RA: dcomposition de la relation
Q: que pensez-vous de cette relation? DF? quel pourrait tre le problme de cohrence de BD?
RA: adresse client fonctionnellement de nom client.
Q: que faut-il faire pour viter ce problme de redondance, source dincohrence?
RA: dcomposition de la relation
78. 78 Forme normale 3 1. Au tableau (schma dune relation R): R: K X Y Z
K ? X, K? Y, K ? Z
X ? Z
Do la dcomposition en 2 relations (R1(K,X,Y) et R2(X,Z))
2. Discussion sur la suppression (lajout) de tuple de R1 ou R2 :
supression R1 OK, R2 NOK
ajout R1 NOK, R2 OK
Conclusion : Tout nom de R1 doit apparatre dans R2 (intgrit rfrentielle), mais
tout nom de R2 ne doit pas ncessairement apparatre dans R2
3. Exemple voiture : pas en 3NF ? dcomposition1. Au tableau (schma dune relation R): R: K X Y Z
K ? X, K? Y, K ? Z
X ? Z
Do la dcomposition en 2 relations (R1(K,X,Y) et R2(X,Z))
2. Discussion sur la suppression (lajout) de tuple de R1 ou R2 :
supression R1 OK, R2 NOK
ajout R1 NOK, R2 OK
Conclusion : Tout nom de R1 doit apparatre dans R2 (intgrit rfrentielle), mais
tout nom de R2 ne doit pas ncessairement apparatre dans R2
3. Exemple voiture : pas en 3NF ? dcomposition
79. 79 Forme normale de Boyce-Codd Q : Bien conu ?
RA : non, car comment encoder un prof (avec le sport associ) si pas encore dinscrit son stage ?
Q: quelles sont les dpendances fonctionnelles? quel pourrait tre le problme de cohrence de BD?
RA: personne,sport ? entraneur, entraneur ? sport
Q: que faut-il faire pour viter ce problme de redondance, source dincohrence?
RA: dcomposition de la relation:
stage (personne, entraneur)
entraneurs (entraneur, sport)
Q: ny-a-t-il pas perte dune DF?
RA: oui: personne,sport ? entraneur
Q : Bien conu ?
RA : non, car comment encoder un prof (avec le sport associ) si pas encore dinscrit son stage ?
Q: quelles sont les dpendances fonctionnelles? quel pourrait tre le problme de cohrence de BD?
RA: personne,sport ? entraneur, entraneur ? sport
Q: que faut-il faire pour viter ce problme de redondance, source dincohrence?
RA: dcomposition de la relation:
stage (personne, entraneur)
entraneurs (entraneur, sport)
Q: ny-a-t-il pas perte dune DF?
RA: oui: personne,sport ? entraneur
80. 80 Forme normale de Boyce-Codd Mthode expositive (synthse)
Au tableau (schma dune relation R): R: K1 K2 X Y
cl K = K1,K2
K ? X, K? Y
X ? K2
Do la dcomposition en 2 relations (R1(K1,X,Y) et R2(X,K2))
Exemple 1:
K1 = personne
K2 = sport
X = entraneur
Y = nb h/jour
Perte des DF : K ? X, K? Y
Exemple 2:
K1 = rue
K2 = ville
X = code_postal
Y = nb maisons
Perte des DF : K ? X, K? Y
Exercices de dcomposition (cfr. Syllabus) :
exercices 1 et 5: emprunts de livres :
cl
DF
1NF,2NF,3NF
BCNF
Demander de rflchir domicile sur lemprunt de livre (n exemplaires/livre : relation universelle, dcomposition)
Exercices de MCD :
Produits par marque
Rservation de terrains de tennis
Bar: facturer les boissons consommes pendant un certain temps
Mthode expositive (synthse)
Au tableau (schma dune relation R): R: K1 K2 X Y
cl K = K1,K2
K ? X, K? Y
X ? K2
Do la dcomposition en 2 relations (R1(K1,X,Y) et R2(X,K2))
Exemple 1:
K1 = personne
K2 = sport
X = entraneur
Y = nb h/jour
Perte des DF : K ? X, K? Y
Exemple 2:
K1 = rue
K2 = ville
X = code_postal
Y = nb maisons
Perte des DF : K ? X, K? Y
Exercices de dcomposition (cfr. Syllabus) :
exercices 1 et 5: emprunts de livres :
cl
DF
1NF,2NF,3NF
BCNF
Demander de rflchir domicile sur lemprunt de livre (n exemplaires/livre : relation universelle, dcomposition)
Exercices de MCD :
Produits par marque
Rservation de terrains de tennis
Bar: facturer les boissons consommes pendant un certain temps
81. 81 PARTIE III
82. 82 PREREQUIS Relire le document ConceptionObjet.pdf de P. Bourmanne (cours de POO)
83. 83 INTRODUCTION PLAN :
Introduction : lapproche objet
UML : introduction
UML : dfinition
UML : les trois points de vue de la modlisation
UML : les diagrammes
84. 84 Introduction : lapproche objet La mtaphore du Client et du Serveur :syllabus Concepts et mthodes de la programmation par objets dA. Clarinval
Un programme orient objets est conu et ralis comme un rseau dobjets clients et serveurs les uns des autres, qui schangent des messages.
Les objets schangent des MESSAGES
La RESPONSABILITE est requise auprs de lobjet RECEPTEUR. La responsabilit est dclenche la rception dun message
OO : ensemble dobjets qui collaborent entre eux pour mener bien des activits fonctionnelles
La CLASSE porte le nom du CONCEPT mtier
Si UML ? programmation en OO (et pas en Pascal, C, )
Ex:
Un abri de jardin a brl. Cela constitue un sinistre. Lobjet sinistre demande au contrat dassurance si labri de jardin lui appartient, car lui nest pas responsable de cette information. Concepts : sinistre, contrat, couverture, sinistr (=abri de jardin)
Un homme chotte dans un ballon. Le ballon (selon sa forme ronde, ovale, ) a la responsabilit de rouler (ou non) vers lendroit voulu .Le ballon modifie son tat, il en est responsable. Lhomme donne lnergie au ballon
Aprs UML, voir :
- design patterns
- refactoring
Les objets schangent des MESSAGES
La RESPONSABILITE est requise auprs de lobjet RECEPTEUR. La responsabilit est dclenche la rception dun message
OO : ensemble dobjets qui collaborent entre eux pour mener bien des activits fonctionnelles
La CLASSE porte le nom du CONCEPT mtier
Si UML ? programmation en OO (et pas en Pascal, C, )
Ex:
Un abri de jardin a brl. Cela constitue un sinistre. Lobjet sinistre demande au contrat dassurance si labri de jardin lui appartient, car lui nest pas responsable de cette information. Concepts : sinistre, contrat, couverture, sinistr (=abri de jardin)
Un homme chotte dans un ballon. Le ballon (selon sa forme ronde, ovale, ) a la responsabilit de rouler (ou non) vers lendroit voulu .Le ballon modifie son tat, il en est responsable. Lhomme donne lnergie au ballon
Aprs UML, voir :
- design patterns
- refactoring
85. 85 UML : introduction UML = Unified Modeling Language (langage unifi pour la modlisation objet)
Norme de standardisation des applications dveloppes selon le concept de programmation objet, labore en 1994 par les Amricains G. BOOCH et J. RUMBAUGH et le Sudois I. JACOBSON pour la socit "Rational".Cette norme - base sur la modlisation et la formalisation de projets informatiques, permettant de quantifier les besoins, ressources et relations existantes entres eux - facilite la r-utilisation des composants 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 Unified : plusieurs mthodologies ont converg vers UMLUnified : plusieurs mthodologies ont converg vers UML
86. 86 UML : dfinition UML est un langage danalyse et de conception se basant sur la cration de modles
successifs de plus en plus affins afin de mettre en place une solution au problme
tudi. Le cadre de cette modlisation est orient objet.
UML a pour objectif de se rendre indpendant de certaines parties techniques comme par
exemple le langage de programmation.
Les diffrentes phases du dveloppement avec UML peuvent tre reprsentes au
moyen dune srie de diagrammes permettant de comprendre de manire visuelle les
concepts 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 du
cas 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 aspect
particulier du systme.
Les diagrammes sont crs par un modlisateur (analyste);
ils doivent gnralement tre valids par un expert mtier (non informaticien)
UML = moyen dexpression, de communication
<> recette, processus de dveloppement logiciel
= langue pratique dans le processus de dveloppement logiciel (ex. RUP)
But UML : automatiser des systmes dinformation, de gestion humains
Etapes : 1. comprendre un mtier, matriser les concepts mtier
2. modliser (abstrait) NB : Abstraction sert comprendre, synthtiser, simplifier ce quon a compris ? modliser sa comprhension du systme par UML: CU, diagr. Classes, diagr. Objets, catalogue mtier, glossaire
Remarques : 1) Approche mtier : on voit des objets plutt que des classes. Ils sont dans leur contexte. Analyse des objets dans leur contexte ? classe = abstraction(essentiel, pas les dtails), conceptualisation
2) Le responsable mtier donne souvent les dtails, ne voit pas labstraction; il noie lanalyste de dtails
UML = moyen dexpression, de communication
<> recette, processus de dveloppement logiciel
= langue pratique dans le processus de dveloppement logiciel (ex. RUP)
But UML : automatiser des systmes dinformation, de gestion humains
Etapes : 1. comprendre un mtier, matriser les concepts mtier
2. modliser (abstrait) NB : Abstraction sert comprendre, synthtiser, simplifier ce quon a compris ? modliser sa comprhension du systme par UML: CU, diagr. Classes, diagr. Objets, catalogue mtier, glossaire
Remarques : 1) Approche mtier : on voit des objets plutt que des classes. Ils sont dans leur contexte. Analyse des objets dans leur contexte ? classe = abstraction(essentiel, pas les dtails), conceptualisation
2) Le responsable mtier donne souvent les dtails, ne voit pas labstraction; il noie lanalyste de dtails
87. 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
Analyse : - pas de vrification comme dans la programmation (o compilation, test de lexcutable)
- subjectif (analyste = crivain)
Analyse : - pas de vrification comme dans la programmation (o compilation, test de lexcutable)
- subjectif (analyste = crivain)
88. 88 UML : OBJECTIFS ET UTILISATION Objectif : Fournir une reprsentation de concepts qui facilite et rende efficace la communication entre les diffrents protagonistes dun projet :
Informaticiens
Experts mtier
Utilisateurs
Utilisations :
Analyser et concevoir des logiciels informatiques
Communiquer sur des processus logiciels ou dentreprises
Prsenter sous forme dtaille lanalyse dun systme (reprsentation graphique, vue dun systme)
Documenter un systme, un processus ou une organisation existants
89. 89 UML : les 3 points de vue de la modlisation FONCTIONNEL
diagramme de cas dutilisation
STATIQUE DYNAMIQUE
diagramme de classes diagramme dtats
diagramme de packages diagramme dactivit
diagramme dobjets diagramme de squence
diagramme de structure composite diagramme de collaboration (ou de communication)
90. 90 UML : les 3 points de vue de la modlisation (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 peuvent utiliser le systme.
91. 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 objets
modliss. 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 les
diffrents acteurs, leurs compositions et leurs associations. Une classe est la description
dun 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.
92. 92 UML : diagrammes (suite) Point de vue dynamique :
Diagramme dtats : Ce type de diagramme dcrit les diffrentes transitions dtats qui
soprent au cours du temps de vie dun objet. Un tat se caractrise par sa dure et sa
stabilit, il reprsente une conjonction instantane des valeurs des attributs d'un objet et
des 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 lieu
dans 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 certaines
oprations. Le diagramme permet donc de reprsenter la succession des oprations au
cours des flux de travail (workflows).
93. 93 UML : diagrammes (suite) Diagrammes dinteraction : Le comportement dynamique des objets et des acteurs est
reprsent au moyen des diagrammes dinteraction :
a) Diagramme de squence : Dans ce type de diagramme, il se dgage une structure
temporelle des messages qui sont changs entre les diffrents objets impliqus dans la
ralisation dun cas dutilisation. La dimension verticale montre les enchanements
temporels des messages. Les rponses des diffrents objets aux messages reus sont
aussi clairement reprsentes et comprhensibles (dynamique de fonctionnement).
b) Diagramme de collaboration : Les diagrammes de collaboration sont une autre forme
de reprsentation du comportement dynamique des objets illustrant la ralisation dun cas
dutilisation. Cette reprsentation est quivalente, mais elle se focalise davantage sur
lorganisation des objets : ils mettent en vidence les relations entre objets par la
disposition des objets.
94. 94 UML : POINT DE VUE STATIQUE PLAN:
Concepts et dfinitions de base:
Diagramme de classes
Classe et objet
Attribut et opration
Association
Agrgation et composition
Gnralisation, super-classe, sous-classe
Dpendance
Package
Exercice : diagrammes de classes
95. 95 DIAGRAMME DE CLASSE Objectif : dcrire la structure des entits manipules par les utilisateurs
Reprsente la structure dun code orient objet
Reprsentation :
Classes (avec attributs et oprations), relies par:
des associations, ou
des gnralisations Diagr. De classe : modlisation des concepts du domaine
Ex. organes du corps humain : chaque organe assume ses responsabilitsDiagr. De classe : modlisation des concepts du domaine
Ex. organes du corps humain : chaque organe assume ses responsabilits
96. 96 REPRESENTATION DUNE CLASSE DANS UN DIAGRAMME DE CLASSE UML 2 p. 76
Muller p. 92 et 93UML 2 p. 76
Muller p. 92 et 93
97. 97 CLASSE ET OBJET Classe :
Reprsente la description abstraite dun ensemble dobjets possdant les mmes caractristiques ? type dobjets
Exemples : classe Voiture
classe Personne
Objet :
Entit aux frontires bien dfinies, possdant une identit et encapsulant un tat et un comportement? instance (occurrence) dune classe
Exemples : ma voiture est une instance de la classe Voiture Ch. Mathy est une instance de la classe Personne
Notation dune classe et dun objet: Clarinval : concepts p. 12 : Client, Compte
Notation dune classe et dun objet: Clarinval : concepts p. 12 : Client, Compte
98. 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
Notation dune classe avec attributs et opration : Clarinval : concepts p. 11 : Client
Attribut driv : Muller P. 94
Notation dune classe avec attributs et opration : Clarinval : concepts p. 11 : Client
Attribut driv : Muller P. 94
99. 99 Visibilit des attributs et des oprations + public
# protected
- private
Soulign : static (variables et oprations de classe) Ex.
opration prive : un message envoy soi-mme
Attribut :
donne rmanente
Donne manipule :
Dans les effets des diagr. dtats
Dans les conditions des diagr. dtatsEx.
opration prive : un message envoy soi-mme
Attribut :
donne rmanente
Donne manipule :
Dans les effets des diagr. dtats
Dans les conditions des diagr. dtats
100. 100 ASSOCIATION Association:
Reprsente une relation smantique durable entre 2 classes
Exemple : la relation possde est une association entre les classes Personne et Voiture : une personne peut possder des voitures Inversion de la position des cardinalits par rapport au modle entits-associationsInversion de la position des cardinalits par rapport au modle entits-associations
101. 101 ASSOCIATION : caractristiques Lassociation est nomme (indication en italique - sur le type de la relation).
Mme si le terme qui nomme lassociation semble privilgier un sens, une association entre concepts est par dfaut bidirectionnelle. Donc, implicitement, lexemple cit inclut galement le fait quune voiture est possde par une personne. Par dfaut, un lien est donc navigable dans les 2 sens.Un objet (dit objet utilisateur) peut utiliser les services dun autre objet (dit objet utilis) selon le sens de navigation indiqu par lassociation. Pour utiliser un service dun objet, lobjet utilisateur envoie un message lobjet utilis.
Notation : UML 2 P. 78
Rle : Muller P. 100-101
Exemple dutilisation : Clarinval : concepts p. 11 : Client et Compte + cout (utilisation du service <<)
Pour pouvoir utiliser les services dun objet :
- objet serveur connu mis en accs global (ex. cout)
- objet rfrenc ( = donne membre de la classe utilisatrice : par valeur, adresse, rfrence ou identifiant = cl trangre (espaces distincts))
- objet reu en paramtre (dpendance vers lobjet reu) : association momentane : la rfrence (pointeur ou identifiant) de lobjet serveur est pass comme paramtre lopration clienteNotation : UML 2 P. 78
Rle : Muller P. 100-101
Exemple dutilisation : Clarinval : concepts p. 11 : Client et Compte + cout (utilisation du service <<)
Pour pouvoir utiliser les services dun objet :
- objet serveur connu mis en accs global (ex. cout)
- objet rfrenc ( = donne membre de la classe utilisatrice : par valeur, adresse, rfrence ou identifiant = cl trangre (espaces distincts))
- objet reu en paramtre (dpendance vers lobjet reu) : association momentane : la rfrence (pointeur ou identifiant) de lobjet serveur est pass comme paramtre lopration cliente
102. 102 ASSOCIATION : caractristiques (suite)
Indication de multiplicit aux 2 extrmits de lassociation: intervalle dentiers >= 0 ou * (= nombre quelconque) : nombre dobjets pouvant participer la relation avec un objet de lautre classe.Lindication par dfaut (non note) est 1..1 que lon peut galement noter 1.Exemple : une personne peut possder entre 0 et un nombre quelconque de voitures; une voiture est possde par une seule personne
Possibilit dindiquer le rle jou par chaque objet dans la relation.Ex. entre les classes Societe et Personne : employeur, employeLa personne voit la socit comme son employeur; la socit voit la personne comme son employEn gnral, les rles sont indiqus si plusieurs associations relient 2 classes.
103. 103 Valeurs conventionnelles de multiplicit
104. 104 AGREGATION Agrgation : cas particulier dassociation non symtrique* : une classe joue un rle prdominant par rapport lautre. Exemple courant: agrgation exprimant une relation de contenance.Inutile de nommer cette association : implicitement, elle signifie : contient, est compos de
* lagrgat utilise les services du composant, pas linverse Notation = losange plein ou creux
Muller : immeuble p. 107
Notation = losange plein ou creux
Muller : immeuble p. 107
105. 105 AGREGATION FORTE: composition Agrgation forte :
agrgation non partage :un lment ne peut appartenir qu un seul objet, dit agrgat compositeDonc, multiplicit du ct de lagrgat : 1
Responsabilit de lagrgat composite concernant 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 Notation = losange plein
Notation = losange plein
106. 106 AGREGATION FAIBLE Agrgation faible :
agrgation partageable
Lexistence du composant ne dpend pas de celle du compos ? un mme composant peut faire partie de plusieurs agrgats
Exemples : une quipe sportive est compose de personnesune classe de 2me info est compose de personnes
Notation = losange creux
Notation = losange creux
107. 107 GENERALISATION super-classe : classe plus gnrale relie une ou plusieurs autres classes spcialises (sous-classes) par une relation de gnralisation
Les sous-classes hritent des proprits de leur super-classe et peuvent comporter des proprits spcifiques supplmentaires
Exemples : les voitures, les bateaux, les avions sont des moyens de transport
Une classe abstraite ne sinstancie pas. Elle se note en italique. Notation : UML 2 P 79Notation : UML 2 P 79
108. 108 GENERALISATION : EXEMPLE
109. 109 DEPENDANCE Relation dutilisation unidirectionnelle
Lien temporaire entre objets : association momentane
Par exemple : un objet A:a reoit en paramtre dun message une rfrence sur un objet C:c? dpendance de A vers C (A utilise C)
A > C Clarinval : Concepts p. 13Clarinval : Concepts p. 13
110. 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 de packages diffrents)
Exemple : package Clientle et package Voitures Notation : UML 2 p 80Notation : UML 2 p 80
111. 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 mots concatns commenant par une majusculeEx. : nom, numTel, heureDepart
Nom dassociation en italique, et souvent par forme verbale (active ou passive) avec ventuellement un petit triangle dirig vers la classe dsigne par la forme verbaleEx. entre les classes Societe et Personne: <Travaille pour, <Est employee par
Nom de rle : forme nominale, ou participe prsent/passEx. entre les classes Societe et Personne : employeur, employeEx. entre les classes Client et Compte :titulaire (ou possdant), possd
Prfrable : pas daccents, de caractres spciaux Rle : Muller P. 100Rle : Muller P. 100
112. 112 EXERCICE Etude dun systme de rservation de vol (cf. pages 80 et 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
Convention de nommage p.96
Instance persistante p. 94
Attribut driv p. 97
Classe dassociation
Contrainte ({ordered}) p. 84 et 98
Qualificatif p. 98
Donner nonc et solution p. 104 ou 111 en copie
Convention de nommage p.96
Instance persistante p. 94
Attribut driv p. 97
Classe dassociation
Contrainte ({ordered}) p. 84 et 98
Qualificatif p. 98
Donner nonc et solution p. 104 ou 111 en copie
113. 113 A FAIRE A DOMICILE Lire le chapitre 1 Objet et message du syllabus Concepts et mthodes de la programmation par objets dA. Clarinval
Lire le chapitre 3 Le schma conceptuel de donnes : 3 Apports du paradigme objet du syllabus Mthodes danalyse dA. Clarinval Exercices (UML2 P. 118 ou EIT-UMLOOExes.ppt page 15)
Un dossier contient des fichiers (agrgation forte (ou faible si pas destruction des fichiers la destruction du dossier): 1 ----------- 0 ..* vers fichiers + vers lui-mme)
Une pice contient des murs (agrgation faible : 1..2 ----------- 1 ..*)
Exercices (UML2 P. 118 ou EIT-UMLOOExes.ppt page 15)
Un dossier contient des fichiers (agrgation forte (ou faible si pas destruction des fichiers la destruction du dossier): 1 ----------- 0 ..* vers fichiers + vers lui-mme)
Une pice contient des murs (agrgation faible : 1..2 ----------- 1 ..*)
114. 114 UML : POINT DE VUE FONCTIONNEL PLAN :
Concepts et dfinitions de base:
Acteur (principal/secondaire)
Cas dutilisation (CU)
Scnario
Exemples de cas dutilisation
115. Exemple de diagramme de cas dutilisation
116. Exemple de diagramme de cas dutilisation Attention : Ne pas confondre la modlisation des actes humains (qui nest pas faire ou alors spcifier quil sagit dune action humaine) et la modlisation du systme informatique ( modliser !).Bien dfinir CE QUE lapplication informatique va faire, quoi va servir lapplication
CU = CE QUE doit faire le systme
Facile dexpliquer UML au client. Un dessin stimule lesprit.
Buts UML : diminuer les cots de dveloppement
CU : haut niveau pour se concentrer sur lessentiel
Diagrammes : diffrentes vues du systme
La vrit est dans le code : cest par lutilisation de lexcutable que lon voit si cela fonctionne, si on a bien pens
Attention : Ne pas confondre la modlisation des actes humains (qui nest pas faire ou alors spcifier quil sagit dune action humaine) et la modlisation du systme informatique ( modliser !).Bien dfinir CE QUE lapplication informatique va faire, quoi va servir lapplication
CU = CE QUE doit faire le systme
Facile dexpliquer UML au client. Un dessin stimule lesprit.
Buts UML : diminuer les cots de dveloppement
CU : haut niveau pour se concentrer sur lessentiel
Diagrammes : diffrentes vues du systme
La vrit est dans le code : cest par lutilisation de lexcutable que lon voit si cela fonctionne, si on a bien pens
117. 117 Diagramme de cas dutilisation Un diagramme de cas dutilisation :
dcrit
les acteurs
les cas dutilisation
le systme
contient
des descriptions textuelles
118. 118 Le systme Le systme est un ensemble de cas dutilisation
Le systme ne comprend pas les acteurs.
119. 119 Acteur lment extrieur au systme qui interagit avec le systme
Rle typique jou par un humain ou un systme connexe par rapport au systme
Ex. : un client, un guichetier, un responsable maintenance,
Une mme personne peut jouer plusieurs rles
Ex. : Maurice est directeur mais peut faire le guichetier
Plusieurs personnes peuvent jouer un mme rle
Ex. : 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
120. 120 Acteur Est reprsent par:
un petit bonhomme (stick man) avec son nom dessous ou
par un rectangle contenant le mot-cl << actor>> 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 ?
121. 121 Description des acteurs Pour chaque acteur :
choisir un identificateur reprsentatif de son rle
donner une brve description textuelle
122. 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
...
123. 123 Cas dutilisation Un cas dutilisation (use case) dcrit:
Une fonctionnalit du systme vue par un acteur (et utile ce dernier)
une suite dinteractions entre un utilisateur et le systme qui produit un rsultat observable et intressant pour un acteur particulier
Un comportement attendu du systme du point de vue dun ou de plusieurs acteurs
Un service rendu par le systme
Analyse : CU dcrit CE QUE le futur systme devra faire, sans spcifier COMMENT il le fera
124. 124 Cas dutilisation Est reprsent par un ovale. Le nom du cas est inclus dans lellipse ou 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 manires dutiliser le systme ?
UML 2 p. 17UML 2 p. 17
125. 125 Description des cas dutilisation Pour chaque cas dutilisation
choisir un identificateur reprsentatif : commencer par un verbe linfinitif, puis un complment du point de vue de lacteur (pas du point de vue du systme)
raliser une description dtaille plus ou moins formelle : prciser ce que fait le systme, ce que fait lacteur
Les cas dutilisation ne doivent pas se chevaucher
Si un cas dutilisation concerne beaucoup dacteurs, il faut probablement le dcouper en plusieurs CU
Dtails du CU (pas dans diagrammes de CU !) :
Par le scnario
Diagr. Activit
Diagr. Squence
Un ACTEUR INITIE un CU
Ne pas trop dtailler un CU : ce serait polluer le diagramme de CU
CU: donner un verbe pour indiquer lintention de lacteur- le rsultat du CU doit tre tangible.
Objectif du CU: servir de support lactivit humaine pour obtenir un rsultat tangibleDtails du CU (pas dans diagrammes de CU !) :
Par le scnario
Diagr. Activit
Diagr. Squence
Un ACTEUR INITIE un CU
Ne pas trop dtailler un CU : ce serait polluer le diagramme de CU
CU: donner un verbe pour indiquer lintention de lacteur- le rsultat du CU doit tre tangible.
Objectif du CU: servir de support lactivit humaine pour obtenir un rsultat tangible
126. 126 Exemple de description dtaille dun CU: sommaire didentification
127. 127 Exemple de description dtaille dun CU: description des scnarios A faire au tableau (p. 28 et 29 donnes en copie ? Non car ne correspond pas notre systme belge ? faire ensemble les tapes pour un GAB connu):
UML2 P. 29 : scnario :
1) texte par tapes numrotes
2) 2 colonnes : tapes numrotes, colonne 1 = les acteurs, colonne 2 = le systme
Enchanements alternatifs et derreur : UML2 p. 30 33A faire au tableau (p. 28 et 29 donnes en copie ? Non car ne correspond pas notre systme belge ? faire ensemble les tapes pour un GAB connu):
UML2 P. 29 : scnario :
1) texte par tapes numrotes
2) 2 colonnes : tapes numrotes, colonne 1 = les acteurs, colonne 2 = le systme
Enchanements alternatifs et derreur : UML2 p. 30 33
128. 128 Exemple de description dtaille dun CU: exigences non-fonctionnelles
129. 129 Exemple de description dtaille dun CU: besoins IHM
130. 130 Scnario CU = ensemble de scnarios dutilisation dun systme relis par un but commun du point de vue dun acteur
Le CU a un dbut et une fin identifis
Scnario = succession particulire denchanements, sexcutant du dbut la fin du CU.
Un enchanement = unit de squence dactions
Un CU contient en gnral:
un scnario nominal
diffrents scnarios alternatifs (qui se terminent de faon normale)
des scnarios derreur (qui se terminent en chec) UML 2 p. 18UML 2 p. 18
131. 131 DESCRIPTION TEXTUELLE DUN CU (en rsum)
Non normalis par UML
Exemple:
1) Identification :
Titre
Rsum
Dates de cration/modification
Version
Responsable
2) Description des scnarios (nominal, alternatifs, derreur) + prconditions + postconditions
3) Optionnel : Exigences non-fonctionnelles (fiabilit, frquence, confidentialit, intgrit, ) et besoins IHM
132. 132 Acteurs principaux et secondaires Acteur principal dun CU
Celui pour qui le CU produit un rsultat observable
A gauche des CU
Rle indiqu ventuellement sur lassociation ct acteur : <<principal>>(valeur par dfaut)
Acteur secondaire dun 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 : <<secondaire>>
Ex. : systme dauthentification appel par le distributeur de billets UML2 p. 27 + gnralisation p.26, et amlio p. 28Bien expliquer ce qui se passe lors du retrait dargent dun client banque dun client autre banque
Solution complte p. 45UML2 p. 27 + gnralisation p.26, et amlio p. 28Bien expliquer ce qui se passe lors du retrait dargent dun client banque dun client autre banque
Solution complte p. 45
133. 133 Relations entre acteurs et cas dutilisation Relation dassociation (participe ࠻) : Lien entre un acteur et un cas dutilisation quil peut excuter
Un cas dutilisation doit tre reli au moins un acteur
134. 134 Relations entre cas dutilisation
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 le comportement de B
Le CU de base B incorpore explicitement le CU A de faon obligatoire un endroit spcifi dans ses enchanements
Le CU inclus peut porter le strotype fragment
135. 135 Relations entre cas dutilisation (2)
Relation dextension optionnelle : le CU de base B incorpore un CU A de faon optionnelle :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
Complter au tableau par le point dextension : UML2 p. 42Complter au tableau par le point dextension : UML2 p. 42
136. 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 il ne sinstancie pas directement, mais uniquement par le biais de lun des 2 cas spcialiss
Distinguer 2 CU spcialiss ? possibilit de leur associer des acteurs secondaires diffrents
137. 137 Relations entre acteurs Uniquement relation de gnralisation/spcialisation
A est une gnralisation de B si tous les CU accessibles A sont accessibles B, mais pas linverse
138. 138 Structuration en package Si les cas dutilisation sont nombreux
les regrouper par acteur
Oprations client
Oprations administrateur
etc.
les regrouper par domaine fonctionnel
Grer les contrats
Grer les clients
Etc.
139. 139 ETAPES DE LA MODELISATION FONCTIONNELLE 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
140. 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 !) :
Navigabilit sur lassociation Exercice (EIT-UMLOOExes.ppt page 10)
Un bibliothcaire souhaite disposer dun logiciel de gestion des emprunts des
livres de sa bibliothque. En voici lorganisation :
Lemprunteur dun livre peut tre soit un employ de la bibliothque soit un
tudiant.
Pour rechercher un livre, un emprunteur peut se baser sur un auteur du livre ou
sur le titre.
Lorsquil vient au bureau demprunt, il dispose de sa carte de membre et des
livres quil souhaite emprunter.
Le bibliothcaire scanne le code barres de la carte de membre.
Le systme informatique vrifie si la dette de lemprunteur ne
dpasse pas 15.
Si cest le cas, lemprunt est refus.
Sinon, le systme vrifie le nombre de livres dj emprunts par lemprunteur.
Si la limite a t atteinte, lemprunt est refus.
Sinon, afin denregistrer lemprunt, le bibliothcaire scanne le code barres de
chaque livre emprunter.
Exercice (EIT-UMLOOExes.ppt page 10)
Un bibliothcaire souhaite disposer dun logiciel de gestion des emprunts des
livres de sa bibliothque. En voici lorganisation :
Lemprunteur dun livre peut tre soit un employ de la bibliothque soit un
tudiant.
Pour rechercher un livre, un emprunteur peut se baser sur un auteur du livre ou
sur le titre.
Lorsquil vient au bureau demprunt, il dispose de sa carte de membre et des
livres quil souhaite emprunter.
Le bibliothcaire scanne le code barres de la carte de membre.
Le systme informatique vrifie si la dette de lemprunteur ne
dpasse pas 15.
Si cest le cas, lemprunt est refus.
Sinon, le systme vrifie le nombre de livres dj emprunts par lemprunteur.
Si la limite a t atteinte, lemprunt est refus.
Sinon, afin denregistrer lemprunt, le bibliothcaire scanne le code barres de
chaque livre emprunter.
141. 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
142. 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
143. 143 DIAGRAMME DE SEQUENCE: rle Visualisation des interactions entre objets selon un point de vue temporel
Insistance sur la chronologie des envois des messages
Mise en vidence du fonctionnement du programme avec visualisation du temps UML2 p.35
De tels diagrammes seraient illisibles s'ils devaient reprsenter, dans leur entiret et leur varit, toutes les
oprations d'un programme. Ils sont donc utiliss pour schmatiser des scnarios, c'est--dire des squences
partielles d'oprations.
UML2 p.35
De tels diagrammes seraient illisibles s'ils devaient reprsenter, dans leur entiret et leur varit, toutes les
oprations d'un programme. Ils sont donc utiliss pour schmatiser des scnarios, c'est--dire des squences
partielles d'oprations.
144. 144 DIAGRAMME DE SEQUENCE: reprsentation Reprsentation des objets : UML2 p.35UML2 p.35
145. 145 DIAGRAMME DE SEQUENCE : reprsentation (suite)
Acteur principal : gauche
Objet reprsentant le systme en bote noire au milieu
Acteurs secondaires : droite
Echange de message : flche horizontale, de lmetteur vers le destinataire Exercice : Muller p. 149 : communication tlphoniqueExercice : Muller p. 149 : communication tlphonique
146. 146 DIAGRAMME DE SEQUENCE : reprsentation (suite) Flche de retour en pointill
147. 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
Exemple : UML2 p. 36 + 38
donner comme exemple (photocopie)Exemple : UML2 p. 36 + 38
donner comme exemple (photocopie)
148. 148 DIAGRAMME DE SEQUENCE : catgories 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 composants d un objet composite)
149. 149 DIAGRAMME DE SEQUENCE : plus loin Prcondition et postcondition :
Inclusion : cadre ref pour faire rfrence un autre diagramme de squence
Rptition : cadre loop
Condition : cadre alt
Exemple : UML2 p. 41 + [63 +] 65 + 67 bas
Exercices :
biblio (de EIT) (cf. #137 de CU) : 2 DSS des 2 CU
Jeu o un joueur lance 2 ds. Si le total > 6, il gagne, sinon il perdExemple : UML2 p. 41 + [63 +] 65 + 67 bas
Exercices :
biblio (de EIT) (cf. #137 de CU) : 2 DSS des 2 CU
Jeu o un joueur lance 2 ds. Si le total > 6, il gagne, sinon il perd
150. 150 DIAGRAMME DE COLLABORATION Montre les objets, les liens qui les unissent et les messages quils schangent
Mise en vidence des relations entre objets
Rem. : nappartient pas la matire de 2me
Simplifier le schma danalyse Clarinval 8.4Simplifier le schma danalyse Clarinval 8.4
151. 151 DIAGRAMME DETATS = statechart
= cycle de vie dune 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 de raction
Ncessit dtats squentiels pour prciser une chronologie dvnements
Un objet suit globalement le comportement dcrit pour sa classe Ex. feu de signalisation : 3 tats : V ? O ? R ? V nouveau (tat de dpart)
Remarque : synchronisation des diffrents feux dun carrefour ncessaire
? description de la synchronisation dans le classe Carrefour (synchronisation dpend de ltat du carrefour)
EX. facture cre, annule, Ex. feu de signalisation : 3 tats : V ? O ? R ? V nouveau (tat de dpart)
Remarque : synchronisation des diffrents feux dun carrefour ncessaire
? description de la synchronisation dans le classe Carrefour (synchronisation dpend de ltat du carrefour)
EX. facture cre, annule,
152. 152 DIAGRAMME DETATS : construction Construction :
Description du comportement nominal dun objet : squence dtats + transitions associes
Ajout des transitions dues aux comportements alternatifs ou derreur (cf. CU)
Reprsentation : graphe orient dtats et de transitions UML 2 P. 153
tat : rectangle arrondiUML 2 P. 153
tat : rectangle arrondi
153. 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
Exemples :
ampoule : tat(allum,teint)
Magasin : tat(ouvert,ferm)
Adulte(en activit, au chmage, retrait) : tat dpend
De lattribut ge
de la prsence ou non dun lien vers une socit
Eau : tat solide, liquide, gazeux
Demander de trouver des exemples et de les prsenterExemples :
ampoule : tat(allum,teint)
Magasin : tat(ouvert,ferm)
Adulte(en activit, au chmage, retrait) : tat dpend
De lattribut ge
de la prsence ou non dun lien vers une socit
Eau : tat solide, liquide, gazeux
Demander de trouver des exemples et de les prsenter
154. 154 TRANSITION Description de la raction dun objet suite un vnement
Connexion unidirectionnelle reliant 2 tats (parfois non distincts)
Passage dun tat lautre : instantan (car objet toujours dans un tat connu)
Constitution :
vnement dclencheur
Condition de garde
Effet
tat cible
155. 155 EVENEMENT Occurrence dun stimulus localis 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 (after dure)
Change event : changement de la satisfaction dune condition (when expression_boolenne)
Spcification:
Nom de lvnement
Liste des paramtres (information circulant entre objets)
Objet expditeur
Objet destinataire
Description de la signification de lvnement Ex. Muller p.162
Exemple dvnement interne : exception en cas doverflow
Cration/suppression dobjet : vnement = message (= signal)
Synchrone/asynchrone : du point de vue de lmetteur (qui doit attendre ou non la rponse du rcepteur)
Synchrone (lmetteur se met en attente de la rponse : pour changer dtat, lmetteur attend un message : la rponse du rcepteur):
le contrle passe de lmetteur au rcepteur
La transition du rcepteur est ralise
Lopration (effet) de la transition est ralise
Le rcepteur passe dans un nouvel tat
Le contrle repasse lmetteur
Ex. Muller p.162
Exemple dvnement interne : exception en cas doverflow
Cration/suppression dobjet : vnement = message (= signal)
Synchrone/asynchrone : du point de vue de lmetteur (qui doit attendre ou non la rponse du rcepteur)
Synchrone (lmetteur se met en attente de la rponse : pour changer dtat, lmetteur attend un message : la rponse du rcepteur):
le contrle passe de lmetteur au rcepteur
La transition du rcepteur est ralise
Lopration (effet) de la transition est ralise
Le rcepteur passe dans un nouvel tat
Le contrle repasse lmetteur
156. 156 MESSAGE Transmission dinformation unidirectionnelle entre lobjet metteur et lobjet rcepteur
Communication :
Synchrone(ex.: call event)
Asynchrone (ex.: envoi dun message)
La rception du message est un vnement trait par le rcepteur
157. 157 CONDITION (ou condition de garde) Expression boolenne qui doit tre VRAIE lorsque lvnement arrive pour que la transition soit dclenche
Concerne par :
Attributs de lobjet
Paramtres de lvnement dclencheur
1 vnement ? plusieurs transitions possibles, si conditions de garde diffrentes
Gardes dun vnement : mutuellement exclusives
Notation : [condition]
Ex. : 1) voiture chez le vendeur :
- tat 1 : en attente (dtre prpare, dtre envoye la casse, )
- vnement = vente [ une personne]? effet = prparation (lavage, )
[ une socit de casse] ? effet = retrait des ustensiles (triangle, radio, )
- tat 2 : voiture prpare
- tat 3 : voiture vide
2) Muller p. 163 : chaud
3) demander dautres exemplesEx. : 1) voiture chez le vendeur :
- tat 1 : en attente (dtre prpare, dtre envoye la casse, )
- vnement = vente [ une personne]? effet = prparation (lavage, )
[ une socit de casse] ? effet = retrait des ustensiles (triangle, radio, )
- tat 2 : voiture prpare
- tat 3 : voiture vide
2) Muller p. 163 : chaud
3) demander dautres exemples
158. 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 la classe 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
159. 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 de sortie
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, une transition automatique (sans vnement, avec garde ventuelle) est dclenche
160. 160 EFFET (suite)
161. 161 Modlisation dun message reu/mis Message reu ? vnement qui dclenche une transition entre tats
Message mis ? action (effet) sur la transition
162. 162 NOTATION GENERALE DU DIAGRAMME DETATS UML 2 p 156
Muller p. 174 : cration et destruction dun avionUML 2 p 156
Muller p. 174 : cration et destruction dun avion
163. 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 : oprateur opt
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
Sol :
CU : p. 158 : acteur = appelant --- systme = publiphone --- acteur = standard --- syst. = tlphone --- acteur = appel
Diagr. de squ. : p. 159 et 160, mais param. de message au lieu de valeur
Travail prliminaire au diagr. dtats: UML2 p. 163 : rpertorier les messages changs entre les acteurs et le systme
Diagr. dtats : p. 166 fig. 5-14 (et 5-13)
Expliquer ventuellement les erreurs de p.168 : 5-16 et 5-17 (vident pour programmeur !), puis sol p. 169, 170
P. 171: transition propre ? NOK, p. 172 : transition interne
Sol. finale p.175
Sol :
CU : p. 158 : acteur = appelant --- systme = publiphone --- acteur = standard --- syst. = tlphone --- acteur = appel
Diagr. de squ. : p. 159 et 160, mais param. de message au lieu de valeur
Travail prliminaire au diagr. dtats: UML2 p. 163 : rpertorier les messages changs entre les acteurs et le systme
Diagr. dtats : p. 166 fig. 5-14 (et 5-13)
Expliquer ventuellement les erreurs de p.168 : 5-16 et 5-17 (vident pour programmeur !), puis sol p. 169, 170
P. 171: transition propre ? NOK, p. 172 : transition interne
Sol. finale p.175
164. 164 EXERCICE Etude dun rveil (cf. pages 181 et suivantes de UML 2 par la pratique, P. Roques, Eyrolles, 2005)
+ exercice UML15.pdf : lavage automatique de voiture+ exercice UML15.pdf : lavage automatique de voiture
165. 165 DIAGRAMME DACTIVITE Reprsentation de lensemble des actions ralises par le systme, avec tous les branchements conditionnels et toutes les boucles possibles : reprsentation de la dynamique globale du 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 voir aprs les diagr. dtas
UML2 p.35 + exemple p. 37
Diagr. Activit :
Droulement dune mthode
Droulement dune activit humaine
Activit: - flux de contrle dune activit lautre
- piste pour trouver CU et acteurs voir aprs les diagr. dtas
UML2 p.35 + exemple p. 37
Diagr. Activit :
Droulement dune mthode
Droulement dune activit humaine
Activit: - flux de contrle dune activit lautre
- piste pour trouver CU et acteurs
166. 166 REPRESENTATION
167. 167 EXEMPLE DE TRANSITION GARDEE
168. 168 FLOTS DE CONTROLE Les flots de contrle connectent des actions (rectangles avec coins arrondis) pour indiquer que laction pointe par la flche ne peut pas dmarrer tant que laction source nest pas termine
169. 169 FLOTS DOBJETS Les flots dobjets connectent des nuds dobjets (rectangles) pour fournir des entres (inputs) aux actions. Le nom dun tat peut tre mis entre crochets ( [nomEtat] ).
170. 170 Exemple : activits dune commande Muller p. 181 modifiMuller p. 181 modifi
171. 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) des branches parallles au sein dun flot dexcution dune mthode ou dun CU
172. 172 FORK fork : barre dembranchement
173. 173 FORK (suite)
174. 174 JOIN join : barre de jointure (fusion de flots)
175. 175 JOIN (suite)
176. 176 ACCEPT TIME EVENT Accept time event
177. 177 REGION DEXPANSION Une rgion dexpansion est un nud dactivit structur qui sexcute 1 fois pour chaque lment dans une collection dentres. Les entres et sorties de la collection (nud dexpansion) sont matrialiss sur la frontire de la rgion (rectangle en pointills avec coins arrondis) par des petits rectangles de plusieurs compartiments
178. 178 REGION INTERRUPTIBLE Une rgion interruptible est un ensemble de nuds et darcs dactivit au sein duquel lactivit se termine si un vnement dsign se produit. Cet vnement dinterruption apparat comme une flche clair Fournir exemple recette UML2 p. 200Fournir exemple recette UML2 p. 200
179. 179 ENVOI/RECEPTION DUN SIGNAL Exemple : Muller p. 182Exemple : Muller p. 182
180. 180 EXERCICE Etude dun guichet automatique de banque (GAB) (cf. pages 19 et suivantes de UML 2 par la pratique, P. Roques, Eyrolles, 2005) : diagramme dactivit pour le retrait dargent page 37
181. 181 Interaction Overview Diagram Fusion des diagrammes dactivit et de squence
Actions remplaces par des interactions
Rem. : nappartient pas la matire de 2me
182. 182 A FAIRE A DOMICILE
Lire le chapitre 8 Mthodes orientes objets du syllabus Mthodes danalyse dA. Clarinval
183. 183 TABLEAU RECAPITULATIF
184. 184 VERS UNE METHODE DE DEVELOPPEMENT Cycle de vie itratif et incrmental:
Abandon de la mthode en cascade pour un dveloppement itratif
Exemple : RUP (cf. le document : Le processus RUP) Muller p.232
Artefacts utiles dans un processus de dveloppement logiciel (pas du UML):
Catalogue des rgles mtiers
Glossaire : terminologie commune partager (entre client, analyste, chef de projet et mme quipe de dveloppement (notamment par utilisation de noms de variables longs et significatifs))Ces artefacts (1 et 2) sont complmentaires aux CU
Catalogues des besoins non fonctionnels : besoins et contraintes environnementaux, non fonctionnels:
Temps de rponse
BD hrite
Respect culturel
La valeur dune application ne vaut que par la matrise du sujet, du domaine
Dvelopper un logiciel est facile; le faire voluer, le maintenir est difficile
Plus on matrise les concepts du domaine, plus on est capable de les faire voluer
Lutte contre la non-factorisation du code (donc rejet du RAD o intelligence mtier est duplique)
Une application doit tre aussi riche en application console quen interface graphique
Ex : O mettre limiteCredit : terme bien dfinir dabord (glossaire), puis rflchir et dcider de la classe qui en est responsable
Domain Design Driven (DDD) : matrise des concepts mtier: vie, relations,
Modlisation des concepts mtiers par les CU reprer les substantifs (= concepts mtier) puis diagr. de classe, dobjets,
Concepteur de classe <> Utilisateur de classe (dveloppeurs diffrents, achats de librairies, )
? Le concepteur doit prvoir une conception de classe la + robuste possibleMuller p.232
Artefacts utiles dans un processus de dveloppement logiciel (pas du UML):
Catalogue des rgles mtiers
Glossaire : terminologie commune partager (entre client, analyste, chef de projet et mme quipe de dveloppement (notamment par utilisation de noms de variables longs et significatifs))
185. 185 VERS UNE METHODE DE DEVELOPPEMENT (suite) Extrait de lavant-propos de :
Guide pratique du RUP, P. Koll, Ph. Kruchten, CampusPress, 2003
186. 186 VERS UNE METHODE DE DEVELOPPEMENT (suite)
187. 187 VERS UNE METHODE DE DEVELOPPEMENT (suite)
188. 188 VERS UNE METHODE DE DEVELOPPEMENT (suite)
189. 189 6 ETAPES dun processus de dveloppement (par Expert-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:
Besoins
Analyse des Business Process (BP)
Recueil des besoins du projet informatique
Analyse et design de lapplication
Implmentation
Logiciel fourni UML nest pas un processus; un processus UTILISE UMLUML nest pas un processus; un processus UTILISE UML
190. 190 6 ETAPES dun processus de dveloppement (suite) Besoins : lentreprise, dcompose en processus mtier, subit les actions du monde extrieur
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 UC
b) Produit les artefacts suivants :
BP Model
Glossaire
Model Concepts Business Process Modeling Notation (BPMN) est une notation graphique standardise pour modliser des procdures d'entreprise dans un workflow.
Business Process Modeling Notation a t dveloppe par la Business Process Management Initiative (BPMI), et est maintenant maintenue par l'Object Management Group (OMG) depuis leur fusion en 2005. Le but principal de BPMN est de fournir une notation qui soit rellement comprhensible par tous les utilisateurs de l'entreprise, depuis les analystes mtier qui crent les bauches initiales des procdures, jusqu'aux dveloppeurs responsables de mettre en place la technologie qui va excuter ces procdures, et finalement, jusqu'aux utilisateurs de l'entreprise qui vont grer et monitorer ces procdures. Ainsi, BPMN cre un pont standardis pour combler le vide entre la modlisation des procdures d'entreprise et la mise en place des procdures. Actuellement, il y a des dizaines d'outils de modlisation et de mthodologies pour les procdures d'entreprise. BPMN amliorera les possibilits des notations traditionnelles des procdures d'entreprise en grant par nature les concepts de procdures B2B, comme les procdures publiques et prives et les chorgraphies, ainsi que des concepts de modlisation avance, comme la gestion des exceptions et la compensation des transactions.
En informatique, Business Process Execution Language (ou BPEL, prononc 'bipeul', ou 'bipl'), est un langage de description des procdures d'entreprise qui est issu des langages WSLF (Web Services Flow Language) et XLANG. Il est srialis en XML et vise rendre possible le programming in the large. Les concepts de programming in the large et programming in the small distinguent deux aspects de l'criture de procdures asynchrones long terme qu'on voit gnralement dans les procdures d'entreprise.
Ce langage a t dfini dans sa version 2.0 par une spcification du consortium OASIS la fin du mois de mars 2007.
BPML (Business Process Modeling Language) est un langage bas sur XML permettant de modliser des processus mtier
La modlisation de procdure d'entreprise ou modlisation de processus mtier ou modlisation de processus dsigne la cration d'un modle mathmatique d'une procdure d'entreprise.
BPM est le sigle utilis, en rfrence l'anglais Business Process Modeling.
Ce terme renvoie aux techniques et activits de la discipline de pilotage de procdure d'entreprise (ici BPM pour Business Process Management).
La distinction fondamentale entre ces deux notions de BPM rside dans le fait que pour la seconde, on s'intresse donner l'Entreprise les moyens de piloter et de matriser ses processus-mtiers, tandis que la premire ne consiste qu' les modliser (toujours avec un objectif venant de l'extrieur: optimisation de chane de production, expression de besoins fonctionnels pour un dveloppement logiciel, r-organisation suite un rapprochement entre deux filiales d'une entreprise, par exemple).
La modlisation de processus est utilise en gestion de la qualit pour reprsenter des processus, mais galement pour les procdures d'entreprise et workflows avec:
le langage de modlisation de procdures (Business Process Modeling Language ou BPML),
la notation de modles de procdures (Business Process Modeling Notation ou BPMN).
Qu'est-ce que le BPEL ?Le BPEL, Business Process Execution Language, est une reprsentation XML utilise dans le cadre de la mise en place d'une architecture oriente services (SOA) en entreprise. Concrtement, dans cette architecture SOA, les applications de l'entreprise sont runies au sein d'un socle commun afin de favoriser le dialogue entre applications et consolider l'existant. BPEL organise justement le dialogue entre les diffrentes applications de l'architecture SOA. Il se prsente sous la forme d'un fichier XML lisible par des moteurs de gestion des processus mtiers, ces derniers se chargeant d'appliquer les rgles du fichier en question. Sans BPEL, les services Web ne pourraient pas dialoguer entre eux. Il organise donc le droulement des processus mtiers (workflow). Le fichier BPEL agit donc sur des lments comme la transformation de donnes, l'envoi de messages ou l'appel d'une fonction.
Business Process Modeling Notation (BPMN) est une notation graphique standardise pour modliser des procdures d'entreprise dans un workflow.
Business Process Modeling Notation a t dveloppe par la Business Process Management Initiative (BPMI), et est maintenant maintenue par l'Object Management Group (OMG) depuis leur fusion en 2005. Le but principal de BPMN est de fournir une notation qui soit rellement comprhensible par tous les utilisateurs de l'entreprise, depuis les analystes mtier qui crent les bauches initiales des procdures, jusqu'aux dveloppeurs responsables de mettre en place la technologie qui va excuter ces procdures, et finalement, jusqu'aux utilisateurs de l'entreprise qui vont grer et monitorer ces procdures. Ainsi, BPMN cre un pont standardis pour combler le vide entre la modlisation des procdures d'entreprise et la mise en place des procdures. Actuellement, il y a des dizaines d'outils de modlisation et de mthodologies pour les procdures d'entreprise. BPMN amliorera les possibilits des notations traditionnelles des procdures d'entreprise en grant par nature les concepts de procdures B2B, comme les procdures publiques et prives et les chorgraphies, ainsi que des concepts de modlisation avance, comme la gestion des exceptions et la compensation des transactions.
En informatique, Business Process Execution Language (ou BPEL, prononc 'bipeul', ou 'bipl'), est un langage de description des procdures d'entreprise qui est issu des langages WSLF (Web Services Flow Language) et XLANG. Il est srialis en XML et vise rendre possible le programming in the large. Les concepts de programming in the large et programming in the small distinguent deux aspects de l'criture de procdures asynchrones long terme qu'on voit gnralement dans les procdures d'entreprise.
Ce langage a t dfini dans sa version 2.0 par une spcification du consortium OASIS la fin du mois de mars 2007.
BPML (Business Process Modeling Language) est un langage bas sur XML permettant de modliser des processus mtier
La modlisation de procdure d'entreprise ou modlisation de processus mtier ou modlisation de processus dsigne la cration d'un modle mathmatique d'une procdure d'entreprise.
BPM est le sigle utilis, en rfrence l'anglais Business Process Modeling.
191. 191 6 ETAPES dun processus de dveloppement (suite) Recueil des besoins du projet informatique:
a) Est aliment par :
- diagrammes CU
- diagrammes dactivit, dtat, de squence, de classes
b) 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 de rponse, infrastructure Web, multilinguisme, )
- glossaire (commenc ventuellement dans lanalyse des besoins)
192. 192 6 ETAPES dun processus de dveloppement (suite) Analyse et design de lapplication :(= comment va-t-on faire ?) :
Organisation des classes du point de vue structurel et dynamique
Point de vue technique, de linfrastructure
a) Est alimente par : - diagrammes de classe - diagrammes dynamiques
b) Produit les artefacts suivants :
- diagrammes de classe
- modlisation dynamique
Implmentation du logiciel :
Do un feed-back sur les autres tapes
b) Produit les artefacts suivants :
- System Sequence Diagram (SSD): oprations systme avec pr-conditions et post-conditions
193. 193 6 ETAPES dun processus de dveloppement (suite) Logiciel fourni :
A chaque itration dimplmentation, un incrment est fourni au client.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 maximum 3 semaines (sinon prvoir de plus petits artefacts) + Parler de larchitecture trois tiers (cf. dfinition dans Wikipedia par ex. : http://fr.wikipedia.org/wiki/Architecture_trois_tiers ) + progwebphpmvc_250305.pdf+ Parler de larchitecture trois tiers (cf. dfinition dans Wikipedia par ex. : http://fr.wikipedia.org/wiki/Architecture_trois_tiers ) + progwebphpmvc_250305.pdf
194. 194 Travaux pratiques Utilisation du logiciel Rational Rose Enterprise 2003
Rational Rose est le Leader Mondial en outil de Modlisation UML, c'est aussi l'un
des plus coteux. Rational propose par ailleurs de nombreux outil pour faciliter la
gestion des projets de dveloppement. Rational a par ailleurs pass un accord avec la
Socit Ensemble pour distribuer le Rose Link qui procure une liaison bidirectionnelle
synchronise 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 ou
Delphi 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 sur http://www.gramme.be/infopb/coursSL/analyse/TP
195. 195 Avec de lexprience Etre comptent en UML, cest comprendre ce que chaque type de diagramme peut offrir et savoir quand il faut lutiliser. Souvent, un concept pourra tre exprim au moyen de plusieurs diagrammes; lutilisateur expriment dUML saura utiliser le(s) plus adapt(s) sa modlisation.