Cours UMl Bourmane Excellent

download Cours UMl Bourmane Excellent

of 195

Transcript of Cours UMl Bourmane Excellent

  • 7/27/2019 Cours UMl Bourmane Excellent

    1/195

    1

    ANALYSEETCONDUITE DE PROJETS

    P. Bourmanne

    HELMo

  • 7/27/2019 Cours UMl Bourmane Excellent

    2/195

    2

    PLAN DU COURS Partie I : Introduction :(#3)

    Prsentation Evaluation Les mtiers de linformaticien dans le cadre dun dveloppement logiciel Buts du cours

    Partie II : Les mthodes danalyse :(#17) Le modle entit-association Le modle de Bachman Bases de donnes : gnralits Le modle relationnel

    Partie III : La modlisation objet avec UML :(#78) Introduction (#80) UML : point de vue statique (diagrammes et notation) (#91) UML : point de vue fonctionnel (diagrammes et notation) (#111) UML : point de vue dynamique (diagrammes et notation) (#138) Tableau rcapitulatif(#180) Vers une mthode de dveloppement (#181) Applications (#187)

    http://193.190.64.114/WD120AWP/WD120Awp.exe/CTX_2108-2-LLYgWrTdPH/ECTS_GrilleAnneeGroupee/SYNC_-1881700812http://193.190.64.114/WD120AWP/WD120Awp.exe/CTX_2108-2-LLYgWrTdPH/ECTS_GrilleAnneeGroupee/SYNC_-1881700812
  • 7/27/2019 Cours UMl Bourmane Excellent

    3/195

    3

    PARTIE I

    Introduction

  • 7/27/2019 Cours UMl Bourmane Excellent

    4/195

    4

    INTRODUCTION: PRESENTATION

    Cours: 2 1.5 1.5 1.5 1.5 1.5

    Patricia Bourmanne Laboratoires : 0 2 2 1.5 1.5 0

    Patricia Bourmanne

    Danile Bayers

  • 7/27/2019 Cours UMl Bourmane Excellent

    5/195

    5

    SUPPORTS ET REFERENCES Syllabi :

    Mthodes danalyse ; A. Clarinval; septembre 2002 Initiation aux bases de donnes ; P. Bourmanne, 2002 Concepts et mthodes de la programmation par objets; A. Clarinval;

    novembre 2002 Livres de rfrence :

    Modlisation objet avec UML , P.A. Muller, d. Eyrolles, 1997 UML et C++, guide pratique du dveloppement orient objet ; R.C.

    Lee, W.M. Tepfenhart, d. Prentice Hall, 1998 Guide pratique du RUP , P. Koll, Ph. Kruchten, CampusPress, 2003 UML 2 par la pratique , P. Roques, Eyrolles, 2005 The unified modeling language, user guide , G. Booch, J. Rumbaugh,

    I. Jacobson,d. Addison-Wesley, 1999

    UML 2 en concentr, manuel de rfrence , D. Pilone, d. OReilly UML 2 et les design patterns, analyse et conception orientes objet etdveloppement itratif ,C. Larman, d. Pearson Education

    http://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/Analyse.pdfhttp://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/INITIATION%20AUX%20BD.pdfhttp://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/Concepts%20et%20methodes.pdfhttp://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/Concepts%20et%20methodes.pdfhttp://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/Concepts%20et%20methodes.pdfhttp://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/Concepts%20et%20methodes.pdfhttp://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/INITIATION%20AUX%20BD.pdfhttp://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/Analyse.pdf
  • 7/27/2019 Cours UMl Bourmane Excellent

    6/195

    6

    SUPPORTS ET REFERENCES (suite)

    Diaporamas du cours (P. Bourmanne)

    Sites : http://www.hemes.be/saint-laurent/informatique/ressources.php

    http://www.gramme.be/infopb

    UML : http://www.omg.org/technology/documents/formal/uml.htm

    http://sparxsystems.com.au/uml-tutorial.html http://sparxsystems.com.au/UML2_tutorial/UML2_Tutorial_Intro.htm

    http://www.hemes.be/saint-laurent/informatique/ressources.phphttp://www.gramme.be/infopbhttp://www.omg.org/technology/documents/formal/uml.htmhttp://sparxsystems.com.au/uml-tutorial.htmlhttp://sparxsystems.com.au/UML2_tutorial/UML2_Tutorial_Intro.htmhttp://sparxsystems.com.au/UML2_tutorial/UML2_Tutorial_Intro.htmhttp://sparxsystems.com.au/uml-tutorial.htmlhttp://sparxsystems.com.au/uml-tutorial.htmlhttp://sparxsystems.com.au/uml-tutorial.htmlhttp://www.omg.org/technology/documents/formal/uml.htmhttp://www.gramme.be/infopbhttp://www.hemes.be/saint-laurent/informatique/ressources.phphttp://www.hemes.be/saint-laurent/informatique/ressources.phphttp://www.hemes.be/saint-laurent/informatique/ressources.php
  • 7/27/2019 Cours UMl Bourmane Excellent

    7/1957

    INTRODUCTION: EVALUATION

    Votre participation active aux cours thoriques etpratiques

    Vos travaux lors des sances de laboratoires

    Une interrogation (le lundi 24 novembre)

    Un examen sur la thorie, des exercices raliser,un projet prsenter

    Modalits :cf. http://www.gramme.be/infopb/coursSL/analyse/evaluations/Modalites_generales.pdf

    http://www.gramme.be/infopb/coursSL/analyse/evaluations/Modalites_generales.pdfhttp://www.gramme.be/infopb/coursSL/analyse/evaluations/Modalites_generales.pdf
  • 7/27/2019 Cours UMl Bourmane Excellent

    8/1958

    INTRODUCTION : METIERS

    DINFORMATICIEN

    Catgories:

    Dveloppement logiciel Gestion dun parc informatique

    Assistance clientle (technique et/ou logicielle)

    Formation

  • 7/27/2019 Cours UMl Bourmane Excellent

    9/1959

    INTRODUCTION: METIERS DU

    DEVELOPPEMENT LOGICIEL

    Les mtiers de linformaticien dans le cadre dun dveloppementlogiciel:

    1) Le chef de projet : responsable de llaboration et de la modificationdu plan de dveloppement logiciel Rle complexe :

    Les personnes Le produit = lobjectif Le processus = feuille de route de lquipe Le projet grer, planifier, contrler, rectifier

    Le budget Comptences diffrentes pour tre capable dune ORIENTATION et

    ADAPTATION dynamiques : Aptitudes techniques Talents de communication

    Sera jug sur les rsultats

  • 7/27/2019 Cours UMl Bourmane Excellent

    10/19510

    INTRODUCTION: METIERS2) Lanalyste : responsable de dfinir et de communiquer auxintervenants les fonctionnalits qui sont attendues du systme

    Tches de haut niveau : Comprendre les besoins des diffrents intervenants (utilisateurs,

    investisseur, acheteur, chef de produit, ) Ngocier les exigences et faciliter lacceptation de lapplication

    par le client Documenter, hirarchiser et communiquer les exigences

    Implication dans les disciplines suivantes : Modlisation mtier/systme Gestion et expression des exigences Analyse (= modlisation de la description du problme) Conception (= modlisation de la solution du problme)

  • 7/27/2019 Cours UMl Bourmane Excellent

    11/19511

    INTRODUCTION: METIERS

    Lanalyste : (suite) Qualits requises :

    Habilet grer les relations entre plusieurs intervenants Bonne comprhension du domaine du problme ou

    capacit de lacqurir rapidement

    Aptitude communiquer oralement de faon claire etconcise

    Capacit rdiger succinctement et clairement lesexigences

    Comprhension globale du cycle de vie dudveloppement du logiciel

  • 7/27/2019 Cours UMl Bourmane Excellent

    12/19512

    INTRODUCTION: METIERS3) Larchitecte logiciel : dirige et coordonne les activitstechniques(technologies, structure et organisation du systme

    logiciel) tout au long du projet; il est un centre de la communication Rle pluridisciplinaire :

    Exprience des problmes (comprhension approfondie des exigences) etde lingnierie logicielle (vision globale du projet, comprhension destechnologies, )

    Leadership technique ( chef de projet : leadership pour les aspectsmtier et administratif)

    Sens de la communication Concentration sur les objectifs et la proactivit: pour axer le projet sur les

    rsultats

    Source de travail : principalement exigences tablies par les analystes Doit tre capable de cerner rapidement les situations et les problmes,

    dmettre des jugements aviss et critiques en labsencedinformations compltes

    Collaboration troite avec le chef de projet (architecte + chef de projet= gestionnaires)

  • 7/27/2019 Cours UMl Bourmane Excellent

    13/19513

    INTRODUCTION: METIERSLarchitecte logiciel : (suite)

    Architecture logicielle =

    structure du systme logiciel + aspects suivants:

    Usage Fonctionnalit Performance Robustesse

    Rutilisation Comprhensibilit Contraintes et compromis conomiques et technologiques Aspects esthtiques

    en se concentrant uniquement sur les dcisions de conceptionimportantes (effets long terme sur les performances, la qualit,lvolutivit du systme)

  • 7/27/2019 Cours UMl Bourmane Excellent

    14/19514

    INTRODUCTION: METIERS4) Le dveloppeur: charg de traduire les exigences en code excutabledune qualit suffisante

    Tches de haut niveau : Comprendre les exigences (notamment par les cas dutilisation) et les

    contraintes de conception Matriser la technologie dimplmentation et des outils utiliser Concevoir, implmenter et tester les logiciels et les bases de donnes Intgrer ses travaux de dveloppement ceux des autres dveloppeurs tre cratif en restant rationnel Veiller la qualit

    Collaboration troite : avec larchitecte pour garantir que la conception respecte larchitecture globale avec lanalyste pour lui faire part dincohrences ou de lacunes au niveau des

    exigences ; lanalyste pourra alors procder aux corrections ncessaires

  • 7/27/2019 Cours UMl Bourmane Excellent

    15/19515

    INTRODUCTION: METIERS5) Le testeur: charg de lvaluation de la qualit du

    logiciel et du respect des objectifs

    Mission : valuer le produit logiciel en fonction de critres appropris

    (qualit perue, conformit aux normes, dcouverte dedfauts, )

    Communiquer ses valuations aux dveloppeurs, auxmanagers, ventuellement aux clients

    rsoudre les conflits entre les diffrentes visions dune

    bonne qualit (rle ingrat : cot de la qualit) Amener ventuellement lquipe se rendre compte que les

    spcifications ntaient pas compltes Dtecter les conditions exceptionnelles qui pourraient rendre

    le logiciel inutilisable

  • 7/27/2019 Cours UMl Bourmane Excellent

    16/19516

    INTRODUCTION: METIERS

    Un rle peut tre tenu par une ou plusieurs

    personnes Une personne peut endosser plusieurs rles,

    entirement ou partiellementLe dveloppement logiciel est avant tout un travail dquipe(s).

    Linformaticien doit tre capable :- dautonomie

    - danticipation

    - de rigueur

    - de communiquer (oralement et par crit)

    Linformaticien doit pouvoir rester concentr sur ses propres activits, tout encollaborant harmonieusement avec dautres personnes organiquement lies.

  • 7/27/2019 Cours UMl Bourmane Excellent

    17/19517

    INTRODUCTION : BUTS DU COURS

    Vous amener tre capable danalyserunproblme, une situation modliser

    Par ce cours et vos cours de programmation:vous amener tre capable de concevoirunlogiciel de qualit: Correct : rpond aux spcifications Robuste : rsiste aux situations difficiles

    Extensible : peut tre amlior et tendu Rutilisable: peut tre utilis par dautres logiciels

    Vous amener communiquer

  • 7/27/2019 Cours UMl Bourmane Excellent

    18/19518

    INTRODUCTION : BUTS DU COURS

    (suite)

    Vous sensibiliser et vous former la qualit : Confrence Espace Horizon Qualit par lASBL Entreprise &

    Qualit (le 16/09/2008 3me info)Ides principales (cf. folder fourni) : Exigence de chaque client : La qualit pour tous et partout Qualit = atteinte de la satisfaction des clients internes et externes Qualit

    est un besoin universel et vital est la rponse adapte un ensemble de besoins (qui voluent) ne simprovise pas, se construit chaque jour

    La recherche de la qualit: se trouve tous les niveaux de lorganisation et chacun y tient une

    responsabilit nest pas une recherche du coupable, mais la recherche du progrs

    continu

    Apprentissage des principes du RUP (processus dedveloppement logiciel)

  • 7/27/2019 Cours UMl Bourmane Excellent

    19/19519

    ET VOUS ?

    - Dans quelle catgorie mtier vous voyez-

    vous le mieux actuellement ? Pourquoi ?- Si vous travaillez dans le dveloppementlogiciel, quel mtier vous semble le mieuxconvenir votre idal ? Pourquoi ?

  • 7/27/2019 Cours UMl Bourmane Excellent

    20/195

    20

    PARTIE II

    Les mthodes danalyse

    (mthodes orientes gestion de donnes )

  • 7/27/2019 Cours UMl Bourmane Excellent

    21/195

    21

    CONCEPT DE DONNEE

    1. Dune faon gnrale, tout ce qui estmanipul par un ordinateur est appelDONNEE.

    2. Une DONNEE ELEMENTAIRE dcrit unlment atomique du monde rel.

    3. On appelle STRUCTURE DE DONNESl'association d'un ou plusieurs noms et d'unensemble de donnes lmentairesauxquelles ce ou ces noms permettentd'accder.

  • 7/27/2019 Cours UMl Bourmane Excellent

    22/195

    22

    TYPE (ABSTRAIT) DE DONNEES

    Quand un informaticien dveloppe un programme, ilest normal, qu'au dpart, il ne se proccupe pas de

    la reprsentation physique des donnes.On parle alors de TYPE ABSTRAIT DE DONNES.

    Celui-ci dfinit la syntaxe de la donne ou de lastructure de donnes et les oprations que l'on va

    effectuer sur ce type de donnes ou de structure.

  • 7/27/2019 Cours UMl Bourmane Excellent

    23/195

    23

    NOTION DENTITE

    ENTIT = concept concret ou abstrait qui prsente unintrt pour les besoins de gestion de l'entreprise.

    Il est affect dun NOM et porteur de PROPRIETES(donnes lmentaires).

    INSTANCE D ENTITE = un lment particulier d'un typed'entits, caractris par un identifiant et des valeurs desproprits.

    IDENTIFIANT = proprit ou ensemble de proprits quidfinit une et une seule instance d'un type d'entit.

  • 7/27/2019 Cours UMl Bourmane Excellent

    24/195

    24

    NIVEAUX DABSTRACTION

    3 niveaux de reprsentation :

  • 7/27/2019 Cours UMl Bourmane Excellent

    25/195

    25

    LES NIVEAUX DABSTRACTION Le NIVEAU EXTERNE correspond la vision particulire de chaque

    utilisateur par rapport au systme d'informations de l'entreprise. Il estvident que chacune de cesvuesexternes est incomplte et

    partielle. Chaque utilisateur peut travailler sur des donnesdiffrentes ou sur des donnes communes d'autres utilisateurs.

    Le NIVEAU CONCEPTUEL ou schma conceptuel constitue lasynthse de tous les schmas externes intgrs dans un schmaunique qui est un invariant de l'organisation, car il est indpendant

    des traitements et du type d'organisation des donnes choisi. Il varegrouper toutes les donnes lmentaires, tous les objets recenssdans les vues externes, toutes les associations entre objets etventuellement toutes les rgles auxquelles doivent satisfaire toutesles donnes.

  • 7/27/2019 Cours UMl Bourmane Excellent

    26/195

  • 7/27/2019 Cours UMl Bourmane Excellent

    27/195

    27

    MODELE : DEFINITIONS

    Modle conceptuel de donnes (MCD) : Ensemble de rgles de structuration ou de

    modlisation de l'information . Ensemble de rgles qui permet de passer du concret

    inaccessible (l'univers rel) un abstrait manipulable .Un modle ne doit pas seulement dcrire

    l'organisation des donnes, mais aussi la faon donton opre sur ces donnes ;il peut tre peru comme un ensemble de structuresavec un ensemble d'oprations dfinies dessus .

  • 7/27/2019 Cours UMl Bourmane Excellent

    28/195

    28

    METHODES DANALYSE: UTILITE

    Une mthode dfinit une dmarchereproductible pour obtenir des rsultatsfiables

    Une mthode dfinit gnralement unereprsentation (souvent graphique) quipermet: de manipuleraisment les modles de communiqueret dchanger linformation

    entre les diffrents intervenants

  • 7/27/2019 Cours UMl Bourmane Excellent

    29/195

    29

    METHODES DANALYSE:

    LE MODELE ENTITE-ASSOCIATION

    Le modle entit-association exprime lasmantique des donnes laide des

    concepts:

    - dentit

    - dassociation entre entits

    - dattribut dcrivant les entits etassociations

  • 7/27/2019 Cours UMl Bourmane Excellent

    30/195

    30

    DEFINITION CONCEPTUELLE DEDONNEES :

    le modle entit-association

    1. ASSOCIATION= un lien logique entre 2 entits ou plus.Elle est souvent dfinie par un verbe ou un nom (lien

    smantique) et une ou plusieurs proprits.

    2. CARDINALITS d'une entit dans une association qui lelie une autre entit = le nombre minimum et le nombre

    maximum d'instances de l'association auxquelles doittre rattache chacune des instances de l'entit.

  • 7/27/2019 Cours UMl Bourmane Excellent

    31/195

    31

    A FAIRE A DOMICILE

    Lire

    Mthodes danalyse ; A. Clarinval; septembre2002 : chap. 3.1 : Le modle entit-association

    Initiation aux bases de donnes ;P. Bourmanne, 2002 : chap. 2 : Les donnes

    http://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/Analyse.pdfhttp://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/INITIATION%20AUX%20BD.pdfhttp://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/INITIATION%20AUX%20BD.pdfhttp://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/Analyse.pdf
  • 7/27/2019 Cours UMl Bourmane Excellent

    32/195

    32

    DEFINITION LOGIQUE DESDONNEES :

    le diagramme de Bachman

    Enregistrement logique Entit( = record = segment)

    avec ses champs (= fields) avec sesproprits

    Lien Association

    diagramme de Bachman

  • 7/27/2019 Cours UMl Bourmane Excellent

    33/195

    33

    DIAGRAMME DE BACHMAN Rgles de transformation dun modle entit-

    association en un diagramme de Bachman : 1 entit 1 segment (propritaire ou membre)

    segment propritaire

    segment membre cardinalit (0,1) ou (1,1)

    1 association porteuse dau moins une cardinalit (0,1) ou

    (1,1) 1 lien 1 association totalement porteuse de cardinalits (0,N) ou

    (1,N) 1 segment membre + liens (autant de liens que dentitsassocies lassociation)

  • 7/27/2019 Cours UMl Bourmane Excellent

    34/195

    34

    A FAIRE A DOMICILE

    Lire Mthodes danalyse ; A. Clarinval; septembre

    2002 : chap. 4 : Schma logique du stockage desdonnes

    Initiation aux bases de donnes ;P. Bourmanne, 2002 : chap. 5.3. : Types debases de donnes

    http://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/Analyse.pdfhttp://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/INITIATION%20AUX%20BD.pdfhttp://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/INITIATION%20AUX%20BD.pdfhttp://localhost/var/www/apps/conversion/tmp/r%C3%A9f%C3%A9rences/Analyse.pdf
  • 7/27/2019 Cours UMl Bourmane Excellent

    35/195

    35

    Bases de donnes : gnralits

  • 7/27/2019 Cours UMl Bourmane Excellent

    36/195

    36

    Base de donnes : dfinition Ensemble structur de donnes enregistres sur

    des supports accessibles par l'ordinateur,

    reprsentant des informations du monde rel etpouvant tre interrogetmis jourpar unecommunaut d'utilisateurs.

    Fichiers informatiques regroupant un ensemble

    dinformations thmatiques sous forme structure etindexe.

  • 7/27/2019 Cours UMl Bourmane Excellent

    37/195

    37

    Systme de gestion de base de

    donnes

    Logiciel gnral qui permet l'utilisateur,qu'il soit programmeur ou utilisateur final, demanipuler les donnes dans des termesabstraits, sans tenir compte de la faon dontl'ordinateur les voit.

  • 7/27/2019 Cours UMl Bourmane Excellent

    38/195

    38

    Objectifs dun S.G.B.D. Indpendance physique des programmes aux

    donnes :indpendance entre structures de stockage et structures des donnes dumonde rel,indpendance entre schma interne et conceptuel

    Indpendance logique des programmes auxdonnes :possibilit de modifier un schma externe (vue) sans modifier le

    schma conceptuel et inversment Manipulation des donnes par des langages non

    procduraux Administration facilite des donnes (fcts pour dfinir les

    donnes et changer leur dfinition)

  • 7/27/2019 Cours UMl Bourmane Excellent

    39/195

    39

    Objectifs dun S.G.B.D. Efficacit des accs aux donnes (dbit + temps de rponse) Partage des donnes

    Cohrence des donnescontrainte dintgrit (= rgle spcifiant les valeurs permises pourcertaines donnes, ventuellement en fonction dautres donnes, etpermettant dassurer une certaine cohrence de la base de donnes) :

    - unicit de cl- contrainte rfrentielle

    - contrainte de domaine Redondance contrle des donnes Scurit des donnes (confidentialit + cohrence si panne : une

    transaction doit tre totalement excute ou pas du tout)

  • 7/27/2019 Cours UMl Bourmane Excellent

    40/195

    40

    Fonctions dun S.G.B.D. Description des donnes :

    commandes pour dfinir les schmas interne, conceptuel et externe

    Recherche des donnes :commandes pour retrouver les donnes de la base rpondant uncritre plus ou moins complexe (= qualification = expression logique decritres simples, chaque critre permettant soit de comparer un attribut une valeur, soit de parcourir une association )

    Mise jour des donnes :commandes pour insrer des donnes dans la base, modifier desdonnes, supprimer des donnes

    Fonctions qui assurent les objectifs prcits(transformation des donnes, contrle de lintgrit des donnes,gestion de transactions et scurit)

  • 7/27/2019 Cours UMl Bourmane Excellent

    41/195

    41

    TYPES DE BD Modle hirarchique

    Modle rseau

    Modle relationnel

  • 7/27/2019 Cours UMl Bourmane Excellent

    42/195

    42

    LE MODELE RELATIONNEL

    Introduit par Codd

    Rsultat d'une approche formellemathmatique qui modlise dans une mmethorie la notion de donnes et demanipulations de donnes et ne fait aucune

    rfrence au niveau physique Permet de rpondre aux objectifs prcits

  • 7/27/2019 Cours UMl Bourmane Excellent

    43/195

    43

    Bibliothque(hypothse : 1 auteur/livre)

    Titre Date achat Prix TVAC Auteur Info auteur

    Germinal 10/05/90 22.5 Emile Zola 1840-1902

    Le rouge et le

    noir05/08/97 25 Stendhal 1783-1842

    Les mots 01/02/98 17Jean-Paul

    Sartre1905-1980

    La btehumaine

    01/06/97 30 Emile Zola 1840-1902

  • 7/27/2019 Cours UMl Bourmane Excellent

    44/195

    Titre Date_achat Prix TVAC Auteur

    Germinal 10/05/90 22.5 Emile Zola

    Le rouge et le noir 05/08/97 25 Stendhal

    Les mots 01/02/98 17 Jean-Paul Sartre

    La bte humaine 01/06/97 30Emile Zola

    Auteur Info auteur

    Emile Zola 1840-1902

    Stendhal 1783-1842

    Jean-Paul Sartre 1905-1980

  • 7/27/2019 Cours UMl Bourmane Excellent

    45/195

    45

    Dfinitions

    ATTRIBUT :champ ou proprit du lot d'informations

    RELATION (ou TABLE) :liste d'attributs a1, a2, ..., an; ensemble delignes du tableau dfini par les attributs.

    Notation : r(a1, a2, ..., an) o rest le nom dela relation

  • 7/27/2019 Cours UMl Bourmane Excellent

    46/195

    46

    Dfinitions

    TUPLE (ou LIGNE) :ligne du tableau, instance du lotd'informations. Une relation est donc unensemble de tuples et elle ne possde pasdeux tup les ident iques.

    COLONNE :attribut ou ensemble des valeurs de l'attribut

  • 7/27/2019 Cours UMl Bourmane Excellent

    47/195

    47

    Dfinitions

    DOMAINE :ensemble de dfinition des valeurs desattributs.

    Soit r(a1, a2, ..., ai, ..., an) une relation, la liste des domaines:D1, D2, ...,Di, ..., Dn dans laquelle Di est le domaine de l'attribut

    ai.La relation rest un sous-ensemble du produit cartsien:D1 x D2 x ... x Di x ... x Dn.

  • 7/27/2019 Cours UMl Bourmane Excellent

    48/195

    48

    Dfinitions ARITE d'une relation :

    nombre de ses attributs.

    La relation r(a1, a2, ..., ai, ..., an) est d'arit n.L'arit d'une relation est aussi le nombre decolonnes de la table.

    CARDINALIT d'une relation r:nombre de tuples (ou de lignes) de la table.

  • 7/27/2019 Cours UMl Bourmane Excellent

    49/195

    49

    Dfinitions

    CL D'UNE RELATIONr: ensembled'attributs dont les valeurs identifient un tupleet un seul de la relation r. Une relationpossde toujours au moins une cl, c'est--dire l'ensemble de ses attributs: deux tuples

    d'une relation diffrent entre eux au moinspar les valeurs d'un attribut.

  • 7/27/2019 Cours UMl Bourmane Excellent

    50/195

    50

    Dfinitions CL CANDIDATE :

    cl d'une relation telle que tout sous-ensemble

    d'attributs de cette cl n'est pas une cl. Une clcandidate constitue donc un sous-ensemble minimald'attributs pouvant jouer le rle de cl.

    CL PRIMAIRE :la cl unique qui sera retenue parmi les cls

    candidates. Par la suite, la cl primaire d'une relationsera dsigne par le terme cl .

  • 7/27/2019 Cours UMl Bourmane Excellent

    51/195

    51

    Dfinitions

    CL ETRANGERE dans une table :cl primaire ou candidate dans une autre table

  • 7/27/2019 Cours UMl Bourmane Excellent

    52/195

    52

    Dfinitions CONTRAINTES D'INTGRIT :

    rgles smantiques auxquelles les donnesdune base doivent obir.Elles font partie du schma conceptuel.But : garantir la cohrence des donnes lors

    des mises jour de la base (les donnes nesont pas indpendantes)

  • 7/27/2019 Cours UMl Bourmane Excellent

    53/195

    53

    Dfinitions Contrainte dintgrit :

    Contrainte de domaine :exprime la smantique des donnes au moyen de proprits vrifiespar les attributs

    Contrainte dintgrit dentit :une table doit toujours avoir une cl primaire

    Contrainte dintgrit rfrentielle :toute valeur attribue une cl trangre dans une table doit exister

    dans la table o cette cl se retrouve comme cl primaire ou candidatePar exemple dans la relation r(employ, salaire, patron):

    "un salaire est compris entre 1 000 et 2 000" "un employ n'a qu'un seul patron" "un patron a au plus 15 employs"

    sont des contraintes d'intgrit dfinies sur la relation r.

  • 7/27/2019 Cours UMl Bourmane Excellent

    54/195

    54

    ALGEBRE RELATIONNELLEElle dfinira un cadre formel pour ladfinition d'un langage de manipulation de

    donnes dont les primitives seront lesoprations de base. Ces primitivesconstitueront des oprations de haut niveaucomparables certains traitements

    classiques de fichiers (tri, fusion, extraction,dition)

  • 7/27/2019 Cours UMl Bourmane Excellent

    55/195

  • 7/27/2019 Cours UMl Bourmane Excellent

    56/195

    56

    Produit cartsien Soient les relations ret s d'arits respectives

    k1

    et k2

    . Le produit cartsienr X s est larelation d'arit k1 + k2 dont les tuples sont lersultat de la concatnation des tuples de ravec ceux de s.

  • 7/27/2019 Cours UMl Bourmane Excellent

    57/195

    57

    Projection ProjectionPs(r) d'une relation rsur un sous-

    ensemble s de ses attributs : relationobtenue en supprimant dans la table lescolonnes des attributs qui n'appartiennentpas s et en ne gardant dans la nouvelle

    table ainsi dfinie qu'une seule occurrencede chaque tuple.

  • 7/27/2019 Cours UMl Bourmane Excellent

    58/195

    58

    Slection Soit :

    un ensemble d'oprateurs arithmtiques et logiques: =, ,

    , OU, ET, NON des oprandes: attributs et constantes une formule F dfinie sur les attributs de rpar les

    oprateurs et les oprandes.

    La slection dfinie par F surr, note sF (r),est une relation, ensemble des tuples de rqui vrifient la formule F.

  • 7/27/2019 Cours UMl Bourmane Excellent

    59/195

    59

    Date Vendeur Secteur Client Code Adresse vente

    1/02 JFD 17 DUPONT C1212 LIEGE 3050

    2/02 JFD 17 DURAND C1217 BRUXELLES 4200

    2/02 RF 17 DUPONT C1212 LIEGE 1200

    3/02 LM 19 MARTIN C1420 NIVELLES 12500

    3/02 RF 19 BRUYNE C1435 NAMUR 5200

    4/02 LM 17 DUPONT C1212 LIEGE 4800

    4/02 JFD 17 DAMS C1120 VIRTON 11200

    5/02 LM 17 DURAND C1217 BRUXELLES 7500

  • 7/27/2019 Cours UMl Bourmane Excellent

    60/195

    60

    Intersection Intersection de 2 tables

    r1 r2 = r1 - ( r1 - r2) est dfinie commeune table qui est constitue des tuplescommuns aux relations r1 et r2

  • 7/27/2019 Cours UMl Bourmane Excellent

    61/195

    61

    Jointure Jointure de 2 relations ret s suivant la relation i q j ( est

    un oprateur, i et j les rangs des attributs respectivement

    dans ret s) :ensemble des tuples du produit cartsien rx s qui satisfontla relation i j. On la note :

    r si q j

    i et j peuvent tre remplacs par le nom des attributscorrespondants.

    Cas particulier : quijointure

    r si = j

  • 7/27/2019 Cours UMl Bourmane Excellent

    62/195

    62

    Schma relationnel Rgles de transformation dun diagramme de Bachman

    en un schma relationnel : Tout segment est transpos en une relation Une relation issue d'un segment propritaire se voit attribuer,

    comme cl, l'identifiant du segment et comme proprits lesattributs du segment.

    Une relation issue d'un segment membre ayant un identifiant,se voit attribuer, comme cl, l'identifiant du segment et comme

    proprits les attributs du segment ainsi que le ou lesidentifiants du ou des segments propritaires.

    Une relation issue d'un segment membre n'ayant pasd'identifiant, se voit attribuer, comme cl, le ou les identifiantsdu ou des segments propritaires et comme proprits lesattributs du segment membre.

  • 7/27/2019 Cours UMl Bourmane Excellent

    63/195

    63

    Les formes normales

  • 7/27/2019 Cours UMl Bourmane Excellent

    64/195

    64

    Bibliothque(hypothse : 1 auteur/livre)

    Titre Date achat Prix TVAC Auteur Info auteur

    Germinal 10/05/90 22.5 Emile Zola 1840-1902

    Le rouge et le

    noir

    05/08/97 25 Stendhal 1783-1842

    Les mots 01/02/98 17Jean-Paul

    Sartre1905-1980

    La btehumaine

    01/06/97 30 Emile Zola 1840-1902

  • 7/27/2019 Cours UMl Bourmane Excellent

    65/195

  • 7/27/2019 Cours UMl Bourmane Excellent

    66/195

  • 7/27/2019 Cours UMl Bourmane Excellent

    67/195

    67

    Relation Voiture

    NV Type Marque Puissance Couleur

    872RH75 P206A Peugeot 7 Bleue

    975AB80 P206A Peugeot 7 Rouge

  • 7/27/2019 Cours UMl Bourmane Excellent

    68/195

  • 7/27/2019 Cours UMl Bourmane Excellent

    69/195

  • 7/27/2019 Cours UMl Bourmane Excellent

    70/195

    Relations Vin1 et Vin2

    NV Cru Qualit100 Volnay Moyen

    200 Chablis Excellent

    300 Chablis Moyen400 Volnay Mdiocre

    500 Sancerre Excellent

    Cru Anne DegrVolnay 1992 11.5Chablis 1997 12.3

    Chablis 1999 12.1

    Sancerre 2002 12.0

  • 7/27/2019 Cours UMl Bourmane Excellent

    71/195

    71

    Dpendance fonctionnelleDpendance fonctionnelle :

    Soit une relation R(A1,A2, , An), et X et Y des sous-

    ensembles de {A1,A2, , An}.Y dpend fonctionnellement de X (XY)si pour tout tuple t1 et t2 de R, on a :

    X(t1) = X(t2) => Y(t1) = Y(t2)

    Cl de relation :

    Sous-ensemble X des attributs dune relationR(A1,A2, , An)tel que

    1. XA1 A2 An

    2. Il nexiste pas de sous-ensembleY X tel que YA1 A2 An

  • 7/27/2019 Cours UMl Bourmane Excellent

    72/195

  • 7/27/2019 Cours UMl Bourmane Excellent

    73/195

    73

    Forme normale 1Pre (numro national, nom, prnom,

    prnom_enfants)

    NN Nom PrenomPrenom_enfants

    70101210130 Dupont Andr Paul Anne Eric

    68042110331 Durand Ren Jol Vincent

  • 7/27/2019 Cours UMl Bourmane Excellent

    74/195

  • 7/27/2019 Cours UMl Bourmane Excellent

    75/195

    75

    Forme normale 2Tarif (nom, adresse, article, prix)

    Nom Adresse Article PrixDupont Angleur Bureau 420

    Dupont Angleur Chaise 100

    Durand Mons Bureau 400Durand Mons Chaise 110

  • 7/27/2019 Cours UMl Bourmane Excellent

    76/195

    76

    Forme normale 2Nom Article Prix

    Dupont Bureau 420

    Dupont Chaise 100

    Durand Bureau 400

    Durand Chaise 110

    Nom Adresse

    Dupont Angleur

    Durand Mons

  • 7/27/2019 Cours UMl Bourmane Excellent

    77/195

    77

    Forme normale 3Vente(date, vendeur, nom_client,

    adresse_client)

    Date Vendeur Nom client Adresse client

    25/02/02 11h Dupont Detaille Bruxelles

    25/02/02 12h Durand Quevy Bruxelles

    06/03/02 9h Durand Labro Lige

    10/03/02 10h Dupont Detaille Bruxelles

  • 7/27/2019 Cours UMl Bourmane Excellent

    78/195

  • 7/27/2019 Cours UMl Bourmane Excellent

    79/195

    79

    Forme normale

    de Boyce-Codd

    Personne Sport Entraneur

    Paul tennis Durand

    Anne escalade Van Loock

    Jol tennis Durand

    Sophie tennis Detaille

    Paul escalade Van Loock

    Stage(personne, sport, entraneur)

  • 7/27/2019 Cours UMl Bourmane Excellent

    80/195

  • 7/27/2019 Cours UMl Bourmane Excellent

    81/195

    81

    PARTIE III

    La modlisation objet avec UML

    P. Bourmanne

    D. Bayers

  • 7/27/2019 Cours UMl Bourmane Excellent

    82/195

    82

    PREREQUIS Relire le document ConceptionObjet.pdf de

    P. Bourmanne (cours de POO)

  • 7/27/2019 Cours UMl Bourmane Excellent

    83/195

    83

    INTRODUCTIONPLAN :

    - Introduction : lapproche objet

    - UML : introduction

    - UML : dfinition

    - UML : les trois points de vue de la

    modlisation- UML : les diagrammes

  • 7/27/2019 Cours UMl Bourmane Excellent

    84/195

  • 7/27/2019 Cours UMl Bourmane Excellent

    85/195

    85

    UML : introduction UML = Unified Modeling Language

    (langage unifi pour la modlisation objet) Norme de standardisation des applications dveloppes selon le

    concept deprogrammation objet, labore en 1994 par les AmricainsG. BOOCH et J. RUMBAUGH et le Sudois I. JACOBSON pour lasocit "Rational".Cette norme - base sur la modlisation et la formalisation de projetsinformatiques, permettant de quantifier les besoins, ressources etrelations existantes entres eux - facilite la r-utilisation descomposants programms d'une application l'autre.

    Standardis par lOMG (Object Management Group) depuis 1997 La mthode UML simplifie le processus complexe de conception d'un

    systme informatique en dfinissant 3 points de vue (9 diagrammes)de modlisation .

    Utilis par des centaines de projets dans le monde Indispensable votre formation dinformaticien

    http://www.teaser.fr/~spineau/acrodict/index.php?NDFIC=004503&INDEX=&F_ZONE=1&F_TYPE=1&F_CLE=UML&F_FIND=1&IDBT=http://www.dicofr.com/cgi-bin/n.pl/dicofr/definition/20010101004118http://www.dicofr.com/cgi-bin/n.pl/dicofr/definition/20010101002821http://www.dicofr.com/cgi-bin/n.pl/dicofr/definition/20010101004015http://www.dicofr.com/cgi-bin/n.pl/dicofr/definition/20010101004015http://www.dicofr.com/cgi-bin/n.pl/dicofr/definition/20010101002821http://www.dicofr.com/cgi-bin/n.pl/dicofr/definition/20010101004118http://www.teaser.fr/~spineau/acrodict/index.php?NDFIC=004503&INDEX=&F_ZONE=1&F_TYPE=1&F_CLE=UML&F_FIND=1&IDBT=
  • 7/27/2019 Cours UMl Bourmane Excellent

    86/195

    86

    UML : dfinitionUML est un langage danalyse et de conception se basant sur la cration de modlessuccessifs de plus en plus affins afin de mettre en place une solution au problmetudi. Le cadre de cette modlisation est orient objet.

    UML a pour objectif de se rendre indpendant de certaines parties techniques comme parexemple le langage de programmation.

    Les diffrentes phases du dveloppement avec UML peuvent tre reprsentes aumoyen dune srie dediagrammes permettant de comprendre de manire visuelle lesconcepts dfinis. Tous les modles senchanent en passant de lanalyse la conception,

    gagnant en complexit, saffinant au fur et mesure pour arriver llaboration finale du

    modle. Les diagrammes permettent de comprendre sous diffrents angles la globalit ducas tudi en prsentant une vue fonctionnelle, statique et dynamique de celui-ci.Chaque diagramme exprime une partie de la structure totale, tout en tant un aspectparticulier du systme.

    Les diagrammes sont crs par un modlisateur (analyste);ils doivent gnralement tre valids par un expert mtier (non informaticien)

  • 7/27/2019 Cours UMl Bourmane Excellent

    87/195

    87

    MODELE, ANALYSE ET CONCEPTION Modle =

    description abstraite dun systme ou dun processus

    reprsentation simplifie qui permet de : Comprendre

    Simuler

    Modlisation = Description dun problme : ANALYSE

    Description de la solution dun problme : CONCEPTION

  • 7/27/2019 Cours UMl Bourmane Excellent

    88/195

    88

    UML : OBJECTIFS ET UTILISATION Objectif : Fournir une reprsentation de concepts qui facilite et

    rende efficace la communication entre les diffrentsprotagonistes dun projet :

    Informaticiens Experts mtier Utilisateurs

    Utilisations : Analyseret concevoirdes logiciels informatiques

    Communiquersur des processus logiciels ou dentreprises Prsentersous forme dtaille lanalyse dun systme(reprsentation graphique, vue dun systme)

    Documenterun systme, un processus ou une organisationexistants

  • 7/27/2019 Cours UMl Bourmane Excellent

    89/195

    89

    UML : les 3 points de vue de lamodlisation

    FONCTIONNELdiagramme de cas dutilisation

    STATIQUE DYNAMIQUEdiagramme de classes diagramme dtats

    diagramme de packages diagramme dactivitdiagramme dobjets diagramme de squencediagramme de structure composite diagramme de collaboration

    (ou de communication)

  • 7/27/2019 Cours UMl Bourmane Excellent

    90/195

    90

    UML : les 3 points de vue de lamodlisation (suite)

    Statique: Identifier les concepts du mtier, les modliser en tant que

    classes Identifier les associations pertinentes entre les concepts Rflchir aux multiplicits chaque extrmit dassociation Ajouter des attributs aux classes

    Dynamique: Rpertorier tous les messages que les acteurs peuvent

    envoyer au systme et recevoir Fonctionnel:

    Dtailler les diffrentes faons dont les acteurs peuventutiliser le systme.

  • 7/27/2019 Cours UMl Bourmane Excellent

    91/195

    91

    UML : diagrammes

    Point de vue fonctionnel : Diagramme de cas dutilisation: Premire tape dans le processus de modlisation,un cas dutilisation dcrit textuellement une situation, une fonctionnalit, dans la

    problmatique tudie. Il sagit dun scnario typique accompli par un ou plusieurs objetsmodliss. Le diagramme de cas dutilisation illustre les liens entre les diffrents cas et les

    intervenants dans les diffrents scnarios considrs.

    Point de vue statique :

    Diagramme de classes: Le diagramme de classes a pour caractristique dillustrer lesdiffrents acteurs, leurs compositions et leurs associations. Une classe est la descriptiondun groupe dobjets possdant des proprits communes ainsi que des comportements

    similaires. Lobjet est linstance dune classe particulire. Le diagramme de classes est

    une reprsentation statique des diffrentes classes du modle dvelopp.

  • 7/27/2019 Cours UMl Bourmane Excellent

    92/195

    92

    UML : diagrammes (suite)

    Point de vue dynamique :Diagramme dtats: Ce type de diagramme dcrit les diffrentes transitions dtats quisoprent au cours du temps de vie dun objet. Un tat se caractrise par sa dure et sastabilit, il reprsente une conjonction instantane des valeurs des attributs d'un objet etdes liens avec dautres objets. Les diffrents tats de lobjet sont lis entre eux et leurs

    transitions sont dclenches par certains vnements.

    Diagramme dactivit: Le diagramme dactivit reprsente les activits qui ont lieudans le droulement dun processus. Ils reprennent des concepts des diagrammes dtats

    insistant plus sur la modlisation de certaines activits avec des notions de concurrence

    et de synchronisation. Les diffrentes activits reprsentent les ralisations de certainesoprations. Le diagramme permet donc de reprsenter la succession des oprations aucours des flux de travail (workflows).

  • 7/27/2019 Cours UMl Bourmane Excellent

    93/195

    93

    UML : diagrammes (suite)

    Diagrammes dinteraction: Le comportement dynamique des objets et des acteurs estreprsent au moyen des diagrammes dinteraction :

    a) Diag ramme de squence: Dans ce type de diagramme, il se dgage une structure

    temporelle des messages qui sont changs entre les diffrents objets impliqus dans laralisation dun cas dutilisation. La dimension verticale montre les enchanementstemporels des messages. Les rponses des diffrents objets aux messages reus sontaussi clairement reprsentes et comprhensibles (dynamique de fonctionnement).

    b) Diagramme de co l laborat ion: Les diagrammes de collaboration sont une autre forme

    de reprsentation du comportement dynamique des objets illustrant la ralisation dun casdutilisation. Cette reprsentation est quivalente, mais elle se focalise davantage surlorganisation des objets : ils mettent en vidence les relations entre objets par ladisposition des objets.

  • 7/27/2019 Cours UMl Bourmane Excellent

    94/195

  • 7/27/2019 Cours UMl Bourmane Excellent

    95/195

    95

    DIAGRAMME DE CLASSE

    Objectif : dcrire la structure des entitsmanipules par les utilisateurs

    Reprsente la structure dun code orient

    objet

    Reprsentation :

    Classes (avec attributs et oprations), relies par: des associations, ou

    des gnralisations

  • 7/27/2019 Cours UMl Bourmane Excellent

    96/195

    96

    REPRESENTATION DUNE CLASSEDANS UN DIAGRAMME DE CLASSE

    Classe1

    nomA1 : type = valeur initiale

    nomA2 : type = valeur initiale

    nomM1 ( nomArg1:type = valeurDefaut,) : typeRetourn

    nomM2 ( nomArg1:type = valeurDefaut,) : typeRetourn

    Nom de classe

    Mthodes

    Attributs

  • 7/27/2019 Cours UMl Bourmane Excellent

    97/195

    97

    CLASSE ET OBJET

    Classe: Reprsente la description abstraitedun ensemble dobjets possdant

    les mmes caractristiques

    typedobjets Exemples : classe Voitureclasse Personne

    Objet :- Entit aux frontires bien dfinies, possdant une identit et encapsulant un

    tatet uncomportement

    instance(occurrence) dune classe- Exemples : ma voiture est une instance de la classe VoitureCh. Mathy est une instance de la classe Personne

  • 7/27/2019 Cours UMl Bourmane Excellent

    98/195

    98

    ATTRIBUT ET OPERATION

    Attribut : Reprsente un type dinformation contenu dans une

    classe Exemples :

    cylindre, numro dimmatriculation de la classe Voiture Cas particulier : attribut driv

    Opration : Reprsente un lment de comportement

    (service) contenu dans une classe Exemples :

    dmarrer(), avancer(), tourner() de la classe Voiture

  • 7/27/2019 Cours UMl Bourmane Excellent

    99/195

    99

    Visibilit des attributs et desoprations

    + public

    # protected

    - private

    Soulign : static (variables et oprations declasse)

  • 7/27/2019 Cours UMl Bourmane Excellent

    100/195

    100

    ASSOCIATION

    Association:

    Reprsente une relation smantique durableentre 2 classes

    Exemple : la relationpossde est une associationentre les classes Personne et Voiture : unepersonne peut possder des voitures

    Personne Voiture

    1 0 .. *

    possde >

  • 7/27/2019 Cours UMl Bourmane Excellent

    101/195

    101

    ASSOCIATION : caractristiques

    Lassociation estnomme (indication en italique - surle type de la relation).

    Mme si le terme qui nomme lassociation sembleprivilgier un sens, une association entre concepts estpar dfaut bidirectionnelle. Donc, implicitement,lexemple cit inclut galement le fait quune voiture estpossde par une personne.Par dfaut, un lien est donc navigable dans les 2 sens.Un objet (dit objet utilisateur) peut utiliser les servicesdun autre objet (dit objet utilis) selon le sens denavigation indiqu par lassociation. Pour utiliser unservice dun objet, lobjet utilisateur envoie un message

    lobjet utilis.

  • 7/27/2019 Cours UMl Bourmane Excellent

    102/195

  • 7/27/2019 Cours UMl Bourmane Excellent

    103/195

    103

    Valeurs conventionnelles demultiplicit

    1 Un et un seul (par dfaut)

    0 .. 1 Zro ou unM .. N De M N (entiers)

    * De zro plusieurs

    0 .. * De zro plusieurs

    1 .. * De un plusieurs

  • 7/27/2019 Cours UMl Bourmane Excellent

    104/195

    104

    AGREGATION

    Agrgation : cas particulier dassociation nonsymtrique* : une classe joue un rle prdominant

    par rapport lautre.Exemple courant: agrgation exprimant une relationde contenance.Inutile de nommer cette association : implicitement,

    elle signifie : contient, est compos de

    * lagrgat utilise les services du composant, pas linverse

  • 7/27/2019 Cours UMl Bourmane Excellent

    105/195

    105

    AGREGATION FORTE: composition

    Agrgation forte : agrgation non partage :

    un lment ne peut appartenir qu un seul objet, ditagrgat compositeDonc, multiplicit du ct de lagrgat : 1

    Responsabilit de lagrgat compositeconcernant le cycle de vie des parties :la destruction de lagrgat composite entrane la destruction

    de tous ses lments Exemples : le solde dun compte

    les dents dune personne

  • 7/27/2019 Cours UMl Bourmane Excellent

    106/195

    106

    AGREGATION FAIBLE

    Agrgation faible : agrgation partageable

    Lexistence du composant ne dpend pas de celle ducompos un mme composant peut faire partie deplusieurs agrgats

    Exemples :une quipe sportive est compose de personnes

    une classe de 2me info est compose de personnes

  • 7/27/2019 Cours UMl Bourmane Excellent

    107/195

    107

    GENERALISATION

    super-classe : classe plus gnrale relie une ouplusieurs autres classes spcialises(sous-classes) par une relation de gnralisation

    Les sous-classes hritent des proprits de leursuper-classe et peuvent comporter des propritsspcifiques supplmentaires

    Exemples : les voitures, les bateaux, les avions sontdes moyens de transport

    Une classe abstraitene sinstancie pas. Elle senote en italique.

  • 7/27/2019 Cours UMl Bourmane Excellent

    108/195

  • 7/27/2019 Cours UMl Bourmane Excellent

    109/195

  • 7/27/2019 Cours UMl Bourmane Excellent

    110/195

    110

    PACKAGE

    Package : mcanisme de regroupement dlments (classes et

    associations) Espace de noms

    Structuration dun modle en packages: Cohrence (regroupement des classes selon la

    smantique)

    Indpendance (minimisation des relations entre classes depackages diffrents)

    Exemple : package Clientle et package Voitures

  • 7/27/2019 Cours UMl Bourmane Excellent

    111/195

    111

    CONVENTION DE NOMMAGE

    Nom de classe :commence par une majusculeEx. : Client, Aeroport

    Nom dattribut, dopration, dassociation, de rle :

    commence par une minuscule, puis, ventuellement plusieurs motsconcatns commenant par une majusculeEx. : nom, numTel, heureDepart

    Nom dassociation en italique, et souvent par forme verbale (active oupassive) avec ventuellement un petit triangle dirig vers la classedsigne par la forme verbaleEx. entre les classes Societe et Personne:

  • 7/27/2019 Cours UMl Bourmane Excellent

    112/195

    112

    EXERCICE

    Etude dun systme de rservation de vol (cf. pages 80et suivantes de UML 2 par la pratique , P. Roques,Eyrolles, 2005, 4me dition ou pages 66 et suivantes

    dans la 2me dition:http://www.gramme.be/infopb/coursSL\analyse\references\externes/Modelisation_statique_by_Roques.pdf )

    Notions supplmentaires vues dans lexercice ( noter !) : Instance persistante Attribut driv

    Classe dassociation Contrainte sur une association({ordered}) Qualificatif

    http://www.gramme.be/infopb/coursSL/analyse/references/externes/Modelisation_statique_by_Roques.pdfhttp://www.gramme.be/infopb/coursSL/analyse/references/externes/Modelisation_statique_by_Roques.pdfhttp://www.gramme.be/infopb/coursSL/analyse/references/externes/Modelisation_statique_by_Roques.pdfhttp://www.gramme.be/infopb/coursSL/analyse/references/externes/Modelisation_statique_by_Roques.pdfhttp://www.gramme.be/infopb/coursSL/analyse/references/externes/Modelisation_statique_by_Roques.pdfhttp://www.gramme.be/infopb/coursSL/analyse/references/externes/Modelisation_statique_by_Roques.pdfhttp://www.gramme.be/infopb/coursSL/analyse/references/externes/Modelisation_statique_by_Roques.pdfhttp://www.gramme.be/infopb/coursSL/analyse/references/externes/Modelisation_statique_by_Roques.pdf
  • 7/27/2019 Cours UMl Bourmane Excellent

    113/195

  • 7/27/2019 Cours UMl Bourmane Excellent

    114/195

    114

    UML : POINT DE VUE FONCTIONNEL

    PLAN :

    - Concepts et dfinitions de base:- Acteur (principal/secondaire)

    - Cas dutilisation (CU)

    - Scnario

    - Exemples de cas dutilisation

  • 7/27/2019 Cours UMl Bourmane Excellent

    115/195

    Exemple de diagramme de casd tili ti

  • 7/27/2019 Cours UMl Bourmane Excellent

    116/195

    dutilisation

    Distributeur de billets

    Client

    Retirer de largent

    Consulter soncompte

    Assurerla maintenance

    TechnicienRecharger en billetsTransporteurde billets

    Banque centrale

  • 7/27/2019 Cours UMl Bourmane Excellent

    117/195

    117

    Diagramme de cas dutilisation

    Un diagramme de cas dutilisation : dcrit

    lesacteurs lescas dutilisation

    le systme

    contient

    des descriptions textuelles

  • 7/27/2019 Cours UMl Bourmane Excellent

    118/195

    118

    Le systme

    Le systme est un ensemble de cas dutilisation

    Le systme ne comprend pas les acteurs.

    Nom dusystme

    Nom du systme

  • 7/27/2019 Cours UMl Bourmane Excellent

    119/195

    119

    Acteur

    lment extrieur au systme qui interagit avec le systme

    Rle typique jou par un humain ou un systme connexe parrapport au systme

    Ex. : un client, un guichetier, un responsable maintenance,

    Une mme personne peut jouer plusieurs rlesEx. : Maurice est directeur mais peut faire le guichetier

    Plusieurs personnes peuvent jouer un mme rleEx. : Paul et Pierre sont deux clients

    Un acteur nest pas forcment un tre humain (dispositif matriel,

    )Ex. : un distributeur de billets peut tre vu comme un acteur

    Un acteur excute un ou plusieurs cas dutilisation

  • 7/27/2019 Cours UMl Bourmane Excellent

    120/195

    120

    Acteur

    Est reprsent par: un petit bonhomme (stick man) avec son nom dessous ou par un rectangle contenant le mot-cl > avec son nom

    dessous ou Par un mlange de ces 2 reprsentations

    acteur humain acteur non humain

    Pour les identifier : Quelles sont les entits externes au systme qui interagissent

    directement avec le systme ?

    Nom

    acteur

    Nom de lacteur Nom de lacteur

  • 7/27/2019 Cours UMl Bourmane Excellent

    121/195

  • 7/27/2019 Cours UMl Bourmane Excellent

    122/195

    122

    Utilit des acteurs

    La dfinition dacteurs permet didentifier les cas dutilisation

    Ex. : que peut faire un guichetier ? un client ? le directeur ? de voir le systme de diffrents points de vues

    de dterminer des droits daccs par type dacteur

    de fixer des ordres de priorit entre acteurs

    ...

  • 7/27/2019 Cours UMl Bourmane Excellent

    123/195

  • 7/27/2019 Cours UMl Bourmane Excellent

    124/195

    124

    Cas dutilisation

    Est reprsent par un ovale. Le nom du cas est inclus dans lellipseou figure en-dessous

    Reli par des associations participe ses acteurs Lensemble des cas dutilisation dcrit exhaustivement les

    fonctionnalits du systme (1 CU : 1 fonction mtier du systme)

    Pour les identifier: par acteur, quelles sont les diffrentes maniresdutiliser le systme ?

    Nom du CU

    Liste des proprits(sommaire didentification)

    Nom du CUNom CU

  • 7/27/2019 Cours UMl Bourmane Excellent

    125/195

    Exemple de description dtaille

  • 7/27/2019 Cours UMl Bourmane Excellent

    126/195

    126

    Exemple de description dtailledun CU: sommaire didentification

    Titre : Retirer de largentRsum : CU qui permet un client de la banque deretirer de largentActeurs : clientPrcondition :Le distributeur contient des billets, il est en attente dune

    opration, il nest ni en panne, ni en maintenanceDbut : lorsqu un client introduit sa carte bancaire dansle distributeur.

    Fin : lorsque la carte bancaire et les billets sont sortis.Postcondition :Le GAB contient moins de billets quau dbut du CU.Transaction de retrait enregistre par le GAB.Hors CU, car fonctionnalit de la banque du client :

    Si de largent a pu tre retir, la somme dargent sur le compte est gale la somme dargent quil y avait avant,moins le montant du retrait. Sinon la somme d argent sur le compte est la mme quavant.

    Retirerde largent

    Exemple de description dtaille

  • 7/27/2019 Cours UMl Bourmane Excellent

    127/195

    127

    Exemple de description dtailledun CU: description des scnarios

    Retirerde largent

    Scnario nominal = droulement normal :(1) le clientintroduit sa carte bancaire(2) le systme lit la carte et vrifie si la carte est valide(3) le systme demande au client de saisir son code

    (4) le clientsaisit son code confidentiel(5) le systme vrifie que le code correspond la carte(6) le clientchoisit une opration de retrait(7) le systme demande le montant retirer

    Scnarios derreurs (se terminent brutalement) :

    Carte invalide : au cours de l tape (2) si la carte est juge invalide, lesystme affiche un message derreur, rejette la carte et le casd utilisation se termine.Code erron (pour la 3me fois) : au cours de l tape (5) ...

    Scnarios alternatifsMontant demand suprieur au solde du compteCode erron (pour la 1re ou 2me fois)

    Exemple de description dtaille

  • 7/27/2019 Cours UMl Bourmane Excellent

    128/195

    128

    Exemple de description dtailledun CU: exigences non-fonctionnelles

    Exigences non-fonctionnelles :

    (A) Performance : le systme doit ragir dans un dlai

    infrieur 4 secondes, quelle que soit laction delutilisateur.(B) Rsistance aux pannes : si une coupure de courant ouune autre dfaillance survient au cours du cas dutilisation,

    la transaction sera annule, l argent ne sera pas distribu.Le systme doit pouvoir redmarrer automatiquement dansun tat cohrent et sans intervention humaine.(C) Rsistance la charge : le systme doit pouvoir grerplus de 1000 retraits d argent simultanment...

    Retirerde largent

    Exemple de description dtaille

  • 7/27/2019 Cours UMl Bourmane Excellent

    129/195

    129

    Exemple de description dtailledun CU: besoins IHM

    Besoins dIHM: dispositifs dentre-sortie la dispositionde lacteur principal:

    -Lecteur de carte bancaire-Clavier numrique-Ecran pour laffichage des messages du GAB-Touches autour de lcran

    -Distributeur de billets-Distributeur de tickets

    Retirerde largent

    Remarque : les IHM seront appliques lors de votre cours de POO/java en 2me et de votre cours de Dveloppement Web et

    a lications distribues en 3me

  • 7/27/2019 Cours UMl Bourmane Excellent

    130/195

  • 7/27/2019 Cours UMl Bourmane Excellent

    131/195

  • 7/27/2019 Cours UMl Bourmane Excellent

    132/195

    132

    Acteurs principaux et secondaires

    Acteur principaldun CU Celui pour qui le CU produit un rsultat observable A gauche des CU Rle indiqu ventuellement sur lassociation ct acteur :

    (valeur par dfaut)

    Acteur secondairedun CU Celui pour qui le CU ne produit pas un rsultat observable par lutilisateur Souvent sollicits pour des informations complmentaires Peuvent uniquement consulter ou informer le systme(pas dobjectif part

    entire de la part de lacteur secondaire)

    A droite des CU Rle indiqu ventuellement sur lassociation ct acteur : Ex. : systme dauthentification appel par le distributeur de billets

    Relations entre acteurs et cas

  • 7/27/2019 Cours UMl Bourmane Excellent

    133/195

    133

    Relations entre acteurs et casdutilisation

    Guichetier

    Crer Un Compte

    Relation dassociation ( participe ) :Lien entre un acteur et un cas dutilisation quil peut excuter

    Un cas dutilisation doit tre reli au moins unacteur

  • 7/27/2019 Cours UMl Bourmane Excellent

    134/195

    134

    Relations entre cas dutilisation

    fragment

    Identifier le clientRetirer de largent

    include

    Relation dinclusion (utilisation) Utilise pour enlever la rptition entre plusieurs cas dutilisation Utilisation du strotype include Un cas A (identifier le client) est inclus dans un cas B (retirer de

    largent) si le comportement dcrit par le cas A est inclus dans lecomportement de B

    Le CU de base B incorpore explicitement le CU A de faonobligatoire un endroit spcifi dans ses enchanements

    Le CU inclus peut porter le strotype fragment

    B A

  • 7/27/2019 Cours UMl Bourmane Excellent

    135/195

    135

    Relations entre cas dutilisation (2)

    Consulter soldeRetirer de largent

    extend Relation dextension

    optionnelle: le CU de baseB incorpore un CU A de faonoptionnelle :Ex. Le CU Consulter solde se fait uniquement

    sur demande du client de la banque; il tend le CU Retirer de largent

    Utilise lorsquun cas d'utilisation est semblable un autre, mais

    ajoute de la fonctionnalit. Utile pour reprsenter les exceptions

    Utilise pour dcrire une variation du comportement normal

    Souvent soumise condition exprime sous la forme dune note

    Utilisation du strotype extend

    Sur demandedu client

    BA

  • 7/27/2019 Cours UMl Bourmane Excellent

    136/195

    136

    Relations entre cas dutilisation (3)

    Relation de gnralisation Un cas A est une gnralisation dun cas B si B est un cas particulier

    de A

    Dposer de largent est cas dutilisation gnralis. Il devient abstrait (italique) car ilne sinstancie pas directement, mais uniquement par le biais de lun des 2 casspcialiss

    Distinguer 2 CU spcialiss possibilit de leur associer des acteurs secondairesdiffrents

    A

    B

    Dposer de

    largent

    Dposer duliquide

    Dposer deschques

  • 7/27/2019 Cours UMl Bourmane Excellent

    137/195

    137

    Relations entre acteurs

    Uniquement relation degnralisation/spcialisation

    A est une gnralisation de B si tous les CUaccessibles A sont accessibles B, maispas linverse

    BA

  • 7/27/2019 Cours UMl Bourmane Excellent

    138/195

    138

    Structuration en package

    Si les cas dutilisation sont nombreux les regrouperpar acteur

    Oprations client Oprations administrateur

    etc.

    les regrouperpar domaine fonctionnel

    Grer les contrats Grer les clients

    Etc. Grer lesclients

    ETAPES DE LA MODELISATION

  • 7/27/2019 Cours UMl Bourmane Excellent

    139/195

    139

    ETAPES DE LA MODELISATIONFONCTIONNELLE

    Identification des acteurs Identification des CU (par acteur) Ralisation des diagrammes de CU

    Description textuelle des CU (scnarios) * Organisation des CU (relations entre CU + packages)

    PUIS description graphique * * des CU : Modlisation dynamique:

    diagramme de squence systme diagramme dactivit

    * Pour communiquer facilement avec les utilisateurs et sentendre sur la

    terminologie mtier employe* * Pour mieux montrer la succession des enchanements

  • 7/27/2019 Cours UMl Bourmane Excellent

    140/195

    140

    EXEMPLES DE CAS DUTILISATION

    Etude dun guichet automatique de banque

    (GAB) (cf. pages 19 et suivantes de UML 2

    par la pratique , P. Roques, Eyrolles, 2005) Etude dune caisse enregistreuse (cf. pages

    52 et suivantes de UML 2 par la pratique ,P. Roques, Eyrolles, 2005)

    Notion supplmentaire vue( noter !) : Navigabilitsur lassociation

  • 7/27/2019 Cours UMl Bourmane Excellent

    141/195

    141

    UML : POINT DE VUE DYNAMIQUE

    PLAN:- Concepts et dfinitions de base:

    - Diagramme de squence (#140)- Diagramme de collaboration (non vu en 2me) (#147)- Diagramme dtats (#148)

    - Etat- Transition- Evnement- Message- Condition- Effet : action ou activit

    - Diagramme dactivit (#162)- Interaction Overview Diagram(non vu en 2me) (#178)

    - Exemples de diagrammes dynamiques UML

  • 7/27/2019 Cours UMl Bourmane Excellent

    142/195

    142

    Rle des diagrammes dynamiques

    Montrer la succession des enchanements

    Montrer la chronologie des messages

    envoys et reus Montrer quel moment un acteur est sollicit

  • 7/27/2019 Cours UMl Bourmane Excellent

    143/195

    143

    DIAGRAMME DE SEQUENCE: rle

    Visualisation des interactions entre objets selon unpoint de vue temporel

    Insistance sur la chronologie des envois desmessages

    Mise en vidence du fonctionnement du programmeavec visualisation du temps

    DIAGRAMME DE SEQUENCE:

  • 7/27/2019 Cours UMl Bourmane Excellent

    144/195

    144

    DIAGRAMME DE SEQUENCE:reprsentation

    Reprsentation des objets :

    nomObjet : NomClasse rectangle avec lenom de lobjet

    soulign

    ligne de vieAxe

    dutemps

    DIAGRAMME DE SEQUENCE :

  • 7/27/2019 Cours UMl Bourmane Excellent

    145/195

    145

    DIAGRAMME DE SEQUENCE :reprsentation (suite)

    Acteur principal : gauche

    Objet reprsentant le systme en bote noire aumilieu

    Acteurs secondaires : droite

    Echange de message :

    flche horizontale, de lmetteur vers le destinataire

    message

    acteurPrincipal systeme acteurSecondaire

    x

    Transition :instant dmission

    dun message;

    peut tre nomm(ex. : x,y)

    y

    {y-x < 5s }

    Contraintetemporelle

    DIAGRAMME DE SEQUENCE :

  • 7/27/2019 Cours UMl Bourmane Excellent

    146/195

    146

    :GAB :SystemeAutorisation

    Demande autorisation

    Autorisation (solde)

    :PorteurCarte

    DIAGRAMME DE SEQUENCE :reprsentation (suite)

    Flche de retouren pointill

    Banderectangulairesur ligne devie : Priodedactivit =temps

    pendant lequelun objeteffectue uneaction

    DIAGRAMME DE SEQUENCE :

  • 7/27/2019 Cours UMl Bourmane Excellent

    147/195

    147

    DIAGRAMME DE SEQUENCE :utilisations

    Documentation des CU (description de linteraction,pas de dtail de synchronisation):

    Diagramme de squence systme : Scnario nominal

    Diagramme de squence enrichi =Diagramme de squence systme +

    Principales actions internes du systme

    Renvois aux scnarios alternatifs et derreur Usage + informatique : messages au sens des

    langages de programmation

    DIAGRAMME DE SEQUENCE :

  • 7/27/2019 Cours UMl Bourmane Excellent

    148/195

    148

    G S QU Ccatgories de messages

    Synchronisation des messages: Message simple (objet client et serveur agissent dans le mme processus) Message synchrone(metteur bloqu: attend que rcepteur ait fini de traiter le message) Message minut (comme synchrone, sauf que lattente est limite par un timeout)

    Message drobant (minut par un dlai dattente nul) Message asynchrone (metteur non bloqu)

    Message rflexif: un objet senvoie un message lui-mme(exemple : pour indiquer des interactions internes entre composantsd un objet composite)

  • 7/27/2019 Cours UMl Bourmane Excellent

    149/195

  • 7/27/2019 Cours UMl Bourmane Excellent

    150/195

    150

    DIAGRAMME DE COLLABORATION

    Montre les objets, les liens qui les unissent etles messages quils schangent

    Mise en vidence des relations entre objets

    Rem. : nappartient pas la matire de 2me

  • 7/27/2019 Cours UMl Bourmane Excellent

    151/195

    151

    DIAGRAMME DETATS

    = statechart = cycle de viedune instance gnrique dune classe au fil de

    ses interactions avec le monde Utile : pour dcrire avec prcision des comportements

    complexes Seulement pour certaines classes du modle

    statique : Comportement ractif: si la raction un vnement dun objet

    dune classe dpend de son tat tat caractrise un type deraction

    Ncessit dtats squentiels pour prciser une chronologiedvnements

    Un objet suit globalement le comportement dcrit pour saclasse

  • 7/27/2019 Cours UMl Bourmane Excellent

    152/195

    152

    DIAGRAMME DETATS : construction

    Construction :

    Description du comportement nominal dun objet : squence

    dtats + transitions associes

    Ajout des transitions dues aux comportements alternatifs ouderreur

    (cf. CU)

    Reprsentation : graphe orient dtats et de transitions

    Etat 1

    Etat 3

    Etat 2 Un objet passepar unesuccessiondtats durantson existence

  • 7/27/2019 Cours UMl Bourmane Excellent

    153/195

    153

    ETAT

    Reprsente une situation durant la vie dun objet : Condition particulire satisfaite Activit particulire en cours Evnement particulier en attente

    Identification des tats : Recherche intuitive base sur lexpertise mtier Etude des attributs et des associations : valeur seuil dun attribut qui modifie la

    dynamique, Etablissement des interactions dans le comportement de chaque classe

    Un tat a une dure finie, variable selon larrive dvnements Un objet est toujours dans un tat donn pour un certain temps; il ne peut tre dans un tat

    inconnu ou non dfini Un tat est limage dune conjonction instantane des valeurs des attributs de lobjet et de

    la prsence (ou absence) de liens entre lobjet et dautres objets Etat initial: cration de linstance Etat final: destruction de linstance (il peut exister de 0 n tats finaux)

    systme qui ne sarrte pas conditions de fin diffrentes

  • 7/27/2019 Cours UMl Bourmane Excellent

    154/195

    154

    TRANSITION

    Description de la raction dun objet suite unvnement

    Connexion unidirectionnelle reliant 2 tats (parfois non

    distincts)

    Passage dun tat lautre : instantan (car objettoujours dans un tat connu)

    Constitution : vnement dclencheur Condition de garde Effet tat cible

    Etat Etat 1 Etat 2

  • 7/27/2019 Cours UMl Bourmane Excellent

    155/195

    155

    EVENEMENT

    Occurrence dun stimuluslocalis dans le temps et lespace:sert de dclencheur pour que lobjet passe dun tat un autre(objet contrl par les vnements en provenance du systme, dun autre objet)

    4 types : Signal: rception dun message(envoi asynchrone) Call event: appel dune opration sur lobjet rcepteur

    (appel synchrone) Time event: passage du temps (afterdure) Change event: changement de la satisfaction dune condition

    (whenexpression_boolenne)

    Spcification: Nom de lvnement Liste des paramtres (information circulant entre objets) Objet expditeur Objet destinataire Description de la signification de lvnement

    Le passage de faux vrai de lexpression

    boolenne dclenche la transition

    Evnements internes(au systme)

    Evnements externes

    (message au systme parun acteur, un autre objet)

  • 7/27/2019 Cours UMl Bourmane Excellent

    156/195

    156

    MESSAGE

    Transmission dinformation unidirectionnelleentre lobjet metteur et lobjet rcepteur

    Communication : Synchrone

    (ex.: call event) Asynchrone

    (ex.: envoi dun message)

    La rception du message est un vnementtrait par le rcepteur

  • 7/27/2019 Cours UMl Bourmane Excellent

    157/195

  • 7/27/2019 Cours UMl Bourmane Excellent

    158/195

    158

    EFFET

    Comportement optionnel de lobjet spcifi par une transition 2 types :

    Action (non interruptible) Activit: squence atomique (non interruptible) dactions

    Laction (ou les actions) correspond une opration dclare dans laclasse de lobjet destinataire de lvnement

    A accs : aux paramtres de lvnement aux attributs de lobjet

    Exemples daction :

    MAJ dun attribut Appel dopration Cration/destruction dun autre objet Envoi dun signal un autre objet

    Notation : /effet vnement /effetEtat 1 Etat 2

    EFFET ( i )

  • 7/27/2019 Cours UMl Bourmane Excellent

    159/195

    159

    EFFET (suite)

    Effet dentre : entry /Effet de sortie : exit /

    Remarques : une transition rflexive entrane lexcution des effets de sortie et dentre

    Un vnement interne nentrane pas lexcution des effets dentre et desortie Une activit interruptible sera associe un tat, non une transition; il

    sagit dune activit durable (do-activity); notation : do/activit.Cas particulier : Lorsquune activit squentielle se termine, unetransition automatique (sans vnement, avec garde ventuelle) estdclenche

    Un effet dentre (de sortie) reprsente une action ou uneactivit qui est excute chaque fois que lon entre (sort)

    dans (de) ltatfactorisation de leffet dclench par toutesles transitions qui entrent (sortent) dans (de) ltat

    Etat Aentry/A_In

    exit/A_Out

    EFFET ( it )

  • 7/27/2019 Cours UMl Bourmane Excellent

    160/195

    160

    EFFET (suite)

    Etat

    entry / opEntry

    do / opDo

    exit / opExit

    / opTransitionIn

    / opTransitionOutwhen(vn. interne;condition) / opChangeEventWhenafter(dure) / opTimeEventAfter

    Points dexcution des

    oprations

  • 7/27/2019 Cours UMl Bourmane Excellent

    161/195

    161

    Modlisation dun message reu/mis

    Message reu vnement qui dclencheune transition entre tats

    Message mis action (effet) sur latransition

    NOTATION GENERALE DU

  • 7/27/2019 Cours UMl Bourmane Excellent

    162/195

    162

    DIAGRAMME DETATS

    Etat 1do/activit 1 Etat 2do/activit 2

    Etat initial delobjet : cration

    Etat finalde lobjet :destruction

    Evnement(paramtres)[condition] / effet

    Etats avecactivitdurable

    Transition aveccondition et effet

    EXERCICE

  • 7/27/2019 Cours UMl Bourmane Excellent

    163/195

    163

    EXERCICE

    Etude dun publiphone pices (cf. pages 156 et suivantes de UML 2 par la pratique , P. Roques, Eyrolles, 2005)

    Notions supplmentaires vues dans lexercice ( noter !) :

    Diagramme de squence : oprateuropt Diagramme dtats :

    Etat composite ou super-tat Transition :

    propre (retour de lobjet au sous-tat initial) interne (pas deffet sur ltat courant) factorise (un super-tat permet de factoriser la transition)

    Pseudo-tat history Envoi de message un autre objet sur dclenchement dune transition :

    / send cible.message

    EXERCICE

  • 7/27/2019 Cours UMl Bourmane Excellent

    164/195

    164

    EXERCICE

    Etude dun rveil (cf. pages 181 et suivantes

    de UML 2 par la pratique , P. Roques,

    Eyrolles, 2005)

    DIAGRAMME DACTIVITE

  • 7/27/2019 Cours UMl Bourmane Excellent

    165/195

    165

    DIAGRAMME DACTIVITE

    Reprsentation de lensemble des actions ralises par lesystme, avec tous les branchements conditionnels et toutesles boucles possibles : reprsentation de la dynamique globaledu CU

    Graphe orient dactions et de transitions : Transitions automatiques* :

    franchies la fin des actions ventuellement gardes par des conditions boolennes mutuellement

    exclusives

    tapes : en parallle ou en squence

    * Pas de transition interne, ni de transition dclenche par un vnement

    REPRESENTATION

  • 7/27/2019 Cours UMl Bourmane Excellent

    166/195

    166

    REPRESENTATION

    Action 1 Action 2

    Action 3

    [Not OK]

    [OK]

    flots

    dbut actions

    conditions

    dcision

    fin

    EXEMPLE DE TRANSITION GARDEE

  • 7/27/2019 Cours UMl Bourmane Excellent

    167/195

    167

    EXEMPLE DE TRANSITION GARDEE

    Mesurer latemprature

    [trop froid] [trop chaud]

    chauffer refroidir

    Mesurer latemprature

    [trop froid] [trop chaud]

    chauffer refroidir

    REPRESENTATION 1

    REPRESENTATION 2

    FLOTS DE CONTROLE

  • 7/27/2019 Cours UMl Bourmane Excellent

    168/195

    168

    FLOTS DE CONTROLE

    Les flots de contrle connectent des actions(rectangles avec coins arrondis) pour indiquer quelaction pointe par la flche ne peut pas dmarrer

    tant que laction source nest pas termine

    Casser loeuf

    Sparer le blanc dujaune

    Action source

    Action pointe

    FLOTS DOBJETS

  • 7/27/2019 Cours UMl Bourmane Excellent

    169/195

    169

    FLOTS DOBJETS

    Les flots dobjets connectent des nudsdobjets (rectangles) pour fournir des entres

    (inputs) aux actions. Le nom dun tat peuttre mis entre crochets ( [nomEtat] ).Faire fondre lechocolat

    chocolat

    [fondu]

    Nud dobjet :

    - objet soulign

    - tat entre crochets

    Input

    pour laction

    suivante

    E l ti it d d

  • 7/27/2019 Cours UMl Bourmane Excellent

    170/195

    170

    Exemple : activits dune commande

    se renseigner tablir undevis

    commander

    facturer

    payer

    livrer

    commande[paye]

    commande

    [passe]

    bon delivraison

    La responsabilitdes diffrentesactivits peut trerpartie surdiffrents objets(client, vendeur,

    servicedexpdition)

    BARRE DE SYNCHRONISATION

  • 7/27/2019 Cours UMl Bourmane Excellent

    171/195

    171

    BARRE DE SYNCHRONISATION

    Une barre de synchronisation : reprsente une synchronisation entre flots de

    contrle parallles permet douvrir (fork= barre dembranchement)

    ou de fermer (join = barre de jointure) desbranches parallles au sein dun flot dexcution

    dune mthode ou dun CU

    FORK

  • 7/27/2019 Cours UMl Bourmane Excellent

    172/195

    172

    FORK

    fork: barre dembranchement

    Sparer les blancs

    des jaunes

    jaunes blancs

    Action

    fork

    Nuds dobjets

    FORK (suite)

  • 7/27/2019 Cours UMl Bourmane Excellent

    173/195

    173

    FORK (suite)

    Refroidir

    Arrter le

    chauffage

    Arer

    Les transitions audpart dune barre de

    synchronisation sontdclenchessimultanment

    JOIN

  • 7/27/2019 Cours UMl Bourmane Excellent

    174/195

    174

    JOIN

    join : barre de jointure (fusion de flots)

    chocolat[fondu]

    jaunes

    Ajouter les jaunesau chocolat fondu

    join

    JOIN (suite)

  • 7/27/2019 Cours UMl Bourmane Excellent

    175/195

    175

    JOIN (suite)

    Mesurer latemprature

    Arrter lechauffage

    Arer Une barre desynchronisation ne

    peut tre franchie quelorsque toutes lestransitions en entresur la barre ont tdclenches

    ACCEPT TIME EVENT

  • 7/27/2019 Cours UMl Bourmane Excellent

    176/195

    176

    ACCEPT TIME EVENT

    Accept time event

    Mettre les rcipientsde mousse au frigo

    Attendre 3h

    Accept time

    event

    REGION DEXPANSION

  • 7/27/2019 Cours UMl Bourmane Excellent

    177/195

    177

    REGION D EXPANSION

    Une rgion dexpansion est un nud dactivit structur quisexcute 1 fois pour chaque lment dans une collectiondentres. Les entres et sorties de la collection (nuddexpansion) sont matrialiss sur la frontire de la rgion

    (rectangle en pointills avec coins arrondis) par des petitsrectangles de plusieurs compartiments

    Mlanger les blancs laprparation chocolat

    Mlange

    Rcipients

    Verser dans unrcipient

    Mettreau frigo

    Rgiondexpansion

    REGION INTERRUPTIBLE

  • 7/27/2019 Cours UMl Bourmane Excellent

    178/195

    178

    :

    REGION INTERRUPTIBLE

    Une rgion interruptible est un ensemble de nuds et darcs dactivitau sein duquel lactivit se termine si un vnement dsign se

    produit. Cet vnement dinterruption apparat comme une flche clair

    Nettoyer et

    ranger

    Faire fondrele chocolat

    chocolat[fondu]

    chocolatest brl

    Recette rate

    Rgion interruptible :gestionnairedinterruption

    Flot dexception

    ENVOI/RECEPTION DUN SIGNAL

  • 7/27/2019 Cours UMl Bourmane Excellent

    179/195

    179

    ENVOI/RECEPTION D UN SIGNAL

    Envoi dun signal

    Rception dun signal

    EXERCICE

  • 7/27/2019 Cours UMl Bourmane Excellent

    180/195

    180

    EXERCICE

    Etude dun guichet automatique de banque

    (GAB)

    (cf. pages 19 et suivantes de UML 2 par lapratique , P. Roques, Eyrolles, 2005) :diagramme dactivit pour le retrait dargent

    page 37

    Interaction Overview Diagram

  • 7/27/2019 Cours UMl Bourmane Excellent

    181/195

    181

    Interaction Overview Diagram

    Fusion des diagrammes dactivit et de

    squence

    Actions remplaces par des interactions

    Rem. : nappartient pas la matire de 2me

    A FAIRE A DOMICILE

  • 7/27/2019 Cours UMl Bourmane Excellent

    182/195

    182

    A FAIRE A DOMICILE

    Lire le chapitre 8 Mthodes orientes

    objets du syllabus Mthodes danalyse dA. Clarinval

    TABLEAU RECAPITULATIF

  • 7/27/2019 Cours UMl Bourmane Excellent

    183/195

    183

    TABLEAU RECAPITULATIF

    Diagrammes de Point de vue des cas dutilisation Point de vue logique

    cas dutilisationActeurs

    CU

    classes

    Classes

    Relations

    objetsObjets

    Liens

    Classes

    Objets

    Liens

    squenceActeurs

    Objets

    Messages

    Acteurs

    Objets

    Messages

    collaboration

    Acteurs

    Objets

    Liens

    Messages

    Acteurs

    Objets

    Liens

    Messages

    tatsEtats

    Transitions

    Etats

    Transitions

    activitActivits

    Transitions

    Activits

    Transitions

    VERS UNE METHODE DEDEVELOPPEMENT

  • 7/27/2019 Cours UMl Bourmane Excellent

    184/195

    184

    DEVELOPPEMENT

    Cycle de vie itratifet incrmental: Abandon de la mthode en cascade pour un

    dveloppement itratif Exemple : RUP (cf. le document : Le processus

    RUP )

    VERS UNE METHODE DEDEVELOPPEMENT (suite)

    http://www.gramme.be/infopb/coursSL/analyse/cours/RUP.pdfhttp://www.gramme.be/infopb/coursSL/analyse/cours/RUP.pdfhttp://www.gramme.be/infopb/coursSL/analyse/cours/RUP.pdfhttp://www.gramme.be/infopb/coursSL/analyse/cours/RUP.pdf
  • 7/27/2019 Cours UMl Bourmane Excellent

    185/195

    185

    DEVELOPPEMENT (suite)

    Extrait de lavant-propos de :

    Guide pratique du RUP , P. Koll, Ph. Kruchten, CampusPress, 2003

    VERS UNE METHODE DEDEVELOPPEMENT (suite)

  • 7/27/2019 Cours UMl Bourmane Excellent

    186/195

    186

    DEVELOPPEMENT (suite)

    VERS UNE METHODE DEDEVELOPPEMENT (suite)

  • 7/27/2019 Cours UMl Bourmane Excellent

    187/195

    187

    DEVELOPPEMENT (suite)

    VERS UNE METHODE DEDEVELOPPEMENT (suite)

  • 7/27/2019 Cours UMl Bourmane Excellent

    188/195

    188

    DEVELOPPEMENT (suite)

    6 ETAPES dun processus dedveloppement (par Expert-IT SA)

  • 7/27/2019 Cours UMl Bourmane Excellent

    189/195

    189

    dveloppement (parExpert IT SA)

    Un processus dcrit: Quoi faire Comment le faire Qui le fera

    Quand le faire Pourquoi le faire Un processus :

    utilise UML comme langage de modlisation est un guide sur la manire dutiliser UML

    6 tapes dun processus de dveloppement logiciel:A. BesoinsB. Analyse des Business Process (BP)C. Recueil des besoins du projet informatiqueD. Analyse et design de lapplicationE. ImplmentationF. Logiciel fourni

    6 ETAPES dun processus dedveloppement (suite)

  • 7/27/2019 Cours UMl Bourmane Excellent

    190/195

    190

    dveloppement (suite)

    1) Besoins:lentreprise, dcompose en processus mtier, subitles actions du monde extrieur

    2) Analyse des BP :analyse du systme dinformation humain:

    a) Est alimente par : Business Process Modeling Notation (BPMN) Business Process Execution Language (BPEL) Business Process Modeling Language (BPML) Diagrammes dactivit Diagrammes dtat diagr. de classe Business UCb) Produit les artefacts suivants :- BP Model- Glossaire- Model Concepts

    6 ETAPES dun processus dedveloppement (suite)

  • 7/27/2019 Cours UMl Bourmane Excellent

    191/195

    191

    dveloppement (suite)

    3) Recueil des besoins du projet informatique:a) Est aliment par :- diagrammes CU- diagrammes dactivit, dtat, de squence, de classesb) Produit les artefacts suivants :- modlisation des concepts (UML)- catalogue des acteurs (UML)- catalogue des CU (UML)- catalogue des business rules (rgles communes tous

    les CU)- catalogue des besoins non fonctionnels (temps derponse, infrastructure Web, multilinguisme, )- glossaire (commenc ventuellement dans lanalyse desbesoins)

    Non UML:rgles debonnepratique

    6 ETAPES dun processus dedveloppement (suite)

  • 7/27/2019 Cours UMl Bourmane Excellent

    192/195

    192

    dveloppement (suite)

    4) Analyse et design de lapplication :(= comment va-t-on faire ?) :

    1) Organisation des classes du point de vue structurel et dynamique2) Point de vue technique, de linfrastructure

    a) Est alimente par :- diagrammes de classe- diagrammes dynamiquesb) Produit les artefacts suivants :- diagrammes de classe- modlisation dynamique

    5) Implmentation du logiciel :Do un feed-back sur les autres tapesb) Produit les artefacts suivants :- System Sequence Diagram (SSD): oprations systme avec pr-conditions et post-conditions

    6 ETAPES dun processus dedveloppement (suite)

  • 7/27/2019 Cours UMl Bourmane Excellent

    193/195

    193

    dveloppement (suite)

    6) Logiciel fourni :A chaque itration dimplmentation, un incrment est fourni auclient.

    Exemples dincrment :- un cran de cration de devis- association de lcran la cration dun plan mdia

    Limplication du client doit tre forteSeront rgulirement runis : analyste + dveloppeur + client

    NB : Recommandation : un artefact doit tre produit sur maximum3 semaines (sinon prvoir de plus petits artefacts)

    Travaux pratiques

  • 7/27/2019 Cours UMl Bourmane Excellent

    194/195

    194

    Travaux pratiques

    Utilisation du logiciel Rational Rose Enterprise 2003Rational Rose est le Leader Mondial en outil de Modlisation UML, c'est aussi l'undes plus coteux. Rational propose par ailleurs de nombreux outil pour faciliter lagestion des projets de dveloppement. Rational a par ailleurs pass un accord avec la

    Socit Ensemble pour distribuer le Rose Link qui procure une liaison bidirectionnellesynchronise entre un modle UML de Rose et un code Java ou Delphi par exemple.Avec cette combinaison le reverse engineering partir d'une application Java ouDelphi est possible. Rose Link Java est disponible pour Borland, JBuilder, Visual Caf,Oracle JDeveloper, & IBM's VisualAge.

    Utilisation du logiciel Microsoft Office Visio 2003

    (cf. http://www.microsoft.com/france/office/visio/decouvrez.mspx )

    Cf. les 6 TPs proposs surhttp://www.gramme.be/infopb/coursSL/analyse/TP

    Avec de lexprience

    http://www.rational.com/worldwide/france/index.jsphttp://www.rational.com/worldwide/france/index.jsphttp://www.ensemble-systems.com/http://www.microsoft.com/france/office/visio/decouvrez.mspxhttp://www.gramme.be/infopb/coursSL/analyse/TPhttp://www.gramme.be/infopb/coursSL/analyse/TPhttp://www.gramme.be/infopb/coursSL/analyse/TPhttp://www.microsoft.com/france/office/visio/decouvrez.mspxhttp://www.ensemble-systems.com/http://www.rational.com/worldwide/france/index.jsphttp://www.rational.com/worldwide/france/index.jsp
  • 7/27/2019 Cours UMl Bourmane Excellent

    195/195

    Avec de l exprience

    Etre comptent en UML, cest comprendre ceque chaque type de diagramme peut offrir et

    savoirquand il faut lutiliser. Souvent, unconcept pourra tre exprim au moyen deplusieurs diagrammes; lutilisateur

    expriment dUML saura utiliser le(s) plus