トップエスイー修了制作 品質駆動型設計による 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 文部科学省 振興調整費産学融合先端ソフトウェア技術者養成拠点の形成 文部科学省科学技術振興調整費 産学融合先端ソフトウェア技術者養成拠点の形成
© Copyright 2024 ExpyDoc