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

フレームワークを用いた情報システムの継続的開発に関する研究

N/A
N/A
Protected

Academic year: 2021

シェア "フレームワークを用いた情報システムの継続的開発に関する研究"

Copied!
29
0
0

読み込み中.... (全文を見る)

全文

(1)

フレームワークを用いた

情報システムの継続的開発に関する研

大阪大学 大学院情報科学研究科

コンピュータサイエンス専攻 井上研究

湯浦 克彦

2007.12.26

(2)

目 次

1.

はじめに

2.

イベントトレース図に基づく要求仕様書からのフ

ァンクションポイント計測方法 (概要)

3.

複雑度と機能量に基づくアプリケーションフレー

ムワークの実験的評価

4.

財務情報処理言語 XBRL で記述された財務データ

の会計ユーザ向け処理方式

5.

分析業務に関する知識を用いた財務分析支援方式

 (概要)

6.

おわりに

(3)

1.1

自己紹介と研究の動機

自己紹介

日立製作所の研究所において、オブジェクト指向言語・

設計分野適用等の研究 ( 1980 ~ 95 ごろ)

情報システム開発への研究成果適用とコンサルティング

活動

( Java, XML, 企業アーキテクチャ、内部統制など)

現在、日立コンサルティング テクニカルディレクター

本研究への動機

企業での開発プロダクト(下記)等に関わるソフトウェ

アエンジニアリング面での理論的探究

要求仕様視覚化ツール REQUARIO

Java Web

開発のための画面遷移フレームワーク

財務報告記述言語 XBRL

(4)

  開発

  開発

    保守   

    保守   

従来の

開発と保守

継続的開発

基盤としての保守

1.2

研究の背景 情報システムの継続的

開発

業務環境変化

への早期対応

保守コストの増大

(開発の約3倍)

開発

開発

開発

開発

開発

開発

開発

開発

開発

開発

(5)

変化部分記述用クラ

クラス群の利用手順

クラス

クラス

フレームワーク

変化部分プログラム

オブジェクト

オブジェクト

オブジェクト

情報システム

固定部分プログラム

固定部分プログラム

1.3

研究の目標 

フレームワークによる継続的開発

(6)

フレームワーク

実用化への技術課題

適用効果の計測

(第 2 章、第 3 章)

業務分野への特化

-

財務報告処理

-(第 4 章、第 5 章)

再利用・標準化

マネジメント技

利用者の分析・

業務知識の適用

オブジェクト指向

( Java, XML, アプリケーション

フレームワークなど)

関連技術

メトリクス

(ファンクションポイント

など)

ビジネス標準・ EA

反復型開発・

IT

サービス管理

本論文の範囲

1.4

研究の範囲と関連技術

(7)

クラス

2.1

オブジェクト指向ソフトウェアに対する

ファンクションポイント( FP )の計測

データファイル

トランザクション

(手続き)

従来型ソフトウェア

オブジェクト指向

ソフトウェア

クラス

属性群

(データ)

ファンクションポイント

標準計測法( IFPUG 法)

データファイル

トランザクション

(手続き)

データファイル

トランザクション

(手続き)

メソッド

(手続き)

メソッド

(手続き)

重み付けして個数をカウント

本方法

(イベントトレース図利用)

重み付けして個数をカウント

(8)

要求仕様視覚化ツール REQUARIO

購買担当 購入要求 DB

購入要求

情報格納

イベントトレース図

品名・数量

等を更新

2.2

拡張されたイベントトレース図情報に基づく

トランザクション FP 計測の精緻化

データ処理情報

拡張

要求仕様視覚化ツール REQUARIO におけるデータ処理情報を利用

( UML 標準記法であるイベントトレース図の拡張となる)

計測ツールを試作.熟練者による計測との誤差は 20% に収まった.

(9)

A

市向け「年金個人資格照会」

A

市向け「年金

世帯

資格照会」 または 

B

向け「年金個人資格照会」

3.1

従来方式による類似プログラムの作成

A

1

:

メインプログラム

(画面制御と DB 管理)

A

11

:

データ問合せ

A

12

:

結果表示

A

13

:

データ更新指定

B

1

:

メインプログラム

(画面制御と DB 管理)

B

11

:

データ問合せ

B

12

:

結果表示

B

13

:

データ更新指定

モジュール単位での

複製と編集

(10)

F

1

:

フレームワーク

データ

問合せ

結果

表示

更新指定

データ

固定部(画面制御・ DB 管理)

変形定義

クラス群

A

市「個人」

変形定義

固定部

A

問合

表示

A

指定

A

固定部

A

問合

表示

A

指定

A

固定部

B

問合

表示

B

指定

B

A

市「世帯」

変形定義

B

市「個人」

変形定義

3.2

フレームワークに基づく類似プログラム

の作成

A

市「個人」

A

市「世帯」

B

市「個人」

クラス群

の利用

(11)

3.3

画面遷移フレームワークの概要

アプリケーションサーバ

Servlet

フレームワーク

固定部

(画面遷移制御)

EJB

コンポーネント

プロ

セス

EJB

エン

ティ

ティ

EJB

RDB

Web

ブラウザ

JSP

DB

更新

処理

DB

索処理

更新

画面

更新パターン

確認

画面

DB

検索

処理

選択

画面

問合・表示パター

フレームワーク変化部 

(画面遷移定義)

典型的な業務処理パターンにおける画面遷移と EJB コンポー

ネントの実行順序制御と,個別処理指定機能をフレームワー

ク化

個別処理指定

(12)

機能 Fi の指定

(i = a,b,c,d)

フレームワークを

用いて開発

フレームワーク

なしで開発

C

i

P

i

FW

固定部

FW:

フレームワーク

3.4

ケーススタディ 1 :業務機能を個別に開発

機能 a: 個人資格照会

機能 b: 世帯資格照会

機能 c: 賦課状況照会

機能 d: 転入資格異動

Fi

変化部

(混在)

(13)

機能 Fa

の指定

フレームワークを

用いて開発

フレームワーク

なしで開発

C

a

P

a

FW

固定部

FW:

フレームワーク

機能 Fb

の指定

C

a

+ b

P

a

+ b

機能 Fc

の指定

3.5

ケーススタディ 2: 業務機能を追加型で開

FW

固定部

Fa

変化部

変化部

Fa

変化部

Fb

(混在)

(混在)

(混在)

(14)

3.6

メトリクス

機能量のメトリクス  OOFP ( Object-Oriented FP )

Caldiera

らにより提案( 1998 ).

オブジェクト指向開発・保守の「能率の高さ」を計測す

る指標

単純な重み付けによる計測が可能

データ FP  外部クラス/内部クラスの個数

トランザクション FP  メソッドの個数、データの参照個数

複雑度のメトリクス  C&K ( Chidamber & Kemerer )

Chidamber

と Kemerer により提案( 1994 ).

オブジェクト指向開発・保守の「難しさの程度」を計測

(15)

3.7 C&K

  6 種のメトリクス

クラス

メソッド   

   

クラス

クラス

クラス

クラス

クラス

メソッド    

  

メソッド呼出し

クラス

LCOM

Lack of Cohesion Methods

凝集度の欠如

(同一の属性を参照してい

ないメソッド対の数-

参照している対の数)

CBO

Coupling Between Object classes

クラス間の結合

(他クラスの呼出し数)

NOC

Numbers Of Children

子クラスの数

DIT

Depth Of Inheritance

Tree

継承木の深さ

NOM*

Numbers Of Methods

Per a class

メソッドの数

RFC

Response For a Class

呼び出される

メソッドの数

継承

内部

結合 / 凝集

継承関係

呼出関係

属性

属性

(16)

3.8

 個別開発時のメトリクス値とその分析

OOFP

CBO

RFC

NOM

LCOM*

Ca

176

3.8

14.4

7.4

21.4 (5.0)

Cb

180

5.8

18.2

7.6

23.2 (5.0)

Cc

418

5.4

33.1

8.1

28.7 (7.8)

Cd

252

4.1

17.8

8.4

13.8 (5.4)

Pa

526

2.1

5.8

3.3

2.1 (1.5)

Pb

526

2.3

5.9

3.3

2.1 (1.5)

Pc

671

3.0

7.4

3.4

2.0 (1.5)

OOFP

は,フレームワークの利用により低減した .

フレームワークの OOFP は 1298 であり, 3-4 機能の開発で回収できる.

C&K

メトリクスは,フレームワーク利用により増加 . ただし下記により問題は少ない.

呼び出すメソッドはすべて固定部のメソッドであり信頼性が高い.( RFC, CBO )

定義されたメソッドの 45% は 1-2 行の set/get メソッドである.( NOM, LCOM )

NASA

での推奨値 (RFC<100, NOM<40)* の範囲には収まっている.

*)

括弧内は

set/get

DIT,NOC

すべて 0

(継承なし)

*) L. Rosenberg: “Applying and Interpreting Object Oriented Metrics”, Sixth International Symposium

on Software Metrics, Measurement for Object-Oriented Software Projects Workshop (1999).

(17)

3.9

 連続開発時のメトリクス値とその分析

フレームワークを用いないと,追加されるたびに OOFP が急増する.

フレームワークを用いても,機能 c 追加以降には OOFP や RFC が増加.

理想的には, Cc と Ca+b+c , Cd と Ca+b+c+d は同じ値となるはず.

機能 c はこのフレームワークとあまり整合していない状況だったので,結果的に固定部と想定し

ていた部分にも手が入ってしまった.(フレームワークをもっと成熟させる必要がある.)

OOFP

CBO

RFC

NOM

LCOM

Ca

176

    

3.8

14.4

7.4

21.4

Ca+b (Cb)

251 (180)

5.0

16.7

7.6

20.1

Ca+b+c (Cc)

576 (418)

5.9

30.1

8.3

28.6

Ca+b+c+d (Cd)

743 (252)

5.8

28.3

7.9

25.6

Pa

526

     

2.1

5.8

3.3

2.1

Pa+b (Pb)

615 (526)

2.8

6.9

3.3

2.0

Pa+b+c (Pc)

849 (671)

3.7

8.6

3.3

1.8

(18)

18

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

4.1

業務特化フレームワークの対象業務

財務報告と XBRL

財務報告

企業における 4 半期毎の公式会計報告であり,投資判断に用いられる.

XBRL

Extensible Business Reporting Language

財務報告データ(勘定項目)記述の国際標準化言語. 2000 年に制定.

株式会社○○○  貸借対照表        

(

単位 : 百万円 )

項目

金額

項目

金額

<資産の部>

8,592,822

<負債の部>

6,439,500

流動資産

3,620,881 流動負債

3,090,821

 現預金及び有価証券

1,487,544

 買掛債務

765,041

 売掛債権

919,468  社債及び短期借入金

550,000

 商品・製品

140,516  その他

1,775,780

 その他

505,277 固定負債

3,348,679

固定資産

4,971,941  社債及び長期借入金

2,000,600

 有形固定資産

1,269,042  その他

1,348,079

 無形固定資産

1,242,883

<資本の部>

2,153,322

 投資その他の資産

2,460,016 資本金

397,049

資本剰余金

416,970

利益剰余金

1,737,602

P21,P23

の例で

使用

(19)

4.2 XBRL

の目的 財務情報サプライチェーン

取引

勘定仕訳

連結会計

会計監査

経営管理

情報配信

情報

公開

信用分析

投資

企業 / 事業体

監査法人

公共/監督機関

金融

情報サービス

機関受付

機関分析

融資受付

財務開示

銀行、保険会社、

信用保証協会

XBRL

による

財務情報サプライチェー

経済新聞、

企業情報機関

金融庁、証券取引所、日

銀、国税庁、中小企業庁

(有価証券報告書ツー

ル、

(監査支援ツー

ル)

(20)

項目の値を定義

項目のタグ名

(

語彙 ) を定義

親子関係

計算式

表示順

表示名称

参考文献

リンクベース

リンクベース

リンクベース

インスタンス

タクソノミ

4.3 XBRL

文書の構成 

– XML 最新技術の導入

項目の関係を定義

リンクベース

リンクベース

XLink

XML Schema

DOM (Document Object Model)

(21)

Assets

CurrentAssets

FixedAssets

Liabilities

Equity

Liabilities

Equity

group

8592822

3620881

4971941

8592822

2889500

5703322

#COMMENT

#COMMENT

NNM

nuC

属性

は c1

NNM

NNM

NNM

NNM

NNM

nuC

属性

は c1

nuC

属性

は c1

nuC

属性

は c1

nuC

属性

は c1

nuC

属性

は c1

nuC (id=“c1”)

数値コンテキスト

Assets

CurrentAssets

FixedAssets

Liabilities

Equity

Liabilities

Equity

Assets

金額型

CurrentAssets

金額型

FixedAssets

金額型

Liabilities

Equity

金額型

Liabilities

金額型

Equity

金額型

インスタンス文書

タクソノミ

文書

リンクベース

文書

4.4

従来のデータモデル

ー構文の異なる 3 種の文書と多数のノードを含む-

資産

流動

資産

固定

資産

負債

資本

負債

資本

NNM: NamedNodeMap, nuC: numericContext

項目

要素

(22)

項目要素ノード

(項目要素を表す頂点)

属性ノード

項目要素アーク

(項目要素間の関係を表す辺)

属性アーク

属性アーク

4.5

従来の問題点と SDX モデルの提案

項目データと XML 関連の技

術要素が混在し、わかりに

くい

技術知識の乏しい会計業務

担当者がデータ処理を記述

ノードが多く、走査のプロ

グラミング記述が増える

項目要素中心のデータ構造に

よるフレームワークを提供

SDX

 (右図)

(23)

Assets

  データ型 : 金額型

値: 8592822   nuC 属性 : c1

CurrentAssets

 データ型 : 金額型

値: 3620881   nuC 属性 : c1

FixedAssets

  データ型 : 金額型

値: 4971941   nuC 属性 : c1

LiabilitiesEquity

  データ型 : 金額型

値: 8592822   nuC 属性 : c1

Liabilities

  データ型 : 金額型

値: 2889500   nuC 属性 : c1

Equity

  データ型 : 金額型

値: 5703322   nuC 属性 : c1

group

nuC (id=“c1”)

数値コンテキストの値

項目要素ノード

項目要素アーク

属性ノード

属性アーク

凡例

4.6 SDX

モデルによる財務データ表現とその効果

インスタンス文書

におけるノード数

を削減 (22 →

8)

典型的な処理では

タクソノミ文書、

リンクベースの参

照を不要とする

値、データ型な

どを同一ノード

内で参照可能と

する

子要素(親要

素)をアーク一

本で参照可能と

する

(24)

4.7 SDX

実現のアーキテクチャ

データバイディング方式と専用言語方式を実装

DOM

プロセッサ

XBRL

文書データ

(インスタンス、タクソノミ、リンクベース)

DOM

データ 

+ タクソノミ/リンクベース・プロトコル

既存プログラミング言語(例 Javascript, Java )

SDX

データ

SDX

データ処理記述

従来の

データ処理記述

専用言語 (例 LMX )

データバインディング

ライブラリ

変換ライブラリ

SDX

データ

SDX

データ処理記述

LMX: A Tiny Language for Manipulating XBRL

Documents

(25)

4.8 SDX

データ処理記述の例

1 //

ルート要素の子を取得

2 nodes = balanceSheet.children;

3

4 //

子ノード の数だけループ

5 for (i=0; i<length(nodes); i++) {

6 //

処理対象の項目要素ならば

7 if (nodes[i].type == MONETARY) {

8 nodes[i].value *= 1000;

9

//

値を 1000 倍に更新す

10 }

11 }

1 <schema

 ……   >

2 <element id="assets“ name="Assets"

3 type="xbrli:monetaryItemType"/>

4 <element id=“currentassets“ name=“CurrentAssets“

5 type="xbrli:monetaryItemType"/>

6 ……

7 </schema>

1 <linkbase

…… >

2 <definitionLink xlink:type=“extended”>

3 <loc xlink:type=“locator” xlink:href=“bs.xsd#Assets”

4 xlink:label=“AssetsLocator”/>

5 <loc xlink:type=“locator” xlink:href=“bs.xsd#CurrentAssets”

6 xlink:label=“CurrentAssetsLocator”/>

7 <definitionArc xlink:type=“arc”

8 xlink:from=“AssetsLocator” xlink:to=“CurrentAssetsLocator”

8 xlink:arcrole=“http://www.xbrl.org/linkprops/arc/parent-child”/>

10 <definitionArc xlink:type=“arc”

11 xlink:from=“CurrentAssetsLocator” xlink:to=“AssetsLocator”

12 xlink:arcrole=“http://www.xbrl.org/linkprops/arc/child-parent”/>

13 ……

14 </definitionLink>

15 </linkbase>

1 <xbrli:group…… >

2 <Assets nuC="c1">8592822 </Assets>

3 <CurrentAssets nuC="c1">3620881</CurrentAssets>

4

  ……

5 </xbrli:group>

タクソノミ文書

リンクベース文書

インスタンス文書

Javascript

上での

SDX

データ処理記述

「すべての項目の値を 1000 倍にする」

 ことを記述

(26)

5.1

利用者環境へのフレームワークの応用

XBRL

文書データ

(インスタンス、タクソノミ、リンクベース)

専門技術者向けフレームワーク ( DOM プロセッサなど)

業務担当者向けフレークワーク( SDX ライブラリなど)

一層わかりやすく

製造業と卸売

業とでは○ %

くらい基準が

違う。

この指標が良

好でも別の指

標 B をチェッ

クしたほうが

いい。

DOM

構造は、

X

L ink

の機能

は、、

技術知識

分析業務知識

専門技術者

業務担当者

一般利用者

一般利用者向け

フレームワーク

「自己資本比

率」の言葉なら

知っているが、

どう使うのだろ

うか?

(27)

5.2

一般利用者向けフレームワークの例

財務分析支援ツール FIAT

業種と視点の確認

指標の計算

総合判定

関連する指標の選択

指標値の判定

終了

開始

自己資本比率

<資本の部> ÷ <資産の部>

IT

製造業・取引視点   30%

IT

製造業・融資視点   40%

卸売業・取引視点   20%

指標名

計算式

判定基準

関連指標 真ならば、特別利益比率

偽ならば、売上高営業利益率

真ならば、安全性が高い

偽ならば、安全でない

説明文

財務分析に関する知識

XBRL + SDX

データバインディング・ライ

知識入力機能

知識利用対話機能

(28)

6.1

まとめ

フレームワークを用いた情報システムの継続的開発に関して、2

つの観点から研究を進めた.

効果計測の観点から,ファンクションポイント法のオブジェクト

指向向け改良法の提案(第 2 章)と,主流の計測法によるフレー

ムワーク導入効果の計測・分析(第3章)を行ない,下記を定量

的に示した.

フレームワークは機能量縮小の効果が大きい

ただし,開発内容との整合性がなければ十分な効果をあげられない

業務分野への特化の観点から, XBRL 財務データ処理を例として

,業務担当者向けのフレームワーク(第4章)と,一般利用者向

けのフレームワーク(第5章)を開発し,下記機能の有効性と実

現性を示した.

業務担当者向けには, XML 関連新技術の隠蔽機能

一般利用者向けには,専門家の業務知識の参照機能

(29)

6.2

今後の研究方針

情報システムの品質計測法に関する研究の展開

技術効果だけではなく,業務改善効果や顧客貢献効

果に関する計測への発展

他分野での業務特化フレームワークの構築

XML

ビジネス標準の標準化推進を含めた構築方法論

フレームワークを提案・開発する技術者の育成

オブジェクト設計技術およびビジネス知識の構造化

の両面に優れた技術者を育成するためのカリキュラ

参照

関連したドキュメント

ているためである。 このことを説明するため、 【図 1-1-8】に一般的なソフトウェア・システム開発プロセス を示した。なお、

研究開発活動  は  ︑企業︵企業に所属する研究所  も  含む︶だけでなく︑各種の専門研究機関や大学  等においても実施 

1、研究の目的 本研究の目的は、開発教育の主体形成の理論的構造を明らかにし、今日の日本における

関連研究の特徴を表 10 にまとめる。SECRET と CRYSTALP

ザー独自の属性情報を登録できる簡易データベース機能を開発した。また、各種報告用に紙図面の作成が必要

In this study, I pay my attention to the activity of the voluntary security group and the support to the voluntary security group of the local government and consider requirements

こうした背景を元に,本論文ではモータ駆動系のパラメータ同定に関する基礎的及び応用的研究を

研究開発活動の状況につきましては、新型コロナウイルス感染症に対する治療薬、ワクチンの研究開発を最優先で