thumbnail 一問一答の一歩

問題1

計画→設計→テストを一回だけで済ませるシステム設計方法

ウォーターフォールモデルが正解です

water(ウォーター)は「水」、fall(フォール)は「落ちる」という意味を持つ英単語です。
水が落ちるということは滝をイメージしやすく、滝な一本通行であることから、原則前の手順に戻らない作成方法のことを言います。
ウォーターフォールモデルは比較的規模の大きいシステムの作成で採用されることが多いです。
アジャイル開発モデルは、「計画→設計→テスト」を複数回繰り返すシステム設計方法です。インクリメンタルモデルは全体を作ってから部分を作るシステム設計方法です。

問題2

「計画→設計→テスト」を複数回繰り返すシステム設計方法

アジャイル開発モデルが正解です

Agile(アジャイル)には「俊敏な」という意味があります。「計画→設計→テスト」のサイクルを複数回繰り返すため、「計画→設計→テスト」のサイクルを一回だけで済ませるウォータ-フォ-ルモデルと比べると1サイクルのスピードは早く、変化が大きいことから俊敏であるといえます。

問題3

簡単な部分から作り,より複雑にしていくシステム設計方法

エボリューショナルモデルが正解です

Evolution(エボリューション)には「進化」という意味を持っています。
最初はシンプルな機能だけなのですが、そこから細かい機能を次第に追加することで進化させていき、完成系に近づけていくという考え方です。
ちなみに他の選択肢のウォーターフォールモデルは計画→設計→テストを一回だけで済ませるシステム設計方法です。アジャイル開発モデルは「計画→設計→テスト」を複数回繰り返すシステム設計方法です。

問題4

全体を作ってから部分を作るシステム設計方法

インクリメンタルモデルが正解です

increce(インクリ-ス)は「増加する」という意味の英単語,mentは「~の状態」という動詞を名詞化に変化させる接尾辞、alは名詞を形容詞化させる接尾辞です。
これらの意味を合わせた単語がインクリメンタルであり、「増加している」という意味を示します。
そのため、最初は実行して終了できるだけの必要最小限の機能から開始して、徐々に機能を追加していく開発の仕方を行います。
エボリューショナルモデルも最初に一通り作り,完成系に近づけていくことは共通しているのですが、こちらは機能を追加するのではなく、より複雑なものにしていくより詳細化していくのでものであるので謝りです。
また、プロトタイプモデルも言葉がややこしいですが、こちらは完成品が先にあり、それを利用者に合わせてカスタマイズする設計技法です。

問題5

製品を作成し、利用者に合わせてカスタマイズする設計技法

プロトタイプモデルが正解です

Protype(プロトタイプ)には「試作品」という意味があります。
試作品が予め存在しており、試作品を元にしてお客さん向けにカスタマイズするような仕組みにをプロトタイプモデルでは取られています。
また、他の選択肢のインクリメンタルモデルは全体を作ってから部分を作るシステム設計方法です。エボリューショナルモデルは簡単な部分から作り,より複雑にしていくシステム設計方法です

問題6

プログラム記述よりも前にテストケ-スを作成すること

テスト駆動開発が正解です

駆動とは「動力を与えて動かすこと」という意味を持っています。
そのため、テスト駆動開発はテストの内容(試験仕様書)が動力となってプログラム製造を行う事であると推測できます。 <テスト内容を元に開発を行うため、開発後のテストの効率が良くなります。
テスト駆動開発とそれ以外では具体的には以下のように作成されています。
○通な順番で常の開発

  • 1.要件定義
  • 2.基本設計書
  • 3.詳細設計書
  • 4.製造(プログラム作成)
  • 5.試験仕様書作成
  • 6.試験実施

○テスト駆動開発
  • 1.要件定義
  • 2.基本設計書
  • 3.詳細設計書
  • 4.試験仕様書作成
  • 5.製造(プログラム作成)
  • 6.試験実施

問題7

プログラムとテストを繰り返すこと

イテレーションが正解です

Iteration(イテレ-ション)は「反復」という意味を持ち、itetate(イテレイト)という「反復する」という英単語が名詞化した英単語です。
プログラムとテストを繰り返すのは主にアジャイル開発で使われる手法であり、手戻りが少ないために問題点を素早く直すことができます。
また、他の選択肢も両方とも完成したプログラムを解析することは共通していますが、やっていることが違います。インスペクタはプログラム内の数字を見ることなのでテストの手段の一つです。また、リバースエンジニアリングは解析の目的は仕組みを割り出すことなのでテストとは異なっています。

問題8

外からお見た目を変えずにプログラムを改善すること

リファクタリングが正解です

Reは「もう一度」という意味を表す接頭辞であり、Factは「事実」という意味を持つ英単語です。
Refactoringはこの2つが組み合わさった単語でです。そのためコンピュータの世界では、「事実をもう一度再定義するもの」というような意味になると私は解釈しており、そこから既に事実としてある完成品を見た目や機能はそのまま変えずにコ-ドを見やすくすることの意味として、使用されています。

問題9

一度出来上がったものを再構築すること 又は、ビシネスプロセスを根本的に見直すこと

リエンジニアリングが正解です

reは「もう一度」という意味を表す接頭辞、engneerは「技術者」という意味を表す英単語です。
リバ-スエンジニアリングはテクノロジ分野とマネジメント分野で別の意味を持つので片方しか知っていないとなると、もう一つの分野できかれたときに正答を真っ先に消しかねないので両方対応出来るようにしましょう。
また、他の選択肢のリバースエンジニアリングも言葉は似ていますがこちらは完成品を解析することで仕組みを割り出すことです。
ちなみにリファクタリングは外からお見た目を変えずにプログラムを改善することです。

問題10

要件定義の後に行われる、ユーザーのシステム要件をもとにシステムの機能を確定すること

外部設計が正解です


外部設計は基本設計と言われることもあります。
本題における外部とはユ-ザ-に見える部分のことを指します。
もう少し具体的に書くと、図をはって画面は~のように作られるや~のボタンを押すとこういう文字が表示されるというのを表記します。
また、外部設計によって作成されたものはは基本設計書と呼ばれます。
また、プログラム作成工程における設計におけるの順番及びアルファベットの略称は以下の順番になっているので余裕があれば覚えておきましょう。

  • ・要件定義(RD)
  • ・外部設計、基本設計(BD)
  • ・内部設計、詳細設計(DD)
  • ・製造(PG)

他の選択肢の概念スキ-マ設計に関してはデータベースの用語で、業務内容,データの中身を記載を整理したものです。

問題11

コンピュータをいかに効率よく動かせるかをもとにプログラムの流れを文章化した設計を行うこと

内部設計が正解です

内部設計は詳細設計と呼ばれることもあります。
本題の内部は「ユーザーに見えない部分」を意味しています。
具体的に説明すると、内部設計は外部設計が終わった後に外部設計の内容をもとにして以下の内容を文章化します。

  • どんなデ-タを使用するのか
  • プログラムではどんな処理を行うか

内部設計によって作成された文章は詳細設計書と呼ばれており、その後の製造の過程から入ってきた人が詳細設計書のみを確認してプログラムを組めるのが理想とされています。
また、新人の段階で「とりあえずフロジェクトの中身を理解して」と言われたら仕様書や詳細設計書を見るようにしましょう。