読者です 読者をやめる 読者になる 読者になる

情報処理技術者試験ナビ

当サイトは準備中です。

応用情報技術者 H29春 午後 問8(情報システム開発)

問題

アジャイル型開発に関する次の記述を読んで,設間1〜4に答えよ。

 U社は,コンビニエンスストアを全国展開する企業である。自社ブランド商品のファンを作るために,オリジナルのゲームなどが楽しめる専用のSNS(以下,本システムという)を開発することになった。
 本システムでは,利用者を引き付け続けるために,コンテンツを頻繁にリリースしていく必要がある。そのため,ソフトウェア開発モデルとしてアジヤイル型開発を採用する。

〔採用するプラクティスの検討〕
 アジャイル型開発で用いられるチーム運営や開発プロセス,プログラミングなどの実践手法をプラクティスと呼ぶ。本システム開発における,システム要件や開発体制の特徴は次のとおりである。これに基づいて,採用するプラクテイスを検討する。

  • スコープの変動が激しい
     テレビやコマーシャルなどの影響によって,要求の変更が頻繁に発生する。そのために,本システムの品質に責任をもち,優先順位や仕様を素早く決める役割をもっプロダクトオーナを任命する。そして,本システムの要求全体と優先順位を管理するために  a  を採用し,反復する一つの開発サイクル(以下,イテレーションという)において,開発対象となる要求を管理するために  b  を採用する。
  • 求められる品質が高い
     一般消費者向けSNSという性質上,その不具合は利用者離れを引き起こしかねない。一定レベル以上の品質を保つために,継続的インテグレーション(以下。CIという)を採用する。
  • チームメンバの半数のスキルが未成熟
     アサインされたプロジェクトメンバには,アジャイル型開発のベテラン社員と,スキルが未成熟な若手社員が含まれる。チームの中で業務知識やソースコードについての知識をお互いに共有して,品質や作業効率を向上させるために,  c  を採用する。

 この検討結果のレビューを社内の有識者から受けたところ,チーム全体の状況を共有するために,その①作業状態を可視化した環境を作り,メンバ全員が集まって必要な情報を短い時間で共有する日次ミーティングも採用するように,との指摘を受けた。

 〔開発環境の検討〕
 本システムは,不特定多数の一般消費者に対して速いレスポンスを提供するために,コンパイル型言語を用いてWebシステムとして開発する。
 想定される開発環境の構成要素を表1に示す。

f:id:honmurapeo:20170419225128p:plain

 表1のレビューを社内の有識者から受けたところ,開発用DBサーバは,ライセンス及び②構成管理上のメリットを考慮して,各開発用PC内ではなく,共用の開発用DBサーバを用意し,その中にスキーマを一つ作成して共有した方がよい,との指摘を受けた。また,ベテラン社員から,③開発者が一つのスキーマを共有してテストを行う際に生じる問題を避けるためのルールを決めておくとよい,とのアドバイスを受け,開発方針の中に盛り込むことにした。

 

〔CIサーバの実装〕
 高い品質と迅速なリリースの両立のために,自動化された回帰テスト及び継続的デリバリを実現する処理をCIサーバ上に実装する。その処理手順を次に示す。

  1. ソースコード管理サーバから最新のソースコードを取得する。
  2. インターネットから最新のオープンソースライブラリを取得する。
  3.   d  に,(1)と(2)で取得したファイルをコピーして処理させて,モジュールを生成する。
  4. (3)で生成されたモジュールに,結合テスト環境に合った設定ファイルを組み込み,結合テスト用サーバに配置する。
  5. Webテストサーバに登録されているテストシナリオを実行する。
  6. (5)の実行結果を  e  に登録し,その登録した実行結果へのリンクを電子メールでプロダクトオーナとプロジェクトメンバに報告する。
  7. プロダクトオーナが(6)の報告を確認して承認すると,(3)で生成したモジュールに,本番環境に合った設定ファイルを組み込み,本番用サーバに配置する。

〔回帰テストで発生した問題〕
 
 イテレーションを複数サイクル行い,幾つかの機能がリリースされて順調に次のイテレーションを進めていたある日,CIサーバからテストの失敗が報告された。失敗の原因を調査したところ,インターネットから取得したオープンソースライブラリのインタフェースに問題があった。最新のメジャーバージョンへのバージョンアップに伴って,インタフェースが変更されていたことが原因であった。このオープではインタフェースは変更せず,セキュリティ及び機能上の不具合の修正だけを行う,とのことであった。
 そこで,インターネットから取得するオープンソースライブラリのバージョンに④適切な条件を設定することで問題を回避することができた。

 

IPA公開情報

出題趣旨

 (公表前)

採点講評

 (公表前)