Chapitre 6
MODELISATION D'UN SITE INTERNET
 
 
Précédent Suivant
 

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