SQuBOK読破会活動紹介とSQuBOKにおける派生開発

43
SQuBOK 読読読読読読読読 SQuBOK 読読読読読読読読 SQuBOK V2 読読読 読読 読読

Transcript of SQuBOK読破会活動紹介とSQuBOKにおける派生開発

SQuBOK 読破会活動紹介とSQuBOK における派生開発

SQuBOK V2 読破会藤沢 耕助

2

自己紹介発表者• 藤沢耕助 所属

• 某 SIer  品質保証部門• SQuBOK V2 読破会

業務• 設計書レビュー• システムテスト

発表の経緯• 池田さんとのご縁• 派生開発への興味

派生開発との関わり• 製品バージョンアップにともなうテスト

SQuBOK 読破会

藤沢耕助

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

3

本発表についてこのセッションでは、以下の2点についてお話しします。

1. 「 SQuBOK 読破会」という勉強会の活動紹介2. SQuBOK における派生開発に関する記述について

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

4

SQuBOK 読破会とは?

しかし、ページ数は 300 ページ以上で一人で読み切るのは大変

ソフトウェア品質に関わる知識がまとめられた、宝箱のような本

文字通り、 SQuBOK 第二版を最初から最後まで読み切る(読破する)会

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

5

文字通り、 SQuBOK 第二版を最初から最後まで読み切る(読破する)会SQuBOK 読破会とは?

一人ではなく、みんなで読んでいけば読み切れるんじゃないか?→ 読書ではなく「読破」

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

6

SQuBOK 読破会 定例会(月1回)の基本メニュー# メニュー内容 目的 アウトプット1 各々が今月読ん

だ書籍を紹介しよう

自分では読まない書籍の話も聞くことで、知識の幅を広げよう

• おすすめ書籍リスト

2 SQuBOK の輪読をしよう

読み進めるとともに、追加したほうがいい文献、内容はあるか?」などの観点で議論していこう

• 読破したページの TYPO 指摘

• 輪読後に行った議論の議事録

3 懇親会で交流をしよう

SQuBOK に限らない情報交換をしよう

• 楽しい思い出• 名言(迷言?)

の数々 2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

7

SQuBOK 読破会 定例会(月1回)の基本メニュー

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

# メニュー内容 目的 アウトプット1 各々が今月読ん

だ書籍を紹介しよう

自分では読まない書籍の話も聞くことで、知識の幅を広げよう

• おすすめ書籍リスト

2 SQuBOK の輪読をしよう

読み進めるとともに、追加したほうがいい文献、内容はあるか?」などの観点で議論していこう

• 読破したページの TYPO 指摘

• 輪読後に行った議論の議事録

3 懇親会で交流をしよう

SQuBOK に限らない情報交換をしよう

• 楽しい思い出• 名言(迷言?)

の数々

SQuBOK 策定部会にフィードバック!

8

SQuBOK 読破会の雰囲気

勉強会本編勉強会番外編(懇親会)

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

楽しく真面目に勉強しています!

9

SQuBOK 読破会 活動状況と今後やりたいこと活動状況 2015年1月から月1ペースで定例会を実施。次回は第8回。現在 200 ページ読破。年内には読破完了の予定!

東洋大学 野中誠先生をゲストとしてお迎えして、合宿(@修善寺温泉)も行いました!今後やりたいこと 「利用時の品質」についての調査

SQuBOK 読み解き資料の作成議論内容のまとめの作成

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

10

SQuBOK 読破会の活動紹介  まとめ■SQuBOK 読破会の発足   一人では読むのが大変な SQuBOK をみんなで「読破」しよう■ 定例会の基本メニュー  ・今月読んだ本紹介  ・輪読(本編)  ・懇親会■ 今後やりたいこと  「利用時の品質」について調査、 SQuBOK 読み解き資料作成など

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

11

本発表について

1. 「 SQuBOK 読破会」という勉強会の活動紹介2. SQuBOK における派生開発に関する記述について

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

12

SQuBOK の読み方

• SQuBOK の各項目を読むことで、概要レベルの知識を得ることができる普通に各項目を読む

• 各項目には参考文献が載っていて、より詳しい情報をたどることもできる参考文献をたどる

• 各項目の関連知識領域から、関連するトピックスを調べることもできる関連知識領域をたどる

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

13

SQuBOK における派生開発に関連するトピックス

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

参考文献 「ソフトウェア品質知識体系ガイド(第2版) -SQuBOK Guide V2- 」 2014

s

Guide to the Software Quality Body of Knowledge(V2)

1. ソフトウェア品質の基本概念 3. ソフトウェア品質技術2. ソフトウェア品質マネジメント カテゴリ副カテゴリ知識領域

1.1 品質の概念1.2 品質マネジメントの概念1.3 ソフトウェアの品質マネジメントの特徴

組織レベルのソフトウェア品質マネジメント2.1 ソフトウェア品質マネジメントシステムの構築と運用2.2 ライフサイクルプロセスのマネジメント2.3 ソフトウェアプロセス改善のマネジメント2.4 検査のマネジメント2.5 監査のマネジメント2.6 教育・育成のマネジメント2.7 法的権利・法的責任のマネジメント

プロジェクトレベル(共通)のソフトウェア品質マネジメント2.8 意思決定のマネジメント2.9 調達のマネジメント2.10 リスクマネジメント2.11 構成管理2.12 プロジェクトマネジメント

プロジェクトレベル(個別)のソフトウェア品質マネジメント2.13 品質計画のマネジメント2.14 要求分析のマネジメント2.15 設計のマネジメント2.16 実装のマネジメント2.17 レビューのマネジメント2.18 テストのマネジメント2.19 品質分析・評価のマネジメント2.20 リリース可否判定2.21運用のマネジメント2.22 保守のマネジメント

工程に共通なソフトウェア品質技術3.1 メトリクス3.2 モデル化の技法3.3 形式手法

3.4 品質計画の技法3.5 要求分析の技法3.6 設計の技法3.7 実装の技法3.8 レビューの技法

3.13 使用性の技法3.14 セーフティの技法3.15 セキュリティの技法

工程に個別なソフトウェア品質技術

3.9 テストの技法3.10 品質分析・評価の技法3.11 運用の技法3.12 保守の技法

専門的品質特性のソフトウェア品質技術

参考文献 「ソフトウェア品質知識体系ガイド(第2版) -SQuBOK Guide V2- 」 2014

14

s

Guide to the Software Quality Body of Knowledge(V2)

1. ソフトウェア品質の基本概念 3. ソフトウェア品質技術2. ソフトウェア品質マネジメント カテゴリ副カテゴリ知識領域

1.1 品質の概念1.2 品質マネジメントの概念1.3 ソフトウェアの品質マネジメントの特徴

組織レベルのソフトウェア品質マネジメント2.1 ソフトウェア品質マネジメントシステムの構築と運用2.2 ライフサイクルプロセスのマネジメント2.3 ソフトウェアプロセス改善のマネジメント2.4 検査のマネジメント2.5 監査のマネジメント2.6 教育・育成のマネジメント2.7 法的権利・法的責任のマネジメント

プロジェクトレベル(共通)のソフトウェア品質マネジメント2.8 意思決定のマネジメント2.9 調達のマネジメント2.10 リスクマネジメント2.11 構成管理2.12 プロジェクトマネジメント

プロジェクトレベル(個別)のソフトウェア品質マネジメント2.13 品質計画のマネジメント2.14 要求分析のマネジメント2.15 設計のマネジメント2.16 実装のマネジメント2.17 レビューのマネジメント2.18 テストのマネジメント2.19 品質分析・評価のマネジメント2.20 リリース可否判定2.21運用のマネジメント2.22 保守のマネジメント

工程に共通なソフトウェア品質技術3.1 メトリクス3.2 モデル化の技法3.3 形式手法

3.4 品質計画の技法3.5 要求分析の技法3.6 設計の技法3.7 実装の技法3.8 レビューの技法

3.13 使用性の技法3.14 セーフティの技法3.15 セキュリティの技法

工程に個別なソフトウェア品質技術

3.9 テストの技法3.10 品質分析・評価の技法3.11 運用の技法3.12 保守の技法

専門的品質特性のソフトウェア品質技術

藤沢が考える、派生開発に関連するトピックス2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

参考文献 「ソフトウェア品質知識体系ガイド(第2版) -SQuBOK Guide V2- 」 2014

SQuBOK における派生開発に関連するトピックス

15

s

Guide to the Software Quality Body of Knowledge(V2)

1. ソフトウェア品質の基本概念 3. ソフトウェア品質技術2. ソフトウェア品質マネジメント カテゴリ副カテゴリ知識領域

1.1 品質の概念1.2 品質マネジメントの概念1.3 ソフトウェアの品質マネジメントの特徴

組織レベルのソフトウェア品質マネジメント2.1 ソフトウェア品質マネジメントシステムの構築と運用2.2 ライフサイクルプロセスのマネジメント2.3 ソフトウェアプロセス改善のマネジメント2.4 検査のマネジメント2.5 監査のマネジメント2.6 教育・育成のマネジメント2.7 法的権利・法的責任のマネジメント

プロジェクトレベル(共通)のソフトウェア品質マネジメント2.8 意思決定のマネジメント2.9 調達のマネジメント2.10 リスクマネジメント2.11 構成管理2.12 プロジェクトマネジメント

プロジェクトレベル(個別)のソフトウェア品質マネジメント2.13 品質計画のマネジメント2.14 要求分析のマネジメント2.15 設計のマネジメント2.16 実装のマネジメント2.17 レビューのマネジメント2.18 テストのマネジメント2.19 品質分析・評価のマネジメント2.20 リリース可否判定2.21運用のマネジメント2.22 保守のマネジメント

工程に共通なソフトウェア品質技術3.1 メトリクス3.2 モデル化の技法3.3 形式手法

3.4 品質計画の技法3.5 要求分析の技法3.6 設計の技法3.7 実装の技法3.8 レビューの技法

3.13 使用性の技法3.14 セーフティの技法3.15 セキュリティの技法

工程に個別なソフトウェア品質技術

3.9 テストの技法3.10 品質分析・評価の技法3.11 運用の技法3.12 保守の技法

専門的品質特性のソフトウェア品質技術

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

参考文献 「ソフトウェア品質知識体系ガイド(第2版) -SQuBOK Guide V2- 」 2014

• 派生開発関連技術

p.1002.2.3.7 T: 派生開発 (XDDP)

• 派生開発関連技術

p.2353.5.3.2 T:USDM (要求仕様記述法)

SQuBOK における派生開発に関連するトピックス

16

s

Guide to the Software Quality Body of Knowledge(V2)

1. ソフトウェア品質の基本概念 3. ソフトウェア品質技術2. ソフトウェア品質マネジメント カテゴリ副カテゴリ知識領域

1.1 品質の概念1.2 品質マネジメントの概念1.3 ソフトウェアの品質マネジメントの特徴

組織レベルのソフトウェア品質マネジメント2.1 ソフトウェア品質マネジメントシステムの構築と運用2.2 ライフサイクルプロセスのマネジメント2.3 ソフトウェアプロセス改善のマネジメント2.4 検査のマネジメント2.5 監査のマネジメント2.6 教育・育成のマネジメント2.7 法的権利・法的責任のマネジメント

プロジェクトレベル(共通)のソフトウェア品質マネジメント2.8 意思決定のマネジメント2.9 調達のマネジメント2.10 リスクマネジメント2.11 構成管理2.12 プロジェクトマネジメント

プロジェクトレベル(個別)のソフトウェア品質マネジメント2.13 品質計画のマネジメント2.14 要求分析のマネジメント2.15 設計のマネジメント2.16 実装のマネジメント2.17 レビューのマネジメント2.18 テストのマネジメント2.19 品質分析・評価のマネジメント2.20 リリース可否判定2.21運用のマネジメント2.22 保守のマネジメント

工程に共通なソフトウェア品質技術3.1 メトリクス3.2 モデル化の技法3.3 形式手法

3.4 品質計画の技法3.5 要求分析の技法3.6 設計の技法3.7 実装の技法3.8 レビューの技法

3.13 使用性の技法3.14 セーフティの技法3.15 セキュリティの技法

工程に個別なソフトウェア品質技術

3.9 テストの技法3.10 品質分析・評価の技法3.11 運用の技法3.12 保守の技法

専門的品質特性のソフトウェア品質技術

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

参考文献 「ソフトウェア品質知識体系ガイド(第2版) -SQuBOK Guide V2- 」 2014

• 関連トピックス(1)

p.541.3.2.2 T:モデル化

SQuBOK における派生開発に関連するトピックス

17

s

Guide to the Software Quality Body of Knowledge(V2)

1. ソフトウェア品質の基本概念 3. ソフトウェア品質技術2. ソフトウェア品質マネジメント カテゴリ副カテゴリ知識領域

1.1 品質の概念1.2 品質マネジメントの概念1.3 ソフトウェアの品質マネジメントの特徴

組織レベルのソフトウェア品質マネジメント2.1 ソフトウェア品質マネジメントシステムの構築と運用2.2 ライフサイクルプロセスのマネジメント2.3 ソフトウェアプロセス改善のマネジメント2.4 検査のマネジメント2.5 監査のマネジメント2.6 教育・育成のマネジメント2.7 法的権利・法的責任のマネジメント

プロジェクトレベル(共通)のソフトウェア品質マネジメント2.8 意思決定のマネジメント2.9 調達のマネジメント2.10 リスクマネジメント2.11 構成管理2.12 プロジェクトマネジメント

プロジェクトレベル(個別)のソフトウェア品質マネジメント2.13 品質計画のマネジメント2.14 要求分析のマネジメント2.15 設計のマネジメント2.16 実装のマネジメント2.17 レビューのマネジメント2.18 テストのマネジメント2.19 品質分析・評価のマネジメント2.20 リリース可否判定2.21運用のマネジメント2.22 保守のマネジメント

工程に共通なソフトウェア品質技術3.1 メトリクス3.2 モデル化の技法3.3 形式手法

3.4 品質計画の技法3.5 要求分析の技法3.6 設計の技法3.7 実装の技法3.8 レビューの技法

3.13 使用性の技法3.14 セーフティの技法3.15 セキュリティの技法

工程に個別なソフトウェア品質技術

3.9 テストの技法3.10 品質分析・評価の技法3.11 運用の技法3.12 保守の技法

専門的品質特性のソフトウェア品質技術

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

参考文献 「ソフトウェア品質知識体系ガイド(第2版) -SQuBOK Guide V2- 」 2014

• 関連トピックス(2)

p.992.2.3.6 T: プロダクトライン開発

SQuBOK における派生開発に関連するトピックス

18

s

Guide to the Software Quality Body of Knowledge(V2)

1. ソフトウェア品質の基本概念 3. ソフトウェア品質技術2. ソフトウェア品質マネジメント カテゴリ副カテゴリ知識領域

1.1 品質の概念1.2 品質マネジメントの概念1.3 ソフトウェアの品質マネジメントの特徴

組織レベルのソフトウェア品質マネジメント2.1 ソフトウェア品質マネジメントシステムの構築と運用2.2 ライフサイクルプロセスのマネジメント2.3 ソフトウェアプロセス改善のマネジメント2.4 検査のマネジメント2.5 監査のマネジメント2.6 教育・育成のマネジメント2.7 法的権利・法的責任のマネジメント

プロジェクトレベル(共通)のソフトウェア品質マネジメント2.8 意思決定のマネジメント2.9 調達のマネジメント2.10 リスクマネジメント2.11 構成管理2.12 プロジェクトマネジメント

プロジェクトレベル(個別)のソフトウェア品質マネジメント2.13 品質計画のマネジメント2.14 要求分析のマネジメント2.15 設計のマネジメント2.16 実装のマネジメント2.17 レビューのマネジメント2.18 テストのマネジメント2.19 品質分析・評価のマネジメント2.20 リリース可否判定2.21運用のマネジメント2.22 保守のマネジメント

工程に共通なソフトウェア品質技術3.1 メトリクス3.2 モデル化の技法3.3 形式手法

3.4 品質計画の技法3.5 要求分析の技法3.6 設計の技法3.7 実装の技法3.8 レビューの技法

3.13 使用性の技法3.14 セーフティの技法3.15 セキュリティの技法

工程に個別なソフトウェア品質技術

3.9 テストの技法3.10 品質分析・評価の技法3.11 運用の技法3.12 保守の技法

専門的品質特性のソフトウェア品質技術

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

参考文献 「ソフトウェア品質知識体系ガイド(第2版) -SQuBOK Guide V2- 」 2014

• 関連トピックス(3)

p.144 2.11.1 S-KA: 変更管理

SQuBOK における派生開発に関連するトピックス

19

s

Guide to the Software Quality Body of Knowledge(V2)

1. ソフトウェア品質の基本概念 3. ソフトウェア品質技術2. ソフトウェア品質マネジメント カテゴリ副カテゴリ知識領域

1.1 品質の概念1.2 品質マネジメントの概念1.3 ソフトウェアの品質マネジメントの特徴

組織レベルのソフトウェア品質マネジメント2.1 ソフトウェア品質マネジメントシステムの構築と運用2.2 ライフサイクルプロセスのマネジメント2.3 ソフトウェアプロセス改善のマネジメント2.4 検査のマネジメント2.5 監査のマネジメント2.6 教育・育成のマネジメント2.7 法的権利・法的責任のマネジメント

プロジェクトレベル(共通)のソフトウェア品質マネジメント2.8 意思決定のマネジメント2.9 調達のマネジメント2.10 リスクマネジメント2.11 構成管理2.12 プロジェクトマネジメント

プロジェクトレベル(個別)のソフトウェア品質マネジメント2.13 品質計画のマネジメント2.14 要求分析のマネジメント2.15 設計のマネジメント2.16 実装のマネジメント2.17 レビューのマネジメント2.18 テストのマネジメント2.19 品質分析・評価のマネジメント2.20 リリース可否判定2.21運用のマネジメント2.22 保守のマネジメント

工程に共通なソフトウェア品質技術3.1 メトリクス3.2 モデル化の技法3.3 形式手法

3.4 品質計画の技法3.5 要求分析の技法3.6 設計の技法3.7 実装の技法3.8 レビューの技法

3.13 使用性の技法3.14 セーフティの技法3.15 セキュリティの技法

工程に個別なソフトウェア品質技術

3.9 テストの技法3.10 品質分析・評価の技法3.11 運用の技法3.12 保守の技法

専門的品質特性のソフトウェア品質技術

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

参考文献 「ソフトウェア品質知識体系ガイド(第2版) -SQuBOK Guide V2- 」 2014

• 関連トピックス(4)

p.3463.12 KA: 保守の技法

SQuBOK における派生開発に関連するトピックス

20

s

Guide to the Software Quality Body of Knowledge(V2)

1. ソフトウェア品質の基本概念 3. ソフトウェア品質技術2. ソフトウェア品質マネジメント カテゴリ副カテゴリ知識領域

1.1 品質の概念1.2 品質マネジメントの概念1.3 ソフトウェアの品質マネジメントの特徴

組織レベルのソフトウェア品質マネジメント2.1 ソフトウェア品質マネジメントシステムの構築と運用2.2 ライフサイクルプロセスのマネジメント2.3 ソフトウェアプロセス改善のマネジメント2.4 検査のマネジメント2.5 監査のマネジメント2.6 教育・育成のマネジメント2.7 法的権利・法的責任のマネジメント

プロジェクトレベル(共通)のソフトウェア品質マネジメント2.8 意思決定のマネジメント2.9 調達のマネジメント2.10 リスクマネジメント2.11 構成管理2.12 プロジェクトマネジメント

プロジェクトレベル(個別)のソフトウェア品質マネジメント2.13 品質計画のマネジメント2.14 要求分析のマネジメント2.15 設計のマネジメント2.16 実装のマネジメント2.17 レビューのマネジメント2.18 テストのマネジメント2.19 品質分析・評価のマネジメント2.20 リリース可否判定2.21運用のマネジメント2.22 保守のマネジメント

工程に共通なソフトウェア品質技術3.1 メトリクス3.2 モデル化の技法3.3 形式手法

3.4 品質計画の技法3.5 要求分析の技法3.6 設計の技法3.7 実装の技法3.8 レビューの技法

3.13 使用性の技法3.14 セーフティの技法3.15 セキュリティの技法

工程に個別なソフトウェア品質技術

3.9 テストの技法3.10 品質分析・評価の技法3.11 運用の技法3.12 保守の技法

専門的品質特性のソフトウェア品質技術

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

参考文献 「ソフトウェア品質知識体系ガイド(第2版) -SQuBOK Guide V2- 」 2014

• 本発表における解説対象

p.1002.2.3.7 T: 派生開発 (XDDP)

SQuBOK における派生開発に関連するトピックス

21

XDDP ( SQuBOK ベースでの概要)■SQuBOK における位置づけ   2.2.3. S-KA プロセスモデルの1トピック■目的  ミスや漏れによる手戻りを防止して短納期を達成し、  プロジェクトの混乱を未然に防ぐ

参考文献「派生開発」を成功させるプロセス改善の技術と極意技術評論社  2007

関連文献「要求を仕様化する技術・表現する技術ー仕様が書けていますか?」第2版技術評論社  2010

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

22

仕様の抽出変更要求仕様書の作成

トレーサビリティマトリクス作成

一斉にソースコードを変更各交点に対して変更設計書を記述

機能追加(設計作業が必要)変更(設計作業が不要)

XDDP ( SQuBOK ベースでの概要)変更要求を「変更」と「機能追加」に分類し、それぞれ異なる手順で開発する

・通常の開発方法

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

23

SQuBOK から XDDP の参考文献をたどってみるXDDP の 3 つの成果物に関して、より詳細な説明がある

変更要求仕様書

トレーサビリティマトリクス

変更設計書参考文献「派生開発」を成功させるプロセス改善の技術と極意 技術評論社  2007

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

24

SQuBOK から XDDP の参考文献をたどってみるXDDP の 3 つの成果物に関して、より詳細な説明がある

• 変更内容について”特定”• 変更箇所に関する情報を整理 →無駄な変更を防ぐ →ソースコードを読んで  ”思い出す”時間を削減 →レビューを容易にする

変更要求仕様書

トレーサビリティマトリクス

変更設計書

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

参考文献「派生開発」を成功させるプロセス改善の技術と極意 技術評論社  2007

25

• 関数など具体的な変更内容を“文章で”記述 →どの関数の、どの部分を  どのように変更するか? (変更点のみを記述する)

SQuBOK から XDDP の参考文献をたどってみるXDDP の 3 つの成果物に関して、より詳細な説明がある

変更要求仕様書

トレーサビリティマトリクス

変更設計書

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

参考文献「派生開発」を成功させるプロセス改善の技術と極意 技術評論社  2007

26

SQuBOK から XDDP の参考文献をたどってみるXDDP の 3 つの成果物に関して、より詳細な説明がある

• 変更要求仕様書と変更設計書を関連付ける文書 →「ここに変更が入るなら、 ここも似た機能だし変更が 必要なのでは?」という 連想を働かせる

変更要求仕様書

トレーサビリティマトリクス

変更設計書

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

参考文献「派生開発」を成功させるプロセス改善の技術と極意 技術評論社  2007

27

s

Guide to the Software Quality Body of Knowledge(V2)

1. ソフトウェア品質の基本概念 3. ソフトウェア品質技術2. ソフトウェア品質マネジメント カテゴリ副カテゴリ知識領域

1.1 品質の概念1.2 品質マネジメントの概念1.3 ソフトウェアの品質マネジメントの特徴

組織レベルのソフトウェア品質マネジメント2.1 ソフトウェア品質マネジメントシステムの構築と運用2.2 ライフサイクルプロセスのマネジメント2.3 ソフトウェアプロセス改善のマネジメント2.4 検査のマネジメント2.5 監査のマネジメント2.6 教育・育成のマネジメント2.7 法的権利・法的責任のマネジメント

プロジェクトレベル(共通)のソフトウェア品質マネジメント2.8 意思決定のマネジメント2.9 調達のマネジメント2.10 リスクマネジメント2.11 構成管理2.12 プロジェクトマネジメント

プロジェクトレベル(個別)のソフトウェア品質マネジメント2.13 品質計画のマネジメント2.14 要求分析のマネジメント2.15 設計のマネジメント2.16 実装のマネジメント2.17 レビューのマネジメント2.18 テストのマネジメント2.19 品質分析・評価のマネジメント2.20 リリース可否判定2.21運用のマネジメント2.22 保守のマネジメント

工程に共通なソフトウェア品質技術3.1 メトリクス3.2 モデル化の技法3.3 形式手法

3.4 品質計画の技法3.5 要求分析の技法3.6 設計の技法3.7 実装の技法3.8 レビューの技法

3.13 使用性の技法3.14 セーフティの技法3.15 セキュリティの技法

工程に個別なソフトウェア品質技術

3.9 テストの技法3.10 品質分析・評価の技法3.11 運用の技法3.12 保守の技法

専門的品質特性のソフトウェア品質技術

SQuBOK における派生開発に関連するトピックス

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

参考文献 「ソフトウェア品質知識体系ガイド(第2版) -SQuBOK Guide V2- 」 2014

• 派生開発関連技術(XDDP)

p.1002.2.3.7 T: 派生開発 (XDDP)

• 派生開発関連技術(USDM)

p.2353.5.3.2 T:USDM (要求仕様記述法)

28

s

Guide to the Software Quality Body of Knowledge(V2)

1. ソフトウェア品質の基本概念 3. ソフトウェア品質技術2. ソフトウェア品質マネジメント カテゴリ副カテゴリ知識領域

1.1 品質の概念1.2 品質マネジメントの概念1.3 ソフトウェアの品質マネジメントの特徴

組織レベルのソフトウェア品質マネジメント2.1 ソフトウェア品質マネジメントシステムの構築と運用2.2 ライフサイクルプロセスのマネジメント2.3 ソフトウェアプロセス改善のマネジメント2.4 検査のマネジメント2.5 監査のマネジメント2.6 教育・育成のマネジメント2.7 法的権利・法的責任のマネジメント

プロジェクトレベル(共通)のソフトウェア品質マネジメント2.8 意思決定のマネジメント2.9 調達のマネジメント2.10 リスクマネジメント2.11 構成管理2.12 プロジェクトマネジメント

プロジェクトレベル(個別)のソフトウェア品質マネジメント2.13 品質計画のマネジメント2.14 要求分析のマネジメント2.15 設計のマネジメント2.16 実装のマネジメント2.17 レビューのマネジメント2.18 テストのマネジメント2.19 品質分析・評価のマネジメント2.20 リリース可否判定2.21運用のマネジメント2.22 保守のマネジメント

工程に共通なソフトウェア品質技術3.1 メトリクス3.2 モデル化の技法3.3 形式手法

3.4 品質計画の技法3.5 要求分析の技法3.6 設計の技法3.7 実装の技法3.8 レビューの技法

3.13 使用性の技法3.14 セーフティの技法3.15 セキュリティの技法

工程に個別なソフトウェア品質技術

3.9 テストの技法3.10 品質分析・評価の技法3.11 運用の技法3.12 保守の技法

専門的品質特性のソフトウェア品質技術

SQuBOK における派生開発に関連するトピックス

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

参考文献 「ソフトウェア品質知識体系ガイド(第2版) -SQuBOK Guide V2- 」 2014

• モデル化によって開発対象の構造や振る舞いにかかわる複雑さを軽減• 保守や管理を容易にする• 派生開発との関連: USDM もモデルのひとつ

p.541.3.2.2 T:モデル化

29

s

Guide to the Software Quality Body of Knowledge(V2)

1. ソフトウェア品質の基本概念 3. ソフトウェア品質技術2. ソフトウェア品質マネジメント カテゴリ副カテゴリ知識領域

1.1 品質の概念1.2 品質マネジメントの概念1.3 ソフトウェアの品質マネジメントの特徴

組織レベルのソフトウェア品質マネジメント2.1 ソフトウェア品質マネジメントシステムの構築と運用2.2 ライフサイクルプロセスのマネジメント2.3 ソフトウェアプロセス改善のマネジメント2.4 検査のマネジメント2.5 監査のマネジメント2.6 教育・育成のマネジメント2.7 法的権利・法的責任のマネジメント

プロジェクトレベル(共通)のソフトウェア品質マネジメント2.8 意思決定のマネジメント2.9 調達のマネジメント2.10 リスクマネジメント2.11 構成管理2.12 プロジェクトマネジメント

プロジェクトレベル(個別)のソフトウェア品質マネジメント2.13 品質計画のマネジメント2.14 要求分析のマネジメント2.15 設計のマネジメント2.16 実装のマネジメント2.17 レビューのマネジメント2.18 テストのマネジメント2.19 品質分析・評価のマネジメント2.20 リリース可否判定2.21運用のマネジメント2.22 保守のマネジメント

工程に共通なソフトウェア品質技術3.1 メトリクス3.2 モデル化の技法3.3 形式手法

3.4 品質計画の技法3.5 要求分析の技法3.6 設計の技法3.7 実装の技法3.8 レビューの技法

3.13 使用性の技法3.14 セーフティの技法3.15 セキュリティの技法

工程に個別なソフトウェア品質技術

3.9 テストの技法3.10 品質分析・評価の技法3.11 運用の技法3.12 保守の技法

専門的品質特性のソフトウェア品質技術

SQuBOK における派生開発に関連するトピックス

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

参考文献 「ソフトウェア品質知識体系ガイド(第2版) -SQuBOK Guide V2- 」 2014

• 多品種製品向けのソフトウェア開発技法• 複数製品における共通のコア資産を構築し、そのコア資産から各製品を導出する• 派生開発との関連:要求可変性分析と関係する→

USDM (要求仕様記述法)との関わり

p.992.2.3.6 T: プロダクトライン開発

30

s

Guide to the Software Quality Body of Knowledge(V2)

1. ソフトウェア品質の基本概念 3. ソフトウェア品質技術2. ソフトウェア品質マネジメント カテゴリ副カテゴリ知識領域

1.1 品質の概念1.2 品質マネジメントの概念1.3 ソフトウェアの品質マネジメントの特徴

組織レベルのソフトウェア品質マネジメント2.1 ソフトウェア品質マネジメントシステムの構築と運用2.2 ライフサイクルプロセスのマネジメント2.3 ソフトウェアプロセス改善のマネジメント2.4 検査のマネジメント2.5 監査のマネジメント2.6 教育・育成のマネジメント2.7 法的権利・法的責任のマネジメント

プロジェクトレベル(共通)のソフトウェア品質マネジメント2.8 意思決定のマネジメント2.9 調達のマネジメント2.10 リスクマネジメント2.11 構成管理2.12 プロジェクトマネジメント

プロジェクトレベル(個別)のソフトウェア品質マネジメント2.13 品質計画のマネジメント2.14 要求分析のマネジメント2.15 設計のマネジメント2.16 実装のマネジメント2.17 レビューのマネジメント2.18 テストのマネジメント2.19 品質分析・評価のマネジメント2.20 リリース可否判定2.21運用のマネジメント2.22 保守のマネジメント

工程に共通なソフトウェア品質技術3.1 メトリクス3.2 モデル化の技法3.3 形式手法

3.4 品質計画の技法3.5 要求分析の技法3.6 設計の技法3.7 実装の技法3.8 レビューの技法

3.13 使用性の技法3.14 セーフティの技法3.15 セキュリティの技法

工程に個別なソフトウェア品質技術

3.9 テストの技法3.10 品質分析・評価の技法3.11 運用の技法3.12 保守の技法

専門的品質特性のソフトウェア品質技術

SQuBOK における派生開発に関連するトピックス

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

参考文献 「ソフトウェア品質知識体系ガイド(第2版) -SQuBOK Guide V2- 」 2014

• 構成管理下の構成要素を変更するためのアクティビティ• 変更要求を深く吟味して確実にシステムに反映する• 派生開発との関連:変更要求の管理→要求分析の技法と関係する

p.144 2.11.1 S-KA: 変更管理

31

s

Guide to the Software Quality Body of Knowledge(V2)

1. ソフトウェア品質の基本概念 3. ソフトウェア品質技術2. ソフトウェア品質マネジメント カテゴリ副カテゴリ知識領域

1.1 品質の概念1.2 品質マネジメントの概念1.3 ソフトウェアの品質マネジメントの特徴

組織レベルのソフトウェア品質マネジメント2.1 ソフトウェア品質マネジメントシステムの構築と運用2.2 ライフサイクルプロセスのマネジメント2.3 ソフトウェアプロセス改善のマネジメント2.4 検査のマネジメント2.5 監査のマネジメント2.6 教育・育成のマネジメント2.7 法的権利・法的責任のマネジメント

プロジェクトレベル(共通)のソフトウェア品質マネジメント2.8 意思決定のマネジメント2.9 調達のマネジメント2.10 リスクマネジメント2.11 構成管理2.12 プロジェクトマネジメント

プロジェクトレベル(個別)のソフトウェア品質マネジメント2.13 品質計画のマネジメント2.14 要求分析のマネジメント2.15 設計のマネジメント2.16 実装のマネジメント2.17 レビューのマネジメント2.18 テストのマネジメント2.19 品質分析・評価のマネジメント2.20 リリース可否判定2.21運用のマネジメント2.22 保守のマネジメント

工程に共通なソフトウェア品質技術3.1 メトリクス3.2 モデル化の技法3.3 形式手法

3.4 品質計画の技法3.5 要求分析の技法3.6 設計の技法3.7 実装の技法3.8 レビューの技法

3.13 使用性の技法3.14 セーフティの技法3.15 セキュリティの技法

工程に個別なソフトウェア品質技術

3.9 テストの技法3.10 品質分析・評価の技法3.11 運用の技法3.12 保守の技法

専門的品質特性のソフトウェア品質技術

SQuBOK における派生開発に関連するトピックス

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

参考文献 「ソフトウェア品質知識体系ガイド(第2版) -SQuBOK Guide V2- 」 2014

• 既存のソフトウェアを正しく解析し、効果的かつ効率的に変更・拡張、再利用できるようにする技法• 派生開発との関連:既存ソフトウェアの変更や拡張、再利用などにおける技法→まさに派生開発で必要な技法

p.3463.12 KA: 保守の技法

32

SQuBOK における派生開発に関する記述 まとめ■SQuBOK における派生開発   XDDP 、 USDM をはじめ、それに関連して保守、  変更管理に関するトピックスも扱われている■XDDP について  「機能追加」と「変更」で異なるプロセスをとる  →「部分理解」に対応するため、プロセスを最適化■XDDP 、 USDM 以外の関連トピックスについて   XDDP 、 USDM の他にも、派生開発に関連する  トピックスを合わせて学習すると理解が深まる

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

33

おわりに( SQuBOK 駆動品質改善)SQuBOK を起点に、ソフトウェア品質を改善していこう

SQuBOK を読む

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

34

SQuBOK を読む興味のある分野について深める

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

おわりに( SQuBOK 駆動品質改善)SQuBOK を起点に、ソフトウェア品質を改善していこう

35

得られた知識をもとに実践する

SQuBOK を読む興味のある分野について深める

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

おわりに( SQuBOK 駆動品質改善)SQuBOK を起点に、ソフトウェア品質を改善していこう

36

得られた知識をもとに実践する

SQuBOK を読む興味のある分野について深める

さらに勉強したい分野を見つける2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

おわりに( SQuBOK 駆動品質改善)SQuBOK を起点に、ソフトウェア品質を改善していこう

37 2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

SQuBOK を読む

興味のある分野について深める

得られた知識をもとに実践する

さらに勉強したい分野を見つける

おわりに( SQuBOK 駆動品質改善)SQuBOK を起点に、ソフトウェア品質を改善していこう

38

ご参考 . USDM ( SQuBOK ベースでの概要)3.5.3.2 T: USDM (要求仕様記述法)として紹介USDM の目的、 USDM を使って要求仕様書を作成する主な手順、その効果と留意点について解説顧客の要求を実現する仕様を抜け漏れなく抽出し、顧客と設計者の間での仕様の解釈、認識違いによる問題を回避

参考文献「要求を仕様化する技術・表現する技術ー仕様が書けていますか?」第2版 技術評論社  2010

関連文献「派生開発」を成功させるプロセス改善の技術と極意 技術評論社 2007

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

39

ご参考 . USDM ( SQuBOK ベースでの概要)要求の抽出

要求の仕様化

・振る舞いとして記述・要求の理由を記述・要求を理解してもらうための説明を記述・要求の動詞表現に着目して、要求を満たす 具体的な仕様を抽出・具体的な制約、処理内容、選択肢を 仕様として記述

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

40

ご参考:関連トピックス(1)p.54   1.3.2.2 T: モデル化

開発対象の構造や振る舞いにかかわる複雑さを軽減することで、開発の効率を改善し、保守や管理を容易にする

• 運動方程式などで表現する数理モデル定量的表現によるモデル

• フローチャート、ブロック図などで表現される図式モデル• シミュレーション言語などで表現されるシミュレーションモデル

定性的なモデル

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

41

ご参考:関連トピックス(2)p.99   2.2.3.6 T: プロダクトライン開発

・多品種製品向けのソフトウェア開発技法・複数製品における共通のコア資産を構築し、そのコア資産から各製品を導出する

• 製品群を横断したソフトウェア再利用が可能になるソフトウェア再利用の観点

• 保守性向上技術ととらえられる• フィーチャーとソフトウェアの対応付けによる解析性向上• 可変性メカニズムの導入による変更性の向上

品質特性の観点

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

42

ご参考:関連トピックス(3)p.144   2.11.1 S-KA: 変更管理

 提案された変更要求を深く吟味し、確実にシステムへ反映するまでの管理を行う

• 変更要求に関して、適切なステークホルダーに承認を得る変更要求をコントロールする

• 変更に対するトレーサビリティを管理する要求の変更を正しく反映する

• 表面上は小さな変更であっても、内部は複雑に入り組んでいることがある影響分析を実施する

2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発

43

ご参考:関連トピックス(4)p.346   3.12 KA: 保守の技法

 既存のソフトウェアを正しく解析し、効果的かつ効率的に変更・拡張、再利用できるようにする技法• UML の各図やツールを用いて、プログラムの依存関係を解析プログラム理解

• システムを新しい形に再構築するリエンジニアリング

• 対象のシステムを分解、分析するリバースエンジニアリング

• コードクローンの検出、可視化コードクローン分析2015/8/12SQuBOK 読破会活動紹介と SQuBOK における派生開発