よく出題されるDFDとE-R図について解説します。また稼働率の基礎問題も解説してます。
DFD(Data Flow Diagram) とは
DFD(Data Flow Diagram)は、データフロー, プロセス, データストア,源泉の要素を組み合わせ、業務のデータの流れと処理を分かりやすくする方法です。
DFDは、情報システムの分析と設計の初期段階でよく用いられ、システムがどのように機能するかを理解するのに役立ちます。DFDにはいくつかの主要なパーツがあり、それぞれがシステム内の異なる要素や活動を表しています。
- エンティティ (External Entity): システムの外部に存在するもので、システムとデータを交換するアクター(人、組織、または他のシステム)を表します。エンティティは、しばしば四角形または長方形で表され、システムの境界線の外側に配置されます。
- プロセス (Process): システム内でデータに対して行われる操作や変換を表します。プロセスは、データを入力として受け取り、何らかの処理を行い、結果としてデータを出力します。プロセスは通常、円形または丸い角のある四角形で表され、内部には処理の名前や番号が記載されます。
- データフロー (Data Flow): システム内のデータの移動や伝達を表します。データフローは、エンティティ、プロセス、およびデータストア間のデータの流れを示し、通常は矢印で表されます。矢印の方向はデータの移動方向を示し、矢印のラベルは移動するデータの種類や内容を表します。
- データストア (Data Store): システム内でデータが一時的または永続的に保管される場所を表します。データストアは、データベース、ファイル、またはその他の記憶装置を指すことがあります。データストアは通常、2本の平行線で表され、その間にデータストアの名前や番号が記載されます。
これらの要素を組み合わせることで、DFDはシステム内でデータがどのように移動し、加工され、保管されるかを視覚的に示します。DFDを作成することで、システムの概要を把握し、システム内の特定のプロセスやデータフローに関連する問題を特定しやすくなります。
DFDのパーツの意味(簡略版)
活用例
例で言うと下のような感じです。この例では「顧客から受注を受けて、顧客マスターを使って在庫確認する」図となっています。
E-R図とは
E-R図とは、実体(エンティティEntity)とその属性および、その関連(リレーションシップrelationship)を表現する図であり、データモデリングのため関係データベースの設計で活用されています。
具体例としては次のような感じです。
この1..*とかの数字や*の意味は次の通りです。
記号 | 内容 |
0..1 | 0 or 1 |
1..1(1) | 1 |
0..*(*) | 0以上 |
1..* | 1以上 |
稼働率の計算
一言でいえば上のような感じです。
稼働率は並列と直列の接続があります。計算方法は、
直列の稼働率
稼働率がO1,O2の場合、両方が稼働していなければシステムが停止する場合の稼働率は、
O1 × O2
並列接続の稼働率
稼働率がO1,O2の場合、少なくとも一方が稼働していればシステムが継続する場合の稼働率は、
1-(1-O1)(1-O2)
覚えづらい場合は、具体的な数字を書いて上がるか下がるかイメージしたらいいと思います。
モジュール結合度
モジュール結合度とは、部品という意味で使われる モジュール 同志の結びつきを表す言葉です。
モジュール結合は独立性と保守性の意味で低い方がいいとされています。下の六段階に分かれており、上の方が高い(強い)特徴を持ちます。つまり、データ結合が一番好ましいとされています。
内容結合 | お互いの中身を直接見合う、参照している。 |
共通結合 | 共通領域のデータを一緒に見ている |
外部結合 | 外部領域のデータを一緒に見ている |
制御結合 | 制御要素を受け渡ししている。 |
スタンプ結合 | 処理に必要なデータ構造だけ受け渡ししている。 |
データ結合 | 必要なデータ項目だけを引数として受け渡している。 |
ブラックボックステストとホワイトボックステスト
これもよく出てくる問題です。
ブラックボックステストは、入力と出力だけで仕様書どおりの出力が得られるかのテストです。
ホワイトボックステストは、プログラムの内部構造を調べて仕様書どおりに動くチェックするテストです。
なので、「内部構造」とかの単語がでてくるとホワイトボックスになる流れです。
- 基本情報処理試験の参考書ベスト3
- CBT方式〜時計や飲み物などの持ち物や当日の流れについて
- 午前の試験が免除ってどういう仕組み?
- マネジメント系のポイント
- ストラテジ系のポイント
- 基礎理論編のポイント
- システム開発編~DFDとE-R図など
- ネットワーク編の3つのポイント
- ソフトウエア編の5つのポイント(タスク管理、スプーリングなど)
- データベース編の3つのポイント~データベース操作、ロックの粒度、UML
- 午後〜選択問題の選び方
- 午後〜表計算編
- n進数(進法)と10進数の変換について
- ~各プログラミング言語のポイント~
- 午後〜情報セキュリティ編
- 午後〜データ構造及びアルゴリズム編
- 午後〜ソフトウエア設計編
- java学習法