機能分割と責務分離を間違えると何が起きるか|応用情報で学ぶ設計の落とし穴 | SORAXIOM

機能分割と責務分離を間違えると何が起きるか(応用情報視点)

スポンサーリンク
応用情報を「暗記しない」で理解する

システム設計の話になると、
「機能分割」「責務分離」という言葉がよく出てきます。

どちらも似たような意味で使われがちですが、
この2つを混同すると、
設計は一気に壊れやすくなります。

応用情報技術者試験では、
この違いを理解しているかどうかが、
設問の読み取りに大きく影響します。


スポンサーリンク

機能分割とは何か

機能分割とは、
何をする処理なのかを基準に分ける考え方です。

  • 入力を受け取る
  • 計算・判定を行う
  • データを保存する
  • 結果を表示する

といったように、
処理の役割ごとに整理します。

これは主に、
処理の見通しを良くするための分け方です。


責務分離とは何か

一方、責務分離は、
誰が何に責任を持つかを基準に分けます。

  • この判断はどこで行うのか
  • 変更に責任を持つのはどこか
  • 失敗した場合に影響を受ける範囲はどこか

といった視点で整理します。

こちらは、
変更や障害に強い構造を作るための考え方です。


機能分割だけでは足りない理由

機能分割だけで設計すると、

  • 処理は整理されているが
  • 判断の責任があいまい
  • 仕様変更の影響範囲が読めない

といった状態になりやすくなります。

応用情報の午後問題では、
この責任のあいまいさ
事故の原因として描かれることがよくあります。


責務をまたぐ設計が事故を生む

例えば、

  • 業務ルールの判断を
    画面側で行っている
  • データの整合性チェックを
    複数の処理に分散している

こうした設計は、
一見すると問題なく動きます。

しかし、
変更や例外が入った瞬間に破綻します。

応用情報は、
その破綻ポイントを見抜けるかを問います。


応用情報での見抜き方

問題文を読むときは、

  • その判断はどこで行われているか
  • 本来そこが持つべき責務か
  • 他の場所と重複していないか

を意識すると、
選択肢の違和感に気づきやすくなります。


実務でも同じ問題が起きる

実務でも、

  • 「とりあえずここに書いた」
  • 「動いているから問題ない」

という判断が積み重なると、
責務が崩れていきます。

応用情報は、
その崩れ方を
試験問題という形で整理しています。


まとめ

  • 機能分割は「何をするか」
  • 責務分離は「誰が責任を持つか」

この2つを混同すると、
システムは壊れやすくなります。

応用情報では、
正しそうに見える設計の危うさ
見抜く視点が求められます。


次回予告

次回は、
「要件定義と設計はなぜ揉めるのか」
を扱います。

人とシステムの境界の話です。

コメント

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