Contenu connexe
Similaire à WACATE2013冬 知識体系とSEMAT
Similaire à WACATE2013冬 知識体系とSEMAT (20)
Plus de Hironori Washizaki
Plus de Hironori Washizaki (20)
WACATE2013冬 知識体系とSEMAT
- 1. 2013年12月14日 WACATE冬
ソフトウェア品質の知識体系とオ
ープン・クローズ化に向けて
鷲崎 弘宜
早稲田大学 / SEMAT Japan Chapter
Twitter: @Hiro_Washi washizaki@waseda.jp
http://www.washi.cs.waseda.ac.jp/
(参考資料)
I. Jacobsonほか: Tutorial: Essence - Kernel and Language for Software Engineering
Practices, ICSE'13
I. Jacobsonほか: ソフトウェアエンジニアリングのエッセンス: SEMAT カーネル,
http://www.semat.jp/publications
山本 修一郎: SEMATの概要 Business Communication, 2013
http://www.bcm.co.jp/site/youkyu/youkyu103.html
- 9. 50年前 同値分割、カバレッジ
40年前 ディシジョンテーブル、イ
ンスペクション
30年前 直交表、探索
20年前 オブジェクト指向、ペアワ
イズ、自動
10年前 テスト駆動開発、モデル
ベース
現在 コンコリック、ミューテーショ
ン解析、Fault Localization、欠
陥予測、規格、セキュリティ・・・
明日は?
どれも優れているが、我々の求める全てではない!
9
参考 I. Jacobson, et al.: Tutorial: Essence - Kernel and Language for Software Engineering Practices, ICSE'13
- 11. 理論がない「わけではない」
• Boehm: COCOMO
• Parnas: 情報隠蔽
• Constantine: 凝集度、結合度
• Conwayの法則
• Dijkstra: 構造化、Goto文撲滅
• Wirth: ステップワイズリファインメント
• Meyer: 契約による設計
などなど
しかし、いずれも共通基盤ではない
Esse
11
I. Jacobson, et al.: Tutorial: Essence - Kernel and Language for Software Engineering Practices, ICSE'13
nce
- 15. 知識体系 Body Of Knowledge
妥当と認められ
た知識群を整
理・構造化し
た全体
BOK ガイド
知識体系へのガイド
知識領域の大分類
(BOKによっては無し)
知識領域
・・・
専門領域の定
義づけ
カテゴリ
・・・
知識の技術・プロセス
上の分類
トピック
(知識項目)
最小の知識単位
(技術・プロセス知識)
文献
文献
知識の詳細記述・実体
15
- 18. SWEBOK 2004 知識領域(KA: Knowledge Area)
要求
設計
構築
テスティングの基礎
的概念
要求の基礎的概念
設計の基礎的概念
要求エンジニアリン
グプロセス
設計における主要な
構築の基礎的概念
問題
構造とアーキテク
チャ
要求の抽出
要求分析
設計品質の分析評価
構築の管理
要求仕様
要求の妥当性確認
テスティング
設計のための表記
設計戦略および手法 実践上の考慮事項
保守
保守の基礎的概念
テストレベル
保守プロセス
テスト技法
テストに関した計量
尺度
保守における主要な
課題
テストプロセス
保守のための技法
実践上の考慮事項
構成管理
マネジメント
プロセス
SCMプロセスのマネジ
開始と範囲定義
メント
プロセス実現および変
更
構成の識別
プロジェクト計画
プロセス定義
構成制御
ツールおよび手法
品質
プロジェクト実施
構成状態記録および報
レビューおよび評価
告
構成監査
リリース管理および配
布
ツール
プロセスアセスメント
マネジメントプロセス
開発手法
終結
プロセス計量
計量
品質の基礎的概念
実践上の考慮事項
- 19. SWEBOK v3 (2014)
• 全体
– 新設KA: プロフェッショナル実践,経済,計算基礎,
数学基礎,一般基礎
• テストKA
– 拡充: テスト目的(ユーザビリティ・インタラクションテ
スティング、テスト駆動開発)
– 拡充: 入力ドメインに基づく手法(ペアワイズテスティ
ング)
– 新設: モデルベーステスティング手法
– 新設: テスティングツール
• 品質KA
– 拡充: 安全性(セーフティ): セーフティハザードの分析
技法など
– 拡充: 品質ツール
19
- 21. SQuBOKガイド 第2版 樹形図(予定)※
SQuBOK®ガイド
ソフトウェア
品質の基本概念
ソフトウェア品質マネジメント
組織レベル
プロジェクトレベル(共通)の プロジェクトレベル(個別)
のソフトウェア品質マネジメント
ソフトウェア品質マネジメント
ソフトウェア
品質技術
1.1
品質の概念
1.2
品質の
マネジメントの
概念
1.3
ソフトウェアの
品質マネジ
メントの特徴
2.1
2.7
のソフトウェア品質マネジメント
2.16
ソフトウェア品質マネジメ 意思決定のマネジメント 品質計画のマネジメント
ントシステムの構築と運 2.8
2.17
調達マネジメント
用
要求分析のマネジメント
2.2
2.9
2.18
ライフサイクルプロセス リスクマネジメント
のマネジメント
設計のマネジメント
2.10
2.3
2.19
品質管理
プロセスアセスメント・
2.11
実装のマネジメント
プロセス改善のマネジメ
トレーサビリティ管理 2.20
ント
レビューのマネジメント
2.4
2.12
2.21
要求管理
監査のマネジメント
テストのマネジメント
2.5
2.13
2.22
教育・育成のマネジメント 構成管理
品質分析・評価
2.6
2.14
のマネジメント
法的権利・法的責任の
情報・文書管理
マネジメント
2.23
2.15
プロジェクト
マネジメント
リリース可否判定
2.24
運用のマネジメント
2.25
※変更可能性あり
保守のマネジメント
21
- 23. 例: アーキテクチャ方法論(トピック)
(主にソフトウェアに関する)品質要求の獲得から、ア
ーキテクチャを設計し、評価するまでの方法論の総称
• 【目的】 品質要求を満たしたアーキテクチャを獲得
• 【方法】
– 品質要求を明らかに: QAW(Quality Attribute Workshop)
– 品質要求に基づくアーキテクチャ設計: ADD(Attribute
Driven Design)
– アーキテクチャの品質要求満足の分析: ATAM(Architecture
Trade-off Analysis Method)
– アーキテクチャの経済的評価: CBAM(Cost Benefit Analysis
Method)
• 【効果】 品質要求の不備を避けて・・・
• 【参考文献】 『実践ソフトウェアアーキテクチャ』
• 【関連トピック】 アーキテクチャパターン,・・・ 23
- 38. アルファ: Aspiration Led Progress and Health Attribute
Ivar Jacobson, et al.著, ソフトウェアエンジニアリングのエッセンス: SEMAT カーネル, http://www.semat.jp/publications
- 45. 行き方の決定、かんばん
目的
To Do
Doing
Done
タスク 1
タスク 2 テスト環境セットアップ
タスク 3 要求項目Aの完了
タスク4
要求項目Bの完了
タスク 5 要求項目Cの完了
タスク 7
タスク 8
タスク 9
より多くの要求項目
の完了
タスク 6
I. Jacobson, et al.: Tutorial: Essence - Kernel and Language for Software Engineering Practices, ICSE'13
- 46. カーネルの特徴と留意
• ソフトウェア「以外」の事柄も大切
• 状態指向(NOT プロセス指向)
• 留意: プラクティス・手法定義の難しさ、状態遷
移の現実、ソフトウェア開発以外への応用
原則
SEMATカーネル
従来
アクション可能
アルファで活動の進行状態と 文書などの成果
健全性把握
物
拡張可能
アルファ追加やプラクティス
定義可、様々な開発に適用
実践的
あらゆる担当者を支援、カー プロセス・品質エ
ド
ンジニアの支援
方法論の総取り
替え
山本 修一郎, SEMATの概要, Business Communication, 2013 http://www.bcm.co.jp/site/youkyu/youkyu103.html
Ivar Jacobson, et al.著, ソフトウェアエンジニアリングのエッセンス: SEMAT カーネル, http://www.semat.jp/publications
46