はじめに
普段UMLを使っていない方に、UMLを使った要件定義の話をしてもなかなか受け入れられません。「要件定義したいのであってUMLを覚えたいわけではない」あるいは「要件定義を行うためにわざわざUMLを覚える時間はない」などの声が返ってきます。それはもっともで、重要なことは要件の定義であり、UMLの表記法やツールの使い方を覚えることではありません。
そこで今回から、UMLを使わずに簡単な入力でスムーズに要件定義の情報をまとめられる「要件のツボ」を紹介します。
個別の情報を「表形式」で並べて表現する
第2回『構造に沿って要件をUMLで具体的に定義する』(CodeZine)では、UMLを使った方法を紹介しました。しかし、RDRAはUML専用の考え方ではなく、要件定義の構造から要件をスムーズに定義するための考え方を示したものです。構造を4つの視点に分け、各々の視点の情報をつなげて表現することがRDRAの基本です。情報をつなげて表現できればUMLにこだわる必要はありません。
UMLはソフトウェアの要件定義から設計、保守まで幅広く使える強力なツールです。しかし、UMLを活かすにはそれなりに熟練が必要です。RDRAで定義された各ダイアグラム(UMLで表記された図)の意味を理解し、そのつながりを把握した上で各ダイアグラムを作成する必要があります。要件定義をスムーズに進めるための支援はUMLツールからは得られず、要件定義のためのモデリング方法は全てツール利用者にゆだねられます。
一方、要件定義などの上流工程で作業されている方の中にはシステム開発に直接関わらない方も多くいます。そのような方にとってはUMLよりも表計算ソフトなどの表形式に馴染みがあります。
今回紹介する「要件のツボ」は、必要な情報を表形式で並べて表現することでつながりを表現します。図1は、要件定義の各情報の関わりを示しています。業務フローやプロトコルモデル(ステートマシン図)はやはり図として表現した方が適切なので、このツールからは省いています。概念モデルは用語集で代用します。
図1には「要件のツボ」で定義する情報の代表的なつながりを表しています。アクター、外部システム、データの3つのモデルは直接単独で表現するものなので一覧として登録します。以下の情報は既に登録している情報につなげる形で入力します。
- 要求:アクターからつなげる
- 利用シーン:アクターからつなげる
- ユースケース:利用シーン、アクターのどちらかからつなげる
- 画面・帳票:ユースケース、利用シーン、アクターのいずれかからつなげる
- イベント:外部システムからつなげる
- イベントデータ:イベントからつなげる
- 機能:ユースケース、画面帳票、イベントのいずれかからつなげる
図2の例では最初にアクターのシートを作成し、次に要求を整理している様子を示しています。要求をアクター単位に洗い出し、セル位置の関係でアクターと要求のつながりを表現しています。このように既に登録している情報をもとに定義を進めることでスムーズに情報の洗い出しができます(修正作業に難点はありますが、表計算ソフトでもRDRAで要件定義が可能です)。