• 検索結果がありません。

経営情報システムとビジネスモデリング技法

ドキュメント内 Sapidによるソフトウェア解析技法 (ページ 113-128)

112 

S a p i d

によるソフトウェア解析技法

こと、モデリング作業が実際の開発や検証プロセスで有効であること、他のソ フトウェア工学的な開発手法

(XML

、UML等)を導入するといった点に留意 してモデリングを行う。

D i ‑ p a s

はフランス語で

r 2

つの歩み」といった意味であり、上流工程までを 視野に入れたリポジトリデータベース実現を目的とする。

Sapid

のドメインを 拡張し、さまざまな粒度のリポジトリに基づくモデルを設計する。それに基づ いて対象ソフトウェアの情報データベースを構築し、ソフトウェア工学アプリ ケーション開発を行う。

[対象プロセス]

[ D i p a s アプリ]

[既存のアイデア]

1 . 2

モデリング開発環境Di

pas

Dipas

は情報システムの設計、開発、検証の各プロセスを統一して支援する 開発環境を、ーソフトウェア工学的な観点から構築するプロジェクトである。上 流工程の概念的作業から、設計、テスト、保守までを対象とし、既存の方法論、

データ形式を取り入れて、汎用的な開発環境の実現をめざす。ビジネスモデリ ン グ の 開 発 、 テ ス ト を フ ォ ー マ ル か つ 体 系 的 に 行 う プ ロ ジ ェ ク ト に は 、

R a t i o n a l

社による

R a t i o n a lRose

や、

Together

社の

C o n t r o l C e n t e r

等がある。

それぞれ、オブジ エクト指向モデリングをベースに様々な開発プロセスを支援 するが、オープンソースプロジェクトは

Dipas

だけである。

Dipas

は、モデリング、ソフトウェア資源のデータベース化、ソフトウェア 解析アプリケーションの実現までのプロセスをトータルに扱う。そのため、モ デリングは最終的なソフトウェア工学ツールの開発と有機的に連携する。

7章 経営情報システムとビジネスモデリング技法 113 

関連する支援ツール(ミドルウェア)、各種のソフトウェア解析のプログラ ム素

( T i p s )

t u t o r i a l

を生成する

E ‑ l e a r n i n g

システム、各プロセスで生成さ れるドキュメントやテストデータをハイパードキュメントとして統一的に管理 する環境も提供する。

モ デ リ ン グ の ア プ ロ ー チ

我々のプロジェクトでは、経営情報システムなどのシステム/モデルを、ソ フトヱアを分類するためのカテゴリーとしてとらえるだけでなく、ソフトウェ アを解析し情報資産を引き出すための枠組みとして捉える。従来のモデリング は、対象となるシステムの役割と構造を概念的なモデルとして捉えた上で、要 求仕様の理解・分析とプログラムの開発の効率化をめざすもの(E

RP

DSS

BPR)

、実際のシステムを抽象化して、新たなソフトウェアパラダイムを提案 するもの

( S I S

SCM)

があった。

Dipas

のモデリングとソフトウェア資源のデータベース構築は、ソフトウエ アから経営に役立つ情報を引き出し、資源化することが目的である(ナレッジ マネージメント)。業務・組織分析のフェーズで、今までに作成したソフトウ ェアや、同様なドメインを持つソフトウェアの解析を行い、得られた情報を組 織や業務の分析とリエンジニアリングに役立てる。

オープンソースのソフトウェア資産を、知識ベースとしてソフトウェア開発 に役立てること、ソフトウェアの品質評価、監査、同じドメインのソフトウェ アのプロトタイプを作成することができる。オープンソースの活用、資源化の ためには

D i p a s

のような標準化ツールが有用である。

2 . 1

システムとモデル

「システム

J

の定義は多岐にわたるが、システム理論など一般的な「システ ム 」 の 概 念 を 用 い て モ デ リ ン グ を 行 う 。 情 報 シ ス テ ム / モ デ ル は 、 実 世 界 を

114 

S a p i d

によるソフトウェア解析技法

抽象化したものであり、コンビュータで処理可能な対象である。モデルはシス テムの構造とその要素で定義し、要素聞の関係は構造として定義する。対象と なるシステムがサブシステムから構成されるときは、サブモデルを利用する。

2.

モデリングを行うための各種の技法

情報システムの開発では、要求仕様の分析やシステムの検証で各種のモデル が利用されている。ウォーターフォールモデル、プロトタイピングといった開 発モデル、構造化、データ指向アプローチ、オブジェクト指向といった設計モ デルなどである。オブジェクト指向設計・分析の手法として

UML

記法が標準 となっている。

GUI

といったドメイン特種なモデルは、設計支援ツールまで提 供される。

D i p a s

は、モデリングとソフトウェアデータベース実現を行う。

S a p i d

プロ ジェクトでは、 ドキュメン卜を構造化する

D a p i d

JAVA

を対象とする

J a p i d

が開発されている。エンドユーザが容易にモデリングを実現できる

UML

記法 も利用する。

2 . 2 . 1   UML

XML

、コンポーネント

UML

は、オブジエクト指向モデリングの表記方法の体系である。ソフトウ ェア開発プロセスの上流から下流までサポートし、クラス図、ユースケース図、

コラボレーション図、シーケンス図などを持つ。図式化によりモデリングを簡 潔に行う。

UML

はオブジェクト指向ソフトウエアの構造を、ソースコードよ

りも抽象化した形で構造的に表記する言語である。

XML

はデータの記述言語である。

DTD

などでデータの構造を定義すること ができる。多くの交換フォーマット(データ形式)が

DTD

により提供される。

XMI

XML

で記述される、

UML

モデルと互換性をもっデータ形式(交換フ ォーマット)である。

EJB ( E n t e r p r i s e  J  a v a B e a n s )

.NET

といったコンポ ーネントは再利用可能なソフトウェア部品であり、ソフトウェアデータベース のモジュールとして利用できる。

7章 経営情報システムとビジネスモデリング技法 115 

2 . 2 . 2   S a p i d

SDA

J a p i d

D a p i d

S a p i d

C

言語をベースとして細粒度のオブジェクトを対象とするソフトウ エア解析をサポートするプラットフォームである。

SDA4

は制御構造、データ フローの解析を対象とするモデルである。

J a p i d

J a v a

ベースの

CASE

ツー ル・プラットフォームであり、

Java

のソースプログラムを細粒度で扱う。

J a p i d

では細粒度でソフトウェアを扱うため、ソフトウェアモデルの抽象度は 低く、解析木に近い。ドキュメントや設計仕様図といったソースコードに関連 するリソースを資源として利用し、細粒度リポジトリレベルのソフトウェアデ ータベースを利用するときは

D a p i d

が役立つ。

E  モ デ リ ン グ の 実 現

D i p a s

のモデリングは、既存のソフトウェアからソフトウェアデータベース を構築するプロセスまでを含む。モデリングは出発点であり、

D i p a s

のモデル 記述言語や UMLなどのモデリング手法を用いて対象となるシステムの構造と 要素を定義する。構造はオブジェクト聞の関連として定義する。定義されるモ デルをモデルカテゴリーと呼ぶ。モデルカテゴリーはモデルの雛型であり、モ デルの持つオブジェクトは抽象的なものである。

対象ドメインに基づいて、要素(抽象オブジェクト)を実オブジェクトにマ ッピングする。この作業をインスタンス設計と呼び、特定の対象ごとに具体的 な 実 オ ブ ジ ェ ク ト を 定 義 し 、 ソ フ ト ウ ェ ア デ ー タ ベ ー ス 構 築 作 業 を 行 う 。

D i p a s

のモデリングは、モデル(カテゴリー)の設計と、そのモデルのインス タンスの設計に分けられる。

ソフトウェアデータベースの構築をインスタンス化と呼び、マッピング定義 に基づいてスキーマを定義する。

S a p i d

の 細 粒 度 リ ポ ジ ト リ の デ ー タ ベ ー ス

SDB

を基点として、モデルの要素(オブジェクト)を実オブジエクトにマッピ ングしていく。

116 

S a p i d

によるソフトウェア解析技法

モデリングの対象は広範囲にわたり、様々な抽象度のモデルが存在する。ビ ジネスプロセスといった抽象度の高いモデルは、すでに開発された既存のモデ ルカテゴリーを仮想オブジェクトとして用いることができる。インスタンス化 において仮想オブ、ジェクトを定義し、段階的に開発する

( 4 . 3

参照)。

3.

1 モデルの構成と記述

Dipas

のモデル記述言語は

BPR

、ERPといった抽象度の高いモデルから、デ ータフローといった細粒度リポジトリレベルのモデルまでを対象とする。

E‑R

図や

UML

図などを利用したモデリングも可能である。モデル定義は、オブジ エクトの定義とオブジェクト間の関連の定義からなる。オブジェクトはサブモ デルとして定義することもできる。関連で構造を定義する。

モデルカテゴリ一定義

Model C a t e

ry

model 

モデル名:="("オブジェクト名川

{ m o d e l

モデル名}勢

I { R e l ( a t i o n )

関画勢")"

モデルインスタンス定義

Model I n s t a n c e  

O b j e c t  

仮想オブジエクト実オブジエクト

r

l a t i o n

関 連 名 < 実 オ ブ ジ エ ク ト

1

、実オブジェクト

2

、関連・>. . [モデル記述言語

D i p a s

の仕様]

3.

2 モデルのインスタンス化

一ソフトウェアデータベースの作成

モデルに基づいて、対象ソフトウェアからリポジトリデータベースと関連す るアクセス関数を作成する。

MySQL

といった

SQL

をサポートするデータベー スシステムを用いれば、アクセス関数は必要なくなる。

オブジェクト定義に用いてデータベーススキーマの定義を行う。このデータ ベースを

Sapid

SDB

と区別するため、

SDB+

と表記する。

SDB+

はSDBを含 み、粒度の粗いリポジトリのオブジェクトも扱う乙とができる。

SDB+にアク

セスして、モデルに基づいた様々な解析アプリケーションを作成する。

7章 経営情報システムとビジネスモデリング妓法 117  [オブジェクトの精進]

i d :  

オブジェクトの通し番号

s o r t :  

オブジェクトの種類

n a m e :  

オブジェクトの名前 [関連の構造]

i d :  

関連の通し番号

i d l :  

オブジェクト

1

の通し番号

i d 2 :  

オブジェクト

2

の通し番号

s o

此: 関連の種類

[モデル記述言語

D i p a s

の仕様]

3 . 3  

仮想オブジェクトの利用

仮想オブジェクトは、特定の環境ごとに具体的な実オブジェクトとして定義 される。オブジェクトの仮想化によりターゲット言語やライブラリの異なる環 境で共通のソフトウェア解析を行うことができる。例えば、 C言語と JAVAの プログラムを同じロジックで解析することが可能となる。

G U I W i d g e t ( D i p a s

オブジェクト)<ー>GtkObjectWidget (C言語GTK+オブジエクト) [仮想オブジェクトと実オブジェクトのマッピング]

イタリック体で書かれた記述は、実際のプログラミング言語の関数やオブジ エクトである。対象となる実オブジエクトが複数ある場合は、マッピングのデ ータベースを作成し、対象とするドメインを広げる。例えばJAVAのオリジナ ル

GUI

オブジェクトと

Swing

GUI

オブジェクト、

X

ウインドウシステムの オリジナル

GUI

オブジェクト、

GTK+

オブジェクトなどがある。

モ デ リ ン グ 例

Sapid

Dipas

でモデルを設計し、ソフトウェア解析を行うステップは、① モデリング、②ターゲットソフトウェアに基づくインスタンス(スキーマ)の 作成、③データベース

SDB+

の作成、④ソフトウェア解析情報の利用である。

ドキュメント内 Sapidによるソフトウェア解析技法 (ページ 113-128)