0

私は現在、プロジェクト計画を紹介するコースを受講しています。これは主にUML図の描画方法に関するものです(blegh)が、他にもいくつかのトピックがあります。

特に一部は私を悩ませ続けています。コースでは、一連の要件から最初のクラス図に移行する方法について説明しますが、この方法に関するすべてのことから、この方法は間違いなく進むべき道ではないという感覚が得られます。先に進む前に、まず例を挙げましょう。

温室会社を管理するシステムを考えてみましょう。会社には複数の温室があり、すべての従業員が自分の温室に割り当てられています。温室には場所とそこで育てられている植物の種類があります。従業員には名前と電話番号があります。

コースの方法によると、クラス図は次のようになります。 ここに画像の説明を入力してください

私には、これはコードに適合したデータベースレイアウトのように見えます。プログラムを設計するときは、主要な抽象化を特定しようとします。データベースと相互作用するすべてのコードまたはGUIを担当するコードと同様に、システムのすべての異なる部分です。それが私が最初のクラス図であると考えるものです。

これがプロジェクトのアーキテクチャの設計を開始する一般的な方法であるとは、私には想像できません。少し大きい例をとると、クラスには責任が殺到するため、クラスは見苦しく見えます。私には、それらは本来あるべきではない機能を備えたデータオブジェクトのように見えます。ここから続行して一般的なアーキテクチャを実行する方法についての手がかりは得られません。それについてのすべては時代遅れのようです。

私が見落としている理由で、これが一流の図を紙に書くための一般的な方法であるかどうかを教えてくれる人がいるかどうかを知りたいのです。

4

2 に答える 2

1

実装上の制約のない論理モデルから始めるのが合理的だと思います。その論理モデルは、必ずしも物理的な実装の詳細(たとえば、データベースを使用するかどうか、データベースのタイプ、OS / UIの選択など)に関係するわけではないため、「実際の」ビジネスドメインオブジェクトとプロセスを表します。潜在的なデータベース実装との類似性は、単純な例では驚くべきことではありません。

(構築を開始した論理モデルを通じて)ビジネスドメインを理解することで、たとえば、適切なアーキテクチャパターン、構築する必要のある画面、設計するデータベース要素などを後で特定できるようになります。おそらく、この段階であなたを助けるコースの別の部分があるでしょう。

実際には、たとえば、バックエンドデータベースでMVCを使用してWebベースのアプリケーションを実装しようとしていることをよく知っており、ビジネスアイテムと並行して実装クラスをモデル化することを検討する場合があります。あなたのコースでは、論理的段階と物理的段階の区別を強調する方法を使用することは不合理に聞こえません。

于 2012-08-16T11:16:01.103 に答える
0

プログラムを設計するときは、主要な抽象化を特定しようとします

UMLでも同じ原則。抽象化とそれらの関係を表現し、既存のビジュアルツールにより、利害関係者にシステムのプレゼンテーションを行ったり、設計からスタブを自動的に生成したりすることもできます。

于 2012-08-16T09:37:28.997 に答える