運営管理 資材・在庫管理 経営情報システム 情報システムの開発 プログラム言語とWebアプリケーション 生産計画と生産統制 在庫管理 コンピュータの基礎

情報システム開発の流れ

 情報システムの開発プロセスに関して、次のa~cの順序として、最も適切なものを下記の解答群から選べ。

a 情報システム導入に必要な要員や費用の見積り

b プログラムの機能や処理内容の設計

c ユーザ・インターフェースの設計

ア a → b → c

イ a → c → b〇

ウ b → c → a〇×

エ c → a → b

aの「情報システム導入に必要な要員や費用の見積り」は、情報システムの開発プロセスの「基本計画」で行われます。

bの「プログラムの機能や処理内容の設計」は、プログラム内部の仕様を設計することですから、「内部設計」で行われます。

cの「ユーザ・インターフェースの設計」は、「外部設計」で行われます。なお、「外部設計」では、データベースの設計なども含まれます。基本的な流れとしては、外部設計→内部設計の順に行われますので、a→c→bの順序で実施されます。

情報システムの開発手法

 情報システムの開発手法に関する記述として、最も適切なものはどれか。

ア ウォーターフォール型のシステム開発では、システムの機能や構造を決める内部設計が行われた後に、ユーザ・インターフェースなどを決める外部設計が行われる。×

イ RADは、ウォーターフォール型のシステム開発プロセスを、より短期間で実施できることを目的とした手法である。〇×RAD(Rapid Application Development)は、プロトタイプ型と同じく試作品を作って開発を進める手法です。プロトタイプを完成イメージに近付けるため、制作と評価を繰り返しながら開発が進められます。

ウ スパイラル型のシステム開発では、システムの部分単位に開発プロセスを繰り返しながら、徐々にシステムの完成度を高めていく。〇

エ プロトタイピングでは、プロトタイプが問題ないことをユーザに確認してもらえば、その後に開発する本格的なシステムは問題なく稼働する。×プロトタイピング(プロトタイプ型)は、プロトタイプが問題ないことをユーザに確認してもらいますが、その後に本格的なシステムを開発するプロセスではテストを行います。

情報システムの開発手法を、開発の手順で大きく分類すると、ウォーターフォール型、プロトタイプ型、スパイラル型の開発手法があります。

 ウォーターフォール型は、上流工程から順番に実施していく方法です。ウォーターフォール型では、基本計画を最初に実行し終了してから、設計に移ります。設計が終了した後に、開発に移り、最後にテストを実行して運用を開始します。

 プロトタイプ型は、プロジェクトの早い段階で、プロトタイプ(試作品)を作成し、それをユーザが確認してから本格的に開発する方法です。

 スパイラル型は、設計、開発、テストという手順を何度もくり返すことで、徐々にシステムを成長させていく開発手法です。

PMBOK

 プロジェクト管理の知識体系であるPMBOKに関する記述として、最も不適切なものはどれか。

ア PMBOKは、情報システム以外のプロジェクトにも対応している。〇PMBOKは、情報システムに限らず、プロジェクトマネジメントの遂行に必要な基本的な知識を汎用的な形で体系立てて整理したものです。

イ PMBOKには、プロジェクトを遂行する際の観点として、スコープ、時間、コスト、品質、開発などの知識エリアが定められている。〇×「開発」という知識エリアは定められていません。

ウ PMBOKは、米国プロジェクトマネジメント協会(PMI)が策定・改定している。〇米国プロジェクトマネジメント協会(PMI)では、PMBOKに準拠した国際的な認定制度「PMP」(Project Management Professional)を展開しています。

エ WBSは、成果物を得るために必要な工程や作業について記述する。〇×〇PMBOKのスコープマネジメントにて、WBSが取り上げられています。WBS(Work Breakdown Structure)とは、プロジェクトの全ての作業を階層構造で表したものです。

PMBOK(Project Management Body of Knowledge)は、プロジェクト管理の方法を体系的にまとめたものであり、プロジェクト管理の知識に関する国際標準と位置づけられます。

工数と費用の見積り

 情報システム開発の工数と費用の見積りに関する次の文中の空欄A~Cに入る語句の組み合わせとして、最も適切なものを下記の解答群から選べ。


 情報システムの開発工数を見積る手法の1つとして、システムの持つ機能をもとに、機能ごとの複雑さなどから( A )という点数をつけて評価する方法がある。

 この方法では、まずシステムの機能を洗い出し、機能のタイプごとに機能の数を数えます。次に、機能ごとに複雑さを評価し、( B )段階のタイプに分けます。さらに、各タイプ別の係数を掛けて( A )を計算します。

 これは、詳細なプログラムなどの設計の( C )に行われます。

ア A:ファンクションポイント〇 B:3〇 C:前〇

イ A:スコアリングモデル B:4 C:前

ウ A:ファンクションポイント〇 B:4 C:後

エ A:スコアリングモデル B:3 C:後

ファンクションポイント法は、開発工数の見積りの代表的な方法の1つです。ファンクションポイント法は、機能(ファンクション)ごとの複雑さによって点数を付け、その点数を合計することによって工数を見積る方法です。この点数のことを「ファンクションポイント」と呼びます。

 ファンクションポイント法では、まずシステムの機能を洗い出し、機能のタイプごとに機能の数を数えます。次に、機能ごとに複雑さを評価し、「簡単」「普通」「複雑」の3段階に分けます。

スコアリングモデルとは、定性的な評価項目を定量化する方法です。定性的な評価項目のそれぞれに対して重み付けをして、一つの数式で表現し定量化します。

このような開発工数の見積もりは、詳細なプログラムを設計する前の「基本設計」のプロセスにて行われます。ファンクションポイント法では、必要な機能が分かった段階で工数と費用の概算見積りを行うことができます。

UML

 業務システムの分析・設計に用いられるUMLに関する記述として、最も適切なものはどれか。

ア UMLは、オブジェクト指向によるシステム開発の方法論である。×UMLは、オブジェクト指向アプローチのシステム開発における、設計図の統一表記法です。システム開発に関する方法論は含まれていません。

イ UMLにて、設計図をどのような順序で用いるかは、UML標準で決められている。×UMLは、設計図の種類や書き方を定義したものであり、方法論は含まれていないため、どの設計書をどういう順序で使うかは定められていません。

ウ ネットワーク図は、オブジェクト間の処理プロセスを表現するUMLのダイアグラムの1つである。×シーケンス図の説明に関する記述です。UMLにネットワーク図というダイアグラムは含まれていません。

エ ユースケース図は、システムにどのような利用者がいるか、その利用者がどのような操作をするかを表すUMLのダイアグラムの1つである。〇ユースケース図では、機能をユースケースで表し、機能を利用する人や外部システムをアクターで表して、これらの関係を表現します。

UMLは、オブジェクト指向アプローチのシステム開発における、設計図の統一表記法です。Unified(統一な) Modeling(モデリング) Language(言語)の意味で、 システム開発中に統一されたモデリング言語です。

 オブジェクト指向アプローチでは、データと処理をカプセル化してオブジェクトにすることで、オブジェクトを部品のように組み合わせて開発をすることができます。

 UMLでは、システム開発の様々な段階で使用する、各種の図表が定義されています。UMLの代表的な図表には次のようなものがあります。

ユースケース図

 要件定義などの上流工程で、業務の機能を表現するために使われる

クラス図

 オブジェクトの「型」を定義する

シーケンス図

 オブジェクト間の処理プロセスを表す

情報システムの設計1

 情報システムの設計に関する記述として、最も適切なものはどれか。

ア DFDは、プロセス指向アプローチで用いられ、データの流れと時間的情報を記述する手法である。〇×DFDは、データの処理の流れを記述しますが、時間的情報については記述されません。

イ ER図は、データ指向アプローチで用いられる図表であり、データ間の関連を描画する。×〇なお、ER図は、ERD(Entity-Relationship Diagram)とも呼ばれます。

ウ STDは、オブジェクト指向アプローチで用いられる、モデリング言語の1つである。×STD(State Transition Diagram)は、状態遷移図とも呼ばれ、システムの状態がイベントによってどのように変わるのかを表した図で、外部設計や内部設計において、主に画面設計の際に用いられます。オブジェクト指向アプローチで用いられるモデリング言語としては、UMLがあります。

エ DOAでは、システム開発後のデータ構造の変更が必要な際、一部のプログラムへの影響で抑えられやすい。〇×DOAでは、プログラムを追加・変更するときには、データ構造は変更しなくて良いため、システムの変更や拡張に対応しやすいというメリットがあります。一方で、データ構造を変更する場合は、関連するプログラムを全て変更する必要があります。

情報システムの設計アプローチには、POA(プロセス指向アプローチ)DOA(データ指向アプローチ)OOA(オブジェクト指向アプローチ)などがあります。

 POAでは、対象とする業務プロセスに着目します。業務プロセスを、フローチャートDFD(データフローダイアグラム)などの図表を使ってモデリングし、それを基にシステムを開発します。フローチャートは、処理の流れを表した図表であり、処理の順番や条件による処理の分岐などを表します。DFDは、データと処理の流れを表す図表です。

 DOAでは、データ構造に着目するアプローチです。データ構造をE-Rモデルなどの図表を使って表します。E-Rモデルでは、データ構造を、データの集合であるエンティティと、エンティティ間のつながりであるリレーションで表します。

情報システムの設計2

 情報システムの設計に用いられる下記の図に関する説明として、最も適切なものを下記の解答群の中から選べ。

[解答群]

ア データベースをどのように構築したらいいかを示すERDである。×

イ 業務とデータの処理の関係を記述したDFDである。〇

ウ データと処理をセットにしたクラス図である。×

エ 図中の「商品ファイル」や「在庫ファイル」は、データマートと呼ばれる。×図中の「商品ファイル」や「注文ファイル」は、データストアです。データマートとは、全社のデータが蓄積されたデータウェアハウスから、テーマ別にデータを抽出したものであり、BI(Business Intelligence)にて利用されます。

DOA(データ指向アプローチ)で用いられる、構造を表す図表であるERD(ER図)は、次のように記述されます。

 データ構造を、データの集合であるエンティティと、エンティティ間のつながりであるリレーションで表します。

 データ構造をE-Rモデルなどの図表を使って表します。E-Rモデルでは、データ構造を、データの集合であるエンティティと、エンティティ間のつながりであるリレーションで表します。

 OOA(オブジェクト指向アプローチ)で用いられる、UMLのクラス図は、次のように記述されます。

 オブジェクトに含まれるデータの種類や、処理であるメソッドの種類を定義したクラスを表します。

XP(エクストリーム・プログラミング)

XP(エクストリーム・プログラミング)に関する記述として、最も不適切なものはどれか。

ア XPはアジャイル開発の手法の1つであり、小規模なシステムの開発に向いている。〇XPを含め、アジャイル開発は比較的小規模なシステムの開発に向いています。

イ XPでは、設計・開発・テストを繰り返して、システム開発を進めていく。×〇アジャイル開発手法では、開発対象を多数の小さな機能に分割し、1つの反復 (イテレーション) で1機能を開発します。 イテレーションのサイクルを継続して行い、機能を追加開発していきます。各イテレーションの中では、設計、開発(コーディング)、テストといった工程を行います。

ウ XPのプラクティスとして、ビジュアルプログラミングが定められている。×XPには、複数のプラクティスが定められていますが、ビジュアルプログラミングというプラクティスは含まれていません。XPの代表的なプラクティスとして、ペアプログラミングが挙げられます。ペアプログラミングでは、1人がプログラムのコードを書き、隣にいるもう1人が同時にそれをチェックしながら作業を進めます。これにより、集中力を高め、コードのチェックをしながら作業を進行することができます。

エ XPでは、原理とすべき価値と具体的なプラクティスが定められている。〇XPの価値とは、「コミュニケーション」、「シンプル」、「フィードバック」、「勇気」、「尊重」です。これらの価値に基づいて、具体的なプラクティス(実践)が定められています。

RAD(Rapid Application Development)

 RAD(Rapid Application Development)に関する記述として、最も適切なものはどれか。

ア RADは、比較的長期間のプロジェクトに適用される開発手法である。×RADは、小規模・短期間のプロジェクトに適用される手法です。

イ RADでは、開発サイクルを繰り返すことによって、システムの完成度を高めていく。×RADは、プロトタイプと呼ばれるシステムの完成イメージを何度も制作、評価し、次第に完成品に近づけていきます。開発サイクルを繰り返すことによって、システムの完成度を高めていくゆく手法は、スパイラルモデルと言います。

ウ RADでは、エンジニアだけでなく、エンドユーザも含めたチームでプロジェクトを進める。〇RADでは、プロトタイプをエンドユーザが評価・確認しながら、開発を進めていきます。

エ RADで用いられるCASEツールは、コーディングやテスト工程の生産を高めるためのものであり、設計工程は対象としていない。×CASEツールは、従来は人間の手で行っていた、設計工程や、プログラミングの作業を、コンピュータで支援するためのソフトウェアです。CASE ツールには、設計など上流工程を支援する「上流CASEツール」、プログラミングなどの下流工程を支援する「下流CASEツール」があります。また、これらを統合した「統合CASEツール」もあります。

RAD(Rapid Application Development)は、プロトタイプと呼ばれるシステムの完成イメージを何度も制作、評価し、プロトタイプを次第に完成品に近づけてゆく手法です。ウォーターフォールモデルなど従来の手法より迅速に開発を進められます。

 システム開発の工程をプロトタイピングやCASEツールなどの手法を用いることで、エンドユーザを含む少人数のチームで担当し、開発期間を短縮します。

結合テスト

結合テストに関する記述として、最も不適切なものはどれか。

ア 結合テストの方法の1つにビッグバンテストがあり、複数のモジュールを一挙に結合して、その動作を検証する。〇

イ ビッグバンテストでは、結合テスト全体の時間が短縮できるメリットがある一方、バグのある箇所の特定が難しく、かえって時間がかかってしまったり、バグが残りやすくなったりするなどのリスクもある。〇

ウ 上位のモジュールから順番に結合してテストをしていく手法をトップダウンテストという。また、下位のモジュールから順番に結合してテストをしていく手法のことを、ボトムアップテストという。〇

エ 上位モジュールと下位モジュールを結合してテストを実施したいが上位モジュールが完成していない場合、スタブと呼ばれるダミーモジュールを作ってテストする。×

上位のモジュールから順番に結合してテストをしていく手法をトップダウンテストといいます。上位のモジュールに下位のモジュールを組み合わせる際、まだ下位のモジュールが完成していない場合があります。その際、下位のモジュールのダミーを利用しますが、そのダミーモジュールのことをスタブ(stub 切り株、半券、(何かが減ったり短くなった)残り、などの意味)といいます。

 下位のモジュールから順番に結合してテストをしていく手法のことを、ボトムアップテストといいます。下位のモジュールに上位のモジュールを組み合わせる際、まだ上位のモジュールが完成していない場合があります。その際、上位のモジュールのダミーを使いますが、そのダミーモジュールのことをドライバといいます。

 結合テストは、組み合わせるモジュールの数を、少しずつ増やしていくことが一般的です。しかし、すべてのモジュールを組み合わせて、一斉に結合テストを実施する方法もあります。この方法をビッグバンテストといいます。ビッグバンテストでは、結合テスト全体の時間が短縮できるメリットがありますが、場合によっては、バグのある箇所の特定が難しく、かえって時間がかかってしまったり、バグが残りやすくなったりするなどのリスクもあります。

開発方法論 【平成22年 第14問】

 システム開発の基本フェーズは、フェーズ1:要件定義、フェーズ2:外部設計、フェーズ3:内部設計、フェーズ4:プログラム開発、フェーズ5:各種テスト、フェーズ6:稼働である。これら各フェーズを後戻りすることなく順に行っていく方法論を、ウォータフォール型システム開発方法論と呼ぶ。しかし、この方法論には種々の課題があるとされ、その課題の解消を目的に多様な方法論が開発されている。そのような方法論に関する記述として最も適切なものはどれか。

ア RAD は、ウォータフォール型システム開発方法論よりも迅速に開発することを目的としたもので、システムエンジニアだけで構成される大人数の開発チームで一気に開発する方法論である。×システムエンジニアだけで構成される大人数のチームでシステム開発をするわけではありません

イ システム開発を迅速かつ確実に進める方法論としてXP があるが、それは仕様書をほとんど作成せず、ストーリーカードと受け入れテストを中心に開発を進める方法論である。×〇XP では、プロジェクトを短い期間に区切り、この期間の中で反復的に設計・開発・テストを実施します。XP では仕様書をほとんど作成せず、ストーリーカードと受け入れテストを中心に開発を進めます。

ウ スパイラル開発は、1つのフェーズが終わったら、もう一度、そのフェーズを繰り返すペアプログラミングと呼ばれる手法を用いて確実にシステムを開発していく方法論である。×スパイラル開発は、設計、開発、テストという手順を何度もくり返すことで、徐々にシステムを成長させていく開発手法です。スパイラル開発では、最初に核となる小さい部分を開発し、完成後、その周りの機能を開発していきます。ペアプログラミングとは、2 人1 組で開発を進めていく手法のことで、XP で使われます。

エ プロトタイピングは、フェーズ5の各種テストを簡略に行う方法論である。〇×プロトタイピングは、プロジェクトの早い段階で、プロトタイプ(試作品)を作成し、それを利用ユーザが確認してから本格的に開発する方法です。プロトタイプとはいえ、テストフェーズを簡略化できるものではありません。

プロジェクト管理手法 【平成22年 第22問】

 中小企業診断士は中小企業経営者を支援して、企業のシステム開発プロジェクトに関与することがある。このようなシステム開発のプロジェクト管理で用いるWBS(Work Breakdown Structure)に関する記述として、最も適切なものはどれか。

ア WBS 作成には、PMBOK が規定した標準作成方法が利用できる。〇×WBS の作成はPMBOK で定義されるスコープマネジメントのプロセスの1 つになっています。しかし、PMBOK で標準作成方法が定義されているわけではありません。

イ 成果物を得るのに必要な工程や作業について記述する。〇WBS では、成果物を得るのに必要な工程や作業を記述します。

ウ 担当者の分担に基づいて、WBS を作成する。×WBS は、プロジェクトの最終成果物と、その作成に必要な全ての作業に基づいて作成されます。担当者の分担に基づいて作成するものではありません。

エ プロジェクトの実施段階で、管理資料として作成する。×WBS は、プロジェクトの計画段階で作成されるものです。実施段階で作成するものではありません。

WBS(Work Breakdown Structure)は、プロジェクトの全ての作業(Work)を階層構造で表したものです。WBS の作成は、PMBOK で定義されるスコープマネジメントのプロセスの1 つとなっています。プロジェクトを計画するときに、WBS を作成することで、プロジェクトのタスクや成果物を明確にすることができます。また、WBS は工数の見積もりや、スケジュール作成などのベースとなります。

見積手法 【平成30年 第18問】

 ソフトウェア開発では、仕様の曖昧さなどが原因で工数オーバーとなるケースが散見される。開発規模の見積もりに関する記述として、最も適切なものはどれか。

ア CoBRA 法では、開発工数は開発規模に比例することを仮定するとともに、さまざまな変動要因によって工数増加が発生することを加味している。〇CoBRA(Cost estimation, Benchmarking and Risk Assessment)法とは、ソフトウェア開発プロジェクトの経験豊富なプロジェクト・マネージャー等の経験・知識などを元に、様々な要因をコストの変動要因として抽出、定量化することで、透明性が高く説得力のある見積を作成する方法です。

イ LOC 法では、画面や帳票の数をもとに開発規模を計算するため、仕様書が完成する前の要件定義段階での見積もりは難しい。×LOC(Lines Of Code)法とは、プログラム(ソースコード)の行数により、開発規模を見積もる方法のことです。古くから使われるソフトウェア開発の見積手法の一つです。選択肢にあるような、「画面や帳票の数をもとに開発規模を計算する」ものではありません。

ウ 標準タスク法は、ソフトウェアの構造を WBS(Work Breakdown Structure)に分解し、WBS ごとに工数を積み上げて開発規模を見積もる方法である。×標準タスク法とは、開発するソフトウェア全体の工程を細かい作業工程に分解し、それをもとに作業工数やコストを積み上げ、全体の工数を見積もる方法のことです。選択肢の記述では「ソフトウェアの構造をWBSに分解」とありますが、正しくは「ソフトウェアの作業工程をWBSに分解」となります。

エ ファンクション・ポイント法は、システムのファンクションごとにプログラマーのスキルを数値化した重みを付けて、プログラム・ステップ数を算出する。〇×ファンクションポイント法は、機能(ファンクション)ごとの複雑さによって点数を付け、その点数を合計することによって工数を見積る方法です。選択肢にあるような、システムのファンクションごとにプログラマーのスキルを数値化した重みをつけるものではありません。

設計手法 【平成20年 第13問】

 情報システムの設計に関する記述として、最も適切なものはどれか。

ア DFDは、データの流れ、その時間的情報を記述する手法であり、要件定義の際に用いられる。×DFD(Data Flow Diagram:データフローダイアグラム)は、データと処理の流れを表す図表です。DFDでは、「注文」などのプロセスと、「商品ファイル」などのデータストア、さらに、これらの間のデータの流れであるデータフローを矢印で表すことで、データと処理の流れを表現します。しかし、DFDでは選択肢の記述にある「時間的情報」は記述されません。

イ ER図は、データベース設計を行う際に利用される記憶領域の配置を検討するために用いられる。×ER図は、主にリレーショナルデータベースの設計で用いられる手法です。ER図では、データ構造を、データの集合であるエンティティと、エンティティ間のつながりであるリレーションで表します。しかし、ER図には選択肢の記述にある「記憶領域の配置」は含みません。

ウ STD(状態遷移図)は、外部設計や内部設計において、画面設計などに用いられる。〇状態遷移図は、システムの状態がイベントによってどのように変化するかを記述する方法です。状態遷移図は、設計では主に画面設計などに用いられます。

エ UMLは、ウォータフォール型システム開発において統一的に利用できるシステム記述言語である。×UMLはオブジェクト指向アプローチで設計する際の、各種の設計図の書き方を標準化したもの(表記法)です。ウォーターフォール型システム開発において利用するというものではなく、またシステム記述言語でもありません。

システム分析・設計に使われる図 【平成26年 第17問】

下図のA~Dは、システム分析もしくはシステム設計に使われる図である。図とその名称の組み合わせとして最も適切なものを下記の解答群から選べ。

ユースケース図は、要件定義などの上流工程で、業務の機能を表現するために使われます。ユースケース図では、「アクター」「ユースケース」「関連」といった要素を用いて記述します。アクターは、システムを利用するユーザや連携する外部システムなどを表します。線で描いた人型で描きます。ユースケースは、アクターによるシステムの利用の仕方を表します。横型の楕円で描きます。アクターとユースケースの関連は実線で描きます。図Aがユースケース図の例です。

アクティビティ図は、フローチャートの一種で、システムなどのフローを記述します。アクティビティ図では、「開始」「条件分岐」「終了」などを示す「ノード」や遷移を表す矢印を用いてフローを表現します。図Bがアクティビティ図の例です。

DFDは、データと処理の流れを表す図表です。DFDでは、データの処理を表す「プロセス」が円または角を丸めた多角形で描かれます。データの保管場所を表す「データストア」が2本の平行線で描かれます。データの移動経路である「データフロー」が矢印で描かれます。図CがDFDの例です

コミュニケーション図は、オブジェクト間のメッセージのやり取りを表します。コミュニケーション図では、オブジェクトは長方形で表現されます。メッセージは、オブジェクトとオブジェクトを結ぶ矢印で表現されます。矢印のラベルにはメッセージの名称が記述されます。図Dがコミュニケーション図の例です。

[解答群]

ア 
図A:アクティビティ図
図B:ステートチャート図
図C:DFD
図D:ユースケース図

イ 
図A:コミュニケーション図
図B:アクティビティ図
図C:オブジェクト図
図D:配置図

ウ 
A:ユースケース図〇
図B:DFD
図C:アクティビティ図
図D:コミュニケーション図

エ〇 
図A:ユースケース図〇
図B:アクティビティ図〇
図C:DFD 〇
図D:コミュニケーション図〇

システム設計に使われる図 【平成27年 第16問】

 システム設計の際に使われる図に関する以下の①〜④の記述と、図の名称の組み合わせとして、最も適切なものを下記の解答群から選べ。

①情報システムの内外の関係するデータの流れを表す図である。

②データを、実体、関連およびそれらの属性を要素としてモデル化する図である。

③システムにはどのような利用者がいるのか、利用者はどのような操作をするの

かを示すために使われる図である。

④システムの物理的構成要素の依存関係に注目してシステムの構造を記述する図

 である。

[解答群]

ア ①:DFD ②:ERD〇  ③:アクティビティ図 ④:配置図

イ ①:DFD〇 ②:ERD〇  ③:ユースケース図〇 ④:コンポーネント図〇

ウ ①:ERD ②:DFD  ③:ステートチャート図 ④:コンポーネント図

エ ①:ERD ②:DFD  ③:ユースケース図 ④:配置図

記述①について、情報システムの内外の関係するデータの流れを表す図は「DFD」です。DFD(Data Flow Diagram)は、要素間のデータの流れを表します。データの発生源や出力先、データ間の流れ、データを処理するプロセス、データの保管・出力先を図示することができます。

 記述②について、データを、実体、関連およびそれらの属性を要素としてモデル化する図は「ERD」です。ERD(Entity Relationship Diagram)は、ER図や実体関連図ともいいます。「実体」は管理対象として存在するもの、「関連」は実体と実体の関係を表したり実体に対して操作をしたりするもの、「属性」は実体の情報や特性を表したものを指します。

 記述③について、システムにはどのような利用者がいるのか、利用者はどのような操作をするのかを示すために使われる図は、「ユースケース図」です。ユースケース図を利用する際は、システムの内外を分ける境界線を設けた上で、外部に「アクター」というシステム外の要素を、内部は「ユースケース」という「アクターがシステムを利用して実現できること」をそれぞれ記述します。アクターとその利用するユースケースの間を「関連」という線で結んで表現します。利用者の要求を分析した上でシステムの役割を明確化するために利用されます。

 記述④について、システムの物理的構成要素の依存関係に注目してシステムの構造を記述する図は、「コンポーネント図」です。コンポーネントとは、ソフトウェアパッケージや実行ファイルなど、コンピュータ上で物理的なまとまりとして取り扱われる実体のことをいいます。コンポーネント図では、システムを構成するコンポーネント群の関係や相互の依存関係を記述することができます。

近年のシステム開発手法 【平成26年 第15問】

 近年注目されているシステム開発手法に関する記述として、最も適切なものはどれか。

ア エクストリームプログラミングは、システムテストを省くなどしてウォーターフォール型システム開発を改善した手法である。×システムテストを省いているわけではありません

イ エンベデッドシステムは、あらかじめインストールしておいたアプリケーションを有効に利用してシステム開発を行う手法である。×エンベデッドシステムは、組込みシステムとも呼ばれます。名称が示すように、家電製品や自動車、機械などに組み込まれるコンピュータシステムのことを指します。

ウ オープンデータは、開発前にシステム構想およびデータをユーザに示し、ユーザからのアイデアを取り入れながらシステム開発を行う手法である。×オープンデータとは、広義では、制限なく広く利用が許可されているデータのことです。狭義では、行政機関が保有している統計情報や地理空間情報などのデータを利用しやすい形で公開することを指します。

エ スクラムは、開発途中でユーザの要求が変化することに対処しやすいアジャイルソフトウェア開発のひとつの手法である。〇スクラムは、エクストリームプログラミングと同じく、アジャイル開発プロセスの1つです。各メンバーが協力しながら、チーム全体が同じ目的を共有することを重要視します。それほど大規模ではないシステムについて、ユーザのニーズを柔軟に反映させながら、短期間で稼働させることを目指します。

アジャイルシステム開発 【平成27年 第18問】

 近年の多様なIT 機器の発達、激しいビジネス環境の変動の中で、アジャイルシステム開発が注目されている。アジャイルシステム開発の方法論であるフィーチャ駆動開発、スクラム、かんばん、XPに関する記述として、最も適切なものはどれか。

ア フィーチャ駆動開発は、要求定義、設計、コーディング、テスト、実装というシステム開発プロセスを逐次的に確実に行う方法論である。×フィーチャ機能駆動開発は、フィーチャとよばれる機能を短期間で繰り返し開発していくものです。ソフトウェア工学に基づいたベストプラクティスを中心として構築されています。要求定義、設計、コーディング、テスト、実装というシステム開発プロセスを逐次的に確実に行うというわけではありません。

イ スクラムは、ラウンドトリップ・エンジニアリングを取り入れたシステム開発の方法論である。〇スクラムは、チームで仕事を進めるためのフレームワークです。モデリング段階とコーディング段階を往復しながらソフトウェア開発を行う「ラウンドトリップ・エンジニアリング」を取り入れたシステム開発です。

ウ かんばんは、ジャストインタイムの手法を応用して、システム開発の際に、ユーザと開発者との間でかんばんと呼ばれる情報伝達ツールを用いることに特徴がある。〇×かんばんは、ジャストインタイムの手法を応用して、システム開発の際に、開発者同士がかんばんと呼ばれる情報伝達ツールを用いるものです。ユーザと開発者との間でかんばんを用いるのではありません。

エ XPは、開発の基幹手法としてペアプログラミングを用いるが、それは複数のオブジェクトを複数の人々で分担して作成することで、システム開発の迅速化を図ろうとするものである。×XP(Extreme Programming:エクストリーム・プログラミング)は、比較的小規模の開発に向いた手法で、2人が1組で作業をするペアプログラミングを行います。ペアプログラミングでは、1人がプログラムのコードを書き、隣にいるもう1人が同時にそれをチェックしながら作業を進めます。また、この役割は随時交代しながら作業を行います。これにより、集中力を高め、コードのチェックをしながら作業を進行することができます。ペアプログラミングは、複数のオブジェクトを複数の人々で分担して作成するものではありません。

ホワイトボックステスト、ブラックボックステスト 【平成25年 第19問】

 ソフトウェアのテスト方法には、ホワイトボックステスト、ブラックボックステスト、およびこれらの混合であるグレーボックステストがある。これらのうち、前2者に関する記述として最も適切なものはどれか。

ア ブラックボックステストでは、すべての場合を網羅した組み合わせテストによっても、すべての組み合わせバグを検出できるとは限らない。〇×ブラックボックステストでは、プログラムに対してさまざまな入力を与えて、仕様通りの出力が得られるかをテストします。入力には、正常な入力だけでなく、不正な入力も与えてテストを行います。すべての場合を網羅した組み合わせは膨大になるため、そのようなテストを行うことは実質的には不可能です。なお、ホワイトボックステストでは、プログラム内部の命令文や条件分岐などの処理をどれだけチェックしたかを重要視します。プログラムの大きさによっては、すべての場合を網羅した組み合わせテストを行います。

イ ブラックボックステストは、システム仕様の視点からのテストである。×〇ブラックボックステストは、入出力の観点からプログラムが仕様通りに動作するかを確認するテストと言うことができます。

ウ ブラックボックステストは、テスト対象が小さい場合にはホワイトボックステストよりも効果が高い。×IPA(独立行政法人 情報処理推進機構)が公表している「ソフトウェア見積もりガイドブック」には、ホワイトボックステストは「テスト対象が小さい場合は効果が高い一方、テスト対象が大きい場合は情報が大きすぎて扱い切れないという問題がある」と記載されています。ホワイトボックステストは、テスト対象が小さい場合には効果が高いとされています

エ ホワイトボックステストは、主にテスト段階の後期に行う。×ホワイトボックステストは、通常、単体テストで行われます。単体テストは、テスト段階の初期にあたります

ホワイトボックステストは、プログラムの内部構造に注目して、プログラムが意図したとおりに動作しているかを確認するテストです。ブラックボックステストは、プログラムの入力と出力に注目して、さまざまな入力に対して、プログラムの仕様どおりの出力が得られるかを確認するテストです。

回帰テスト、A/Bテスト 【平成30年 第21問】

 中小企業が外注によって情報システムを開発する場合、外注先に任せきりにするのではなく、情報システムのテストに留意するなど、当事者意識を持つ必要がある。 テストに関する記述として最も適切なものはどれか。

ア システム開発の最終段階で、発注者として、そのシステムが実際に運用できるか否かを、人間系も含めて行うテストをベータテストという。×ベータテストとは、ソフトウェアサービスやプログラムなどの、正式版リリース直前の状態のものを、一部のユーザに利用してもらい、機能や使い勝手などを評価してもらうテストのことです。選択肢にあるように、発注者が行うテストではありません。

イ ソースコードの開発・追加・修正を終えたソフトウェアが正常に機能する状態にあるかを確認する予備的なテストをアルファテストという。〇×アルファテストとは、ソフトウェアサービスやプログラムなどの、開発初期段階の状態のものを、一部のユーザに利用してもらい、機能や使い勝手などを評価してもらうテストのことです。ベータテストの前段階で実施するものであり、大きな不具合や重大な問題が発見されることが多くあります。

ウ 対象箇所や操作手順などを事前に定めず、実施者がテスト項目をランダムに選んで実行するテストを A/B テストという。×A/Bテストとは、異なるデザインやレイアウトを実際にユーザに提示して、どちらがユーザに支持されるかを確認するテストのことです。主にWebサイトのデザインやレイアウトを最適化する目的で使われており、Webマーケティングの手法の1つでもあります。選択肢にあるような、「実施者がテスト項目をランダムに選んで実行するテスト」では、ありません。

エ プログラムを変更した際に、その変更によって予想外の影響が現れていないかどうか確認するテストを回帰テストという。×〇回帰テストとは、プログラムに修正を加える際に、その修正が、既存のプログラムに悪影響を及ぼさないかどうか、検証するためのテストのことです。リグレッションテストともいいます。

手続き型言語

 プログラム言語の手続き型言語に関する記述として、最も適切なものはどれか。

ア 手続き型言語には、コンパイラ型とインタプリタ型の言語がある。〇COBOL、C言語、FORTRANはコンパイラ型のプログラム言語であり、BASICはインタプリタ型のプログラム言語です。

イ 代表的な手続き型言語には、COBOL、C言語、FORTRAN、Javaなどがある。×Javaは非手続き型のプログラム言語です。

ウ C言語は、事務処理用に広く使われ、主にメインフレームにて使用されてきた。×COBOLについての説明です。

エ FORTRANは、科学技術計算に用いられるインタプリタ型のプログラム言語である。×FORTRANは、科学技術計算に用いられますが、コンパイラ型のプログラム言語です。

手続き型の言語では、処理の順番に沿って1つずつ命令を記述します。

 代表的な手続き型言語には、COBOL、C言語、FORTRAN、BASICなどがあります。

 COBOLは、事務処理用に広く使われている言語であり、古くからメインフレームで使われています。

 C言語は、ISO(国際標準化機構)やJIS(日本工業規格)で標準として採用されている、広く普及している手続き型言語です。UNIXもC言語で記述されています。

 FORTRANは、科学技術計算に向いています。

 BASICは、初心者向けのインタプリタ型の言語です。

プログラミング言語の種類

 プログラム言語に関する次の文中の空欄A~Cに入る語句の組み合わせとして、最も適切なものを下記の解答群から選べ。

 プログラム言語の第1世代言語は、機械語であり、第2世代言語は( A )である。さらに、( B )は第3世代言語と呼ばれ、第4世代言語の代表例は( C )である。

ア A:アセンブラ言語〇 B:手続き型言語〇 C:SQL言語〇

イ A:アセンブラ言語 B:オブジェクト指向言語 C:非手続き型言語

ウ A:手続き型言語 B:非手続き型言語 C:SQL言語

エ A:手続き型言語 B:SQL言語 C:マークアップ言語

機械語を第1世代アセンブラ言語を第2世代手続き型言語を第3世代の言語と呼ばれます。

 そして、第4世代言語は、エンドユーザが対話的に使用できる言語であり、代表例はSQL言語です。第3世代言語まではコンピュータの専門家が使うもので、第4 世代言語はユーザが自分の要求を実行できるという位置付けとなっています。

第2世代言語は、アセンブラ言語です。

 第3世代言語は、手続き型言語です。機械語やアセンブラ言語に比べて、人間に理解しやすい表現になっています。

 第4世代言語は、プログラミング言語のうち、アプリケーションの使用者となるエンドユーザが自ら開発できるように設計されたプログラミング言語の総称です。第4世代言語は「4GL」とも呼ばれます。
 なお、マークアップ言語は、文章の構造や見た目を指定するためのプログラム言語です。代表的なマークアップ言語には、HTMLとXMLがあります。

Web アプリケーションの処理形態1

 Webアプリケーションに関する記述として、最も適切なものはどれか。

ア HTMLで記述されたプログラムはWebサーバ上で処理され、その結果がインターネットを経由してクライアントに送り届けられる。×HTMLで記述されたプログラムはクライアントのWebブラウザにて実行されます。

イ JSPは、Javaによるサーバサイドアプリケーションを実現するためのテクノロジである。〇JSPを使用すれば、様々なHTMLを動的に生成するプログラムを開発することができ、これらのプログラムをWebサーバ上で実行することで、Webアプリケーションを実現することができます。

ウ ASP(Active Server Pages)は、Webサーバから外部のプログラムを実行する仕組みの1つである。〇×CGIの説明に関する記述です。

エ Perlはテキスト処理などに利用されるコンパイラ型のプログラム言語で、Webアプリケーションの作成にも利用される。Perlはテキスト処理などに利用されるプログラム言語で、Webアプリケーションの作成にも利用されますが、インタプリタ型の言語です。

プログラムをWebサーバで実行する方法を「サーバサイドアプリケーション」、プログラムをクライアントのWebブラウザで実行する方法を「クライアントサイドアプリケーション」と呼びます。

 サーバサイドアプリケーションを作成するには、ASP(Active Server Pages)やJSP(Java Server Pages)といったプログラム言語や、CGI(Common Gateway Interface)というWebサーバから外部のプログラムを実行する仕組みを使用します。

Web アプリケーションの処理形態2

 Webアプリケーションに関する記述として、最も適切なものはどれか。

ア クライアントサイドアプリケーションは、クライアントであるWebブラウザでプログラムを実行する形態であり、Webサーバの負荷を軽減することができる。〇全てのアプリケーションの処理をサーバーサイドで行うと、頻繁にネットワークの通信が発生するため処理が遅くなるとともに、Webサーバの負荷が高くなるという問題があります。

イ JavaScriptは、Java言語で作成したプログラムをWebブラウザで実行するものであり、Webサーバ上からダウンロードして、Webブラウザ上で実行される。×Javaアプレットの説明に関する記述です。なお、JavaScriptは、構造はJava 言語に似ていますが、直接Java言語との関係はありません。

ウ Javaアプレットで記述されたプログラムは、Webサーバに格納されており、クライアントからの要求に応じて、Webサーバ上で実行され、処理結果をWebブラウザに送信する。×Javaアプレットは、Webサーバからクライアントにダウンロードされ、ブラウザ上で実行されます。

エ PHPは、クライアントサイドアプリケーションを実現するプログラム言語である。×PHPは、動的サービスを作成するためのプログラミング言語で、データベースを操作する命令があらかじめ組み込まれているのが特徴です。PHPで作成したプログラムは、Webサーバ上で実行されます。

クライアントサイドアプリケーションは、クライアントであるWebブラウザでプログラムを実行する形態です。

 クライアントサイドアプリケーションを作成するには、JavaScriptやJavaアプレットなどの言語を使用します。

 JavaScriptは、Webページに動きや機能を埋め込むためのスクリプト言語です。

 Javaアプレットは、Java言語で作成したプログラムを、Webブラウザで実行するものです。Webページを表示する際に、Webサーバ上からJavaアプレットがダウンロードされ、ブラウザ上で実行されます。

XML

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

ア SGMLは、XMLを拡張したものであり、論理構造を持った文書の作成に用いられる。×SGMLはXMLを拡張した言語ではなく、むしろXMLの源流に位置付けされます。SGMLは、マークアップ言語の1つであり、タグを自由に定義できるメタ言語です。HTMLやXMLの基になっています。

イ XSLは、XMLをベースとしており、スマートフォン向けブラウザに対応したホームページの記述によく利用される。×XSLを用いて、XML文書の見栄えを変化させることができますが、特にスマートフォンを意識したものではありません。 XSLは、XML文書の見た目や表示スタイルを指定するための言語です。

ウ XBRLは、XMLベースの言語であり、医療業界におけるデータ交換の促進を目的として開発された。×会計 XBRLは、XMLを財務情報の交換に応用した言語であり、医療業界のデータ交換を目的として開発されたものではありません。XBRLは、財務諸表の作成・流通の効率化や再利用が促進されるように標準化されたXMLベースの言語です。

エ ebXMLは、SOAPを拡張した規格であり、電子商取引における標準技術の策定を目的としている。〇ebXMLは、SOAPを拡張したメッセージ構造を使用しています。SOAPとは、アプリケーション間の通信を行うためのプロトコルであり、Webサービスを構成する技術の1つです。ebXMLは、世界規模での電子商取引に使われる標準技術の策定を目的とした団体およびその規格であり、業種や規模、国家に関係なく、あらゆる組織が利用できることを目的としています。

Webサービス

 Webサービスに関して、次のa~cの説明と、その説明に適する用語の組み合わせとして、最も適切なものを下記の解答群から選べ。

a Webサービスを登録・検索するためのシステム

b Webサービスを呼び出すためのインタフェース情報

c WebサービスのメッセージをHTTPで交換する通信規約

ア a:UDDI〇 b:WSDL〇 c:SOAP〇

イ a:WSDL b:UDDI c:SOAP

ウ a:SOA  b:WSDL c:UDDI×

エ a:UDDI〇 b:SOA  c:WSDL

Webサービスは、XML、SOAP、WSDL、UDDI の4つの技術から構成されています。

 XMLは、アプリケーション間でデータをやり取りする際に使用される言語です。

 SOAPは、アプリケーション間の通信を行うためのプロトコルです。

 WSDLは、Webサービスのインタフェースを記述したものです。これは、Webサービスの内容や入出力のデータ型などが書かれたXML文書となっています。

 UDDIは、Webサービスを検索するためのシステムです。

UDDIは、インターネット上のWebサービスの電話帳のようなもので、各社の様々なWeb サービスを登録しておき、Web サービスの利用者が検索できるようにするものです。

 WSDLは、そのWebサービスがどのような機能を持つのか、それを利用するためにはどのような要求をすればいいのか、などを記述する方法が定義されています。
なお、SOAとは、サービス指向アーキテクチャのことであり、アプリケーションを部品化して、それらを組み合わせることでシステムを構成するアーキテクチャ(設計思想)です。

 SOAPは、プログラム同士がネットワーク経由でメッセージを交換するプロトコル(通信規約)であり、下位プロトコルとしてHTTPを利用することができます。

プログラム言語の概要 【平成24年 第5問】

業務の処理にソフトウェアを使用する場合、中小企業診断士が、そのソフトウェアの利用を支援するだけでなく、状況によってはソフトウェアそのものの開発にかかわったりする場面もある。ソフトウェアの機能や開発に関する記述として最も適切なものはどれか。

  1. OS とは、BIOS(Basic Input/Output System)に先立って起動し、ディスプレイやキーボードが使えるようにするソフトウェアである。×BIOSは、コンピュータの電源を投入するとOSに先立って起動し、メモリやディスプレイ、キーボードなどをチェックし、利用可能な状況とします。BIOSチェックの完了後、OSが起動する流れとなります
  2. コンパイラとは、高級言語で書かれたプログラムをコンピュータが実行可能な機械語に翻訳するソフトウェアである。×〇コンパイラとは、高級言語で書かれたプログラムをコンピュータが実行可能な機械語に翻訳するソフトウェアです。高級言語とは、人間が理解しやすいように、自然言語に近い文法や用語などを取り入れたプログラム言語の総称です。
  3. ミドルウェアとは、FORTRAN などの第一世代高級言語とCやJava などの第二世代の間に登場したプログラミング言語である。×ミドルウェアとは、OSとアプリケーションの中間に位置するソフトウェアです。ミドルウェアは、様々なアプリケーションソフトウェアで必要になる、共通的なサービスを提供します。ミドルウェアの例としては、データベース管理システム(DBMS)などが挙げられます。選択肢にあるような、第一世代高級言語と第二世代の間に登場したプログラミング言語ではありません。
  4. リンカとは、ネットワークを機能させるソフトウェアである。〇×リンカとは、コンパイラによって翻訳された、個々の機械語のブロックを結合し、実行可能なプログラムを生成するソフトウェアのことです。選択肢にあるような、ネットワークを機能させるソフトウェアではありません。

HTML 【平成21年 第4問】

 さまざまな業種においてeビジネスとのかかわりが求められている。自社製品の告知などのためにWeb サーバの運用を行うことがeビジネスの第一歩であり、そのためには情報発信に利用するHTML の特徴に注意を払う必要がある。HTML に関する記述として最も適切なものはどれか。

ア HTML ではタグと呼ばれる形式で各種の指示を文書中に埋め込むので、指示の開始と終了を記述する必要がある。×HTML では、基本的には開始タグと終了タグを記述します。しかし、「改行」を示す<br>のように、終了タグを記述しなくてもよいタグも存在します。

イ HTML で指定できる文字の色数は256 種類である。×HTML では、色の指定を16 進法で行うことができ、約1,670 万色の色を指定することができます。

ウ HTML にはリンク機能があり、アンカーによって示された文字や画像をマウスでクリックして、異なったページを表示させることができる。〇HTML では、<a>タグを記述することで、リンクの機能を設けることが可能です。

エ HTML には表やグラフの表示機能がないので、スクリプト言語を併用して表示させたり、他のソフトウェアを使用して作成した表やグラフを画像データに変換して表示させたりする必要がある。×HTML では、スクリプト言語を併用しなくても、タグにより表を表示させることが可能です。

WEBサービス、SAAS 【平成22年 第11問】

 近年、インターネットを介して多様な情報システムサービスが提供されるようになった。代表的なネットワークサービスに関する記述として最も適切なものはどれか。

ア インターネット上のどこかにある販売管理向けソフトウェアを利用し、自社ではそのソフトウェアを持たない仕組みはASP である。×ASP(Application Service Provider)とは、アプリケーションソフトの機能を、ネットワーク経由で顧客に提供する事業者、もしくはサービスのことです。ASP は、事業者が管理するソフトウェアを利用するもので、所在が不明な環境ではありません。

イ 業務用のアプリケーションソフトウェアパッケージを、インターネットを介して顧客がダウンロードして利用するサービスはサース(SaaS)である。〇×SaaS(Software as a Service)は、ユーザがソフトウェアをサービスとして利用できるようにしたものです。SaaS では、ユーザが必要な機能のみを選択して、インターネットを介してソフトウェアを利用します。ユーザがソフトウェアをダウンロードする必要はない

ウ メッセージ交換をXML で行い、通信はSOAP のデータおよび命令交換ルールに従って行う仕組みはWeb サービスである。〇Web サービスは、XML、SOAP、WSDL、UDDI の4 つの技術で構成されています。XML は、アプリケーション間でデータをやり取りする際に使用される言語です。SOAP(Simple Object Access Protocol)は、アプリケーション間の通信を行うためのプロトコルです。なお、WSDL(Web Services Description Language)は、Web サービスのインタフェースを記述したものです。また、UDDI(Universal Description Discovery and Integration)は、Web サービスを検索するためのシステムです。

エ ユーザの要求に応じてネットワーク設備を割り当てるサービスはパース(PaaS)である。×PaaS(Platform as a Service)は、ソフトウェアを構築・稼働させるためのプラットフォームを、インターネット経由で提供するサービスです。ユーザの要求に応じてネットワーク設備を割り当てるサービスは、IaaS(Infrastructure as a Service)のことです。

キャッシュメモリ

 主記憶装置のアクセス時間60ナノ秒、キャッシュメモリのアクセス時間10ナノ秒のコンピュータがある。CPUからデータにアクセスするときにかかる平均アクセス時間が15ナノ秒であるとき、キャッシュメモリのヒット率として、最も適切なものはどれか。


ア 60%

イ 70%

ウ 80%

エ 90%〇

平均アクセス時間 =キャッシュメモリのアクセス時間 × ヒット率 + 主記憶装置のアクセス時間 × (1 - ヒット率)
平均アクセス時間が15ナノ秒=キャッシュメモリのアクセス時間10ナノ秒*H+主記憶装置のアクセス時間60ナノ秒*(1-H)
15=10*H+60*(1-H)
15=10H+60ー60H
50H=45
H=90%

各種ソフトウェア 【平成28年 第4問】

 PC には多様なソフトウェアが使われている。ソフトウェアに関する記述として最も適切なものはどれか。

ア デバイスドライバとは、PC に接続される周辺機器を制御するためのソフトウェアである。〇×〇デバイスドライバは、周辺機器を制御するためのソフトウェアです。デバイスドライバは、キーボードやプリンタなどの周辺装置とOS の間で情報をやり取りします。

イ ファームウェアとは、OS の一部分を指し、接続される周辺機器と通信するためのソフトウェアである。×ファームウェアは、ハードウェアを制御するためのソフトウェアで、コンピュータなどハードウェアに組み込まれています。接続される周辺機器と通信するためのソフトウェアは、デバイスドライバです。

ウ ミドルウェアとは、OS の中核となって機能するソフトウェアである。×ミドルウェアは、OSとアプリケーションソフトウェアの間に位置するソフトウェアであり、OSの上で動作します。OS の中核となって機能するソフトウェアは、カーネルです。

エ ユーティリティプログラムとは、アプリケーションプログラムの総称である。〇×ユーティリティプログラムとは、システムを効率的に運用するための補完的なソフトウェアです。 アプリケーションソフトウェアは、ユーザが直接利用するソフトウェアです。アプリケーションソフトウェアの例には、表計算ソフトやインターネットブラウザ、給与計算ソフトがあります。

ロック方式

 データベースの排他制御に関する次の文中の空欄A~Cに入る語句の組み合わせとして、最も適切なものを下記の解答群から選べ。


 データベースの排他制御には、占有ロック方式と共有ロック方式がある。

 占有ロック方式とは、アクセス中のデータに別のユーザが、更新、削除、( A )、( B )、(  C )ができないようにする仕組みである。

 共有ロック方式とは、アクセス中のデータに別のユーザが、更新、削除、( A )ができないようにする仕組みである。

ア A:共有ロック B:トランザクション制御 C:照会

イ A:共有ロック B:占有ロック C:デッドロック

ウ A:占有ロック〇 B:トランザクション制御 C:デッドロック

エ A:占有ロック〇 B:共有ロック〇 C:照会〇

占有(排他)ロック方式は、あるユーザがアクセスしているデータについて、別のユーザが、照会・更新・削除・共有ロック・占有ロックのいずれもできないようにする仕組みのことです。通常は、トランザクションがINSERT(挿入)、UPDATE(更新)、DELETE(削除)を行う時に、この方式でロックを取得します。すると、他のユーザは、このデータの照会も更新もできなくなります。

共有ロック方式は、あるユーザがアクセスしているデータについて、別のユーザが、更新・削除・占有ロックのみをできないようにする仕組みのことです。通常は、トランザクションがSELECT(検索)を行う時に、この方式でロックを取得します。すると、他のユーザは、このデータの更新はできませんが、SELECT文で照会することはできます。

 なお、トランザクション制御とは、ある一連の操作の中で複数の更新処理が発生する場合、中途半端なところで処理が終了してデータの不整合などを起こさないように管理することです。

 また、デッドロックとは、複数のプロセスが互いに相手のロックしている資源をロックしようとするなど、相互にリソースの解放待ちの状態になり、いつまでも処理が進まないことを指します

占有ロック方式は、他のユーザに、更新、削除、占有ロック共有ロック、照会ができないようにする仕組みです。つまり、他のユーザは、何もできない状態です。


共有ロック方式は、他のユーザに、更新、削除、占有ロックができないようにする仕組みのことです。他のユーザは、照会や共有ロックはできますので、当該データを検索することができます。なお、占有ロックができてしまうと、他のユーザは照会もできなくなってしまいます。

 データベースの設計と管理 【平成23年 第9問】

 データベースは近年の情報システムの要ともなっている。その開発の成否が情報システムのパフォーマンスに多大な影響を及ぼす。データベースに関する記述として最も適切なものはどれか。

ア システム開発におけるリポジトリとは、データだけではなくソフトウェア開発および保守における情報、例えば、プログラム間の関連、各種図表なども一元的に管理するためのものである。〇リポジトリとは、ソフトウェア開発の各行程の情報を一元管理するデータベースです。リポジトリには、例としてシステムの設計情報やプログラムデータ、データの更新情報などが格納されます

イ スキーマとは、データベース上のデータ内容、データ構造などを記述したものを指すが、このうち概念スキーマとは、利用者やアプリケーションプログラムから見たデータの定義を意味する。〇×

スキーマとは、データの構造や格納方式などを記述した枠組みのことです。スキーマは、外部スキーマ、概念スキーマ、内部スキーマの3 層に分けて管理する「3 層スキーマアーキテクチャ」が標準となっています。

 外部スキーマとは、データベース利用者や、アプリケーションプログラムから見たデータの定義を表現するものです。概念スキーマとは、現実世界のデータとその関係の構造をモデル化したものです。内部スキーマとは、データの物理的な格納方法を定義するものです。

ウ データベースの設計は、データ分析、概念設計、論理設計、物理設計の順になされるが、ER 図は物理設計の際に用いられる有用なツールである。×ER 図とは、データ構造を、データの集合であるエンティティ(Entity:実体)と、エンティティ間のつながりであるリレーション(Relationship:関連)で表すものです。ER 図は、データベースの論理設計に用いられる手法です。

エ ネットワークデータベースは、ひとつのテーブルに記録するデータのレコード間に親子関係のような1対多の関係性を持たせたデータベースである。×

データのモデル化には、主に階層モデル、ネットワークモデル、リレーショナルモデルがあります。

 階層モデルのデータベースとは、データのレコード間に1対多の関係を持たせ、データを階層的に格納するモデルです。ネットワークモデルのデータベースとは、データのレコード間に多対多の関係を持たせ、データを網のような構造で格納するモデルです。リレーショナルモデルのデータベースとは、データを正規化することで、データを複数の表と、表の間の関係(リレーション)で表すモデルです。

表計算ソフトウェア 【平成28年 第5問】

 商品売上高を示したデータが下記のように、表計算ソフトウェアのシート中のA〜C列に入力されている。

 D列に示したような、売上高が多い順の順位を求めたい。同じ値が複数ある場合は同じ順位を与え、次の大きさの値には重複した分を飛ばした順位を与える。

 このために、条件に一致した値の個数を数えるのにCOUNTIF文を利用して順位を求める式を考え、その式をD2のセルに入力する。D2の式を下の行に複写して、D列のような順位を求めたい。

 COUNTIF文を用いたD2のセルに入る式として、最も適切なものを下記の解答群から選べ。

 ただし、COUNTIF文、&の使用方法は以下のとおりである。

・COUNTIF(対象範囲,条件式):対象範囲のうち、条件式に記述した内容を満たすセルの個数を返す関数

・&:文字列の連結

[解答群]

ア = COUNTIF(C$2:C$7,”<”&C2)+1

イ = COUNTIF(C$2:C$7,”>=”&C2)

ウ = COUNTIF(C$2:C$7,”<=”&C2)

エ = COUNTIF(C$2:C$7,”>”&C2)+1〇

データベースの運用・障害対策 【平成29年 第9問】

 業務処理のためには、多くの場合、データベース(DB)が利用される。DBをネットワーク環境下で利用する場合、さまざまな端末からトランザクション処理要求を受け付けるため、多くの負荷が集中することもある。このような状態の中でのDBの効率的な運用や障害対策などのための仕組みが用意されている。そのような仕組みに関する記述として、最も適切なものはどれか。

ア DB運用中に表のデータ項目の追加・削除や新たな表追加が必要となり、DBの論理構造の再構築を行う場合は、SQL文のREBUILD命令において必要なパラメータを指示して実行する。〇×DBの運用中に、表のデータ項目の追加・削除や新たな表を追加など、DBの論理構造の再構築を行う場合には、SQLのデータ定義言語であるALTER句を実行します。

イ DBの更新処理を行う場合は、ロックと呼ばれる排他制御が行われる。このロックをかける範囲をロック粒度と呼び、ロック粒度が大きいと排他制御のための処理のオーバヘッドが大きくなる。〇×ロック粒度が大きい場合、一度に多くの範囲をロックするため、ロックによる排他制御の回数は少なくなります。そのため、処理のオーバヘッドは小さくなります。

ウ DBの障害回復には、バックアップファイルを利用するロールフォワードとデータ更新状況を記録したものを利用するロールバックの仕組みがある。〇ロールフォワードは最新のバックアップを利用し、ロールバックは障害発生時の更新前ログファイルを利用します。

エ クライアント端末からWebサーバを経由してDBサーバに対して更新作業を行う際、まずDBサーバに対して更新作業が可能かどうかを問い合わせることを2相のコミットメントと呼ぶ。×2相コミットメントとは、複数のDBを同時に更新する際、すべてのDBの整合性を取りながら更新を完了させるための方法です。2相コミットメントでは、処理を行う全てのDBに対し、更新作業が可能かどうか問い合わせをし、すべてのDBから可能な旨、応答があった場合、更新実行の命令を出します。

DBに障害が発生した場合、復旧させる方法には、ロールフォワードとロールバックの2種類があります。ロールフォワードは、DBのハードウェアが破損したときに使われる方法です。最新のバックアップが入った新しいDBを用意し、そのDBに対して、バックアップ時点以降の更新後ログファイルを加え、DB破損直前の状態に戻します。

 ロールバックは、DBの更新において異常終了など、ソフトウェア障害が発生したときに使われる方法です。DB自体は使用可能ですので、障害発生時の更新前ログファイルを使って、障害が発生する前の状態にDBを戻します。





Share Button