1 / 55

ANALYSE ET CONDUITE DE PROJETS

2. PLAN DU COURS. Partie I : Introduction : (

arleen
Télécharger la présentation

ANALYSE ET CONDUITE DE PROJETS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    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 propritaire segment membre cardinalit (0,1) ou (1,1) 1 association porteuse dau moins une cardinalit (0,1) ou (1,1) ? 1 lien 1 association totalement porteuse de cardinalits (0,N) ou (1,N) ? 1 segment membre + liens (autant de liens que 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 donnes contrainte 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, employe La personne voit la socit comme son employeur; la socit voit la personne comme son employ En 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 composite Donc, 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 personnes une 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 majuscule Ex. : Client, Aeroport Nom dattribut, dopration, dassociation, de rle : commence par une minuscule, puis, ventuellement plusieurs mots concatns commenant par une majuscule Ex. : 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 verbale Ex. entre les classes Societe et Personne: <Travaille pour, <Est employee par Nom de rle : forme nominale, ou participe prsent/pass Ex. entre les classes Societe et Personne : employeur, employe Ex. 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. 28 Bien 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 forte Seront 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.

More Related