Modélisation d'un site Internet Qu'est-ce que la modélisation ? * Un problème est posé * Problème = système + question * Types de systèmes * Organisationnels: entreprise, école... * Biologiques: organisme, écosystème... * Informatiques: réseaux, logiciel, système d'information... * ... * Système d'information * Base de données * Interface homme-machine (IHM) permettant la gestion * Questions possibles * Proposer un système répondant aux besoins * Les besoins changent ==> modification du système * Optimisation du système * ... Etapes de la modélisation * Question ==> réponse * Pour répondre, il faut un ou plusieurs modèles * Modèle = représentation simplifiée d'un système * Plusieurs modèles possibles pour un système * Ne sont représentés que les éléments pertinents pour l'étude * Trois grandes étapes pour répondre * Analyse ==> 1er modèle * Déterminer les besoins * Etudier le système existant éventuel * Conception ==> 2ème modèle * Apporter une réponse théorique à la question * Implémentation ==> système réel * Réaliser la solution (exemple: programme informatique) 1ère étape: analyse * Objectif: formaliser le problème * Effectuer un état des lieux * De l'existant * Des souhaits du commanditaire * Pour un site Web * Etudier le site existant * Etudier le cahier des charges * Résultat: un modèle représentant la demande 2ème étape: conception * Objectif: apporter une solution au problème * Solution "conceptuelle" * Réfléchir à une solution complète * En se passant des détails techniques * Solution indépendante des langages et outils informatiques * Pour un site Web * Proposer une base de données * Proposer une interface Web * Résultat: un modèle représentant une solution 3ème étape: implémentation * Objectif: réaliser la solution proposée * Solution "technique" * Les détails techniques sont abordés * Réaliser la solution conceptuelle proposée * Choix des outils et langages informatiques * Pour un site Web * Choisir le ou les langages de programmation * Créer les bases de données * Ecrire les pages HTML et scripts * Résultat: une solution fonctionnelle Modélisation d'un site Web * Phase d'analyse * Besoins + existant * Phase de conception * Base de données + interface du site * Trois grandes étapes de modélisation d'un site * Evaluer les besoins et l'existant * 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) Formalisme UML * UML = Unified Modeling Language * Formalisme international pour la modélisation * Permet de modéliser tout type de système * Utilisé en particulier pour modéliser des logiciels * Programmes informatiques * Bases de données * Sites Web * Principaux types de schémas * Diagramme des cas d'utilisation * Analyse des besoins * Diagramme de classes * Structure statique du système * Diagramme d'interactions * Structure dynamique du système 1ère étape: les besoins et l'existant * Identifier les scénarios d'utilisation du système * Les acteurs * Leur rôle dans le système * Les relations entre acteurs * Hiérarchie des rôles ? * Leurs actions * Consultation du contenu * Contribution au contenu * Gestion du site et des utilisateurs * Pour en déduire la structure du système * Modélisation * 1er modèle: les scénarios d'utilisation * 2nd modèle: la structure du système Diagramme des cas d'utilisation (1/3) * 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 * 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 (2/3) Diagramme des cas d'utilisation (3/3) * Héritage entre acteurs (respectivement cas d'utilisation) * Héritage du rôle (respectivement des actions) * Enrichissement du rôle (respectivement des actions) Diagramme de classes (1/5) * 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/5) * Une classe peut être en relation avec d'autres * Un objet d'une classe peut manipuler un objet d'une autre classe * Relation d'association * Exemple: un client utilise un distributeur * Un objet d'une classe peut contenir un objet d'une autre classe * Relation d'agrégation * Exemple: un client possède un ou plusieurs comptes * Une classe peut représenter un sous-ensemble d'objets d'une autre classe qui sont plus spécifiques * Relation d'héritage * Exemple: les guichetiers sont une catégorie de personnels Diagramme de classes (3/5) * 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 (4/5) Diagramme de classes (5/5) 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é * Utilisation du modèle entité-association 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 * Attributs classe "association" dans nouvelle association Modèle de données entité-association (4/5) Modèle de données entité-association (5/5) 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 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 |