模擬試験(ドメイン8)

ドメイン8の試験です。

70%以上で合格になります。

Results

すばらしい!

まだ見ていないコンテンツがあるかも。

#1. 各フェーズが次のフェーズにつながり、前のフェーズに戻ることができないプロジェクト管理方法論はどれですか?

〇:ウォーターフォール

ウォーターフォールとは、非常に一方向的で各フェーズは次のフェーズに直接つながります。純粋なウォーターフォールモデルでは、前のフェーズに戻ることはできません。よって正解は、「ウォーターフォール」になります。

 

×:アジャイル

アジャイルとは、システム開発は柔軟にやった方が良いという考え方です。適応計画、進化的開発、早期提供、継続的改善に重きを置き、トライアルアンドエラーな開発手法です。アジャイルは従来のプロセスをモデル化する考え方とは異なり、主義や主張をチーム全体で共有し、あらゆる状況にも対応する試みです。

 

×:サシミ

SASHIMIモデルとは、各フェーズの終点と始点の並行稼働を許したシステム開発プロセスのモデルです。多くの場合、成果物の提出・レビューをもって次のフェーズに移行するウォーターフォールモデルが利用されます。これも素晴らしいですが、実際には引き渡しけれど要件が変わったことで修正する場合があります。

 

×:スパイラル

スパイラルモデルとは、各機能ごとに設計からテストを繰り返して開発していく手法です。計画・分析・設計・実装・試験・評価から成る一連のプロセスを一つのプロジェクト内で何度も繰り返し、次第に完成度を高めていく方式です。ソフトウェアプロジェクトでは、これらのフェーズを繰り返します。

#2. バックアップ戦略を確認する最も効果的な手法はどれですか?

〇:復元手順をテストすること。

バックアップから正常にリストアする能力が定期的にテストされなければなりません。よって正解は、「復元手順をテストすること。」になります。

 

×:すべてのユーザーデータを確実にバックアップすること。

ユーザーデータのコピーを作成することは重要ですが、コピーが復元可能であることが保証されない限り、コピーは無駄です。

 

×:独自の仕様に合わせたデータベース管理システム(DBMS)のバックアップをすること。

トランザクション・コピーが使用可能であることを保証するためにDBMSの独自の仕様に合わせた手段を使用することは良い考えですが、リストアがテストされない限り、それらのコピーは信頼されません。

 

×:バックアップのログファイルが完全であることを確認すること。

完了のためのバックアップログを監視することは良好な運用方法ですが、バックアップ自体の定期的なテストやデータ損失からの真の回復能力に代わるものではないため、間違っています。

#3. どのタイプのデータベース性質が、タプルがプライマリキー値によって一意に識別されることを保証しますか?

〇:エンティティの完全性

エンティティの完全性は、タプルが主キー値によって一意に識別されることを保証する。 タプルは、2次元データベースの行です。 主キーは、各行を一意にする対応する列の値です。 エンティティの整合性のために、すべてのタプルには1つの主キーが含まれていなければなりません。 タプルにプライマリキーがない場合、タプルはデータベースによって参照されません。

 

×:並行保全性

並行保全性はデータベースソフトウェアの正式な用語ではないため、正しくありません。整合性サービスには、セマンティック、参照、エンティティの3つの主要なタイプがあります。 並行処理とは、複数のユーザーやアプリケーションが同時にアクセスするソフトウェアのことです。 コントロールが配置されていないと、2人のユーザーが同じデータに同時にアクセスして変更することができます。

 

×:参照整合性

参照整合性は、既存の主キーを参照するすべての外部キーを参照するため、正しくありません。 存在しないレコードまたはNull値の主キーへの参照が外部キーに含まれないことを保証するメカニズムが存在する必要があります。 このタイプの完全性制御により、異なるテーブル間の関係が正常に動作し、相互に適切に通信できるようになります。

 

×:意味的完全性

意味的完全性機構がデータベースの構造的および意味的規則が確実に行われるので、正しくない。これらのルールは、データ型、論理値、一意性制約、およびデータベースの構造に悪影響を及ぼす可能性のある操作に関係します。

#4. ブライアン氏は、同社の新しいアイデンティティ管理システムの仮想ディレクトリ作成を依頼されている。 次のうち仮想ディレクトリを最もよく表しているものはどれですか?

〇:複数のソースからのデータのための仮想コンテナ
ネットワークディレクトリは、ユーザーとネットワークリソースのコンテナです。 1つのディレクトリには、エンタープライズ内のすべてのユーザーとリソースが含まれていないため、ディレクトリのコレクションを使用する必要があります。 仮想ディレクトリは、ネットワーク全体に散在するソースから使用される必要な情報を収集し、中央の仮想ディレクトリ(仮想コンテナ)に格納します。 これにより、企業全体のすべてのユーザーのデジタルID情報の統一されたビューが提供されます。 仮想ディレクトリはすべてのアイデンティティストア(個々のネットワークディレクトリ)と定期的に同期し、エンタープライズ内のすべてのアプリケーションとID管理コンポーネントによって最新の情報が確実に使用されていることを確認します。

 

×:メタディレクトリ

仮想ディレクトリはメタディレクトリに似ていますが、メタディレクトリは1つのディレクトリで動作し、仮想ディレクトリは複数のデータソースで動作するため、正しくありません。 アイデンティティ管理コンポーネントが仮想ディレクトリを呼び出すと、エンタープライズ全体で異なるディレクトリをスキャンすることができますが、メタディレクトリは関連付けられている1つのディレクトリをスキャンする機能しか持ちません。

 

×:HRデータベースに格納されているユーザー属性情報

IDストアを記述しているため正しくありません。 アイデンティティ管理ディレクトリに格納されている多くの情報は、企業全体に散在しています。ユーザー属性情報(従業員ステータス、職務説明、部署など)は、通常HRデータベースに格納されます。認証情報はKerberosサーバーに格納し、リソース指向の認証情報をドメインコントローラのActive Directoryに格納することができます。これらは一般にアイデンティティストアと呼ばれ、ネットワーク上の別の場所に配置されています。多くのID管理製品では、仮想ディレクトリを使用してこれらのIDストア内のデータを呼び出します。

 

×:管理者が識別の仕方を設定および管理できるサービス

ディレクトリサービスを記述しているため、間違っています。 ディレクトリサービスを使用すると、管理者は識別、認証、許可、およびアクセス制御がネットワーク内でどのように行われるかを構成および管理できます。 名前空間を使用してディレクトリ内のオブジェクトを管理し、アクセス制御およびID管理機能を実行することによって設定されたセキュリティポリシーを適用します。

#5. フレッドは、開発中の新しいコンテンツ管理アプリケーションのコンポーネントをテストして、データ構造、ロジック、境界条件を検証する必要があると言われています。 彼はどのようなテストを行うべきですか?

〇:単体テスト

単体テストには、制御された環境で個々のコンポーネントをテストして、データ構造、ロジック、および境界条件を検証する必要があります。 プログラマーはコンポーネントを開発した後、いくつかの異なる入力値とさまざまな状況でテストされます。 単体テストは開発の初期段階から開始することができ、通常は開発段階全体を通じて継続されます。 単体テストのメリットの1つは、開発サイクルの早い段階で問題を発見することです。個々のユニットに変更を加える方が簡単でコストがかかりません。

 

×:受け入れテスト

コードが顧客の要求を満たしていることを確認するために受け入れテストが行​​われるため、正しくありません。 このテストは、アプリケーションの一部または全部に適用されますが、通常は個別のコンポーネントではありません。

 

×:回帰テスト

回帰テストは、その機能、性能、および保護を確実にするために変更が行われた後のシステムの再テストを意味するため、正しくありません。 本質的に、回帰テストは、プログラム変更の結果として機能が意図したとおりに機能しなくなったバグを識別するために行われます。 開発者が1つの問題を修正したり、誤って新しい問題を作成したり、新しい問題を修正して古い問題を解決したりすることは珍しいことではありません。 回帰テストには、以前に修正されたバグをチェックして、それらが再出現していないことを確認し、以前のテストを再実行することが含まれます。

 

×:統合テスト

統合テストでは、設計仕様で概説されているようにコンポーネントが連携して動作することが確認されるため、正しくありません。 単体テストの後、個々のコンポーネントまたはユニットを組み合わせてテストし、機能、性能、および信頼性の要件を満たしていることを検証します。

#6. メンテナンスホックを使用する適切な期間はどれか?

〇:コード開発中のみ。

メンテナンスホックとは、開発者がテスト用に一時的に利用する機能やツールを指します。実際システム開発では、個々の機能が適切に動作しているかを確認するため、補助するツールを用意しています。ただ、メンテナンスホックを本稼働環境に置いておくと攻撃者に利用される可能性があるため、削除が求められます。よって正解は、「コード開発中のみ。」になります。

 

×:メンテナンスホックは使用してはならない。

メンテナンスホックの利用は作業を効率的に行うことができます。

 

×:管理者に対して簡易的にソフトウェアを利用させたいとき。

管理者のみが利用できるはずであったツールを攻撃者が悪用するケースもあります。

 

×:ユーザーに対して簡易的にソフトウェアを利用させたいとき。

実際のリリース後に、メンテナンスホックをユーザー公開することはありません。

#7. データベースソフトウェアは、ACIDテストと呼ばれる要件を満たす必要があります。 OLTPにおいて、ACIDテストの要件の1つであるトランザクションの原子性をデータベースソフトウェアが実行するのはなぜですか?

〇:データベースが中断することなく単一のユニットとしてトランザクションを実行するようにするため。

オンライントランザクション処理(OLTP)は、データベースをクラスタ化して高いフォールトトレランスとパフォーマンスを提供する場合に使用されます。 問題が発生したときに問題を監視し、対処する仕組みを提供します。 たとえば、プロセスが機能しなくなった場合、OLTP内の監視機能が検出してプロセスを再起動しようとします。プロセスを再起動できない場合、発生したトランザクションはロールバックされ、データが破損していないこと、またはトランザクションの一部のみが発生していることを確認します。OLTPは、トランザクションが(リアルタイムで)発生したときに記録されています。通常は分散環境内の複数のデータベースを更新します。

このようにトランザクション処理がどこまで適当によりされているかでの区分は非常に複雑です。そのため、データベースソフトウェアはACID特性を実装する必要があります。その中でも、原子性・不可分性(atomicity)とは、全て実行されるか、全く実行されないかにしておくことです。トランザクションは完全に実行されるか、まったく実行されないかのどちらかでなければならないという性質です。よって正解は、「データベースが中断することなく単一のユニットとしてトランザクションを実行するようにするため。」になります。

このような問題が不正解であったときに、OLTPを知らなかったから解けなかったと判断することは今後の勉強法に支障をきたすでしょう。問題文はややこしい言い方をしていますが、実際の問題を解くのにOLTPの定義を記憶するよりも、ACIDにおける原子性とは何を理解していることが重要なポイントとなっています。

 

×:データベースの一貫性のルールを確立できるようにするため。

データベースのセキュリティポリシーに示されている一貫性ルールを強制しますが、トランザクションの原子性を意味するものではありません。

 

×:ロールバックが発生しないようにするため。

トランザクションの原子性は、ロールバックを抑制することについて言及していません。

 

×:並行プロセスが互いに相互作用するのを防ぐため。

独立性・分離性・隔離性に当たります。独立性・分離性・隔離性(isolation)とは、処理中は他の操作からは隠蔽されることです。トランザクションを複数同時に実行しても、単独実行の場合と同じ処理結果にならなければないという性質です。

#8. ドライブのミラーリングは、冗長性のために2つのドライブに同時にデータを書き込む機能です。これには、どのようなタイプの技術が用いられていますか?

〇:ディスク二重化

常に利用可能であることが要求される情報は、ミラー化または二重化されている必要があります。 ミラーリング(RAID 1とも呼ばれます)とデュプレックスの両方で、すべてのデータ書き込み操作は、複数の物理的な場所で同時にまたはほぼ同時に行われます。

 

×:ダイレクトアクセスストレージ

ダイレクトアクセスストレージは、従来、メインフレームおよびミニコンピュータ(ミッドレンジコンピュータ)環境で使用されてきた磁気ディスク記憶装置の一般用語であるため、間違っています。 RAIDは、ダイレクトアクセス記憶装置(DASD)の一種である。

 

×:ストライピング

データがすべてのドライブに書き込まれると、ストライピングの技法が使用されるため、間違っています。 このアクティビティは、複数のドライブにデータを分割して書き出します。 書き込みパフォーマンスは影響を受けませんが、複数のヘッドが同時にデータを取得しているため、読み取りパフォーマンスが大幅に向上します。 パリティ情報は、紛失または破損したデータを再構築するために使用されます。 ストライピングは単にデータを意味し、パリティ情報は複数のディスクに書き込まれる可能性があります。

 

×:並列処理

並列処理とは、コンピュータに複数の処理装置を内蔵し、複数の命令の流れを同時に実行することであるため誤っています。ミラーリングでこのような処理を実施することはあるかもしれませんが必須の要件ではありません。

#9. 第3世代のプログラミング言語に関連した長所と短所の正しい説明は、次のうちどれですか?

〇:構造的な言語で使用され、開発時間が減少しますが、ややリソースが集約的になります。

第3世代のプログラミング言語は、以前の言語に比べて扱いやすいです。これは、プログラム開発時間を短縮し、簡略化されかつ迅速なデバッグが可能になります。しかし、第2世代プログラミング言語と比較した場合これらの言語は、リソースが集約されます。よって正解は、「構造的な言語で使用され、開発時間が減少しますが、ややリソースが集約的になります。」になります。

実際の試験で今回のような”丁寧な”日本で出題されるかは不明です。直感的=ヒューリスティック、構造的な言語=アークテスト言語など、日本語で受けられる際には直訳に近い形での出題もされる可能性もあります。

 

×:直感的な操作によるプログラミングで労力を低減しますが、特定のタスクのための手動のコーディングの量は前の世代よりも大きくなる傾向があります。

第4世代プログラミングの長所と短所を説明になります。第4世代のプログラミング言語でのヒューリスティックな使用が大幅にプログラミングの労力と、コード内のエラーを減少させたことは事実です。ただし、手動コーディングの量は、第3世代言語の必要とされるよりもあることは事実とは言い切れないところがあります。

 

×:バイナリをコーディングに使用することで非常に時間がかかりますが、潜在的なエラーが少なくなっています。

機械語の説明であり、第1世代のプログラミング言語の長所と短所を暗示ため、正しくありません。

 

×:プログラミング処理時間を減少させることに貢献しますが、マシン構造に関する知識は必須である。

第2世代のプログラミング言語を記述しているので正しくありません。これらの言語はマシンアーキテクチャの豊富な知識を必要とし、その中に書かれたプログラムは、特定のハードウェアのみになります。

#10. SOAPおよびリモートプロシージャコールを正しく記述していない選択肢はどれですか?

〇:SOAPを使用すると、インターネットを介したアプリケーション間の情報交換にリモートプロシージャコールを使用できます。

アプリケーションがインターネット上で情報を交換できるようにするために、Remote Procedure Call(RPC)の代わりに使用するSimple Object Access Protocol(SOAP)が作成されました。 SOAPは、Webサービスの設定でメッセージをエンコードするXMLベースのプロトコルです。 これは、異なるオペレーティングシステム上で実行されているプログラムがWebベースの通信方法で通信することを可能にします。

 

×:SOAPは、リモートプロシージャコールに関連する互換性とセキュリティの問題を克服するように設計されています。

インターネットを介して異なるアプリケーションのオブジェクト間の通信を可能にしようとすると、RPCが導入した互換性とセキュリティの問題を克服するためにSOAPが作成されたため、正しくありません。 SOAPは、複数のオペレーティングシステムプラットフォーム、ブラウザ、およびサーバーで動作するように設計されています。

 

×:SOAPとリモートプロシージャコールは、アプリケーションレイヤ通信を可能にするために作成されました。

アプリケーションレイヤ通信を可能にするためにSOAPとRPCの両方が作成されているため、正しくありません。 SOAPは、Webサービスの設定でメッセージをエンコードするXMLベースのプロトコルです。 したがって、Windowsクライアントが特定のWebサービスを提供するWindowsサーバーにアクセスする必要がある場合、両方のシステムのプログラムは相互運用性の問題に陥ることなくSOAPを使用して通信できます。

 

×:HTTPはリモートプロシージャコールで動作するようには設計されていませんが、SOAPはHTTPで動作するように設計されています。

HTTPはRPCと連携して動作するようには設計されていませんが、SOAPはHTTPと連携するように設計されています。 SOAPは実際にXMLスキーマまたは通信の仕組みの構造を定義します。 SOAP XMLスキーマは、オブジェクトが直接通信する方法を定義します。 SOAPの利点の一つは、HTTP通信が一般的に許可されているので、プログラムの呼び出しが最も可能性の高いファイアウォールを介して取得することです。これは、クライアント/サーバモデルは通信エンティティの間にファイアウォールによって拒否された取得によって破壊されないことが保証されます。

#11. クロスサイトトレーシングを防御する方法はどれでしょうか。

クロスサイトトレーシングとは、TRACEメソッドのHTTP通信をWebページに埋め込むことで、認証情報を取得する攻撃です。ログイン画面にXSSでTRACEメソッドを埋め込まれてしまったとしましょう。ログインするためのパスワードが送信された後、TRACEで返却されて戻ってきてしまいます。送ったきりのパスワードがブラウザに戻ってくることで、漏洩につながっていきます。

#12. サリーの会社では、ソフトウェアのプログラマがソフトウェア・コンポーネントを変更するとその変更を文書化せず、メインのソフトウェアリポジトリにアップロードしていました。これにより、いくつかのチームは古いバージョンのソフトウェアを使用することの原因となっています。次のうちどれがこのような状況のために最善の解決策になるでしょうか?

〇:ソフトウェア構成管理

ソフトウェア構成管理(SCM)を提供する製品は、時間の様々な点でのソフトウェアの属性を識別し、ソフトウェア開発ライフサイクル全体を通してソフトウェアの完全性と追跡可能性を維持するために変化の系統的な制御を行います。これは、変更を追跡する必要性を定義し、最終的な配信ソフトウェアがリリースに含まれることになっている承認された変更のすべてを持っていることを検証する能力を提供します。ソフトウェア開発プロジェクトの間に、中央集中型のコードリポジトリとして管理し、単一のマスター・セットに対して複数の人によって作られたリビジョンを追跡するSCM機能を行うことができるシステムに保存されています。

 

×:ソフトウェア変更管理の管理

このタイプの機能のための公式用語ではないので、正しくありません。ソフトウェア変更制御管理は、ソフトウェア構成管理の一部のみです。ソフトウェア構成管理システムは、並行処理管理、バージョン管理、および同期を提供します。

 

×:ソフトウェアエスクロー

コードを開発したベンダーが破産など特定の状況が発生した場合に、顧客にリリースする予定のソフトウェアエスクローフレームワークでは、第三者がソースコードのコピーを保持します。

 

×:ソフトウェア構成管理エスクロー

このタイプの機能のための公式用語ではないので、正しくありません。

#13. コンピュータプログラミングでは、結合度と凝縮度が使用されます。 次の中で結合度と凝縮度の好ましい組み合わせはどれですか?

モジュールが低い結合度と高い凝縮度を有することは、良いことです。凝縮度が高いほど、更新や変更が容易になり、相互作用する他のモジュールには影響しません。 これはまた、モジュールの再利用と保守が容易であることを意味します。結合度は、1つのモジュールがそのタスクを実行するために必要な相互作用の量を示す測定値です。モジュールの結合度が低い場合は、モジュールが他の多くのモジュールと通信してジョブを実行する必要がないことを意味します。他の多くのモジュールに依存してタスクを実行するモジュールよりも理解しやすく、再利用も容易です。 また、これらのモジュールの周りの多くのモジュールに影響を与えることなく、モジュールを変更する方が容易になっていくでしょう。よって正解は、「低結合度、高凝集度」になります。

#14. フリーウェアとシェアウェアの違いは何ですか?

フリーウェアとは、無料のソフトウェアであり、無料で使用できます。シェアウェアとは、最初は無料で使用することができる完全に機能するプロプライエタリソフトウェアです。多くの場合、ソフトウェアをテストするためのトライアルでは、30日後に使用を継続するには料金を支払う必要があります。よって正解は、「フリーウェアは永続的に無料ですが、シェアウェアは一定期間無料です。」になります。

#15. プログラマが注意するべきいくつかの攻撃があります。攻撃者が任意のコードを実行しようとするとき、どのような攻撃を示しているのでしょうか?

〇:バッファオーバーフロー

バッファは、いくつかのユーザー入力のように、その中に何かを格納するために、アプリケーションによって予約領域です。アプリケーションが入力を受信した後、命令ポインタは、バッファに入れています。アプリケーションが誤って入力により、コード内の命令ポインタを上書きし、バッファ領域に書き込むことを可能にする際にバッファオーバーフローが発生します。命令ポインタが上書きされると、アプリケーションのセキュリティコンテキストの下で、実行することができます。

 

×:トラフィック分析

トラフィック分析は、ネットワーク上のトラフィックパターンを見て情報を明らかにする方法であるため、正しくありません。

 

×:レース条件

競合状態攻撃を示していないため、間違っています。2つの異なるプロセスがリソースにそれらのタスクを実行する必要がある場合、それらは正しい順序に従うことを必要とします。

 

×:隠密ストレージ

隠密ストレージチャネルにおいて、プロセスはシステム上のストレージスペースのいくつかのタイプを介して通信することが可能であるため、正しくありません。

#16. ロバートは、重複や矛盾を最小限に抑えるためにデータを構造化する手順を実行することによって、販売データベースの全体的な効率を高めるよう求められています。それはどのような手順ですか?

〇:正規化

正規化は、冗長性を排除してデータを効率的に整理し、データ操作中の異常の可能性を減らし、データベース内のデータの一貫性を向上させるプロセスです。データベース構造が望ましくない特性(挿入、更新、および削除の異常)を起こさないように正しく設計され、データの整合性が失われることを確実にする体系的な方法です。

 

×:ポリモーフィズム

ポリモーフィズムは異なるオブジェクトに同じ入力が与えられ、異なる反応をするため、正しくありません。

 

×:データベースビューの実装

データベースビューは論理的なアクセス制御であり、あるグループまたは特定のユーザーが特定の情報を参照できるように実装されており、別のグループが完全に表示されないように制限されているものであり、正しくありません。 たとえば、企業全体の利益を見ることなく、ミドル・マネジメントが部門の利益と経費を見られるように、データベース・ビューを実装することができます。 データベースビューは重複データを最小化しません。 むしろ、特定のユーザー/グループによってデータがどのように表示されるかを操作します。

 

×:スキーマの構築

データベースシステムのスキーマは形式的な言語で記述された構造であるため、正しくありません。 リレーショナルデータベースでは、スキーマはテーブル、フィールド、リレーションシップ、ビュー、インデックス、プロシージャ、キュー、データベースリンク、ディレクトリなどを定義します。 スキーマはデータベースとその構造を記述しますが、そのデータベース自体に存在するデータは記述しません。

#17. 次のうちディレクトリサービスを正しく記述していないものはどれですか?

〇:X.509標準に準拠し、LDAPによってデータベース内のアクセスされる各オブジェクトに名前空間を割り当てます。

ほとんどの企業には、会社のネットワークリソースやユーザーに関する情報が含まれるディレクトリがあります。 ほとんどのディレクトリは、X.500標準(X.509ではなく)に基づく階層データベース形式と、LDAP(Lightweight Directory Access Protocol)のようなプロトコルの一種で、サブジェクトとアプリケーションがディレクトリとやりとりすることを可能にします。 アプリケーションは、ディレクトリへのLDAP要求を行うことによって、特定のユーザーに関する情報を要求することができ、ユーザーは同様の要求を使用して特定のリソースに関する情報を要求できます。 ディレクトリサービスは、アクセスされるX.500標準に基づくデータベース内の各オブジェクトに識別名(DN)を割り当てます。各識別名は、特定のオブジェクトに関する属性の集合を表し、ディレクトリにエントリとして格納されます。

 

×:名前空間を使用してディレクトリ内のオブジェクトを管理します。

階層型データベース内のオブジェクトはディレクトリサービスによって管理されるため、正しくありません。 ディレクトリサービスを使用すると、管理者は識別、認証、許可、およびアクセス制御をネットワークの設定および管理ができます。ディレクトリ内のオブジェクトは、ディレクトリサービスがオブジェクトを整理した状態に保つ方法であり、名前空間でラベル付けされ識別されます。

 

×:アクセス制御とアイデンティティ管理機能を実行することにより、セキュリティポリシーを実施する。

ディレクトリサービスはアクセス制御とID管理機能を実行することで設定されたセキュリティポリシーを実施するため、正しくありません。 たとえば、ユーザーがWindows環境のドメインコントローラにログインすると、ディレクトリサービス(Active Directory)はアクセス可能なネットワークリソースとアクセスできないネットワークリソースを決定します。

 

×:管理者は、ネットワーク内で識別がどのように行われるかを構成および管理できます。

ディレクトリサービスは、管理者がネットワーク内での識別の設定および管理を可能にするため、正しくありません。 また、認証、認可、およびアクセス制御の構成と管理も可能です。

#18. 次のうち、アプリケーションセキュリティポリシーの共有を許可して、すべてのアプリケーションが同じセキュリティルールに従っていることを保証することに利用されるマークアップ言語はどれか?

〇:XACML

XACMLにより、2つ以上の企業は、ID、認証、および認証方法を共有するように設定された信頼モデルを持つことができます。つまり、自社のソフトウェアに対して認証を行うと、認証パラメータをパートナーに渡すことができます。 これにより、2回以上の認証することなくパートナーのソフトウェアと対話できます。これは、複数の組織が信頼モデルに基づいてアプリケーションセキュリティポリシーを共有できるXACML(Extensible Access Control Markup Language)を介して行われます。XACMLは、XMLで実装されたマークアップ言語と処理モデルです。 アクセス制御ポリシーを宣言し、アクセス制御ポリシーの解釈方法について説明します。

 

×:XML

XML(Extensible Markup Language)は、文書を電子的にコーディングし、Webサービスなどのデータ構造を表現するための方法であるため、正しくありません。 XMLはセキュリティ情報の共有には使用されません。 XMLは、従来のHTMLよりも堅牢なオープンスタンダードです。 マークアップ言語としての役割を果たすだけでなく、XMLは他の業界固有のXML標準の基盤としても機能します。 XMLを使用すると、企業はそれぞれのニーズを満たすマークアップ言語を使用しながら、相互に通信することができます。

 

×:SPML

サービス提供マークアップ言語(SPML)は、企業がアプリケーションセキュリティ情報ではなくユーザー、リソース、およびサービスのプロビジョニング情報を交換するために使用されるため、正しくありません。 SPMLは、OASISによって開発されたXMLベースのフレームワークで、Webポータルやアプリケーションサーバーなどのエンタープライズプラットフォームが、Webサービスやアプリケーションの安全で迅速なセットアップを目的として複数の企業にプロビジョニング要求を生成できるようにすることを目的としています。

 

×:GML

GML(Generalized Markup Language)が文書の書式設定のためにIBMによって作成されたメソッドであるため、正しくありません。 部分(章、段落、リストなど)とその関係(見出しレベル)の観点から文書を記述します。 GMLは、SGML(Standard Generalized Markup Language)とHTML(Hypertext Markup Language)の前身でした。

#19. さまざまな顧客向けにモバイルデバイスアプリを開発するための新しいソフトウェア開発会社が立ち上げられました。 同社には才能のあるソフトウェアプログラマーが雇用されていますが、時間の経過とともに改善できる標準化された開発プロセスを実装することはできませんでした。 次のうち、ソフトウェア開発プロセスを改善するためにこの会社が取る最良のアプローチはどれですか?

〇:能力成熟度モデルの統合

能力開発成熟度モデル統合(CMMI)は、製品とソフトウェアを開発するための包括的な統合ガイドラインです。 コンセプト定義、要件分析、設計、開発、統合、インストール、運用、保守、各段階で何が起こるべきかなどソフトウェア開発ライフサイクルのさまざまなフェーズに対応しています。 このモデルでは、ソフトウェア開発プロセスの成熟の基礎となる手順、原則、実践について説明します。ソフトウェアベンダーが開発プロセスを改善するのを支援するために開発されたものです。ソフトウェアの品質を向上させ、開発のライフサイクルを短縮し、マイルストーンを作成して適時に満たすことができ、効果の低い反応的アプローチよりも積極的なアプローチを採用できるでしょう。よって正解は、「能力成熟度モデルの統合」になります。

 

×:ソフトウェア開発ライフサイクル

ソフトウェア開発ライフサイクル(SDLC)が、ライフサイクルを通してシステムをどのように開発し維持するべきかを記述し、プロセスの改善を伴わないため正しくありません。

 

×:ISO/IEC 27002

ISO/IEC 27002が国際標準化機構(ISO)および国際電気標準会議(IEC)が組織情報セキュリティ管理システム(ISMS)を作成および維持する方法を概説する国際標準であるため誤りです。 ISO/IEC 27002には、情報システムの取得、開発、保守を扱うセクションがありますが、ソフトウェア開発のプロセス改善モデルは提供していません。

 

×:認定および認定プロセス

認証および認定(C&A)プロセスが事前定義された基準に対するシステムのテストおよび評価を処理するため、正しくありません。これは、ソフトウェア開発プロセスの改善とは関係ありません。

#20. Javaアプレットの実行におけるJava仮想マシンの役割について、最も適切に説明している選択肢はどれでしょうか?

〇:バイトコードをマシンレベルのコードに変換します。

Javaは、オブジェクト指向のプラットフォームに依存しないプログラミング言語です。 これは本格的なプログラミング言語として使用され、ユーザーのブラウザで動作するアプレットと呼ばれるプログラムを記述するために使用されます。Javaは、プロセッサ固有のバイトコードではない中間コードを作成するため、プラットフォームに依存しません。Java仮想マシン(JVM)はバイトコードを、特定のシステム上のプロセッサが理解できるマシンレベルのコードに変換します。

 

×:ソースコードをバイトコードに変換し、サンドボックスをブロックします。

Java仮想マシンがバイトコードをマシンレベルのコードに変換するため、正しくありません。 ソースコードをバイトコードに変換するのではなく、Javaコンパイラが行います。 JVMは、サンドボックスと呼ばれる環境内に仮想マシンも作成します。 この仮想マシンは、アプレットがアクティビティを実行する囲まれた環境です。 アプレットは通常、要求されたWebページ内でHTTP経由で送信され、アプレットが到着するとすぐに実行されます。アプレットの開発者が正しく機能しなかった場合、意図的に、または誤って悪意ある行為を実行する可能性があります。 したがって、サンドボックスはアプレットのシステムリソースへのアクセスを厳密に制限します。 JVMはシステムリソースへのアクセスを仲介して、アプレットコードが独自のサンドボックス内で動作し、確実に動作するようにします。

 

×:特定のオペレーティングシステム内の特定のプロセッサでのみ動作します。

Javaはオブジェクト指向のプラットフォームに依存しないプログラミング言語なので、正しくありません。 他の言語は、特定のオペレーティングシステムおよびプロセッサ用のオブジェクトコードにコンパイルされる。 このため、特定のアプリケーションはWindowsでは実行できますが、Mac OSでは実行できません。 Intelプロセッサは、Alphaプロセッサ用にコンパイルされたマシンコードを必ずしも理解するとは限りません。 Javaは中間コード・バイトコードを作成するため、プラットフォームに依存しません。プロセッサ固有のコード・バイトコードではありません。

 

×:ユーザーのブラウザで動作するアプレットを開発する。

Java Virtual Machineがアプレットを作成しないため、正しくありません。 Javaは、本格的なプログラミング言語として採用され、ユーザーのブラウザで動作するアプレットと呼ばれる完全なプログラムと短いプログラムを記述するために使用されます。 プログラマはJavaアプレットを作成し、コンパイラを介して実行します。 Javaコンパイラは、ソースコードをバイトコードに変換します。 その後、ユーザーはJavaアプレットをダウンロードします。 バイトコードは、JVMによってマシンレベルのコードに変換されます。 最後に、呼び出されるとアプレットが実行されます。

終了