Der allgemeine Ansatz, dem ich immer zu folgen versuche, besteht darin, zunächst die Domänenmodelle zu entwerfen. Dies ist Ihre "allgegenwärtige Sprache", die Geschäftsobjekte und Konzepte definiert, Geschäftslogik enthält (später, wenn Sie sie haben) und allgemein die allgemeine Sprache ist, die in den verschiedenen Teilen des Systems verwendet wird.
Die Idee ist, dass es von allen Beteiligten verstanden (oder zumindest verständlich) sein sollte. Zum Beispiel wird ein Manager in einer anderen Abteilung nicht unbedingt relationale Datenbanken verstehen oder etwas über das Fortbestehen der Daten seiner Abteilung darin. Aber er versteht den Geschäftsprozess seiner Abteilung. Ihre Muttersprache, ihre Konzepte, ihre Interaktionen usw. Die allgegenwärtige Sprache ist der gemeinsame Nenner, den die Gruppen teilen.
Während dieses Prozesses sollten Sie Ihre Abhängigkeiten in den Vordergrund stellen. Der größte ist in der Regel Datenpersistenz. Es gibt eine Art goldenen Traum, dass Domänenmodelle Persistenz - ignorant oder Abhängigkeit - ignorant im Allgemeinen sind, und zum Zweck der Trennung von Bedenken ist das eine gute Sache. Wahre Abhängigkeit Ignoranz kann dich jedoch in eine Ecke ziehen. Es kann zu ernsthaften Leistungsproblemen oder Architekturproblemen kommen, die später viel Neuentwurf erfordern.
Also brechen Sie gelegentlich von der Domänenmodellierung ab, um über die Persistenz (und andere externe Abhängigkeiten wie externe Dienste, die verwendet werden müssen, oder Anwendungen von Drittanbietern, die integriert werden müssen) nachzudenken. Stellen Sie beim Modellieren der Domäne sicher, dass das Modell immer noch mit allen erforderlichen Funktionen ordnungsgemäß funktioniert. Möglicherweise müssen Sie hier und da ein wenig an der allgegenwärtigen Sprache Abstriche machen, um den Beschränkungen einer Abhängigkeit Rechnung zu tragen.
Entwerfen Sie im Grunde das Domänenmodell, bevor Sie die Datenbank entwerfen. Aber vergessen Sie nicht die Datenbank während dieses Prozesses.
Können Sie weitere Informationen über die Größe und die Fähigkeiten der Team (s) Technologieeinschränkungen bereitstellen? Agile und Waterfall sind an zwei Enden des Spektrums für die Methodik, SOA vs. ERP-Stil-Anwendung sind an zwei extremen Enden für die Kopplung/Architektur. Bevor Sie in ein Datenmodell springen, müssen Sie viele Faktoren berücksichtigen. Es gibt auch eine Herausforderung mit objektrelationaler Impedanzfehlanpassung. – Suirtimed
okay, ich habe mit mehr Infos – uzul