第6回 USDMにおける階層化・分割基準・グループ化
第6回 USDMコラム
USDMとは、ソフトウエア開発の上流工程で必要となる、正確な要求記述、要求仕様を定義する技法で、製造業をはじめ多くの企業に導入されています。
今回は、階層化・分割基準・グループ化という要求の分け方についてご紹介します。
本コラムではUSDMとは?の基礎から応用までを、数回に分けてわかりやすく解説していきます。
はじめに
https://member.eureka-box.com/products/10/categories/4909959/posts/16531164
要求が複雑であったり、要求の範囲が広すぎると、モレやミスが生じやすくなります。モレやミスを防ぐため、USDMでは「階層化」「分割基準」「グループ化」の3つの仕組みを使って要求を分けます。また、要求を仕様へと落とし込むときにも、グループ化と分割基準が利用できます。
要求と仕様を階層構造で表現する
https://member.eureka-box.com/products/10/categories/4909959/posts/16531164
これは、「要求と仕様」の講座でも説明したクルーズコントロールの例です。
上位要求には、対象が提供すべき機能やサービスの振る舞いを記述します。下位要求には、その機能を実現するために必要な振る舞いを、上位要求を分解する形で記述します。仕様には、振る舞いを実装する際の作り方の指示を記述します。
このように、要求から仕様へ、具体的な内容に落とし込みます。
Eureka Boxは厚生労働省が実施している助成金、人材開発支援助成金の適用対象となります。
階層化
https://member.eureka-box.com/products/10/categories/4909959/posts/16531164
階層化の基本は、動詞を基準にする方法です。上位要求を動詞ごとに分割して並べてみましょう。
図は実際の例です。「設定した」、「鳴らして」、「停止できる」の3つの動詞を時系列で分割して下位要求へと展開しています。
下位要求から仕様に階層化するときも、考え方は同じです。
グループ化
https://member.eureka-box.com/products/10/categories/4909959/posts/16531164
階層化した下位要求の数が多くなりすぎると、下位要求のモレに気づきにくくなります。そんなときは共通項でグループ化し、範囲を限定することで、モレに気づきやすくなります。
例えばこの例のように、下位要求を複数のグループに分割します。このとき、グループは「動詞性名詞」、つまり動作を表す名詞の形式で記述します。
これを「グループ化」と呼びます。
分割基準
https://member.eureka-box.com/products/10/categories/4909959/posts/16531164
階層化で要求を分割する際や、グループ化で複数のグループに分割する際、分割基準が明確でないとヌケモレが生じやすくなります。
USDMには「時系列分割」、「構成分割」、「状態分割」、「共通分割」の4つの分割基準があり、状況ごとに適したものを選択します。
「分割基準」の選び方
https://member.eureka-box.com/products/10/categories/4909959/posts/16531164
複数機能を有するものを分割する場合は、まずは機能単位で分割してみるとよいでしょう。
ひとつの機能を分割する場合は、時間軸を意識して分割すると、わかりやすく、テスト仕様にも落ちやすくなります。
状態が大きな意味を持つ場合は、状態を意識して分割すると理解しやすくなります。
サービスや製品の特長に合わせて、モレが発生しにくそうな基準を選びましょう。
USDMを実際に学んでみる
今後の開発効率を上げるために実際に学んでみたいという方に、まずは無料でお試しいただけるオンライン学習プラットフォームを準備しています。
業務が多忙なエンジニアでも、スキマ時間で効率的に実践的な学習が出来るEureka Boxは、エンジニアの現場の声から生まれたツールです。
ソフトウェア開発を改善するための開発技術を“知り・学び”“実践する”
超実践的オンライン学習プラットフォーム
Eureka Box(ユーリカボックス)
USDM(要求記述、要求仕様)を正しく理解した上で適用し、最大限の効果を得られるようスキルアップしたい方にもEureka Boxでの学習をお勧めします。
Eureka Box(ユーリカボックス)無料会員登録だけでも以下の特典が受けられます。
- 各連載コラムの全容、未公開コラムも一気にまとめて読める(一部動画解説付!)
- USDM(要求記述)、MBD(モデルベース開発)、システムズエンジニアリング、AWS Greengrass(新世代エッジエンジニアのための技術講座)など、ソフトウェア開発に関わる知識がギュッと凝縮、困った時のお助けアイテムとしても長期で活用出来る
- ソフトウェア開発に関わる無料お試しコンテンツも充実
まとめ
https://member.eureka-box.com/products/10/categories/4909959/posts/16531164
USDMにはモレやミスを防ぐための仕組みがいくつも用意されています。そのうち、要求を分けるときに使えるものを紹介しました。
階層化によって、上位要求を下位要求へ、下位要求を仕様へと落とし込んでいきます。同じ階層の項目が増えすぎたときは、共通項でグループ化します。階層化やグループ化を行うときには、いずれかの分割基準に沿って分割することで、ヌケ・モレを防ぐことができます。
デジタル人材が不足している今の時代、特にソフトウェア開発の現場では「上流技術」のスキルを持つ人が必要とされています。
そのスキルが効率よく身につくように設計されたのが「オンライン学習のEureka Box(ユーリカボックス)」
Eureka Boxの運営企業であるエクスモーションは、日本を代表する大手自動車メーカー、医療機器メーカー等、ソフトウェア開発の支援を実際に行っている企業だからこそ、
社会で実践出来るレベルまでサポートされた学習ツールが実現しました。
「Eureka Box(ユーリカボックス)」を是非ご活用ください。