問題
問54
システムの開発プロセスで用いられる技法であるユースケースの特徴を説明したものとして、最も適切なものはどれか。
- システムで使われるデータを定義することから開始し、それに基づいてシステムの機能を設計する。
- データとそのデータに対する操作を一つのまとまりとして管理し、そのまとまりを組み合わせてソフトウェアを開発する。
- モデリング言語の一つで、オブジェクトの構造や振る舞いを記述する複数種類の表記法を使い分けて記述する。
- ユーザがシステムを使うときのシナリオに基づいて、ユーザとシステムのやり取りを記述する。
[出典:ITパスポート試験 平成29年度春期 問54]
正解
正解は「エ」です。
解説
ユースケースは、システム開発の要件定義において、ユーザーがシステムを利用して「何をしたいのか」という目的(目標)を明確にするための技法です。具体的には、ユーザー(アクター)がシステムとどのように対話するかを、一連のステップ(シナリオ)として記述します。これにより、システムが提供すべき機能や、その機能がどのように使われるかをユーザー視点で具体化し、開発者とユーザーの間での認識のズレを防ぎます。
例えば、オンラインショップのシステムであれば、「顧客が商品を検索する」というユースケースがあり、そのシナリオでは、顧客が検索ボックスにキーワードを入力し、システムが検索結果を表示するといったやり取りを記述します。このように、ユースケースは「システムが誰のために、どのような価値を提供するか」をユーザーとの対話形式で表現するものです。
ア(システムで使われるデータを定義することから開始し、それに基づいてシステムの機能を設計する。):
これは、データモデルを重視した開発アプローチ(データ中心アプローチ)の説明に近いものであり、ユースケースの特徴とは異なります。ユースケースはデータだけでなく、ユーザーの行動に焦点を当てます。
イ(データとそのデータに対する操作を一つのまとまりとして管理し、そのまとまりを組み合わせてソフトウェアを開発する。):
これは、オブジェクト指向開発における「オブジェクト」の考え方を説明したものです。データ(属性)とそれに対する操作(メソッド)を一体として扱う特徴があります。ユースケースとは異なる概念です。
ウ(モデリング言語の一つで、オブジェクトの構造や振る舞いを記述する複数種類の表記法を使い分けて記述する。):
これは、UML(統一モデリング言語)のような汎用的なモデリング言語の特徴を説明したものです。UMLはユースケース図を含む様々な図でシステムの構造や振る舞いを記述しますが、この選択肢の説明はUML全体を指しており、ユースケース単体の特徴ではありません。
難易度
この問題は、システム開発の要件定義フェーズで用いられる「ユースケース」について、その本質的な特徴を理解しているかを問うものです。ユースケースの概念を学習していれば、ユーザー視点での機能定義とシステムとの対話というキーワードから正解を見つけやすいでしょう。しかし、他の開発手法やモデリング言語の概念と混同しやすい選択肢も含まれているため、各用語の意味を正確に把握しておく必要があります。
用語補足
ユースケース:
ユーザーがシステムを使って達成したい目標(機能)を、ユーザーとシステムの対話として記述する手法です。例えば、銀行ATMで「現金を引き出す」というユーザーの目標を、ユーザーがカードを挿入し、暗証番号を入力し、金額を入力し、ATMが現金を払い出す、といった一連の操作として記述します。
シナリオ:
ユースケースの具体的な実行例を、一連のステップとして記述したものです。ユーザーがシステムに対して何を行い、システムがそれに対してどう応答するかを時系列で追っていきます。
モデリング言語:
ソフトウェアシステムを設計・分析する際に、構造や振る舞いを視覚的に表現するための言語です。UML(統一モデリング言語)などが代表的で、システムの様々な側面をモデル図として表現します。
オブジェクト指向開発:
システムを構成する要素を「オブジェクト」という単位で捉え、データとそのデータを操作する手続き(メソッド)を一つにまとめることで、再利用性や保守性を高める開発手法です。例えば、車というオブジェクトには、色や速度というデータと、走る、止まるという操作がまとまっています。
対策
ユースケースは、システム開発における要件定義の重要な技法の一つです。この問題を解くためには、「ユースケースがユーザー視点(アクター)でシステムが提供する価値(目標)を定義し、その目標達成のためにユーザーとシステムがどのようにやり取りするか(シナリオ)を記述する」という本質的な特徴を理解することがポイントです。他の選択肢が、データ中心アプローチやオブジェクト指向開発、モデリング言語全般といった異なる概念を指していることを区別できるよう、それぞれの用語の意味を正確に押さえておきましょう。

