Gestion d'un contenu par interface Web Modélisation d'un site * Trois grandes étapes * Evaluer les besoins des acteurs * Diagramme des cas d'utilisation (UML) * Diagramme de classes (UML) * Définir la structure de la base de données * Modèle de données entité-association * Définir l'interface du site * Schéma de navigation (relations entre pages) * Esquisse des pages (structure des pages) * Objectif des TD et TP à venir * Modéliser un site collaboratif pour le cinéma * 1er temps: consultation / modification * 2ème temps: gestion des utilisateurs * 3ème temps: modération 1ère étape: besoins des acteurs * Identifier les scénarios d'utilisation du site * Les acteurs * Leur rôle dans le système * Les relations entre acteurs * Hiérarchie des rôles ? * Leurs actions * Consultation * Modification * Modération * Gestion * Proposer un diagramme des cas d'utilisation et un diagramme de classes du site collaboratif Diagramme des cas d'utilisation (1/4) * Issu du formalisme UML * Identifier les scénarios d'utilisation * Décrire le système d'un point de vue utilisateur * Cas d'utilisation = scénario d'utilisation * Manière spécifique d'utiliser le système * Fonctionnalité déclenchée sur le système Diagramme des cas d'utilisation (2/4) * Acteur * Entité externe qui agit sur le système * Représente un rôle par rapport au système * Cas d'utilisation * Déclenché par un acteur (suite à une action) * Ensemble d'actions sur le système * Fonction visible par l'acteur Diagramme des cas d'utilisation (3/4) Diagramme des cas d'utilisation (4/4) * Héritage entre acteurs (respectivement cas d'utilisation) * Héritage du rôle (respectivement des actions) * Enrichissement du rôle (respectivement des actions) Correction: cas d'utilisation (1/2) Correction: cas d'utilisation (2/2) Diagramme de classes (1/4) * Issu du formalisme UML * Permet de représenter la structure du système * Décrit des relations entre types d'entités * Une classe regroupe des entités (objets) ayant * Des propriétés (des attributs) similaires * Un comportement (des méthodes) commun * Des relations communes avec d'autres objets Diagramme de classes (2/4) * Une classe peut être en relation avec d'autres * Relation d'association * Une classe B est associée à une classe A * Relation d'agrégation * Une classe B possède des objets d'une classe A * Relation d'héritage * Une classe B hérite des caractéristiques d'une classe A Diagramme de classes (3/4) Diagramme de classes (4/4) Correction: diagramme de classes 2ème étape: structure de la base de données * Identifier les données à gérer dans une base * Chaque catégorie de données ==> une table * Attributs * Type de l'information * Domaine de valeurs * Clés primaires * Relation entre données ==> table "association" ? * Attributs * Cardinalité * Proposer un modèle entité-association de la base de données du site collaboratif Modèle de données entité-association (1/5) * Construction du modèle entité-association à partir du diagramme de classes * Entité = table * Equivalent d'une classe "normale" * Association = table qui relie plusieurs tables * Equivalent d'une classe "association" Modèle de données entité-association (2/5) * Diagramme de classe ==> modèle de données entité-association * Classe "normale"?==> entité * Attributs classe ==> attributs entité * Identifier clé primaire * Relation d'association 1-1 (1..1?? 1..1) * Inclure clé primaire de A comme clé étrangère de B (ou inverse) * Attributs classe "association" avec clé étrangère * Rappel: clé étrangère = clé primaire d'une autre entité Modèle de données entité-association (3/5) * Association 1-N (1..1 ? m..n) * Comme association 1-1, mais un seul sens possible * Inclure clé primaire de A comme clé étrangère de B * Attributs classe "association" dans B * Association M-N (m..n ? m..n) * Nouvelle association relie les clés primaires de A et de B * Clé primaire association = clé primaire de A + clé primaire de B * Valide uniquement si l'association est unique * En cas d'associations multiples ==> clé primaire propre * Attributs classe "association" dans nouvelle association Modèle de données entité-association (4/5) Modèle de données entité-association (5/5) Correction: modèle entité-association 3ème étape: interface du site * Identifier les pages nécessaires * Pages "formulaire": interface de saisie * Définir les champs * Définir les contraintes * Pages "requête": affichage du contenu * Définir le type d'affichage * Définir les requêtes * Définir des index pour les tables * Pages "invisibles": gestion de la base * Définir les requêtes * Définir les contraintes * Pages statiques: aucun contenu en base * Définir l'enchaînement des pages * Lien hypertexte * Soumission d'un formulaire * Redirection automatique * Proposer un schéma de navigation et une esquisse des pages du site collaboratif Exemple de schéma de navigation Consignes pour l'esquisse des pages * Apparence de chaque page * Disposition des éléments * Charte graphique * Requêtes * Code SQL nécessaire * Contraintes (tests à effectuer) * Formulaires * Champs (nom, type, valeur par défaut) * Contraintes (tests avant envoi) * Méthode d'envoi |