SHOEISHA iD

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

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

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

既存システムを分析するための考え方と対処法

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

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

 前回は既存システムの分析方法として、システムの地図を作ることを説明しました。さまざまな制約の中で開発、保守されたシステムは混沌としています。その状況に影響されずに重要なものと不要なものを見極め、システムを俯瞰するために必要最低限度の情報で全体を表現します。今回はプロジェクトの置かれたさまざまな状況の中で、既存システムを分析するための考え方や対処法を説明します。

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

素早く全体をつかむ

トップダウンで全体を把握する

 システムの地図はシステムの入出力、機能、データ、そしてビジネスルールで表現します。その全体の構成要素を示したものが図1です。

図1 システムの地図の構成要素
図1 システムの地図の構成要素

 入出力とデータを機能でつなぎシステムの構成を明らかにします。そして、点線で囲まれた3種類のビジネスルールで業務との関わりを表しています。

表1 ビジネスルールの種類
ルール 説明
構造的なビジネスルール 情報の構造上の制約や条件を示したもの
条件付けによるビジネスルール 条件付けられたルール(5万円以上買うと5%引き)
手続き的なビジネスルール 業務の手続きに関わるルール(「受注積み」が在庫引き当て対象)

 整理した入出力、機能、データがこれらのルールと結びつくことで、各々の役割や関係性が明確になり、システム全体の機能が見えてきます。

 この構成要素を業務やサブシステムに分割し、その中で要素ごとにまとめたものがシステムの地図になります。

システムの特徴をつかむ

 業務系のシステムを大きく2つのタイプとして考えると、情報の整理に役立ちます。

  • データ蓄積型システム
    データを入力し加工して出力するだけのシステム
  • 状態変化を監視するシステム
    入力した情報の状態が変わり、その変化に応じてシステムの振る舞いを変えるシステム

 データ蓄積型システムは情報の共有や分析などを行うシステムとして広く使われている形態です。この形態の場合は入出力情報とデータとの関係が整理できれば、システムの全体像を整理することができます。入出力とは画面や帳票、外部システムとのインターフェースになります。入出力間に相互関係があまりないので、構造的なビジネスルールと条件付けによるビジネスルールが重要になります。

 状態変化を監視するシステムはデータ蓄積型の特徴に加えて、ビジネス上の状態の変化とシステムが密接に関係しているタイプです。ビジネス上の状態とは、業務フローのような作業ステップがあり、それがデータ上は状態(見積もり済み、受注済み…)として認識されているものを指します。このとき状態変化を引き起こすのがシステムの入出力と考えます。この形態のシステムは入出力間に関係性があり、手続き的なビジネスルールとして整理します。このようにビジネス上認識されていることとデータの状態が密接に関係しているのがこのタイプの特徴です。

 2つのタイプと3種類のビジネスルール、そして入出力、機能、データの各々の視点を意識して調査分析対象のシステムがどのタイプかを素早くつかむことで、整理の見通しをつけやすくなります。

会員登録無料すると、続きをお読みいただけます

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

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

メールバックナンバー

次のページ
システムの全体像を捉える

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

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

もっと読む

この記事の著者

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

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

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング