USDM (Excelテンプレート付き)

目次

USDMとは

USDM(Universal Specification Describing Manner)とは「要求(システムに何をしてほしいか)」と「仕様(システムをどう動かすか)」を紐づけて、万人に通じる仕様書を記述するための手法です。
不具合の半数は上流工程(要求の勘違いや記述漏れ)で仕込まれるといわれています。上流工程での不具合はプログラムのバグとは違い「人間のコミュニケーションの曖昧さ」にあります。「言った/言わない」、「わかったつもり」や「隠れた前提」などです。
USDMはこの「上流工程の不具合を上流工程でつぶす」ための手法です。

USDMの特徴は、まず要求を記述し、その直下に仕様を記述することにあります。これにより仕様の検討中、すぐに要求を確認することができます。またなぜその要求が必要なのかという理由を書かせることで、要求の真意をくみ取りやすくなり、勘違いを防げます。また根拠のない要求は不要であると判断でき、早期に仕様から省くことも可能となります。

本ページではユースケース記述のExcelテンプレートと記入例を紹介します。

入力フォーマットと入力例

ECサイトのログイン機能
要求LOGIN登録済みのユーザーがシステムにログインできる。
理由個人に最適化されたサービス(購入履歴やお気に入りなど)を提供するため。
説明
要求LOGIN-01メールアドレスとパスワードによる認証が行えること。
理由一般的な認証方法であるため。
説明
<入力検証>
□□□LOGIN-01-01メールアドレスとパスワードが両方入力されていない場合、認証処理を開始しない。
□□□LOGIN-01-02登録されていないメールアドレスが入力された場合、エラーメッセージを表示する。
□□□LOGIN-01-03パスワードが一致しない場合、エラーメッセージを表示する。
□□□LOGIN-01-04メールアドレスとパスワードが一致した場合、ログイン状態となりトップページへ遷移する。

ユースケース記述との使い分け

ユースケース記述はシステムの内部をブラックボックスとし、システムの振る舞いを外側からみて表したものです。それに対してUSDMは、システムの内部の振る舞いを表したものになります。

ユースケースとUSDMは下記のように対応付けます。

  • ユースケース名を、USDMの上位要求に対応付けます。
  • ユースケースの各ステップを、USDMの下位要求に対応付けます。
  • USDMの下位要求の実現方法を仕様として展開していきます。

要求を書く際の注意点

USDMのポイントは、いかにして望んだ要求を書くか、または望みを要求として書かせるかに掛かっています。より良い要求は、より良い仕様を生みます。要求は次のようなことに気を付けて書いてください。

  • 「動詞」に着目する。
    要求は「~を~する」という「目的語+動詞」で簡潔に書きます。
    「〇〇を表示」ではなく「〇〇を表示する」とすることで、「誰が・何を・どうする」という振る舞いを確定させます。
  • 「やること」ではなく「やりたいこと」を書きます。
    「やること」を書いてしまうと、手段に縛られて本当の目的が見えなくなります。
    またあとで見返したときに、「なぜそれをやるのか」という当初の目的や理由がわからなくなってしまいます。
  • 「状態」と「動作」を明確にします。
    「〇〇画面を表示する」なのか「〇〇画面が表示される」なのかを区別して書きます。
  • 実装方法を書いてはいけません。
    具体的な実装方法、実現方法は仕様に書くべきものです。
  • テストできる状態にします。(検証可能性)
    「安全であること」や「処理が速いこと」といった形容詞的な表現は避けます。
    客観的にテストできるよう、「通信を暗号化する」や「〇秒以内に処理が終わること」など具体的な要求を書きます。
  • 要求は「範囲」を明確にします。
    時間・期間的な範囲:「いつでも」なのか、「時間帯の制約」があるのか。「過去すべて」なのか、「直近〇か月」なのか。
    対象データの範囲:「すべてのデータ」なのか、「未処理のデータ」なのか。
    ユーザーの範囲:「誰でも」なのか、「管理者」や「ログイン済みのユーザー」なのか。

USDMの使い方

  • 「□□□」は仕様がどのフェーズであるかを表します。
    □□□:まだ誰も手を付けていない、未着手の状態です。
    ■□□:仕様のレビューが完了しました。
    ■■□:実装まで完了しました。
    ■■■:テストまで完了しました。

本VBAの特徴

  • Excel 様式の手間なところを自動化します。
    (1) 罫線や背景色を自動で設定します。
    (2) 仕様のID番号を自動で設定します。
    (3) グループ化して折りたためるようにします。
    (4) 入力した文字列量に合わせて、セルの高さを調整します。
  • 「要求」「理由」「説明」「□□□」など定型文字を自動で設定します。
  • デフォルト設定では1万行までを整形の対象にしています。
    対象行を増減させる場合は、コード内の「USDM_END_ROW」を変更します。

本VBAの使い方

STEP
ステータスを設定する

A列はステータスであり、その行が何のデータであるかを示します。
このステータスに合わせて、色、罫線、定型文字などのスタイルを適用します。

1要求のタイトルをC列に記入します。
11上位の「要求」をE列に記入します。
またD列に記入したラベルをIDに使用します。
12上位要求の「理由」をE列に記入します。
13上位要求の「説明」をE列に記入します。
21下位の「要求」をF列に記入します。
22下位要求の「理由」をF列に記入します。
23下位要求の「説明」をF列に記入します。
31グループ名をE列に記入します。
32仕様をE列に記入します。
33仕様を複数行に分けて記入したい場合に使用します。
本行はセルの高さを自動調整しません。
99USDMの最終行です。
3万行に達するか、本ステータスにあたるまでフォーマット整形を行います。
STEP
レイアウト調整する

[レイアウト調整]ボタンをクリックし、セルの書式設定を行います。
このあと、要求や仕様を記入しながら、適宜レイアウト調整を行ってください。

Excelファイルダウンロード

USDMテンプレートのExcelファイルデータです。
ZIP形式で圧縮してあり、解凍するとxlsm形式のExcelファイルが現れます。
個人・商用利用を問いませんので、ダウンロードしてご自由に使用してください。

ファイル名:KN0023-00.zip
ファイル容量:137KB

Excelファイルを開いた際に「保護ビュー」や「セキュリティリスク」などの警告が表示される場合、マクロを有効にしてからご利用ください。

コメント

コメントする

CAPTCHA


目次