Document Details

LaudableJasper5813

Uploaded by LaudableJasper5813

2023

Mostefai Mohammed Amine – Batata Sofiane

Tags

software engineering software development uml diagrams

Summary

This document is a presentation on software engineering concepts. It is a module introduction, and the summary covers concepts like software analysis.

Full Transcript

Cours 4 – Analyse MODULE INTRODUCTION AU GÉNIE LOGICIEL MOSTEFAI MOHAMMED AMINE – BATATA SOFIANE COPYRIGHT © ESI 2023-2024 Objectifs du Cours Mostefai Mohammed Amine – Ba...

Cours 4 – Analyse MODULE INTRODUCTION AU GÉNIE LOGICIEL MOSTEFAI MOHAMMED AMINE – BATATA SOFIANE COPYRIGHT © ESI 2023-2024 Objectifs du Cours Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Se familiariser avec Utiliser UML pour Appréhender les pratiques et les exprimer les l’activité d’analyse livrables de résultats de l’analyse l’analyse Découverte des diagrammes de classe, d’activité, de séquence et d’état IGL – Cours 4, Analyse Plan du Cours Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Section 4 : Section 1 : Section 2 : Section 3 : Comportements Introduction Objets et Classes Recensement et Interactions Section 5 : Section 6 : Section 7 : Diagrammes de Diagrammes Diagrammes Séquence d’Activités d’état transition IGL – Cours 4, Analyse Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 IGL | Cours 4, Analyse SECTION 1 Introduction Une itération dans UP Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Expression des besoins Analyse Conception Implémentation Tests IGL | Cours 4, Analyse | Section 1, Introduction 5 L’activité d’analyse Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 L’analyse et l’expression Il y a une ambiguïté L’analyse permet de Il y a une ambiguïté de besoins sont très entre l’analyse et clarifier les besoins entre l’analyse et la dépendants l’expression de besoins d’une manière détaillée conception L’analyse se focalise sur Dans UP, le gros de L’analyse et la l’aspect métier des l’analyse se fait durant conception répondent à fonctionnalités tandis que la la phase d’analyse de la question «comment » conception se focalise sur besoins et d’élaboration l’aspect technique IGL | Cours 4, Analyse | Section 1, Introduction 6 L’activité d’analyse Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Modèle d’analyse Classes(Vocabulaire, aspect statique) L’analyse Produit Interactions (aspect dynamique) IGL | Cours 4, Analyse | Section 1, Introduction 7 Modèle d’Analyse Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 UML Classes Modèle d’Analyse Concepts UML Objets Vocabulaire Relations Associations UML Diagrammes Interactions Processus Comportementaux IGL | Cours 4, Analyse | Section 1, Introduction 8 L’activité d’Analyse - Exemple Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 « à l’ESI, pour effectuer un stage, l’étudiant doit chercher un encadreur interne ou dans une entreprise externe et un sujet à réaliser. Une fois le sujet trouvé, l’étudiant le dépose au niveau du service des stages. Ce dernier s’occupe de la validation du sujet en faisant appel à un enseignant de l’ESI ». IGL | Cours 4, Analyse | Section 1, Introduction 9 L’activité d’Analyse - Exemple Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Le vocabulaire devra contenir les concepts suivants : enseignant, étudiant, encadreur, entreprise, sujet, service de stage et stage Il y a plusieurs interactions à souligner : l’interaction de recherche de sujet qui implique l’étudiant, l’entreprise, le sujet et l’encadreur. L’interaction de validation qui implique l’étudiant, le service de stages et l’enseignant. IGL | Cours 4, Analyse | Section 1, Introduction 10 Construire le modèle d’analyse - Règles Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Se limiter aux Le modèle capture Le langage du modèle concepts métier, une vision globale sur d’analyse utilise le s’éloigner des un concept ou un même langage que le considérations processus, ne pas aller métier techniques trop dans le détail Le modèle doit Plus le modèle est toujours être simple, plus il est compréhensible et meilleur utile au client IGL | Cours 4, Analyse | Section 1, Introduction 11 Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 IGL | Cours 4, Analyse SECTION 1 – DÉBAT (10 MNS) Introduction Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 IGL | Cours 4, Analyse SECTION 2 Objets et Classes L’objet Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Etat Comportement Objet IGL | Cours 4, Analyse | Section 2, Objets et Classes 14 Définition d’un Objet Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Rumbaugh définit l’objet comme étant une entité discrète ayant une limite bien définie qui possède un état et un comportement Un objet représente une entité du monde réel L’état de l’objet est l’ensemble des valeurs de ses attributs Le comportement d’un objet est représenté par les opérations qu’il peut effectuer. Souvent les opérations conduisent à un changement de l’état d’un objet L’objet a un identifiant unique qui permet de le distinguer des autres objets. IGL | Cours 4, Analyse | Section 2, Objets et Classes 15 Objet - Exemple Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Etat Comportement Numéro de série (Identifiant) Allumer() Marque Eteindre() Modèle Connecter() Allumée Filmer() Mode (Photo / Vidéo) PrendreUnePhoto() Connectée à un ordinateur Liste des photos en mémoire Capacité Photo en cours IGL | Cours 4, Analyse | Section 2, Objets et Classes 16 Notation UML des objets Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 compteTest: Compte Cle = 80 Numero = 11256 Proprietaire = [Mokhtar] Solde = 150000 IGL | Cours 4, Analyse | Section 2, Objets et Classes 17 Notation UML des objets Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Les noms sont écrits en souligné Les noms des objets commencent par une minuscule. Si c’est un nom composé, le début de chaque mot suivant commence par une majuscule. Par exemple : compte11256:Compte ou clientFavori:Client. Le symbole « : » sépare le nom de l’instance du nom de sa classe. Le nom de l’objet peut être anonyme (ne comporte que le nom de la classe. Par exemple : :Compte ou :Client. L’objet peut ne pas avoir de classe : par exemple amine ou compteTest. Deux objets peuvent être associés via un lien IGL | Cours 4, Analyse | Section 2, Objets et Classes 18 Exemple de Lien Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 compteTest: Compte Cle = 80 Numero = 11256 Solde = 150000 Possède amine: Personne adresse = Oued Smar fonction = Enseignant IGL | Cours 4, Analyse | Section 2, Objets et Classes 19 Exemple Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 azouaou: mostefai: Enseignant Enseignant Nom = Mostefai Prenom = Mohammed Amine igl: Module magil:module: mcsi: Module Annee = 3csc Module IGL | Cours 4, Analyse | Section 2, Objets et Classes 20 Objets – Notation UML - Diagrammes Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Un diagramme d’objets présente des objets et leurs relations à un instant T Le diagramme d’objets est idéal pour donner des exemples sur des situations particulières Les liens bidirectionnels entre A B quand A et B s’envoient des messages Un lien unidirectionnel entre A vers B indique que A peut envoyer un message vers B mais pas l’inverse IGL | Cours 4, Analyse | Section 2, Objets et Classes 21 Grade Exemple Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 EstGradé Employe Emploie * Departement 1 * EstConstituéeDe Ecole 1 IGL | Cours 4, Analyse | Section 2, Objets et Classes 22 Exemple – Suite Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 obj ect Pédagogie mca: Grade cherid: Employe ait amrane: Employe mostefai: Employe +Directrice Etudes +Responsable CPI +Enseignant pg: Departement directionDesEtudes: Departement esi: Ecole IGL | Cours 4, Analyse | Section 2, Objets et Classes 23 Les classes Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Rumbaugh définit la classe comme étant un descripteur d’un ensemble d’objets qui partagent les mêmes attributs, méthodes, relations et comportement La classe est le modèle d’un ensemble d’objets similaires Dans l’exemple précédent : Mostefai et Azouaou sont deux instances de la classe « Enseignant » Un objet appartient à une seule classe La classe définit la structure d’un objet (aspect statique) , son comportement (aspect dynamique) et ses relations IGL | Cours 4, Analyse | Section 2, Objets et Classes 24 Modélisation orientée objet Comment classifier ces animaux ? Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 IGL | Cours 4, Analyse | Section 2, Objets et Classes 25 Classes – Notation UML Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 «entity» Compte - cle: string - numero: string - solde: double = 0 + retirer(double): boolean + verser(double): boolean tags Auteur = Amine Date = Octobre 2015 IGL | Cours 4, Analyse | Section 2, Objets et Classes 26 Classes – Notation UML - Nom Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 De préférence, utiliser la convention UpperCamelCase. Le nom de classe est en minuscules et la première lettre en majuscules. Si le nom de la classe est composite, le nom de chaque mot composant est en minuscule et la première lettre en majuscule. Par exemple : Agent, Compte, LigneFacture, MandatPostalValide. Eviter les abbrévitiations : par exemple utiliser FactureValideDetaillee au lieu de FactureVD. Ne pas utiliser des noms verbaux car les classes représentent des « choses ». IGL | Cours 4, Analyse | Section 2, Objets et Classes 27 Classes – Notation UML - Visibilité Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 La visibilité s’applique aussi bien aux attributs qu’aux opérations Durant la phase d’analyse, la visibilité n’est pas importante Les langages de programmation peuvent avoir une interprétation différente de la visibilité IGL | Cours 4, Analyse | Section 2, Objets et Classes 28 Classes – Notation UML - Visibilité Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Visibilité Nom Description Visibilité publique Accès depuis la même classe et à l’extérieur de la + classe Visibilité privée Accès depuis la même classe uniquement - Visibilité protégée Accès depuis la même classe et les classes # descendantes Visibilité paquet Accès depuis la même classe et toutes les classes ~ appartenant au même paquet IGL | Cours 4, Analyse | Section 2, Objets et Classes 29 Visibilité - Exemple Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 IGL | Cours 4, Analyse | Section 2, Objets et Classes 30 Classes – Notation UML - Attributs Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024  Le type peut être un type simple défini par UML ou l ’un des types suivants : boolean, byte, char, double, f loat, int, long, short  Le type peut être complexe (une autre classe)  La valeur initiale indique la valeur de l ’attribut quand une instance de la classe est créée  Un attribut est dit statique s’il appartient à la classe, pas à une instance en particulier. Les attributs statiques sont noté en souligné.  Syntaxe : Visibilité Nom_Attribut : type [multiplicité] = valeur_initiale IGL | Cours 4, Analyse | Section 2, Objets et Classes 31 Classes – Notation UML – Attributs, multiplicité Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024  La multiplicité indique les attributs multiples.  Les multiplicités sont équivalentes aux tableaux mais ont plus de sémantique.  Exemple 1 : int valeurs. La classe contient exactement 7 valeurs.  Exemple 2 : int valeurs[2..*] : la classe contient au moins 2 valeurs.  Exemple 3 : int valeurs[2..7] la classe contient au minimum 2 valeurs et au maximum 7 valeurs.  Exemple 4 : int valeurs [0..1] la classe contient une valeur ou null. IGL | Cours 4, Analyse | Section 2, Objets et Classes 32 Exemples d’attributs Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Etudiant + matricule : int # nom : string # prenom : string ~modules : int [2..9] - age :int = 18 - chambreAffectee : Chambre [0..1] + tuteursDeSuivi : Tuteur + nombreEtudiants : int + inscriptions : Inscription [1..*] IGL | Cours 4, Analyse | Section 2, Objets et Classes 33 Opérations Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024  Syntaxe : Visibilité Nom_Operation (direction nom_paramètre: type = valeur_défaut,….) : type_retour  Les opérations sont nommées en utilisant une formulation lowerCamelCase  De préférence, utiliser des expressions verbales pour les opérations  Les paramètres sont nommés en utilisant lowerCamelCase  Ne pas utiliser des expressions verbales pour les paramètres  Des valeurs par défaut peuvent être renseignées pour une opération.  Les opérations statiques sont soulignées IGL | Cours 4, Analyse | Section 2, Objets et Classes 34 Opérations, direction des paramètres Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Direction Description in p Le paramètre p est un paramètre d’entrée. p est utilisé par l’opération mais n’est pas modifié par l’opération. inout p Le paramètre p est un paramètre d’entrée / sortie. p est utilisé par l’opération et sa valeur peut être changée par l’opération. out p Le paramètre p est un paramètre de sortie. La valeur de p pourrait être modifiée par l’opération. return p Le paramètre p est un paramètre de retour. L’opération doit retourner la valeur de p. IGL | Cours 4, Analyse | Section 2, Objets et Classes 35 Stéréotype Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024  Les stéréotypes représentent un mécanisme pouvant étendre UML  Un stéréotype peut cibler une classe, un attribut ou une opération  Plusieurs dizaines de stéréotypes sont utilisés mais les plus connus sont : actor, boundary, entity et control.  Le stéréotype « acteur » représente un acteur  Le stéréotype « entity » représente une entité. Une entité est un concept métier, par exemple « Compte », « Client », « Fournisseur »,… IGL | Cours 4, Analyse | Section 2, Objets et Classes 36 Stéréotypes d’Analyse UP Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Le stéréotype « control » représente un contrôleur. Un contrôleur est un intermédiaire entre les limites et les entités. Le contrôleur se charge de l’exécution des commandes provenant de la limite. Le stéréotype « boundary » représente une limite du système qui s’interface avec l’acteur. Par exemple, interface utilisateur. IGL | Cours 4, Analyse | Section 2, Objets et Classes 37 Stéréotypes UP Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 InterfaceWeb GestionnaireCommandes Commande Utilisateur «control» «boundary» GestionnaireCommandes «entity» «actor» InterfaceWeb Commande Utilisateur IGL | Cours 4, Analyse | Section 2, Objets et Classes 38 Exemple du monde réel Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Commande LigneCommande Produit Client GestionnaireCommandes InterfaceWeb Utilisateur IGL | Cours 4, Analyse | Section 2, Objets et Classes 39 Association Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Une association est une relation entre deux classes Une association entre deux classes se traduit par un lien entre deux instances de ces classes Une association décrit une relation qui a une sémantique entre les deux classes Une association peut être entre une classe et elle -même. L’association est dite réf lexive. La direction détermine la navigation d’un objet vers un autre. IGL | Cours 4, Analyse | Section 2, Objets et Classes 40 Associations entre Objets et Classes Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Enseignant Enseigne Module * * «instantiate» «instantiate» Mostefai: Enseignant IGL: Module IGL | Cours 4, Analyse | Section 2, Objets et Classes 41 Associations Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Employe Module Enseigne * * IGL | Cours 4, Analyse | Section 2, Objets et Classes 42 Associations – Suite Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Societe Personne +Employeur +Employé 1 * IGL | Cours 4, Analyse | Section 2, Objets et Classes 43 Nom des Associations Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Utiliser des phrases verbales pour les Utiliser soit le nom noms et nominales soit le rôle. pour les rôles Donner des noms explicites et lisibles. IGL | Cours 4, Analyse | Section 2, Objets et Classes 44 Multiplicités Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Multiplicité Signification 0..1 Zéro ou 1 1 Exactement 1 0..* Zéro ou plusieurs * Zéro ou plusieurs 1..* 1 ou plusieurs 1..9 1à9 9 Exactement 9 1.5, 8, 20..* 1 à 5, exactement 8 ou plus de 20 IGL | Cours 4, Analyse | Section 2, Objets et Classes 45 Multiplicités – Exemple 1 Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Voiture Pneu 1 4 IGL | Cours 4, Analyse | Section 2, Objets et Classes 46 Multiplicité – Exemple 2 Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Societe Employe 1 * IGL | Cours 4, Analyse | Section 2, Objets et Classes 47 Multiplicité – Exemple 3 Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Société Employe 0..1 1..* IGL | Cours 4, Analyse | Section 2, Objets et Classes 48 Multiplicité – Exemple 4 Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Société Employe 1..* * IGL | Cours 4, Analyse | Section 2, Objets et Classes 49 Multiplicité, Exemple 5 Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Université Enseignant Emploie 1 * 1 1 AssurerCours AssurerTD 0..3 0..4 Module IGL | Cours 4, Analyse | Section 2, Objets et Classes 50 Associations Réflexives Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Employe +Subordonnes 0..* +Superieur 0..1 IGL | Cours 4, Analyse | Section 2, Objets et Classes 51 Associations Réflexives – Objet Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 koudil: Employe cherid: Employe mostefai: Employe batata: Employe azouaou: Employe IGL | Cours 4, Analyse | Section 2, Objets et Classes 52 Navigation, Exemple 1 Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Societe Employe 1 * IGL | Cours 4, Analyse | Section 2, Objets et Classes 53 Navigation, Exemple 2 Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Employe Grade * 1 IGL | Cours 4, Analyse | Section 2, Objets et Classes 54 Navigation, Exemple 3 Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Employe Grade * 1 IGL | Cours 4, Analyse | Section 2, Objets et Classes 55 Navigation, Exemple 4 Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Societe Employe 1 * IGL | Cours 4, Analyse | Section 2, Objets et Classes 56 Associations et attributs Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Les attributs peuvent être un autre moyen de représenter une association Les associations à multiplicité multiple peuvent être représentées par des tableaux ou des collections Lors de la génération de code, les associations sont générées en tant qu’attributs IGL | Cours 4, Analyse | Section 2, Objets et Classes 57 Associations et Attributs, Exemple Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Employe Grade +grade * 1 Employe Grade + grade: Grade +employes * + societe: Societe Societe +societe 1 + employes: Employe [0..*] Societe IGL | Cours 4, Analyse | Section 2, Objets et Classes 58 Classes d’Associations Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024  Parfois, quand il y a une association entre deux classes, l ’attribut ne peut être dans aucune des classes.  Exemple ci-dessous : où mettre la note ? Etudiant Module * * IGL | Cours 4, Analyse | Section 2, Objets et Classes 59 Classes d’Association – Suite Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024  Les classes d’association sont de vraies classes qui peuvent avoir des attributs, opérations et même d’autres opérations Etudiant Module * * Note IGL | Cours 4, Analyse | Section 2, Objets et Classes 60 Classe d’Association - Suite Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Etudiant Module * * Note Enseignant + valeur: double * * IGL | Cours 4, Analyse | Section 2, Objets et Classes 61 Dépendance Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 En plus des associations, les classes peuvent être liées par des relation de dépendance Plusieurs cas peuvent induire à une dépendance entre une classe A et une classe B : A manipule B dans une opération, B est un paramètre dans une opération de A, B est le type de retour d’une opération, A appelle une méthode B, …etc. La dépendance n’est pas réservée aux classes, elle peut être utilisée avec les paquets et les cas d’utilisation IGL | Cours 4, Analyse | Section 2, Objets et Classes 62 Exemple de Dépendance Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 A B IGL | Cours 4, Analyse | Section 2, Objets et Classes 63 Généralisation Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 L’héritage est une relation entre une classe générale et une classe plus spécifique Entre les deux, une relation de substitution : on peut substituer toute utilisation de l’élément général par l’élément plus spécifique L’héritage est symbolisé par le lien de généralisation La classe spécialisée hérite de tous les attributs et les opérations de la classe parente IGL | Cours 4, Analyse | Section 2, Objets et Classes 64 Généralisation, Exemple Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Engin + marque: string + modele: string + getPoids(): double Voiture Camion Bus + nombrePlaces: int VoitureTouristique VoitureUtilitaire + chargeUtile: double IGL | Cours 4, Analyse | Section 2, Objets et Classes 65 Abstraction Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024  Parfois une classe ne peut exister que par l ’existence des classes descendantes  Une classe peut aussi déférer l’implémentation d’une opération à ses classes descendantes  Une opération qui est sans implémentation dans la classe actuelle est une opération abstraite  Une classe qui contient une ou plusieurs opérations abstraites est dite classe abstraite IGL | Cours 4, Analyse | Section 2, Objets et Classes 66 Abstraction, Exemple Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Photo + points: Point [1..*] + Dessiner(): void + getNombrePoints(): int + getTaille(): int PhotoJPEG PhotoPNG PhotoTIFF + Dessiner(): void + Dessiner(): void + getTaille(): int + Dessiner(): void + getTaille(): int + getTaille(): int IGL | Cours 4, Analyse | Section 2, Objets et Classes 67 Polymorphisme Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024  Une opération polymorphique est une opération qui possède plusieurs implémentations  Par exemple, n’importe quel compte accepte les retraits et les versements. Par contre, les comptes entreprises ont un comportement différent des comptes particuliers. Les comptes entreprises acceptent les soldes négatifs. IGL | Cours 4, Analyse | Section 2, Objets et Classes 68 Exemple - Polymorphisme Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Compte + Retirer(): void + Verser(): void CompteEntreprise CompteParticulier + Retirer(): void + Retirer(): void + Verser(): void + Verser(): void IGL | Cours 4, Analyse | Section 2, Objets et Classes 69 Paquets Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024  Un paquet UML est un élément de groupage qui contient plusieurs éléments UML dont éventuellement d’autres paquets  Les paquets servent à organiser les éléments UML  Les paquets définissent des « frontières sémantiques » du modèle  Chaque élément UML appartient à exactement un paquet. Les éléments de haut niveau appartiennent à un paquet implicite appelé « root » ou « topLevel » IGL | Cours 4, Analyse | Section 2, Objets et Classes 70 Paquets – Notation UML Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Paquet IGL | Cours 4, Analyse | Section 2, Objets et Classes 71 Paquets – Notation UML Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 PaquetContentantDesClasses + Classe1 + Classe2 ~ Classe3 + SousPaquet IGL | Cours 4, Analyse | Section 2, Objets et Classes 72 Paquets – Espaces de noms Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024  Le paquet définit une frontière où les noms des éléments doivent être uniques  Si un élément doit référer à un autre élément se trouvant dans un autre paquet, il doit utiliser un « nom qualifié ».  Le nom qualifié se fait en préfixant le nom de l ’élément par les noms des paquets qui le contiennent  Par exemple, si un paquet P1 contient un sous-paquet P2 contenant une classe C1, le nom qualifié de C1 est P1:P2:C1. IGL | Cours 4, Analyse | Section 2, Objets et Classes 73 Paquets – Dépendance Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Commun + Personne + Config RH + Employe + RHConfiguration IGL | Cours 4, Analyse | Section 2, Objets et Classes 74 Éléments d’autres paquets Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Commun::Personne Employe IGL | Cours 4, Analyse | Section 2, Objets et Classes 75 Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 IGL | Cours 4, Analyse SECTION 2 – DÉBAT (10 MNS) Objets et Classes Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 IGL | Cours 4, Analyse SECTION 3 Recensement des Classes Les classes d’analyse Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Les classes d’analyse sont les classes découvertes durant l’activité d’analyse Les classes d’analyse correspondent à des concepts « réels » L’analyse fait ressortir les éléments suivants d’une classe : Nom, Attributs les plus importants, Opérations les plus importantes, stéréotypes (non techniques) Les éléments suivants ne sont pas importants dans l’analyse : métadonnées, paramètres des opérations, visibilité IGL | Cours 4, Analyse | Section 3, Recensement des Classes 78 Sources de recensement Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Modèle de Modèle des cas spécifications d’utilisation Toute autre source d’information relative au domaine IGL | Cours 4, Analyse | Section 3, Recensement des Classes 79 Représentation d’une classe d’analyse Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Les classes d’analyse sont représentés en utilisant le diagramme des classes L’ensemble des classes sont appelés « vocabulaire », « glossaire métier » ou « taxonomie du domaine » Les classes d’analyse sont une représentation de haut niveau : elles sont caractérisées par un nom, des attributs et éventuellement des opérations. Le nom de la classe est obligatoire. Les noms des attributs sont obligatoires. Leurs types facultatifs. Les paramètres et les types de retour des opérations ne sont montrés que s’ils apportent une compréhension au système IGL | Cours 4, Analyse | Section 3, Recensement des Classes 80 Représentation d’une classe d’analyse Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 La visibilité est généralement omise Les stéréotypes ne sont montrés que s’ils augmentent la représentativité Les métadonnées ne sont montrés que s’ils augmentent la représentativité IGL | Cours 4, Analyse | Section 3, Recensement des Classes 81 Exemple d’une Classe d’Analyse Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Compte numero proprietaire solde verser() retirer() IGL | Cours 4, Analyse | Section 3, Recensement des Classes 82 Techniques de recensement Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Technique Technique des noms / des verbes stéréotypes IGL | Cours 4, Analyse | Section 3, Recensement des Classes 83 Techniques des Noms / Verbes Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Technique simple qui analyse du texte pour trouver des classes, des attributs et des opérations Les noms et les phrases nominales représentent les classes et les attributs Les verbes et les phrases verbales représentent les opérations Difficultés avec les termes difficiles, les synonymes et les homonymes Difficulté à trouver les classes « cachées » S’il y a des termes qui ne sont pas compris, voir avec les experts du domaine IGL | Cours 4, Analyse | Section 3, Recensement des Classes 84 Technique des noms / verbes – Suite Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Collecte d’information Analyse des Spécifications formelles informations Cas d’utilisation Noms et phrases … nominales Verbes et phrases verbales IGL | Cours 4, Analyse | Section 3, Recensement des Classes 85 Technique des noms / verbes - Exemple Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Spécifications Le système doit permettre à Noms l’utilisateur de consulter le Système Verbes solde de son compte Le système doit permettre à Compte Verser l’utilisateur de verser de Utilisateur l’argent dans son compte Retirer Argent Consulter Le système doit permettre à l’utilisateur de retirer l’argent de son compte IGL | Cours 4, Analyse | Section 3, Recensement des Classes 86 Technique des noms / verbes - Exemple Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Compte + solde: double + consulter(): double + retirer(double): void + verser(double): void «Actor» Utilisateur IGL | Cours 4, Analyse | Section 3, Recensement des Classes 87 Technique des stéréotypes Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Cette technique se concentre sur trois stéréotypes : « boundary », « entity » et « control » Cette technique est complémentaire avec la technique des verbes / noms IGL | Cours 4, Analyse | Section 3, Recensement des Classes 88 Technique des stéréotypes Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Trouver les Trouver les Trouver les limites contrôleurs entités (boundary) IGL | Cours 4, Analyse | Section 3, Recensement des Classes 89 Technique des stéréotypes - Limites Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2023-2024 Les classes « boundary » représentent les limites du système

Use Quizgecko on...
Browser
Browser