SAシステムアーキテクト試験 午前Ⅱ

平成29年度秋期 システムアーキテクト 午前Ⅱ 問10

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

ハードウェアの経験が豊富なプログラマ A と,経験の少ないプログラマ B がペアプログラミングの手法を利用して組込みシステムの開発を進める。ペアプログラミングによる開発の進め方として,適切なものはどれか。

選択肢

  1. ア
    A がデバイスドライバの開発を担当し,Bがアプリケーションの開発を担当する。
  2. イ
    Aがプロジェクトマネージャとして,プロジェクトの調整役になる。
  3. ウ
    AとBがエディタの画面を共有し,Bが記述したコードに対してAが助言する。
  4. エ
    ハードウェアとソフトウェアの切分けをシミュレーションで検証してから,AとBとで分担して開発する。
解き方のヒントを見る

協働開発の役割と目的の対応を考える

二人一組で進める開発手法について、それぞれの参加者が担う責任と、その手法が本来目指している効果とを結び付けて考えることが大切です。示された内容の妥当性を目的との整合から確かめる姿勢で臨みましょう。

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

この問題で意識したい観点は一つ、「その役割分担がなぜ必要とされるのか」という目的との対応です。手法の狙いを自分の言葉で説明できれば、提示された内容が狙いに沿っているかを落ち着いて判断できます。

視点

開発手法を学ぶときは、名称や手順を覚えるだけでなく、その手法が解決しようとしている課題を先に押さえると理解が安定します。複数人で一つの作業に取り組む手法では、参加者ごとの関わり方が狙いの実現にどう寄与するかを考えることが、個々の内容の妥当性を判断する手がかりになります。

確認ポイント

  • この手法が解決しようとしている課題を、自分の言葉で説明できるか
  • 各参加者の関わり方が、その狙いの実現にどう結び付くかを考えたか
  • 狙いと食い違う内容が含まれていないかを、一つずつ確かめたか
正解と解説を見る

正解

ウ

解説

ペアプログラミングは、二人のプログラマが同じ作業に取り組み、一方がコードを記述し、もう一方が確認や助言を行う開発手法です。

理由

ペアプログラミングでは、二人が同じエディタ画面などを共有し、コードを書く役割と内容を確認・助言する役割を協力して担います。これにより、実装中のレビューや知識共有を行えます。

比較

一人ずつ別の機能を担当する方法、管理者と担当者に分かれる方法、事前検証後に分担する方法は、ペアプログラミングの中心である同一作業への共同参加を示していません。

選択肢ア

これは不正解だよ。Aがデバイスドライバ、Bがアプリケーションをそれぞれ担当する内容は、二人が別々の開発範囲を分担する方法です。同じ作業を共同で進め、実装内容を相互に確認するペアプログラミングの進め方とは異なります。

選択肢イ

これは不正解だよ。Aがプロジェクトマネージャとしてプロジェクトの調整役になる内容は、管理や調整の役割を示しています。二人が同じコード作成作業に参加して、互いに確認や助言を行うペアプログラミングの説明ではありません。

選択肢ウ(正解)

これは正解だよ。AとBがエディタの画面を共有し、Bが記述したコードに対してAが助言する方法は、二人が同じ作業に関わりながら実装と確認を協力して行うものです。これはペアプログラミングの適切な進め方です。

選択肢エ

これは不正解だよ。ハードウェアとソフトウェアの切分けをシミュレーションで検証してから、AとBとで分担して開発する内容は、事前検証と担当分けの方法です。二人が同じ作業を共同で進めるペアプログラミングとは異なります。

学習のポイント

ペアプログラミングの基本的な役割分担と、単純な業務分担との違いを理解する。

出典:独立行政法人 情報処理推進機構(IPA)平成29年度秋期 システムアーキテクト試験 午前Ⅱ 問10(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針