スライド 1 - トップエスイー

トップエスイー修了制作
品質駆動型設計による
WEBシステム開発
日本IBM(株)
繁在家 学
[email protected]
開発における問題点
手法・ツールの適用による解決
KAOSによる要求分
析,パターンマイニン
グによる暗黙知の顕
在化,品質駆動型設
計によるアーキテク
チャ設計,SAAMに
よる評価,等々
従来の開発手法では,属人性が高く,要求・分
析・設計の過程が断片的にしか残らない為,ト
レースが困難であった.また,機能要求・非機
能要求に対する抜けや漏れ,品質要求の追加,
変更の可能性がある場合の品質と設計の繋が
りが不明であるなどの問題が発生していた.
開発プロセスの全体像
KAOSによる要求分析
品質特性群
使用性
パターン
マイニング
ニーズ
アーキテクチャ
パターン
KAOS
ゴール
モデル
ケーススタディ
発掘
パターン
運用性
保守性
変更性
変更の確認が容
易に行えること
パターンマイニング
A9デバッグ作業
及び試験が
容易に実施
できること
A3CPU利用率
A1高いスルー
が諸元値以
下であること
プットが得ら
れること
リダイレクト情報
を容易に変更できること
洗練化された
アーキテクチャ
詳細
設計
ログの出力を
実行する
クラス型
モジュール群
アスペクト型
モジュール群
KAOSモデルの
観察による
モジュールの洗練化
モジュール群
要求分析
リダイレクト
種別を判別する
PCと携帯を
判別する
リダイレクト処理を
実行する
ファイルを
読み込む
責任モデル
キャッシュに
情報を保持する
ログデータを
提供する
AND
ロギング
モジュール
モジュール群の洗練化
AND
マイルストーン
分割
AND
事例分割
確認できた
品質特性
アーキテクチャ
イムが諸元値を
満たすこと
リダイレクト情報
を取得する
ログを
出力する
APSの再起動なし
にリダイレクト情報
の変更が反映され
る
アーキテクチャ
評価
SAAM
KAOS
責任
モデル
A2平均レスポンスタ
AND
アーキテクチャ評価
品質特性駆動型
開発(ADD)
PC/携帯
リダイレクト処理
ができる
副特性
マイルストーン分割
A6
A8
品質特性
シナリオ
非機能
要求
時間
効率性
ゴールモデル
A5運用状況及びリ
A7ダイレクト情報の
品質特性駆動型設計
機能
要求
ISO9126の観点
効率性
資源
効率性
試験性
リダイレクト情報
ファイル読込モジュール
PC/携帯
判定モジュール
リダイレクト
実行モジュール
URLパラメータ
判定モジュール
・KAOS・・・システムゴールを系統的に分析する要求分析手
法、形式的手法に基づいた論理的分析が可能.KAOS対応
ツール:Dia,Objectiver,K-tool(NII),Objectiver
http://www.objectiver.com/
パターンマイニング/品質駆動型開発/SAAM
・パターンマイニング・・・職人的暗黙知の顕在化,知恵の再適用
・品質駆動型開発(ADD)・・・CMU/SEIで開発された設計手法,品質特性シナリオと機
能要求からアーキテクチャドライバを選択,ドライバを満足するアーキテクチャを再帰的
に設計・設計の過程でアーキテクチャ設計上のパターンを活用
・SAAM・・・Senario-Based Archtectural Analysis,アーキテクチャの定性的評価手法
・アスペクト指向設計開発・・・KAOSモデルの観察による横断的関心事(Cross cutting
of Concern)の抽出技法
パターン記述
品質特性シナリオ
ISO 9126
特性
副特性
カテゴリ
重要度
シナリオ
主な影響元
スル―プット
H
A1
(環境)通常稼働時に、(刺激)JMeterで高負荷をかけた場合、(応答)HTTPRequestを秒間 1000
トランザクションを処理できること
インフラ/ネットワーク
アプリケーション
H
A2
(環境)通常稼働時に、(刺激)JMeter等で高負荷をかけた場合、(応答)ユーザからのRequestに
対して 1 秒以内に、Responseできること
インフラ/ネットワーク
アプリケーション
CPU利用率
H
A3
(環境)通常稼働時に、(刺激)JMeter等で高負荷をかけた場合、(応答)CPU利用率が50%以下
であること
インフラ/ネットワーク
アプリケーション
デプロイ
M
A4
(環境)開発・テスト・移行フェーズにおいて、(刺激)EARのデプロイをする必要が発生した場合、
(応答)WEBベースで簡単に全クラスターノードに対してデプロイ作業が行えること
インフラ/ネットワーク
ログ情報の出力
M
A5
(環境)開発・テスト・移行・運用フェーズにおいて、(刺激)HTTPRequest及びリダイレクト情報の
再読み込みが発生した場合に、(応答)必要な情報をログに出力すること
アプリケーション
リダイレクト情報の変更
H
A6
(環境)通常稼働時に、(刺激)リダイクレト情報に変更があった場合、(応答)運用を止めることな
く、リダイレクト情報が反映可能であること
アプリケーション
ログ情報の出力
M
A7
(環境)通常稼働時に、(刺激)HTTPRequest及びリダイレクト情報の再読み込みが発生した場合
に、(応答)必要な情報をログに出力すること
アプリケーション
リダイレクト情報の変更
H
A8
(環境)開発/テストフェーズ時に、(刺激)リダイクレト情報に変更があった場合、(応答)WAS(アプ
リケーションサーバ)を再起動することなしに、リダイレクト情報が反映可能であること
アプリケーション
ログ情報の出力
M
A9
(環境)開発/テストフェーズ時に、(刺激)HTTPRequest及びリダイレクト情報の再読み込みが発
生した場合に、(応答)必要な情報をログに出力すること
アプリケーション
インフラ/ネットワーク
インフラ/ネットワーク
時間効率性
平均レスポンスタイム
効率性
資源効率性
使用性
アーキテクチャ
SAAM
Boundary
UI
レイヤ
パターン
ISO9126
特性
Control
リダイレクト情報
ファイル読込モジュール
PC/携帯
判定モジュール
URLパラメータ
判定モジュール
リダイレクト
実行モジュール
資源効率性
使用性
信頼性
障害許容性
ノード障害時
H
A10
(環境)通常稼働時に、(刺激)アプリケーションサーバが3台停止した場合でも、(応答)処理が続
行できること
機能性
セキュリティ
不正アクセス
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利用率が50%以下であること
A4
(環境)開発・テスト・移行フェーズにおいて、(刺激)EARの
デプロイをする必要が発生した場合、(応答)WEBベースで
簡単に全クラスターノードに対してデプロイ作業が行えること
A5
(環境)開発・テスト・移行・運用フェーズにおいて、(刺激)
HTTPRequest及びリダイレクト情報の再読み込みが発生し
た場合に、(応答)必要な情報をログに出力すること
A6
(環境)通常稼働時に、(刺激)リダイクレト情報に変更が
あった場合、(応答)運用を止めることなく、リダイレクト情報
が反映可能であること
A7
(環境)通常稼働時に、(刺激)HTTPRequest及びリダイレク
ト情報の再読み込みが発生した場合に、(応答)必要な情報
をログに出力すること
A8
(環境)開発/テストフェーズ時に、(刺激)リダイクレト情報に
変更があった場合、(応答)WAS(アプリケーションサーバ)を
再起動することなしに、リダイレクト情報が反映可能であるこ
A9
(環境)開発/テストフェーズ時に、(刺激)HTTPRequest及び
リダイレクト情報の再読み込みが発生した場合に、(応答)
必要な情報をログに出力すること
A10
(環境)通常稼働時に、(刺激)アプリケーションサーバが3
台停止した場合でも、(応答)処理が続行できること
A11
(環境)通常稼働時に、(刺激)外部からの不正アクセスが
あった場合、(応答)正しく検知すると同時に不正アクセスの
進入を防ぐこと
主な影響元
通常(静的)定義
(非アスペクト型) アスペクト型
動的定義ファイル
ファイル読込みパ
ロギングパターン ロギングパターン
読込みパターン
ターン
インフラ/ネットワーク
アプリケーション
+
-
インフラ/ネットワーク
アプリケーション
+
-
インフラ/ネットワーク
アプリケーション
+
-
--
++
--
++
インフラ/ネットワーク
アプリケーション
++
+
++
+
++
+
++
+
アプリケーション
アプリケーション
アプリケーション
アプリケーション
インフラ/ネットワーク
インフラ/ネットワーク
国立情報学研究所
トップエスイー
~サイエンスによる知的のものづくり教育プログラム~
トップエスイー:
サイエンスによる知的ものづくり教育プログラム
National Institute of Informatics
文部科学省 振興調整費産学融合先端ソフトウェア技術者養成拠点の形成
文部科学省科学技術振興調整費
産学融合先端ソフトウェア技術者養成拠点の形成