いくつかのUIモックソフトウェアを使用してUIを設計しようとしましたが、データベースがまだ設計されていないため、設計の詳細をすべて確定するのは難しいことがわかりました。
しかし、最初にソフトウェアを設計した場合、同じ問題が発生します。UIがありませんでした。どうすれば、目立つUIを作成できますか?
まずUI。
ユーザーの視点から考えて、エレガントで使いやすいユーザー インターフェイス (およびワークフロー) をモックアップしてから、その UI を実現するために必要な基礎となるデータベース/データ構造について考えてください。
データベースをまだ設計していないために UI を設計できない場合は、IMHO のやり方が間違っています。データベースの設計に UI の設計を委ねるという面倒なソフトウェアをいくつ使用したことがありますか?
編集:他の人が指摘したように、ユースケース/ユーザーストーリーから始める必要があります。UI 設計とデータベース設計は、どちらの順序で行う場合でも、ソフトウェアが何を誰のためにしようとしているのかを理解した後にのみ行う必要があります。
ブライアン・オークリーによる編集:
(出典: gapingvoid.com )
オブジェクト指向言語の問題を解決しようとしている場合は、関係するオブジェクトについて考え始めることをお勧めします。すべてのユース ケースに対応する強固なドメイン モデルが確立されるまでは、データベースや UI について心配する必要はありません。
最初はデータベースや UI について心配する必要はありません。永続性が必要でデータベースがない場合は、オブジェクトをファイル システムにシリアル化できます。コマンド ライン UI を使用してアプリを操作できるようにすることは、MVC を適切に分離するための良い練習になります。
オブジェクトから始めます。
アップデート:
このアプローチの利点の 1 つは、特定のデータベース設計で UI を損なうことがないことです。オブジェクトは、他の 2 つのレイヤーに依存しません。UI やリレーショナル データベースを用意する必要はまったくありません。オブジェクトを正しく取得しているだけです。それができたら、ドメイン モデルが解決を求められた問題を処理できることを確信して、任意の UI または永続化スキームを作成できます。
ユーザーを適切な場所に配置します。最初にUIをデザインします。
データベースは、ユーザーのニーズの結果にすぎません。
最初にユースケースを使用し、UI もデータベースも使用しません。
土台なしで家を建てますか?データベースの設計は楽しい部分ではありませんが、ほとんどのビジネス アプリの基盤であり、間違っていると、修正に最も費用がかかり、維持するのに最も費用がかかります。
とはいえ、両者は絡み合っているため、両方を一緒に作業できない理由はないことに注意してください。ただし、その前に、アプリケーションを作成する要件とビジネスを理解する必要があります。
あなたの質問は非常に主観的です。
私の意見 (そしてそれはまさにそれです) は、データベースと基礎となる構造が最初に来るべきであるということです。キーボードとマウスを置いて、紙にいくつかのメモをまとめておくと役立つことがよくあります。
アプリケーションに実行させたいことなどの目標を設定し、必要な機能をリストアップしてから、それをどのように構築するかを考え始めます。
この方法は、アプリケーションの設計に役立ちます。
通常、開発するソリューションの一部のデータを操作する必要があります。したがって、このデータがどのように構成されているかを最初に検討する必要があります。最初にこのレイヤーを安定させることが基本です。OO の世界にいる場合、最初にビジネス オブジェクトを設計するという duffymo のコメントに同意します。これらのオブジェクトを DB にマッピングすることは、作業の一部になります。次に、ビジネス機能を追加し、プレゼンテーション層で作業します。もちろん、時々リファクタリングを行う必要がありますが、通常、リファクタリングはデータベースよりもビジネス層とプレゼンテーション層に影響を与えます。
これを読んで、それは良いテクニックです。 DDD - ドメイン ドライバーの設計
上記のすべての回答は、問題を正しい方向に解決します。とはいえ、私はSDLCを徹底的にフォローします。目前の問題に対する解決策の必要性を理解するのに役立ちます。次に、要件の収集と、UI または UI をサポートする基本構造のいずれかの設計が続きます。これは手順ですが、最終的にはメリットがあります。