Pour le design de la BDD, comment on peut identifier les données dont on a besoin et comment les structurer dans la BDD (structure des tables et les relations) ? Voici deux approches possibles … à méditer:

  1. Commencer par la BDD avec le MCD (Modèle Conceptuel de Données):
    la base de données créée peut être relativement simple et claire dans la logique relationnelle. Sur cette BDD, on construit une couche des objets Java pour encapsuler les données. Ces objets sont appelés les objets models. Deux points à noter ici:

    • Les objets Java sont souvent le reflex des tables de la BDD : contraint ? Inconvénience ou avantage ?
    • Est-ce que cette structure des objets Java est bien compatible avec la logique de l’application
      (c’est-à-dire est-ce que c’est facile d’implémenter les cas d’utilisation prévus pour l’application avec cette structure des objets ou bien il faut avoir beaucoup de codes supplémentaires pour “régler” l’incompatibilité entre ceux qu’on veut faire – les cas d’utilisation, et l’environnement dans lequel on agit – la structure des objets models)
  2. On peut commencer par les utilisateurs avec les cas d’utilisation:
    à partir des cas d’utilisation prévus, on identifie les traitements et les informations nécessaires – c’est-à-dire la logique métier et les données de l’application. On construit les objets Java models qui reflexent ces connaissances. Puis on construit la BDD basé sur ces objets models. Points à noter: Est-ce que c’est facile d’interpréter la logique métier dans la langue relationnelle de la BDD ?

La même question se pose sur The M in MVC