現在、新しいデータベースを作成し、古いデータをデータベースに移動しています。新しいシステム用のビジネスオブジェクトを作成したいと思います。古いシステムを見ると、オブジェクトは古いデータベースのテーブルに基づいているように見えます。これはビジネスオブジェクトを作成する正しい方法ですか?
3 に答える
適切に正規化されたデータベースは、適切なオブジェクト指向設計のようには見えません。データベースのニーズは、ソフトウェアアプリケーションのニーズとは大きく異なります。
アプリケーションの使用方法に関する要件に従って、アプリケーションを設計する必要があります。アプリケーションはどのようなことをすることになっていますか?これらのニーズをサポートするには、どのオブジェクトが必要ですか?そして、それらの間の自然な関係は何ですか?
1つのビジネスオブジェクトを12のデータベーステーブルに格納することも、1つのテーブルに12のオブジェクトのデータを格納することもできます。それは実際にあなたが使っているシステムの詳細に依存します。
古いデータベースが適切に正規化されている場合、多くのテーブルがビジネスオブジェクトに対応していることがわかります。でも...
何がビジネスオブジェクトを構成するかについてのあなたの決定は、それに限定されるべきではありません。あなたはシナリオを研究し、ビジネスが何に興味を持っているかを決定する必要があります。あなたはビジネスの理解が主な決定要因になります。
ここに多くの詳細がないので、1つの提案があります...
新しいシステムがしなければならない「何」から始めます。[新しい]システムがサポートすべき[新しい]機能。必要なデータ。新しいシステムは、新しい要件に対応するか、別の方法やより良い方法で新しい要件に対応する必要がある可能性があります。
物事と要件のニーズをかなり明確に把握したら、「方法」をフォローアップします。それらの「whats」に対処する方法。いくつかのビジネスオブジェクトモデリングを行います。
ビジネスオブジェクトのモデリング後、別の「方法」であるデータベース設計に取り掛かることができます。次に、データ移行を行うことができます。
これに従うことは、古いシステム/データベースを完全に忘れることを意味しません。古い方法から取ることができると思う良いまたは価値のあるものがある場合は、それを取り、それを可能な限り新しい方法に組み込んだり統合したりしてみてください。