トップエスイー修了制作

品質駆動型設計による
WEBシステム開発
日本IBM（株）

繁在家 学

mhanz@jp.ibm.com

開発における問題点

手法・ツールの適用による解決
ＫＡＯＳによる要求分
析，パターンマイニン
グによる暗黙知の顕在化，品質駆動型設計によるアーキテク
チャ設計，ＳＡＡＭによる評価，等々

従来の開発手法では，属人性が高く，要求・分析・設計の過程が断片的にしか残らない為，トレースが困難であった．また，機能要求・非機能要求に対する抜けや漏れ，品質要求の追加，変更の可能性がある場合の品質と設計の繋がりが不明であるなどの問題が発生していた．

開発プロセスの全体像

KAOSによる要求分析
品質特性群
使用性

パターン
マイニング

ニーズ
アーキテクチャ
パターン
KAOS
ゴール
モデル

ケーススタディ

発掘
パターン

運用性

保守性
変更性

副特性

Ａ３ＣＰＵ利用率

Ａ１高いスルー

Ａ２平均レスポンスタが諸元値以下であること

プットが得られること

イムが諸元値を満たすこと

ゴールモデル
Ａ５運用状況及びリ
Ａ７ダイレクト情報の変更の確認が容易に行えること

パターンマイニング

Ａ９デバッグ作業及び試験が容易に実施できること

リダイレクト情報を容易に変更できること

リダイレクト情報を取得する

洗練化されたアーキテクチャ詳細設計

ログの出力を実行する

クラス型
モジュール群
アスペクト型
モジュール群

ＫＡＯＳモデルの観察によるモジュールの洗練化

要求分析

リダイレクト処理を実行する

ファイルを読み込む

責任モデル

キャッシュに情報を保持する

ログデータを提供する

AND

ロギング
モジュール

モジュール群の洗練化

マイルストーン
分割

AND

事例分割

確認できた
品質特性

アーキテクチャモジュール群

ログを出力する

APSの再起動なしにリダイレクト情報の変更が反映される

アーキテクチャ
評価
SAAM

KAOS
責任モデル

リダイレクト種別を判別する

PCと携帯を判別する

AND

アーキテクチャ評価
品質特性駆動型
開発(ADD)AND

マイルストーン分割
Ａ６
Ａ８

品質特性シナリオ

非機能
要求

PC/携帯
リダイレクト処理ができる

時間
効率性

品質特性駆動型設計
機能要求

ISO9126の観点

効率性
資源効率性

試験性

リダイレクト情報
ファイル読込モジュール

PC/携帯判定モジュール

リダイレクト
実行モジュール

URLパラメータ
判定モジュール

・ＫＡＯＳ・・・システムゴールを系統的に分析する要求分析手法、形式的手法に基づいた論理的分析が可能．ＫＡＯＳ対応
ツール：Dia，Objectiver，K-tool(NII)，Objectiver
http://www.objectiver.com/

パターンマイニング/品質駆動型開発/ＳＡＡＭ
・パターンマイニング・・・職人的暗黙知の顕在化，知恵の再適用
・品質駆動型開発（ADD）・・・CMU/SEIで開発された設計手法，品質特性シナリオと機能要求からアーキテクチャドライバを選択，ドライバを満足するアーキテクチャを再帰的に設計・設計の過程でアーキテクチャ設計上のパターンを活用
・ＳＡＡＭ・・・Senario-Based Archtectural Analysis，アーキテクチャの定性的評価手法
・アスペクト指向設計開発・・・KAOSモデルの観察による横断的関心事（Cross cuttingof Concern）の抽出技法

パターン記述

品質特性シナリオ
ISO 9126
特性副特性カテゴリ

重要度

シナリオ

主な影響元

スル―プットH

A1（環境）通常稼働時に、（刺激）JMeterで高負荷をかけた場合、（応答）HTTPRequestを秒間 1000トランザクションを処理できること

インフラ/ネットワーク
アプリケーションH

A2（環境）通常稼働時に、（刺激）JMeter等で高負荷をかけた場合、(応答）ユーザからのRequestに対して 1 秒以内に、Responseできること

インフラ/ネットワーク
アプリケーション

CPU利用率HA3（環境）通常稼働時に、(刺激）JMeter等で高負荷をかけた場合、（応答）CPU利用率が５０％以下であること

インフラ/ネットワーク
アプリケーション

デプロイ

M

A4
（環境）開発・テスト・移行フェーズにおいて、（刺激）EARのデプロイをする必要が発生した場合、（応答）WEBベースで簡単に全クラスターノードに対してデプロイ作業が行えること

インフラ/ネットワーク

ログ情報の出力MA5（環境）開発・テスト・移行・運用フェーズにおいて、（刺激）HTTPRequest及びリダイレクト情報の再読み込みが発生した場合に、（応答）必要な情報をログに出力すること

アプリケーション

リダイレクト情報の変更

HA6（環境）通常稼働時に、（刺激）リダイクレト情報に変更があった場合、（応答）運用を止めることな
く、リダイレクト情報が反映可能であること

アプリケーション

ログ情報の出力M

A7（環境）通常稼働時に、（刺激）HTTPRequest及びリダイレクト情報の再読み込みが発生した場合に、（応答）必要な情報をログに出力すること

アプリケーション

リダイレクト情報の変更

HA8（環境）開発/テストフェーズ時に、（刺激）リダイクレト情報に変更があった場合、（応答）WAS(アプリケーションサーバ）を再起動することなしに、リダイレクト情報が反映可能であること

アプリケーション

ログ情報の出力M

A9（環境）開発/テストフェーズ時に、（刺激）HTTPRequest及びリダイレクト情報の再読み込みが発生した場合に、（応答）必要な情報をログに出力すること

アプリケーション

インフラ/ネットワーク

インフラ/ネットワーク

時間効率性
平均レスポンスタイム

効率性

資源効率性

使用性

アーキテクチャSAAM
Boundary

UI

レイヤ
パターン

ISO9126
特性Control
リダイレクト情報
ファイル読込モジュール

PC/携帯判定モジュール

URLパラメータ
判定モジュール

リダイレクト
実行モジュール

資源効率性

使用性

信頼性

障害許容性

ノード障害時HA10（環境）通常稼働時に、（刺激）アプリケーションサーバが３台停止した場合でも、（応答）処理が続行できること

機能性

セキュリティ

不正アクセスH

A11（環境）通常稼働時に、（刺激）外部からの不正アクセスがあった場合、（応答）正しく検知すると同時に不正アクセスの進入を防ぐこと

重要度

スル―プットH

平均レスポンスタイム

H

CPU利用率H

ロギングモジュールアスペクト型
ロギングパターン

デプロイ

M

運用性
ログ情報の出力M

リダイレクト情報の変更

H

ログ情報の出力

M

変更性

保守性

試験性

アーキテクチャパターン候補
カテゴリ

時間効率性
効率性

運用性

変更性

副特性

保守性
リダイレクト情報の変更

H

ログ情報の出力M

ノード障害時H

不正アクセスH

試験性リダイレクト情報
ファイル

動的定義ファイル
読込みパターン

Entity
信頼性

障害許容性

機能性

セキュリティ

シナリオ

主な影響元

通常（静的）定義（非アスペクト型） アスペクト型
動的定義ファイル
ファイル読込みパ
ロギングパターン ロギングパターン
読込みパターン
ターン

A1（環境）通常稼働時に、（刺激）JMeterで高負荷をかけた場 インフラ/ネットワーク
合、（応答）HTTPRequestを秒間 1000 トランザクションを処 アプリケーション
理できることA2（環境）通常稼働時に、（刺激）JMeter等で高負荷をかけた インフラ/ネットワーク
場合、(応答）ユーザからのRequestに対して 1 秒以内に、 アプリケーションResponseできること
A3
インフラ/ネットワーク（環境）通常稼働時に、(刺激）JMeter等で高負荷をかけた場
アプリケーション合、（応答）CPU利用率が５０％以下であること
A4（環境）開発・テスト・移行フェーズにおいて、（刺激）EARのインフラ/ネットワークデプロイをする必要が発生した場合、（応答）WEBベースで簡単に全クラスターノードに対してデプロイ作業が行えること
A5（環境）開発・テスト・移行・運用フェーズにおいて、（刺激）アプリケーション
HTTPRequest及びリダイレクト情報の再読み込みが発生した場合に、（応答）必要な情報をログに出力すること
A6（環境）通常稼働時に、（刺激）リダイクレト情報に変更がアプリケーションあった場合、（応答）運用を止めることなく、リダイレクト情報が反映可能であること
A7（環境）通常稼働時に、（刺激）HTTPRequest及びリダイレク
アプリケーショント情報の再読み込みが発生した場合に、（応答）必要な情報をログに出力すること
A8（環境）開発/テストフェーズ時に、（刺激）リダイクレト情報にアプリケーション変更があった場合、（応答）WAS(アプリケーションサーバ）を再起動することなしに、リダイレクト情報が反映可能であるこA9（環境）開発/テストフェーズ時に、（刺激）HTTPRequest及びアプリケーションリダイレクト情報の再読み込みが発生した場合に、（応答）必要な情報をログに出力すること
A10（環境）通常稼働時に、（刺激）アプリケーションサーバが３ インフラ/ネットワーク台停止した場合でも、（応答）処理が続行できること
A11（環境）通常稼働時に、（刺激）外部からの不正アクセスがインフラ/ネットワークあった場合、（応答）正しく検知すると同時に不正アクセスの進入を防ぐこと

++

+++

+++

+++

++

-+

-+

---++

--++

国立情報学研究所
トップエスイー～サイエンスによる知的のものづくり教育プログラム～
トップエスイー：サイエンスによる知的ものづくり教育プログラム
National Institute of Informatics
文部科学省 振興調整費産学融合先端ソフトウェア技術者養成拠点の形成
文部科学省科学技術振興調整費
産学融合先端ソフトウェア技術者養成拠点の形成