モジュール分割とは?もじゅーるぶんかつ
モジュール分割とは、プログラムを、独立して設計・実装・テスト・保守できる部品へ切り分ける作業。狙いは変更の影響範囲を局所化し、分担開発と再利用を成り立たせること。切り方の技法にはSTS分割・TR分割・ジャクソン法・ワーニエ法があり、データの流れで割るか、入出力の構造から割るかで発想が分かれる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
全体を1本の手続きとして書くと、どの変更がどこへ響くのかを誰も言えなくなり、修正のたびに全体を再テストすることになる。分割は、その不確かさを境界の定義へ置き換える作業だといえる。分割案は技法だけでは決まらず、変更の起きやすい箇所・分担する組織・再利用したい範囲を見て選ぶことになるため、方式設計のレビューではその選択理由を説明できることが求められる。
具体例
Linuxカーネルのデバイスドライバは、共通のインタフェース越しに本体と接続され、機器ごとの差はドライバ側に閉じている。対応機器が増えても本体は変わらない。業務システムでも、売上集計を「取込」「集計」「帳票出力」に割っておけば、出力先をプリンタからPDFへ変えるとき出力部だけの修正で済む。
試験での引っ掛け
「細かく分けるほど良い」ではない。分けすぎると呼出しとデータ受渡しが増えて結合度が上がり、処理の流れも追いにくくなる。狙いはモジュール数ではなく、低結合・高強度という状態のほう。技法の対応付けも問われ、入力・変換・出力という流れで割るのがSTS分割、処理する取引の種類で割るのがTR分割にあたる。
関連用語
出た過去問
出典:平成28年度 秋期 システムアーキテクト試験 午前Ⅱ 問7(IPA)
プログラムの構造化設計におけるモジュール分割技法の説明のうち、適切なものはどれか。
正解:STS分割は、データの流れに着目してプログラムを分割する技法であり、入力データの処理、入力から出力への変換処理及び出力データの処理の三つの部分で構成することによって、モジュールの独立性が高まる。
要点:STS分割は入力・変換・出力の流れで分ける技法
STS分割は、プログラムを入力(Source)、変換(Transform)、出力(Sink)という三つの部分に分けるデータの流れに着目した技法で、各部分の役割が明確になるためモジュールの独立性が高まる。TR分割も同じくデータの流れに着目してトランザクションの種類ごとに分ける技法であり、データ構造に着目するのはジャクソン法である。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。