情報処理のWeb教科書―IPA情報処理試験対策のお供に!

平成20年秋のソフトウェア開発技術者 午前―過去問と解説

トップ 各試験用の問題と解説 応用情報 平成20年秋のソフトウェア開発技術者 午前

平成20年秋のソフトウェア開発技術者 午前の過去問と解説を掲載しています。

▲記事トップへ

ご利用について

このページを表示した場合、答えと解説が、表示される設定になっています。 ページ全体の答えと解説の表示、非表示は以下で、個別は各問題のところのリンクで切り替えてください。

目次

このページの目次です。

問1 基数変換

基数変換に関する記述のうち、適切なものはどれか。

【ア】 2進数の有限小数は、10進数にしても必ず有限小数になる。

【イ】 8進数の有限小数は、2進数にすると有限小数にならないこともある。

【ウ】 8進数の有限小数は、10進数にすると有限小数にならないこともある。

【エ】 10進数の有限小数は、8進数にしても必ず有限小数になる。

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問1

答えと解説

答え 【ア】

【ア】0.1(2進数)=0.5(10進数)なので必ず有限小数になります。
【イ】0.1(8進数)=0.001(2進数)なので必ず有限小数になります。
【ウ】0.1(8進数)=0.125(10進数)なので必ず有限小数になります。
【エ】0.1(10進数)≒0.6314…と循環小数になることがります。

もっと知識を深めるための参考

  • 基数

    基数とは何かと2進数、8進数、10進数、16進数、n進数の表現、2進数と10進数などの基数の変換手法、関連する情報処理試験の問題をまとめています。

  • 離散数学

    離散数学とは何か、入門知識をまとめています。情報処理試験の過去問から抜粋した問題も示しています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問2 桁落ち、丸め、情報落ち、打切りの誤差の説明

けた落ちによる誤差の説明として、適切なものはどれか。

【ア】値がほぼ等しい二つの数値の差を求めたとき、有効桁数が減ることによって発生する誤差。

【イ】指定された有効桁数で演算結果を表すために、切り捨て、切り上げ、四捨五入などで下位の桁を削除することによって発生する誤差。

【ウ】絶対値の非常に大きな数値と小さな数値の足し算や引き算を行ったとき、小さな数値が計算結果に反映されないことによって発生する誤差。

【エ】無限級数で表される数値の計算処理を有限項で打ち切ったことによって発生する誤差。

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問2

答えと解説

答え 【ア】

【ア】はけた落ちによる誤差の説明、【イ】丸め誤差、【ウ】情報落ちによる誤差の説明、【エ】打ち切り誤差の説明です。

けた落ち

はけた落ちとは、値がほぼ等しい二つの数値の差を求めたとき、有効桁数が減ることによって発生する誤差です。 英語で「cancellation of significant digits」と書きます。

絶対値のほぼ等しい数値の差を求める場合、正規化によって、有効桁数が減少してしまう現象をけた落ちといいます。

丸め誤差

丸め誤差とは、指定された有効桁数で演算結果を表すために、切り捨て、切り上げ、四捨五入などで下位の桁を削除することによって発生する誤差です。 英語で「rounding error」あるいは「round-off error」と書きます。

情報落ち

情報落ちとは、絶対値の非常に大きな数値と小さな数値の足し算や引き算を行ったとき、小さな数値が計算結果に反映されないことによって発生する誤差です。

浮動小数点表示では、指数部と仮数部に分けて計算します。 例えば1234(10は0.1234×10の4乗と表せます。

桁落ちは減算により有効数字が少なくなる際に発生する誤差で、情報落ちは加算により小さい方の仮数部の下位桁情報が失われる際の誤差です。

情報落ちの例

例としては、浮動小数点表示の仮数部が23ビットであるコンピュータで計算した場合、次の計算式は情報落ちします。

(1.01)2×218+(1.001)2×2-5

このようなことより、浮動小数点表現を使った足し算や引き算を行う場合、指数をそろえる必要があります。 絶対値が非常に大きい数と絶対値が非常に小さい数を使って足し算や引き算を行うと、どちらかの指数にあわせるため仮数部のけたが入りきれなくなり、小さい数が計算に反映されないことがあります。

打ち切り誤差

打ち切り誤差とは、無限級数で表される数値の計算処理を有限項で打ち切ったことによって発生する誤差です。

もっと知識を深めるための参考

  • 離散数学

    離散数学とは何か、入門知識をまとめています。情報処理試験の過去問から抜粋した問題も示しています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問3 接線と導関数

関数y=f'(x)上の点(x0, f(x0))における接線と x軸との交点のx座標をx1とする。 x0とx1の関係式はどれか。 ここで、f'(x)はf(x)の導関数である。

【問3】接線の方程式 ―平成20年秋期ソフトウェア開発技術者

【ア】x1=f'(x0)-f(x0)

【イ】x1=f(x0)-f'(x0)

【ウ】x1=x0-f'(x0)/f(x0)

【エ】x1=x0-f(x0)/f'(x0)

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問3

答えと解説

答え 【エ】

接線

接線とは、英語でtangentといい、曲線または曲面と一点を共有する直線のことをいいます。

接線は、曲線の変化率と傾きが等しい曲線に接する直線で、ライプニッツは接線を、曲線上の無限に近い二点を通る直線として定義しています。

導関数

導関数とは、簡単にいうとある関数の瞬間の変化率のことで、わかりやすく言うとある関数の増減を表す関数です。 英語でderivationといい、ある関数を微分して得られる関数のことをいいます。

微分

微分とは、ある関数からその関数の変化量を表す導関数を求めることをいいます。

接線の方程式

f'(x)がf(x)の導関数であるとき、f'(x0)はf(x0)の点での接線の傾きで、接線の方程式は、次の式により求められます。

y=f'(x0)(x-x0)+f(x0)

問題の解法

問題は、この接線がx軸と交わる点でy=0となる点x1を求めればよいので、

0=f'(x0)(x-x0)+f(x0)
-f(x0)=f'(x0)(x-x0)
-f(x0)=f'(x0)(x)-f'(x0)(x0)
f'(x0)(x0)-f(x0)=f'(x0)(x)

ここで、両辺をf'(x0)で割ったものが答えとなります。

もっと知識を深めるための参考

  • 応用数学

    応用数学とは何かをテーマにオリジナル教科書&情報処理試験の問題解説をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問4 確率(乱数同士の引き算)

Randam(n)は、0以上n未満の整数を一様な確率で返す関数である。 整数型の変数A、BおよびCに対して次の一連の手続きを実行したとき、Cの値が0になる確率はどれか。

A=Randam(10)
B=Randam(10)
C=A-B

【ア】 1/100     【イ】 1/20     【ウ】 1/10     【エ】 1/5

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問4

答えと解説

答え 【ウ】

AとBは独立で、10回に1回、Aの任意の値とBの値が同じになるのでCの確率は、1/10になります。

もっと知識を深めるための参考

  • 応用数学

    応用数学とは何かをテーマにオリジナル教科書&情報処理試験の問題解説をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問5 最短経路は何通りあるか(組み合わせの数の問題)

図の線上を、点Pから点Rを通って、点Qに至る最短経路は何通りあるか。

平成20年度秋 問5 最短経路―ソフトウェア開発技術者 午前

【ア】 16     【イ】 24     【ウ】 32     【エ】 60

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問5

答えと解説

答え 【エ】

最短経路は何通りか(最短経路の数を求める問題)

この問題は最短経路の数が複数あり、その経路の数は何通りあるかを求める問題です。 また条件があり、家を出て駅に行って学校に行くみたいに、ある地点を通ることが決まっている問題です。

最短経路は何通りかの問題の解き方

このような最短経路の数が何通りあるかを求める問題は組み合わせの問題の解き方を使って解きます。

組み合わせ

組み合わせとは、英語でcombinationといい、たとえば、a,b,cの3人から2人を選び出す方法は{a,b}、{b,c}、{c,a}の3通りが考えられます。 このような個々の取り出し方のことを組み合わせといいます。

組み合わせの個数はnCrで表されます。 上述の例の場合、3C2=3となります。

またn!=1・2・3・・・・n(nの階乗)とするとき、nCrは以下の式で表せます。

nCr = n!/r!(n-r)! = (n(n-1)(n-2)・・・(n-r+1))/r!

ある地点を通る問題の解き方(積の法則を使用する)

例えば、家を出て駅に行って学校にいくみたいに、駅というある地点を通る経路数が何通りあるかを求めるとします。 その場合、家から駅に行く経路の数×駅から学校に行く経路の数となります。家から駅が3通り、駅から学校が2通りだとしたら、3×2の6通りとなります。

このように途中で分岐点を通過する経路の数は分岐前の数と分岐後の数の掛け合わせで求められます。 これを積の法則といいます。

問題の解き方

この問題文の問題の場合、P-R間の経路と、R-Q間の経路の分岐点を経由した最短経路の数を求めるので組み合わせと積の法則を使用して解きます。 つまり、P-Q間の最短経路の組み合わせは、P-R間の経路の組み合わせと、R-Q間の最短経路の組み合わせの積で求めることが出来ます。

最短経路の数の組み合わせは何通りあるかの問題の計算結果

P-R間の最短経路⇒(2+2)!/2!2!=24/2×2=6通り

R-Q間の最短経路⇒(2+3)!/2!3!=120/2×6=10通り

したがって、P-Q間の最短経路は、6×10=60

もっと知識を深めるための参考

  • 順列と組み合わせ

    ある事象が何通りの起こり方があるか、場合の数の数え方には順列と組み合わせがあります。順列pと組み合わせcの違いや計算などをまとめています。

  • 応用数学

    応用数学とは何かをテーマにオリジナル教科書&情報処理試験の問題解説をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問6 パリティビットによってデータの誤りを復元できるか?

7ビットのコードと1ビットのパリティビットからなる8ビットのデータで発生した誤りに関する記述として、適切なものはどれか。

【ア】1ビットが誤っているときだけ、誤りが復元できる。

【イ】誤りが復元できるかどうかは、不明である。

【ウ】誤りを復元することは、不可能である。

【エ】奇数個のビットが誤っているときだけ、誤りが復元できる。

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問6

答えと解説

答え 【ウ】

この問題は、データの誤りに関する問題で、7ビットのコードと1ビットのパリティビットによってデータの誤りを復元できるかという問題です。

パリティチェック方式

パリティチェック方式とは、パリティビットを使用したデータの誤りを検出する方式のことをいいます。

パリティビット

パリティビットとは、英語でparity bitといい、パリティチェック方式で伝送データの1文字ごとに付加される1ビットを意味します。 冗長ビットともいい、水平方向または垂直方向の1の数の合計が偶数かまたは奇数かを表すビットになります。

パリティの意味

パリティとは、データの誤りを検出する技術の1つで2進数で表現されたデータの0または1の数が偶数個または奇数個あるかを比較することを意味する言葉です。

ビットの意味

ビットとは、0か1かの2進数の値を表現するデータを意味する言葉です。 ビットはコンピューターであつかうデータの最小単位になります。

パリティビットは誤り検出のみ

パリティビットを使用したパリティチェック方式は、列または行の1の合計が偶数か奇数かしか分からないため、誤りの訂正は行えません。 パリティビットが1ビットの場合は、その値は0か1の2通りでしかなく、誤りがあるかどうかしか検出することが出来ません。

例えば、すべてのデータビットを数えて、その数が偶数なら冗長ビット(パリティビット)を0、奇数なら1とした場合、データが0000000の時に誤って偶数個の1が紛れ込んだ場合、データの復元、誤りの検出は行えません。

もっと知識を深めるための参考

  • パリティチェック

    パリティとは何かの意味から、パリティビット、偶数および基数パリティチェックについて解説しています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問7 BNF記法

次のBNFにおいて、非終端記号<A>から生成される文字列はどれか。

【問7】BNF記法 ―平成20年秋期ソフトウェア開発技術者

【ア】123     【イ】124     【ウ】127     【エ】128

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問7

答えと解説

答え 【ア】

BNF

プログラムの形態的な構造を構文といい、構文を規定する規則を構文規則といいます。 代表的な構文記述法として、BNF記法があります。

BNF記法

BNF記法の「::=」は「左辺を右辺のように定義する」、「|」は「または」という意味です。

BNF関連用語

BNFでは以下のような用語が登場します。

  • 終端記号

    これ以上分解できない要素で、変数や文字列定数のような記号です。

  • 非終端記号

    <>で示された要素で「::=」の右辺に現れ、されに分解できる記号です。

  • 開始記号

    「::=」の左辺を開始記号といいます。

問題の解法

  1. すべての選択肢の先頭文字が1となっております。1に該当するのは<R1>とりなります。
  2. <R1>に該当するのは、<B>です。
  3. 次に2番目の数字もすべての選択肢で同じで、2となっております。 2に該当するのは<R2>です。
  4. ここまでの12に該当するのは<A>=<B><R2>のみです。
  5. 非終端記号が<A>から生成されるためには、 <A><R0>=<B><R2><R0>=<R1><R2><R0>しか該当しません。
  6. 以上より、【ア】の123が正解となります。

もっと知識を深めるための参考

  • BNF

    BNFとはどのような記法かをまとめています。情報処理のBNFとはどんなものか理解したい、意味はもちろん、記法例や問題つきで解説されていると助かるという方におすすめのコンテンツです。

  • 情報に関する理論

    情報に関する理論として、形式言語と有限オートマトンの状態遷移図などの解説や演習問題をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問8 逆ポーランド記法

逆ポーランド表記法で表された式を評価する場合、途中の結果を格納するためのスタックを用意し、式の項や演算子を左から右に順に入力し処理する。 スタックが図の状態のとき、入力が演算子となった。 このときに行われる演算はどれか。ここで、演算は中置表記法で記述するものとする。

問8】スタックと逆ポーランド記法―平成20年秋期ソフトウェア開発技術者

【ア】A 演算子 B    【イ】B 演算子 A    【ウ】C 演算子 D    【エ】D 演算子 C

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問8

答えと解説

答え 【ウ】

逆ポーランド記法

逆ポーランド記法は、演算子を演算対象の後ろに記述する記法です。

たとえば、「A+B*C」という式の場合「ABC*+」というように表します。

問題の解法

スタックは後入れ先出し法なのでD→Cと取り出される。式は左から順に入力されており、「C,D,演算子」の順に入力されているので、「C 演算子 D」の演算が行われます。

もっと知識を深めるための参考

  • 情報に関する理論

    情報に関する理論として、形式言語と有限オートマトンの状態遷移図などの解説や演習問題をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問9 B木

B木に関する記述として、適切なものはどれか。

【ア】階層の深さが同じになるように、ノードの分割と併合を行う。

【イ】キー値からある関数によって、データの格納位置を求める。

【ウ】先頭データからの順次アクセスだけが可能である。

【エ】登録簿とメンバに分かれ、メンバは順編成ファイルである。

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問9

答えと解説

答え 【ア】

B木

B木は、多分木を基にしたバランス木です。 節を複数持つことができる木構造で、階層の深さが同じになるように、ノードの分割と併合を行います。

B木はバランス多分木ともいい、枝が複数ある木構造のうち、根からすべての葉の深さが同じで、枝が一方向に偏らないような 構造の木のことをいいます。

B木は、次のような制約を持ちます。

  • 根以外はk個以上の要素を持つ
  • 各節には最大で2k個の要素が含まれる
  • 各節は要素数に1を加えた数の子を持つ
  • 根からすべての葉までの深さは等しい

もっと知識を深めるための参考

  • 木構造

    木構造の種類についてまとめています。根、葉、枝などの用語のやさしい説明から、順序木、2分木、多分木、b木、b+木、バランス木などの考え方やイメージ、計算量、ヒープ、幅優先探索など、情報処理の過去問と合わせてまとめました。

  • アルゴリズムとデータ構造

    アルゴリズムとデータ構造について、基本情報や応用情報など情報処理試験対策用の解説をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問10 木構造を表現する配列

節点の集合が{1,2,・・・,n}である木を表現するために、大きさnの整数型配列A[1],A[2],・・・A[n]を用意して、 節点A[i]に格納する。節点kが根の場合はA[k]=0とする。表に示す配列が表す木の葉の数は、幾つか。

【問10】木構造を表現する配列―平成20年秋期ソフトウェア開発技術者

【ア】1     【イ】3     【ウ】5     【エ】7

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問10

答えと解説

答え 【ウ】

木構造

木は、要素同士の階層関係を表現するための問題向きデータ構造です。

木に関する用語

木に関する用語を見ていきます。

  • 節 …木構造を図示した場合のノード部分のことをいいます。
  • 枝 …各節の上下関係のことをいいます。
  • 親 …上位の節のことをいいます。
  • 子 …下位の節を子といいます。
  • 根 …最上位の節のことをいいます。
  • 葉 …最下位の節のことをいいます。

問題の解法

各接点の親となる接点は表のA[i]により与えられているので、これに従って図を作成すると、次のようになります。

【問10】木構造を表現する配列-2―平成20年秋期ソフトウェア開発技術者

もっと知識を深めるための参考

  • アルゴリズムとデータ構造

    アルゴリズムとデータ構造について、基本情報や応用情報など情報処理試験対策用の解説をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問11 挿入ソート(単純挿入整列法)

整列済みの列の末尾から比較して、次の要素の挿入位置を決める単純挿入整列法について考える。 昇順に整列済みの大きさnのデータ列を、改めて昇順に整列する処理を行う場合の比較回数のオーダは、どれか。

【ア】n     【イ】n2     【ウ】log n     【エ】n log n

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問11

答えと解説

答え 【ア】

挿入ソート

挿入ソートは、単純挿入整列法とも呼ばれ、整列済みの要素と追加する要素を比較し ながら適切な場所に挿入するアルゴリズムです。

挿入ソートの例

文章で説明するより、例を見た方が分かりやすいです。

挿入ソート(単純挿入整列法)で昇順に並べる例)
[2][4][1][3]
⇒ [2][4][1][3] ・・・ [2]と[4]を比較、[2]の方が小さいのでそのまま
⇒ [2][1][4][3] ・・・ [4]と[1]を比較、[4]の方が大きいので入れ替え
⇒ [1][2][4][3] ・・・ [2]と[1]を比較、[2]の方が大きいので入れ替え
⇒ [1][2][4][3] ・・・ [2]と[4]を比較、[2]の方が小さいのでそのまま
⇒ [1][2][3][4] ・・・ [4]と[3]を比較、[4]の方が大きいので入れ替え

挿入ソートのオーダー

整列済みのものを整列するので入れ替えが発生しないため、n-1回の比較で整列が完了します。 なので、オーダー的にはnとなります。

もっと知識を深めるための参考

  • アルゴリズムとデータ構造

    アルゴリズムとデータ構造について、基本情報や応用情報など情報処理試験対策用の解説をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問12 線形探索法

従業員番号と氏名の対がn件格納されている表に線形探索法を用いて、与えられた従業員番号から氏名を検索する。 個の処理における平均比較回数を求める式はどれか。ここで、検索する従業員番号はランダムに出現し、探索は常に表の先頭から行う。 また、与えられた従業員番号がこの表に存在しない確率をaとする。

【問12】線形探索法―平成20年秋期ソフトウェア開発技術者

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問12

答えと解説

答え 【エ】

線形探索法

線形探索法は、先頭のデータから順に目的のデータがあるかを比較していく探索法です。 最短で1回、最長でn回、平均で(1+n)/2回の探索が行われます。

問題の解法

本問題では、従業員番号が存在しない確率aが存在します。 すべての確率は、1とすると「1=従業員番号が存在する確率(1-a)+従業員番号が存在しない確率(a)」となります。

もし従業員番号が存在しない場合はn回比較しなければならないので、式にn×aをプラスした次の式が正解となります。

【問12】線形探索法-2―平成20年秋期ソフトウェア開発技術者

もっと知識を深めるための参考

  • アルゴリズムとデータ構造

    アルゴリズムとデータ構造について、基本情報や応用情報など情報処理試験対策用の解説をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問13 再帰的アルゴリズム

次の関数g(x)の定義に従ってg(4)を再帰的に求めるとき、必要な加算の回数は幾らか。

【問13】再帰的アルゴリズム―平成20年秋期ソフトウェア開発技術者

【ア】3     【イ】4     【ウ】5     【エ】7

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問13

答えと解説

答え 【イ】

再帰のアルゴリズム

再帰的アルゴリズムは、関数の定義中にその関数自身への参照が定義中に表れるアルゴリズムです。

再帰的アルゴリズムの例

再帰的アルゴリズムの例としては、n!や自然数の定義、木構造の探索、クリックソート、マージソートのアルゴリズムなどがあります。

問題の解法

定義に従うとx<2以外のときにg(x-1)+g(x-2)の加算が行われます。 加算の式がさらに加算になっている(再帰的になっている)点に注意すると、 以下のようになります。

g(4)
⇒ x<2でないので、g(3) + g(2)が行われます。(加算)
⇒⇒g(3)
⇒⇒⇒ x<2でないので、g(2) + g(1)が行われます。(加算)
⇒⇒⇒⇒ g(2)
⇒⇒⇒⇒ ⇒ x<2でないので、g(1) + g(1)が行われます。(加算)
⇒⇒⇒⇒⇒⇒⇒⇒g(1)
⇒⇒⇒⇒⇒⇒⇒⇒⇒ x<2なので加算が行われません。
⇒⇒⇒⇒⇒⇒⇒⇒g(0)
⇒⇒⇒⇒⇒⇒⇒⇒⇒ x<2なので加算が行われません。
⇒⇒⇒⇒ g(1)
⇒⇒⇒⇒⇒ x<2なので加算が行われません。
⇒⇒g(2)
⇒⇒⇒ x<2でないので、g(1) + g(0)が行われます。(加算)
⇒⇒⇒⇒ g(1)
⇒⇒⇒⇒⇒ x<2なので加算が行われません。
⇒⇒⇒⇒ g(0)
⇒⇒⇒⇒⇒ x<2なので加算が行われません。

もっと知識を深めるための参考

  • アルゴリズムとデータ構造

    アルゴリズムとデータ構造について、基本情報や応用情報など情報処理試験対策用の解説をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問14 ユークリッドの互除法

次に示すユークリッドの互除法(方法1、方法2)で、正の整数a,bの最大公約数は、それぞれmとnのどちらの変数に求まるか。 ここで、m mod nは、mをnで割った余りを表す。

【問14】ユークリッドの互除法―平成20年秋期ソフトウェア開発技術者
 方法1  方法2 
【ア】mm
【イ】mn
【ウ】nm
【エ】nn

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問14

答えと解説

答え 【ウ】

ユークリッド互除法

ユークリッド互除法は、2つの整数の割算を繰り返して最大公約数を求める方法です。

問題の解法

この問題の場合は、単純に流れ図に沿って最大公約数がどの変数に入るか求めればよいだけです。

a=15、b=10とします。

方法1
開始
⇒ a→m, b→n なので、m=15, n=10になります。
⇒ m mod n → r なので r=5
⇒ r=0でないのでループ1に入ります。
⇒ n→m なので m=10になります。
⇒ r→n なので n=5になります。
⇒ m mod n → r なので r=0になります。
⇒ r=0 なのでループ1を抜けます。
⇒ 最大公約数はn=5となります。

方法2
開始
⇒ a→m, b→n なので、m=15, n=10になります。
⇒ 後判定なのでループ2に入ります。
⇒ m mod n → r なので r=5
⇒ n→m なので m=10になります。
⇒ r→n なので n=5になります。
⇒ r=0でないのでもう一度ループします。
⇒ m mod n → r なので r=0
⇒ n→m なので m=5になります。
⇒ r→n なので n=0になります。
⇒ r=0 なのでループ2を抜けます。
⇒ 最大公約数はm=5となります。

もっと知識を深めるための参考

  • アルゴリズムとデータ構造

    アルゴリズムとデータ構造について、基本情報や応用情報など情報処理試験対策用の解説をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問15 流れ図

変数xの初期値がある正の整数であるとき、次の流れ図で表される手続きを実行したところ、 xの値はxの初期値と等しくなり終了した。xの初期値として考えられるものは全部で幾つあるか。

【問15】流れ図―平成20年秋期ソフトウェア開発技術者

【ア】1     【イ】2     【ウ】3     【エ】4

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問15

答えと解説

答え 【ウ】

流れ図

流れ図とは、フローチャートともいわれ、データの流れや問題解決の手順(アリゴリズム)を表す図のことをいいます。

問題の解法

x > 90 の場合にx-90が初期値の90になるのは180のみです。

また、x > 90 のフローに入る時点で180にならなければ初期値と同じになることはありません。

x ≦ 90 の場合にx=180になるのは、2x → x=180 および 2(2x → x) → x=180 の2通りなので 初期値と同じになるのは、x=45,90,180の3つになります。

もっと知識を深めるための参考

  • アルゴリズムとデータ構造

    アルゴリズムとデータ構造について、基本情報や応用情報など情報処理試験対策用の解説をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問16 NAND素子

NAND素子を用いた次の組み合わせ回路の出力Zを表す式はどれか。 ここで、・は論理積、+は論理和、XはXの否定を表す。

【問16】NAND素子―平成20年秋期ソフトウェア開発技術者

【ア】X・Y   【イ】X+Y   【ウ】X・Y   【エ】X+Y

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問16

答えと解説

答え 【イ】

NAND回路

NAND回路は、NOT ANDの略で、読み方はナンドです。AND回路の出力を反転したものが出力さる回路になります。

問題の解法

真理値表は以下となります。

XYX'Y'Z
00110
01101
10011
11001

もっと知識を深めるための参考

  • NAND回路

    NAND回路とは、NOT ANDの略で、読み方はナンド、論理積の否定を行う回路になります。NANDとは何かから真理値表、論理式など、NAND回路とは何かの解説をまとめています。

  • プロセッサ

    プロセッサとは、CPUとの違いはMPUなども含む装置の総称です。CPU、MPU(マイクロプロセッサ)など処理装置の総称のことをいいます。プロセッサについての技術知識をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問17 VLIW

VLIWに関する記述として、適切なものはどれか。

【ア】同時に複数の命令が独立して実行され、どの命令が同時に実行されるのかは、ハードウェア制御で動的に決定される。

【イ】パイプラインの段数を増やすことで、高い周波数での動作を可能とし、]処理を高速化する。

【ウ】一つの命令語で複数の命令を同時に実行する。

【エ】命令を処理するためのフェッチ、デコード、実行などの段数を、それぞれ並列的に処理する。

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問17

答えと解説

答え 【ウ】

VLIW

VLIWとは、Very Long Instruction Wordの略で、 CPUの命令セットの中で、 同時に実行しても互いに影響をしない複数の命令を組み合わせ、 一つの長い命令語とすることで、 並列実行におけるパイプラインの効率化を図るCPU高速化手法です。

命令語を長く取り、一つの命令で複数の機能ユニットを同時に制御することによって高速化を図る方式です。

過去問の解き方

本過去問は、プロセッサの代表的な高速化技術の種類、特徴についておさえているかを問う問題です。

上記のVLIMの説明から「一つの命令語で複数の命令を同時に実行する。」が選べます。

もっと知識を深めるための参考

  • プロセッサ

    プロセッサとは、CPUとの違いはMPUなども含む装置の総称です。CPU、MPU(マイクロプロセッサ)など処理装置の総称のことをいいます。プロセッサについての技術知識をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問18 クロック周波数と平均CPI(Cycles Per Instruction)

表のクロック周波数と平均CPI(Cycles Per Instruction)の組み合わせのうち、 同一命令数のプログラムを処理する時間が最も短いのはどれか。

クロック周波数(GHz)平均CPI
【ア】2.07
【イ】2.58
【ウ】3.010
【エ】3.512

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問18

答えと解説

答え 【イ】

クロック周波数

クロック周波数とは、コンピュータの動作を制御するための基準信号の周波数で、Hz(ヘルツ)という単位を使います。 1Hzは1秒間の周波数が1のことを表します。なお、1機械語命令あたりのクロック数のことをCPIといいます。

CPI(Clocks Per Instruction)

CPIとは、Clocks Per Instruction または Clocks cycles Per Instructionの略で、 CPUが処理する命令の1命令あたりの平均クロック数を表す指標(統計情報)です。

クロック周波数をCPIで割った値が一番大きいものが答えになります。

問題の解法

計算結果を以下に示します。

クロック周波数(GHz)平均CPI
【ア】2.070.2857
【イ】2.580.3125
【ウ】3.0103.0000
【エ】3.5120.2917

もっと知識を深めるための参考

  • プロセッサの性能

    プロセッサの性能は、内部時計の速さや、単位時間に実行できる命令数などで表されます。 プロセッサの性能に関連するクロック周波数、MIPS(Million Instruction Per Second)、CPI(Cycles Per Instruction)などの意味、関係式をまとめています。

  • プロセッサ

    プロセッサとは、CPUとの違いはMPUなども含む装置の総称です。CPU、MPU(マイクロプロセッサ)など処理装置の総称のことをいいます。プロセッサについての技術知識をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問19 キャッシュメモリの書き込み制御(ライトバック方式)

キャッシュメモリの書き込み制御方式の一つであるライトバック方式の特徴はどれか。

【ア】キャッシュメモリからデータを追い出すとき、主記憶を更新する必要がない。

【イ】キャッシュメモリのデータとそれに対応する主記憶のデータとの間で不一致が生じない。

【ウ】データを書き込むとき、キャッシュメモリにあるかどうかに関わらず、主記憶に書き込む。

【エ】同一番地に繰り返して書き込む場合は、主記憶へのアクセス回数が少なくて済む。

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問19

答えと解説

答え 【エ】

ライトバック方式

ライトバック方式とは、CPUが記憶装置にデータを書き込む前に キャッシュメモリ(CPUと記憶装置の間で記録を一時的に保管するメモリ)にいったんデータを書き込み、 処理の空き時間ができてからキャッシュメモリから主記憶に書き込む方式です。

ライトバック方式では、同一番地に繰り返して書き込む場合、キャッシュあふれが発生せず、 キャッシュメモリにのみアクセスを行うため、主記憶へのアクセス回数は少なくなります。 このため、同一番地に繰り返して書き込む場合は、主記憶へのアクセス回数が少なくて済みます。

もっと知識を深めるための参考

  • メモリ

    フラッシュメモリなどのメモリの種類やキャッシュメモリのライトバック方式、セットアソシアティブ方式、メモリのアクセス方式であるメモリインタリーブ方式、などメモリの知識をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問20 磁気ディスクのアクセス時間の計算

回転速度が5,000回転/分、平均シーク時間が20ミリ秒の磁気ディスクがある。 この磁気ディスクの1トラック当たりの記憶容量は、15,000バイトである。 このとき、1ブロックが4,000バイトのデータを、1ブロック転送するために必要な平均アクセス時間は何ミリ秒か。

【ア】27.6     【イ】29.2     【ウ】33.6     【エ】35.2

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問20

答えと解説

答え 【イ】

磁気ディスクのアクセス時間の計算式

磁気ディスクのアクセス時間は、以下の計算式で求めます。

アクセス時間=平均シーク時間+平均回転待ち時間+データ÷データ転送速度

問題の解法

①平均シーク時間=20ミリ秒

②平均回転待ち時間=(60秒×1000ミリ秒÷5000回転)÷2=6ミリ秒

③データ転送速度=15,000÷(60,000÷5,000)=1,250ミリ秒

④データ=4,000バイト

磁気ディスクのアクセス時間の計算式に①~④を当てはめて、

アクセス時間=20+6+4,000÷1,250=26+3.2=29.2ミリ秒

もっと知識を深めるための参考

  • デバイス

    デバイスとはをテーマに、デバイスの英語の意味やバス、入出力インタフェース、デバイスドライバ、入出力装置の知識をまとめました。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問21 MIDI、MP3、PCMなど音声関連の知識

音のディジタル化する方法の一つで、音程、音の長さ、音の強弱、音色などを情報として規定しているものはどれか。

【ア】Audio Codec '97    【イ】MIDI    【ウ】MP3    【エ】PCM

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問21

答えと解説

答え 【イ】

  • 【ア】Audio Codec '97は、マザーボード上にサウンド機能を実現するための規格です。
  • 【イ】MIDIは、音程、音の長さ、音の強弱、音色などを情報として規定しています。
  • 【ウ】MP3は、音声圧縮の規格です。
  • 【エ】PCMは、音声のアナログ信号をディジタル信号に変換する方式の一つです。

音のディジタル化する方法の一つで、音程、音の長さ、音の強弱、音色などを情報として規定しているものはMIDIになります。

Audio Codec '97

Audio Codec '97は、マザーボード上にサウンド機能を実現するための規格です。読み方はエーシーきゅうじゅうななです。

MIDI

MIDIとは、シンセサイザーを搭載する電子楽器の演奏情報のデータ形式、プロトコル、物理的インターフェイスの規格です。 日本のMIDI規格協議会と国際団体のMMAにより策定され、電子楽器の演奏データを機器間でデジタル転送するための世界共通規格です。

MIDIの読み方

MIDIの読み方は一般的に「ミディ」といいます。

MIDIファイル

MIDIのデータフォーマットで保存されたファイルのことをMIDIファイルといいます。拡張子は「.mid」です。

MP3

MP3とは、音声圧縮規格のひとつです。CDに並みの音質を保ちながら、大幅に容量を圧縮できます。 容量が小さくできるので、インターネットでの配信や、携帯音楽プレーヤーの再生フォーマットとして普及しました。

MIDIファイルからMP3への変換

MIDIファイルからMP3への変換するには、専用ソフトが必要です。 iTunesなどのソフトで変換できます。

PCM

PCMとは、Pulse Code Modulationの略で、パルス符号変調のことで、アナログ音声信号をディジタル化する技術です。 適切な間隔でサンプリングし、その結果を量子化します。

ADPCM

PCMの改良版に、ADPCMがあります。 ADPCMは、adaptive differential pulse code modulationの略で、過去に復号された信号標本と現在の信号標本との差分信号を符号化する差分パルス符号変調(DPCM、差分PCM)を改良し、量子化幅を適応的に変化させます。 PCMと同様に実時間で圧縮記録、展開が行え、かつ整数演算のみで高性能な制御回路も必要としない為、様々な音声装置に採用されている方式です。

もっと知識を深めるための参考

  • 音声処理

    アナログな音声は標本化⇒量子化⇒符号化の処理によりデジタル化されます。 ここでは音声処理をテーマに音声データのディジタル化の原理、音声ファイルの仕組み、代表的な音声ファイル形式の特徴をまとめています。

  • マルチメディア

    マルチメディアとは?複合媒体。意味や技術・応用など。マルチメディアにつてまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問22 プラズマディスプレイパネル(PDP:Plasma Display Panel)

プラズマディスプレイパネルの発行方式の説明として、適切なものはどれか。

【ア】ガス放電に伴う発光を利用する。

【イ】画面の各ドットを薄膜トランジスタで制御し、光の透過率を変化させる。

【ウ】電圧を加えると発行する有機化合物を用いている。

【エ】電子銃から電子ビームを発射し、蛍光体に当てて発光させる。

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問22

答えと解説

答え 【ア】

プラズマディスプレイパネル

プラズマディスプレイパネルは、2枚のガラスの間でガス放電をさせ、 ガラスに塗布した蛍光材を発行させる仕組みのディスプレイです。

もっと知識を深めるための参考

  • ディスプレイ装置

    ディスプレイ装置は、モニターとも呼ばれますが、コンピュータなどの機器から出力される映像を表示する出力装置です。ディスプレイ装置についてまとめています。

  • デバイス

    デバイスとはをテーマに、デバイスの英語の意味やバス、入出力インタフェース、デバイスドライバ、入出力装置の知識をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問23 ページ置換えアルゴリズム

仮想記憶管理における主記憶のページ枠が4のとき、プログラムが参照するページ番号によって、次のようにページを置き換える方式はどれか。

【問23】ページ置換えアルゴリズム―平成20年秋期ソフトウェア開発技術者

【ア】FIFO(First In First Out)

【イ】LFU(Least Frequently Used)

【ウ】LIFO(Last In First Out)

【エ】LRU(Least Recently Used)

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問23

答えと解説

答え 【ア】

OSの記憶管理の機能

まず初めにOSの記憶管理の機能について簡単に見ていきます。

仮想記憶方式

仮想記憶は、主記憶の不足を補う記憶装置です。 仮想記憶方式では、プログラムの実行中、主記憶領域に存在しないページが参照されると、ページフォルトという入出力を伴うプログラムの割り込みをきっかけに、必要なページを主記憶領域にロードするページインが行われます。

ページング

仮想記憶から主記憶にページを読み込むことをページイン、主記憶から仮想記憶にページを書き出すことをページアウトといいます。このページインとページアウトをまとめてページングといいます。

ページ置換アルゴリズム

ページ置換アルゴリズムは、ページアウトの対象となるページを選択するアルゴリズムです。アルゴリズムにはLRUアルゴリズムとFIFOアルゴリズムがあります。

LRUアルゴリズムは、使用後の経過時間が最長のページを置換対象とするページ置換アルゴリズムです。

FIFOアルゴリズムは、先入れ先出し方式です。先にページインしたページから先に追い出します。

問題の解法

問題の図では、1~4までは順番に挿入され、5で一番最初に挿入されたものが取り出されており、FIFOとなっています。

もっと知識を深めるための参考

  • 仮想記憶管理

    スワッピングに使用されるページングファイルについて触れながら、実記憶と仮想記憶の関係や仮想記憶方式の種類と特徴、動的アドレス変換の仕組みを説明していきます。 ページングファイルの作成、設定例、ページング方式のLRUやFIFOの代表的なページ置換えアルゴリズムについてページ置換え手順の例など、具体的な内容もまとめています。

  • オペレーティングシステム

    オペレーティングシステムとは、OSのことですが、種類と特徴、機能、タスク管理などOSとはどのようなものかついてまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問24 スケジューリング方式(プリエンプティブとノンプリエンプティブ)

スケジューリング方式をプリエンプティブな処理とノンプリエンプティブな処理に区分するとき、適切に分類されている組み合わせはどれか。

プリエンプティブノンプリエンプティブ
【ア】処理時間順残り処理時間順
【イ】到着順処理時間順
【ウ】残り処理時間順ラウンドロビン
【エ】ラウンドロビン到着順

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問24

答えと解説

答え 【エ】

プリエンプティブ方式

プリエンプティブ方式とは、実行中のタスクを終了させることなく、別のタスクに切り替えて実行する方式です。 タスクを順繰りに割り振っていきます。この方式をラウンドロビンといいます。

ノンプリエンプティブ方式

ノンプリエンプティブ方式とはは、一つのタスクの実行が終了するまで、別のタスクに切り替えることなく実行する方式です。 プロセスの実行順序は実行可能状態になった順番に処理されるため到着順になります。

もっと知識を広げるための参考

  • タスク管理

    マルチタスク、プリエンティブの意味、OSのタスク管理の機能に関連した多重(マルチ)プログラミング(マルチタスク)とスケジューリングに関連したタスクを切り替える方式やスケジューリング方式についてまとめています。

  • オペレーティングシステム

    オペレーティングシステムとは、OSのことですが、種類と特徴、機能、タスク管理などOSとはどのようなものかついてまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問25 デッドロック

二つのタスクが共用する二つの資源を排他的に使用するとき、デッドロックが発生するおそれがある。 このデッドロックの発生を防ぐ方法はどれか。

【ア】一方のタスクの優先度を高くする。

【イ】資源獲得の順序を両方のタスクで同じにする。

【ウ】資源獲得の順序を両方のタスクで逆にする。

【エ】両方のタスクの優先度を同じにする。

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問25

答えと解説

答え 【エ】

デッドロック

デッドロックとは、複数のタスクが共通の資源をロックして使用するとき、互いに資源が解放されるのを待って、処理が停止状態になることです。 デッドロックには、読み取り時に使用する共有ロックと、変更時に用いる占有ロックがあります。

デッドロックの発生を防ぐ方法

デッドロックの発生を防ぐには、資源獲得の順序を両方のタスクで同じにします。 順序が同じであれば、先のタスクが資源を獲得しているときは後のタスクはその資源を獲得することができないので、デッドロックは発生しません。

もっと知識を広げるための参考

  • 排他制御

    排他制御とは、英語でexclusive controlといいます。デットロックなど、具体例を用いてデータベースの排他制御について解説しています。

  • トランザクション処理

    トランザクションとは、利用者から見たデータベースに対する処理の単位です。 利用者からみた場合は1つのデータベース更新処理ですが、データベースから見れば複数の利用者からの処理依頼があり、 データベースの更新を矛盾なく行う必要があります。 データベースにおけるトランザクションの意味、ACID特性などの解説をまとめています。

  • データベース

    データベースの方式、設計、データ操作、トランザクション処理、応用など。データベース関連のオリジナルテキストと情報処理試験の過去問もまとめています。

  • テクノロジ系

    テクノロジ系の分野のサイトオリジナル教科書です。テクノロジ系の各分野の解説と情報処理の過去問をマッピングしています。

問26 主記憶割当てのアルゴリズム(最初適合方式)

主記憶割当てのアルゴリズムが最初適合(first fit)である可変区画方式において、次の条件で領域を要求した場合、割り当てた後の空き領域のリストはどのようになるか。 ここで、領域の大きさの単位はkバイトである。

〔条件〕
(1) 現在の空き領域のリストは200、100、160、140、130である。
(2) 要求する大きさは、順に90、130、140、100である。
(3) 要求する大きさを上回る空き領域を確保したときは、余った領域を、リストの最後に追加する。
(4) その他の条件は考慮しないものとする。

【ア】100、110、30  【イ】130、110、30  【ウ】160、110  【エ】200、10、60

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問26

答えと解説

答え 【イ】

最初適合方式(ファーストフィット:first fit)

最初適合方式とは、first fit(ファーストフ ィット)方式ともいい、十分な大きさの空き領域を検出するまでリストを走査する方式です。

問題の解法

順にシミュレーションします。

【問26】主記憶割当てのアルゴリズム(最初適合方式)―平成20年秋期ソフトウェア開発技術者

もっと知識を深めるための参考

  • オペレーティングシステム

    オペレーティングシステムとは、OSのことですが、種類と特徴、機能、タスク管理などOSとはどのようなものかついてまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問27 OSの記憶管理機能

OSの記憶管理機能a~cに対する適切な用語の組合せはどれか。

機能 特徴
a あらかじめプログラムをいくつかの単位に分けて補助記憶に格納しておき、プログラムの指定に基づいて主記憶に読み込む。
b 主記憶とプログラムを固定長の単位に分割し、効率よく管理する。 これによって、少ない主記憶で大きなプログラムの実行を可能にする。
c プログラムを一時的に停止させ、使用中の主記憶の内容を補助記憶に退避する。 再開時には、退避した内容を主記憶に再ロードし、元の状態に戻す。
abc
【ア】オーバレイページングスワッピング
【イ】スワッピングオーバレイページング
【ウ】スワッピングページングオーバレイ
【エ】ページングオーバレイスワッピング

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問27

答えと解説

答え 【イ】

OSの記憶管理の機能と特徴

OSの記憶管理の機能と特徴は以下のようになります。

オーバレイ

あらかじめプログラムをいくつかの単位に分けて補助記憶に格納しておき、プログラムの指定に基づいて主記憶に読み込みます。

ページング

主記憶とプログラムを固定長の単位に分割し、効率よく管理します。 これによって、少ない主記憶で大きなプログラムの実行を可能にします。

スワッピング

プログラムを一時的に停止させ、使用中の主記憶の内容を補助記憶に退避します。 再開時には、退避した内容を主記憶に再ロードし、元の状態に戻します。

もっと知識を深めるための参考

  • オペレーティングシステム

    オペレーティングシステムとは、OSのことですが、種類と特徴、機能、タスク管理などOSとはどのようなものかついてまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問28 マイクロカーネルアーキテクチャを採用したOSの特徴

マイクロカーネルアーキテクチャを採用したOSの特徴として、適切なものはどれか。

【ア】OSが、最小限の機能を持つ中核部分と、それ以外のサブシステムからなる。

【イ】OS全体が単一スレッドとして構成されている。

【ウ】OS内のモジュール間の依存関係が複雑に構成されている。

【エ】OSの基本的な部分がマイクロプログラムの組合せで構成されている。

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問28

答えと解説

答え 【ア】

マイクロカーネル

マイクロカーネルとは、オペレーティングシステムの設計思想、OSのカーネル部のことをいいます。 マイクロカーネルアーキテクチャを採用したOSは、最小限の機能を持つ中核部分と、それ以外のサブシステムから構成されます。

マイクロとカーネルの意味

マイクロは英語のmicroです。意味は微小なことです。 カーネルは英語のkernelです。意味は果実の芯、種、転じて核心、要点、核を意味する言葉です。 IT用語ではOSの中核部分のことをいいます。

マイクロカーネルの意味

マイクロカーネルはマイクロとカーネルを語源にした用語で、受け持つ処理を限定し、基本的な処理のみを行うようなカーネルのことです。

マイクロカーネルの機能と特徴

有名なものにMachカーネルがあります。それ以前のカーネルはモノリシックカーネルといいますが、基本的な処理以外に、APIやファイル管理システムとしても機能していました。

マイクロカーネルでは、カーネル空間で提供される機能を、メモリ空間の仮想化、プロセス制御、プロセス間通信に限定し、割り込みなども全て通信にマップします。 そしてファイルシステムやデバイスドライバといった準カーネル機能をそれらのアプリケーションとして実装し、ユーザー空間で動作させます。 またそれらの機能セットをサーバと呼ばれる単位で複数動作させます。

マイクロカーネルを採用することでこれらの機能を分散し、カーネル本来の基本処理を高速に行えます。 また、各種機能の変更や実装が容易に行える柔軟性も備えています。

もっと知識を深めるための参考

  • OSの機能と構成

    カーネルの解説からマイクロカーネルのアーキテクチャなど、OSの機能と構成についてまとめています。

  • オペレーティングシステム

    オペレーティングシステムとは、OSのことですが、種類と特徴、機能、タスク管理などOSとはどのようなものかついてまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問29 クライアントサーバシステム

クライアントサーバシステムにおいて、各クライアントから直接データベースサーバへ接続するアーキテクチャはどれか。

【ア】2層     【イ】2層と3層     【エ】3層     【エ】4層

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問29

答えと解説

答え 【ア】

2層クライアントサーバシステム

2層クライアントサーバシステムとは、クライアントとサーバで構成されるシステムのことをいいます。 クライアントから直接データベースサーバへ接続するのは2層クライアントサーバシステムです。

3層クライアントサーバシステム

3層クライアントサーバシステムは、クライアントサーバ型のアプリケーションを論理的な3つのモジュールに分けたシステムのことをいいます。 2層と比較すると3層クライアントサーバシステムは間にアプリケーション層が入ります。

もっと知識を深めるための参考

  • クライアントサーバシステム

    クライアントサーバシステムには、2層クライアントサーバシステム、3層クライアントサーバシステムなどがあります。 RPCやストアドプロシージャなどの関連技術が使われています。クライアントサーバシステムをテーマに特徴から3層モデルについてまとめています。

  • システムの構成

    3層クライアントサーバシステム、RAID5のパリティ、Web、クラウドなどシステムの要素、全般的な知識をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問30 待ち行列理論

M/M/1待ち行列モデルを用いて、二つのネットワークを接続するゲートウェイの1方向のデータ転送を考える。 1秒間にゲートウェイ内で転送処理できるパケット数が150、ゲートウェイに到着するパケット数が120とすると、各パケットのゲートウェイ内平均待ち時間(処理時間を含まない)は何ミリ秒か。

【ア】8.3     【イ】21.3     【ウ】26.7     【エ】33.3

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問30

答えと解説

答え 【ウ】

待ち行列とは

待ち行列とは、「順番待ちをしている人々の列」のことです。 待ち行列の発生要因を数値モデル化したものを待ち行列モデルといいます。

詳細

待ち時間の式

待ち時間は以下の式で表すことができます。

待ち時間=ρ/(μ-λ)

問題の解法

待ち時間=ρ/(μ-λ)=0.8/(150-120)=0.0266…秒(≒26.7ミリ秒)

  • 利用率(ρ:ロー)=λ/μ=120/150=0.8
  • 平均処理率(μ:ミュー)=1秒間にゲートウェイ内で転送処理できるパケット数(150)
  • 平均到着率(λ:ラムダ)=1秒間にゲートウェイに到着するパケット数(120)

もっと知識を深めるための参考

  • 待ち行列

    M/M/1の待ち行列モデルと公式など待ち行列とは何かの説明と問題・例題をまとめています。

  • 応用数学

    応用数学とは何かをテーマにオリジナル教科書&情報処理試験の問題解説をまとめています。

  • ネットワーク

    通信プロトコル、osi基本参照モデル7階層の覚え方などネットワーク関連の知識をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問31 スループット

スループットの説明として、適切なものはどれか。

【ア】ジョブがシステムに投入されてからその結果が完全に得られるまでの経過時間のことであり、入出力の速度やオーバヘッド時間などに影響される。

【イ】ジョブの稼働率のことであり、“ジョブの稼働時間÷運用時間”で求められる。

【ウ】ジョブの同時実行可能数のことであり、使用されるシステムの資源によって上限が決まる。

【エ】単位時間当たりのジョブの処理件数のことであり、スプーリングはスループットの向上に役立つ。

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問31

答えと解説

答え 【エ】

スループット

スループットとは、単位時間当たりのジョブの処理件数のことであり、コンピュータ・システムが一定時間内に処理する仕事量を指します。

また、コンピュータ・システムの処理能力を測定する評価指標の一つです。 多重プログラミングやスプーリングなどによってスループットを向上することが出来ます。

もっと知識を深めるための参考

  • システムの評価指標

    システムの性能評価でしようするスループットや信頼性評価で使用する稼働率の計算方法など、システムの評価指標につてまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問32 ページング方式の仮想記憶

ページング方式の仮想記憶に置いて、主記憶への1回のアクセス時間が300ナノ秒で、主記憶アクセス100万回に1回の割合でページフォルトが発生し、ページフォルト1回当たり200ミリ秒のオーバヘッドを伴うコンピュータがある。 主記憶の平均アクセス時間を短縮させる改善策を、効果の高い順に並べたものはどれか。

〔改善策〕

a 主記憶の1回のアクセス時間はそのままで、ページフォルト発生時の1回あたりのオーバーヘッド時間を1/5に短縮する。

b 主記憶の1回のアクセス時間を1/4に短縮する。 ただし、ページフォルトの発生率は1.2倍になる。

c 主記憶の1回のアクセス時間を1/3に短縮する。 この場合、ページフォルトの発生率は変化しない。

【ア】a,b,c     【イ】a,c,b     【ウ】b,a,c     【エ】c,b,a

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問32

答えと解説

答え 【エ】

仮想記憶管理

仮想記憶は、主記憶の不足を補う記憶装置です。 仮想記憶方式では、プログラムの実行中、主記憶領域に存在しないページが参照されると、ページフォルトという入出力を伴うプログラムの割り込みをきっかけに、必要なページを主記憶領域にロードするページインが行われます。

ページング

仮想記憶から主記憶にページを読み込むことをページイン、主記憶から仮想記憶にページを書き出すことをページアウトといいます。 このページインとページアウトをまとめてページングといいます。

ページングは、主記憶とプログラムを固定長の単位に分割し、効率よく管理します。 これによって、少ない主記憶で大きなプログラムの実行を可能にします。

問題の解法

改善策ごとの主記憶へのアクセス時間を計算します。

a 300ナノ秒+(200ミリ秒×1/5×1,000,000ミリ秒)×(1/1,000,000)=340ナノ秒

b 300ナノ秒×1/4+(200ミリ秒×1,000,000ミリ秒)×(1.2/1,000,000)=315ナノ秒

c 300ナノ秒×1/3+(200ミリ秒×1,000,000ミリ秒)×(1/1,000,000)=300ナノ秒

もっと知識を深めるための参考

  • 仮想記憶管理

    スワッピングに使用されるページングファイルについて触れながら、実記憶と仮想記憶の関係や仮想記憶方式の種類と特徴、動的アドレス変換の仕組みを説明していきます。 ページングファイルの作成、設定例、ページング方式のLRUやFIFOの代表的なページ置換えアルゴリズムについてページ置換え手順の例など、具体的な内容もまとめています。

  • オペレーティングシステム

    オペレーティングシステムとは、OSのことですが、種類と特徴、機能、タスク管理などOSとはどのようなものかついてまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問33 複数システムの稼働率の計算

稼働率の等しい装置を直列や並列に組み合わせたとき、システム全体の稼働率の高い順に並べたものはどれか。 ここで、個々の装置の稼働率は0より大きく1未満である。

【問33】システムの稼働率―平成20年秋期ソフトウェア開発技術者

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問33

答えと解説

答え 【イ】

稼働率

稼働率とは、ある期間中にシステムが稼働している率を意味する用語です。

稼働率の計算式

稼働率の計算式は以下です。

稼働率=MTBF/(MTBF-MTTR)

MTBFとMTTRは、稼働率が0.5のときに等しくなります。 上記はシステム単体の稼働率で、今回の問題は複数システムの稼働率になりますのでMTBFとMTTRの説明は省略します。

複数システムの稼働率の計算方法

例えば、並列につながれた同じ装置の稼働率は1-(1-a)2、直列につながれた装置はa×aで計算されます。

稼働率の計算方法をまとめると次のようになります。

直列の場合の稼働率の計算方法

以下は、直列の場合の稼働率の公式です。

公式1直列接続
公式1 直列接続
並列の場合の稼働率の計算方法

以下は、並列の場合の稼働率の公式です。

公式2並列接続
公式2 並列接続

並列につながれた装置の稼働率は1-(1-a)2、直列につながれた装置はa×aで計算されます。

問題の解法

装置の稼働率(a)が0.9とすると、A、B、Cの稼働率は次のようになります。

Aの稼働率―平成20年秋期ソフトウェア開発技術者【問33】

0.9×0.9=0.81

Bの稼働率―平成20年秋期ソフトウェア開発技術者【問33】

0.9×(1-(1-0.9)2)=0.9×0.99=0.891

Cの稼働率―平成20年秋期ソフトウェア開発技術者【問33】

1-(1-(1-0.9)22=1-0.992=0.96

もっと知識を深めるための参考

  • システムの評価指標

    システムの性能評価でしようするスループットや信頼性評価で使用する稼働率の計算方法など、システムの評価指標につてまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問34 MTBRとMTTR

システムの稼働モデルが図のように表されるとき、システムのMTBFとMTTRを表した式はどれか。 ここで、tiはシステムの稼働時間、riはシステムの修理時間を表すものとする(i=1、2、…、n)。

【問34】MTBRとMTTR―平成20年秋期ソフトウェア開発技術者

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問34

答えと解説

答え 【イ】

MTBF

MTBFは、平均故障間隔です。正常に稼働している平均時間を意味します。

MTBFの計算式

システムの稼働時間をtiとした場合、MTBFの計算式は以下です。

平均故障間隔(MTBF)=1/n・Σti

MTTR

MTTRは、平均修理時間です。故障時に正常稼働するまでにかかる平均時間を意味します。

MTTRの計算式

システムの修理時間をriとした場合、MTTRを表した式は以下です。

平均修理時間(MTTR)=1/n・Σri

もっと知識を深めるための参考

  • システムの評価指標

    システムの性能評価でしようするスループットや信頼性評価で使用する稼働率の計算方法など、システムの評価指標につてまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問35 フォールトトレラントなど信頼性設計の考え方

システムの信頼性設計に関する記述のうち、適切なものはどれか。

【ア】フェールセーフとは、ユーザの誤操作によってシステムがダウンしてしまうことのないように、単純なミスを発生させないようにする設計方法である。

【イ】フェールソフトとは、故障が発生した場合でも機能を縮退させることなく稼働を継続する概念である。

【ウ】フォールトアボイダンスとは、システム構成要素の個々の品質を高めて故障が発生しないようにする概念である。

【エ】フォールトトレランスとは、故障が生じてもシステムに重大な影響が出ないように、あらかじめ定められた安全状態にシステムを固定し、全体として安全が維持されるような設計方法である。

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問35

答えと解説

答え 【ウ】

問題の解法

この問題はフォールトトレラントなど、システムの信頼性設計に関する考え方について正しく理解しているかを問う問題です。

【ア】フェールセーフ

選択肢の記述は正しくないです。 フェールセーフとは、故障が発生したときにあらかじめ決められた安定状態に機能を固定し、故障の影響範囲を限定するという考え方です。

【イ】フェールソフト

選択肢の記述は正しくないです。 フェールソフトとは、故障が発生したときに故障個所を切り離し、性能が低下してもシステムの稼働を維持するという考え方です。

【ウ】フォールトアボイダンス

選択肢の記述は正しいです。 フォールトアボイダンスとは、システム構成要素に故障しにくいものを選び、システム全体の動作を正常に行うように設計することです。 システム構成要素の個々の品質を高めて故障が発生しないようにします。

【エ】フォールトトレランス

選択肢の記述は正しくないです。 フォールトトレランスとは、ハードウェアやソフトウェアの一部に障害が発生しても、あらかじめ定められた状態を維持する能力です。

信頼性設計の考え方

システム障害の影響を最小限に抑えるフォールトトレラントなど、信頼性設計に関する考え方についてまとめます。

フォールトアボイダンス

フォールトアボイダンスとは、システム構成要素に故障しにくいものを選び、システム全体の動作を正常に行うように設計することです。 システム構成要素の個々の品質を高めて故障が発生しないようにします。 システムを構成する個々の部品に信頼性の高い部品を使用したり、バグの少ないソフトウェアを開発したりして、信頼性の高いシステムを構築して故障が発生しないようにする考え方です。

フォールトトレランス

フォールトトレランスとは、ハードウェアやソフトウェアの一部に障害が発生しても、あらかじめ定められた状態を維持する能力です。 対障害性を意味し、システムに異常をきたしても正しく動作し続けるように信頼性を高めた設計です。 システムの一部に障害が発生しても、システム全体は動作できるように、システムを構成する重要部品を多重化します。

フェールセーフ

フェールセーフとは、英語でfail safeといい、機械やシステムが壊れたり、故障したりしても機械やシステムの振る舞いが人間に害を及ぼさないように(設計・作成)するという考え方です。

たとえば、異常動作の信号を検知したときは、自動的に停止するなど、コンピュータシステムに障害が発生したとき、被害を最小限に食い止めて安全を保つ機能で、あらかじめ設定した、より安全な状態の方へシステムをダウンさせる対策をとります。 このようにフェールセーフは、故障や誤動作が発生した場合、その被害を最低限に抑え、ほかの正常な部分に影響が及ばぬよう、あらかじめ定められた安全側に働くようにして危機を回避し、全体として安全を保つようにします。

フェールソフト

フェールソフトとは、故障が発生したときに故障個所を切り離し、性能が低下してもシステムの稼働を維持するという考え方です。 異常が発生したとき故障や誤動作をする箇所を切り離して、システムを全面的に停止せずに、機能は低下してもシステムが稼働し続けられるようにする方法です。 代表的な方法に、システムの重要な箇所を2重化しておいて、故障が発生しても、もう一方の系で運用を続ける方式があります。

フールプルーフ

フールプルーフとは、不特定多数の使用者がいるプログラムにおいて、意図しない使われ方をしても故障しないような工夫をすることです。

もっと知識を深めるための参考

  • 信頼性設計

    システム障害の影響を最小限に抑えるフォールトトレラントなど、信頼性設計に関する考え方や手法、システムの設計観点についてまとめています。

  • システムの構成

    3層クライアントサーバシステム、RAID5のパリティの説明などシステム構成についてまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問36 複数のホストが同時にインターネットにアクセスできるようにする仕組み

一つのグローバルIPアドレスを使って複数のホストが同時にインターネットにアクセスできるようにする仕組みを何と呼ぶか。

【ア】DHCP     【イ】IPマルチキャスト     【ウ】NAPT     【エ】VPN

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問36

答えと解説

答え 【ウ】

NAPT

NAPTとは、Network Address & Port Translationの略で、一つのグローバルIPアドレスを使って複数のホストが同時にインターネットにアクセスできるようにする仕組みです。 NAPTは、PAT(Port Address Translation、Cisco Systemsによる呼称)、IPマスカレード(LinuxにおけるNAPTの実装名から)などと呼ぶこともあります。

NAPTの仕組み

IPネットワークの通信セッションはIPアドレスとポート番号によって制御されます。 NAPTは、ローカルIPアドレスを使うホストからのインターネットへの接続要求を、NAPTを実行するホストのグローバルIPアドレスに変換します。 送信元ポート番号も新規に降り直すことで、複数のローカルホストからの通信を識別して、同時に複数のホストからの通信をインタネットに中継します。

もっと知識を深めるための参考

  • NAT/NAPT

    NATとはプライベートIPアドレスとグローバルIPアドレスを相互に変換する機能です。NAPTとはNATの機能に加えてポート番号の付け替えも行う機能です。NATとは?NAPTとは?どのようなものかをテーマにまとめています。

  • ネットワーク

    通信プロトコル、osi基本参照モデル7階層の覚え方などネットワーク関連の知識をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問37 メタデータを説明(意味および内容)

メタデータを説明したものはどれか。

【ア】集合をメンバ(インスタンス)として扱う“べき集合”

【イ】属性がもつことのできる値の範囲

【ウ】データ管理者が管理し、DBMSには登録しない情報

【エ】データの定義情報を記述したデータ

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問37

答えと解説

答え 【エ】

メタデータについてもう少し詳しく説明していきます。

メタデータ

メタデータとは、簡単に言うとデータについてのデータでどのようなデータにもメタデータは存在します。

メタデータの意味

メタデータは英語のmatadataのことで、意味はデータの定義情報を記述したデータです。

メタの意味

メタ(meta)は、他の語の上に付いて複合語を作り、超越した、高次の、という意味を表します。 例としては「メタデータ」「メタ言語」「メタメッセージ」などです。

メタなデータ

メタデータはメタなデータ、あるデータが付随して持つそのデータ自身についての付加的なデータを指します。 つまりデータについてのデータという意味になります。

メタデータの内容

上述のようにメタデータとは、簡単に言うとデータについてのデータでどのようなデータにもメタデータは存在します。 例えば、デジタルカメラで撮影した写真データの場合は撮影時における時間や撮影したカメラ、シャッター速度、絞り値が該当します。

データベースにおいては、データを管理するためのデータで、業務系データベースからの抽出時の履歴情報やデータ構造に関する情報、データ変換に関する情報、データベースのアーキテクチャと内容に関する属性、特製、意味づけなどの情報を持ちます。

もっと知識を深めるための参考

  • データ資源管理

    メタデータやリポジトリの意味、SVNなどデータ資源管理についてまとめています。 データの属性、意味内容、格納場所など、データを管理するための情報(メタデータ)を収集、管理したデータディクショナリや、ソフトウェア開発と保守におけるさまざまな情報を一元的に管理するリポジトリについてまとめていきます。

  • データベース

    データベースの方式、設計、データ操作、トランザクション処理、応用など。データベース関連のオリジナルテキストと情報処理試験の過去問もまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問38 リポジトリのチェックイン、チェックアウトの説明

リポジトリのチェックイン、チェックアウトを説明したものはどれか。

【ア】セントラルリポジトリから分散リポジトリへのデータのコピーをチェックアウト、 分散リポジトリによるセントラルリポジトリのデータの更新をチェックインと呼ぶ。

【イ】リポジトリシステムからのクロスリファレンスの出力をチェックアウト、 クロスリファレンスによるデータの修正をチェックインと呼ぶ。

【ウ】リポジトリシステム内のデータの整合性チェックを、データ登録時に実施することをチェックイン、 データ登録後に実施することをチェックアウトと呼ぶ。

【エ】リポジトリシステムのバックアップ取得操作をチェックアウト、 バックアップからのリカバリ操作をチェックインと呼ぶ。

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問38

答えと解説

答え 【ア】

リポジトリ

リポジトリとは、CASEツールが開発関連情報を格納するデータベースです。 データの属性、意味内容、格納場所など、データを管理するための情報(メタデータ)を収集、管理したデータディクショナリや、ソフトウェア開発と保守におけるさまざまな情報を一元的に管理します。 なお、リポジトリにはアプリケーション開発に関連する情報を格納しておくデータベースという解釈と、メタデータを格納しておくテーブルという解釈があります。

メタデータ

メタデータとは、データ処理の対象となる情報を基に規定した、データの構造、意味及び操作の枠組みのことをいいます。 簡単に言うとデータについてのデータでどのようなデータにもメタデータは存在します。

リポジトリの意味

リポジトリは、容器、貯蔵庫、倉庫、集積所などが本来の意味になります。 何らかのデータや情報、プログラムなどが体系立てて保管されている場所を意味します。

チェックアウト

チェックアウトとは、セントラルリポジトリから分散リポジトリへのデータのコピーした際に、セントラルリポジトリのデータが他によって更新されないように「更新不可とすることを意味する言葉です。

チェックイン

チェックインとは、分散リポジトリによってセントラルリポジトリのデータを更新することを意味します。 これによって「更新不可」だったデータは、他のリポジトリによって「更新可能」になります。

もっと知識を深めるための参考

  • データ資源管理

    メタデータやリポジトリの意味、SVNなどデータ資源管理についてまとめています。 データの属性、意味内容、格納場所など、データを管理するための情報(メタデータ)を収集、管理したデータディクショナリや、ソフトウェア開発と保守におけるさまざまな情報を一元的に管理するリポジトリについてまとめていきます。

  • データベース

    データベースの方式、設計、データ操作、トランザクション処理、応用など。データベース関連のオリジナルテキストと情報処理試験の過去問もまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問39 コンパイラ理論

目的プログラムの実行時間を短くするためにコンパイラが行う最適化方法として、適切なものはどれか。

【ア】繰返し回数の多いループは、繰返し回数がより少ないループを複数回繰り返すように変形する。 例えば、10,000回実行されるループは、100回実行されるループを100回繰り返すようにする。

【イ】算術式の中で、加算でも乗算でも同じ結果が得られる演算は乗算で行うように変更する。 例えば、“X+X”は“2*X”で置き換える。

【ウ】定数が格納される変数を追跡し、途中で値が変更されないことが確認できれば、その変数を定数で置き換える。

【エ】プログラム中の2か所以上で同じ処理を行っている場合は、それらをサブルーチン化し、元のプログラムのそれらの部分をサブルーチン呼び出しで置き換える。

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問39

答えと解説

答え 【ウ】

コンパイラ理論

コンパイラの役割、コンパイルの過程、字句解析、構文解析、最適化の基本的な考え方、 仕組みを見ていきます。

コンパイラの役割

コンパイラの役割は、高水準言語で記述された原始プログラムを機械語などに変換するプログラムのことをいいます。 この処理過程のことをコンパイルといいます。

コンパイルの過程

コンパイラは以下のような手順で処理します。

  1. 字句解析
  2. 構文解析
  3. 意味解析
  4. 最適化
  5. コード生成

コンパイラの字句解析処理

コンパイラの字句解析処理は、原始プログラムの文字列から字句を切り出す処理です。 字句は、日本語や英語などの一般の言語で言えば単語にあたり、構文を構成する最小単位です。 字句は、名前、予約語、定数、区切り記号などを目安に解析されます。

コンパイラの構文解析処理

コンパイラの構文解析処理は、切り出された字句の構成を検証する処理です。 文法に従っているかどうかを検査します。

コンパイラの意味解析処理

コンパイラの意味解析処理は、属性間に矛盾が生じていないかどうかを検査する処理です。 例えば、文字型と宣言されている変数が算術式に含まれていれば、意味上の誤りとして検出します。

コンパイラの最適化処理

コンパイラの最適化処理は、目的プログラムの実行時間や容量が少なくなるように、プログラムの冗長性を排除するように、プログラムに変更を加える処理です。 最適化の方法の例としては以下があげられます。

  • 畳み込み・・・コンパイル時に定数を計算しておくなど。
  • 式の簡略化・・・等価であれば、演算回数が少なくなるように置換するなど。
  • ループの再編・・・つーぷの中で買われ兄変数をループの外に出すなど。
  • レジスタ割付の再編・・・変数をレジスタに割り当て、変数領域を縮小するなど。
  • インライン展開・・・サブルーチンを組み込むことで、処理を高速化するなど。

コンパイラのコード生成処理

コンパイラのコード生成処理は、中間言語による表現や機械語やアセンブラの目的プログラムを生成します。

問題の解法

【ウ】は、変数よりも定数の方が高速にアクセスできるのでプログラムの実行時間を短くできますが、他の選択肢はプログラムの実行時間を短くすることはできません。

もっと知識を深めるための参考

  • 情報に関する理論

    情報に関する理論として、形式言語と有限オートマトンの状態遷移図などの解説や演習問題をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問40 DHTML(Dynamic HTML)

DHTML(Dynamic HTML)は、動的なWebコンテンツを開発するために、HTMLを拡張したものである。 追加された要素として、適切なものはどれか。

【ア】CGI、DOM、XSL

【イ】DOM、スクリプト、スタイルシート

【ウ】Java、XML、スタイルシート

【エ】JavaScript、アプレット、サーブレット

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問40

答えと解説

答え 【イ】

DHTML

DHTMLとは、Dynamic HTMLの略で、動的なWebコンテンツを開発するために、HTMLにDOM、スクリプト、スタイルシートを追加したものです。

DHTMLは特定の技術や規格を指すものではなく、HTML、CSS、JavaScriptを組み合わせた動的なページのことをいいます。 Javaアプレットなどを埋め込むものなどもDHTMLということがあります。

もっと知識を深めるための参考

  • プログラミング

    プログラミング作法などプログラミングについてまとめています。Python、C言語、流れ図などプログラミングのオリジナル入門テキスト問形でまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問41 XML Schema

W3CのXML Schemaの用途はどれか。

【ア】XMLで記述される文書の構造を定義する。

【イ】XMLのデータ構造の変換ルールを記述する。

【ウ】XML文書中の要素をロケーションパスで指定する。

【エ】XML文書同士のリンクを定義する。

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問41

答えと解説

答え 【ア】

XMLとは

xmlとは、データを表す形式として利用される拡張可能なマークアップ言語です。 XMLは、HTMLの機能に加えて、独自にタグを定義することができる機能を備えています。

DTDとXML Schema

XMLでは、タグの定義をDTDとよばれる仕様によって定義できます。 DTDは、XMLの文法と異なり不便な場合がありますが、これを補うものとしてXML Schemaがあります。 XML Schemaを使用することで、XMLの文法でタグが定義できます。

XML Schemaの用途

W3CのXML Schemaの用途は、XMLで記述される文書の構造を定義することです。

もっと知識を深めるための参考

  • マークアップ言語

    マークアップ言語とは何かをテーマに、マークアップ言語の意味、HTML、XML、XHTMLなど言語の種類についてまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問42 システム開発の外部設計工程で行う作業

システム開発の外部設計工程で行う作業はどれか。

【ア】業務分析

【イ】帳票設計

【ウ】物理データ設計

【エ】プログラム設計

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問42

答えと解説

答え 【イ】

外部設計とデータベースの設計

外部設計は、開発工程の1つです。データベースを中心としたシステム開発で見かける言葉になります。

データベース開発工程

開発計画立案、外部設計、内部設計、プログラム作成、テストというような開発工程の流れの中でデータベース開発工程も進みます。

以下はこれらの工程について見ていきます。

開発計画立案

開発計画立案では、現行システムおよび新しい要求を調査・分析して、システム要件をまとめます。

外部設計

外部設計とは、ソフトウェア要件定義の別の呼び方で、ソフトウェアやシステム開発の工程の1つのことをいいます。 利用者に提供する機能や操作などを設計に落とし込む工程になります。

外部設計工程で行う作業

外部設計工程では、システムの機能を確定し、画面設計、帳票設計、画面フロー設計、論理データ設計、コード設計が行われます。

内部設計

内部設計では、サブシステムをコンポーネント(プログラム)の単位に機能分割・構造化、入出力設計、物理データ設計を行います。

プログラム設計

プログラム設計では、プログラムのモジュール設計、モジュール仕様の作成、プログラム設計書の作成、テスト仕様書の作成などを行います。

プログラムの実装

プログラムの実装では、プログラムの作成とテストを行います。

もっと知識を深めるための参考

  • データベース

    データベースの方式、設計、データ操作、トランザクション処理、応用など。データベース関連のオリジナルテキストと情報処理試験の過去問もまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問43 状態遷移図を用いて設計を行うことが適しているシステム

状態遷移図を用いて設計を行うことが最も適しているシステムはどれか。

【ア】月末及び決算時の棚卸資産を集計処理する在庫棚卸システム

【イ】システム資源の稼働状態を計測し、レポートとして出力するシステム資源稼働状態計測システム

【ウ】水道の検針データから料金を計算する水道料金計算システム

【エ】設置したセンサの情報から、温室内の環境を最適に保つ温室制御システム

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問43

答えと解説

答え 【エ】

状態遷移図

状態遷移図とは、英語でState Transition Diagramといい、状態の移り変わりを図で表したものです。 時間の経過や事象の発生に基づいて記述します。 なお、UMLでは状態遷移図のことをstate machine diagram(状態機械図)といいます。

状態遷移図の特徴

状態遷移図は、システムが取り得る状態が有限個で、その状態がイベントをきっかけにして別の状態に遷移する様子を図示します。 変化するシステムの状態を論理的に表現できるという特徴があります。

状態遷移図の設計への応用

また状態遷移図は、たとえば「温室制御システム」のような刻々と変化する状態に応じて対応が変わっていくシステムを表現するのに適しています。

問題の解法

選択肢の中で状態の変化に応じて対応が変わるシステムは【エ】です。 その他は一定のルールに沿って処理が行われるシステムとなっています。

もっと知識を深めるための参考

  • システム開発技術

    システム開発技術をテーマに要件定義、方式設計、詳細設計、構築、テスト、導入、受入れ、保守など、システムやソフトウェア開発の考え方、手順、手法、留意事項をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問44 オブジェクト指向の概念

オブジェクト指向の概念で、上位のクラスのデータやメソッドを下位のクラスで利用できる性質を何というか。

【ア】インヘリタンス   【イ】カプセル化   【ウ】抽象化   【エ】ポリモーフィズム

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問44

答えと解説

答え 【イ】

継承(インヘリタンス)

継承とは、インヘリタンスともいい、オブジェクト指向の概念で、上位のクラスのデータやメソッドを下位のクラスで利用できる性質のことをいいます。

カプセル化

カプセル化とは、独立性を高めるにデータとメソッドを一体化することで、外部に対しては使用する上で必要な情報だけ与える方法のことをいいます。

抽象化

抽象化とは、オブジェクト指向プログラミング言語の世界では、virtualやabstractといったキーワードを使って、キーワードを付けたメソッドを実装しなければならない制約をサブクラスに与えて、サブクラスをまとめるクラスを作ることをいいます。

ポリモフィズム

ポリモーフィズムとは、英語でpolymorphismといい、多相性、多態性、多様性と訳される言葉で、同じ指示に対して、オブジェクトによって異なる振舞いをすることをいいます。

もっと知識を広げるための参考

  • オブジェクト指向設計

    オブジェクト指向(オブジェクト指向プログラミング)とは、オブジェクトという概念に注目し、これをモジュール化に役立てる手法です。 オブジェクト指向とはなど基本概念、オブジェクト指向設計の入門知識を解説しています。

  • システム開発技術

    システム開発技術をテーマに要件定義、方式設計、詳細設計、構築、テスト、導入、受入れ、保守など、システムやソフトウェア開発の考え方、手順、手法、留意事項をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問45 モジュール結合度

モジュール結合度に関する記述のうち、適切なものはどれか。

【ア】あるモジュールがCALL命令を使用せずにJUMP命令でほかのモジュールを呼び出すとき、このモジュール間の関係は、外部結合である。

【イ】実行する機能や論理を決定するために引数を受け渡すとき、このモジュール間の関係は、内容結合である。

【ウ】大域的な単一のデータ項目を参照するモジュール間の関係は、制御結合である。

【エ】大域的なデータを参照するモジュール間の関係は、共通結合である。

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問45

答えと解説

答え 【エ】

モジュール結合度

モジュール結合度について見ていきます。

モジュール結合度とは

モジュール結合度とは、複数のモジュール間の関連性の強さを表す尺度のことをいいます。 モジュール結合度は、結合度が強い順に「内容結合>共通結合>外部結合>制御結合>スタンプ結合>データ結合」となります。 データ結合が最もモジュール結合度が弱いということになります。

内容結合

内容結合とは、あるモジュールがCALL命令を使用せずにJUMP命令でほかのモジュールを呼び出すときのモジュール間の関係をいいます。 内容結合が最もモジュール結合度が強い結合になります。

共通結合

共通結合とは、大域的なデータを参照するモジュール間の関係のことをいいます。

外部結合

外部結合とは、大域的な単一のデータ項目を参照するモジュール間の関係のことをいいます。

制御結合

制御結合とは、実行する機能や論理を決定するために引数を受け渡すときのモジュール間の関係をいいます。

スタンプ結合

スタンプ結合とは、データの構造体を引数として受け渡し、呼ばれたモジュールでは、構造体の一部を使用するモジュール間の関係をいいます。

データ結合

データ結合とは、処理に必要なデータだけを受け渡し、呼び出し側も呼ばれる側も機能的な関係はないモジュール間の関係をいいます。 データ結合が最もモジュール結合度が弱い結合になります。

モジュール結合度の覚え方

モジュール結合度の覚え方の例ですが、頭の部分をとって「内共外制スデ」と覚えておけば出てきやすいと思います。 「ないきょうがいせいすで」「ないきょうがいせいすで」「ないきょうがいせいすで」・・・と100回くらい唱えておけば覚えられるのではないでしょうか。

問題の解法

【ア】外部結合ではなく、内容結合の説明となっています。

【イ】内容結合ではなく、制御結合の説明となっています。

【ウ】制御結合ではなく、外部結合の説明となっています。

【エ】共通結合の説明となっています。

もっと知識を深めるための参考

  • システム開発技術

    システム開発技術をテーマに要件定義、方式設計、詳細設計、構築、テスト、導入、受入れ、保守など、システムやソフトウェア開発の考え方、手順、手法、留意事項をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問46 ユーザビリティ(使用性)の規格(JIS Z 8521)

ユーザビリティ(使用性)の規格(JIS Z 8521)では、ユーザビリティを、 “ある製品が、指定された利用者によって、指定された利用の状況下で、指定された目的を達成するために用いられる際の、有効さ、効率及び利用者の満足度の度合い” と定義している。 この定義中の“利用者の満足度”を評価するときに用いられる方法はどれか。

【ア】インタビュー法  【イ】ヒューリスティック評価  【ウ】ユーザビリティテスト  【エ】ログデータ分析法

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問46

答えと解説

答え 【ア】

インタビュー法

インタビュー法とは、利用者と評価する対象について質問と回答という形式で情報を収集する方法のことをいいます。

ヒューリスティック評価

ヒューリスティック評価とは、ユーザインタフェースに関するユーザビリティの専門家による評価方法です。

ユーザビリティテスト

ユーザビリティテストとは、製品を実際にユーザに使ってもらって評価する方法です。

ログデータ分析法

ログデータ分析法とは、利用状況を記録したデータを分析して評価する方法です。

問題の解法

選択肢の中で該当する方法は、利用者と評価する対象について質問-回答という形式で情報を収集するインタビュー法になります。

もっと知識を深めるための参考

  • ヒューマンインタフェース

    ヒューマンインターフェースとはなにかをテーマにヒューマンインターフェースの意味やWebのパンくずの例などインタフェース設計についてまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問47 UML

UML2.0における、稼働するコンポーネントを実行環境に割り付ける図はどれか。

【ア】コミュニケーション図  【イ】コンポーネント図  【ウ】配置図  【エ】ユースケース図

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問47

答えと解説

答え 【ウ】

UML

UMLとは、オブジェクト指向によるシステム開発で利用され、システムの設計結果を可視化し、文書化するために用いられる言語です。 分析から設計、実装、テストまでをカバーする統一した記述法です。

UMLには、クラス図、パッケージ図、アクティビティ図、ユースケース図、ステートマシン図、シーケンス図、コミュニケーション図、配置図、コンポーネント図などの図の種類があります。

コミュニケーション図

コミュニケーション図とは、オブジェクト間の相互作用を表現する図で、シーケンス図より構造的な特性や相互作用の関連を表現する図です。

コンポーネント図

コンポーネント図とは、プログラムの物理的構造を表現する図です。

配置図

配置図とは、稼働するコンポーネントを実行環境に割り付ける図で、システム内のソフトウェアやハードウェアの接続関係を表現する図です。

ユースケース図

ユースケース図とは、システムが提供する機能を表現する図です。

問題の解法

UML2.0における、稼働するコンポーネントを実行環境に割り付ける図は配置図です。

もっと知識を広げるための参考

  • UML

    UMLは、システムの設計結果を可視化し、文書化するために用いられる言語です。クラス図の集約の矢印など、図の種類、意味、書き方など、UMLとはどのようなものかまとめています。

  • 業務分析や要件定義に用いられる手法

    ヒヤリングやユースケース、モックアップ及びプロトタイプ、DFDによる業務分析の手順など、 業務分析や要件定義に用いられる手法をまとめています。

  • システム要件定義・ソフトウェア要件定義

    システムとソフトウェア要件定義のあらましについてまとめています。

  • システム開発技術

    システム開発技術をテーマに要件定義、方式設計、詳細設計、構築、テスト、導入、受入れ、保守など、 システムやソフトウェア開発の考え方、手順、手法、留意事項をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問48 ホワイトボックステストで使用されるテストケースの作成方法

ホワイトボックステストで使用されるテストケースの作成方法の組として、適切なものはどれか。

【ア】原因結果グラフ、実験計画法

【イ】条件網羅、命令網羅

【ウ】同値分割、限界値分析

【エ】モジュール分析、エラー推測

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問48

答えと解説

答え 【イ】

テストの手法

一般的にシステムテストや運用テストはブラックボックステスト、単体テストはホワイトボックステストで行われます。

ブラックボックステスト

ブラックボックステストとは、入力と出力の関係だけ注目して行うテストです。 仕様によるテストとも呼ばれ、機能しようからテストケースを作ります。

ホワイトボックステスト

ホワイトボックステストとは、プログラム内部の論理構造に着目してテストする方法です。

ホワイトボックステストでは、モジュール内部で正常に動作が行われているかをチェックします。 入力と出力の対応が正しいかどうかをチェックするだけでなく、正しい手順で計算が行われるかどうかなど、内部構造のアルゴリズムも考慮してテストします。

ホワイトボックステストで使用されるテストケースの作成方法

ホワイトボックステストで使用されるテストケースの作成方法には、網羅のレベルによって、命令網羅法、分岐網羅法、条件網羅法、複数条件網羅法などがあります。

  • 命令網羅法

    命令網羅法は、プログラム中の各文を少なくとも1度実行させるテスト方法です。 if-else文でelseでは何も行わない場合、ifの条件1回通せばOKとなります。

  • 分岐網羅法

    分岐網羅法は、分岐を少なくとも1度実行させるテスト方法です。 if-else文でelseでは何も行わない場合、ifとelse両方の条件1回ずつ通せばOKとなります。

  • 条件網羅法

    条件網羅法は、判定条件を網羅するテスト方法です。 判定条件が複数からなる場合は各条件の真偽を少なくとも1回は実行させます。

  • 複数条件網羅法

    複数条件網羅法は、判定条件が複数条件から成り立つ場合、各条件のすべての真偽の組み合わせを実行させるテスト方法です。

もっと知識を深めるための参考

  • 単体テスト

    単体テスト(ソフトウェアユニットのテスト)についてまとめています。テストの目的、実施と評価、分岐網羅などのホワイトボックステストの観点やテスト手法について解説しています。

  • システム開発技術

    システム開発技術をテーマに要件定義、方式設計、詳細設計、構築、テスト、導入、受入れ、保守など、システムやソフトウェア開発の考え方、手順、手法、留意事項をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問49 アローダイアグラム

図で示すアローダイアグラムの解釈のうち、適切なものはどれか。 ここで、矢印に示す数字は各仕事の所要日数を表す。

【問49】アローダイアグラム―平成20年秋期ソフトウェア開発技術者

【ア】①→③の仕事を1日短縮できれば、全体の仕事も1日短縮できる。

【イ】②→④の仕事を1日短縮できれば、全体の仕事も1日短縮できる。

【ウ】③→⑤の仕事を1日短縮できれば、全体の仕事も1日短縮できる。

【エ】⑥→⑧の仕事を1日短縮できれば、全体の仕事も1日短縮できる。

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問49

答えと解説

答え 【イ】

アローダイアグラム

アローダイアグラムとは、作業の日程や工程を管理するPART図ともいわれるある手法で、作業の内容と日程の流れを、矢印で順に追って表した図を用いて、矢印による作業順序と日数を表します。

クリティカルパス

クリティカルパスとは、アローダイアグラム(PART図)の経路の中で、最も時間がかかる経路のことをいいます。

問題の解法

所要日数の一番かかる経路(クリティカルパス)の所要日数を短くすると全体の所要日数も短縮できます。

経路を洗出し、所要日数を計算すると以下になります。

  • ①→②→④→⑦→⑨=24日…A
  • ①→②→④→⑧→⑨=20日…B
  • ①→②→⑤→⑧→⑨=20日…C
  • ①→③→⑤→⑧→⑨=21日…D
  • ①→③→⑥→⑧→⑨=23日…E

Aの経路が最も日数の要する経路で、この経路に含まれる②→④に関する記述の【イ】が答えになります。

もっと知識を深めるための参考

  • プロジェクトタイムマネジメント

    PERT図からのクリティカルパスの求め方などプロジェクトタイムマネジメントについてまとめています。

  • マネジメント系

    情報処理試験対策用のサイトオリジナル教科書をテーマにマネジメント系の知識をまとめています。

問50 データベース管理者の役割

大規模システムでは、データ管理者、データベース管理者、開発者、利用者、オペレータがそれぞれ役割を分担してデータ管理を実施する。 データベース管理者の役割として、適切なものはどれか。

【ア】データの管理規程を明文化する。

【イ】データベースに業務データの登録とその削除を行う。

【ウ】データベースの物理設計を行う。

【エ】データベースの論理設計を行う。

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問50

答えと解説

答え 【ウ】

データベース管理者(DBA)

データベース管理者は、DBAともいい、データベース管理システム(DBMS)を操作してデータベースの作成や保守・運用、削除などを行う人やエンジニアのことをいいます。

データベース管理者の役割

データベース管理者の役割は、基幹データベースの構築と維持を行うことです。 データベースの物理設計やデータベースの構築、維持、保守などを担当します。

大規模システムでは、データ管理者、データベース管理者、開発者、利用者、オペレータがそれぞれ役割を分担してデータ管理を実施します。 データ管理者がシステム開発のライフサイクルにおいて、上流の業務分析やデータベースの概念設計、論理設計を担当します。 一方、データベース管理者は、データベースの物理設計やデータベースの構築、維持、保守などを担当します。

もっと知識を広げるための参考

  • サービスの運用

    サービスの運用をテーマに、運用計画や資源管理といったシステム運用管理、システムの操作やスケジューリングといった運用オペレーション、サービスデスク、の役割や機能についてまとめていきます。

  • サービスマネジメント

    サービスマネジメントをテーマに、入門知識をまとめています。サービスマネジメントの目的と考え方、サービスマネジメントシステムの確立及び改善、ITIL、代表的なSLA項目やサービスカタログなどITサービスマネジメントについてまとめています。 サービスマネジメント関連の参考書積、情報処理試験の過去問もまとめています。

  • マネジメント系

    情報処理試験対策用のサイトオリジナル教科書をテーマにマネジメント系の知識をまとめています。

問51 ITILのサービスデリバリとサービスサポートの二つのサービス領域

ITサービスマネジメントのベストプラクティスを集めたフレームワークであるITILには、サービスデリバリとサービスサポートの二つのサービス領域がある。 次の管理項目のうち、サービスデリバリに属するものはどれか。

【ア】インシデント管理

【イ】キャパシティ管理

【ウ】構成管理

【エ】変更管理

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問51

答えと解説

答え 【イ】

ITIL

ITILは、IT サービスマネジメントのフレームワークで、現在、デファクトスタンダードとして世界で活用されています。

ITILとは

ITILとは、Information Technology Infrastructure Libraryの省略したいい方で、ITサービスマネジメントにおける成功事例をまとめた書籍群のことをいいます。

ITサービスの運用管理での考え方や方法論などをまとめたものです。ITILの体系は大きく分けてサービスサポートとサービスデリバリがあります。

ITILにおけるサービスサポート

ITILにおけるサービスサポートには、サービスデスク、インシデント管理、問題管理、構成管理、変更管理、リリース管理といった管理項目があります。

ITILにおけるサービスデリバリ

ITILにおけるサービスデリバリには、サービスレベル管理、ITサービス財務管理、キャパシティ管理、ITサービス継続性管理、可用性管理といった管理項目があります。

問題の解法

選択肢それぞれがサービスサポートとサービスデリバリのどちらに分類されるか見ていきます。

【ア】インシデント管理 はサービスサポートに分類されます。

【イ】キャパシティ管理 はサービスデリバリに分類されます。

【ウ】構成管理 はサービスサポートに分類されます。

【エ】変更管理 はサービスサポートに分類されます。

もっと知識を深めるための参考

  • ITIL

    ITILの読み方は「あいてぃる」、ITILは、IT サービスマネジメントのフレームワークで、現在、デファクトスタンダードとして世界で活用されています。 ITILとは何かの知識や参考書籍などの情報をまとめています。

  • サービスマネジメント

    サービスマネジメントをテーマに、入門知識をまとめています。 サービスマネジメントの目的と考え方、サービスマネジメントシステムの確立及び改善、ITIL、代表的なSLA項目やサービスカタログなどITサービスマネジメントについてまとめています。 サービスマネジメント関連の参考書積、情報処理試験の過去問もまとめています。

  • マネジメント系

    情報処理試験対策用のサイトオリジナル教科書をテーマにマネジメント系の知識をまとめています。

問52 スイッチングハブの間を接続する複数の物理回線を論理的に1本の回線に束ねる技術

コンピュータとスイッチングハブ、又は2台のスイッチングハブの間を接続する複数の物理回線を論理的に1本の回線に束ねる技術はどれか。

【ア】スパイングツリー

【イ】ブリッジ

【ウ】マルチホーミング

【エ】リンクアグリゲーション

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問52

答えと解説

答え 【エ】

スパニングツリー

スパニングツリーとは、LAN上で通信するデータが、トポロジの問題によって、ループすることを防ぐ機能です。

マルチホーミング

マルチホーミングとは、インターネットに対して複数の経路を用意し、耐障害性の向上や負荷分散を行う技術です。

ブリッジ、スイッチングハブ

ブリッジは、二つのネットワークをデータリンク層で接続し、MACアドレスのフィルタリング機能を持つ装置です。 ブリッジは、以下のOSI基本参照モデルの層と対応します。

  • データリンク層
  • 物理層

なお、CSMA/CD方式のLANで使用されるスイッチングハブ(レイヤ2スイッチ)は、フレームの蓄積機能、速度変換機能や交換機能を持っていて、ブリッジと同じプロトコル階層で動作します。

リンクアグリゲーション

リンクアグリゲーションとは、英語でLink Aggregationといい、複数の物理的な回線を論理的に一つの回線のように取り扱うことで通信帯域を広げる手法です。 コンピュータとスイッチングハブ、又は2台のスイッチングハブの間を接続する複数の物理回線を論理的に1本の回線に束ねる技術になります。

複数の物理回線を用いることで、一つの回線がダウンしても通信が継続することができるため、耐障害性にも優れています。 IEEEによってIEEE802.3あd規格として規定されています。

もっと知識を広げるための参考

  • ネットワーク接続

    LAN内接続、LAN間接続、LAN-WAN接続の装置の種類、特徴、各装置の機能が、OSI基本参照モデルのどの層に対応するか、ネットワーク接続にに関連する知識をまとめています。 ルーターやマルチホーミングなどの解説も行っています。

  • ネットワーク

    通信プロトコル、osi基本参照モデル7階層の覚え方などネットワーク関連の知識をまとめています。

  • テクノロジ系

    テクノロジ系の分野のサイトオリジナル教科書です。テクノロジ系の各分野の解説と情報処理の過去問をマッピングしています。

問53 TCP/IPネットワークにおけるARPの説明

TCP/IPネットワークにおけるARPの説明として、適切なものはどれか。

【ア】IPアドレスからMACアドレスを得るプロトコルである。

【イ】IPネットワークにおける誤り制御のためのプロトコルである。

【ウ】ゲートウェイ間のホップ数によって経路を制御するプロトコルである。

【エ】端末に対して動的にIPアドレスを割り当てるためのプロトコルである。

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問53

答えと解説

答え 【ア】

ARP

ARPとは、Address Resolution Protocolの略で、IPアドレスからMACアドレスを得るプロトコルです。 ARPについて見ていきます。

ARPの概要

ARPはアドレス解決のためのプロトコルです。 宛先IPアドレスを手掛かりにして、次にパケットを受け取るべき機器のMACアドレスを知りたいときに利用します。 宛先のホストが同一リンク上にない場合には、次ホップのルーターのMACアドレスをARPで調べることになります。 このARPはIPv4でのみ利用され、IPv6では利用されません。 IPv6ではARPの代わりにICMPv6の隣探索メッセージが利用されます。

ARPの仕組み

ARPは、IPアドレスがわかっている相手の物理アドレスであるMACアドレスを知るために使われます。

Ethernetで通信を行うホストは、ARPテーブルと呼ばれるIPアドレスとMACアドレスの対応表をもっていて、 ARPテーブルを参照しながら、EthernetフレームにIPパケットを格納します。

相手のIPアドレスを指定したARPリクエストをネットワーク上の全システムに送ります(ブロードキャストといいます)。 指定されたIPアドレスに対応するシステムは、その物理アドレスとIPアドレスを組みにしたARPリプライを問い合わせシステムに送り返します。

もっと知識を広げるための参考

  • データリンク層のプロトコル

    ARP など、TCP/IPネットワークにおいて使用されるデータリンク層レベルのプロトコルの役割や機能をまとめています。またPPPoEブリッジ機能などの解説しています。

  • ネットワーク

    通信プロトコル、osi基本参照モデル7階層の覚え方などネットワーク関連の知識をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問54 プライベートアドレス

TCP/IPネットワーク環境に置いて、プライベートアドレスはどれか。

【ア】172.128.10.1

【イ】172.168.10.1

【ウ】192.128.10.1

【エ】192.168.10.1

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問54

答えと解説

答え 【エ】

プライベートIPアドレスとグローバルIPアドレス

IPアドレスには、プライベートIPアドレスとグローバルIPアドレスがあります。

プライベートIPアドレス

プライベートIPアドレスとは、プライベートアドレスともいい、範囲はRFC 1918で規定されていて、通常はその範囲内で設定します。

プライベートIPアドレスは、IPアドレスの不足やセキュリティ強化に対応して、内部ネットワークでのみの使用をぜんていとしたIPアドレスです。 インターネット上では利用できませんが、同じLAN上で重複しなければ、LAN上で自由に利用することができます。

プライベートアドレスの範囲はクラスAからCに分けられていて、それぞれ以下の通りになります。

  • クラスAは10.0.0.0~10.255.255.255 (10.0.0.0/8)
  • クラスBは172.16.0.0~172.31.255.255 (172.16.0.0/12)
  • クラスCは192.168.0.0~192.168.255.255 (192.168.0.0/16)

グローバルIPアドレス

グローバルIPアドレスとは、インターネット上のコンピュータと直接、通信できるIPアドレスで、全世界で一意になっています。

もっと知識を深めるための参考

  • IPアドレス

    IPアドレスとは何か?IPアドレスの基礎知識、第4オクテットやスラッシュの意味、グローバルIPアドレスの確認方法など、IPアドレスについてわかりやすく解説していきます。

  • ネットワーク

    通信プロトコル、osi基本参照モデル7階層の覚え方などネットワーク関連の知識をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問55 ダイアルアップ接続するときに使用されるプロトコル

WANを介して二つのノードをダイアルアップ接続するときに使用されるプロトコルで、リンク制御やエラー処理機能をもつものはどれか。

【ア】FTP

【イ】PPP

【ウ】SLIP

【エ】UDP

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問55

答えと解説

答え 【イ】

ダイアルアップ接続するときに使用されるプロトコル

ダイアルアップ接続を行うときに使用されるプロトコルには、SLIPとPPPがあります。 ただし、現在では一般的にPPPが用いられています。

選択肢について補足

選択肢にあるプロトコルについての補足です。

FTP

FTPとは、File Transfer Protocolの略で、ファイル転送に用いるアプリケーション層のプロトコルです。

PPP

PPPとは、Pointo to Point Protocolを省略で、二つのノード間で通信するための物理層/データリンク層のプロトコルです。

PPPは、WANを介して二つのノードをダイアルアップ接続するときに使用されるプロトコルで、リンク制御やエラー処理機能をもちます。 ダイアルアップ接続やシリアル回線接続など、特定の二つのノードが1対1で直接接続されている通信回線で、 ユーザ認証や使用するプロトコル、アドレス、圧縮やエラー訂正方法などをネゴシエートし、さまざまなプロトコルを使ったデータ転送を可能にします。

SLIP

SLIPとは、Serial Line Internet Protocolの略で、PPPが主流になる以前に使用されていた、TCP/IPでインターネットに接続するためのデータリンク層のプロトコルです。

UDP

UDPとは、User Datagram Protocolの略で、コネクションレス型の通信を行うトランスポート層のプロトコルです。

もっと知識を広げるための参考

  • データリンク層のプロトコル

    ARP など、TCP/IPネットワークにおいて使用されるデータリンク層レベルのプロトコルの役割や機能をまとめています。またPPPoEブリッジ機能などの解説しています。

  • ネットワーク

    通信プロトコル、osi基本参照モデル7階層の覚え方などネットワーク関連の知識をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問56 音声データのディジタル化

アナログの音響を4kHzでサンプリング(標本化)し、1標本を8ビットでディジタル化する場合、1秒間に生成されるディジタルデータは何kビットか。

【ア】8

【イ】16

【ウ】32

【エ】64

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問56

答えと解説

答え 【ウ】

PCM

PCMとは、Pulse Code Modulationの略で、パルス符号変調のことで、アナログ音声信号をディジタル化する技術です。 適切な間隔でサンプリングし、その結果を量子化します。

サンプリング

サンプリングとは、アナログ信号の値を特定の時間間隔で取り出すことです。

サンプリング周波数

サンプリング周波数とは、1秒間にサンプリングする回数で単位はHzで表します。 音声をサンプリングするときの周波数は標本化定理に従います。

標本化定理

標本化定理とは、最大周波数の2倍でアンプリングすれば、原音を復元できるという定理です。

量子化

量子化とは、1つのサンプリング時の音圧をビット表現にすることです。 たとえば、8ビットでビット表現にする場合、1サンプリングの値は256段階で表現できます。

音声データのディジタル化の例

アナログの音響を4kHzでサンプリング(標本化)し、1標本を8ビットでディジタル化する場合、1秒間に生成されるディジタルデータは32kビットになります。

4,000(1秒間に4,000回の標本化)×8(1回の量子化で生成されるデータ量)=32,000ビット=32kビット

もっと知識を深めるための参考

  • 音声処理

    アナログな音声は標本化⇒量子化⇒符号化の処理によりデジタル化されます。 ここでは音声処理をテーマに音声データのディジタル化の原理、音声ファイルの仕組み、代表的な音声ファイル形式の特徴をまとめています。

  • マルチメディア

    マルチメディアとは?複合媒体。意味や技術・応用など。マルチメディアにつてまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問57 ATMとパケット交換方式

ATMとパケット交換方式とを比較した場合、ATMの特徴として適切なものはどれか。

データ転送単位の長さ綱内遅延
【ア】可変大きい
【イ】可変小さい
【ウ】固定大きい
【エ】固定小さい

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問57

答えと解説

答え 【エ】

ATM

ATMとは、Asynchronous Transfer Modeの略で、非同期転送モードです。 1本の回線を複数の論理回線(チャネル)に分割して同時に通信を行なう多重化方式の一つで、各チャネルのデータを53バイトの固定長データに分割して送受信する方式です。

パケット交換方式

パケット交換方式は、データをある一定の大きさ(パケット)の単位に区切り、パケットに送信先などの情報を付加して伝送する方式です。

パケット交換方式では、パケットが交換機内に一度蓄積されるため、原理的にATMより綱内遅延は大きくなります。

もっと知識を深めるための参考

  • ネットワーク

    通信プロトコル、osi基本参照モデル7階層の覚え方などネットワーク関連の知識をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問58 IPsecに関する記述のうち、適切なものはどれか

IPsecに関する記述のうち、適切なものはどれか。

【ア】IPパケットにラベルと呼ばれるフィールドを付加し、その情報を基に転送処理を行うプロトコルである。

【イ】OSI基本参照モデルのアプリケーション層のプロトコルである。

【ウ】使用される自動の鍵交換プロトコルは、IKEである。

【エ】ディジタル署名に使用されるプロトコルである。

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問58

答えと解説

答え 【ウ】

IPsec

IPsecとは、IPパケットに対して暗号化と認証の機能を提供するプロトコルです。 IP Security Protocolの略で、読み方は「あいぴーせっく」です。

パケットをIP層(OSI参照モデルではネットワーク層)で暗号化するプロトコルで、トンネルモードを使用すると、エンドツーエンドの通信で用いるIPのヘッダまで含めて暗号化されます。

暗号化通信を実現するために、IKE(Internet Key Exchange)を含む複数のプロトコルによって構成されています。

問題の解法

各選択肢について補足していきます。

【ア】の「IPパケットにラベルと呼ばれるフィールドを付加し、その情報を基に転送処理を行うプロトコルである。」は、 MPLS(Multi Protocol Level Switching)の説明になり、IPSecの説明ではありません。

【イ】の「OSI基本参照モデルのアプリケーション層のプロトコルである。」ですが、 IPSecで使うプロトコルはネットワーク層であるため、正しくないです。

【ウ】の「使用される自動の鍵交換プロトコルは、IKEである。」は、IPSecの説明として正しいです。 IKEは、IPSecで使う共通鍵暗号の鍵情報をゲートウェイ間で交換するために用いられるプロトコルです。

【エ】の「ディジタル署名に使用されるプロトコルである。」ですが、 ディジタル署名に用いられるのはSSLなどのプロトコルであり、IPレベルのプロトコルではありません。

もっと知識を広げるための参考

  • セキュアプロトコル

    IPSec、SSL/TLS、SSHなど通信データの盗聴、不正接続を防ぐセキュアプロトコルについてまとめています。IPSecのトンネルモードやTLSハンドシェイクなどの情報も補足しています。

  • 情報セキュリティ

    情報セキュリティとは何か、情報セキュリティのテキストコンテンツをテーマに知識をまとめています。またIPAの情報処理試験の情報セキュリティ関連の問題も解説しています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問59 LAN間接続装置

LAN間をOSI基本参照モデルの物理層で相互に接続する装置はどれか。

【ア】ゲートウェイ

【イ】ブリッジ

【ウ】リピータ

【エ】ルータ

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問59

答えと解説

答え 【ウ】

ネットワーク接続

LAN間接続装置は、複数のLANの相互接続や幹線LANと支線LANの接続、プロトコルが異なるネットワーク間の接続など、ネットワーク間を接続装置です。 LAN間接続装置とOSI基本参照モデルとの対応中心に、ネットワーク接続についてまとめていきます。

LAN間接続装置とOSI基本参照モデルとの対応

LAN間接続装置とOSI基本参照モデルとの対応は以下のようになります。

ゲートウェイ

ゲートウェイは、全層での異なるLAN同士を接続する装置で、メーカ固有のプロトコルからOSIのプロトコルに変換します。 ゲートウェイは、以下のOSI基本参照モデルのすべての層と対応します。

  • アプリケーション層
  • プレゼンテーション層
  • セッション層
  • トランスポート層
  • ネットワーク層
  • データリンク層
  • 物理層
ルータ

ルータは、ネットワーク層で接続し、最適な通信経路の選択、IPアドレスのフィルタリング機能を持つ装置です。 ルータは、以下のOSI基本参照モデルの層と対応します。

  • ネットワーク層
  • データリンク層
  • 物理層
ブリッジ、スイッチングハブ

ブリッジは、データリンク層で接続し、MACアドレスのフィルタリング機能を持つ装置です。 ブリッジは、以下のOSI基本参照モデルの層と対応します。

  • データリンク層
  • 物理層

なお、CSMA/CD方式のLANで使用されるスイッチングハブ(レイヤ2スイッチ)は、フレームの蓄積機能、速度変換機能や交換機能を持っていて、ブリッジと同じプロトコル階層で動作します。

リンクアグリゲーション

リンクアグリゲーションとは、英語でLink Aggregationといい、コンピュータとスイッチングハブ、又は2台のスイッチングハブの間を接続する複数の物理回線を論理的に1本の回線に束ねる技術をといいます。

リピータ、ハブ

リピータはLANの伝送距離を延長する装置、ハブはスター型LANの中心に位置する中継装置で、LAN間をOSI基本参照モデルの物理層で相互に接続します。 リピータ、ハブは、以下のOSI基本参照モデルの層と対応します。

  • 物理層

問題の解法

LAN間をOSI基本参照モデルの物理層で相互に接続する装置はリピータです。

もっと知識を広げるための参考

  • ネットワーク接続

    LAN内接続、LAN間接続、LAN-WAN接続の装置の種類、特徴、各装置の機能が、OSI基本参照モデルのどの層に対応するか、ネットワーク接続にに関連する知識をまとめています。 ルーターやマルチホーミングなどの解説も行っています。

  • ネットワーク

    通信プロトコル、osi基本参照モデル7階層の覚え方などネットワーク関連の知識をまとめています。

  • テクノロジ系

    テクノロジ系の分野のサイトオリジナル教科書です。テクノロジ系の各分野の解説と情報処理の過去問をマッピングしています。

問60 ネットワーク管理

TCP/IPの環境で使用されるプロトコルのうち、構成機器や障害時の情報収集を行うために使用されるネットワークプロトコルはどれか。

【ア】NNTP

【イ】NTP

【ウ】SMTP

【エ】SNMP

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問60

答えと解説

答え 【エ】

NNTP

NNTPとは、Network News Transfer Protocolの略で、インターネット上の掲示板などでメッセージ転送に用いられるアプリケーション層のプロトコルです。

NTP

NTPとは、Network Time Protocolの略で、コンピュータ(クライアント)が管理している時計の時刻を、ネットワークを通じて別のコンピュータ(サーバー)と同期するためのアプリケーション層のプロトコルです。

SMTP

SMTPとは、Simple Mail Transfer Protocolの略で、電子メールを送信するためのアプリケーション層のプロトコルです。

SNMP

SNMPとは、Simple Network Management Protocolの略で、TCP/IPの環境で使用されるプロトコルのうち、構成機器や障害時の情報収集を行うために使用されるネットワークプロトコルです。 ネットワークを構成する機器を集中管理するためのプロトコルです。

もっと知識を広げるための参考

  • ネットワーク管理

    ネットワーク運用管理、snmp、sdnとopenflowの違いなど、ネットワーク運用管理およびネットワーク管理のためのツール、プロトコルの機能、仕組み、利用法をテーマに知識をまとめています。

  • ネットワーク

    通信プロトコル、osi基本参照モデル7階層の覚え方などネットワーク関連の知識をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問61 データベースの3層スキーマ構造

データベースの3層スキーマ構造に関する記述のうち、適切なものはどれか。

【ア】概念スキーマは、データの物理的関係を表現する。

【イ】外部スキーマは、データの利用者からの見方を表現する。

【ウ】内部スキーマは、データの論理的関係を表現する。

【エ】物理スキーマは、データの物理的関係を表現する。

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問61

答えと解説

答え 【イ】

3層スキーマ

3層スキーマには、概念スキーマ、外部スキーマ、内部スキーマがあります。なお、物理スキーマは、3層スキーマに存在しません。

概念スキーマ

概念スキーマは、データの論理的な構造を表現します。

外部スキーマ

外部スキーマは、データの利用者からの見方を表現します。

内部スキーマ

内部スキーマは、データの物理的なファイルを管理する構造を定義します。

もっと知識を深めるための参考

  • データベースとは

    データベースとは、データを蓄積して何らかの目的のために取り出すための仕組みのことをいいます。データベースとは何かをテーマにデータベースの意味、oodbms、codasyl、関係データベースなどデータベースの種類についてまとめています。

  • データベース

    データベースの方式、設計、データ操作、トランザクション処理、応用など。データベース関連のオリジナルテキストと情報処理試験の過去問もまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問62 データベースの第1、第2、第3正規形とそれらの特徴

第1、第2、第3正規形とそれらの特徴a~cの組合せとして、適切なものはどれか。

a:どの非キー属性も、主キーの真部分集合に対して関数従属しない。

b:どの非キー属性も、主キーに推移的に関数従属しない。

c:繰返し属性が存在しない。

第1正規形第2正規形第3正規形
【ア】abc
【イ】acb
【ウ】cab
【エ】cba

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問62

答えと解説

答え 【ウ】

データの正規化

関数従属や候補キーなどデータの正規化についてまとめていきます。

データの正規化とは

データの正規化とは、データの冗長性を排除して、データの一貫性と整合性をはかったデータモデルをつくることをいいます。 関係データベースのテーブル構造設計の適切性を確認する手段となります。

第1~第3正規形のほか、ボイスコット正規形、第4~第5正規形があります。 一般的には第3正規形まで正規化を行えば十分とされています。

第1、第2、第3正規形とそれらの特徴

第1、第2、第3正規形とそれらの特徴は以下になります。

第1正規形:繰返し属性が存在しない。

第1正規形は、繰返し属性が存在しない形です。 たとえば、同じ行の中に商品名と商品番号の組み合わせのような繰返し項目が存在しないようにします。

第2正規形:どの非キー属性も、主キーの真部分集合に対して関数従属しない。

第2正規形は、どの非キー属性も、主キーの真部分集合に対して関数従属しない形です。 主キー項目が複数ある場合に、一部のキー項目によってほかのキー以外の項目が決定されるような構造にならないようにします。

第3正規形:どの非キー属性も、主キーに推移的に関数従属しない。

第3正規形は、どの非キー属性も、主キーに推移的に関数従属しない形です。 主キー項目以外の項目によってほかの項目が決定されるような構造にならないようにします。

関数従属

関数従属とは、関係データベースにおいて、ある属性(列)の値が決まれば、別の属性の値が決まる関係のことをいいます。

「ある属性⇒別のある属性」という関係です。「ある属性、またある属性⇒別のある属性」というように複数の属性がキーになる場合もあります。

もっと知識を深めるための参考

  • データの正規化

    第一正規化、第二正規化、第三正規化、関数従属、候補キーなど正規化とは何か、リレーショナルデータベースの正規化の入門内容をまとめていきます。

  • データベース

    データベースの方式、設計、データ操作、トランザクション処理、応用など。データベース関連のオリジナルテキストと情報処理試験の過去問もまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問63 データベースの操作

関係データベースにおける実表と導出表に関する記述のうち、適切なものはどれか。

【ア】実表に対する射影、結合などによって導出表が得られる。

【イ】導出表は、データを参照する場合だけに用いる。

【ウ】導出表は、複数の実表から得られる表である。

【エ】導出表は、元の実表の列だけからなる。

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問63

答えと解説

答え 【ウ】

データ操作

データ操作の知識について見ていきます。

データベースの操作

関係データベースのデータの操作として、集合演算(和、差、積、直積)、関係演算(選択、射影、結合、商)などがあります。

関係演算

関係演算には、選択、射影、結合などがあります。

選択

選択とは、条件を満たす行を抽出することをいいます。

射影

射影とは、条件を満たす列を抽出することをいいます。

結合

結合とは、同じ値を持つ列について複数の表を結合することをいいます。

データベース言語(SQL)

関係データベースのデータの操作を理解するにはデータベース言語(SQL)の知識が必要です。データベース言語(SQL)について見ていきます。

データ定義言語

テーブル、ビューを定義するSQL文があります。

テーブル

テーブルとは、実表ともいい、実際に存在する表のことをいいます。

ビュー

ビューとは、導出表ともいい、テーブル(実表)をもとに作られる仮想的な表のことをいいます。 実表に対する射影、結合などによって導出表が得られます。 導出表も条件が整えば更新可能で、導出表は、複数の実表からだけでなく、実表と導出表や導出表同士の組合せによっても作成できます。 また、実表から演算によって求められる値を導出表に含めることができます。

問題の解法

【ア】実表に対する射影、結合などによって導出表が得られます。

【イ】導出表も条件が整えば更新可能です。

【ウ】導出表は、複数の実表からだけでなく、実表と導出表や導出表同士の組合せによっても作成できます。

【エ】実表から演算によって求められる値を導出表に含めることができます。

もっと知識を深めるための参考

  • SQL

    関係データベースのデータの操作を理解するにはデータベース言語(SQL)の知識が必要です。 データベース言語(SQL文)についての入門講座をコンセプトにオリジナルテキストと情報処理試験の過去問もまとめています。

  • データベース

    データベースの方式、設計、データ操作、トランザクション処理、応用など。データベース関連のオリジナルテキストと情報処理試験の過去問もまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問64 ビューに付与される権限

一つの表に対して更新可能なビューが定義されている。 このビューの所有者に自動的に付与されるビューに対する権限はどれか。

【ア】REFERENCES権限だけ

【イ】SELECT権限だけ

【ウ】元となる表に対してそのビューの所有者がもっている権限のうち、UPDATE権限以外のすべての権限

【エ】元となる表に対してそのビューの所有者がもっているすべての権限

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問64

答えと解説

答え 【エ】

ビュー

ビューとは、導出表ともいい、テーブル(実表)をもとに作られる仮想的な表のことをいいます。

実表に対する射影、結合などによって導出表が得られます。 導出表も条件が整えば更新可能で、導出表は、複数の実表からだけでなく、実表と導出表や導出表同士の組合せによっても作成できます。 また、実表から演算によって求められる値を導出表に含めることができます。

ビューに付与される権限

ビューに付与される権限について触れていきます。

ビューは、一つの表に対して更新可能なビューが定義されていて、このビューの所有者である場合、 元となる表に対してそのビューの所有者がもっているすべての権限を利用することができます。

もっと知識を深めるための参考

  • SQL

    関係データベースのデータの操作を理解するにはデータベース言語(SQL)の知識が必要です。 データベース言語(SQL文)についての入門講座をコンセプトにオリジナルテキストと情報処理試験の過去問もまとめています。

  • データベース

    データベースの方式、設計、データ操作、トランザクション処理、応用など。データベース関連のオリジナルテキストと情報処理試験の過去問もまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問65 行の追加と削除が可能なビューを作成するSQL文

行の追加と削除が可能なビューを作成するSQL文はどれか。 ここで、SQL文中に現れる表はすべて更新可能とする。

【ア】CREATE VIEW 高額商品(商品番号, 商品名)
      AS SELECT 商品番号, 商品名 FROM 商品 WHERE 商品単価 > 1000

【イ】CREATE VIEW 受注商品(商品番号)
      AS SELECT DISTINCT 商品番号 FROM 受注

【ウ】CREATE VIEW 商品受注(商品番号, 受注数量)
      AS SELECT 商品番号, SUM(受注数量) FROM 受注 GROUP BY 商品番号

【エ】CREATE VIEW 商品平均受注数量(平均受注数量)
      AS SELECT AVG(受注数量) FROM 受注

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問65

答えと解説

答え 【ア】

ビュー

ビューとは、導出表ともいい、テーブル(実表)をもとに作られる仮想的な表のことをいいます。

実表に対する射影、結合などによって導出表が得られます。 導出表も条件が整えば更新可能で、導出表は、複数の実表からだけでなく、実表と導出表や導出表同士の組合せによっても作成できます。 また、実表から演算によって求められる値を導出表に含めることができます。

ビューに付与される権限

ビューに付与される権限について触れていきます。

ビューは、一つの表に対して更新可能なビューが定義されていて、このビューの所有者である場合、 元となる表に対してそのビューの所有者がもっているすべての権限を利用することができます。

行の追加と削除が可能なビューを作成するSQL文

行の追加と削除が可能なビューを作成するSQL文について見ていきます。

ビュー表が更新可能であるための条件

ビュー表が更新可能であるための条件として、一般的に以下のような条件があります。

  • 一つの表から作成されている。
  • 集合関数を含んでいない。
  • DISTINCT指定をしていない。
  • GROUP BYやHAVINGを使用していない。
  • WHEREに副問合せを使用していない。
SQL文の例

行の追加と削除が可能なビューを作成するSQL文の例は以下になります。

CREATE VIEW 高額商品(商品番号, 商品名)
      AS SELECT 商品番号, 商品名 FROM 商品 WHERE 商品単価 > 1000

問題の解法

選択肢それぞれについて補足していきます。

【ア】CREATE VIEW 高額商品(商品番号, 商品名)
      AS SELECT 商品番号, 商品名 FROM 商品 WHERE 商品単価 > 1000

商品テーブルから、商品単価が1000を超える商品の商品番号と、商品名を含む高額商品というビューが作成されます。

【イ】CREATE VIEW 受注商品(商品番号)
      AS SELECT DISTINCT 商品番号 FROM 受注

DISTINCTは、表示した時点で同じデータの重複が取り除かれます。 そこで行の削除を行う際、どの行を削除するかがあいまいになってしまうので、操作できないようになっています。

【ウ】CREATE VIEW 商品受注(商品番号, 受注数量)
      AS SELECT 商品番号, SUM(受注数量) FROM 受注 GROUP BY 商品番号

SUMは、指定した列または式すべての合計値を計算して返します。 これを含む行を削除するという操作はできません。

【エ】CREATE VIEW 商品平均受注数量(平均受注数量)
      AS SELECT AVG(受注数量) FROM 受注

集合関数であるAVGは指定した列または式すべての平均値を計算して返します。 SUMと同様、これを含む行を削除するという操作は、データすべてを削除するという解釈もできます。 あいまいさがある操作は行えません。

もっと知識を深めるための参考

  • SQL

    関係データベースのデータの操作を理解するにはデータベース言語(SQL)の知識が必要です。 データベース言語(SQL文)についての入門講座をコンセプトにオリジナルテキストと情報処理試験の過去問もまとめています。

  • データベース

    データベースの方式、設計、データ操作、トランザクション処理、応用など。データベース関連のオリジナルテキストと情報処理試験の過去問もまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問66 副問合せ

“社員”表から、男女それぞれの最年長社員を除くすべての社員を取り出すSQL文とするために、aに入る副問合せはどれか。 ここで、“社員”表は次の構造とし、下線部は主キーを表す。

社員(社員番号, 社員名, 性別, 生年月日)

SELECT 社員番号, 社員名 FROM 社員 AS S1
          WHERE 生年月日 > (   a   )
【ア】SELECT MIN(生年月日) FROM 社員 AS S2
                           GROUP BY S2.性別

【イ】SELECT MIN(生年月日) FROM 社員 AS S2
                           WHERE S1.生年月日 > S2.生年月日
                           OR S1.性別=S2.性別

【ウ】SELECT MIN(生年月日) FROM 社員 AS S2
                           WHERE S1.性別=S2.性別

【エ】SELECT MIN(生年月日) FROM 社員
                           GROUP BY S2.性別

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問66

答えと解説

答え 【ウ】

副問合せ

副問合せとは、SELECT文の条件の中でSELECT文を入れ子にして指定するSQL文のことをいいます。

副問合せの例

“社員”表から、男女それぞれの最年長社員を除くすべての社員を取り出す副問い合わせを用いたSQL文の例です。 “社員”表は次の構造とし、下線部は主キーを表します。

社員(社員番号, 社員名, 性別, 生年月日)

SELECT 社員番号, 社員名 FROM 社員 AS S1
          WHERE 生年月日 > (SELECT MIN(生年月日) FROM 社員 AS S2 GROUP BY S2.性別)

生年月日は、小さい方が年齢が高い点に注意します。 副問合せの部分では、一つ目の社員表(S1表)の社員と性別が同じで最年長の社員を抽出します。

二つ目の社員表(S2表)から一つ目の社員表(S1表)の社員と性別が同じ社員を抽出して、一番年齢が高いMIN(生年月日)を抽出しています。

もっと知識を深めるための参考

  • SELECT文

    SELECT文は、要求されるデータを選択するSQL文です。SQLのSELECT文による問合せの方法、SELECT文の書き方についてまとめています。

  • SQL

    関係データベースのデータの操作を理解するにはデータベース言語(SQL)の知識が必要です。 データベース言語(SQL文)についての入門講座をコンセプトにオリジナルテキストと情報処理試験の過去問もまとめています。

  • データベース

    データベースの方式、設計、データ操作、トランザクション処理、応用など。データベース関連のオリジナルテキストと情報処理試験の過去問もまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問67 前方復帰(ロールフォワード)

チェックポイントを取得するDBMSにおいて、図のように時間経過でシステム障害が発生し、前方復帰によって障害回復を行った。 前方復帰後のa、bの値は幾つか。 ここで、【問67】前方復帰(ロールフォワード)―平成20年秋期ソフトウェア開発技術者 は長方形の左右両端がそれぞれトランザクションの開始と終了を表し、終了時にCOMMITを行う。 また、長方形内の記述は処理内容を表す。T1開始前のa、bの初期値は0とする。

【問67】前方復帰(ロールフォワード)―平成20年秋期ソフトウェア開発技術者
ab
【ア】10
【イ】12
【ウ】42
【エ】46

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問67

答えと解説

答え 【ウ】

ロールフォワード

ロールフォワードとは、前方復帰ともいい、システム障害が発生した時点で、一度チェックポイントの状態までデータを復元し、 続いてログファイルを使ってチェックポイント後のトランザクションを再現して障害直前の状態まで回復させる方法です。

もっと知識を広げるための参考

  • トランザクション処理

    トランザクションとは、利用者から見たデータベースに対する処理の単位です。 利用者からみた場合は1つのデータベース更新処理ですが、データベースから見れば複数の利用者からの処理依頼があり、 データベースの更新を矛盾なく行う必要があります。 データベースにおけるトランザクションの意味、ACID特性などの解説をまとめています。

  • データベース

    データベースの方式、設計、データ操作、トランザクション処理、応用など。データベース関連のオリジナルテキストと情報処理試験の過去問もまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問68 ストアドプロシージャを利用したときの利点

クライアントサーバシステムにおいて、クライアント側からストアドプロシージャを利用したときの利点として、適切なものはどれか。

【ア】クライアントとサーバ間の通信料が削減できる。

【イ】サーバのデータベースアクセス量を軽減できる。

【ウ】サーバのメモリ使用量を削減できる。

【エ】データの格納領域を削減できる。

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問68

答えと解説

答え 【ア】

ストアドプロシージャ

ストアドプロシージャとは何か、その利点は何か見ていきます。

ストアドプロシージャとは

ストアドプロシージャとは、英語でstored procedureのことで、データベースに対する一連の処理手順を1つのプログラムとして、データベース管理システムに保存したものです。

ストアドプロシージャは、繰返しよく使う一連のSQL文を実行可能な形にして、サーバにあらかじめ登録しておいたもので、 クライアントからはプロシージャ名を指定して、呼び出し命令を送信するだけで実行できます。

ストアドプロシージャの利点

ストアドプロシージャを利用したときの利点をまとめると以下になります。

  • ストアドプロシージャは、複数のSQL文から成る手続を1回の呼出しで実行できるので、クライアントとサーバ間の通信回数を減らすことができます。
  • 実行可能な形で登録されるのでサーバ側でSQLをコンパイルする必要がなく、サーバの負荷を減らすことができます。
  • 繰返しや条件分岐などの制御構造をもつことができます。
  • システム全体に共通な処理をプロシージャとして格納することによって、処理の標準化を行うことができます。
  • 機密性の高いデータに対する処理を特定のプロシージャ呼出しに限定することによって、セキュリティを向上させることができます。

問題の解法

SQL文を一つずつ送信しなくてもよいので、クライアントとサーバ間の通信料が削減できます。

サーバのデータベースアクセス量は変わりません。

サーバのメモリ使用量は削減できません。

データの格納領域は削減できません。

もっと知識を深めるための参考

  • クライアントサーバシステム

    クライアントサーバシステムには、2層クライアントサーバシステム、3層クライアントサーバシステムなどがあります。 RPCやストアドプロシージャなどの関連技術が使われています。クライアントサーバシステムをテーマに特徴から3層モデルについてまとめています。

  • システムの構成

    3層クライアントサーバシステム、RAID5のパリティ、Web、クラウドなどシステムの要素、全般的な知識をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問69 トランザクションのACID特性の説明

トランザクションのACID特性の説明として、適切なものはどれか。

【ア】トランザクションでは、実行すべき処理がすべて行われるか、何も処理が行われないかという状態のほかに、処理の一部だけ行われるという状態も発生する。

【イ】トランザクションの実行完了後でも障害の発生によって実行結果が失われることがある。

【ウ】トランザクションの実行の結果が矛盾した状態になることはない。

【エ】トランザクションは相互に関連しており、同時に実行されるほかのトランザクションの影響を受ける。

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問69

答えと解説

答え 【ウ】

トランザクション処理

トランザクションとは、利用者から見たデータベースに対する処理の単位です。 利用者からみた場合は1つのデータベース更新処理ですが、データベースから見れば複数の利用者からの処理依頼があり、 データベースの更新を矛盾なく行う必要があります。

トランザクション管理

データベースは複数の利用者が同時にアクセスするので、トランザクション処理にはACID特性が求められます。 ACID特性の四つの特性の意味などトランザクション管理について見ていきます。

ACID特性

ACID特性とは、読み方は「アシッド」で、トランザクション処理に必要な4つの要素、Atomicity、Consistency、Isolation、Durabilityを頭字語で表した用語です。 データベースは複数の利用者が同時にアクセスするので、トランザクション処理にはACID特性が求められます。4つの特性の意味を見ていきます。

  • Atomicity(原子性)

    一連の処理(トランザクション)をすべて実行するか、1つも処理を実行しないかのどちらかになること

  • Consistency(一貫性or整合性)

    一連の処理(トランザクション)の開始から終了までデータの整合性が保たれ続けること

  • Isolation(独立性or隔離性)

    1つ1つのトランザクションが独立して実行され、他のトランザクションに影響を与えず、また影響を受けないこと

  • Durability(永続性or持続性or耐久性)

    どんな障害が発生してもそのトランザクションの結果は永久に保障されること。

問題の解法

  • 【ア】:原始性に反します。
  • 【イ】:永続性に反します。
  • 【ウ】:正しいです。
  • 【エ】:独立性に反します。

もっと知識を広げるための参考

  • トランザクション処理

    トランザクションとは、利用者から見たデータベースに対する処理の単位です。 利用者からみた場合は1つのデータベース更新処理ですが、データベースから見れば複数の利用者からの処理依頼があり、 データベースの更新を矛盾なく行う必要があります。 データベースにおけるトランザクションの意味、ACID特性などの解説をまとめています。

  • データベース

    データベースの方式、設計、データ操作、トランザクション処理、応用など。データベース関連のオリジナルテキストと情報処理試験の過去問もまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問70 参照制約

“従業員”表と“職歴”表の間で、“従業員”表からある従業員の行を削除するSQL操作を行う場合に、“職歴”表に削除する従業員の行が存在しないことを要求する整合性制約はどれか。

【ア】一意性制約

【イ】参照制約

【ウ】定義域制約

【エ】表検査制約

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問70

答えと解説

答え 【イ】

参照制約

参照制約とは、データ更新時に関連する表間で不整合が起きないようにする制約です。

例えば、“従業員”表と“職歴”表の間で、“従業員”表からある従業員の行を削除するSQL操作を行う場合に、 “職歴”表に削除する従業員の行が存在しないことを要求する整合性制約になります。

もっと知識を深めるための参考

  • SQL

    関係データベースのデータの操作を理解するにはデータベース言語(SQL)の知識が必要です。 データベース言語(SQL文)についての入門講座をコンセプトにオリジナルテキストと情報処理試験の過去問もまとめています。

  • データベース

    データベースの方式、設計、データ操作、トランザクション処理、応用など。データベース関連のオリジナルテキストと情報処理試験の過去問もまとめています。

  • マネジメント系

    情報処理試験対策用のサイトオリジナル教科書をテーマにマネジメント系の知識をまとめています。

問71 公開鍵暗号方式に関する問題

公開鍵暗号方式に関する記述として、適切なものはどれか。

【ア】DESやAESなどの暗号方式がある。

【イ】RSAや楕円曲線暗号などの暗号方式がある。

【ウ】暗号化鍵と複合鍵が同一である。

【エ】共通鍵の配送が必要である。

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問71

答えと解説

答え 【イ】

問題の解法

各選択肢についてコメントしていきます。

【ア】の「DESやAESなどの暗号方式がある。」は共通鍵暗号方式の記述になります。

【イ】の「RSAや楕円曲線暗号などの暗号方式がある。」は公開鍵暗号方式の記述になります。 RSAや楕円曲線暗号は公開鍵暗号方式の代表的な方式になります。

【ウ】の「暗号化鍵と復号鍵が同一である。」は共通鍵暗号方式の記述になります。

【エ】の「共通鍵の配送が必要である。」は共通鍵暗号方式の記述になります。

以下では暗号化方式の種類から登場する暗号方式まで説明をまとめています。

暗号化方式の種類

暗号化方式には、暗号化と復号で同じ鍵を使う共通鍵暗号方式と、異なる鍵を用いる公開鍵暗号方式があります。 なお、SHA-256などのハッシュ関数は復号できないので暗号化方式としては分類されません。

共通鍵暗号方式

共通鍵暗号方式とは、英語でCommon key cryptosystem。暗号化と復号に同じ鍵を用いる方法です。 暗号鍵と復号鍵をいずれも秘密にしておく必要があることから、秘密鍵暗号方式とも呼ばれます。 現在の共通鍵暗号方式はブロック暗号とストリーム暗号の2つがあります。

ブロック暗号

共通鍵暗号方式の1つブロック暗号についてまとめていきます。

DES

DESとは、Data Encryption Standardを共通鍵暗号方式の1つでブロック暗号方式です。 1975年米国商務省標準局(現在のNIST)で公表され、1977年以降米国政府の標準として採用されました。 ブロック長は64ビットで56ビットの鍵を使用します。

AES

AESとは、Advanced Encryption Standardの略、共通鍵暗号方式の1つでブロック暗号方式です。 DESの後継となる米国政府の標準暗号方式です。ブロック長は128ビットで、使用する鍵の長さは128/192/256ビットの中から選択できます。

ストリーム暗号

共通鍵暗号方式の1つストリーム暗号についてまとめていきます。

KCipher-2

KCipher-2とは、読み方はケーサイファー・ツーで、2007年に九州大学とKDDI研究所により共同開発されたストリーム暗号です。

公開鍵暗号方式

公開鍵暗号方式とは、英語でPublic Key Cryptography。 公開鍵と秘密鍵の対になる2つの鍵を使ってデータの暗号化/復号化を行う暗号方式です。 送信者はあらかじめ受信者が公開している公開鍵で暗号化してデータを送信し、受信者は自分の秘密鍵で復号化します。

暗号化用と復号用の2種類のかぎを利用して、一方を誰でも入手できるかぎにします。 受信者は、2種類のペアとなるかぎを作成して、一方を送信者のために公開し、他方を受信者が保有します。 送信者は、受信者から公開されたかぎ(公開かぎ)を利用して情報を暗号化して送信し、受信者は自分のもつかぎ(秘密かぎ)で復号します。

例えば、ある商店が、顧客からネットワークを通じて注文(メッセージ)を受信するとき、公開鍵暗号方式を利用して、注文の内容が第三者に分からないようにしたい場合、 公開かぎによる文書の暗号化は誰でもできますが、暗号文を解読できるかぎは秘密のため、秘密かぎを持つ商店のみ平文化が可能です。

公開鍵暗号方式の鍵の数

公開鍵暗号方式は、n 人が相互に暗号化/復号化を行う必要があるので「秘密鍵」 と 「公開鍵」 というペアの鍵は、nペア必要です。 公開鍵、秘密鍵をそれぞれ一つと数えるので2×nとなります。

公開鍵暗号方式の代表的な方式

RSAや楕円曲線暗号が公開鍵暗号方式の代表的な方式です。 公開鍵暗号方式の代表的な方式について見ていきます。

ElGamal暗号

ElGamal暗号とは、読み方はエルガガマルアンゴウ、位数が大きな群の離散対数問題が困難であることを安全性の根拠とした公開鍵暗号方式の1つです。

RSA

RSAとは、Rivest Shamir Adlemanの略、公開鍵暗号方式の標準として広く普及しています。 桁数の大きな整数を素因数分解するのが困難であるということを安全性の根拠にしています。

楕円曲線暗号

楕円曲線暗号とは、楕円曲線上の離散対数問題の難しさを安全性の根拠にする公開鍵暗号方式です。

もっと知識を深めるための参考

  • 公開鍵暗号方式

    公開鍵暗号方式とは、英語でPublic Key Cryptography。 公開鍵と秘密鍵の対になる2つの鍵を使ってデータの暗号化/復号化を行う暗号方式です。秘密鍵やRSAなどの代表的な暗号の例についてまとめています。

  • 暗号技術

    脅威を防止するために用いられる暗号技術の活用、暗号化の種類、代表的な暗号方式の仕組み、特徴など、暗号技術についてまとめています。

  • セキュリティ

    情報セキュリティとは何か、情報セキュリティのテキストコンテンツをテーマに知識をまとめています。またIPAの情報処理試験の情報セキュリティ関連の問題も解説しています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問72 ディジタル署名の手法

公開鍵基盤とハッシュ関数を利用したメッセージのディジタル署名の手法はどれか。

【ア】受信者は、送信者の公開鍵とハッシュ関数を用いてハッシュ符号を複合し、メッセージを得る。

【イ】受信者は、ハッシュ関数を用いてメッセージからハッシュ符号を生成し、送信者の公開鍵で複合したハッシュ符号と比較する。

【ウ】送信者は、自分の公開鍵とハッシュ関数を用いてメッセージからハッシュ符号を生成し、メッセージとともに送信する。

【エ】送信者は、ハッシュ関数を用いて送信者の秘密鍵のハッシュ符号を生成し、メッセージとともに送信する。

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問72

答えと解説

答え 【イ】

公開鍵暗号方式

公開鍵暗号方式とは、英語でPublic Key Cryptography。 公開鍵と秘密鍵の対になる2つの鍵を使ってデータの暗号化/復号化を行う暗号方式です。 送信者はあらかじめ受信者が公開している公開鍵で暗号化してデータを送信し、受信者は自分の秘密鍵で復号化します。

ハッシュ関数

ハッシュ関数とは、データから一定長のメッセージダイジェストを生成する1方向関数のことをいいます。 暗号という名称を冠していませんが、暗号技術の一種として重要な役割を果たしています。

公開鍵基盤

公開鍵基盤とは、PKI(Publuic Key Infrastructure)ともいい、公開鍵暗号技術に基づき、ディジタル証明書やCAによって実現される相互認証の基盤です。

公開鍵暗号技術はアルゴリズムが公開されているため、だれでも公開鍵と秘密鍵を生成することができます。 ですので、公開鍵暗号技術による認証や署名では、公開鍵や秘密鍵の正当性が保証されていることが重要です。 そのため、信頼できる第三者(認証局)が署名し、発行するディジタル証明書(公開鍵証明書)が用いられています。 公開鍵基盤は、ディジタル証明書と、それを発行・管理する機関である認証局によって気づかれる相互認証の基盤ととらえることができます。

デジタル署名

デジタル署名とは、ハッシュ関数と公開鍵基盤(PKI)の技術を組み合わせて作りだされた電子的な署名です。

公開鍵基盤とハッシュ関数を利用したメッセージのディジタル署名の手法

公開鍵基盤とハッシュ関数を利用したメッセージのディジタル署名の手法では、受信者は、ハッシュ関数を用いてメッセージからハッシュ符号を生成し、送信者の公開鍵で複合したハッシュ符号と比較します。

もっと知識を広げるための参考

  • 認証技術

    XMLデジタル署名、メッセージ認証符号、チャレンジレスポンス認証方式など、認証の種類、仕組み、特徴、脅威を防止するためにどのような認証技術が用いられるか、認証技術が何を証明するかなど、認証技術についてまとめています。

  • 情報セキュリティ

    情報セキュリティとは何か、情報セキュリティのテキストコンテンツをテーマに知識をまとめています。またIPAの情報処理試験の情報セキュリティ関連の問題も解説しています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問73 SQLインジェクション攻撃を防ぐ方法

SQLインジェクション攻撃を防ぐ方法はどれか。

【ア】入力値から、上位ディレクトリを指定する文字(../)を取り除く。

【イ】入力値から、データベースへの問合せや操作において特別な意味をもつ文字を解釈されないよう保護する。

【ウ】入力値にHTMLタグが含まれていたら、解釈、実行できないほかの文字列に置き換える。

【エ】入力値の全体の長さが制限を超えていたときは受け付けない。

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問73

答えと解説

答え 【イ】

SQLインジェクション

SQLインジェクションとは、Webページ上の入力フォームなどパラメータとして送信される文字列から生成されたSQL文を不正なものにするようにパラメータを変更して、 Webアプリケーションを誤動作させたり、データベースの内容を不正に閲覧したりするサイバー攻撃のことをいいます。

SQLインジェクション攻撃を防ぐ方法

SQLインジェクションの原因、対策についてまとめていきます。

原因

SQLを実行するアプリケーションで、SQL文のリテラル部分の生成処理のチェック不備が原因です。

フォームや入力値、GETやPOSTなどの入力値を使用して、実行するSQL文に組み立てる際に入力値に害のあるコードが含まれていないか十分にチェックされないことが原因になります。

対策

SQLインジェクション攻撃を防ぐ方法は、SQLとして解釈されないように文字列をチェックします。 また、SQLインジェクション攻撃の被害を防ぐ、最小限にする対策としては、以下のような方法があります。

  • プレースホルダを利用する
  • データベースのアカウントがもつデータベースアクセス権限を必要最小限にする

もっと知識を深めるための参考

  • SQLインジェクション

    SQLインジェクションは、アプリケーションのSQL文生成処理の不備を突いたサイバー攻撃です。 SQLインジェクションのメカニズム、攻撃例、対策、IPA情報処理試験の問題など、SQLインジェクションについての情報をまとめています。

  • 攻撃手法

    情報システムへの外部からの不正な行為や手法など、サイバー攻撃の種類と対策方法についてまとめています。

  • セキュリティ

    情報セキュリティとは何か、情報セキュリティのテキストコンテンツをテーマに知識をまとめています。またIPAの情報処理試験の情報セキュリティ関連の問題も解説しています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問74 パスワードに設定可能な個数

パスワードに使用できる文字の種類の数をM、パスワードの文字数をnとするとき、設定できるパスワードの理論的な総数を求める数式はどれか。

【問74】パスワードに設定可能な個数―平成20年秋期ソフトウェア開発技術者

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問74

答えと解説

答え 【ア】

作成可能なパスワードの数

作成可能なパスワードの数は、Mnです。

例えば、英数字(27+10=37)の最大8文字とするパスワードの場合、作成可能なパスワードの数は、37×37×37×37×37×37×37×37=378です。

もっと知識を深めるための参考

  • 利用者認証

    アクセス管理、samlの読み方、リスクベース、マトリックス認証など利用者認証についてまとめています。

  • 情報セキュリティ

    情報セキュリティとは何か、情報セキュリティのテキストコンテンツをテーマに知識をまとめています。またIPAの情報処理試験の情報セキュリティ関連の問題も解説しています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問75 テンペスト技術(TEMPEST:Transient Electromagnetic Pulse Surveillance Technology)

テンペスト技術の説明とその対策として、適切なものはどれか。

【ア】ディスプレイやケーブルなどから放射される電磁波を傍受し、内容を観察する技術であり、電磁波遮断が施された部屋に機器を設置することによって対抗する。

【イ】データ通信の途中でパケットを横取りし、内容を改ざんする技術であり、ディジタル署名による改ざん検知の仕組みを実装することによって対抗する。

【ウ】マクロウイルスにおいて使われる時術であり、ウイルス対策ソフトを導入し、最新の定義ファイルを適用することによって対抗する。

【エ】無線LANの信号から通信内容を傍受し、解析する技術であり、通信パケットを暗号化することによって対抗する。

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問75

答えと解説

答え 【ア】

テンペスト攻撃

テンペスト攻撃とは、テンペスト技術を用いて、PCのディスプレイ装置や接続ケーブルなどから放射される微弱な電磁波を傍受し、それを解析することによって、入力された文字や画面に表示された情報を盗む攻撃です。

テンペスト技術とは、英語でTEMPEST(Transient Electromagnetic Pulse Surveillance Technology)といい、ディスプレイやケーブルなどから放射される電磁波を傍受し、内容を観察する技術です。 電磁波遮断が施された部屋に機器を設置することによって対抗します。

主な目的

攻撃の主な目的は以下になります。

  • 機密情報の取得

ペンテスト攻撃の対策

ペンテスト攻撃への対策としては、電磁波対策が施されたPCを使用する、電磁波を遮断する製品を使用する、電磁波遮断対策が施された部屋や施設内でPCを使用するなどの方法があります。

もっと知識を深めるための参考

  • テンペスト攻撃

    テンペスト攻撃とは、テンペスト技術を用いて、 PCのディスプレイ装置や接続ケーブルなどから放射される微弱な電磁波を傍受し、 それを解析することによって、入力された文字や画面に表示された情報を盗む攻撃です。

  • 攻撃手法

    情報システムへの外部からの不正な行為や手法など、サイバー攻撃の種類と対策方法についてまとめています。

  • セキュリティ

    情報セキュリティとは何か、情報セキュリティのテキストコンテンツをテーマに知識をまとめています。またIPAの情報処理試験の情報セキュリティ関連の問題も解説しています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問76 SSH(Secure Shell)

SSHを説明したものはどれか。

【ア】MIMEを拡張した電子メールの暗号化とディジタル署名に関する標準

【イ】オンラインショッピングで安全にクレジット決済を行うための仕様

【ウ】対称暗号技術と非対称暗号技術を併用して電子メールの暗号化、複合の機能をもつツール

【エ】リモートログインやリモートファイルコピーのセキュリティを強化したツールおよびプロトコル

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問76

答えと解説

答え 【エ】

SSH

SSHとは、Secure Shellの略で、リモートログインやリモートファイルコピーのセキュリティを強化したツールおよびプロトコルです。

SSHの特徴

TCP層とアプリケーション層で暗号化を行う方式で、セッションごとに異なる暗号かぎを生成して使用します。 暗号化アルゴリズムとして、Triple-DES、AES、Blowfish、Arcfourなどが用意されています。 パスワードを用いた認証の他に、公開鍵暗号を用いたRSAなどが使用可能です。

もっと知識を広げるための参考

  • セキュアプロトコル

    IPSec、SSL/TLS、SSHなど通信データの盗聴、不正接続を防ぐセキュアプロトコルについてまとめています。IPSecのトンネルモードやTLSハンドシェイクなどの情報も補足しています。

  • 情報セキュリティ

    情報セキュリティとは何か、情報セキュリティのテキストコンテンツをテーマに知識をまとめています。またIPAの情報処理試験の情報セキュリティ関連の問題も解説しています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問77 物理的安全管理措置

経済産業省“個人情報の保護に関する法律についての経済産業分野を対象とするガイドライン”の物理的安全管理措置に該当するものはどれか。

【ア】個人データの安全管理に関わる従業者の役割及び責任についての教育・訓練を実施する。

【イ】個人データの漏えいなどの事故が発生した場合の、代表者などへの報告連絡体制を整備する。

【ウ】個人データを取り扱う情報システムへのアクセスの成功と失敗の記録を取得する。

【エ】個人データを取り扱う情報システムを、ICカードによる入退室管理を実施している室内に設置する。

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問77

答えと解説

答え 【エ】

個人情報の保護に関する法律についての経済産業分野を対象とするガイドライン

「個人情報の保護に関する法律についての経済産業分野を対象とするガイドライン」は2004年10月に初版発行されたガイドラインです。 個人情報保護法で使用する用語や条文に関する説明のほか、同法のルールに適合している例と違反している例について具体的に示すなどして、 個人情報取扱事業者が同法への対応として行う必要がある事項を理解できるようにしています。

個人データの漏えいなどのために講じるべき事項について、組織的安全管理措置、人的安全管理措置、物理的安全管理措置、技術的安全管理措置の観点から具体的に示しています。

物理的安全管理措置

「個人情報の保護に関する法律についての経済産業分野を対象とするガイドライン」の物理的安全管理措置では、以下があります。

  1. 入退館(室)管理の実施
  2. 盗難等の防止
  3. 機器・装置等の物理的な保護

たとえば、個人データを取り扱う情報システムを、ICカードによる入退室管理を実施している室内に設置するとあります。

もっと知識を深めるための参考

  • 個人情報保護法、マイナンバー法

    個人情報保護法とは、正式名は「個人情報の保護に関する法律」で個人情報の取り扱いに関する法律です。個人情報保護委員会“個人情報の保護に関する法律についてのガイドライン(通則編)や個人情報保護法、マイナンバー法との違い、などを解説していきます。

  • 法務

    ITの法務をテーマにサイバーセキュリティ基本法などITの法律、ガイドライン、標準化一覧情報をまとめています。

  • ストラテジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにストラテジ系の知識をまとめています。

問78 JIS Q 9001:2000(ISO 9001:2000)品質マネジメントシステム

“JIS Q 9001:2000(ISO 9001:2000)品質マネジメントシステム―要求事項”の規定に関する記述のうち、適切なものはどれか。

【ア】組織の品質方針については、組織の経営者ではなく、供給者が定め、文書化する。

【イ】組織は、製品が規格要求事項に適合することを確実にする手段として、品質マネジメントシステムを確立し、文書化してISOに報告する。

【ウ】内部監査においては、内部目的のためにその組織自身又は代理人が、品質マネジメントシステムの規格要求事項への適合性を監査する。

【エ】内部監査は、監査される活動の状況及び重要性に基づいて予定を立て、監査される活動の直接責任を含むたチームで行う。

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問78

答えと解説

答え 【エ】

JIS Q 9001(ISO 9001)

JIS Q 9001は、2000年にISO9001が発行されたことを受けて、日本工業規格としてせいていされました。 規格では、品質マネジメントシステム、経営者の責任、資源の運用管理、製品実現、測定・分析および改善などについて規定されています。

JIS Q 9001:2000(ISO 9001:2000)品質マネジメントシステム

“JIS Q 9001:2000(ISO 9001:2000)品質マネジメントシステム―要求事項”の規定には、内部監査においては、内部目的のためにその組織自身又は代理人が、品質マネジメントシステムの規格要求事項への適合性を監査するという内容があります。

もっと知識を深めるための参考

  • サービスマネジメント

    サービスマネジメントをテーマに、入門知識をまとめています。 サービスマネジメントの目的と考え方、サービスマネジメントシステムの確立及び改善、ITIL、代表的なSLA項目やサービスカタログなどITサービスマネジメントについてまとめています。 サービスマネジメント関連の参考書積、情報処理試験の過去問もまとめています。

  • マネジメント系

    情報処理試験対策用のサイトオリジナル教科書をテーマにマネジメント系の知識をまとめています。

問79 SAML(Security Assertion Markup Language)

SAML(Security Assertion Markup Language)の説明として、最も適切なものはどれか。

【ア】Webサービスに関する情報を広く公開し、それらが提供する機能などを検索するための仕組み

【イ】権限のない利用者による傍受、読み取り、改ざんから電子メールを保護して送信するためのプロトコル

【ウ】ディジタル署名に使われる鍵情報を効率よく管理するためのWebサービスプロトコル

【エ】認証情報に加え、属性情報とアクセス制御情報を異なるドメインに伝達するためのWebサービスのプロトコル

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問79

答えと解説

答え 【エ】

SAML

SAMLとは、Security Assertion Markup Languageの略で、認証情報に加え、属性情報とアクセス制御情報を異なるドメインに伝達するためのXMLの規格です。

SAMLによって、これに対応した複数のWebサイト間での認証情報を交換できるため、1度認証を受けることで複数のサイトでサービスを利用できる、シングルサイオンが実現可能です。

もっと知識を深めるための参考

  • 利用者認証

    アクセス管理、samlの読み方、リスクベース、マトリックス認証など利用者認証についてまとめています。

  • 情報セキュリティ

    情報セキュリティとは何か、情報セキュリティのテキストコンテンツをテーマに知識をまとめています。またIPAの情報処理試験の情報セキュリティ関連の問題も解説しています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

問80 UCS-2(Universal multi-octet Character Set 2)

UCS-2に関する記述として、適切なものはどれか。

【ア】IBM社がSystem/360と同時に発表した8ビットコードであり、256種の文字を表現できる。

【イ】ISO/IEC 10646(JIS X 0221)のBMP(Basic Multilingual Plane:基本多言語面)として採用され、1文字を2バイトで表現する文字コードである。

【ウ】JIS X 0208に定められた漢字コードであり、第1水準と第2水準に分けて、1文字を2バイトで表現する文字コードである。

【エ】JIS X 0208に定められた文字コードであり、いわゆる半角と全角の文字を切替符号なしで混在できる。

出典:平成20年度 秋期 ソフトウェア開発技術者 午前 問題 問80

答えと解説

答え 【イ】

UCS-2

UCS-2とは、Universal multi-octet Character Set 2の略で、ISO/IEC 10646(JIS X 0221)のBMP(Basic Multilingual Plane:基本多言語面)として採用され、1文字を2バイトで表現する文字コードです。

もっと知識を深めるための参考

  • 情報に関する理論

    情報に関する理論として、形式言語と有限オートマトンの状態遷移図などの解説や演習問題をまとめています。

  • テクノロジ系

    情報処理試験対策用のサイトオリジナル教科書をテーマにテクノロジ系の知識をまとめています。

更新履歴

戻る

スポンサーリンク

情報処理の知識体系

各試験の問題と解説

ランダム出題・採点アプリ

プログラミング

スポンサーリンク