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

Génie Logiciel 1 & 2 1 Introduction 2 LObjet dans le développement du logiciel 3 UML - Modélisation.

Présentations similaires


Présentation au sujet: "Génie Logiciel 1 & 2 1 Introduction 2 LObjet dans le développement du logiciel 3 UML - Modélisation."— Transcription de la présentation:

1

2 Génie Logiciel 1 & 2 1 Introduction 2 LObjet dans le développement du logiciel 3 UML - Modélisation statique 3.1 Concepts fondamentaux 3.2 Concepts avancés 4 UML - Modélisation dynamique 5 UML - Modèle des Use Cases 6 Démarche - Aperçu du processus unifié Partie: GL 1 Julie Partie: GL 2

3 Génie Logiciel 5 UML Modèle des Use-Cases

4 Génie logiciel 5-3Master ICA Sommaire n Introduction n Acteurs n Use-Cases n Diagrammes de Use-Cases

5 Génie logiciel 5-4Master ICA Introduction

6 Génie logiciel 5-5Master ICA Modèle des use-cases n On appelle modèle de use-cases (ou encore vue utilisateur) la partie du modèle d'un système qui rend compte de l'utilisation et des fonctionnalités de celui-ci. n L'objectif du modèle des use-cases est double, c'est essentiellement : u décrire le comportement externe (du point de vue des utilisateurs) du système, u et déterminer les limites du systèmes en identifiant les éléments extérieurs (utilisateurs, matériel ou logiciel externe).

7 Génie logiciel 5-6Master ICA Modèle des use-cases n Les use-cases sont utiles tout au long du cycle de développement logiciel. u Dès l'analyse des besoins, ils permettent de décrire ce que le système doit faire, ce qui doit être réalisé. Ils peuvent être associés ou même constituer l'essentiel du cahier des charges. Ils sont adaptés au dialogue entre analystes et commanditaires. u Cette description peut ensuite être précisée et utilisée comme guide dans les étapes ultérieures du développement.

8 Génie logiciel 5-7Master ICA Acteurs

9 Génie logiciel 5-8Master ICA Acteurs n Un acteur est un élément extérieur au système qui communique avec celui-ci dans le cadre de son fonctionnement. n Les acteurs constituent la frontière du système. Ils sont les premiers éléments extérieurs en rapport avec celui-ci. n La connaissance des acteurs n'est pas une connaissance de la structure du système mais de son interface.

10 Génie logiciel 5-9Master ICA Acteurs n On peut distinguer 3 types d'acteurs, en tenant compte de leur nature : u les acteurs humains, généralement utilisateurs, ou encore administrateurs du système, u les acteurs logiciels, d'autres systèmes logiciels déjà existants, communiquant au travers d'un protocole ou d'une API, u les acteurs matériels (robots, automates, machines diverses, …) pilotés par le système ou utilisant celui-ci.

11 Génie logiciel 5-10Master ICA Acteurs n On peut aussi regrouper les acteurs en fonction de la finalité de leur interaction avec le système : u un acteur "primaire" est un acteur qui utilise les services du système, u un acteur "secondaire" est un acteur nécessaire au bon fonctionnement du système (administrateur, matériel ou logiciel requis par le système).

12 Génie logiciel 5-11Master ICA «acteur» Distributeur nom de l'acteur Notations d'acteurs 2 notations possibles pour les acteurs notation d'un acteur Utilisateur autre notation préférée dans le cas d'un acteur non humain nom de l'acteur

13 Génie logiciel 5-12Master ICA Acteurs n Un acteur est la description d'un rôle. u Un acteur est la description d'une entité communicante avec le système. u Un acteur peut communiquer avec le système dans différents contextes (use-cases). Pour chaque contexte, l'acteur représente une entité (personne, objet, …) qui joue un rôle vis à vis du système. u Une même personne (ou objet, …) peut jouer plusieurs rôles, être plusieurs fois acteur.

14 Génie logiciel 5-13Master ICA Généralisation d'acteurs n Les acteurs peuvent être liés par une relation de généralisation : u l'acteur le plus spécifique hérite de l'acteur le plus général la description du rôle associé, u si une entité joue le rôle décrit par l'acteur le plus spécifique, elle joue au moins le rôle décrit par l'acteur le plus général. UtilisateurInvité UtilisateurAvecDroits

15 Génie logiciel 5-14Master ICA Use-cases

16 Génie logiciel 5-15Master ICA Use-cases n Un use-case est la description du dialogue (de l'interaction) entre un acteur et le système dans le cadre de l'accomplissement d'une fonctionnalité de ce dernier. n Un use-case est une description abstraite, il décrit un dialogue mais ne donne pas d'informations sur la structure ou les mécanismes. Un use-case est l'abstraction de plusieurs scénarios.

17 Génie logiciel 5-16Master ICA Use-cases n Un use-case est décrit : u de manière informelle (le plus généralement) par des scénarios, chacun d'eux pouvant être décrit par un diagramme de séquence, de collaboration, ou une description textuelle ; il doit y avoir au moins un scénario dit "déroulement principal" et éventuellement plusieurs autres scénarios correspondant aux déroulements exceptionnels, u de manière formelle par un diagramme d'états ou un diagramme d'activités.

18 Génie logiciel 5-17Master ICA Notation des diagrammes de Use Cases n Use cases u Dessinés comme des ellipses avec un nom à l'intérieur ou dessous chaque ellipse u Décrivent une séquence d'actions que le systèmes entreprend pour obtenir un résultat observable par un acteur u Le nom est habituellement un verbe actif

19 Génie logiciel 5-18Master ICA Notation de use-case Un acteur communiquant avec un use-case Utilisateur Enregistrement lien de communication notation d'un use-case

20 Génie logiciel 5-19Master ICA Notation des diagrammes de Use Cases n Associations par communication u Ligne dessinée entre un acteur et un use-case u Représente un lien de communication entre une instanciation du use-case et une instanciation de l'acteur

21 Génie logiciel 5-20Master ICA Généralisation des use-cases n Les use-cases peuvent être liés par une relation de généralisation : u "Impression" est plus général que "Impression avec mise en page", u "Impression avec mise en page" hérite de "Impression", y compris ses liens de communications. Impression Impression avec mise en page

22 Génie logiciel 5-21Master ICA Notation des diagrammes de Use Cases n Généralisation u Montre qu'un use-case procure toute la fonctionnalité du use-case le plus spécifique et quelque fonctionnalité supplémentaire

23 Génie logiciel 5-22Master ICA Contact pour les clients Enregistre la complétion d'une publicité Manager de campagnes Change le contact d'un client Assigne des employés individuels pour travailler sur une campagne Assigne une équipe d'employés pour travailler sur une campagne Assigne des employés pour travailler sur une campagne

24 Génie logiciel 5-23Master ICA Notation des diagrammes de Use Cases n Relations u Etend et inclut u Sont montrées comme des dépendances stéréotypées u Les stéréotypes sont écrits comme: «étend» et «inclut»

25 Génie logiciel 5-24Master ICA Inclusion entre use-cases n La relation d'inclusion entre use-cases permet d'exprimer la décomposition fonctionnelle : u "Choix du fichier" est toujours inclus dans le déroulement de "Lecture fichier", u "Choix du fichier" est éventuellement partagé par (inclus dans) d'autres use- cases. Lecture fichier Choix du fichier «inclut»

26 Génie logiciel 5-25Master ICA Extension de use-cases n La relation d'extension entre use-cases permet de prendre en compte les déroulements exceptionnels ou occasionnels : u "Accès disquette" peut se dérouler sans que "Insertion disquette" ne se déroule. Accès disquette Insertion disquette «étend»

27 Génie logiciel 5-26Master ICA Notation des diagrammes de Use Cases n Relation d'extension u Un use-case procure une fonctionnalité additionnelle qui peut être nécessaire dans un autre use-case n Relation dinclusion u un use case inclus toujours la fonctionnalité dun autre use-case u Peut être utilisée pour séparer le comportement qui est utilisé dans de nombreux use-cases

28 Génie logiciel 5-27Master ICA n Il est facile de confondre les relations dextensions, dinclusion, et la généralisation.

29 Génie logiciel 5-28Master ICA Various Relationships Selon la demande du client (condition dextension) Fonctionnalités toujours incluses Use case de haut niveau décrivant les possibilités de paiement

30 Génie logiciel 5-29Master ICA Diagrammes de Use-cases

31 Génie logiciel 5-30Master ICA Diagrammes de use-cases n Un modèle de use-cases est constitué de la description de chaque acteur et de chaque use- case identifiés pour le système, et de diagrammes de use-cases. n Un diagramme de use-cases décrit les relations entre use-cases et les communications entre use- cases et acteurs pour la totalité ou une partie du système. n On peut utiliser plusieurs diagrammes de use- cases pour décrire le système à des niveaux de détails différents.

32 Génie logiciel 5-31Master ICA Diagrammes de use-cases Un diagramme de use-cases pour décrire l'utilisation du modèle des use-cases tout au long du cycle de développement Utilisateur final Analyste Architecte Programmeur Testeur Utilisation du modèle des use-cases e x p r i m e c o m p r e n d conçoit r é a l i s e v é r i f i e

33 Génie logiciel 5-32Master ICA Diagrammes de use-cases Un diagramme de use-cases pour décrire les fonctionnalités d'un système de vente à distance ClientVendeurManutentionnaire Vente à distance Vérifier statut Passer commande Demande de crédit Préparer commande l'acteur Client initie le use-case nom du système Traiter commande

34 Génie logiciel 5-33Master ICA Diagrammes de use-cases Un diagramme de use-cases de plus bas niveau pour préciser le use-case "Passer commande" Identifier client Commande produit Assurer le paiement Demande de catalogue Vérifier statut «étend» «inclut» «inclut» «inclut» «inclut» comptantà crédit Passer commande

35 Génie logiciel 5-34Master ICA Descriptions de use-cases n Peut-être un simple paragraphe Assigner une équipe pour travailler sur une campagne u Le manager de la campagne désire noter quels employés travaillent sur une campagne spécifique. Cette information est utilisée pour valider des feuilles de pointage d'heures et pour calculer les bonus de fin d'année. Assigne des employés pour travailler sur une campagne

36 Génie logiciel 5-35Master ICA Descriptions de use-cases n Peut être une décomposition pas-à-pas de l'interaction entre acteur et système Assigner une équipe pour travailler sur une campagne Action de l'acteurRéponse du système 1. L'acteur tape le nom du client.2. Liste toutes les campagnes pour ce client. 3. Sélectionne la campagne appropriée.4. Liste les employés pas encore assignés à cette campagne. 5. Sélectionne les employés 6. Affiche un message confirmant à assigner à cette campagne. que les employés ont été alloués. Cheminements différents Pas 1–3. L'acteur connaît le nom de la campagne et le tape directement. Assigne des employés pour travailler sur une campagne

37 Génie logiciel 5-36Master ICA Descriptions de use-cases n De nombreux projets utilisent des templates u Nom de use case u pré-conditions u post-conditions u but u description u Cheminements alternatifs u erreurs

38 Génie logiciel 5-37Master ICA Spécifications de comportement n Plutôt que (ou bien en plus de) d'utiliser du texte, un use-case peut-être lié à un autre diagramme qui spécifie son comportement n Typiquement, un diagramme de collaboration, un diagramme de séquences, une machine d'états ou plusieurs d'entre eux

39 Génie logiciel 5-38Master ICA Dessiner des diagrammes de Use-Cases n Identifier les acteurs et les use-cases n Etablir des priorités entre les use cases n Développer chaque use case, en commençant par les prioritaires, en écrivant une description pour chacun n Ajouter une structure au modèle de use case : généralisation, relations d'inclusion et d'extension, et sous-systèmes

40 Génie logiciel 5-39Master ICA Travailler avec des Use Cases n Use cases concernent les fonctionnalités requises de l'extérieur. n Discuter des use cases avec les utilisateurs du système. Quels sont les buts de l'utilisateur réel? Considérez les façons alternatives d'atteindre ces buts utilisateurs. n Ajuster la granularité de vos use cases selon la complexité du problème individuel sur lequel vous travaillez, tout en gardant à l'esprit que trop de use cases peut être vous surcharger, mais pas assez de use cases peut cacher d'important détails.

41 Génie logiciel 5-40Master ICA Travailler avec des Use Cases: planning Catégoriser les Use Cases n Les utilisateurs devraient indiquer le niveau de priorité pour chaque use case. Je dois absolument avoir cette fonction pour tout système réel. Je peux me passer de cette fonction pour une courte période. C'est une fonction importante, mais je peux survivre sans elle pendant un moment. n Les développeurs doivent considérer le risque architectural. N'oubliez pas de use cases qui pourront vous demander de refaire beaucoup de travail plus tard pour les incorporer. Concentrez-vous sur les use cases qui sont technologiquement les plus difficiles. n Les développeurs devront être conscient des risques d'échéances. Je suis sûr de savoir combien de temps cela prendra. Je peux estimer le temps seulement à un mois-homme près. Je n'en ai aucune idée.

42 Génie logiciel 5-41Master ICA Exercice Assignation et le ramassage de travail à la maison sont une partie important de tout système éducationnel. Souvent, cette tâche est entreprise manuellement. Nous voulons que le Système de Distribution et de Ramassage de Travail à la Maison (SDRTM) automatise ce processus. SDRTM sera utilisé par l'enseignant pour distribuer les travaux à la maison, évaluer les solutions des étudiants, distribuer la solution suggérée, et assigner des notes aux étudiants pour chaque devoir. SDRTM devra aussi aider les étudiants en distribuant automatiquement les énoncés aux étudiants, en procurant un moyen pour que les étudiants soumettent leur solution, en rappelant aux étudiants qu'un devoir est bientôt à rendre, et en rappelant aux étudiants qu'un certain travail devrait déjà être rendu.

43 Génie logiciel 5-42Master ICA


Télécharger ppt "Génie Logiciel 1 & 2 1 Introduction 2 LObjet dans le développement du logiciel 3 UML - Modélisation."

Présentations similaires


Annonces Google