Cours 5 - Analyse PDF
Document Details
Uploaded by ImportantPanFlute
University of El Oued
2015
Mostefai Mohammed Amine – Batata Sofiane
Tags
Summary
This document presents a lecture on software analysis and design, focusing on topics such as the software life cycle, interaction analysis, and using UML for expressing analysis results. The lecture slides include analysis techniques, diagrams, and practical examples.
Full Transcript
Cours 5 – Analyse MODULE INTRODUCTION AU GÉNIE LOGICIEL MOSTEFAI MOHAMMED AMINE – BATATA SOFIANE COPYRIGHT © ESI 2015-2016 Objectifs du Cours Mostefai Mohammed Amine – Ba...
Cours 5 – Analyse MODULE INTRODUCTION AU GÉNIE LOGICIEL MOSTEFAI MOHAMMED AMINE – BATATA SOFIANE COPYRIGHT © ESI 2015-2016 Objectifs du Cours Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse Plan du Cours Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Section 2 : Section 4 : Section 5 : Section 6 : Section 7 : Section 3 : Section 1 : Introduction Objets et Comportements Diagrammes de Diagrammes Diagrammes Recensement Classes et Interactions Séquence d’Activités d’état transition IGL – Cours 5, Analyse Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 IGL | Cours 5, Analyse SECTION 1 Introduction Cycle de Vie Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Expression des besoins Analyse Conception Implémentation Tests IGL | Cours 5, Analyse | Section 1, Introduction 5 L’activité d’analyse Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 L’analyse et l’expression de Il y a une ambiguïté entre L’analyse permet de Il y a une ambiguïté entre besoins sont très l’analyse et l’expression de clarifier les besoins d’une l’analyse et la conception dépendants besoins manière détaillée L’analyse se focalise sur Dans UP, le gros de L’analyse et la conception l’aspect métier des l’analyse se fait durant la répondent à la question fonctionnalités tandis que phase d’analyse de besoins «comment » la conception se focalise et d’élaboration sur l’aspect technique IGL | Cours 5, Analyse | Section 1, Introduction 6 L’activité d’analyse Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Modèle d’analyse Classes(Vocabulaire, aspect statique) L’analyse Produit Interactions (aspect dynamique) IGL | Cours 5, Analyse | Section 1, Introduction 7 Modèle d’Analyse Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 UML Classes Modèle d’Analyse Concepts UML Objets Vocabulaire Relations Associations UML Diagrammes Interactions Processus Comportementaux IGL | Cours 5, Analyse | Section 1, Introduction 8 L’activité d’Analyse - Exemple Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 « à 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 5, Analyse | Section 1, Introduction 9 L’activité d’Analyse - Exemple Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse | Section 1, Introduction 10 Construire le modèle d’analyse - Règles Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse | Section 1, Introduction 11 Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 IGL | Cours 5, Analyse SECTION 1 – DÉBAT (10 MNS) Introduction Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 IGL | Cours 5, Analyse SECTION 2 Objets et Classes L’objet Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Etat Comportement Objet IGL | Cours 5, Analyse | Section 2, Objets et Classes 14 Définition d’un Objet Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse | Section 2, Objets et Classes 15 Objet - Exemple Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse | Section 2, Objets et Classes 16 Notation UML des objets Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 compteTest: Compte Cle = 80 Numero = 11256 Proprietaire = [Mokhtar] Solde = 150000 IGL | Cours 5, Analyse | Section 2, Objets et Classes 17 Notation UML des objets Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse | Section 2, Objets et Classes 18 Exemple de Lien Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 compteTest: Compte Cle = 80 Numero = 11256 Solde = 150000 Possède amine: Personne adresse = Oued Smar fonction = Enseignant IGL | Cours 5, Analyse | Section 2, Objets et Classes 19 Exemple Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 azouaou: mostefai: Enseignant Enseignant Nom = Mostefai Prenom = Mohammed Amine igl: Module mcsi: Module magil:module: Annee = 3csc Module IGL | Cours 5, Analyse | Section 2, Objets et Classes 20 Objets – Notation UML - Diagrammes Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse | Section 2, Objets et Classes 21 Grade Exemple Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 EstGradé Employe Emploie * Departement 1 * EstConstituéeDe Ecole 1 IGL | Cours 5, Analyse | Section 2, Objets et Classes 22 Exemple – Suite Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse | Section 2, Objets et Classes 23 Section 2 – objets et classes Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse | Section 2, Objets et Classes 24 Les classes Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse | Section 2, Objets et Classes 25 Modélisation orientée objet Comment classifier ces animaux ? Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 IGL | Cours 5, Analyse | Section 2, Objets et Classes 26 Classes – Notation UML Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 «entity» Compte - cle: string - numero: string - solde: double = 0 + retirer(double): boolean + verser(double): boolean tags Auteur = Amine Date = Octobre 2015 IGL | Cours 5, Analyse | Section 2, Objets et Classes 27 Classes – Notation UML - Nom Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse | Section 2, Objets et Classes 28 Classes – Notation UML - Visibilité Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse | Section 2, Objets et Classes 29 Classes – Notation UML - Visibilité Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Visibilité Nom Description + Visibilité Accès depuis la même classe et à l’extérieur de publique la classe - Visibilité privée Accès depuis la même classe uniquement # Visibilité Accès depuis la même classe et les classes protégée descendantes ~ Visibilité paquet Accès depuis la même classe et toutes les classes appartenant au même paquet IGL | Cours 5, Analyse | Section 2, Objets et Classes 30 Visibilité - Exemple Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 IGL | Cours 5, Analyse | Section 2, Objets et Classes 31 Classes – Notation UML - Attributs Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 : Vi si bi lité No m _Attribut : ty pe [ m ul ti plicité ] = val eur_ini tiale IGL | Cours 5, Analyse | Section 2, Objets et Classes 32 Classes – Notation UML – Attributs, multiplicité Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse | Section 2, Objets et Classes 33 Exemples d’attributs Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse | Section 2, Objets et Classes 34 Opérations Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Sy n taxe : V i si b ilité No m _Operation ( di rectio n n o m _paramètre : ty pe = val eur_défaut ,….) : ty pe_retour L es opérations sont nommées en utilisant une formulation lowerCamelCase De préférence, utiliser des expressions verbales pour les opérations L es 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. L es opérations statiques sont soulignées IGL | Cours 5, Analyse | Section 2, Objets et Classes 35 Opérations, direction des paramètres Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse | Section 2, Objets et Classes 36 Stéréotype Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse | Section 2, Objets et Classes 37 Stéréotypes d’Analyse UP Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse | Section 2, Objets et Classes 38 Stéréotypes UP Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Utilisateur InterfaceWeb GestionnaireCommandes Commande «control» «entity» «actor» «boundary» GestionnaireCommandes InterfaceWeb Commande Utilisateur IGL | Cours 5, Analyse | Section 2, Objets et Classes 39 Exemple du monde réel Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Commande LigneCommande Produit Client GestionnaireCommandes InterfaceWeb Utilisateur IGL | Cours 5, Analyse | Section 2, Objets et Classes 40 Association Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse | Section 2, Objets et Classes 41 Associations entre Objets et Classes Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Enseignant Enseigne Module * * «instantiate» «instantiate» Mostefai: Enseignant IGL: Module IGL | Cours 5, Analyse | Section 2, Objets et Classes 42 Associations Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Employe Module Enseigne * * IGL | Cours 5, Analyse | Section 2, Objets et Classes 43 Associations – Suite Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Societe Personne +Employeur +Employé 1 * IGL | Cours 5, Analyse | Section 2, Objets et Classes 44 Nom des Associations Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse | Section 2, Objets et Classes 45 Multiplicités Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse | Section 2, Objets et Classes 46 Multiplicités – Exemple 1 Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Voiture Pneu 1 4 IGL | Cours 5, Analyse | Section 2, Objets et Classes 47 Multiplicité – Exemple 2 Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Societe Employe 1 * IGL | Cours 5, Analyse | Section 2, Objets et Classes 48 Multiplicité – Exemple 3 Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Société Employe 0..1 1..* IGL | Cours 5, Analyse | Section 2, Objets et Classes 49 Multiplicité – Exemple 4 Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Société Employe 1..* * IGL | Cours 5, Analyse | Section 2, Objets et Classes 50 Multiplicité, Exemple 5 Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Université Enseignant Emploie 1 * 1 1 AssurerCours AssurerTD 0..3 0..4 Module IGL | Cours 5, Analyse | Section 2, Objets et Classes 51 Associations Réflexives Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Employe +Subordonnes 0..* +Superieur 0..1 IGL | Cours 5, Analyse | Section 2, Objets et Classes 52 Associations Réflexives – Objet Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 koudil: Employe cherid: Employe mostefai: Employe batata: Employe azouaou: Employe IGL | Cours 5, Analyse | Section 2, Objets et Classes 53 Navigation, Exemple 1 Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Societe Employe 1 * IGL | Cours 5, Analyse | Section 2, Objets et Classes 54 Navigation, Exemple 2 Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Employe Grade * 1 IGL | Cours 5, Analyse | Section 2, Objets et Classes 55 Navigation, Exemple 3 Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Employe Grade * 1 IGL | Cours 5, Analyse | Section 2, Objets et Classes 56 Navigation, Exemple 4 Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Societe Employe 1 * IGL | Cours 5, Analyse | Section 2, Objets et Classes 57 Associations et attributs Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse | Section 2, Objets et Classes 58 Associations et Attributs, Exemple Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Employe Grade +grade * 1 Employe Grade + grade: Grade +employes * + societe: Societe Societe +societe 1 + employes: Employe [0..*] Societe IGL | Cours 5, Analyse | Section 2, Objets et Classes 59 Classes d’Associations Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse | Section 2, Objets et Classes 60 Classes d’Association – Suite Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse | Section 2, Objets et Classes 61 Classe d’Association - Suite Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Etudiant Module * * Note Enseignant + valeur: double * * IGL | Cours 5, Analyse | Section 2, Objets et Classes 62 Dépendance Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse | Section 2, Objets et Classes 63 Exemple de Dépendance Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 A B IGL | Cours 5, Analyse | Section 2, Objets et Classes 64 Généralisation Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 L’héritage est une relation entre une classe générale et une classe plus spécif ique 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 5, Analyse | Section 2, Objets et Classes 65 Généralisation, Exemple Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Engin + marque: string + modele: string + getPoids(): double Voiture Camion Bus + nombrePlaces: int VoitureTouristique VoitureUtilitaire + chargeUtile: double IGL | Cours 5, Analyse | Section 2, Objets et Classes 66 Abstraction Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse | Section 2, Objets et Classes 67 Abstraction, Exemple Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse | Section 2, Objets et Classes 68 Polymorphisme Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse | Section 2, Objets et Classes 69 Exemple - Polymorphisme Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Compte + Retirer(): void + Verser(): void CompteEntreprise CompteParticulier + Retirer(): void + Retirer(): void + Verser(): void + Verser(): void IGL | Cours 5, Analyse | Section 2, Objets et Classes 70 Paquets Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse | Section 2, Objets et Classes 71 Paquets – Notation UML Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Paquet IGL | Cours 5, Analyse | Section 2, Objets et Classes 72 Paquets – Notation UML Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 PaquetContentantDesClasses + Classe1 + Classe2 ~ Classe3 + SousPaquet IGL | Cours 5, Analyse | Section 2, Objets et Classes 73 Paquets – Espaces de noms Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 qualif ié ». 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 5, Analyse | Section 2, Objets et Classes 74 Paquets – Dépendance Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Commun + Personne + Config RH + Employe + RHConfiguration IGL | Cours 5, Analyse | Section 2, Objets et Classes 75 Éléments d’autres paquets Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Commun::Personne Employe IGL | Cours 5, Analyse | Section 2, Objets et Classes 76 Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 IGL | Cours 5, Analyse SECTION 2 – DÉBAT (10 MNS) Objets et Classes Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 IGL | Cours 5, Analyse SECTION 3 Recensement des Classes Les classes d’analyse Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse | Section 3, Recensement des Classes 79 Sources de recensement Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Modèle de Modèle des cas spécifications d’utilisation Toute autre source d’information relative au domaine IGL | Cours 5, Analyse | Section 3, Recensement des Classes 80 Représentation d’une classe d’analyse Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse | Section 3, Recensement des Classes 81 Représentation d’une classe d’analyse Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse | Section 3, Recensement des Classes 82 Exemple d’une Classe d’Analyse Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Compte numero proprietaire solde verser() retirer() IGL | Cours 5, Analyse | Section 3, Recensement des Classes 83 Techniques de recensement Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Technique Technique des noms / des verbes stéréotypes IGL | Cours 5, Analyse | Section 3, Recensement des Classes 84 Techniques des Noms / Verbes Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 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 5, Analyse | Section 3, Recensement des Classes 85 Technique des noms / verbes – Suite Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Collecte d’information Analyse des Spécifications formelles informations Cas d’utilisation Noms et phrases … nominales Verbes et phrases verbales IGL | Cours 5, Analyse | Section 3, Recensement des Classes 86 Technique des noms / verbes - Exemple Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016 Spécifications Le système doit permettre à Noms l’utilisateur de consulter le