Comment simplifier un modèle objet ?

ScreenShot016Voici un tutoriel expliquant comment simplifier un modèle objet devenu trop complexe ou lourd à gérer. Une méthode basique est appliquée, autour d’un objet classique : la personne et ses informations.

Méthode

  1. Utiliser un modèle brut
    1. Remettre à plat le modèle
    2. Réaliser un exemple de données
  2. Gérer les relations uniques (1-1)
    1. Identifier
    2. Rapatrier ces données dans l’objet principale
  3. Gérer les relations multiples (1-N)
    1. Identifier
    2. Sortir ces données
  4. Utiliser des abstractions
  5. Gérer les excès de modélisation
    1. Supprimer les abstractions inutiles
    2. Limiter le nombre de niveaux de relation

Exemple : la personne

ScreenShot003

1. Modèle de base

Remettre à plat le modèle, sans abstractions, avec 1 seul niveau de relation.

ScreenShot001

Réaliser un exemple de données pour comprendre les relations dans le modèle.

ScreenShot002

2. Gérer les relations uniques (1-1)

Nom, prénom et date de naissance : identifiant unique d’une personne physique.

ScreenShot004

Rapatrier ces données dans l’objet principal

ScreenShot005

3. Gérer les relations multiples (1-N)

Sortir ces données de l’objet principal. Pour Facebook et Twitter : techniquement, il est possible d’avoir plusieurs comptes.

ScreenShot006

4. Utiliser des abstractions

Chercher à faire des regroupements, Rester généraliste.

ScreenShot012

5. Gérer les excès de modélisation

Supprimer les abstractions inutiles (les erreurs permettent d’avancer).

ScreenShot009

Exemple :

  • « Web » n’apporte pas de valeur
  • Seul les sites principaux nous intéressent (retour à une relation 1-1)
  • Facebook et Twitter ne seront pas utilisés comme contacts

ScreenShot010

Limiter le nombre de niveaux de relation.

ScreenShot011

Exemple : les sous-types « pro » et « perso » n’ont pas de particularité -> ils migrent vers un niveau plus haut

ScreenShot014

Exemple de modèle finalisé

ScreenShot015

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s