【初心者向け】システム構築のアプローチ「DOA」「POA」について整理してみた

スポンサーリンク
Tips

仕事でDOA、POAという単語を耳にしたのですが、説明できる程理解できていなかったため、自分なりに整理してみました。

DOA、POAとは

要件定義において、機能要件の定義を行う際のアプローチ方法の一つ

要件定義、機能定義という新たな?が出てきたので、それも調べてまとめてみました。

要件定義とは

システム開発の工程の一つであり、大きくは業務要件機能要件非機能要件の3つを整理する

業務要件とは

システム化する目的・背景業務の全体像各業務の流れを表す業務フロー(業務、システムの両方の観点)を整理すること

参照:https://pm-rasinban.com/rd-write

機能要件とは

システム化する際に、ユーザーの求める機能の整理を行うこと
具体的には、業務要件で整理した業務フローで登場する個別の業務内容から、必要な画面帳票バッチテーブル(データそのもの)外部インターフェース(システム外からのデータ連携を行う機能)等の整理を行う

非機能要件とは

システム構築にあたってユーザーが意識しない、機能要件以外の整理を行うこと
具体的には、システムの可用性(システムを長く利用するための取り決め)セキュリティ移行(現行のシステムからどのように移行するのか)性能・拡張性(現/未来のシステムの利用頻度を見据えてどの程度の性能のシステムを構築するのか)の整理を行う

ここまできた上でやっとDOA、POAのそれぞれの話に入ります

データ中心アプローチ(DOA)とは

「Data Oriented Approach」の略
業務で扱う「データ」の構造や流れに着目して機能要件を整理していくアプローチ
代表的な整理する手法は、ERDを作成する方法がある
米国では「DDA(Data Driven Approach)」と呼ぶことが多い

ERDとは

システム上登場するデータ群と、そのデータ間の関係(例えばAのデータ群はBのデータ群のある値と連携していてデータ群同士が関係しているみたいな)を示す図

参照:https://e-words.jp/w/ER図.html

DOAの特徴

「データ」の構造や流れを中心に考えるため、システム内でデータの整合性や一貫性が保たれる
データの整合性や一貫性が保たれているため、業務内容の変更があった場合にも処理(プロセス)を追加/変更すれば良く、改修が比較的容易になる

参照:https://www.otsuka-shokai.co.jp/words/data-center-approach.html

プロセス中心アプローチ(POA)とは

「Process Oriented Approach」の略
DOAの「データ」を中心に考えるアプローチに対して、業務で登場する「処理」を中心に考え、機能要件を整理しいくアプローチ
代表的な整理する手法は、DFDを作成する方法がある

参照:https://e-words.jp/w/POA.html

DFDとは

システム上登場する処理(プロセス)と、その流れ、データの入力/出力先を表した図

参照:https://sutekina121.com/dfd/

POAの特徴

処理(プロセス)を中心に考えるため、プログラムを描くときのイメージが容易になる
「データ」を後から考える手法になるため、データの重複や不整合が発生しやすく、全体最適なシステムを構築するのが難しくなる

参照:https://www.itmedia.co.jp/im/articles/1109/09/news130.html

それぞれの歴史的背景

・業務の効率化が主な目的であり,業務プロセスや機能も比較的シンプルだった1960年代から70年代にかけては,POAが主流だった
・システムが大規模かつ複雑になってくると,プログラムの追加・修正に手間がかかるというPOAの欠点が露呈してきた
・その課題を解決する手法として、80年代に登場したのがDOA

参照:https://xtech.nikkei.com/it/article/COLUMN/20061019/251255/

Tips
スポンサーリンク
app crafts

コメント

タイトルとURLをコピーしました