ソフトウェア設計手法の基礎まとめ【構造化・POA・DOA・オブジェクト指向を解説】

ソフトウェア設計手法のブログに関するアイキャッチ画像 システム開発技術
広告

 ソフトウェア設計手法は,基本情報技術者試験をはじめとする情報処理技術者試験で重要となる分野です。各手法の違いや考え方を整理できていますか?

ソフトウェア設計手法=構造化プログラミング・POA・DOA・オブジェクト指向

 ソフトウェア設計にはさまざまなアプローチがあり,「処理(機能)に着目するか」,「データに着目するか」など,設計の視点によって考え方が大きく異なります。それぞれの手法は独立しているわけではなく,目的や対象に応じて使い分けられます。

 このページでは,ソフトウェア設計手法の全体像を整理し,「それぞれの手法が何を重視しているのか」,「どのような特徴があるのか」が一目で分かるようにシンプルに解説します。初学者の方や,違いを整理して理解したい方に向けたまとめページです。

広告

ソフトウェア設計手法とは(全体の位置づけ)

 ソフトウェア設計手法とは,システムやソフトウェアをどのような視点で設計するかを示す考え方のことです。

構造化プログラミングとは(制御構造とモジュール化)

 構造化プログラミングとは,プログラムを段階的に分割してモジュール化し,各モジュールを順接反復分岐の三つの制御構造を用いて記述することをいいます。

※ goto文を排除することで,プログラムの制御構造をシンプルにする

プロセス中心アプローチ(POA;Process Oriented Approach)とは(機能分解中心設計)

 プロセス中心アプローチは,業務プロセス(機能)に着目したアプローチです。システムを段階的に詳細化(分割)していきます。

※ 処理の流れに沿って設計できるため,業務処理の理解がしやすい

※ 最終的には,モジュールに分割する

DFD(Data Flow Diagram)状態遷移図を用いる

プロセス中心アプローチに関する説明画像

データ中心アプローチ(DOA;Data Oriented Approach)とは(データ構造中心設計)

 データ中心アプローチは,データ構造に着目したアプローチです。個々のシステムを,データベースを中心に設計します。

※ データを中心に設計するため,データの独立性が高く,保守性に優れている ⇒ 業務内容に変更があった場合でも,データの種類や構造を変更することはあまりないため,データベースはそのままでプログラムのみを修正するという方法がとれる場合が多い

E-R図を用いる

データ中心アプローチに関する説明画像

オブジェクト指向アプローチとは(データと処理を一体化)

 オブジェクトとは,データ(属性)と,データを操作する手続き(メソッド)を1つのまとまりとして定義したもので,オブジェクト指向アプローチでは,このオブジェクトを組み合わせてシステムを設計します。

※ 再利用性や保守性に優れている

UML(Unified Modeling Language)を用いる

※ オブジェクト指向アプローチの詳細は,「オブジェクト指向設計の基礎まとめ」を参照

まとめ

 今回は,ソフトウェア設計手法について,構造化プログラミング,プロセス中心アプローチ(POA),データ中心アプローチ(DOA),オブジェクト指向アプローチの考え方と特徴をシンプルにまとめてみました。ソフトウェア設計では,「処理中心(POA)」,「データ中心(DOA)」,「データと処理の一体化(オブジェクト指向)」といった視点の違いを理解することが重要です。これらの違いは試験でも頻出であり,図(DFDやE-R図,UMLなど)と併せて整理しておくと理解が深まります。

 理解が進んだら,基本情報技術者試験の過去問題等にもチャレンジしてみてください。

広告