Introduction au Génie Logiciel Cours 4 _ section I La phase d’analyse 1ère anné

Introduction au Génie Logiciel Cours 4 _ section I La phase d’analyse 1ère année second cycle Novembre 2017 AMAR BENSABER Djamel Objectifs du Cours Appréhender l’activité d’analyse Se familiariser avec les pratiques et les livrables de l’analyse Utiliser UML pour exprimer les résultats de l’analyse Découverte des diagrammes de classe, d’activité, de séquence et d’état Cycle de Vie Expression des besoins Analyse Conception Implémentation Tests L’activité d’analyse L’analyse et l’expression de besoins sont très dépendants Il y a une ambiguïté entre l’analyse et l’expression de besoins L’analyse permet de clarifier les besoins d’une manière détaillée Il y a une ambiguïté entre l’analyse et la conception L’analyse et la conception répondent à la question «comment» L’analyse se focalise sur l’aspect métier des fonctionnalités tandis que la conception se focalise sur l’aspect technique Dans UP, le gros de l’analyse se fait durant la phase d’analyse de besoins et d’élaboration L’activité d’analyse L’analyse Produit Classes(Vocabulaire, aspect statique) Interactions (aspect dynamique) Modèle d’Analyse Modèle d’Analyse Vocabulaire Concepts UML Classes UML Objets Relations Associations UML Interactions Processus Diagrammes Comportementaux Construire le modèle d’analyse - Règles Se limiter aux concepts métier, s’éloigner des considérations techniques Le langage du modèle d’analyse utilise le même langage que le métier Le modèle capture une vision globale sur un concept ou un processus, ne pas aller trop dans le détail Le modèle doit toujours être compréhensible et utile au client Plus le modèle est simple, plus il est meilleur L’activité d’Analyse - Exemple « A 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 ». L’activité d’Analyse - Exemple • 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. Objets et classes Etat Comport -ement Objet Définition d’un Objet • 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. Objet - Exemple Etat • Numéro de série (Identifiant) • Marque • Modèle • Allumée • Mode (Photo / Vidéo) • Connectée à un ordinateur • Liste des photos en mémoire • Capacité • Photo en cours Comportement • Allumer() • Eteindre() • Connecter() • Filmer() • PrendreUnePhoto() Notation UML des objets Cle = 80 Numero = 11256 Proprietaire = [Mokhtar] Solde = 150000 compteTest: Compte Cle = 80 Numero = 11256 Solde = 150000 compteTest: Compte adresse = sidi bel abbes fonction = enseignant mohamed: Personne Possède Objets – Notation UML - Diagrammes • 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 et 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 Exemple Employe Ecole Grade Département Estconsituede Emploie estGradé 1 * 1 * Classes • 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 • Un objet appartient à une seule classe • La classe définit la structure d’un objet (aspect statique), son comportement (aspect dynamique) et ses relations Classe : sémantique et notation Diagramme de classes : sémantique • Un diagramme de classes est une collection d'éléments de modélisation statiques (classes, paquetages...), qui montre la structure d'un modèle. • Un diagramme de classes fait abstraction des aspects dynamiques et temporels. • Pour un modèle complexe, plusieurs diagrammes de classes complémentaires doivent être construits. • On peut par exemple se focaliser sur : • les classes qui participent à un cas d'utilisation (cf. collaboration), • les classes associées dans la réalisation d'un scénario précis, • les classes qui composent un paquetage, • la structure hiérarchique d'un ensemble de classes. • Pour représenter un contexte précis, un diagramme de classes peut être instancié en diagrammes d'objets. Associations entre classes • Une association exprime une connexion sémantique bidirectionnelle entre deux classes. Documentation d'une association et types d'associations Association en forme verbale active : précise le sens de lecture principal d'une association Rôles : spécifie la fonction d'une classe pour une association donnée (indispensable pour les associations réflexives). Cardinalités : précise le nombre d'instances qui participent à une relation. Classe d'association : il s'agit d'une classe qui réalise la navigation entre les instances d'autres classes. Généralisation • Démarche ascendante, qui consiste à capturer les particularités communes d'un ensemble d'objets, issus de classes différentes. • Consiste à factoriser les propriétés d'un ensemble de classes, sous forme d'une super-classe, plus abstraite (permet de gagner en généricité) Spécialisation • Démarche descendante, qui consiste à capturer les particularités d'un ensemble d'objets, non discriminés par les classes déjà identifiées. • Consiste à étendre les propriétés d'une classe, sous forme de sous- classes, plus spécifiques (permet l'extension du modèle par réutilisation). Agrégation · L'agrégation est une association non symétrique, qui exprime un couplage fort et une relation de subordination. · Elle représente une relation de type "ensemble / élément". · Une agrégation peut notamment (mais pas nécessairement) exprimer : qu'une classe (un "élément") fait partie d'une autre ("l'agrégat"), · qu'un changement d'état d'une classe, entraîne un changement d'état d'une autre, · qu'une action sur une classe, entraîne une action sur une autre. · A un même moment, une instance d'élément agrégé peut être liée à plusieurs instances d'autres classes (l'élément agrégé peut être partagé). · Une instance d'élément agrégé peut exister sans agrégat (et inversement) : les cycles de vies de l'agrégat et de ses éléments agrégés peuvent être indépendants. Agrégation Composition • La composition est une agrégation forte (agrégation par valeur). • Les cycles de vies des éléments (les "composants") et de l'agrégat sont liés : si l'agrégat est détruit (ou copié), ses composants le sont aussi. • A un même moment, une instance de composant ne peut être liée qu'à un seul agrégat. • Les "objets composites" sont des instances de classes composées. Composition Exemple Stéréotype • 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 »,… Stéréotypes d’Analyse UP • 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. Stéréotypes UP Interface Web Gestionnaire de commandes Commande Utilisateur «Boundary» InterfaceWeb «control» GestionnaieC ommandes « entity » Commande « actor » Utilisateur Utilisateur InterfaceWeb Gestionnaire Commandes Commande Produit Client Exemple A vous de jouer Gestion de la cité U (diagramme de classes) Une Cité U est constituée d'un ensemble de bâtiments. Un bâtiment comporte un certain nombre de chambres. La cité peut employer du personnel et est dirigé par l’un des employés. Chaque chambre de la cité se loue à un prix donné (suivant ses prestations). L'accès aux salles de bain est compris dans le prix de la location d'une chambre. Certaines chambres comportent une salle de bain, mais pas toutes. Les hôtes de chambres sans salle de bain peuvent utiliser une salle de bain sur le palier. Ces dernières peuvent être utilisées par plusieurs hôtes. Une personne peut louer une et une seule chambre et une chambre peut être loué par une ou deux personnes. Les pièces de la Cité U qui ne sont ni des chambres, ni des salles de bain (hall d'accueil, cuisine...) ne font pas partie de l'étude (hors sujet). uploads/Management/ cours4-1-gl1-analyse-sect1-2017.pdf

  • 21
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Sep 23, 2022
  • Catégorie Management
  • Langue French
  • Taille du fichier 1.5102MB