タスクとして技術ドキュメントの作成や文書体系の検討をしているところで、特に要求書について伝わるドキュメントの書き方についてあらためて考えている。そこで、前職で取り組んだ「変更要求仕様書」の記述法であるUSDM(Universal Specification Describing Manner)の解説から、ポイントをまとめてみる。
「要求」と「仕様」
要求サイドのドキュメントを見ていると要求と仕様がごちゃまぜになっていることがある。両者には違いがあり、そこを意識してドキュメントを書きたい。
要求1
- システムに求められる機能や性能、作り方に対する品質など、実現したいことを「要求」として抽象的に表現したもの
- 機能については、振る舞いとして要求を記述する
私は、設計したりや作ってほしいことなので、語尾に「してほしい」を加えて意味が通るように書くようにしている。
仕様1
- 要求に含まれる “具体的”な処理や振る舞いを表現したもの
- 「仕様」は要求の中の「動詞」にある
- “仕様”は、要求の中の「動詞」および「目的語」に存在する
- 要求の中にある個々の「する(動詞)」に対して 具体的にどのような処理を(する) べきかを記述する
USDM
USDMは、要求を仕様をセットとして構造化した記述法である。
USDMの特徴2
- 要求を振る舞いとして表現し、仕様はその振る舞いが及ぶ範囲の中で導き出す
- 要求と一緒に理由(要求の存在理由)を記述し、要求の意図や背景、動機を補足する
- 要求と仕様を階層で表形式で表現する
取り組みをした当時は変更要求仕様書をExcelで作成したのだが、図をはめこみにくい、要求や仕様の追加・削除の編集が面倒くさい、USDMの記述の変更履歴を残しにくい(シートをコピーして古いシートを残したりした)というデメリットがあった。
社内で、文書の変更履歴をトレースできるようにしたいという課題が提起され、ドキュメントはWordでなくてもいいという意見まででてきた。XMLやMarkdownで記述できればいいのかもしれない(XMLはマニュアルでは書けないけれど)
-
清水吉男(派生開発推進協議会 ):要求仕様記述手法「USDM」ってどんなの? ~明日から使えるUSDMのエッセンス~, 派生開発推進協議会(AFFORDD) USDM勉強会資料 ↩ ↩2
-
SRA 粟生木徹:USDMを用いた上流での品質作り込み, (2014) ↩