▲ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┏┓ ┃┃  のんびりやろう!情報処理試験! 〜1問1問コツコツと〜  ┃┃ ┃┃ 2003.3.31 vol.1072 23,330 部発行 http://www.shunzei.com/ ┃┃ ┗┛ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼ ━PR━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ◆◆◆◆◆◆◆◆◆ 2003秋対策に通学コース「土曜塾」 ◆◆◆◆◆◆◆◆◆ 情報セキュリティ、ネットワークに加えプロジェクトマネージャ開講 通信教育+隔週土曜日の講義が人気の通学コースで実力UP↑ 詳細とお申込は http://www.itec.co.jp/personal/school/school.htm から ◆◆◆◆ 《IT技術者教育のパイオニア》 アイテックの通信講座 ◆◆◆◆ ---------------------------------------------------------------------- ● [初級シスアド] [マンション管理士] [行政書士] 雇用保険5年以上 ● ◆加入の方で【教育訓練給付制度】を利用して資格を取ろうと考えてる方へ◆ ◆5月からこの制度の見直しにより給付金額が大幅に引き下げられる模様 ◆ ◆[ラストチャンス]⇒『特待生』受付中!※自己負担分が大幅軽減できます◆ http://211.10.20.135/a/a.cgi?k04195m01027 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━PR━ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■今日の問題■☆☆(等幅フォントで見てね!) ----------------------------------------------------------------------  ソフトウェア開発プロセスモデルのうち、ウォータフォールモデル、  スパイラルモデル、プロトタイピングとそれぞれの特徴の組合せとして、  適切なものはどれか。  a 開発初期段階での試作を通して、ユーザインタフェースの確定や、    応答性などの性能確認を行い、後続段階での仕様変更による    手戻りのリスクを防ぐ。  b 開発プロセスを繰り返しながら改良していく成長型モデル。    各繰返しで、開発コストや品質などからリスクを評価し、    リスクが最小となるプロセスをとる。  c 要求分析、システム設計、製造、テスト、運用・保守の順に    逐次実行される一連の段階的工程からなる。    ┌───────────┬────────┬────────┐    │ウォータフォールモデル│スパイラルモデル│プロトタイピング│  ┌─┼───────────┼────────┼────────┤  │ア│     a     │   b    │   c    │  ├─┼───────────┼────────┼────────┤  │イ│     b     │   c    │   a    │  ├─┼───────────┼────────┼────────┤  │ウ│     c     │   a    │   b    │  ├─┼───────────┼────────┼────────┤  │エ│     c     │   b    │   a    │  └─┴───────────┴────────┴────────┘ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■解答■(出典:H11. 1種 問61) ----------------------------------------------------------------------    ┌───────────┬────────┬────────┐    │ウォータフォールモデル│スパイラルモデル│プロトタイピング│  ┌─┼───────────┼────────┼────────┤  │エ│     c     │   b    │   a    │  └─┴───────────┴────────┴────────┘ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■解説■ ----------------------------------------------------------------------  さて、ソフトウェア工学特集に入ります。  今日も、ソフトウェアのプロセスモデルの問題でした。  先週の復習になります。  問題文を順に見ていきましょう。 > a 開発初期段階での試作を通して、ユーザインタフェースの確定や、 >   応答性などの性能確認を行い、後続段階での仕様変更による >   手戻りのリスクを防ぐ。    これは、プロトタイピングモデル(prototyping model) です。   プロトタイピングモデル(prototyping model) とは、   システム開発工程の早い段階で、試作品(プロトタイプ)を作成し、   ユーザに評価してもらう(試用してもらう)ことによって   「ユーザの要求と合っているか?」「使い勝手はどうか?」など   開発者の間の認識のズレを早期に解消するための手法です。    プロトタイプを修正しつつ、仕様を確定していきます。    この手法はシステム開発の初期段階での誤りを発見し、    開発期間の短縮やコストの低減を狙ったものですが、ユーザの意見が    必ずしも適切であるとは言えないので、拡張や変更時に問題が    発生したり、ユーザとのやりとりで逆に開発期間が延長したりします。 > b 開発プロセスを繰り返しながら改良していく成長型モデル。 >   各繰返しで、開発コストや品質などからリスクを評価し、 >   リスクが最小となるプロセスをとる。    これは、スパイラルモデル(spiral model) です。    ウォータフォールとプロトタイピングの両方の手法を取り入れて、    開発初期の段階で独立性の高い部分で分け、その部分ごとに設計から    テストまでの工程を繰り返して開発していく方法です。 > c 要求分析、システム設計、製造、テスト、運用・保守の順に >   逐次実行される一連の段階的工程からなる。    これは、ウォータフォールモデル(water fall model) です。    システム開発をはっきりとした工程に分けて、各工程での生産物を    明確にして、その生産物を次の工程に受け渡していく開発モデルです。    滝(ウォータフォール)の水の流れのように、一気に進んでいくような    プロセスモデルなので、こういうふうに呼ばれます。  よって、「エ」が正解になります。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ★これ、おしえてっ!(回答編)★ vol.1068(2003.3.21)の質問に対する回答 ----------------------------------------------------------------------  vol.1068 の質問はこちらでした。(出典:H14.秋 初級シスアド 問40) ----------------------------------------------------------------------  図のアローダイアグラムの説明のうち,適切なものはどれか。          6        6      (2) ──────→(4)───→(7)      ┐ \       \     \5     7/   \5       \     \    /     \       :      ┘   /       ┘      │3     (9)  (1)         (5)     │     ┐   \9       ┐  \   │    /    \     4/    \4  │   /4     \   /      \ │  /      ┘ /        ┘↓ /      (3) ───→(6) ───→(8)          3     7  ア (2)→(4)の仕事が 1 日早く終われば,全体の仕事も 1 日早く終わる。  イ (2)→(5)の仕事が 1 日早く終われば,全体の仕事も 1 日早く終わる。  ウ (3)→(5)の仕事が 1 日早く終われば,全体の仕事も 1 日早く終わる。  エ (6)→(8)の仕事が 1 日早く終われば,全体の仕事も 1 日早く終わる。 ----------------------------------------------------------------------  それでは、みなさんの回答を紹介しますね。  ○カスミソウさん > 答え ア です。 > > vol.753を参考にしました。 > > > アローダイアグラム(arrow diagram) とは、日程管理や工程管理を行うとき > > に用いられる図のことを言います。作業(工程)の順番を矢印で表し、 > > どのような流れで作業が行われているのかを問題のような図で表現します。 > > この図を用いることで、全体的な作業の遅れの原因となっている部分を > > 見つけやすくします。 > >>一番時間のかかる経路のことをクリティカルパス(critical path) と > > 言います。 > >     経路          日数 > A…1→2→4→7→9……7+6+6+5=24 > B…1→2→4→8→9……7+6+3+4=20 > C…1→2→5→8→9……7+5+4+4=20 > D…1→3→5→8→9……9+4+4+4=21 > E…1→3→6→8→9……9+3+7+4=23 > > 以上より > クリティカルパスは > A…1→2→4→7→9 > 日数は…7+6+6+5=24日 になります。 > > ア (2)→(4)の仕事が 1 日早く終われば,全体の仕事も 1 日早く終わる。 > (2)→(4)を1日短縮すると > ☆A…1→2→4→7→9……7+5+6+5=23に変わる。 > ☆B…1→2→4→8→9……7+5+3+4=19に変わる。 >  C…1→2→5→8→9……7+5+4+4=20 >  D…1→3→5→8→9……9+4+4+4=21 >  E…1→3→6→8→9……9+3+7+4=23 > Aから☆Aで全体で1日短縮されたので正解。 > > イ (2)→(5)の仕事が 1 日早く終われば,全体の仕事も 1 日早く終わる。 > (2)→(5)を1日短縮すると >  A…1→2→4→7→9……7+6+6+5=24 >  B…1→2→4→8→9……7+6+3+4=20 > ☆C…1→2→5→8→9……7+4+4+4=19に変わる。 >  D…1→3→5→8→9……9+4+4+4=21 >  E…1→3→6→8→9……9+3+7+4=23 > ウ (3)→(5)の仕事が 1 日早く終われば,全体の仕事も 1 日早く終わる。 > (3)→(5)を1日短縮すると >  A…1→2→4→7→9……7+6+6+5=24 >  B…1→2→4→8→9……7+6+3+4=20 >  C…1→2→5→8→9……7+5+4+4=20 > ☆D…1→3→5→8→9……9+3+4+4=20に変わる。 >  E…1→3→6→8→9……9+3+7+4=23 > エ (6)→(8)の仕事が 1 日早く終われば,全体の仕事も 1 日早く終わる。 > (6)→(8)を1日短縮すると >  A…1→2→4→7→9……7+6+6+5=24 >  B…1→2→4→8→9……7+6+3+4=20 >  C…1→2→5→8→9……7+5+4+4=20 >  D…1→3→5→8→9……9+4+4+4=21 > ☆E…1→3→6→8→9……9+3+6+4=22に変わる。 > イ、ウ、エ は全体の仕事に変化はないので間違い。  どうもありがとうございました。正解は「ア」ですね。  この問題がよくわからない方はまず、クリティカルパスという言葉を  理解しましょう。  ○ゆずパパさん > まず、それぞれのルートがどの位日数がかかるか見て行きます。 >  1.(1)→(2)→(4)→(7)→(9) 7+6+6+5=24日 >  2.(1)→(2)→(4)→(8)→(9) 7+6+3+4=20日 >  3.(1)→(2)→(5)→(8)→(9) 7+5+4+4=20日 >  4.(1)→(3)→(5)→(8)→(9) 9+4+4+4=21日 >  5.(1)→(3)→(6)→(8)→(9) 9+3+7+4=23日 > この1.〜5.までの間で、一番日数がかかるのは1.と言うことが > 分かります。 > 問題は、適切な説明はどれかと言うことなので、それぞれ当てはめると > 「ア」が正解となります。 > > > 多分、他の方が色々と書いていらっしゃると思うので、この手の問題の簡単な > 理解方法を紹介しました。 > この図が出てきた時には、一番時間(日数)がかかるルートを見つけ、それを > 頭に入れて回答していくと、応用問題も簡単に解けると思います。  どうもありがとうございました。一番時間(日数)がかかるルートが  クリティカルパスと呼ばれます。  ○yasuさん > クリティカルパスを求めるため、全パスの作業日数を調べてみると >   > A: (1)→(2)→(4)→(7)→(9)  24日 > B: (1)→(2)→(4)→(8)→(9)  20日 > C: (1)→(2)→(5)→(8)→(9)  20日 > D: (1)→(3)→(5)→(8)→(9)  21日 > E: (1)→(3)→(6)→(8)→(9)  23日 > > 上記よりクリティカルパス(最も余裕のないパス)はAである。 > よって、クリティカルパス上の作業(2)→(4)が1日早く終われば > 全体の作業も1日早く終わらせる(24日→23日)ことができるので > > ア が正解。  どうもありがとうございました。結局、クリティカルパス上の作業を  短縮することを考えれば、全体の日数が少なくなりますね。  ○でこさん > アローダイアグラムでは、クリティカルパス(最短経路)を短縮すれば > 全体の仕事が早く終わる。 > 全経路の必要日数を計算すると以下のようになる。 > (1)→(2)→(4)→(7)→(9)=24日・・・[1] > (1)→(2)→(4)→(8)→(9)=20日・・・[2] > (1)→(2)→(5)→(8)→(9)=20日・・・[3] > (1)→(3)→(5)→(8)→(9)=21日・・・[4] > (1)→(3)→(6)→(8)→(9)=23日・・・[5] > よって、[1]がクリティカルパスとなる。 > 選択肢ア〜エで[1]上を通過しているのは、ア(2)→(4)となる。 > > 因みに、クリティカルパス以外はどこかの仕事で待ちが発生しており、仕事を > 早く終わらせても全体の仕事のスピードに影響はない。  どうもありがとうございました。  ○夢幻花さん > 全体の仕事日数に与える影響に関する問題ですから、 > クリティカルパスを考えればいいですね。 > そのために、 > 最早結合点時刻(最も早く始められる時間→到達までに最低限かかる時間) > と > 最遅結合点時刻(最も遅く始められる時間 >                →遅くとも始めなければならない時間) > を(1)〜(9)の各ポイントでもとめます。 > > まずは最早結合点時刻から見ていきましょう。 > > ・(2)まで:7日間 > ・(3)まで:9日間 > ・(4)まで:(2)までの到達時間しか影響しないので7+6=13日間 > ・(5)まで: >    (2)、(3)の両方向から作業が進められるので、 >    (2)、(3)までの到達時間が影響する。 >    (2)までは7日間、そこからさらに5日かかるので最低12日 >    (3)までは9日間、そこからさらに4日かかるので最低13日 >     よって、(5)まで到達するには最低限13日かかる。 >     つまり、最早結合点時刻は13日となる > ・(6)まで:(3)までの到達時間しか影響しないので9+3=12日間 > ・(7)まで:(4)までの到達時間しか影響しないので13+6=19日間 > ・(8)まで: >    (4)、(5)、(6)までの到達時間が影響する。 >    (4)までは13日間、そこからさらに3日かかるので最低16日 >    (5)までは13日間、そこからさらに4日かかるので最低17日 >    (6)までは12日間、そこからさらに7日かかるので最低19日 >     よって、最早結合点時刻は19日間 > ・(9)まで: >    (7)、(8)までの到達時間が影響する。 >    (7)までは19日間、そこからさらに6日かかるので合計25日 >    (8)までは19日間、そこからさらに4日かかるので合計23日 >     よって、最早結合点時刻は25日 > > ここまでで、作業を終えるには最も早くとも25日かかることが > わかりました。 > > 次に最遅結合点時刻を見ていきます。今度は(9)から逆算していきます。 > ・(8)まで:(8)−>(9)の作業は4日かかるので >      遅くとも25−4=21日間で到達していなければならない > ・(7)まで:(7)−>(9)の作業は6日かかるので >      遅くとも25−6=19日間で到達していなければならない > ・(6)まで:(8)−>(6)の作業は7日かかるので >      遅くとも21−7=14日間で到達していなければならない > ・(5)まで:(8)−>(5)の作業は4日かかるので >      遅くとも21−4=17日間で到達していなければならない > ・(4)まで:(8)までの最遅結合点時刻は21日なので >     (4)−>(8)の作業開始は21−3=18日まで遅れてもよい >      一方、(7)までの最遅結合点時刻は19日なので >     (4)−>(7)の作業開始は19−6=13日まで遅れてもよい >     つまり、遅くとも13日には(4)まで到達していなければならない > ・(3)まで:(5)までの最遅結合点時刻は17日なので >     (3)−>(5)の作業開始は17−4=13日まで遅れてもよい >      一方、(6)までの最遅結合点時刻は14日なので >     (3)−>(6)の作業開始は14−3=11日まで遅れてもよい >     つまり、遅くとも11日には(3)まで到達していなければならない > ・(2)まで:(5)までの最遅結合点時刻は17日なので >     (2)−>(5)の作業開始は17−5=12日まで遅れてもよい >      一方、(4)までの最遅結合点時刻は13日なので >     (2)−>(4)の作業開始は13−6=7日まで遅れてもよい >     つまり、遅くとも7日には(2)まで到達していなければならない > ・(1)まで:(3)までの最遅結合点時刻は11日なので、 >     (1)−>(3)の作業開始は11−9=2日まで遅れてもよい >     一方、(2)までの最遅結合点時刻は7日なので >     (1)−>(2)の作業開始は遅れてはいけない > > ここで、各ポイントまでの最早結合点時刻と、最遅結合点時刻をまとめます。 > > 表示例: > (ポイント番号) > 最早結合点時刻 > -------------- > 最遅結合点時刻 > (1) (2) (3) (4) (5) (6) (7) (8) (9) >  0   7    9  13  13  12  19  19  25 >  --   --   ----  ----  ----  ----  ----  ----  ---- >  0   7   11  13  17  14  19  21  25 > > 最早結合点時刻=最遅結合点時刻となる部分は > 作業にまったく余裕がないところです。 > > この点を結んだ作業過程 > (1)−>(2)−>(4)−>(7)−>(9) > がクリティカルパスとなります。 > 上の性質から、クリティカルパス上の作業日数の早まり・遅れは > 全体の日程の早まり・遅れに影響します。 > > 選択肢の作業の中でクリティカルパス上にあるのはアです。 > よって、答えはアとなります。 > > > そろそろ試験も近いということで、 > 保存しておいたメルマガ半年分の読み返しをしています。 > しかし、学生時代ほど時間の余裕がないので、どこまで読み返せるか・・・  どうもありがとうございました。  この時期は、バックナンバーを一気に読む方はたくさんいらっしゃいます(^^)  ○バックナンバー  ダウンロード: http://www.shunzei.com/mm/backnumber.html  立ち読み  : http://www.melma.com/mag/89/m00000189/index_bn.html  さて、以前お知らせしたとおり、このコーナーは僕の都合により  4月中お休みとなります。5月から再開しますので、お楽しみに!! ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼選択肢で勉強しよっ!▼(答えはこのメールの一番下にあります) ---------------------------------------------------------------------- > トレーサ(tracer) って? ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ > *********************** 投稿募集中のテーマ *********************** < ----------------------------------------------------------------------  ●「これ、おしえてっ!」で扱ってほしい問題のリクエストやその回答  ●「選択肢で勉強しよっ!」で扱ってほしい用語のリクエスト  ●「その他、試験などに関するお便り(テーマフリー)」  ハンドル名を添えて mail@shunzei.com まで送ってください!! ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  のんびりやろう!情報処理試験! 〜1問1問コツコツと〜(週3日発行) ----------------------------------------------------------------------  編集・発行:しゅんぜい mail@shunzei.com      ─ 発行部数 ─    発送:melma!   http://www.melma.com/     5,508 部       :まぐまぐ  http://www.mag2.com/     13,284 部       :めろんぱん http://www.melonpan.net/   4,538 部                           ───────  登録・解除:http://www.shunzei.com/mm/        23,330 部(total)  ○本の購入:http://books.rakuten.co.jp/itexam/  ○バックナンバー  ダウンロード: http://www.shunzei.com/mm/backnumber.html  立ち読み  : http://www.melma.com/mag/89/m00000189/index_bn.html  転載について: http://www.shunzei.com/about/disclaimer.html  広告掲載に関しては mail@shunzei.com まで、直接お願いします。 ----------------------------------------------------------------------  ○メールマガジンの購読の登録・解除は個人の責任で行ってください。   しゅんぜいは一切代行しません! ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼選択肢で勉強しよっ!の答え▼ ----------------------------------------------------------------------  (基本情報平成13年秋問53)の問題文より > プログラムの動作過程を実行順にモニタリングするデバッギングツール  (1種平成11年問67ア)の選択肢より > 誤りの箇所が特定できないときに、実行順に命令とその実行結果を出力する。  トレーサ(tracer) とは、プログラムのトレースを支援するツールです。  追跡プログラムとも呼ばれます。  命令が実行された順番、レジスタや変数の値、実行結果などを出力します。  また、特定の命令や指定した条件のときだけ、メモリの内容を出力する  トレーサをスナップショット(snapshot) と言います。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ==PR================================================================== ▼24時間いつでもどこでも本が買える!【インターネット上の本屋さん】▼  のんびりやろう!〜楽天ブックス http://books.rakuten.co.jp/itexam/ ======================================================================