SHOEISHA iD

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

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

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

要件の精度を向上させる

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

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

 要件をつなげて定義しただけでは要件の精度を向上させることはできません。登録した情報を様々な視点で確認することで整合性や網羅性を向上させることができます。今回は「要件を分析する」「要件を検証する」「要求を使って要件定義に方向性を与える」「ツールを使って議論する」の4つの場面で精度をあげる方法を紹介します。

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

はじめに

 数人で1か月間要件定義を行うと数冊分のファイルになるような膨大な情報が作成されます。プロジェクトリーダーは印刷された膨大な情報を見ながら「1か月前から作成している情報は整合性がとれているだろうか?」と心配になります。

 情報が集まると次に精度が気になります。要件を定義するためには精度をどのように高めていくか併せて考えていく必要があります。

 要件定義支援ツール「要件のツボ」(以下「要件のツボ」)も要件をつなげて定義しただけでは要件の精度を向上させることはできません。登録した情報を様々な視点で確認することで整合性や網羅性を向上させることができます。今回は「要件を分析する」「要件を検証する」「要求を使って要件定義に方向性を与える」「ツールを使って議論する」の4つの場面で精度をあげる方法を紹介します。

要件を分析する

個々のつながりから妥当性を分析する

 リレーションシップ駆動要件分析「RDRA」(以下「RDRA」)ではアクターからデータまでをつなげて定義します。一連のつながりには意味があります。その意味を確認することで洗い出した情報の妥当性を確認できます。

 例えばアクターを起点にそのアクターにつながる要求と利用シーンを確認することで、利用シーンが要求を満たしているかを確認できます。同じように利用シーンにつながるユースケース、画面・帳票をアクターからたどることで、そのアクターの責務や権限と画面・帳票の権限が適合しているかを確認できます。その他にもユースケースにつながる機能を確認し、その機能と関わる別のユースケースを確認することで機能の分割単位が適切か否かを識別できます。このように定義された情報のつながりを調べることで、新たな発見があり、精度向上のきっかけになります。

 「要件のツボ」にはこのつながりをたどっていく「リンク分析」という機能があります。打ち合わせの中でこの機能を使ってアクターから順次つながりを確認し、不適切な関係や見落としなどを見つけることができます。

図1 つながりを利用する
図1 つながりを利用する

 個々の情報だけで精度を向上させようとしても限度があります。このように個々の情報をたどりながら、その関係性に着目することで新たな視点で要件を確認できるようになります。

CRUD分析で整合性を高める

 CRUD分析は歴史のある分析方法です。データと機能との関係をCRUD(Create、Read、Update、Delete)で表します。データのライフサイクルを調べることで機能の抜けやミスを調べることができます。

 図2では「利用者情報」と「お気に入り情報」に矛盾があることを示しています。ともにデータの生成(Create)がないのにReadとUpdateがあります。これは2つの情報を生成する機能が抜けていることを表しています。他の機能で2つの情報へのアクセスが抜けているか、機能そのものの見落としの可能性があります。

 RDRAではアクターと外部システム、データはつながりの端点になります。データで整合性を合わせることで、アクター・外部システムからつなげてきた関係を、今度はデータからアクターに向けてつながりを検証できます。

 例えば機能の抜けを発見した場合は、その機能とつながるユースケースを探し対応するものがなければ、新たにユースケースを追加します。このようにつながりを遡ることで、新たな要件や不整合な要件を発見できます。

図2 CRUD表
図2 CRUD表

次のページ
要件を検証する

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

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

もっと読む

この記事の著者

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

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

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング