「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

Data Oriented Approach

pointこの用語のポイント

pointシステム設計の やり方だよ

pointまずはデータの構造や流れを整理するよ

pointデータをもとにして処理とかを考えるよ

point日本では「データ中心アプローチ」や「DOA」と表現されるのが一般的だよ

スポンサーリンク

簡単に書くよ

Data Oriented Approach(読:データ・オリエンテッド・アプローチ)とは

いわゆる「データ中心アプローチ(DOA)」のこと。
用語の中身としては

システム設計の やり方のひとつ
であり

「何はともあれ、データだよ!まずはデータを整理しよう!」な考えでもって、まずはシステムで使うデータを洗い出して構造や流れを整理し、それをもとにして「それじゃあ、どんな処理をやれば、これらのデータを良い感じに扱えるかな?」を考えるやり方
です。


image piyo

詳しく書くよ

最初に留意事項です。
データ中心アプローチ」や「DOA」と言われて「あぁ、アレのことね」と分かる方は最後まで読む必要ありません。
データ中心アプローチの英語表現が「Data Oriented Approach」です。

Data Oriented Approach(データ・オリエンテッド・アプローチ)

データ中心アプローチを「DOA」と表現することがあります。
この「DOA」が「Data Oriented Approach」の省略表現なのです。

Data Oriented Approach(データ・オリエンテッド・アプローチ)2

※「Data Oriented Approach」を何となく日本語にすると「情報指向アプローチ」となります。[詳細]

以上が「データ中心アプローチ(DOA)」の意味を知っている人向けの説明です。

「データ中心アプローチ(DOA)って何?美味しいの?」な人は、このまま読み進めてください。
用語の中身について説明します。

ちょっと休憩6

それでは、いってみましょう。

システムというのは、あんな処理をやって、こんな処理をやって、そんな処理をやります。

Data Oriented Approach(データ・オリエンテッド・アプローチ)3

そうすると、あんなデータが、こんなデータになって、そんなデータになります。

Data Oriented Approach(データ・オリエンテッド・アプローチ)4

システムは処理をやります。
そうすると、データが変わります。

処理の内容が変われば、データの内容も変わるでしょう。
扱うデータが変われば、処理の内容も変わるはずです。
処理とデータには関連性があります。

Data Oriented Approach(データ・オリエンテッド・アプローチ)5

以上を踏まえて、システムを構成する2つの要素

1.処理
2.データ


のうち「2.データ」を先に考えて、その結果をもとにして「1.処理」を考えるシステム設計のやり方が「Data Oriented Approach」です。
「こんな業務をやるシステムだけど、多分こんなデータを扱うことになるよね。ということは、これらのデータを処理するには、こんな機能が必要で、そうすると、実際の処理は、こんな感じかな」なアプローチのやり方です。

Data Oriented Approach(データ・オリエンテッド・アプローチ)6

上でも書きましたが、一般的には「データ中心アプローチ」や「DOA」と表現されます。
※本ページでも以降は「データ中心アプローチ」と表現します。

例えば、そうですね。
ピヨ太君がピヨピヨタイムカードシステムを作るとしましょう。

Data Oriented Approach(データ・オリエンテッド・アプローチ)7

データ中心アプローチでは、まず「どんなデータが出てくるかね?」を考えます。
ピヨ太君は

1.社員番号
2.社員の名前
3.日付
4.出社時間
5.退社時間


の5つが必要だと考えました。

Data Oriented Approach(データ・オリエンテッド・アプローチ)8

このうち

1.社員番号
2.社員の名前


は「社員情報」です。

3.日付
4.出社時間
5.退社時間


は「出退勤情報」です……が、誰が出社したのかも知りたいですよね。
「社員情報」の『社員番号』も追加して

1.社員番号
3.日付
4.出社時間
5.退社時間


を「出退勤情報」としました。

なお「社員情報」の『社員番号』と「出退勤情報」の『社員番号』は同じ物です。
線で結べます。

Data Oriented Approach(データ・オリエンテッド・アプローチ)9

さて、これでピヨピヨタイムカードシステムで扱うデータが決まりました。
あとは、これをもとにして処理を考えます。

面倒くさいので過程は省きますが、必要な処理は以下のような感じでしょうか。

1.出社処理
「出退勤情報」にデータを追加。『社員番号』『日付』『出社時間』を埋める。

2.退社処理
「出退勤情報」のデータを更新。『退社時間』を埋める。

3.社員情報メンテナンス処理
「社員情報」のデータを追加・更新・削除。

4.出退勤情報メンテナンス処理
「出退勤情報」のデータを追加・更新・削除。


これで、システムでやるべき処理が決まりました。
あとは実際に作るだけですね。

かなり大雑把ですが、このようなアプローチの仕方がデータ中心アプローチです。

まずは、システムで扱うデータを一気に洗い出して、それを整理します。
そうすると「これがシステムで扱うデータが全部詰まったデータベースだよ」なデータベースができるはずです。
あとは、それをもとにして、どんな処理が必要かを考えます。
そんなやり方です。

ちなみに、システムを構成する2つの要素

1.処理
2.データ


のうち「1.処理」を先に考えて、その結果をもとにして「2.データ」を考えるシステム設計のやり方は「プロセス中心アプローチ(POA)」と言います。

Data Oriented Approach(データ・オリエンテッド・アプローチ)10

もちろん「1.処理」を考える過程で必然的に「2.データ」を考えることにもなりますけどね。
あくまで、中心となるのは「1.処理」です。
「こんな業務をやるシステムだから、こんな機能が必要で、そうすると、こんな処理をやることになるね~。あっ、そうすると、こんなデータを扱うことになりそうか~」なアプローチのやり方です。

気が向いたら、併せて覚えてあげてください。

データ中心アプローチ(DOA):考える優先順位が「データ」→「処理」
プロセス中心アプローチ(POA):考える優先順位が「処理」→「データ」


です。


image piyo2

一言でまとめるよ

まぁ「Data Oriented Approach」って単語が出てきたら「データ中心アプローチ(「(処理よりも先に)データから考えていこう!」な設計のやり方)のことなんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像015
書籍画像031

おまけ

■訳してみるよ

「data(データ)」の意味は「資料」とか「知識」とか「情報」とかです。
「oriented(オリエンテッド)」の意味は「指向」とか「志向」とかです。
「approach(アプローチ)」の意味は「近づく」とか「迫る」とかです。
カタカナで「アプローチ」の方が分かりますかね。
何となく くっつけると

情報指向アプローチ

となります。




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
実務で役立つ ログの教科書 基礎知識から収集方法・分析手法・トラブルシューティング・パフォーマンス最適化・機械学習での活用まで
実務で役立つ バックアップの教科書 基本の考え方からツール活用・差分管理・世代管理・データ保全・リストア・リカバリー・可用性の確保まで