コンテキストとデータフロー図に関するいくつかの質問
-
08-10-2019 - |
質問
PHPでコーディングされるCRUDアプリケーションを開発する必要があります。
私には3人の主要な俳優(ユーザー、管理者、医師 - これは仮説的な病院向け)があり、それぞれが異なるユースケースを持つ病院がすでに定義されています。
ユースケースはクラス図を成功させるのに十分すぎると感じていますが、プロジェクトのドキュメントにデータフロー図を含めるように特に求められています。
私はデータフロー図について読んでいますが、通常、コンテキスト図と呼ばれるレベル0のデータフロー図を最初に持っているようです。
これは基本的に3つの異なるアクターを備えた3層アプリケーションであるため、コンテキスト図をどのようにモデル化する必要がありますか?
コンテキスト図は、何が入ってきて、システムから出てくるのかを伝えるだけであるため、次の図よりも興味深い/説明的なものを想像することはできません。
これはこのようなものなはずですか、それとも私は完全にポイントを逃していますか?このPHPページはOracleデータベースに接続されますが、コンテキスト図でシステム全体を考慮する場合は、上記の図でその事実を「非表示」する必要があると思います。
ここからどこへ行くべきですか?システムプロセスをより詳細なものに「ズーム」する必要があることを知っています。次のステップは、データフロー図にユーザーケースのそれぞれを描くことでしょうか?すでにデータのリポジトリを含めますか?たとえば、1つはユーザー向け、もう1つは医師向け、もう1つは管理者向けですか?
ありがとう
解決
システムが相互作用するものは他に何もありませんか?たとえば、診断入力など?
そうでない場合は、コンテキストDIAGは基本的に問題ありませんが、おそらく各エンティティを1回表示し、二重ヘッド矢印を使用します。私はDBの推論に同意します - それはシステムの一部であり、外部ではなく、CDに表示しないでください。
次のステップに関しては、再びあなたは正しい線にいます。各ユースケースのフローをDFDとしてモデル化してみてください。 DFDは、処理集約型アプリを説明するのに非常に役立ちます。それがあなたの問題に良い一致であるかどうかを知るのは難しいです。
DFDは、クラス図をドライブして検証するのにも役立ちます。実際、それは彼らの強みの1つです。DFDのデータストアは、クラス図の内容と相関する必要があります(必ずしも1つのクラスに1つのデータストアではありません)。したがって、プロセスを使用してデータストアを含めてください。あなたはそれが単なる俳優以上のものを駆り立てることがわかります。
Hth。
他のヒント
いくつかの発言:
ユーザー、管理者、医師がそれを使用することを除いて、DFDはあまり教えてくれませんが、システムから何を得るかはわかりません(「出力データ」を除く)。 IOWコンテキスト図は、私にわずかなアイデア、システムがどのようなものを与えてくれませんか します.
確かに、システムが大きい場合、データフローを少数の単語で説明することは難しい場合がありますが、ほぼ何でも「データ」よりも優れています。
システムが3tierアーキテクチャであるという事実は、DFDにとっては無関係です。これは実装の詳細です。 DFDは分析ツールです。これがどのように達成されるかではなく、システムに何をしたいかを説明します。
発信フローに集中することは特に便利です。ユーザー、管理者、医師はシステムに入力を提供しますが、これはおそらく何もありません 欲しいです やる。それは彼らです 持ってる 目的の出力を取得するために行う。