SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

リレーションシップ駆動要件分析による実践的な要件定義手法

構造に沿って要件をUMLで具体的に定義する

リレーションシップ駆動要件分析による実践的な要件定義手法(2)

  • X ポスト
  • このエントリーをはてなブックマークに追加

 前回は要件定義には構造があり、その構造を使うことで要件をスムーズに定義できることを紹介しました。今回はその構造に沿った具体的な定義の方法をご紹介します。

  • X ポスト
  • このエントリーをはてなブックマークに追加

はじめに

 「上流工程で作成するドキュメント」というとWordやExcelなどを使い、自然言語(文章など)で表したものをイメージすると思います。しかし、昔から自然言語での表現はあいまいになることが多く、仕様としては適さないことが指摘されています。

 皆さんも過去に意味不明な要件定義書を受け取ったことや、「いろいろ書いてあるけど重要なのはたった1行だった」あるいは粒度がバラバラで統一感のないものなどさまざまな要件定義書を見てきたと思います。

 前回は要件定義には構造があり、その構造を使うことで要件をスムーズに定義できることを紹介しました。今回はその構造に沿った具体的な定義の方法をご紹介します。

 リレーションシップ駆動要件分析(RDRA)は、その名のとおりリレーションシップが重要な意味を持ちます。その情報のつながりを直接表現できる図的な方法としてUMLを使います。

UMLを使って要件を定義する

視点ごとの情報を理解する

視点ごとの情報を整理する

 先の記事で示したとおり要件定義には4つの視点があり、各々の視点には定義すべき情報が決まっています。その情報をUMLを使ってモデルとして表現し、そのまま要件定義書とします。情報のつながり方を見ることで言葉を使わなくても意味を表すことができます。

 図解することの利点はそれだけではありません。理解が容易で、議論しながら定義できます。UMLを使って考えを伝え、共有し、議論の結果をそのままドキュメントとすることで、UMLがコミュニケーションツールとなります。

 考えていることを表現し、議論することが第1の目的ですからUMLの表記法に厳密に従うよりは図として対象を共有することを優先します。従って、要件定義として表現したいことであればUMLの表記法にとらわれずに自由に表現することが大事です。

図1 要件定義の情報のつながり
図1 要件定義の情報のつながり

 図1はRDRAで使用するダイアグラム(モデルごとの四角のアイコン)を4つの視点に当てはめたものです。各々のダイアグラムが要件定義の情報を表します。「業務&UC」は業務フローにユースケースを結びつけたダイアグラムですが、このような点線のダイアグラムは必要な場合にだけ一時的に作成するダイアグラムです。

 以下に4つの視点ごとのダイアグラム作成のポイントを示します。

システム価値

 システム価値の視点ではコンテキストモデルと要求モデルを作成し、以下の質問に答えます。

  • このシステムから価値を得る人と外部のシステムは何ですか?
  • システムに関わる人はどのような要求を持っていますか?
  • システム化の目的・価値は何ですか?

 この質問に答えるために「コンテキストモデル」と「要求モデル」を作成します。

 コンテキストモデルはシステムに関係する人と外部システムを記述し、システムの目的も明らかにします。この一枚のモデルでシステムに関わる対象と、システム化の価値・目的が明らかになり、要件定義の出発点になります。

 要求モデルでシステム化の方向性を明らかにします。そのために要求の粒度を揃え構造化し、本質的な要求と具体的で明確な要求の両方を明らかにします。

 アクターと要求を結びつけることで、アクター別の要求のばらつきや要求漏れを把握することができます。

 RDRAでは要求を「要望」「要求」「要件」の3つに分けることを推奨しています。そして「要求」についてはさらに「機能要求」と「非機能要求」に分けます。

図2 システム価値
図2 システム価値

次のページ

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
リレーションシップ駆動要件分析による実践的な要件定義手法連載記事一覧

もっと読む

この記事の著者

神崎 善司(カンザキ ゼンジ)

(株)バリューソース代表大手SIerにおいて大小10システム以上のプロジェクトリーダを勤め、20年ほど前に独立。2002年から5年間(株)豆蔵での社員も兼任しながら要件定義などの上流工程のコンサルティングを行う。2008年に要件定義手法「リレーションシップ駆動要件分析(RDRA)」を開発し現在はその...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5689 2011/01/24 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング