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

Modèlisation des système - UML

Présentations similaires


Présentation au sujet: "Modèlisation des système - UML"— Transcription de la présentation:

1 Modèlisation des système - UML
Master 1 - SIGLIS Master 1 SIGLIS Modélisation des Systèmes Stéphane Tallard UML Master 1 SIGLIS Modèlisation des système - UML

2 Modèlisation des système - UML
Master 1 - SIGLIS Objectif de ce cours A la fin de la session, vous devez être capable de: Traduire un cahier des charges en concepts UML Utiliser Les diagrammes de cas d’utilisation Les diagrammes de séquence Les diagrammes d’activité Les diagrammes d’états-transition Les diagrammes de classe Utiliser un outil UML : Argo UML Master 1 SIGLIS Modèlisation des système - UML

3 Modèlisation des système - UML
Master 1 - SIGLIS Plan du cours Vue d’ensemble Le Génie logiciel Recueil des besoins Analyse Synthèse Master 1 SIGLIS Modèlisation des système - UML

4 Modèlisation des système - UML
Master 1 - SIGLIS C’est quoi UML ? UML : Unified Modeling Language UML est uniquement un language UML n’est pas une méthode de conception UML est le fruit d’une évolution des méthodes orientées objet Master 1 SIGLIS Modèlisation des système - UML

5 Modèlisation des système - UML
Master 1 - SIGLIS Avantages de la modélisation UML (1/3) Le modèle est pérenne, car les notations le sont aussi. La vision du système est partagée grâce au fait : Que tout le monde voit la même spécification Que tout le monde contribue à faire évoluer le modèle en introduisant sa propre vision Master 1 SIGLIS Modèlisation des système - UML

6 Modèlisation des système - UML
Master 1 - SIGLIS Avantages de la modélisation UML (2/3) UML est une notation de plus en plus répandue (connue, enseignée, supportée par les outils…). UML permet de répartir simplement le travail de spécification sur plusieurs personnes. Il n’est pas nécessaire d’avoir des compétences métier pour manipuler des diagrammes UML : fonctionnels et développeurs ont un langage commun. Master 1 SIGLIS Modèlisation des système - UML

7 Modèlisation des système - UML
Master 1 - SIGLIS Avantages de la modélisation UML (3/3) Même les plus gros projets peuvent être spécifiés et maintenus en UML. Formaliser en UML permet De préciser sa pensée, De pousser les intervenants à communiquer et à partager leurs connaissances, D’éviter d’instaurer des gourous. Master 1 SIGLIS Modèlisation des système - UML

8 Modèlisation des système - UML
Master 1 - SIGLIS Plan du cours Vue d’ensemble Le Génie logiciel Recueil des besoins Analyse Synthèse Master 1 SIGLIS Modèlisation des système - UML

9 Le cycle en V Spécification Conception générale Tests d’intégration
Master 1 - SIGLIS Le cycle en V Expression des besoins Tests de validation/recette Spécification Validation/ Recette Tests d’intégration Conception générale Tests d’intégration Tests unitaires Conception détaillée Tests unitaires Détails Réalisation Temps Master 1 SIGLIS Modèlisation des système - UML

10 Modèlisation des système - UML
Master 1 - SIGLIS Le cycle en V: les grandes idées Le cycle en V consiste à découper un projet en une suite d’étapes qui s’enchaînent. La phase n débute lorsque la phase n-1 est achevée Lors des phases de spécification et de conception on crée des documents de validation/tests qui sont utilisés lors des phases de tests Master 1 SIGLIS Modèlisation des système - UML

11 Modèlisation des système - UML
Master 1 - SIGLIS Le cycle en V Expression des besoins: Rédaction d’un cahier des charges Spécifications: définition des différents modules / applications et des services qu’elles offrent Conception détaillée : conception des écrans, des interfaces, des différents modules Réalisation : Programmation Test unitaire : test de chaque module (en utilisant des bouchons) Test d’intégration : assembler les différents modules et tester Test de validation/recette : tester la conformité par rapport aux spécifications test de validation: test en interne avant recette tests de recette: avec l’utilisateur final, on fait les manipulations décrites dans les tests de recette Master 1 SIGLIS Modèlisation des système - UML

12 Modèlisation des système - UML
Master 1 - SIGLIS Le cycle en V: les avantages On utilise une approche descendante : du plus général au plus détaillé. On se sert des documents que l’on a écrit dans les phases amonts pour réaliser la validation du logiciel Oblige à prendre en compte la validation dès le début du projet Définit les notions de tests unitaires et de tests d’intégration Définit les livrables (documents de spécification, de conception, de validation). Master 1 SIGLIS Modèlisation des système - UML

13 Modèlisation des système - UML
Master 1 - SIGLIS Le cycle en V: les inconvénients (1/2) Le cycle en V ne prend pas en compte la réalité Que se passe t’il lorsque le cahier des charges change lors de la construction du système ? Que se passe lorsque on s’aperçoit pendant le tests qu’une brique technique ne permet pas de répondre à une exigence technique ? Ex: Java, son Garbage Collector et les contraintes temps réel Pas de vérification et validation à la fin de chaque étape Que se passe t’il lors des tests lorsqu’on découvre un gros bug : les équipes de tests/validation attendent (longtemps) ! Master 1 SIGLIS Modèlisation des système - UML

14 Modèlisation des système - UML
Master 1 - SIGLIS Le cycle en V: les inconvénients (2/2) Effet tunnel: pour les projets longs, on ne voit pas le bout  Ce n’est pas motivant ! Peu ou pas de possibilité de maquettage et/ou de prototypage.  Que se passe si le commanditaire dit « ce n’est pas ça que j’ai demandé » à la fin du projet ? Comment vérifier qu’on construit le bon système ? Comment vérifier que l’on construit le système correctement ? Master 1 SIGLIS Modèlisation des système - UML

15 Modèlisation des système - UML
Master 1 - SIGLIS La solution (1): modèle itératif Master 1 SIGLIS Modèlisation des système - UML

16 Modèlisation des système - UML
Master 1 - SIGLIS La solution (1) : Le modèle itératif Réduction du risque par morcellement Chaque itération : Est fondée sur le résultat stable d’une itération antérieure qu’elle améliore si nécessaire Produit un ‘prototype’ validé Avantages : Pas d’effet tunnel Les difficultés d’une itération sont levées dans la suivante Production de résultats visibles très tôt Meilleure traçabilité des exigences Meilleure répartition des tâches sur les ressources Un prototype validé peut éventuellement être mis en production le retour sur investissement peut arriver rapidement Inconvénients : Impose des disponibilités de la part du client Tendance à laisser le client valider (réduction de l’effort de test) Master 1 SIGLIS Modèlisation des système - UML

17 Modèlisation des système - UML
Master 1 - SIGLIS La solution (2): Cycle en Y Master 1 SIGLIS Modèlisation des système - UML

18 Modèlisation des système - UML
Master 1 - SIGLIS La solution (3) : Combiner le cycle en V et le modèle itératif Avantages Détecte les conflits techniques / fonctionnels Particulièrement adapté aux NTIC où l’on utilise des briques open source (COTS: Component On The Shelf) ex : MySql, Tomcat Le modèle en Y permet de tester ces composants Inconvénients L’organisation doit être adaptée Master 1 SIGLIS Modèlisation des système - UML

19 Modèlisation des système - UML
Master 1 - SIGLIS Exercice Vous êtes employé chez un tour operator pour organiser les voyages des clients. Un client vous appelle. Il veut aller de Bayonne à Paris. On vous demande non seulement de trouver le moyen de transport mais de guider complètement le client tout au long de son voyage. Master 1 SIGLIS Modèlisation des système - UML

20 Modèlisation des système - UML
Master 1 - SIGLIS Les facteurs externes de qualité d’un logiciel (Bertrand Meyer) Validité : aptitude d'un produit logiciel à réaliser exactement les tâches définies par sa spécification Robustesse : aptitude d'un logiciel à fonctionner même dans des conditions anormales Extensibilité : facilité d'adaptation d'un logiciel aux changements de spécification Réutilisabilité : aptitude d'un logiciel à être réutilisé en tout ou partie Compatibilité : aptitude des logiciels à pouvoir être combinés les uns aux autres Efficacité : aptitude d'un logiciel à bien utiliser les ressources matérielles telles la mémoire, la puissance du CPU, etc. Portabilité : facilité à être porté sur de nouveaux environnements matériels et/ou logiciels Traçabilité : capacité à identifier et/ou suivre un élément du cahier des charges avec un composant d'un logiciel Vérifiabilité : facilité de préparation des procédures de recette et de certification Intégrité : aptitude d'un logiciel à protéger ses différents composants contre des accès ou des modifications non autorisés Facilité d'utilisation : ... Exercice : Trouver des indicateurs qui permettent d’évaluer ces points Master 1 SIGLIS Modèlisation des système - UML

21 Modèlisation des système - UML
Master 1 - SIGLIS UP: Unified Process Itératif et incrémental Un projet est divisé en itérations : une itération est constituée des mêmes étapes Une itération prend en compte un ou plusieurs cas d’utilisation Pour concevoir les itérations le critère de choix c’est d’abord l’élimination des risques On essaie de faire en sorte que les itérations finissent par être des additifs Piloté par les cas d’utilisation Un cas d’utilisation est une fonctionnalité du système offrant un résultat tangible pour l’utilisateur L’utilisateur peut être un être humain, mais un système externe Les modèles décrivent la réalisation d’un cas d’utilisation Centré sur l’architecture fonctionnelle et technique L’architecture doit permettre de réaliser les cas d’utilisation L’architecture et les cas d’utilisation doivent évoluer de concert (on retrouve les deux branches du Y du cycle en Y) L’architecte doit avoir une compréhension globale des cas d’utilisation S’appuie sur UML Master 1 SIGLIS Modèlisation des système - UML

22 Modèlisation des système - UML
Master 1 - SIGLIS Plan du cours Vue d’ensemble Le Génie logiciel Recueil des besoins Analyse Synthèse Master 1 SIGLIS Modèlisation des système - UML

23 Modèlisation des système - UML
Master 1 - SIGLIS Diagrammes d’activité Master 1 SIGLIS Modèlisation des système - UML

24 Modèlisation des système - UML
Master 1 - SIGLIS Diagramme d’activité: Transitions et nœuds d’action Etat final – Etat initial l’état initial est le point de départ de la lecture du diagramme, L’état final identifie la fin du diagramme un seul état initial et au moins un état final par diagramme Activité Une activité représente une exécution d'un mécanisme, un déroulement d'étapes séquentielles. une transition représente un passage d’une activité à la suivante. Une activité peut être détaillée dans un autre diagramme d’activités Nœud Conditionnel un nœud conditionnel permet de définir plusieurs possibilités de fonctionnement Master 1 SIGLIS Modèlisation des système - UML

25 Modèlisation des système - UML
Master 1 - SIGLIS Diagramme d’activité: synchronisation, couloirs d’activité Synchronisation: permet la parallélisation des traitements Couloir: permet l’affectation des traitements à des responsables différents Master 1 SIGLIS Modèlisation des système - UML

26 Modèlisation des système - UML
Master 1 - SIGLIS Diagrammes d’activités: Flot d’objets Un flot d’objets permet de passer des données d’une activité à une autre Le flot d’objet permet de noter le changement d’état d’un objet Master 1 SIGLIS Modèlisation des système - UML

27 Modèlisation des système - UML
Master 1 - SIGLIS Exercice Que veut-il dire ? Master 1 SIGLIS Modèlisation des système - UML

28 Modèlisation des système - UML
Master 1 - SIGLIS Exercice: Utilisation d’un téléphone portable Un fabricant de téléphone portable souhaite réécrire ses spécifications en utilisant UML. Traduisez le texte suivant en diagramme d’activité. Pour utiliser le téléphone il faut d’abord le sortir de sa housse puis l’ouvrir. L’utilisateur compose ensuite le numéro. Lorsque son correspondant décroche il peut engager la conversation. Si le forfait arrive à expiration, la communication est coupée. Sinon l’utilisateur raccroche en fin de communication. Master 1 SIGLIS Modèlisation des système - UML

29 Modèlisation des système - UML
Master 1 - SIGLIS Plan du cours Vue d’ensemble Le Génie logiciel Recueil des besoins Analyse Synthèse Master 1 SIGLIS Modèlisation des système - UML

30 Modèlisation des système - UML
Master 1 - SIGLIS Les cas d’utilisation (UC) Ils permettent de définir: Qui utilise le système ? Comment les utilisateurs se servent du système ? On veut : Eviter les demandes d’utilisateurs qui arrivent en continu alors que le développement a débuté Permettre de définir des priorités : on commence par travailler sur les cas d’utilisation les plus importants Structurer les itérations: à chaque itération on associe un ensemble de cas d’utilisation à réaliser. Les développements sont dirigés par les cas d’utilisation. Master 1 SIGLIS Modèlisation des système - UML

31 Modèlisation des système - UML
Master 1 - SIGLIS Cas d’utilisation: Vue globale Master 1 SIGLIS Modèlisation des système - UML

32 Modèlisation des système - UML
Master 1 - SIGLIS Les acteurs Un acteur est un élément extérieur au système et interagissant avec le système Peut être un humain ou un système ou une réglementation ou …. Personne qui utilise le système (Magasinier, Commercial , Gestionnaire de production) matériel externe (ex. Dispositif de sauvegarde automatique) système externe (ex. SGBD) Nécessite une description précise et concise tout acteur doit communiquer avec le système On peut faire des hiérarchies d’acteurs: tout ce que sait faire le père, le fils sait le faire Master 1 SIGLIS Modèlisation des système - UML

33 Modèlisation des système - UML
Master 1 - SIGLIS Les cas d’utilisation (UC) Représente un (ensemble de) service(s) rendu(s) par le système Est assimilé à une fonction (macroscopique ou microscopique) On peut regrouper les UC par application Règle de vérification et de vérification un cas d'utilisation est toujours en relation soit avec un acteur soit avec un autre cas d'utilisation un UC en tant que fonction est traduit par un verbe d'action correspondant à une notion de traitement NB : une fonctionnalité (UC) isolée traduit une erreur de conception ! Master 1 SIGLIS Modèlisation des système - UML

34 Modèlisation des système - UML
Master 1 - SIGLIS Cas d’utilisation: Quel niveau de détail ? Se rappeler que le but est avant tout de borner le système Il n’y pas d’intérêt à modéliser les règles métier Exemple : La détermination d’une ristourne Les UC doivent exprimer: Il y a une fonction du système qui va calculer les ristournes L’acteur qui se sert de la fonction: le commercial, le responsable du service commercial, … Comment elle est utilisée: Manuellement par un choix dans une liste de règles préprogrammées Automatiquement en fonction de l’historique du client Par saisie manuelle du pourcentage On n’est pas intéressé là par les différentes techniques de calcul Master 1 SIGLIS Modèlisation des système - UML

35 Modèlisation des système - UML
Master 1 - SIGLIS Relation entre cas d’utilisation : include relation d'inclusion traduisant une obligation et indiquant la réutilisation d’une autre fonctionnalité Quand on fait une commande sur la Redoute.fr on doit valider le moyen de paiement (contrôle carte bleue). Tout cas d'utilisation doit avoir au moins une relation avec une autre cas d'utilisation ou avec un acteur NB : les relations entre UC correspondent à des demandes de service mais il n'y a pas d'ordre comme dans un graphe d'appels de fonction Pour créer la commande je dois valider le moyen de paiement. Master 1 SIGLIS Modèlisation des système - UML

36 Modèlisation des système - UML
Master 1 - SIGLIS Relation entre cas d’utilisation : extend Il s’agit d’une relation d’inclusion non obligatoire : B n’intervient dans le fonctionnement de A que sous certaines conditions. Pour commander il faut être identifié mais on ne s’identifie que si on n’est pas déjà identifié. Pour s’identifier il faut avoir un compte, mais on ne crée un compte que si on n’a jamais crée de compte. L’ « extension point » décrit la condition d’inclusion. Tout cas d'utilisation doit avoir au moins une relation avec une autre cas d'utilisation ou avec un acteur Master 1 SIGLIS Modèlisation des système - UML

37 Modèlisation des système - UML
Master 1 - SIGLIS Paquetage Sert à délimiter le système et ses sous-systèmes Permet de déterminer les frontières du système Aucun paquetage vide ! Cohésion forte des use cases d’un paquetage: le nombre de relations intra-paquetage plus important que les relations inter-paquetage NB : tous les éléments ne faisant pas partie d'un paquetage sont externes au système ou au sous-système considéré Master 1 SIGLIS Modèlisation des système - UML

38 Modèlisation des système - UML
Master 1 - SIGLIS Exercice : Téléphone portable Notre fabricant souhaite maintenant convertir le texte suivant en diagramme de cas d’utilisation. La principale utilisation du téléphone portable est la communication via le réseau GSM. Cette communication s’obtient en composant un numéro. Il est possible de stocker ce numéro dans le répertoire et de consulter la liste des derniers appels. La sonnerie peut être paramétrée par l’utilisateur. Master 1 SIGLIS Modèlisation des système - UML

39 Modèlisation des système - UML
Master 1 - SIGLIS Exercice : Trouver les acteurs Le système à construire est souligné. Mais quels sont ses acteurs? Notre système de camion à pizza vend des pizzas à des consommateurs en utilisant des produits qui sont achetés chez un grossiste. Il vend aussi du vin italien acheté chez un producteur. Le distributeur automatique de billets est alimenté régulièrement par la société ‘l’écureuil’ afin de distribuer des billets à ses clients. Nous devons construire un standard téléphonique automatique qui réagit aux appelants. La station service distribue à ses clients les carburants qui lui ont été livrés. Elle fournit tous les trimestres un relevé de ses ventes. Master 1 SIGLIS Modèlisation des système - UML

40 Modèlisation des système - UML
Master 1 - SIGLIS Diagramme de séquences: Les concepts Sens de lecture : vertical : représente la ligne de vie des objets et les périodes d'activité des objets horizontal: représente l'enchaînement des messages entre 1 objet émetteur et 1 ou plus objet(s) récepteur(s) Master 1 SIGLIS Modèlisation des système - UML

41 Modèlisation des système - UML
Master 1 - SIGLIS Les objets et les exécutions définit un des objets manipulés par le système. un objet peut être anonyme (sans nom). Il représente alors un instance arbitraire de la classe. La ligne pointillée détermine la durée de vie de l’objet Il est possible d’indiquer la création d’un objet en faisant arriver un message sur le rectangle décrivant l’objet Une exécution est matérialisée par un rectangle sur la ligne de vie. C’est la durée où l’objet est actif (le système est occupé par le traitement de cet objet). l’objet doit être contenu dans le système le contexte de l’objet (la valeur des attributs) doit être défini si il a un impact sur la réaction de l’objet dans le diagramme de séquence Master 1 SIGLIS Modèlisation des système - UML

42 Modèlisation des système - UML
Master 1 - SIGLIS Les messages Une flèche matérialise un message synchrone un message asynchrone un flux de contrôle (réponse) Le message indique un transfert de contrôle ou d’information entre deux objets. un message peut renvoyer sur l’objet qui l’a généré (cas de l’appel interne d’une des méthodes de l’objet). Pas d’exécution sans message Un message doit être nommé Lorsque l’émetteur envoie un message, il doit attendre la réponse: la durée de l’exécution de l’émetteur est supérieure à celle du récepteur Master 1 SIGLIS Modèlisation des système - UML

43 Modèlisation des système - UML
Master 1 - SIGLIS Diagrammes de séquence: fragments combinés Permettent d’introduire des structures de contrôle : opt, break, loop, par, alt, neg, seq, strict, critical Rend les schémas illisibles Préférer les Diagrammes d’activités Utiliser les diagrammes de séquence pour trouver les classes et leurs méthodes. Master 1 SIGLIS Modèlisation des système - UML

44 Modèlisation des système - UML
Master 1 - SIGLIS Exercice : Que montre ce diagramme de séquence ? Master 1 SIGLIS Modèlisation des système - UML

45 Modèlisation des système - UML
Master 1 - SIGLIS Exercice : Téléphone portable Cette fois votre client souhaite que vous lui modélisiez la spécification d’appel en utilisant le répertoire : Le téléphone comporte deux modules. Un pour l’appel et un pour la gestion du répertoire. L’utilisateur commence par accéder au répertoire et sélectionne la fiche d’un de ses correspondants. Il déclenche alors l’appel. Si la fiche comporte plusieurs numéros un menu lui propose de choisir le numéro à appeler. Ceci fait, le module d’appel est mis en œuvre pour effectuer la communication Master 1 SIGLIS Modèlisation des système - UML

46 Modèlisation des système - UML
Master 1 - SIGLIS Les diagrammes de communication : vue globale Ce sont des diagrammes équivalents aux diagrammes de séquence, mais avec une vue différente (vue du dessus) Master 1 SIGLIS Modèlisation des système - UML

47 Modèlisation des système - UML
Master 1 - SIGLIS Utilisation des diagrammes En phase d’analyse fonctionnelle Définir les processus métier en utilisant des diagrammes d’activité Modéliser les applications permettant de réaliser les processus métiers avec des cas d’utilisation Pour chaque cas d’utilisation Expliciter l’UC avec des diagrammes d’activités, des diagrammes de séquence, des diagrammes de communication Utiliser les diagrammes d’activité plutôt pour modéliser des règles métiers complexes Utiliser les diagrammes de séquence pour trouver les classes et leurs méthodes Modéliser les scénariis nominaux et les cas particuliers Master 1 SIGLIS Modèlisation des système - UML

48 Modèlisation des système - UML
Master 1 - SIGLIS Les diagrammes de classe Un élément essentiel (mais ce n'est pas le seul) de l'approche orientée-objet Expriment l'aspect structurel/statique d'un système en termes de classes Relations Offrent également les interfaces - comment on voit/utilise le système modélisé les paquetages - comment on peut abstraire le système en (macro) composants Master 1 SIGLIS Modèlisation des système - UML

49 Modèlisation des système - UML
Master 1 - SIGLIS Diagramme de classe Master 1 SIGLIS Modèlisation des système - UML

50 Modèlisation des système - UML
Master 1 - SIGLIS Les classes et les objets Un objet : un état : la valeur de ses attributes un comportement : ses méthodes Une classe : un moule pour la création des objets Exemple : une personne L’objet « Jean Valjean » défini par la valeur de ses attributs prénom : Jean nom : Valjean dateNaissance : 10/05/1954 adresse : 13 rue des Lilas Bayonne telephone : La classe Personne qui définit les propriétés communes à tous les objets de la classe Personne Master 1 SIGLIS Modèlisation des système - UML

51 Modèlisation des système - UML
Master 1 - SIGLIS Représentation d’une classe 1 à 4 parties : nom de la classe : obligatoire 0 ou n attributs 0 ou n opérations Présence de stéréotype le stéréotype est une marqueur permettant d’ajouter de l’information à un objet UML UML fournit ses propres stéréotypes <<class>> : implicite <<interface Master 1 SIGLIS Modèlisation des système - UML

52 Modèlisation des système - UML
Master 1 - SIGLIS Les attributs sémantique : constitue un élément de l'état de l'objet syntaxe : Visibilité Id [Multiplicité] : Type [InitVal] [{Propriété}] Visibilité = règle d'accès + : public - visible et modifiable par tout objet du même paquetage - : private - seulement visible et modifiable par les opérations de l'objet auquel il appartient. # : protected - seulement accessible et modifiable par les opérations des classes descendantes Multiplicité : intervalle ou nombre Propriété : règle de gestion par ex: ajoutUniquement Le principe de masquage impose de rendre chaque attribut private Pas d'attribut redondant autre que les attributs dérivés (NB : Attribut dérivé : attribut qui peut être déduit par le calcul (/Attribut) et qui conduit en implémentation à une opération) Master 1 SIGLIS Modèlisation des système - UML

53 Modèlisation des système - UML
Master 1 - SIGLIS Les opérations représente un service spécifique offert par un objet ; peut être considérée comme une fonction au sens mathématique du terme => recopie des paramètres et renvoi d'un résultat et d'un seul ! Syntaxe : Visibilité Id ( [Args] ) : Type [{Propriété}] Visibilité : +, -, # Args : Direction Id : Type [= DefaultVal] Direction : in, out, inout (in est la valeur par défaut) Propriété : requête, concurrence, abstrait, estFeuille, estRacine Correspond à un traitement Un seul résultat NB : au niveau métier on ne doit jamais représenter les opérations de création et de suppression Master 1 SIGLIS Modèlisation des système - UML

54 Modèlisation des système - UML
Master 1 - SIGLIS Identification des classes, attributs et opérations C'est lors de la construction des diagrammes d'interaction (séquences et/ou collaboration) que les objets réels sont identifiés Ils sont transformés en classes s'il y a des messages échangés sinon en attribut Les opérations des classes correspondent aux messages échangés entre objets réels Il est essentiel de vérifier que tout classe possède des attributs et/ou des opérations. Dans le cas contraire, il ne s’agit vraisemblablement pas d’une classe mais d’un attribut d’une classe de plus haut niveau. Sachez ne pas aller trop loin dans le raffinement. NB : si ce n'est pas le cas, il faut impérativement justifier pourquoi ! Master 1 SIGLIS Modèlisation des système - UML

55 Modèlisation des système - UML
Master 1 - SIGLIS Les classes Interface définit un contrat pour les classes qui en héritent représentée par un rond rattaché à une classe ne figurent que des opérations publiques pas d'attribut Master 1 SIGLIS Modèlisation des système - UML

56 Ingénierie des réseaux - Chapitre 1 Généralités
Master 1 - SIGLIS Les relations Elles sont de 3 types et traduisent : la notion d'assemblage/composition le concept de spécialisation/généralisation l'association entre une classe ou plusieurs classes Elles représentent des liens statiques/structurels entre objets et à longue durée de vie NB : les associations ne sont en général pas directement supportées par les langages de programmation orienté-objet. Master 1 SIGLIS Ingénierie des réseaux - Chapitre 1 Généralités

57 Ingénierie des réseaux - Chapitre 1 Généralités
Master 1 - SIGLIS Agrégation / composition Relation non symétrique Agrégat/agrégé : Si je détruis l’objet origine, je ne détruis pas le ou les objets destination Ex: Si je détruis l’équipe de basket, je ne détruis pas les joueurs de l’équipe (qui vont aller jouer dans une autre équipe) Composite/composant : Si je détruis l’objet origine, je dois détruire les objets destination Ex: Si je détruis la voiture, je dois détruire tous ses composants : Roues, Pneus, moteur, … Master 1 SIGLIS Ingénierie des réseaux - Chapitre 1 Généralités

58 Ingénierie des réseaux - Chapitre 1 Généralités
Master 1 - SIGLIS Généralisation/Spécialisation Relation de classification entre un élément plus général et des éléments spécialisés L'élément spécialisé hérite des attributs et des opérations et des relations et des contraintes de l'élément dont il est la spécialisation Eviter les profondeurs trop importantes (> 4) L'élément spécialisé peut avoir ses propres attributs, opérations, relations On peut faire de l’héritage multiple : A éviter B hérite de A si dans tout contexte ou l’on utilise A on peut remplacer A par B Une méthode qui prend en paramètre un objet de type A peut aussi traiter un objet de type B. Master 1 SIGLIS Ingénierie des réseaux - Chapitre 1 Généralités

59 Ingénierie des réseaux - Chapitre 1 Généralités
Master 1 - SIGLIS L’héritage: règle de modélisation Il n’est pas souhaitable de se focaliser sur les relations d’héritage trop vite L’héritage est une notion très structurante dans un modèle objet. Elle fige la structure sémantique des types d’objet. L’ajout d’une nouvelle classe est obligatoirement influencé par les relations d’héritages existantes. Il faut rester ouvert le plus longtemps possible. C’est uniquement quand on estime que toutes les classes du domaine fonctionnel ont été identifiées que l’on peut commencer à réfléchir sur les abstractions du système et ainsi construire les premières classes abstraites. Master 1 SIGLIS Ingénierie des réseaux - Chapitre 1 Généralités

60 Ingénierie des réseaux - Chapitre 1 Généralités
Master 1 - SIGLIS Diagrammes de classes lors des phases d’analyse En phase d'analyse métier, seules des classes métier doivent être identifiées (opérations métier, attributs métier et associations métier). La recherche de classes, attributs, opérations et associations est guidée par la réponse au besoin : expliciter les diagrammes de séquence correspondant aux cas d'utilisation recensés Les paquetages permettent d'organiser l'analyse en domaines métier. La notion de visibilité est absente: en analyse, toutes les propriétés sont publiques (potentiellement visibles par l'utilisateur du système). La notion d'interface est absente (utilisées en architecture et conception uniquement). Master 1 SIGLIS Ingénierie des réseaux - Chapitre 1 Généralités

61 Ingénierie des réseaux - Chapitre 1 Généralités
Master 1 - SIGLIS Association et classe d’association Représente une propriété statique (se convaincre avec un diagramme d'instances) Lie une ou plusieurs classes : arité 2 ou plus Toute association doit être nommée par un verbe d'état ou comporter des rôles aux extrémités Toute association peut être navigable Multiplicité : 0..1 N M..N *, 0..* 1..* Master 1 SIGLIS Ingénierie des réseaux - Chapitre 1 Généralités

62 Ingénierie des réseaux - Chapitre 1 Généralités
Master 1 - SIGLIS Remarque sur les associations Ne prendre en compte que des associations binaires ! Si ce n'est pas possible, il faut privilégier les classes associations Le nommage est indispensable quand il y a plusieurs associations entre 2 classes. Noter les contraintes : Sous-ensemble, et/ou, etc. {ordonné}, ... Attention à ne prendre pour associations que des relations dont le libellé représente un verbe d'état Master 1 SIGLIS Ingénierie des réseaux - Chapitre 1 Généralités

63 Ingénierie des réseaux - Chapitre 1 Généralités
Master 1 - SIGLIS Exercice : Ne pas confondre associations et messages Trouver, parmi les phrases suivantes, celles qui décrivent des messages échangés et celles qui décrivent des associations entre des classes : Assoc Mess.  Le livre est composé de pages  La carte grise correspond à une voiture  Le serveur envoie un mail d’alarme  Le feu rouge est équipé d’une boucle de détection dans la chaussée qui est activée par les voitures  J’achète et je bois un café à la machine à café  L’auteur écrit des livres  Le client retire de l’argent  Mr X dirige ces personnes Master 1 SIGLIS Ingénierie des réseaux - Chapitre 1 Généralités

64 Ingénierie des réseaux - Chapitre 1 Généralités
Master 1 - SIGLIS Exercice : Ne pas confondre associations et messages Assoc. Mess.   Le livre est composé de pages   La carte grise correspond à une voiture   Le serveur envoie un mail d’alarme   Le feu rouge est équipé d’une boucle de détection dans la chaussée qui est activée par les voitures  J’achète et je bois un café à la machine à café   L’auteur écrit des livres  Le client retire de l’argent Dépend du Mr X dirige ces personnes contexte Master 1 SIGLIS Ingénierie des réseaux - Chapitre 1 Généralités

65 Ingénierie des réseaux - Chapitre 1 Généralités
Master 1 - SIGLIS Commentaires une d'annotation peut être attachée à tout élément UML une note permet d'introduire des propriétés, des contraintes, etc. Master 1 SIGLIS Ingénierie des réseaux - Chapitre 1 Généralités

66 Ingénierie des réseaux - Chapitre 1 Généralités
Master 1 - SIGLIS Exercice: Modélisation d’un téléphone portable Le client désire comprendre comment les éléments de votre système vont être connectés. Vous décidez donc de traduire le cahier des charges suivant en diagramme de classes : Le système du téléphone comporte un gestionnaire de fonctions. C’est lui qui contient les différentes fonctions ( contrôleur d’appels, répertoire, éditeur SMS et calculatrice) et assure la navigation dans les menus. Les différentes fonctions offrent un comportement identique. Le répertoire contient des fiches contact comportant un nom et un numéro de téléphone. Il est possible d’en stocker 200 dans la carte mémoire. L’éditeur SMS contient des SMS formalisés par un numéro de téléphone et un texte. Le contrôleur d’appel stocke les appels émis et reçus sous forme d’une date d’appel et d’un numéro. Master 1 SIGLIS Ingénierie des réseaux - Chapitre 1 Généralités

67 Ingénierie des réseaux - Chapitre 1 Généralités
Master 1 - SIGLIS Diagramme d’états-transition Un système peut être représenté par un ensemble d’états « éteint » / « allumé » « quart de finale » /  « demi finale » / « finale » / « éliminé » par des évènements qui font passer le système d’un état à un autre « éteindre » / « allumer » « gagner » / « perdre » Un diagramme d’états-transition a pour but de représenter ces aspects dynamiques. Master 1 SIGLIS Ingénierie des réseaux - Chapitre 1 Généralités

68 Ingénierie des réseaux - Chapitre 1 Généralités
Master 1 - SIGLIS Diagramme d’état-transition Etat à tout instant un état représente l’ensemble des valeurs des attributs et des liens avec les autres objets un état est caractérisé par une durée, i.e. une certaine stabilité dans le temps Evénement occurrence de quelque chose qui arrive à un instant inconnu ou connu (interruption, envoi de message, …) peut être porteur d’informations l’événement est le déclencheur d’une transition Transition connexion unidirectionnelle reliant 2 états assure le passage d’un état à l’autre est supposée instantanée Master 1 SIGLIS Ingénierie des réseaux - Chapitre 1 Généralités

69 Ingénierie des réseaux - Chapitre 1 Généralités
Master 1 - SIGLIS Etat Un état est toujours nommé Il comporte : des actions d’entrée des actions de sortie des activités des inclusions de sous-états Etats particuliers : état initial (forcément unique) état final (0, 1 ou plusieurs) Master 1 SIGLIS Ingénierie des réseaux - Chapitre 1 Généralités

70 Ingénierie des réseaux - Chapitre 1 Généralités
Master 1 - SIGLIS Les transitions Une transition est une relation entre un état source et un état cible. Une transition est déclenchée par un objet en réaction à un événement et conduit à un changement d’état. Syntaxe : évènement[garde]/action évènement (trigger) : événement externe déclenchant une réaction du système garde (guard) : expression logique qui conditionne le départ d’un état action : action exécutée lors du franchissement de la transition Master 1 SIGLIS Ingénierie des réseaux - Chapitre 1 Généralités

71 Ingénierie des réseaux - Chapitre 1 Généralités
Master 1 - SIGLIS Evénement Il traduit l’arrivée de quelque chose Types d’événement : <<signal>> : signal asynchrone <<crée>>, <<détruit>>, … : appel <<top>> : signal synchrone - fin de délai, top horloge, … événement instantané : pas de label - correspond à la fin de l’activité dans l’état de départ Sémantique des événements : à l'arrivée d'un événement prévu, on quitte l'état, que l'activité soit achevée Master 1 SIGLIS Ingénierie des réseaux - Chapitre 1 Généralités

72 Ingénierie des réseaux - Chapitre 1 Généralités
Master 1 - SIGLIS Compléments sur diagrammes d’état-transition La maîtrise de la complexité des diagrammes états-transitions passe par l’utilisation d’états composites (état englobant) Les sous-états concurrents permettent de représenter la notion de concurrence Les états historiques permettent de conserver l’historique en tant qu’états, et donc d’y revenir Master 1 SIGLIS Ingénierie des réseaux - Chapitre 1 Généralités

73 Ingénierie des réseaux - Chapitre 1 Généralités
Master 1 - SIGLIS Exercice Qu’est ce que ce diagramme signifie ? Master 1 SIGLIS Ingénierie des réseaux - Chapitre 1 Généralités

74 Ingénierie des réseaux - Chapitre 1 Généralités
Master 1 - SIGLIS Exercice : Le téléphone portable Une partie du cahier des charges du téléphone portable est compliquée et gagnerait à être traduite en diagramme d’état transition : Pour utiliser le téléphone il faut passer du mode veille au mode actif en cliquant sur le bouton on. Le mode appel permet de communiquer vocalement. On y accède en composant un numéro de téléphone et on le quitte en appuyant sur le bouton de fin de communication. On peut passer en mode gestion des SMS en appuyant sur la flèche gauche. Et on le quitte en appuyant sur Ok. Si un appel survient durant l’écriture d’un SMS le SMS est stocké et le téléphone passe en mode appel. De plus le téléphone interroge en permanence le réseau afin de déterminer si il doit émettre avec une puissance de signal forte ou faible. Master 1 SIGLIS Ingénierie des réseaux - Chapitre 1 Généralités

75 Modèlisation des système - UML
Master 1 - SIGLIS Plan du cours Vue d’ensemble Le Génie logiciel Recueil des besoins Analyse Synthèse Master 1 SIGLIS Modèlisation des système - UML

76 Ingénierie des réseaux - Chapitre 1 Généralités
Master 1 - SIGLIS Synthèse Le use case sert de pivot à toute la conception. Un outil de modélisation est indispensable pour manipuler et stocker le référentiel des objets du modèle La bonne granularité est obtenue lorsque l'on peut écrire un scénario fonctionnel nominal pour le use case. Un use case = 4 ou 5 scénarii de test (nominaux et non nominaux). Au delà le use case est trop compliqué et doit être découpé. La plupart du temps les Uses Case se décomposent en : Consultation, Recherche, Modification, Modification + des opérations métier (ex: Calcul du besoin net). Master 1 SIGLIS Ingénierie des réseaux - Chapitre 1 Généralités

77 Ingénierie des réseaux - Chapitre 1 Généralités
Master 1 - SIGLIS Un texte ici Un texte ici Master 1 SIGLIS Ingénierie des réseaux - Chapitre 1 Généralités


Télécharger ppt "Modèlisation des système - UML"

Présentations similaires


Annonces Google