スライド 1

Similar documents
15288解説_D.pptx

ISO9001:2015内部監査チェックリスト

どのような便益があり得るか? より重要な ( ハイリスクの ) プロセス及びそれらのアウトプットに焦点が当たる 相互に依存するプロセスについての理解 定義及び統合が改善される プロセス及びマネジメントシステム全体の計画策定 実施 確認及び改善の体系的なマネジメント 資源の有効利用及び説明責任の強化

智美塾 ゆもつよメソッドのアーキテクチャ

ISO 9001:2015 改定セミナー (JIS Q 9001:2015 準拠 ) 第 4.2 版 株式会社 TBC ソリューションズ プログラム 年版改定の概要 年版の6 大重点ポイントと対策 年版と2008 年版の相違 年版への移行の実務

品質マニュアル(サンプル)|株式会社ハピネックス

ISO9001:2015規格要求事項解説テキスト(サンプル) 株式会社ハピネックス提供資料

Using VectorCAST/C++ with Test Driven Development

PowerPoint プレゼンテーション

スキル領域 職種 : ソフトウェアデベロップメント スキル領域と SWD 経済産業省, 独立行政法人情報処理推進機構

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ

Microsoft PowerPoint - 【別紙1-2】メトリクスセットの利用ガイド.pptx

WBS テンプレート 2009/8/4 NO 作業項目 計画分析設計開発 SA UI SS PS PG PT テスト IT ST 運用 OT 保守 OM 作業概要 成果物 計画 プロジェクト編成 * プロジェクト責任者 メンバー ( システム部門 現場部門 外

過去問セミナーTM


<90528DB88EBF96E2955B2E786C73>

Microsoft Word - エグゼクティブサマリー.docx

説明項目 1. 審査で注目すべき要求事項の変化点 2. 変化点に対応した審査はどうあるべきか 文書化した情報 外部 内部の課題の特定 リスク 機会 利害関係者の特定 QMS 適用範囲 3. ISO 9001:2015への移行 リーダーシップ パフォーマンス 組織の知識 その他 ( 考慮する 必要に応

[ 指針 ] 1. 組織体および組織体集団におけるガバナンス プロセスの改善に向けた評価組織体の機関設計については 株式会社にあっては株主総会の専決事項であり 業務運営組織の決定は 取締役会等の専決事項である また 組織体集団をどのように形成するかも親会社の取締役会等の専決事項である したがって こ

説明項目 1. 審査で注目すべき要求事項の変化点 2. 変化点に対応した審査はどうあるべきか 文書化した情報 外部 内部の課題の特定 リスク 機会 関連する利害関係者の特定 プロセスの計画 実施 3. ISO 14001:2015への移行 EMS 適用範囲 リーダーシップ パフォーマンス その他 (

Microsoft PowerPoint - A7_松岡(プレゼン用)jnsa-総会-IoTWG-2015.pptx

JIS Q 27001:2014への移行に関する説明会 資料1

Exam4Docs Get your certification with ease by studying with our valid and latest training material.

Microsoft PowerPoint - 23_電子制御情報の交換(配布用a).pptx

Microsoft PowerPoint - ETEC-CLASS1資料 pptx

AAプロセスアフローチについて_ テクノファーnews

プロジェクトマネジメント知識体系ガイド (PMBOK ガイド ) 第 6 版 訂正表 - 第 3 刷り 注 : 次の正誤表は PMBOK ガイド第 6 版 の第 1 刷りと第 2 刷りに関するものです 本 ( または PDF) の印刷部数を確認するには 著作権ページ ( 通知ページおよび目次の前 )

Bluemix いつでもWebinarシリーズ 第15回 「Bluemix概説(改訂版)」

Oracle Cloud Adapter for Oracle RightNow Cloud Service

NEXCESS基礎コース01 組込みソフトウェア開発技術の基礎 ソフトウェア開発プロセス編

Oracle TimesTenについて

Insert VERITAS™ FAQ Title Here

RaQuest MindManager

目次 取組み概要 取組みの背景 取組みの成果物 適用事例の特徴 適用分析の特徴 適用事例の分析結果から見えたこと JISAによる調査結果 どうやって 実践のヒント をみつけるか 書籍発行について紹介 今後に向けて 2

迅速な開発 容易な運用 柔軟な改善を実現する 業務アプリケーションの開発 運用ソリューション ファストアップ ご説明資料 Ver

CP100 SAP Cloud Platform. コース概要 コースバージョン : 04 コース期間 :

テスト設計コンテスト

Microsoft Word - ESX_Setup_R15.docx

i コンピテンシ ディクショナリ を 活用した品質エンジニアの育成 その 2 独立行政法人情報処理推進機構 HRD イニシアティブセンター 奥村有紀子

Microsoft PowerPoint - 【最終提出版】 MATLAB_EXPO2014講演資料_ルネサス菅原.pptx

*1 分割損システム リソースを分割することによって, 利用効率が下がったり, 調達コストが上がったりすることを指す (3) 業務の断絶 異種プラットフォームの連携が難しいことに起因するシステム間 の断絶により, 業務の効率や正確性が低下している (4) 異種プラットフォーム乱立の弊害乱立に伴い,

Microsoft PowerPoint - A-10 ダウンロード用(C確認済).pptx

テスト設計コンテスト フロア展示資料

Oracle Warehouse Builder: 製品ロードマップ

リスクテンプレート仕様書

Windows Server 2016 Active Directory環境へのドメイン移行の考え方

<4D F736F F F696E74202D D4C82F08A B582BD A A F2E707074>

040402.ユニットテスト

PowerPoint プレゼンテーション

プロダクトオーナー研修についてのご紹介

組織内CSIRT構築の実作業

スライド 1

10年オンプレで運用したmixiをAWSに移行した10の理由

アジャイル開発入門

16年度第一回JACB品質技術委員会

何故 2 つの規格としたのですか (IATF 16949:2016 及び ISO 9001:2015)? 2 つの規格となると 1 つの規格の場合より, 読んで理解するのが非常に難しくなります 1 まえがき 自動車産業 QMS 規格 IATF と ISO との間で,IATF を統合文書と

個人依存開発から組織的開発への移行事例 ~ 要求モデル定義と開発プロセスの形式化 による高生産性 / 高信頼性化 ~ 三菱電機メカトロニクスソフトウエア ( 株 ) 和歌山支所岩橋正実 1

FUJITSU Cloud Service for OSS 「コンテナサービス」 ご紹介資料

日本機械学会 生産システム部門研究発表講演会 2015 資料

スクラムと監査についての一考 システム監査人協会近畿支部 近藤博則

5. 文書類に関する要求事項はどのように変わりましたか? 文書化された手順に関する特定の記述はなくなりました プロセスの運用を支援するための文書化した情報を維持し これらのプロセスが計画通りに実行されたと確信するために必要な文書化した情報を保持することは 組織の責任です 必要な文書類の程度は 事業の

ISO 9001:2015 から ISO 9001:2008 の相関表 JIS Q 9001:2015 JIS Q 9001: 適用範囲 1 適用範囲 1.1 一般 4 組織の状況 4 品質マネジメントシステム 4.1 組織及びその状況の理解 4 品質マネジメントシステム 5.6 マネジ

<4D F736F F F696E74202D A B837D836C CA48F435F >

PowerPoint プレゼンテーション

IATF16949への移行審査

テスト設計コンテスト

開発ツールのコラボレーション機能を検証する

CXD-210 Citrix XenApp および XenDesktop の管理 概要 XenAppとXenDesktopのいずれの使用経験もほとんどまたはまったくない受講者を対象としています プラットフォームを適切に運用するために必要なXenAppおよびXenDesktopの基礎知識が得られます

PowerPoint Presentation

Transcription:

ソフトウェアレビューシンポジウム JaSST Review'18 アーキテクチャのレビューについて 2018/12/14 鈴木雄介 Graat 日本 Java ユーザーグループ 代表会長

自己紹介 鈴木雄介 Graat( グラーツ )» グロース アーキテクチャ & チームス株式会社» 代表取締役社長» http://www.graat.co.jp/ 日本 Java ユーザーグループ» 会長» http://www.java-users.jp/ SNS» http://arclamp.hatenablog.com/» @yusuke_arclamp 1

アジェンダ アーキテクチャとは アーキテクチャの役割 アーキテクチャ設計レビュー アーキテクチャ設計レビューの難しさ まとめ 2

アーキテクチャとは 3

アーキテクチャとは 定義 architecture of a system» ある環境におけるシステムの基本的な概念や性質のことであり そのシステムの要素と関係 そして 設計と進化の原則が具現されている ISO/IEC/IEEE 42010 http://www.iso-architecture.org/ 参考 :All about ISO/IEC/IEEE 42010 (r5) 4

アーキテクチャとは システムの要素と関係性 システムは複数のコンポーネントの組み合わせで成立する» コンポーネント : 部品 特定の機能を果たす単位 システムが 1. どのようなコンポーネントで構成され 2. それらがどのように連携するのか? コンポーネント コンポーネント コンポーネント 5

アーキテクチャとは アーキテクチャのレベル感 様々なレベルにおいて要素と関係性が存在する» 企業全体システム» 企業内 / システム間» システム内 / サービス間» サービス内 / フレームワーク» コード 6

アーキテクチャとは システムの要素と統合の方針 システムの目的にあわせ システムをどのような要素で構成し それらの要素をどのように連携させるのか» 将来的な変更に対して どのように対応するのか? を示した方針 7

アーキテクチャ設計とは 定義 architecting» システムのライフサイクルを通じて アーキテクチャを適切に実装 保守 改善することを想起 定義 表現 文書化 伝達 証明するプロセス ISO/IEC/IEEE 42010 http://www.iso-architecture.org/ 参考 :All about ISO/IEC/IEEE 42010 (r5) 8

アーキテクチャの役割 9

アーキテクチャの役割 現代的なシステム開発 機能を実現する手段が沢山ある» 言語 OSS ライブラリ 商用製品 クラウドサービス かつ 各コンポーネントは常に進化している 他システム連携も増えている 環境の変化スピードが早い» 新しい機能が欲しい ユーザーが増えていく 10

アーキテクチャの役割 組み合わせでシステムを作る時代 巨大でモノリシックなシステム ではなく 適度に分割され 入れ替え可能なシステム» 進化が進んでいくとマイクロサービス アーキテクチャが重要に!» システムの分割と統合の方針がライフサイクルを通じた根幹 11

良いアーキテクチャとは何か? 12

アーキテクチャの役割 良さを非機能で判断する 機能実現は前提として非機能を重視すべき» 非機能を中心としたシステム評価 どのような組み合わせが適切に非機能を実現するのか?» 保守性 性能 可用性 セキュリティ 使用性» 特に他システムやクラウドのような 非機能を伴うコンポーネント の扱いが重要になる 13

アーキテクチャの役割 非機能が保証されないと リリース時点で問題がなくてもライフサイクルの中で» 複雑さによる保守性悪化» 性能劣化や階層障害の発生» 部分的な機能停止がシステム全体の停止を招く» ユーザービリティの限界» 14

アーキテクチャの役割 アーキテクチャがシステムの非機能を保証する アーキテクチャをきちんと設計されればライフサイクルを通じて適切に機能が提供できるようになる» 最初に方針を定めることが重要 アーキテクチャの評価は 非機能の適切さ で評価可能» 単体の品質ではなく 組み合わせて想定通りに動くのか? 15

アーキテクチャ設計レビュー 16

アーキテクチャ設計レビュー アーキテクチャ設計のレビュー アーキテクチャの設計工程でレビューを適切に行う» アーキテクチャ評価まで行ってから気付いても遅いので 要求 / 企画 本日は ここの話 アーキテクチャ設計 要件定義 システムテスト アーキテクチャ評価 実装 & テスト 17

アーキテクチャ設計レビュー 設計プロセスと成果物 ビジネス要件 その他の利害関係者 アーキテクチャ設計 1. ビジネス要件を理解する アーキテクチャ方針書 アクター一覧ユースケース図 2. 非機能要件を定義する非機能要件定義 レビュー 1 ビジネス要件サマリ 3. 構成を検討する 構成案図 4. 構成を評価する レビュー 2 評価シート 18

アーキテクチャ設計レビュー 2 つの観点 1 非機能要件の定義» そのシステムに求められる非機能要件を定義する 2 構成案の評価» 構成案が非機能要件を適切に満たすのかを評価する 19

アーキテクチャ設計レビュー 1 非機能要件を定義する 非機能要件として整理を行う» 様々な非機能定義がある 例 : 経産省が提供するソフトウェアの品質メトリクスセット http://www.meti.go.jp/policy/it_policy/softseibi/#p01 例 :IPAが提供する非機能要求グレード https://www.ipa.go.jp/sec/softwareengineering/std/ent03-b.html» これが正解 というのは存在しないので自分で使いやすいリファレンスを持っていると便利 20

アーキテクチャ設計レビュー 1 非機能要件を定義する - 機能適合性 ビジネスチームとの調整になる可能性が高い項目» 非機能的な すぐに 早く 確実に などについては なぜその要件が必要なのかを確認する» ステップ案などで段階的に改善できることを示すのもよい 基本的には技術的制約を前提にする» 技術に無理をさせると保守性が下がることが多い» できない というよりは コストが高い という説明を 21

アーキテクチャ設計レビュー 1 非機能要件を定義する - 性能効率性 / 可用性 クラウド / 仮想化によって柔軟になった項目» ただし いまだにレガシー環境はあるので気は抜かないこと キャパシティプランニングは時間軸を意識する» インフラを変更する時間軸 ( 作業時間 / 費用確保時間 ) で考える 3 ヶ月で可能なら 3 ヶ月 1 年ごとなら 1 年後 5 年ごとなら 5 年後を考える» ビジネス側の要求精度は確認する キャパシティが足りないのは問題だが 多すぎるのもエコではない 22

アーキテクチャ設計レビュー 1 非機能要件を定義する - セキュリティ 最初に関連部署と関連法令の確認を行うこと» あとからセキュリティ関連の考え方が変わるのは厳しい 考えることが多岐にわたるため どこの話かを整理する» 認証認可» データの保護 ( ストレージ ネットワーク )» 不正アクセスやアタックへの対策 監査 監視 23

アーキテクチャ設計レビュー 1 非機能要件を定義する - 使用性 社内向けかコンシューマー向けでポイントが異なる» 社内向けは 必要十分» コンシューマー向けは 差別化要素 特にスマホやデバイスを利用する場合は注意が必要» 使用性確保のために技術的な制約が出る可能性がある マニュアル整備なども意識するとよい 24

アーキテクチャ設計レビュー 1 非機能要件を定義する - 保守性 / 移植性 ライフタイムコストに影響するため とても重要» 特にテスト性を高めるのは有効» システム連携において独立したスケジュールでテストができるかどうかは大きな違い ログ ~ 監視の流れは標準化が必要 複数環境は意識する» ローカル 開発 検証 ステージング 本番 25

アーキテクチャ設計レビュー 1 非機能要件を定義する レビュー観点 システムに対して適切に設定されているか?» 非機能的に抜けもれがないか? 意図的な抜けもれも含めて明示することが大事» 将来性が考慮されているか ライフサイクルにおける非機能要件の変化» ステークホルダーの意見が整理されているか? この時点では ある程度の矛盾や不可能性は許容する 26

アーキテクチャ設計レビュー 2 構成案の評価 構成案を作成し 非機能要件から評価する» 可能なら 3 案作るのが望ましい» 可能な限り非機能要件を実現する案 技術的制約やコストを最優先にした案 その間 No 構成案非機能 1 非機能 2 非機能 3 コスト 1 構成案 1 〇 〇 〇 2 構成案 2 〇 3 構成案 3 〇 27

アーキテクチャ設計レビュー 2 構成案の評価 レビュー観点 バランスが取れた判断になっているか?»100 点満点になることはありえない 非機能要件に矛盾が一切ない ということがありえるか?» 落としどころの意図を確認する 技術的オーバーキルではないか? 誰か の意見に寄りすぎていないか? 28

アーキテクチャ設計レビューの難しさ 29

アーキテクチャ設計レビューの難しさ アーキテクチャ設計は常に事前的である 何もないのに正しくレビューできるものなのか? つまり 常にリスク ( 不確実性 ) がある 要求 / 企画 アーキテクチャ設計 要件定義 システムテスト アーキテクチャ評価 実装 & テスト 30

アーキテクチャ設計レビューの難しさ リスクと戦う 技術的リスク» 採用するコンポーネントが技術的に規定された品質が出るか? 組み合わせたときに問題ないか? システムの成長リスク» システムのライフサイクルにおける成長がどうなるのか? 31

アーキテクチャ設計レビューの難しさ 技術的リスク その構成で非機能要件が満たせるか?» 正しく を付けられているのか? リスクに気付く のは経験に寄るところが多い» 多くの人にレビューをしてもらうのがよい リスクがあるなら検証して明確化する リスク リスク検証 明確な課題 32

アーキテクチャ設計レビューの難しさ 技術的リスク リスクの検証方法や回避方法を理解しておく» すべてのリスクを検証している時間はない» どの程度のリスクであれば どの程度の検証をするのか?» そもそも リスクの許容も必要 33

補足 : 技術的リスク リスク検証の種類 検証方法実施内容例 机上検証 PoC プロトタイプ 先行実装 テスト 初期段階から実施でき コストも時間もかけないが検証精度としては最も低い 製品のドキュメントからアーキテクチャのコンセプトを理解する 事例やホワイトペーパーで 製品コンセプトを確認し 適用業務との Fit&Gap を検討する 想定構成で有識者による確認を行う Proof Of Concept/ 概念実証 技術的な課題に対して 利用を想定する技術的な要素について その技術の実コンセプトレベルでの実現性を確認する 非機能的な現性を確認するための簡易的な試作を作成する課題の洗い出しを行うことが目的となる 試作品としてシステムを構築する 機能の流れを限定的に作成することが多く その場合は エラー処理などが考慮されないため 完全な検証にはならない 設計工程の後半 あるいは実装工程の先頭で実機能を開発する この結果 テスト工程を早めに行うことができる 本番環境を用いた検証を目的とする 実装が開始されてから 非機能要件上の課題に対して検証可能な機能が作成できたら試験を行っていく 動作する一部機能を作成し 部分的な環境 ( 本番はサーバ 4 台だが 1 台のみなど ) で動かしてみる プロジェクト計画上 先行して実装作業を行い 本番環境での性能試験を実施する 本番環境で一通りの設定を行い 想定される動作をするかを早期にテストする システムテスト前の性能試験 セキュリティ検査 本番データを使った移行リハーサル 34

補足 : 技術的リスク リスク対応の種類 リスク対応判断基準対応策の例 回避 受容 代替 低減 ( 要件 ) 低減 ( システム ) リスク要因が根本的で 大きな対応コストがかかる場合などはリスクを回避する発生頻度が低い 影響が小さい 発生しても短時間で復旧するなどの場合はリスクを受容する発生頻度が低いものの 対応コストが高く影響が大きい場合にはリスク発生時にとりうる代替手段を用意する主に要件要素によってリスクの発生を低減する 主にシステム要素によってリスクの発生を低減する 要件を取り下げる システム構成を不採用にする 対応なし システムを使わずにマニュアル運用にする データ転送を別経路 ( 媒体渡し ) にする 要件を部分的に変更してリスクの発生確率を減らす 発生時にシステム機能が制限されることを許容するなど コストをかけてリソース増強や構成変更を行う ベンダー側の体制強化を依頼する 35

アーキテクチャ設計レビューの難しさ システムの成長リスク システムは成長するのか? 衰退するのか?» 未来の予想は誰にもできない» 稟議書に書かれた数字が正しいかは 微妙 できれば 時点で最適化されているのが望ましい» 主にコスト面で ( ビジネスの継続性に影響するから )» インフラは仮想化によって調整幅は増えた 36

アーキテクチャ設計レビューの難しさ システムの成長リスク 未知なる未来に対して戦略があるか?» 予測型 予測確度が高いことを前提に効率化する» 犠牲型 予測確度が低いことを前提に非効率を受け入れる» 拡張型 予測の曖昧さを受け入れる 37

アーキテクチャ設計レビューの難しさ システムの成長リスク - 予測型 追加される機能に対して同一の構造を割り当てる 最も効率的 ( 予測が正しければ ) 機能 A 機能 A 機能 B 機能 C 構造 構造 38

アーキテクチャ設計レビューの難しさ システムの成長リスク - 予測増改築型 予測型を長期間維持してこじらせたパターン 保守性が悪く コストが増加する ( 別名 : 温泉旅館型 ) 機能 A 機能 A 機能 B 機能 C 構造 構造 39

アーキテクチャ設計レビューの難しさ システムの成長リスク - 犠牲型 最初に作る構造は最低限にしておき のちに再整備する 機能移植にコストはかかるが長期保守にメリット 機能 A 機能 A 機能 A 機能 B 機能 C 構造 1 構造 1 構造 2 技術的負債 40

アーキテクチャ設計レビューの難しさ システムの成長リスク - 拡張型 構造そのものに拡張性を持たせる ( 天才に限る ) 機能 A 機能 A 機能 B 機能 C 構造 1 構造 1 構造 2 基本構造 基本構造 41

まとめ 42

まとめ アーキテクチャの役割 組み合わせでシステムを作る時代» まさに組み合わせを考えるアーキテクチャ設計は重要 非機能要件で良さを定義する» アーキテクチャがシステムの非機能を保証する» アーキテクチャの評価は 非機能の適切さ で評価可能 単体の品質ではなく 組み合わせて想定通りに動くのか? 43

まとめ 設計プロセスと成果物 ビジネス要件 その他の利害関係者 アーキテクチャ設計 1. ビジネス要件を理解する アーキテクチャ方針書 アクター一覧ユースケース図 2. 非機能要件を定義する非機能要件定義 レビュー 1 ビジネス要件サマリ 3. 構成を検討する 構成案図 4. 構成を評価する レビュー 2 評価シート 44

まとめ 1 非機能要件を定義する そのシステムに求められる非機能要件を定義する レビュー : システムに対して適切に設定されているか?» 非機能的に抜けもれがないか? 意図的な抜けもれも含めて明示することが大事» 将来性が考慮されているか ライフサイクルにおける非機能要件の変化» ステークホルダーの意見が整理されているか? この時点では ある程度の矛盾や不可能性は許容する 45

まとめ 2 構成案の評価 構成案が非機能要件を適切に満たすのかを評価する レビュー : バランスが取れた判断になっているか?»100 点満点になることはありえない 非機能要件に矛盾が一切ない ということがありえるか?» 落としどころの意図を確認する 技術的オーバーキルではないか? 誰か の意見に寄りすぎていないか? 46

まとめ アーキテクチャ設計は常に事前的である 何もないのに正しくレビューできるものなのか? つまり 常にリスク ( 不確実性 ) がある» 技術的リスク 採用するコンポーネントが組み合わせたときに問題ないか? リスクの検証方法と回避方法の理解» システムの成長リスク システムのライフサイクルにおける成長がどうなるのか? 戦略的な構成の理解 47

まとめ アーキテクチャ設計レビューには信念が必要 必ずしも技術的に優れていることが重要ではない» すべてを理解するスーパーマンはいない むしろ 傾聴し 整理し 働きかける力が重要» より多くの人を判断に巻き込むことが大事 誰かの意見 に従っていないか? が大事» リスクと戦うには信念がいる ( 誰かのせいにするは簡単 ) 48