令和5年度 III-16

科目: 専門科目 / 分野: 情報工学部門 / 年度: 令和5年度

III-16 問題画像

出典:公益社団法人 日本技術士会「技術士第一次試験 過去問題」

システムをモデル(Model)、表示(View)、制御(Controller)に分けるMVCアーキテクチャの模式図で、(a)〜(c)に対応する側面の組合せを選ぶ問題。

解説

この問題で問われていること

MVCアーキテクチャの3要素と、要素間のメッセージから、図の対応を決める問題。

解き方

① MVC: Modelは変化をViewに通知し、Viewはデータを取りに行って表示。利用者の操作はViewからControllerへ事象として伝わり、ControllerがModelを操作する
② 更新通知を出し操作を受ける(b)=Model、データを取りに行き事象を通知する(a)=View、Modelを操作する(c)=Controller
③ ③

正解が正しい理由

MVCでは、Model(データと業務ロジック)が変化するとView(表示)へ更新を通知し、Viewは必要なデータをModelから取得して表示する。利用者の操作(入力)は、ViewからController(制御)に事象として通知され、ControllerがModelを操作する。図では、(b)から(a)へ「更新通知」が出て、(a)から(b)へ「データ取得」があるので、(b)=Model、(a)=View。(a)から(c)へ「事象通知」が出て、(c)から(b)へ「操作」があるので、(c)=Controllerである。したがって(a)=View、(b)=Model、(c)=Controllerの③が正しい。

各選択肢について

覚えるべきポイント

MVC: Controllerがユーザー操作を受けてModelを更新し、Modelは変更をViewへ通知し、ViewはModelからデータを取得して表示する。ViewはユーザーイベントをControllerに伝える。

キーワード: MVC、モデル、ビュー、コントローラ、アーキテクチャパターン、ソフトウェア設計、情報工学部門