Modèle conceptuel et diagramme de classes Modèle conceptuel Le modèle conceptuel contient les concepts pertinents et significatifs du problème ; C est au début, une représentation des objets du monde réel, non pas de composants logiciels ; la création du modèle conceptuel nécessite la description de cas d utilisation et la présence de documents à partir desquels on peut identifier les concepts ou des objets. Itérations entre Ucs et modèle conceptuel ; On décompose ainsi le problème en un ensemble de concepts. UML propose des diagrammes statiques pour représenter le modèle conceptuel ;
Modèle conceptuel Ligne-itemVente quantité Vente date heure Payement..* Contenue dans Payée par 0.. Enregistre la vente de Effectuée à Item * Magasin nom adresse Stocké Contient..* PointVente somme Initialement, on y représente : concepts, associations et attributs ; Modèle conceptuel Il permet de clarifier et de comprendre le vocabulaire du domaine cible de l étude ; Concept : Symbole : étudiants du groupe inf55-20 Intention : définition Extension : liste des étudiants 2
Stratégies d identification de concepts Par identification des noms et phrases nominales dans une description (par exemple, la description détaillée des Ucs) ; À partir d une liste de catégories de concepts : catégories communes Liste de catégories Catégories Exemples Objet physique et tangible Avion, terminal de point de vente Lieu Aéroport, magasin Transaction Vente, Paiement, Réservation Rôles Préposé à la caisse, Pilote Contenant (d autres concepts) Magasin, Banque, Université Aéroport 3
Liste de catégories Concepts contenus Article, passager Organisation Événements Département de vente, Département ressources humaines Vente, Vol. Règles et politiques Politique de remboursement, d annulation Enregistrements de transactions Reçus, contrats. Instruments de finances et services Ligne de crédit, Stock Modèle conceptuel : guide Lister les concepts candidats ; Les insérer dans le modèle conceptuel ; Rajouter les associations ; Rajouter les attributs. Ne pas confondre entre concepts et attributs : Vol destination Ou? Vol Aéroport nom En UML : concepts = classes 4
Associations Il est nécessaire d identifier les associations entre les concepts qui aideront à la compréhension du modèle conceptuel ; Une association est une relation entre concepts ; Catégories Exemples A est une partie physique de B Aile - Avion A est une partie logique de B Ligne de vente - Vente A est un contenant physique de B PDV - Magasin passager - Avion A est un contenant logique de B Vol Planning des vols Associations A gère ou utilise B Préposé à la caisse - PDV Pilote - avion A communique avec B Client Préposé à la caisse A est lié à une transaction B Client Paiement Préposé à la caisse - Paiement A est la propriété de B PDV - Magasin Le temps de création du modèle conceptuel doit être consacré beaucoup plus à l identification des concepts qu aux associations ; Éviter de modéliser les associations redondantes ou indésirables ; Nommer les par une forme verbale ; 5
Rôle Le nommage des extrémités des associations permet de clarifier les diagrammes. Ce nommage est appelé rôle ; Le rôle décrit comment un concept voit un autre concept au travers d une association. Il est nommé au moyen d une forme nominale ; On commence par nommer les associations puis les rôles ; compagnie Employeur Employé Personne Attention à un trop grand nombre d associations entre 2 concepts! Cardinalité Pour spécifier le nombre d instances qui participent à l association ; * T..* T.40 T 5 T 3,5,8 T 6
Association n-aire On peut avoir une association entre plusieurs concepts. Dans ce cas elle se représente par un losange sur lequel arrivent les différentes composantes de l association. Salle Etudiant Enseignant Cours Debut fin Attributs À partir de la description des Ucs ; On inclus les attributs qui nécessitent de se souvenir d une information des exigences usagers : Nom de l article, date de vente, numéro de l article, couleur, adresse, téléphone, NAS, codepostal, Garder à l esprit que des attributs doivent être de types simples : Booléen, date, nombre, chaîne de caractères, heure, En cas d attribut complexe, c est peut être un concept à relier par une association ; 7
Constituer un glossaire C est un document définissant les termes dans le but de communiquer et de réduire le risque de mauvaise compréhension ; Il est important de par le nombre d intervenants dans le projet ; Il est constitué en parallèle avec les Ucs et le modèle conceptuel ; Il est raffiné continuellement. Packages Ils permettent de regrouper et d isoler des classes, des associations, et éventuellement d autres packages ; Ils regroupent le plus souvent un ensemble d entités qui correspondent à une fonctionnalité bien définie. Cette fonctionnalité définira le nom du package ; Client client concerner facturation::facture Commande acheter * Produit 8
Packages Les packages constituent un espace de nommage. Appartenance d une classe à un package : Nom du package :: nom de la classe 2 classes de même nom dans 2 packages différents : c est possible! Package vue globale vs.vue détaillée ; Dépendance entre packages ; Client concerner facturation::facture Commande client acheter * Produit Facturation Comptabilité Vue globale de packages Configuration Simulation Gestionnaire automatique Contrôle base de données jrules 3.0 Librairie (FORTRAN) Object Store Système objet 9
Organiser le diagramme de classes Construire des packages ; Organiser les classes dans un diagramme (le respect de certaines conventions) : La hiérarchie des classes est placée sur un axe vertical, plaçant les classes mères en haut ; Les classes ayant le même niveau de hiérarchie sont sur une même ligne horizontale ; Éviter les associations qui se croisent (même en répétant certaines classes) ; Mettre les classes importantes du modèle au centre. Celui-ci gagnera en lisibilité ; Itérer sur le modèle conceptuel Vérifier que toutes les infos figurant dans le modèle se retrouvent bien dans les spécs et dans les Ucs ; S il y a des éléments supplémentaires, les valider par le client ; Il faut retrouver tous les éléments des spécs et des Ucs ; 0