La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Université catholique de Louvain (UCL) Institut dAdministration et de gestion (IAG) Unité de Systèmes dinformation (ISYS) Place des Doyens, 1 B-1348 Louvain-la-Neuve.

Présentations similaires


Présentation au sujet: "Université catholique de Louvain (UCL) Institut dAdministration et de gestion (IAG) Unité de Systèmes dinformation (ISYS) Place des Doyens, 1 B-1348 Louvain-la-Neuve."— Transcription de la présentation:

1 Université catholique de Louvain (UCL) Institut dAdministration et de gestion (IAG) Unité de Systèmes dinformation (ISYS) Place des Doyens, 1 B-1348 Louvain-la-Neuve (Belgium) Presenté par 1 Notes de cours GETI 2351 Séminaire dinformatique Jean Vanderdonckt

2 2 Plan Présentation dUML UML et le design du logiciel interactif –Modèles et architectures typiques –Aspect statiques : modèles de classes et Design Patterns –Aspects dynamiques : programmation par événements et StateCharts UML et le design de linteraction –Use Cases –Processus de conception centré sur lutilisateur

3 3 Historique dUML Fin des années 80 : compétition des méthodes danalyse et de conception OO –Booch : particulièrement adaptée au design et à limplémentation –OOSE (Jacobson) : expression des besoins –OMT-2 (Rumbaugh) : analyse et applications orientées-données 1994 : Rumbaugh rejoint Booch chez Rational 1995 : Jacobson rejoint Rational 14 novembre 1997 : UML adopté par lOMG

4 4 Quest-ce quUML ? « UML est un langage pour visualiser, spécifier, concevoir et documenter les artefacts dun système à base logicielle » –Langage : lexique (graphique), syntaxe (diagrammes), sémantique –Visualiser : représentation graphique –Spécification : précis, complet, non-ambigu –Construction : translation vers des langages de programmation –Documentation : des besoins aux tests

5 5 Le Langage langage = syntaxe + sémantique –syntaxe = Règles par lesquelles les éléments du lexique (e.g., mots) sont assemblées en expressions (e.g., phrases, clauses) –sémantique = Règles par lesquelles on donne un sens aux expressions syntaxiques UML Notation Guide – définit la syntaxe graphique d'UML UML Semantics – définit la sémantique d'UML

6 6 Les briques de base de lUML Des choses… –Structurelles Classe, Interfaces, Collaborations, Use Cases… –Comportementales Messages et machines à états Des relations –Dépendances, Associations, Généralisation, Réalisation Des diagrammes

7 7 Concepts unificateurs dichotomie classifieur-instance –e.g., un objet est linstance dune classe OU une classe est le classifieur dun objet dichotomie spécification-réalisation –e.g., une interface est une spécification d'une classe OU une classe est une réalisation dune interface

8 8 Les diagrammes de lUML Diagramme de Classe Diagramme dObjets Diagramme Use Case Diagrammes dinteractions –Diagramme de Séquence –Diagramme de Collaboration StateCharts Diagramme dActivité Diagrammes de Composants Diagramme de Déploiement isomorphes

9 9 UML par lui-même © Chuck Suscheck 2000, communication personnelle

10 10 Fonction des diagrammes Diagrammes prescriptifs : décrivent le système tel quil doit être ou se comporter à tout moment –Classe, StateCharts, Use Cases, Activités, Composants, Déploiement Diagrammes descriptifs : illustrent un état ou un comportement possible et typique du système –Objet, Séquence, Collaboration

11 11 Modèles structurels Qu'est-ce qu'un modèle structurel ? Concepts Diagrammes structurels Quand produire des modèles structurels Trucs et astuces

12 12 Modèle structurel Une vue d'un système qui met l'accent sur la structure des objets, avec leurs classificateurs, leurs relations, leurs attributs et leurs opérations

13 13 Éléments de modélisation structurelle

14 14 ¹ Mécanisme dextension. Éléments de modélisation structurelle (suite)

15 15 Modélisation structurelle: Relations

16 16 Modélisation structurelle: Relations (suite)

17 17 Diagrammes structurels Montrent la structure statique d'un modèle –Les entités qui existent (e.g., classes, interfaces, composants, nœuds) –Leur structure interne –Leurs relations avec d'autres entités Ne montrent pas –Des informations temporelles ou dynamiques Catégories –Diagrammes structurels statiques diagramme de classe diagramme d'instances –Diagrammes d'implémentation diagrammes de composants diagrammes de déploiement

18 18 Définition d'une classe Description d'un ensemble d'objets qui ont même structure et même sémantique –Nom –Attributs –Opérations –Responsabilités Exprimées en langage naturel

19 19 Classes Fig. 3-17, UML Notation Guide

20 20 Opérations (méthodes) Implémentation d'un service offert par l'objet, correspondant à une partie de ses responsabilités –Accesseurs : une opération qui renvoie une information sur l'état de l'objet (fonction) –Modifieur : une opération qui modifie l' état de l'objet (procédure) –Constructeur : une opération de la classe qui permet d'initialiser une nouvelle instance

21 21 Utilisation des attributs Utilisation plus limitée que dans une modélisation de type entité-association –La définition d'un attribut contraint l'implémentation future de la classe –Préférer des accesseurs / modifieurs A réserver à des types primitifs (entier, réel) ou des « structures de données » simples (string, date) Ne pas utiliser de structures de type tableau, liste, … –Sauf exception...

22 22 Visibilité des attributs / Méthodes Public (+) –Visible et utilisable par toute autre classe (utilisation très limitée) Protected (#) –Visible et utilisable par toute spécialisation de la classe Private (-) –Visible uniquement par la classe elle-même Sinon ? –On utilisera la sémantique de java (package)

23 23 Interfaces Fig. 3-24, UML Notation Guide

24 24 Associations Expriment une relation permanente entre instances de 2 ou plusieurs classes –Nom de l'association –Sens de lecture –Cardinalités et rôles –Visibilité des rôles –Navigabilité

25 25 Associations

26 26 Associations

27 27 Fig. 3-31, UML Notation Guide Associations ternaires

28 28 Relation de composition Relation « du tout à la partie » –Plus forte que l'association : implique une relation de cycle de vie entre les instances (la création/destruction du tout entraîne celle de ses parties) –Navigabilité souvent asymétrique : les parties ne connaissent pas le tout

29 29 Composition Fig. 3-36, UML Notation Guide

30 30 Agrégation / Composition Fig. 3-32, UML Notation Guide

31 31 Généralisation Relation de spécialisation (est-un, is-a- kind-of) entre classes –La classe spécialisée (sous-classe) hérite des méthodes et des attributs de la classe- générale (super-classe) –Elle peut ajouter des attributs / méthodes –Elle peut redéfinir le comportement des méthodes (mais pas les attributs !) Principe de substituabilité de Liskov

32 32 Généralisation Fig. 3-38, UML Notation Guide

33 33 Spécialisation multiple Fig. 3-39, UML Notation Guide

34 34 Dépendance Une relation transitoire entre classes, qui n'est pas représentable par association ou composition –Un objet sert à créer des objets d'une autre classe (factory object) –Un objet utilise un autre sans qu'il fasse partie de ses attributs Il peut recevoir un objet en tant que paramètre ou valeur de retour d'une méthode

35 35 Dépendances Fig. 3-41, UML Notation Guide

36 36 Objets Fig. 3-29, UML Notation Guide

37 37 Diagramme dobjets P1: Polygone estVisible : true : Point coordX : 100 coordY : 200 : Point coordX : 150 coordY : 250 : Point coordX : 300 coordY : 300 : Point coordX : 90 coordY : 30 G: AttibutGraphique couleurTrait : ROUGE Epaisseur : 2 Remplissage : VERT

38 38 Use Cases Les Use Cases permettent danalyser les besoins, en décrivant comment le système doit être utilisé et dans quel but. –Forte similarités avec les techniques danalyse de la tâche. Support UML pour les Use Cases : Nouvelle Commande

39 39 Définition des Use Cases Jacobson, 1992 –« … une façon spécifique dutiliser le système en utilisant une partie de sa fonctionnalité. [Un use case] constitue une séquence complète dinteraction qui a lieu entre un acteur et le système » Rumbaugh et al, 1999: 488 –« …la spécification de séquences dactions, pouvant inclure des variantes ou des séquences derreur, quun système, sous-système ou classe peuvent exécuter en interagissant avec des acteurs extérieurs » Fowler, 1997: 43 –« … une interaction typique entre un utilisateur et un système informatique … [qui] capture une fonction dintérêt pour lutilisateur … [et qui] permet datteindre un but discret pour lutilisateur »

40 40 Éléments des Use Cases

41 41 Use case : Relations >

42 42 Use Case : relations >

43 43 Diagrammes de Use Cases Permettent dorganiser les Use Cases qui décrivent un système de manière structurée –Use Cases –Acteurs (plutôt rôle !) –Relations : dépendance, généralisation, association

44 44 Exemple de diagramme Titulaire stagiaire Operateur System Boundary Box Commande Express Valider Utilisateur Vérification mot de passe Nouvelle Commande identification rétinienne Gérer les commandes 1 1 > Commande Express Valider Utilisateur Vérification mot de passe Nouvelle Commande identification rétinienne Gérer les commandes Titulaire stagiaire Operateur

45 45 Narration « continue » A cash withdrawal transaction is started from within a session when the customer chooses cash withdrawal from the menu of possible transaction types. The customer chooses a type of account to withdraw from (e.g., checking) from a menu of possible accounts, and then chooses a dollar amount from a menu of possible amounts. The system verifies that it has sufficient money on hand to satisfy the request. If not, it reports a failure to the session, which initiates the Failed Transaction Extension to report the problem. If there is sufficient cash, it sends the customer's card number, PIN, chosen account and amount to the bank, which either approves or disapproves the transaction. If the transaction is approved, the machine dispenses the correct amount of cash and issues a receipt. If the transaction is disapproved due to an incorrect PIN, the Incorrect PIN extension is executed. All other disapprovals are reported to the session, which initiates the Failed Transaction Extension. The bank is notified whether or not an approved transaction was completed in its entirety by the machine; if it is completed then the bank completes debiting the customer's account for the amount. [Bjork, 1998]

46 46 Séquence Numérotée Withdraw Money –1. The use case begins when the Client inserts an ATM card. The system reads and validates the information on the card. –2. System prompts for PIN. The Client enters PIN. The system validates the PIN. –3. System asks which operation the client wishes to perform. Client selects Cash withdrawal. –4. System requests amounts [sic]. Client enters amount. –5. System requests type. Client selects account type (checking, savings, credit). –6. The system communicates with the ATM network to validate account ID,PIN, and availability of the amount requested. –7. The system asks the client whether he or she wants a receipt. This step is performed only if there is paper left to print the receipt. –8. System asks the client to withdraw the card. Client withdraws card. (This is a security measure to ensure that Clients do not leave their cards in the machine.) –9. System dispenses the requested amount of cash. –10. System prints receipt.

47 47 Narration Partitionnée Action utilisateurRéponse du système –insert card in ATM – read card – request PIN –enter PIN – verify PIN – display option menu –select option – display account menu –select account – prompt for amount –enter amount – display amount –confirm amount – return card –take card – dispense cash if available

48 48 Autres techniques Pseudo-Code –until customer_done repeat –if valid_user_code then do…end_do else do…end_do end_if Diagrammes dinteraction

49 49 Pré et Post-Conditions Place Order –Preconditions: A valid user has logged into the system. –Flow of events: Basic Path –1. The use case starts when the customer selects Place Order –2. The customer enters his or her name and address. –3. If the customer enters only the zip code, the system will supply city and state. –4. The customer will enter product codes for the desired product. –5. The system will supply a product description and price for each item. –6. The system will keep a running total of items ordered as they are entered. –7. The customer will enter credit card information. –8. The customer will select Submit. –9. The system will verify the information, save the order as pending, and forward payment information to the accounting system. –10. When payment is confirmed, the order is marked Confirmed, an order ID is returned to the customer, and the use case ends. Alternative paths –In step 9, if any information is incorrect, the system will prompt the customer to correct the information. –Postcondition: The order has been saved and marked confirmed.

50 50 Références Rumbaugh, J., Jacobson, I., and Booch, E. (1999) The Unified Modeling Language Reference Manual. Reading, MA: Addison-Wesley. Jacobson, I., Christerson, M., Jonsson, P., and Övergaard, G. (1992) Object-Oriented Software Engineering: A Use Case Driven Approach. Reading, MA: Addison-Wesley. Fowler, M. (1997) UML Distilled: Applying the Standard Object Modeling Language. Reading, MA: Addison-Wesley. Constantine, L. L., & Lockwood, L. A. D. (1999) Software for Use: A Practical Guide to the Models and Methods of Usage-Centered Design. Boston: Addison-Wesley.

51 51 Source R. Bastide, Introduction à UML, Tutoriel n°11, Conférence IHM-HCI2001

52 52 Ressources Web "CHI'98 Workshop "From Task to Dialogue: Task-Based User Interface Design" Web page, April paderborn.de/fachbereich/AG/szwillus/chi98ws/ "Experimental Object Technologies - xjCharts." Web page, "For Use - Constantine & Lockwood, Ltd. home page for practitioners of usage-centered design." Web page, "Incorporating Work, Process and Task Analysis Into Commercial and Industrial Object-Oriented Systems Development." Web page, "Use Cases Still Dangerous : Editorial : uidesign.net." Web page,


Télécharger ppt "Université catholique de Louvain (UCL) Institut dAdministration et de gestion (IAG) Unité de Systèmes dinformation (ISYS) Place des Doyens, 1 B-1348 Louvain-la-Neuve."

Présentations similaires


Annonces Google