SI et réseaux.pdf
Document Details
Uploaded by Deleted User
Full Transcript
SYSTÈME D’INFORMATION. Ingénierie des Systèmes d’Information avec UML. Pr. Abdessamad JARRAR SITD Système d’information. Objectifs de ce module Introduire les notions de base de l’ingénierie des systèmes d’information et d’UML. Maîtriser les concepts fo...
SYSTÈME D’INFORMATION. Ingénierie des Systèmes d’Information avec UML. Pr. Abdessamad JARRAR SITD Système d’information. Objectifs de ce module Introduire les notions de base de l’ingénierie des systèmes d’information et d’UML. Maîtriser les concepts fondamentaux d'UML pour représenter des systèmes informatiques. Utiliser UML pour décrire les besoins des utilisateurs et les interactions avec le système. Créer des modèles UML pour concevoir la structure logicielle d'un système. Utiliser UML pour représenter le comportement dynamique d'un système, notamment les interactions entre les objets. Communication efficace : Utiliser UML comme un outil de communication pour documenter et partager des modèles de systèmes d'information de manière claire et précise. Pr. Abdessamad JARRAR SITD Système d’information. Plan de ce module Chapitre 1 : Présentation des systèmes d’information Chapitre 2 : Introduction à UML Chapitre 3 : Modélisation des Besoins et des Processus Chapitre 4 : Conception Logicielle Chapitre 5 : Modélisation du Comportement Chapitre 6 : Projet Pratique Pr. Abdessamad JARRAR SITD Chapitre 1. Présentation des systèmes d’information. Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. Introduction au SI Améliorer en permanence la qualité, le coût et la productivité : C’est l’enjeu des entreprises Diversité Augmentation des produits Augmentation de la qualité de la concurrence Diminution des coûts de fabrication. Augmentation de la réactivité Ouverture des marchés Quels outils donner au décideur pour comprendre, dimensionner, piloter, et gérer ces systèmes Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. Vision globale d’une entreprise Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. Vision globale d’une entreprise Décider des actions à conduire. Collecter, mémoriser, traiter, Distribuer l’information. Assurer les fonctions :. facturer les clients,. fabriquer les produits,.… Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. Définition d’un système d’information Un système d'information (SI) est un ensemble organisé d'éléments qui permet de regrouper, de classifier, de traiter et de diffuser de l'information sur un phénomène donné. Le système d'information est le véhicule de la communication dans l'organisation. Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. Définition d’un système d’information Sa structure est constituée de l'ensemble des ressources (les hommes, le matériel, les logiciels) organisées pour : – collecter, – stocker, – traiter – et communiquer les informations. Le système d'information coordonne ainsi grâce à l'information les activités del'organisation et lui permet donc d'atteindre ses objectifs. Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. Qui intervient dans l’ingénierie des SI? Utilisateurs MOA DSI Réalisateur métiers MOE Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. Maîtrise d'OuvrAge (MOA) Responsabilité métier : La MOA représente l'entité ou l'organisation pour laquelle le projet est réalisé. Elle exprime les besoins métier, les objectifs et les exigences du projet. En d'autres termes, elle définit "quoi" doit être réalisé et pourquoi. Définition des besoins : La MOA est chargée de recueillir, d'analyser et de documenter les besoins des utilisateurs finaux et de l'organisation. Elle s'assure que le projet répond aux attentes métier. Validation des livrables : La MOA valide que les livrables du projet correspondent aux exigences définies, elle assure également la réception et l'acceptation finale du projet. Responsabilité budgétaire : La MOA est souvent responsable du budget alloué au projet et veille à ce que les ressources soient utilisées de manière efficace. Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. Maîtrise d'Œuvre (MOE) Responsabilité technique : La MOE est chargée de la mise en œuvre technique du projet. Elle se concentre sur "comment" réaliser les exigences définies par la MOA. Conception et développement : La MOE prend en charge la conception, le développement, l'intégration, le déploiement et la maintenance du système ou du projet. Expertise technique : Les membres de l'équipe MOE ont généralement des compétences techniques spécialisées et veillent à ce que les solutions techniques mises en place soient viables et répondent aux besoins. Responsabilité de livraison : La MOE est responsable de la livraison des produits et des services conformément aux spécifications techniques et aux délais définis. Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. SI : Pour quoi ? Organiser les données : Il permet de collecter, stocker et organiser efficacement les informations importantes pour une entreprise, ce qui facilite la prise de décision et l'analyse. Faciliter la communication : Il favorise la communication et le partage d'informations entre les membres de l'organisation, ce qui améliore la coordination et la collaboration. Automatiser les processus : Il permet d'automatiser des tâches répétitives, ce qui réduit les erreurs, augmente l'efficacité et permet aux employés de se concentrer sur des activités à plus forte valeur ajoutée. Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. Les grandes familles de SI Les systèmes de gestion de l'entreprise (ERP - Enterprise Resource Planning) : Ils intègrent les processus essentiels d'une organisation, tels que la gestion des finances, des ressources humaines et de la chaîne d'approvisionnement, dans un seul système pour améliorer l'efficacité et la cohérence. Les systèmes de soutien à la décision (DSS - Decision Support System) : Ils aident les dirigeants et les gestionnaires à prendre des décisions éclairées en fournissant des données, des analyses et des outils de modélisation pour résoudre des problèmes complexes. Les systèmes d'information de gestion (MIS - Management Information System) : Ils collectent, traitent et présentent des données opérationnelles pour soutenir la gestion de niveau intermédiaire dans la planification, le suivi et le contrôle des activités quotidiennes de l'entreprise. Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. Le SI en 2011 Une révolution : le réseau Web – Une nouveauté : ASP – APPLICATION SERVICE PROVIDER (fournisseur de service d’application) ou fournisseur d’applications hébergées Définition : C’est une organisation qui fournit des services informatiques à ses clients via un réseau (Internet) Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. Les avantages d’ASP Avantage 1 : Simplicité – fournir un accès à des applications particulières en utilisant le protocole standard http. – Il faut disposer simplement d’un navigateur Web Avantage 2 : Réduction des coûts – Pas de mise en place d’une infrastructure technique (serveurs réseau, logiciels d’accès,…) – Coûts partagés et ventilés sur une communauté de clients – Tous les clients profitent des mises à jours (upgrades) Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. Les inconvénients d’ASP Inconvénient 1 : La confidentialité des informations – Le client confie ses données à son ASP : confidentialité, pérennité du fournisseur, à prendre en compte dans une démarche de maîtrise des risques Inconvénient 2 : L’intégration des données – Les flux d’entrée/sortie et les interfaces avec les autres S.I (car un S.I est rarement unique) sont plus délicats… Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. Les inconvénients d’ASP Inconvénient 3 : La disponibilité – Qui dit réseau, dit « disponibilité et performance du réseau ; temps d’accès aux informations » : à prendre en compte pour l’évaluation de la robustesse des applications du S.I. Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. Une véritable révolution : le CLOUD computing Définition : déportation sur des serveurs distants des traitements informatiques traditionnels localisés sur un poste utilisateur. Il faut donc penser le S.I différemment en intégrant : – L’externalisation (ses avantages et ses risques) – Aller partout,….de partout – Fin du poste de travail dédié Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. Composition du S.I (gestion) Un passage souvent « obligé » : – l’ERP (Entreprise Ressource Planning) – ou P.G.I (Progiciel de Gestion Intégré) L’ERP regroupe tous les systèmes informatisés permettant de soutenir le fonctionnement de l’entreprise. Un E.R.P comprend généralement plusieurs modules : – Ressources humaines – Finances – Compta client – Compta fournisseurs – … Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. E.R.P Pourquoi ? Aucune organisation ne part de zéro…. Aucune organisation n’a les moyens de tout remettre à plat. Il en résulte alors des systèmes et des bases de données qui sont conservés, d’autres qui sont ajoutés, d’autres qui sont améliorés ou complétés… Et il faut faire avec …. Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. E.R.P Quelle finalité ? Avoir une base de données commune… – Cela est très difficile. De même, un seul ERP dans une organisation est souvent un objectif irréalisable. Dans la réalité, il existe souvent différents systèmes qui doivent cohabiter et s’interfacer entre eux. Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. E.R.P Donc : La problématique à prendre en compte dès la mise en place d’un ERP c’est : 1. la cohabitation entre les systèmes 2. la prolifération des bases de données ressources 3. les interfaces avec les autres systèmes de l’organisation (qui peuvent aussi être externalisées…) 4. ne pas oublier la production d’éléments décisionnels Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. N’oublions pas la donnée… La donnée (information) est la nouvelle richesse de l’entreprise A condition de : Gérer les contenus (content Management) – Définition : gérer les informations brutes et savoir les transformer en données structurées Gérer les accès – Prendre en compte la gestion des flux et des protocoles d’échanges Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. N’oublions pas la donnée… Ne pas oublier que le SI est souvent géré et pris en charge par des partenaires prestataires externes à l’organisation => EXTERNALISATION Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. Le Workflow : le partage « nouvelle génération » Définition : partage des informations par tous les acteurs Remplacer le partage du papier (copies, stockage, envois,…) à condition de … – Développer les réseaux, les accès… – de réussir la conduite du changement – de revoir les procédures – de former les personnes C’est un exemple flagrant de la nécessité d’opérer un changement d’organisation pour assurer une meilleure productivité. Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. L’accès aux données : l’Infocentre Un peu d’histoire… L’Infocentre dans les années 70-80, consistait à mettre à la disposition des utilisateurs finaux : – La puissance de calcul d’un ordinateur en temps partagé, accessible via des terminaux, pour accéder à des banques de données grâce à des programmes spécifiques (Basic, Cobol, Fortran) C’était l’époque du Mainframe et des terminaux passifs. Démodé, non ??? – pas tant que ça ! Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. L’accès aux données : l’Infocentre Dans les années 90, l’Infocentre est devenu dynamique et a été peu à peu remplacé par l’informatique décisionnelle, le datawarehouse, le datamart (entrepôt de données), … Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. L’informatique décisionnelle DSS = décision support system ou BI = business intelligence désigne les moyens, les outils et les méthodes qui permettent de collecter, consolider, modéliser et restituer les données d’une organisation afin de permettre à ses responsables d’avoir une vision d’ensemble L’entrepôt de données : – Il peut prendre la forme d’un Datawarehouse ou d’un Datamart (plus orienté METIER spécifique dans l’organisation) Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. L’informatique décisionnelle Le tableau de bord : – pour contrôler et prendre la bonne direction Ce qu’il s’est passé -> REPORTING Pourquoi ? Ce qu’il se passe Ce qu’il va se passer Que devrait-il se passer ? Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. L’informatique décisionnelle Le reporting – Collecter les données – Sélectionner des données sur une période donnée – Ordonner : trier, filtrer selon des critères – Calculer – Présenter Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. La collecte des données Une donnée devient une information lorsqu’elle est porteuse de sens. La mise à disposition d’un grand volume de données ne doit pas être la seule préoccupation Qui peut le plus, peut le moins… ne marche pas en informatique Donc, il faut bien identifier les besoins des utilisateurs et savoir quelle donnée aura du sens pour quel utilisateur Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. La collecte des données Les principales difficultés sont : – L’accessibilité des données en raison de l’hétérogénéité du S.I – Le nettoyage des erreurs présentes dans les bases – La consolidation Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. La collecte des données Pourquoi ? Le S.I d’une entreprise est un ensemble de briques de données plus ou moins bien empilées….au cours des années. Le résultat : des données hétérogènes et peu fiables quand elles sont consolidées (limites des datamarts qui constituent un datawarehouse…) Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. La collecte des données : comment faire ? On part des données sources issues des systèmes transactionnels de production : – Au fil de l’eau : (achats, ventes,…) – C’est le rendu de l’activité de l’entreprise au fil du temps des opérations – À un instant donné (stock, commandes passées, contrats,…) Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. De MERISE…. Les outils pour modéliser les données – Dans le domaine des SGBD, on utilise le plus souvent les modèles « entité-relation » qui a fait le succès de la méthode MERISE et de son MCD (modèle conceptuel de données) Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. … à UML dans UML, on retrouve cette approche dans le diagramme de classes… Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. La différence entre MERISE et UML de la différence entre MERISE et UML en un seul point par méthode : – MERISE : Méthode de conception axée sur la modélisation des données et des processus métier, principalement utilisée pour concevoir des systèmes d'information et des bases de données, avec une notation spécifique. – UML : Langage de modélisation graphique polyvalent qui couvre divers aspects de la modélisation, principalement utilisé pour la modélisation des logiciels, avec une notation standardisée. Pr. Abdessamad JARRAR SITD Chapitre 1 : Présentation des systèmes d’information. Fin de ce chapitre Avez – vous des questions ? Pr. Abdessamad JARRAR SITD Chapitre 2. Introduction à UML. Pr. Abdessamad JARRAR SITD Chapitre 2 : Introduction à UML. QU’EST CE QU’UN MODÈLE ? Un modèle est une façon simplifiée de représenter quelque chose de réel, comme un dessin d'une voiture pour comprendre comment elle fonctionne. Les modèles ont un but spécifique, comme aider à prédire la météo, comprendre comment fonctionne un moteur, ou simuler le trafic routier. Il existe différents types de modèles, comme des dessins, des équations mathématiques, des simulations informatiques, ou des maquettes physiques. Les modèles simplifient la réalité, mais ils sont utiles pour mieux comprendre, prendre des décisions, et résoudre des problèmes dans de nombreux domaines. Pr. Abdessamad JARRAR SITD Chapitre 2 : Introduction à UML. QU’EST CE QU’UN MODÈLE ? Modèle –abstraction de la réalité –ensemble de concepts, règles, un formalisme –vue subjective mais pertinente de la réalité Pr. Abdessamad JARRAR SITD Chapitre 2 : Introduction à UML. QU’EST CE QU’UN DIAGRAMME ? Un diagramme est une image qui montre des informations ou des idées avec des dessins, des lignes et des couleurs. Les diagrammes sont utilisés pour rendre les choses compliquées plus faciles à comprendre, comme montrer comment les employés d'une entreprise se rapportent les uns aux autres. Il existe de nombreux types de diagrammes, comme les graphiques, les organigrammes et les diagrammes de flux, chacun servant à montrer différents types d'informations. Les diagrammes aident les gens à communiquer leurs idées de manière claire et simple, ce qui les rend utiles dans de nombreux domaines, de la science aux affaires. Pr. Abdessamad JARRAR SITD Chapitre 2 : Introduction à UML. QU’EST CE QU’UN DIAGRAMME ? Diagramme –Possibilité de visualiser et de manipuler (éditer) des éléments de modélisation –Représentation graphique d’une séquence d’opérations ou de la structure d’un système Pr. Abdessamad JARRAR SITD Chapitre 2 : Introduction à UML. Exemple de Diagrammes Pr. Abdessamad JARRAR SITD Chapitre 2 : Introduction à UML. Méthode d’analyse et de conception Une méthode = 4 éléments fondamentaux Décrire une DÉMARCHE qui liste les tâches à effectuer Fournir un MODÈLE pour décrire la sémantique des données ainsi que leurs comportements Fournir un ensemble de DIAGRAMMES s’appuyant sur un FORMALISME de description (graphique ou textuel) Pr. Abdessamad JARRAR SITD Chapitre 2 : Introduction à UML. INTRODUCTION À LA NOTATION UML UML – langage destiné aux phases amont de la réalisation d’un logiciel. – technique de modélisation unifiée issue de méthodes orientées objet plus anciennes : OMT (James Rumbaugh), OOSE (Ivar Jacobson), OOD (Grady Booch) Intérêt des standards = faciliter la communication Pr. Abdessamad JARRAR SITD Chapitre 2 : Introduction à UML. INTRODUCTION À LA NOTATION UML Pr. Abdessamad JARRAR SITD Chapitre 2 : Introduction à UML. OBJECTIFS D’UML Représenter des systèmes entiers Prendre en compte les facteurs d’échelle Créer un langage de modélisation – utilisable à la fois par les hommes et les machines – compatible avec toutes les techniques de réalisation – adapté à toutes les phases du développement Indépendant des langages de programmation Pr. Abdessamad JARRAR SITD Chapitre 2 : Introduction à UML. UML EST UN LANGAGE POUR … VISUALISER – chaque symbole graphique a une sémantique SPÉCIFIER – de manière précise et complète, sans ambiguïté CONSTRUIRE – les classes, les relations, … DOCUMENTER – les ≠ diagrammes, notes, contraintes, exigences seront présentés dans un document Pr. Abdessamad JARRAR SITD Chapitre 2 : Introduction à UML. Mais attention… UML est un langage → pas une méthode ! – savoir parler ne signifie pas qu’on sait à qui parler, à quel moment engager la conversation, et quoi dire UML ne résout pas tous les problèmes de communication : – précision → diagrammes complexes → difficiles à comprendre – compréhensibilité → diagrammes plus simples → sujets à interprétation (reste une part de subjectivité) – comme avec tout langage, on peut « mal s’exprimer » (erreur, imprécision, incohérence, …) Pr. Abdessamad JARRAR SITD Chapitre 2 : Introduction à UML. POURQUOI L’APPROCHE OBJET ? Possibilité de réutiliser les éléments d’un développement à un autre Simplicité du modèle de représentation qui ne fait appel qu’à des concepts fondateurs : – Les objets – Les messages – Les classes – La généralisation – Le polymorphisme Pr. Abdessamad JARRAR SITD Chapitre 2 : Introduction à UML. Les diagrammes UML 1.4 Le langage UML 1.4 propose 9 diagrammes : 4 statiques (structure - données) – Diagramme d’objets – Diagramme de classes – Diagramme de composants – Diagramme de déploiement 5 dynamiques (comportement) – Diagramme de cas d’utilisation – Diagramme de collaboration – Diagramme de séquence – Diagramme d’états-transition – Diagramme d’activités Pr. Abdessamad JARRAR SITD Chapitre 2 : Introduction à UML. RELATION ENTRE DIAGRAMMES ET ÉTAPES DU PROCESSUS DE DÉVELOPPEMENT Découverte et analyse des besoins : – Diagramme de cas d’utilisation : décrit les fonctions du système selon le point de vue de ses futurs utilisateurs – Diagramme de séquence : représentation temporelle des objets et de leurs interactions – Diagramme d’activités: pour des représentations grossières, ils représentent le comportement d’une méthode ou d’un cas d’utilisation. Pr. Abdessamad JARRAR SITD Chapitre 2 : Introduction à UML. Exemple de diagrammes de séquence : Pr. Abdessamad JARRAR SITD Chapitre 2 : Introduction à UML. RELATION ENTRE DIAGRAMMES ET ÉTAPES DU PROCESSUS DE DÉVELOPPEMENT Spécification : – Diagramme de classes : structure des données du système définies comme un ensemble de relations et de classes – Diagramme d’objets : illustration des objets et de leurs relations. Ce sont des diagrammes de collaboration simplifiés sans représentation des envois de messages. – Diagramme de collaboration : représentation des interactions entre objets – Diagramme d’états-transitions : représentation du comportement des objets d’une classe en terme d’états et de transitions d’états – Diagramme d’activités: pour des représentations grossières, ils représentent le comportement d’une méthode ou d’un cas d’utilisation. Pr. Abdessamad JARRAR SITD Chapitre 2 : Introduction à UML. Exemple de diagrammes d’activités : Pr. Abdessamad JARRAR SITD Chapitre 2 : Introduction à UML. RELATION ENTRE DIAGRAMMES ET ÉTAPES DU PROCESSUS DE DÉVELOPPEMENT Conception : – Diagramme de séquence : représentation des interactions temporelles entre objets dans la réalisation d’une opération – Diagramme de composants : architecture des composants physiques d’une application – Diagramme de déploiement : description du déploiement des composants sur les dispositifs matériels Pr. Abdessamad JARRAR SITD Chapitre 2 : Introduction à UML. Exemple de diagramme de déploiement Pr. Abdessamad JARRAR SITD Chapitre 2 : Introduction à UML. Attention ! Un même type de diagramme (e.g. diagramme d’activité) – peut être utilisé : pour modéliser des concepts différents à des moments différents du processus de développement (donc pour des objectifs différents) à différents niveaux d’abstraction – peut ne pas être utilisé du tout dans le processus de développement Pr. Abdessamad JARRAR SITD Chapitre 2 : Introduction à UML. Fin de ce chapitre Avez – vous des questions ? Pr. Abdessamad JARRAR SITD Chapitre 3. Modélisation des Besoins et des Processus. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus DIAGRAMMES DE CAS D’UTILISATION Constat : Le système existe pour server ses utilisateurs Cas d’utilisation (use cases) [Jacobson 92] – Idée : description du comportement du système du point de vue de son utilisateur (facilite l’expression des besoins) Comportement = {Actions} + {Réactions} Un cas d’utilisation correspond à une manière spécifique d’utiliser le système Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus DIAGRAMMES DE CAS D’UTILISATION Acteur : entité externe qui agit sur le système Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Acteurs vs utilisateurs Ne pas confondre acteur et personne utilisant le système : – Une même personne peut jouer plusieurs rôles – Plusieurs personnes peuvent jouer un même role – Un acteur n’est pas forcément une personne physique Types d’acteurs: – Utilisateurs principaux – Utilisateurs secondaires – Périphériques externs – Systèmes externes Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Définition des Acteurs Pour chaque acteur : – Choisir un identificateur représentatif du role – Éventuellement accompagné d’une brève description textuelle : Exemple : – Une plateforme de marché est un environnement en ligne qui connecte des vendeurs et des acheteurs pour faciliter les transactions commerciales, qu'il s'agisse de biens ou de services. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Définitions du cas d’utilisation Un cas d’utilisation est un ensemble des actions réalisées par le système en réponse à une action d’un acteur. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Relations entre cas d’utilisation Les types de relations entre les cas d’utilisation: – La généralisation, spécialisation ou héritage – L’inclusion – L’extension Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus La Généralisation Généralisation spécialisation ou héritage = spécialisation de certaines actions du cas d’utilisation d’origine Un cas d'utilisation général (ou parent) peut avoir des cas d'utilisation spécifiques (ou enfants) qui héritent de ses caractéristiques et de son comportement. Les cas d'utilisation spécifiques héritent des caractéristiques et du comportement du cas d'utilisation général. Cela favorise la réutilisation de fonctionnalités, car les cas d'utilisation spécifiques n'ont pas besoin de répéter toutes les descriptions de comportement déjà définies dans le cas d'utilisation général. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Exemple de généralisation de CU Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus L’Inclusion L'inclusion en UML est une relation qui permet d'inclure un cas d'utilisation (inclus) dans un autre cas d'utilisation (inclusant) afin de réutiliser des fonctionnalités communes. Cela favorise la modularité en permettant d'encapsuler des sous-processus réutilisables dans plusieurs cas d'utilisation, évitant ainsi la duplication du comportement. Lorsque le cas d'utilisation inclus est activé, il est exécuté indépendamment du cas d'utilisation inclusant, améliorant ainsi la réutilisation des fonctionnalités dans le modèle. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Exemple d’inclusion entre les CU Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus L’extension L'extension en UML est une relation qui permet de modéliser des cas d'utilisation optionnels qui étendent le comportement d'un cas d'utilisation de base. Ces cas d'utilisation d'extension ne sont activés que dans des circonstances spécifiques, offrant une approche pour traiter des scénarios alternatifs ou facultatifs sans alourdir le cas d'utilisation principal. L'extension permet de rendre le modèle plus flexible en ajoutant des fonctionnalités supplémentaires en fonction des besoins, sans perturber le comportement de base. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Exemple d’extension entre les CU Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Relation de généralisation spécialisation entre acteurs La généralisation entre les acteurs dans un diagramme de cas d'utilisation en UML représente une relation hiérarchique entre les acteurs. La relation de généralisation spécialisation, aussi appelée relation d’héritage, entre deux acteurs exprime le fait que l’acteur du côté opposé à la pointe de la flèche « est une sorte de ». Il est spécialisé au sens où il peut réaliser tout ce que l’acteur plus général peut réaliser, plus d’autres fonctionnalités. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Exemple de généralisation entre les acteurs Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Attention ! Attention au niveau de détail : un CU n’est pas une fonction Remarques importantes (pour le DCU mais valable pour tous les autres types diagrammes) – il existe des variantes (notation des acteurs par exemple), des compléments (multiplicité), d’autres composants, etc – on ne définit pas « le » diagramme mais UN diagramme (tient compte de votre vision et de vos objectifs) Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus DIAGRAMMES DE SÉQUENCE Le diagramme de séquence en UML est un outil de modélisation qui représente visuellement les interactions entre les objets ou acteurs d'un système, en mettant l'accent sur la chronologie des messages échangés. Il est principalement utilisé pour décrire le comportement dynamique d'un système, montrant comment les objets ou acteurs communiquent et coopèrent pour accomplir des tâches ou des scénarios spécifiques. Les objets ou acteurs sont disposés sur la verticale, et les messages qu'ils s'envoient sont affichés horizontalement, montrant ainsi la séquence dans laquelle les interactions se produisent. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus DIAGRAMMES DE SÉQUENCE Les fragments conditionnels, tels que les boucles et les alternatives, peuvent être inclus pour représenter des scénarios plus complexes ou des itérations dans le diagramme. Le diagramme de séquence est largement utilisé pour la modélisation du comportement dans les systèmes logiciels et informatiques, mais il peut également être adapté à d'autres domaines pour décrire des processus et des interactions en séquence. le diagramme de séquence est un outil puissant pour représenter le déroulement chronologique des interactions entre objets ou acteurs, ce qui facilite la compréhension des comportements et des processus dans un système. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Exemple de diagramme de séquence Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Messages Les principales informations contenues dans un diagramme de séquence sont les messages échangés entre les lignes de vie : – Ils sont représentés par des flèches – Ils sont présentés du haut vers le bas le long des lignes de vie, dans un ordre chronologique Un message définit une communication particulière entre des lignes de vie (objets ou acteurs). Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Messages Plusieurs types de messages existent, dont les plus courants : – l’envoi d’un signal ; – l’invocation d’une opération (appel de méthode) ; – la création ou la destruction d’un objet. La réception des messages provoque une période d’activité (rectangle vertical sur la ligne de vie) marquant le traitement du message (spécification d’exécution dans le cas d’un appel de méthode). Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Messages synchrones et asynchrones Un message synchrone bloque l’expéditeur jusqu’à la réponse du destinataire. Le flot de contrôle passe de l’émetteur au récepteur. Si un objet A envoie un message synchrone à un objet B, A reste bloqué tant que B n’a pas terminé. On peut associer aux messages d’appel de méthode un message de retour (en pointillés) marquant la reprise du contrôle par l’objet émetteur du message synchrone. Un message asynchrone n’est pas bloquant pour l’expéditeur. Le message envoyé peut être pris en compte par le récepteur à tout moment ou ignoré. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Messages de retour Le récepteur d’un message synchrone rend la main à l’émetteur du message en lui envoyant un message de retour. Les messages de retour sont optionnels : la fin de la période d’activité marque également la fin de l’exécution d’une méthode. Les messages de retour sont représentés en pointillés. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Exemples de Messages Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Fragment alt : opérateur conditionnel Les différentes alternatives sont spécifiées dans des zones délimitées par des pointillés. – Les conditions sont spécifiées entre crochets dans chaque zones. – On peut utiliser une clause [else] Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Fragment loop : opérateur d’itération Le fragment loop permet de répéter ce qui se trouve en son sein. On peut spécifier entre crochets à quelle condition continuer. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Les types d’acteurs Utilisateur Interface Contrôleur Base de données Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Remarques Les fragments peuvent s’imbriquer les uns dans les autres On peut émettre des messages réflexifs et dans ce cas, on définit une activité “dans” l’activité Lorsqu’on décrit une opération dans le détail, il est permis (mais pas recommandé) de placer des commandes sur les flèches au lieu de messages correspondant à des opérations ou des signaux Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Diagramme de classes Le diagramme de classes en UML représente la structure statique d'un système en identifiant les classes, les attributs et les méthodes qui les caractérisent. Il montre les relations entre les classes, telles que l'association, l'agrégation, la composition, l'héritage et la dépendance, pour illustrer comment les classes interagissent. Ce diagramme est essentiel pour modéliser l'architecture et la structure d'un système, aidant à la conception, à la communication et à la documentation des composants et des relations clés du système. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Classes Une classe définit un type d’objet. Une classe déclare donc des propriétés communes à un ensemble d’objets : – Les attributs correspondant à des variables associées aux objets de la classe – Les opérations correspondant à des opérations (fonctions) associées aux objets de la classe Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Classes Exemples de propriétés : – Toutes les commandes ont une date (attribut). – Toutes les personnes ont un nom (attribut). – Toutes les personnes ont un numéro (attribut). – Tous les articles peuvent être achetés (opération). Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Représentation d’une classe en UML Une classe est composée d’un nom, d’attributs et d’opérations. Le nom d’une classe commence par une majuscule Le nom d’une propriété commence par une minuscule Les types de base (int, long, float, double, boolean) sont en minuscules Il n’a pas d’espace dans les noms de classes ou de propriétés Pour les noms composés, on fait commencer chaque mot par une majuscule Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Concepts et instance Une instance est la concrétisation d’un concept abstrait. Instanciation d’une classe : – Une classe est un concept en celà qu’elle n’est que la spécification d’un type – Un objet est une instance avec ses propres attributs et son propre état Instanciation d’une association : – Une association entre deux classes est un concept : elle décrit quels types d’objets et combien peuvent être associés à d’autres – Un lien est une instance : c’est un lien concret entre deux objets particulier Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Attributs d’une classe Syntaxe (entre accolades, les mentions optionnelles) : {-,#,+,~} nomAttribut : TypeAttribut {[multiplicité]} {=valeurInitiale} – {-,#,+,~} : un symbole parmi les quatre pour définir la visibilité de l’attribut : privée, protégée, publique, paquetage – la multiplicité définit le nombre de valeurs dans une collection (tableau, liste) Exemples : – - i : int pour un attribut privé – + pp : PointPlan pour un attribut public – tabI : int[*] pour un tableau d’entiers de taille quelconque et à la visibilité non définie – tabPP : PointPlans pour un tableau de 4 points exactement et à la visibilité non définie Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Encapsulation L’encapsulation est un principe de conception consistant à protéger le coeur d’un système des accès intempestifs venant de l’extérieur. En UML, les modificateurs d’accès permettent de définir la visibilité des propriétés : – Un attribut privé (-) limite la visibilité d’une propriété à la classe elle-même – Un attribut public (+) ne limite pas la visibilité d’une propriété – Un attribut protégé (#) limite la visibilité d’une propriété à la classe elle-même et à ses sous-classes – Le symbole (~) permet de limiter la visibilité d’une propriété au package de la classe Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Opérations d’une classe Syntaxe (entre accolades, les mentions optionnelles) : {-,#,+,~} nomOpération ({LISTE_PARAMS}) {:valeurRetour} avec pour LISTE_PARAMS, les paramètres séparés par des virgules. Chaque paramètre s’écrit : nomParamètre : TypeParamètre Exemples : – + toString() : String pour une opération publique, sans paramètre et retournant une chaîne de caractères – ~ setAbscisse(x:float) pour une opération visible dans le paquetage, et prenant une nombre à virgule en paramètre Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Opérations d’une classe Si une classe est déjà définie, il est possible de la représenter simplement, sans ses propriétés. Relations entre classes – La relation d’héritage est une relation de généralisation/spécialisation permettant l’abstraction de concepts. – Une association représente une relation possible entre les objets d’une classe. – Une relation de composition décrit une relation de contenance et d’appartenance. – Une dépendance est une relation unidirectionnelle exprimant une dépendance sémantique entre les éléments du modèle (flèche ouvertePr.pointillée). Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Association Une association est une relation structurelle entre objets. – Une association est souvent utilisée pour représenter les liens possibles entre objets de classes données – Elle est représentée par un trait entre classes – Elle est souvent dirigée par une flèche La flèche indique ici que la relation est uni-directionnelle : les objets de classe Article connaissent ceux de la classe Commentaire auxquels il sont liés, mais pas l’inverse. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Association bi-directionnelle Certaines associations sont bi-directionnelles mais comme une telle association est plus complexe à implémenter, on préfère l’éviter autant que possible. L’absence de flèche indique ici que l’on peut accéder aux catégories à partir des articles qui leur sont liés, et inversement. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Multiplicités Les multiplicités permettent de contraindre le nombre d’objets intervenant dans les instanciations des associations. On en place de chaque côté des associations. – Une multiplicité d’un côté spécifie combien d’objets de la classe du côté considéré sont associés à un objet donné de la classe de l’autre côté. – Syntaxe : min..max, où min et max sont des nombres représentant respectivement les nombre minimaux et maximaux d’objets concernés par l’association. Ici, le 1..5 s’interprète comme à un objet donné de la classe Article, on doit associer au minimum 1 objet de la classe Categorie et on peut en associer au maximum 5. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Ecriture des multiplicités Certaines écritures possibles : – * à la place de max signifie plusieurs sans préciser de nombre. – n..n se note aussi n pour exatement n – 0..* se note aussi * Exemples : – 1..* : au minimum 1 mais sans maximum – 1..2 : entre un et deux (mais jamais 0, par exemple) – * : autant qu’on le souhaite Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Rôles On peut donner à une classe un rôle dans uns association. C’est surtout utile quand plusieurs associations concernent les mêmes classes en qu’en conséquence, de mêmes objets peuvent être liés par des modalités différentes. Ici, des adresses peuvent être liées aux clients : – Les adressers jouent le rôle d’adresses de livraison ou d’adresses de facturation – Rien n’empêche qu’une adresse soit à la fois une adresse de livraison et un adresse de facturation Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Classe-association Pour faire porter des informations par une association, on emploie une classe-association. Graphiquement, on la relie à l’association avec des pointillés. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Relations est une partie de Les objets correspondant aux attributs d’une classe font partie des objets de la classe en question : – Les attributs définissent des parties de la classe – Ils la composent Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Expression des compositions avec des relations Il est possible de représenter plus explicitement les relations de composition entre classes. De manière équivalente à la définition d’attributs, on peut utiliser des compositions unidirectionnelles et – Il ne faut pas représenter à la fois des attributs et des compositions pour la même relation – Le nom de l’attribut devient le rôle de la classe composante – La multiplicité de l’attribut devient le rôle de la classe composante (sans multiplicité explicte, 1) Les compositions peuvent aussi être bi-directionnelles, mais il n’y a alors plus d’équivalence avec les attributs : on retient la notion de partie. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Compositions et associations classiques Il faut remplir deux critères pour décider d’une composition au lieu d’une association classique : – La relation est de type du tout à sa partie – L’existence des objets composants et composée est liée : La destruction d’un objet composite (le tout) implique la destruction des objets composants (les parties) La copie d’un objet composite (le tout) implique la copie des objets composants (les parties) Plus généralement, les composants ne sont pas partagés par les composites Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Traduction Java de la notion d’attribut Un attribut est implémenté en Java par une variable d’instance de même nom. class Article { protected designation : String protected prix : float... (opérations) } Une multiplicité maximale supérieure à 1 en UML donne lieu en Java à un tableau ou à une collection. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Compositions unidirectionnelles class Article {... Commentaire[] avis ;... } Les compositions unidirectionnelles sont implémentées par des variables d’instance en Java – Les éventuels rôles donnent lieu à des noms de variable – Sans rôle explicite, la variable d’instance prend le nom de la classe, avec une minuscule – Une multiplicité maximale supérieure à 1 donne lieu en Java à un tableau ou à une collection (ArrayList, par exemple) Les associations sont représentées comme des compositions, c’est à dire avec des attributs. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Héritage et abstraction et interfaces L’héritage une relation de spécialisation/généralisation. – Les éléments spécialisés héritent de la structure et du comportement des éléments plus généraux (propriétés, associations et autres héritages) – Exemple : Par héritage d’Article, un livre a d’office un prix, une désignation et une opération acheter(), sans qu’il soit nécessaire de le préciser Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Héritage et abstraction et interfaces Sans heritage : Pas de types généraux et intermédiaires Pas de réutilisation de méthodes comme afficher() Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Héritage des parents La classe enfant (celle qui hérite) possède toutes les propriétés de ses classes parents (attributs et opérations) – La classe enfant est la classe spécialisée (ici Livre) – La classe parent est la classe générale (ici Article) Elle n’a accès qu’aux propriétés publiques (comme tout le monde) et protégées de ses parents. Le propriétés publiques restent masquées pour les enfants. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Terminologie La signature d’une opération est constituée de son nom et de ses paramètres (pas de sa valeur de retour). La surcharge d’opérations (même nom, mais signatures des opérations différentes) est possible dans toutes les classes. Polymorphisme : – Une classe enfant peut redéfinir (même signature) une ou plusieurs méthodes de la classe parent – Un objet utilise en principe la définition la plus spécialisée dans la hiérarchie des classes. Substitution : une instance d’une classe peut être utilisée partout où une instance de sa classe parent est attendue (par exemple, toute opération acceptant un objet d’une classe Animal doit accepter tout objet de la classe Chat (l’inverse n’est pas toujours vrai). Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Classe abstraite Une opération est dite abstraite lorsqu’on connaît sa signature mais pas la manière dont elle peut être réalisée (en UML, on écrit son nom en italique). Il appartient aux classes enfant de définir les opérations abstraites. Une classe est dite abstraite lorsqu’elle définit au moins une méthode abstraite ou lorsqu’une classe parent contient une méthode abstraite non encore réalisée (en UML, on écrit son nom en italique). Tant qu’au moins une méthode demeure abstraite (même héritée), la classe ne peut être qu’abstraite. Il est impossible d’instancier directement une classe abstraite. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Héritage multiple Une classe peut avoir plusieurs classes parents. On parle alors d’héritage multiple. – Le langage C++ est un des langages objet permettant son implantation effective. – Java ne le permet pas et on doit employer des interfaces. L’emploi de l’héritage multiple est souvent peu justifié et d’autres solutions de conception sont souvent préférables. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Interface : utilisation Les interfaces sont très utilisées en COO et en POO. On les utilise d’ailleurs plus régulièrement que l’héritage, par exemple. Le rôle d’une interface est de regrouper un ensemble d’opérations assurant un service cohérent que des classes sont susceptibles d’offrir. On peut ainsi définir des classes clientes (ici, Page) avant d’avoir défini toutes les implémentations requises de l’interface. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Interface : définition Une interface est définie comme une classe, avec les mêmes compartiments. On ajoute le stéréotype > avant le nom de l’interface. On utilise une relation de type réalisation entre une interface et une classe qui l’implémente (flèche d’héritage en pointillés). Les classes implémentant une interface doivent implémenter toutes les opérations décrites dans l’interface. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Associations réflexives L’association la plus utilisée est l’association binaire (reliant deux classes). Parfois, les deux extrémités de l’association pointent vers la même classe. Dans ce cas, l’association est dite réflexive. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Instantiation d’associations réflexives Instanciée, une association réflexive fait intervenir plusieurs objets. Par exemple : – Un premier objet de classe Categorie joue le rôle de categoriePrincipale – Un second objet joue le rôle de sousCategorie Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Associations n-aires Artité des associations : – La plupart des associations sont binaires – Les associations réflexives sont unaires. Il arrive que ce ne soit pas suffisant. Dans ce cas, on peut définir des relations n-aires. – Pour déterminer les multiplicités d’un côté, on considère le nombre d’objets liés à un (n-1)-uple quelconque formé d’objets de tous les autres côtés – Ces associations se rencontrent assez rarement en pratique. Dans la plupart des cas, il est en effet plus pertinent d’utiliser une classe-association. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Attributs de classe Par défaut, les attributs correspondent à des variables d’instance, dont la valeur peut changer pour chaque instance de la classe considérée. Les attributs de classe sont des variables dépendant des classes et pas de leurs instances. – Graphiquement, un attribut de classe est souligné – De tels attributs correspondent aux variables de classe (static en Java) Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Opérations de classe Une opération de classe est une propriété de la classe, et non de ses instances. Elle n’a pas accès aux attributs des objets de la classe. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Classe paramétrée Pour définir une classe générique et paramétrable en fonction de valeurs et/ou de types : – Définition d’une classe paramétrée par des éléments spécifiés dans un rectangle en pointillés – Utilisation d’une dépendance stéréotypée « bind » pour définir des classes en fonction de la classe paramétrée. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Paquetages Il est recommandé de mettre dans des paquetages (packages) différents les éléménts qui ont un raport plus étroi les uns avec les autres. Ici, par exemple, on identifie un package pour les éléments liés aux aspects commerciaux, et un autre pour les éléménts concernant le catalogue de produits. A la manière de dossiers, on peut imbriquer des packages dans d’autres packages. Chaque classe dispose d’un nom absolu et non ambigu Package::SousPackage::NomClasse. Exemple : java.lang.String. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Impact des associations sur un code en java Association unidirectionnelle * vers 1 – Ce type d’association est le plus courant, et heureusement le plus simple à impélmenter. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Association unidirectionnelle * vers * Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Association bididirectionnelle 1 vers 1 Il faut maintenir la cohérence des référencements dans les deux sens. Un simple Il faut également définir l’opération symétrique dans B. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Association unidirectionnelle vers 1 C’est paradoxalement plus complexe que le cas bidirectionnel : – Les instances de B ne doivent en principe pas référencer des instances de A – L’unicité de l’instance de A est donc assez délicate à contrôler En pratique, on peut réfléchir à la nécessite de la multiplicité maximale de 1 à la source. Si elle est vraiment justifiée, on peut admettre qu’un développeur code en réalité une association bi-directionnelle et joue sur les modificateurs d’accès pour rendre la relation plus asymétrique. Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Association bidirectionnelle 1 vers * Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Association bidirectionnelle * vers * A faire en exercice pour la prochaine séance Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Classe association unidirectionnelle * vers 1 Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Classe association unidirectionnelle * vers 1 (plus simple) Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Classe association unidirectionnelle * vers * Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Classe association bidirectionnelle * vers * En pratique, on se ramène à un cas comme : A faire également pour la prochaine séance Pr. Abdessamad JARRAR SITD Chapitre 3 : Modélisation des Besoins et des Processus Fin de ce chapitre Avez – vous des questions ? Pr. Abdessamad JARRAR SITD