必ず受かる情報処理技術者試験

当サイトは、情報処理技術者試験に合格するためのWebサイトです。
ITパスポート試験,基本情報技術者,応用情報技術者,高度試験の過去問題と解答及び詳細な解説を掲載しています。
  1. トップページ
  2. 応用情報技術者
  3. 平成30年度春季問題
  4. 平成30年度春季解答・解説

平成30年度春季解答

問題46

ソフトウェアライフサイクルプロセスにおいてソフトウェア実装プロセスを構成するプロセスのうち、次のタスクを実施するものはどれか。

[タスク]

  • ソフトウェア品目の外部インタフェース、及び、ソフトウェアコンポーネント間のインタフェースについて最上位レベルの設計を行う。
  • データベースについて最上位レベルの設計を行う。
  • ソフトウェア結合のための暫定的なテスト要求事項及びスケジュールを定義する。
ソフトウェア結合プロセス
ソフトウェア構築プロセス
ソフトウェア詳細設計プロセス
ソフトウェア方式設計プロセス

解答:エ

<解説>

JIS X 0160(ソフトウェアライフサイクルプロセス)は、ソフトウェア・ライフサイクル・プロセスに関する日本工業規格である。

ソフトウェア製品のライフサイクルにおける,取得者,供給者及び他の利害関係者との間で円滑にコミュニケーションを行う場合に必要な定義されたプロセスの集合を提供」することを目的とする。

JIS X 0160のソフトウェア実装プロセスは,「ソフトウェアの中に実装することになった,仕様で指定されたシステム要素(ソフトウェア品目)を作り出す」プロセスで,次の下位プロセスを含む。

  • ソフトウェア要求事項分析プロセス:ソフトウェアの要求事項を確立する。
  • ソフトウェア方式設計プロセス:確立した要求事項を実装する。外部インタフェースやコンポーネント問のインタフェース,データベースについて最上位レベルの設計をする,ソフトウェア結合の暫定的なテスト要求事項及びスケジュールを定義するなど。
  • ソフトウェア詳細設計プロセス:ソフトウェアの詳細な設計を行う。
  • ソフトウェア構築プロセス:コーディングレソフトウェアユニットを作る。
  • ソフトウェア結合プロセス:ソフトウェアユニットを結合する。
  • ソフトウェア適格性確認テストプロセス:ソフトウェアが,定義された要求事項を満たすことを確認する。

[タスク]の内容を実施するのは、エ:ソフトウェア方式設計プロセスである。

問題へ

問題47

組込みシステムの“クロス開発”の説明として、適切なものはどれか。

実装担当及びチェック担当の二人一組で役割を交代しながら開発を行うこと
設計とプロトタイピングとを繰り返しながら開発を行うこと
ソフトウェアを実行する機器とはCPUのアーキテクチャが異なる機器で開発を行うこと
派生開発を、変更プロセスと追加プロセスに分けて開発を行うこと

解答:ウ

<解説>

クロス開発とは、あるソフトウェアの開発を、そのソフトウェアが動作するシステムとは違うシステム上で開発することである。。

電化製品などのマイコン制御チップや家庭用のゲーム機などは、それ自体では開発環境を持たないため、パソコンなど別のコンピュータを使ってソフトウェアを開発し、完成したソフトウェアを実機に送り込んで実行するという手法が採られる。

× ペアプログラミングの説明である。
× ラウンドトリップ開発またはイテレーション開発の説明である。
クロス開発の説明である。
× XDDP(eXtreme Derivative Development Process)の説明である。

問題へ

問題48

アジャイル開発のプラクティスの一つである“ふりかえり(レトロスペクティブ)“を行う適切なタイミングはどれか。

イテレーションの各回の最後
タスクボードに貼ったタスクカードが移動されたとき
ニコニコカレンダーに全チームが記入し終えたとき
毎日行う"朝会"

解答:ア

<解説>

“ふりかえり(レトロスペクティブ)“とは、アジャイル開発において、スプリント終了後に実施される「振り返り」のためのミーティングである。

アジャイル開発では,ソフトウェアを複数の小規模な機能に分割し.設計. プログラミング.テストという手順を1回実行して一つの機能を開発する。 この1回の手順をイテレーション(反復)といい。これを繰り返すことでソ フトウェア全体の機能を開発する。

1回のイテレーションで小さな機能を開発し.それを顧客に示して反応を見ることで,顧客の要求との不一致を見つけて修正することが可能となる。

そのためふりかえり(レトロスペクティブ)は、 イテレーションの最後のタイミングで行う。

したがって、アが正解である。

問題へ

問題49

アジャイル開発などで導入されている“ペアプログラミング”の説明はどれか。

開発工程の初期段階に要求仕様を確認するために、プログラマと利用者がペアとなり、試作した画面や帳票を見て、相談しながらプログラムの開発を行う。
効率よく開発するために、2人のプログラマがペアとなり、メインプログラムとサブプログラムを分担して開発を行う。
短期間で開発するために、2人のプログラマがペアとなり、作業と休憩を交代しながら長期間にわたってプログラムの開発を行う。
品質の向上や知識の共有を図るために、2人のプログラムがペアとなり、その場で相談したりレビューしたりしながら、一つのプログラム開発を行う。

解答:エ

<解説>

ペアプログラミングとは、2人のプログラマが1台のワークステーションを使って共同でソフトウェア開発を行う手法である。

一方が単体テストを打ち込んでいるときに、もう一方がそのテストを通るクラスについて考えるといったように、相補的な作業をする。

実際にキーボードを操作してコードを書く人を「ドライバ」、もう1人を「ナビゲータ」と呼ぶ。

× 2人のプログラマがペアとなる。プログラマと利用者がペアになるのではない
× コーディングを行うのは1人のプログラマである。
× 開発作業を共同で行うものであり、作業と休憩を交代しながら長期間にわたってプログラムの開発を行うものではない。
正しい。

問題へ

問題50

自社開発したソフトウェアの他社への使用許諾に関する説明として、適切なものはどれか。

既に自社の製品に搭載して販売していると、ソフトウェア単体では使用許諾対象にできない。
既にハードウェアと組み合わせて特許を取得していると、ソフトウェア単体では使用許諾対象にできない。
ソースコードを無償で使用許諾すると、無条件でオープンソースソフトウェアになる。
特許で保護された技術を使っていないソフトウェアであっても、使用許諾することは可能である。

解答:エ

<解説>

自社開発したソフトウェアの著作権は自社にある。著作者である自社は他の者との間で契約を締結することで,ソフトウェアの使用を許可することができる。このような契約のことをソフトウェア使用許諾契約という。

× 自社の製品に搭載しているソフトウェアも,単体で使用許諾の対象にすることができる。
× 特許を取得しているかどうかにかかわらず,ソフトウェア単体の使用許諾をすることが可能である。
× オープンソースソフトウェア(OSS)とは、ソースコードが公開されており、誰でも利用や改変、再配布が可能なソフトウェアである。ソースコードを無償で使用許諾しても,改変や再配布などの条件を満たさない限り,オープンソースソフトウェアにはならない。
ソフトウェアに特許技術が含まれていなくても,自社開発したソフトウェアであれば使用許諾契約を結ぶことができます。

問題へ