SHOEISHA iD

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

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

モデルベースの手法でコストをかけずに既存システムを分析する

要件定義ツールを使った既存システムの分析

モデルベースの手法でコストをかけずに既存システムを分析する(4)

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

機能としてつなげる

 材料が揃ったところで機能を使って入出力とデータをつなげます。まずは「画面・帳票」「イベント」から「機能」を洗い出します。実際のプログラムを無視して論理的な「機能」を洗い出します。

 「要件のツボ」ではあらかじめ登録してある「画面・帳票」に並べて「機能」を入力(図2参照)することで、つながりを表現します。同じく「イベント」に並べて「機能」を追加します。これで入出力に機能を追加することができます。また、共用機能を使うことで複数の「画面・帳票」「イベント」で1つの「機能」を共用することができます。

図2 画面とイベントから機能を洗い出す
図2 画面とイベントから機能を洗い出す

 次に機能とデータをCRUD(Create,Read,Update,Delete)を意識してつなぎます。「要件のツボ」ではCRUD用の登録画面があります。関係する機能とデータをドラッグ&ドロップで対応づけ、個々の関係についてポップアップメニューでCRUDの設定を行います(図3左側)。

図3 機能とデータをCRUDでつなげる
図3 機能とデータをCRUDでつなげる

 設定が終了したら次にデータ・CRUDごとの機能の関わり(図3右側)を確認します。データは基本的に「生成、更新、参照が行われ、最後に削除される」というライフサイクルを持ちます。洗い出された入出力がこれらのデータのライフサイクルを満たしているかを確認することで、機能とデータ、入出力情報の不整合を見つけることができます。

 例えば在庫データにつながる機能としてCreate、Updateするものが抜けているときは、機能の関連づけが抜けているか、機能そのものが抜けている可能性があります。

 機能の洗い出しでは機能分割をしてはいけません。ここで洗い出す機能はシステムを整理するための機能であって、プログラムの洗い出しではありません。

 入出力とデータがどのような機能でつながっているかを想像し、保守担当者などにヒアリングして確認します。こうすることで網羅的に効果的なヒアリングを行うことができ、プログラムに頼らなくても分析を進めることができます。

 最終的に洗い出された情報は図4のように機能を介してつながります。入出力、機能、データのつながりを確認することで、各々の情報の役割が見えてきます。

図4 洗い出した情報のつながり
図4 洗い出した情報のつながり

 最終的には洗い出したすべての情報をつなげ(図7左側)それらの関係を説明できるようにします。説明できないところ、つじつまの合わないところが調査ポイントになります。つながりを使って広く浅くシステムを理解し、説明できるようになることが分析のゴールになります。

次のページ
情報を付加する

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
モデルベースの手法でコストをかけずに既存システムを分析する連載記事一覧

もっと読む

この記事の著者

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

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

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング