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

CodeZine / 2012年5月15日 14時0分

図6 構造的なビジネスルール

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

■素早く全体をつかむ

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

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

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


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

表1 ビジネスルールの種類
ルール 説明 構造的なビジネスルール 情報の構造上の制約や条件を示したもの 条件付けによるビジネスルール 条件付けられたルール(5万円以上買うと5%引き) 手続き的なビジネスルール 業務の手続きに関わるルール(「受注積み」が在庫引き当て対象)
 整理した入出力、機能、データがこれらのルールと結びつくことで、各々の役割や関係性が明確になり、システム全体の機能が見えてきます。

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

●システムの特徴をつかむ

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

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

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

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



■関連記事
既存システムを分析するための考え方と対処法
NUnitの全貌 ~ 基本から、最新バージョンの新機能まで
Visual Studio 11 betaの単体テスト機能を使ってみよう!
既存システムを分析するコツは「システムの地図」を作ること
Visual Studio 11 : C++ Unit Test Framework ── C++単体テストの決定版(かもしれない)

■記事全文へ

CodeZine

トピックスRSS

ランキング