【システム開発技術】データの流れでプログラムを分ける!「STS法」|情報処理問題1000本ノック
大規模なプログラムを効率よく開発するためには、適切に「分割」する必要があります。データの入り口から出口までの「流れ」に着目した設計手法を攻略しましょう。
1. 問題:プログラムの分割手法
【 問題 】 データが「入力」「処理」「出力」という一連の流れに沿って処理されていくことに着目して、プログラムを分割する構造化設計手法はどれでしょうか?
ア、機能分割 イ、STS法 ウ、ジャクソン法 エ、ワーニエ法
2. 正解:構造化設計に関する正解
正解: イ、STS法
3. 解説:データの「源泉」から「吸収」まで
STS法は、プログラムをデータの流れに基づいて3つのセグメント(部分)に分割する手法です。名称は、それぞれの役割の頭文字を取っています。
【図解:STS法の3セグメント】
S:Source(入力流/源泉)
・外部からデータを取り込み、加工しやすい形に整える部分。
T:Transform(変換中心)
・入力されたデータを、出力用のデータへと変換する主要な計算・ロジック部分。
S:Sink(出力流/吸収)
・変換されたデータを、帳票や画面、ファイルなどの外部へ出力する部分。
S:Source(入力流/源泉)
・外部からデータを取り込み、加工しやすい形に整える部分。
T:Transform(変換中心)
・入力されたデータを、出力用のデータへと変換する主要な計算・ロジック部分。
S:Sink(出力流/吸収)
・変換されたデータを、帳票や画面、ファイルなどの外部へ出力する部分。
[ 他の設計手法との違い ]
★ ジャクソン法・ワーニエ法:データの「流れ」ではなく、入出力データの「構造(形)」に着目してプログラムを設計します。
★ TR法(トランザクション分割):入力データの「種類」に応じて、処理を振り分ける構造(分岐)に着目します。
★ ジャクソン法・ワーニエ法:データの「流れ」ではなく、入出力データの「構造(形)」に着目してプログラムを設計します。
★ TR法(トランザクション分割):入力データの「種類」に応じて、処理を振り分ける構造(分岐)に着目します。
1. 理解のコツ: 「入力(S)→ 処理(T)→ 出力(S)」という川の流れのような一本道をイメージしてください。この流れの「変わり目」を見つけ出し、そこを境界線としてモジュール(部品)を分割するのがSTS法です。
2. 試験対策の視点: 問題文に「入力・処理・出力の一連の流れ」というフレーズがあれば、迷わずSTS法を選びましょう。また、これらは「構造化設計」という大きな枠組みの中の手法であることも重要です。
4. まとめ
「データの通り道(ストリーム)に着目して分割する」。これがSTS法です。シンプルで直感的なため、多くのシステム設計の基礎となっている考え方であることを押さえておきましょう!
PR