システムアーキテクト試験 2016年 午前2 問07
プログラムの構造化設計におけるモジュール分割技法の説明のうち、適切なものはどれか。
ア:STS分割は、データの流れに着目してプログラムを分割する技法であり、入力データの処理、入力から出力への変換処理及び出カデータの処理の三つの部分で構成することによって、モジュールの独立性が高まる。(正解)
イ:TR分割は、データの構造に着目してプログラムを分割する技法であり、オンラインリアルタイム処理のように、入力トランザクションの種類に応じて処理が異なる場合に有効である。
ウ:共通機能分割は、データの構造に着目してプログラムを分割する技法であり、共通の処理を一つにまとめ、モジュール化する。
エ:ジャクソン法は、データの流れに着目してプログラムを分割する技法であり、バッチ処理プログラムの分割に適している。
解説
プログラムの構造化設計におけるモジュール分割技法の説明【午前2 解説】
要点まとめ
- 結論:STS分割はデータの流れに着目し、入力処理・変換処理・出力処理の三つに分割する技法で、モジュールの独立性を高める。
- 根拠:モジュール分割はプログラムの保守性や再利用性向上に重要であり、STS分割は処理の流れを明確に分けることで理解しやすくなる。
- 差がつくポイント:STS分割はデータの流れ重視、TR分割はトランザクション単位、ジャクソン法はデータ構造重視である点を正確に区別すること。
正解の理由
アのSTS分割は、プログラムを「入力データの処理」「入力から出力への変換処理」「出力データの処理」の3つの部分に分ける技法です。これによりモジュール間の独立性が高まり、保守や変更が容易になります。データの流れに着目しているため、処理の順序や依存関係が明確になり、構造化設計の基本的な考え方に合致しています。
よくある誤解
TR分割はトランザクション単位の分割であり、データ構造ではなく処理単位に着目します。ジャクソン法はデータ構造に基づく分割で、データの流れとは異なります。
解法ステップ
- 問題文の「モジュール分割技法」の説明を確認する。
- 各選択肢の分割基準(データの流れ、データ構造、トランザクション)を整理する。
- STS分割が「入力処理・変換処理・出力処理」の三つに分けることを理解する。
- 他の技法との違いを比較し、データの流れに着目しているのはアであると判断する。
- 選択肢アを正解として選ぶ。
選択肢別の誤答解説ステップ
- ア: STS分割はデータの流れに着目し、三つの処理に分割する技法で正しい。
- イ: TR分割はトランザクション単位の分割であり、データ構造に着目する技法ではないため誤り。
- ウ: 共通機能分割は共通処理をまとめる技法であり、データ構造に着目するものではないため誤り。
- エ: ジャクソン法はデータ構造に着目した分割法であり、データの流れに着目する技法ではないため誤り。
補足コラム
STS分割(Source-Transformation-Sink分割)は、プログラムの処理を「入力(Source)」「変換(Transformation)」「出力(Sink)」の3段階に分けることで、モジュールの独立性を高める技法です。これにより、各モジュールの役割が明確になり、保守性やテストの効率が向上します。TR分割はトランザクション単位で処理を分割し、ジャクソン法はデータ構造の階層に基づいてプログラムを設計します。
FAQ
Q: STS分割はどのようなプログラムに適していますか?
A: データの流れが明確なバッチ処理や一連の処理を段階的に分割したい場合に適しています。
A: データの流れが明確なバッチ処理や一連の処理を段階的に分割したい場合に適しています。
Q: ジャクソン法とSTS分割の違いは何ですか?
A: ジャクソン法はデータ構造の階層に基づく分割で、STS分割はデータの流れ(入力・変換・出力)に着目した分割法です。
A: ジャクソン法はデータ構造の階層に基づく分割で、STS分割はデータの流れ(入力・変換・出力)に着目した分割法です。
Q: TR分割はどのような場面で使われますか?
A: オンラインリアルタイム処理など、入力トランザクションの種類ごとに処理が異なる場合に有効です。
A: オンラインリアルタイム処理など、入力トランザクションの種類ごとに処理が異なる場合に有効です。
関連キーワード: モジュール分割, STS分割, TR分割, ジャクソン法, 構造化設計, プログラム設計, 保守性, 独立性