Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.

For the best experience please use the latest Chrome, Safari or Firefox browser.

Introduction

  • Des délais de livraison non tenus
  • Des dépassements de 50% à 70% des coûts prévisionnels
  • Des anomalies techniques
  • Des décalages avec les besoins du client
  • Des difficultés à réaliser des évolutions
  • Des difficultés à réutiliser le logiciel dans d'autres contextes de développement
  • ...

Le génie logiciel

  • L'analyse du besoin
  • Les spécifications
  • La modélisation
  • Le développement
  • Les tests
  • La maintenance

Où en est-on ?

1995

2015

La modélisation

  • Un modèle permet de représenter de manière simplifiée des éléments du monde réel dans le but de pouvoir le décrire, le comprendre et le prévoir.
  • La modélisation permet de s'assurer de la bonne compréhension d'un système et de supprimer tous les éléments superflus.
  • La modélisation est orientée vers l'objectif du projet informatique (automatiser un ensemble d'actions, fiabiliser un processus...).
  • Une bonne modélisation permet de développer un logiciel évolutif et maintenable.
  • La modélisation ne permet pas juste de concevoir son modèle de base de données mais toute l'architecture du système !

La modélisation orientée objet

Les étapes de la modélisation orientée objet

  • Etablir les règles de gestion métiers
  • Définir le dictionnaire des données
  • Identifier les dépendances fonctionnelles

Merise

La méthode MERISE préconise d'analyser séparément données et traitements, à chaque niveau.

Par Devaux Sullivan reproduit avec autorisation de l'auteur original — {{Source: CIM, les nouvelles perspectives de la production, Jean-Baptiste Waldner, DUNOD, 1990, reproduit avec l'autorisation de l'auteur.}}, CC BY-SA 4.0, Lien

Les règles de gestion métier

Une règle de gestion est une déclaration de haut niveau exprimant une contrainte sur un système, que ce soit en terme de donnée ou de traitement.

Pour chaque véhicule, on doit connaître la marque, le modèle, la couleur, la finition, l'immatriculation, la date de mise en circulation, le kilométrage.

Un client peut être propriétaire d'aucun, d'un ou de plusieurs véhicules.

La vente d'un véhicule augmente le chiffre d'affaire du commercial du montant du véhicule.

Dictionnaire de données

  • Le code mnémonique
  • La désignation
  • Le type de donnée
  • La taille
  • D'autres informations...
  • numeroImmatriculation
  • Le numéro d'immatriculation d'un véhicule permet d'identifier ce véhicule et de le rattacher à son propriétaire
  • Alphanumérique avec le format : AA-NNN-AA (par exemple AB-123-CD)
  • 9 caractères
  • Un véhicule neuf n'ayant jamais eu de propriétaire n'a pas de numéro d'immatriculation

Dépendances fonctionnelles

  • idVehicule → marqueVehicule, modeleVehicule, couleurVehicule
  • numeroImmatriculation → idVehicule
  • numeroImmatriculation → dateMiseCirculationVehicule, idProprietaire
  • numeroClient → nomClient, prenomClient, codePostalClient, villeClient, adresseClient

Modèle conceptuel de données

Les entités

Exemples d'entités

  • Véhicule : idVehicule, marqueVehicule, modeleVehicule...
  • Client : numeroClient, nomClient, prenomClient...
  • Entretien : numeroEntretien, dateEntretien...
  • ?

Entité

Véhicule
idVehicule
marqueVehicule
modeleVehicule
couleurVehicule

Table d'occurences

idVehicule marqueVehicule modeleVehicule couleurVehicule
123456 Peugeot 208 Rouge
123457 Renault Mégane Bleu
... ... ... ...

Les associations

Véhicule
idVehicule
marqueVehicule
modeleVehicule
couleurVehicule

0,1 0,n
appartient à
numeroImmatriculation
dateMiseCirculationVehicule
Client
numeroClient
nomClient
prenomClient
adresseClient

La relation d'aggrégation appartient à entre Véhicule et Client traduit les deux règles de gestion suivantes :

Un véhicule appartient à 0 ou 1 client.

Un client possède 0 ou plusieurs véhicules.

Héritage

Client
numeroClient
nomClient
prenomClient
adresseClient

        Est un

ClientProfessionnel
numeroSiret
raisonSociale

Les contraintes d'héritage

Client
numeroClient
nomClient
prenomClient
adresseClient


  T

ClientProfessionnel
numeroSiret
raisonSociale
ClientParticulier
numeroCarteFidelite

La base de données

  • Sauf exception, toute entité du MCD devient une table dont la clé est l'identifiant de cette entité. Chaque propriété de l'entité devient également un attribut de la table correspondante.
  • Lorsqu'une entité a des relations d'aggrégation de cardinalités 0/1,n de chaque côté, on a alors une relation associative et la clé primaire est constituée des identifiants des entités reliées.
  • Lorsqu'une entité a une relation d'aggrégation de cardinalité 0/1,1, on ajoute une clé étrangère dans la table qui correspond à l'entité se situant du côté de cette cardinalité 1,1 qui fera donc référence à la clé de la table correspondant à la seconde entité reliée par l'association.
    • L'association ne peut pas contenir d'attributs car ils seraient en dépendances fonctionnelles directes avec l'identifiant de l'entité concernée par la clé étrangère.
    • L'association doit être binaire (c'est-à-dire relier uniquement deux entités et pas plus).
  • Lorsque deux entités sont toutes deux reliées avec une cardinalité 1,1 par une même association, on peut placer laclé étrangère de n'importe quel côté. Par convention, on choisit de la placer du côté de la relation correspondant à l'entité ayant le plus de liaisons avec les autres.

Normalisation

  • Pour être en première forme normale (1FN ou 1NF) : Les attributs d'une relation doivent être atomiques et doivent être en dépendance fonctionnelle avec la clef primaire de cette dernière.
  • Pour être en deuxième forme normale (2FN ou 2NF) : Il faut être en 1FN et que toutes les dépendances fonctionnelles entre la clef primaire et les autres attributs de la relation soient élémentaires. Autrement dit, les attributs doivent dépendre de la totalité de la clef.
  • Pour être en troisième forme normale (3FN ou 3NF) : Il faut être en 2FN et que toutes les dépendances fonctionnelles entre la clef primaire de la relation et les autres attributs soient directes.