2022年10月27日

過去の論述問題(午後II問題)の合格解答を晒してみる - 2008年度(平成20年度) アプリケーションエンジニア(AE)

では、前回の記事での予告通り、過去の論述問題の合格解答を晒してみようと思います。
といっても、完全に書いた内容を暗記しているわけではないので、当時のメモ書きをベースに書き出してみたというものになります。

まずは、2008年度(平成20年度) アプリケーションエンジニア(AE) です。


【問題】

3問あるうち、私は以下の 問2 を選択しました。
理由としては、当時は組み込み系のソフトウェア開発をやっていたので、
「DMBS」「業務システム」「Webアプリケーション」「データウェアハウス」
とかがテーマだと、全く業務経験がなくて何を書いてよいか分からず、手が出せないんですね。
この年は「フレームワークの利用」というとても抽象的なテーマがあったので、
組み込み系のソフトウェア開発の経験をもとにして書くことができました。
(確か問1と問3は手が出せない系のテーマだった記憶があります)

IPAの過去問題のページ からは消されてしまっているようなので、問題内容を以下に書いておきます。

以下のサイトを参考にさせていただきました(感謝!)
https://katzchang.hatenadiary.org/entry/20090901/p2

問2 フレームワークの利用について

最近、システム開発にフレームワークを利用するケースが増えている。フレームワークを効果的に利用することができれば、対象システムの品質を確保し、生産性向上が期待できる。

ただし、フレームワークの利用においては、例えば、利用方法の習得時間の短縮、機能や性能面での制約への対応、機能の利用方法に関する開発者間のばらつきの統制、業務機能の効率の良い設計・開発などの課題に直面することがある。

アプリケーションエンジニアは、これらの課題を解決するために、利用するフレームワークの経験者や専門家の協力を得ながら、次のような対策を実施しなければならない。

・利用方法の習得時間を短縮するために、専用の開発支援環境や利用ガイドを整備する。
・機能や性能面での制約に対応するために、フレームワークの一部をほかのフレームワークや独自に作成したソフトウェアなどで代替する。
・機能の利用方法に関する開発者間のばらつきを統制するために、利用規約を作成して周知徹底を図ったり、利用する機能に制限を加えたりする。
・業務機能を効率よく設計・開発するために、フレームワークに基づいて、業務機能用のテンプレートや業務共通の機能を設計・開発し、各業務機能の設計・開発でそれらを利用する。
・これらの対策を、システムの規模、要求される性能や信頼性の水準などのシステムの特性、開発要員のスキルなどを考慮して、効果的に実施しなければならない。

あなたの経験に基づいて、設問ア〜ウに従って論述せよ。

設問ア あなたが開発に携わったシステム、及び利用したフレームワークの概要について、800字以内で述べよ。

設問イ 設問アで述べたフレームワークを利用するために課題と認識したことは何か。また、それらの課題を解決するために、システムの規模、システムの特性、開発要員のスキルなどを考慮して、どのような対策をどのように効果的に実施したか。重要と考えた点を中心に、具体的に述べよ。

設問ウ 設問イで述べた対策について、あなたはどのように評価しているか。また、今後、改善したい点は何か。それぞれ簡潔に述べよ。

※設問アは800字以内、設問イおよび設問ウは1600字以上3,200字以内で記述。



【解答】
設問ア あなたが開発に携わったシステム、及び利用したフレームワークの概要について、800字以内で述べよ。
※ 文字数が計算しやすいよう、実際の解答用紙と同じ「1行=25文字」で書いています。

           1111111111222222
  1234567890123456789012345
01 1.システムの概要
02  Z社は組み込み機器向けのWeb閲覧システムの開発
03 を行っており、主に携帯電話向けの事業をメインとして
04 いる。
05  Web閲覧システムは、エンジン部分とアプリケーシ
06 ョン部分に明確に分かれている。エンジン部分は共通機
07 能開発チームが開発・保守を行い、各プロジェクトで共
08 通で使えるようになっている。アプリケーション部分は
09 各プロジェクトチームで個別に開発を行い、アプリケー
10 ション固有の機能追加などのカスタマイズなどを行って
11 いる。
12  X社は携帯電話機の製造メーカーであり、今回Z社の
13 Web閲覧アプリケーションを搭載することになった。
14 私はZ社のアプリケーションエンジニアとして、開発に
15 携わった。
16 2.フレームワークの概要
17  Z社ではWeb閲覧アプリケーションの開発に便利な
18 フレームワークが用意されており、このフレームワーク
19 には一般的なWeb閲覧アプリケーションが必要とする
20 機能を網羅している。例えばURL入力、閲覧履歴、ペ
21 ージの戻る・進むの機能、ブックマーク機能、ページの
22 保存機能、画像の保存機能、などである。これらはどの
23 プロジェクトでも通常必要とされるものであるので、フ
24 レームワークとしてまとめられており、これを利用する
25 ことで開発コストを節約することが可能である。
26  X社向けのプロジェクトにおいても、このフレーム
27 ワークを使って開発することになった。
25文字×27行=675字ですね。指定の800字以内です。
途中で段落を分けてるのは決して行数稼ぎwではなく、見やすくするためです。


設問イ 設問アで述べたフレームワークを利用するために課題と認識したことは何か。また、それらの課題を解決するために、システムの規模、システムの特性、開発要員のスキルなどを考慮して、どのような対策をどのように効果的に実施したか。重要と考えた点を中心に、具体的に述べよ。
※ 文字数が計算しやすいよう、実際の解答用紙と同じ「1行=25文字」で書いています。

           1111111111222222
  1234567890123456789012345
01 1.フレームワークを利用するための課題
02 Web閲覧システムのフレームワークを利用するにあた
03 り、私は以下の3点の課題があると認識した。
04 [課題1]X社の要求事項を確認したところ、フレーム
05 ワークの機能の一部についてX社が要望する機能が不足
06 しており、機能変更が必要
07 [課題2]プロジェクトメンバのうち、フレームワーク
08 の利用経験者が少なく、精通しているメンバがほとんど
09 いない
10 [課題3]フレームワークの特定の利用パターンにおい
11 て、性能が著しく悪化するケースがあることが判明し、
12 本プロジェクトにおいてそれが該当してしまうことが判
13 明した
14 2.課題の解決のために実施した対策
15 [課題1の対策]
16 プロジェクト固有の要件による機能変更をフレームワー
17 クに適用してしまうと、それまでの動作実績が失われ、
18 品質低下のリスクが考えられ、他のプロジェクトへの影
19 響が発生してしまう。そのため、今回はX社からの要求
20 内容をよく分析し、フレームワークの既存機能をそのま
21 ま活用できる部分と、X社向けに新規に開発する部分を
22 組み合わせて要求を実現することにした。その結果、新
23 規APIの開発を追加で行う必要はでてきたが、フレー
24 ムワーク本体に変更を適用することが無くなるため、品
25 質低下のリスクを避けつつ、要求を満たすことができた。
26 [課題2の対策]
27 過去にフレームワークを使って成功したプロジェクトの
28 担当者にヒアリングを実施し、フレームワーク利用にお
29 ける開発効率をどのように向上させたのかを確認した。
30 その結果、そのプロジェクトでもフレームワーク利用経
31 験者が少なかったため、フレームワーク利用者向けの講
32 習会が行われてことが判明した。さらに、そのときの講
33 習会の内容がビデオで保存されていることが分かったた
34 め、そのビデオを活用し、本プロジェクトのメンバー向
35 けにも同様の講習会を実施した。
36 [課題3の対策]
37 フレームワークの性能が悪化するケースについては既知
38 の問題ではあったが、特定の利用パターンでのみ発生す
39 る問題であり、実際のプロジェクトでは過去に発生する
40 ケースはなかったが、本プロジェクトで初めて発生して
41 しまった。フレームワーク自体を修正する必要があるが、
42 知識不足のため利用するだけで精一杯で、プロジェクト
43 チームだけでは対応が困難であった。そこで、フレーム
44 ワーク開発チームの支援を借りられるようプロジェクト
45 マネージャに依頼し、調整をしてもらった。その結果、
46 以下について協力してもらえることになった。
47 (1)フレームワークのどの部分が性能悪化の原因にな
48 っているかの解析ポイントを提示してもらう
49 (2)プロジェクト側担当者からの質問への対応や、実
50 際にコードを見ながらの分析のサポートなどの対応
51 (3)実際に修正したコードのレビュー会への参加
25文字×51行=1275字です。
「設問イおよび設問ウは1600字以上3,200字以内」とあるので、2つ足して1600字が最低ラインですね。
設問イが「具体的に述べよ」、設問ウが「簡潔に述べよ」とあるので、
イ:ウ=3:1 ぐらいの割合とし、イ=1200字以上、ウ=400字以上ぐらいを目標で書いてました。結構ギリギリですねw。まあ本番はこんなもんだと思います。時間無くてめっちゃ焦るし。

※ 現在のシステムアーキテクト(SA)だと、設問イ、設問ウ のそれぞれで字数指定があるようですね。昔のアプリケーションエンジニア(AE) はそのあたり雑だったようですw


設問ウ 設問イで述べた対策について、あなたはどのように評価しているか。また、今後、改善したい点は何か。それぞれ簡潔に述べよ。
※ 文字数が計算しやすいよう、実際の解答用紙と同じ「1行=25文字」で書いています。

           1111111111222222
  1234567890123456789012345
01 1.評価
02 (1)課題1について
03 X社からの要求そのままの機能変更をフレームワークに
04 適用せず、既存機能の活用と新規API追加で対応する
05 ことができたので、品質を確保しつつ、開発効率を向上
06 させることができた。
07 (2)課題2について
08 フレームワークについての技術講習を効率よく行うこと
09 ができ、プロジェクトメンバの技術力を向上させること
10 ができたとともに、開発効率も向上させることができた
11 と思う。
12 (3)課題3について
13 フレームワーク開発チームの協力を得ることができ、性
14 能悪化の問題についても無事に解決することができた。
15 2.改善点
16 (2)課題2について
17 フレームワークの講習会のビデオの存在は、過去のプロ
18 ジェクトの担当者に確認するまで知らず、このようなも
19 のは会社全体でもっと共有化し、有効活用すべきと思う。
20 (3)課題3について
21 フレームワーク開発チームが既知の問題を修正せず後回
22 しにしていた結果、実際のプロジェクトで急遽修正する
23 必要が出てきてしまい、スケジュールに影響が発生する
24 リスクがあった。本来はフレームワークは常に安定化さ
25 せた状態にし、利用する上でのリスクが無い状態を維持
26 するのが望ましい。今回のプロジェクト側の成果をもと
27 に、性能向上をフレームワーク開発チームに依頼した。
25文字×27行=675字です。前述の通りの目標文字数は超えています。
設問イと設問ウで合計で 1225 + 675 = 1900 なので、まあ文字数としては問題ないですね。
(空白があるから全部詰めたら1600字いかないんじゃ?とか心配かもですが、「行数」でカウントしてるはずです)
実際は、漢字とかちゃんとかけなくて平仮名で書いたりもしてたと思います("急遽" とか絶対書けない自信がありますw)。



以上、記憶を掘り起こして、書き出してみました。内容的にはほぼこんな感じで書いていたと思います。

実際には、本番では
・字は汚く、
・おそらく誤字脱字もあり、
・さらに漢字書けなくて平仮名で書いたり
と、とても読みづらい酷いものだったと思いますが、
採点官がちゃんと内容読んで採点してくれたことに感謝するしかないですね。

長かったですが、以上、2008年度(平成20年度) アプリケーションエンジニア(AE) の午後IIの合格解答でした。

次の記事では 2010年度(平成22年度)春季のプロジェクトマネージャ(PM) の合格解答を晒してみたいと思います!

応援よろしくお願いします!
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック