SlideShare a Scribd company logo
1 of 31
Detecting Defects in Object Oriented Designs: Using Reading Techniques to Increase Software Quality 2006 年 7 月 20 日 紹介者: 佐藤匡剛 [email_address] OOPSLA ’99 Guilherme H. Travassos, Forrest Shull, Michael Fredericks, Victor R. Basili
論文要旨 ,[object Object],[object Object],[object Object],[object Object],[object Object]
もくじ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
1. 導入 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ソフトウェア査読手法( software reading techniques, SRTs )  [Shull ら ] ,[object Object],[object Object],[object Object],[object Object],[object Object],余計な情報( extraneous information ) 誤り( incorrect ) 矛盾( inconsistent ) 曖昧さ( ambiguous ) 抜け落ち( omitted )
高レベルのOO設計とは ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2. OO設計の基本モデル
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
UML ,[object Object],[object Object],[object Object]
本論での前提 ,[object Object],[object Object],[object Object],[object Object],[object Object]
3. OO設計向けに直した査読手法 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
査読手法構築のための2つのモデル ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
欠陥の分類体系 ,[object Object],[object Object],必要のない情報が含まれていること 余計な情報 Extraneous Information 開発成果物の情報が、開発者に複数の解釈を許してしまうような状況のこと 曖昧さ Ambiguity 開発成果物の一部の情報が、開発成果物の別の情報と矛盾していること 矛盾 Inconsistency 開発成果物の情報が、要求定義書や一般の専門知識に反していること 誤った事実 Incorrect Fact システムに必要な情報が、開発成果物の中から抜け落ちていること 抜け落ち Omission 説明 欠陥
欠陥の種類とその発生場所
利用モデル: 2つの査読プロセス ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
OO設計のための査読手法 *  :  本実験に使用 : 1 査読手法
査読手法の一例  (初版) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4. 実証的研究 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
実験の流れ チーム毎にシステムの要求定義書を読む OO 設計書を個人で査読する (チーム内で、水平/垂直読みの担当を分ける) 個人で得られた欠陥リストを持ち寄り、チームで 査読する
実験に使われた設計のサイズ WMC  = Weighted Methods/Class DIT  = Depth of Inheritance NOC  = Number of Children CBO  = Coupling Between Objects
実験の評価方法 ,[object Object],Table 4:  計測内容の一部 i)  手法は実用的だったか、また使いたいと思うか(自由回答) h)  どれだけ厳密に手法に従ったか(自由回答、補助的目的) 実験後インタビュー g)  それぞれの読み方の有効性(自由回答) f)  かかった時間(分) チームミーティング後 e)  報告された欠陥の数と種類 d)  どれだけ厳密に手法に従ったか( 3 段階) c)  手法の有効性に関する意見(欠陥の何 % を発見できたと思うか) b)  査読にかかった時間(分) 被験者個人による査読後 a)  被験者の要求、設計、実装に関する経験 実験前 測定内容 測定時期
実験結果 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
実験結果(つづき) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
実験結果(つづき) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
実験で判明した改善点 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
5. 継続中の作業 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
継続中の作業(つづき) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
継続中の作業(つづき) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
6. 結論 ,[object Object],[object Object],[object Object],[object Object]
結論(つづき) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
査読手法( OORTs )の完全版  (第 3.0 版) ,[object Object],[object Object],[object Object],[object Object],[object Object]

More Related Content

Similar to "Detecting Defects in Object Oriented Designs: Using Reading Techniques to Increase Software Quality" 紹介

JOSS2021_E7_FAIRなデータキュレーションの実践_FAIR_Evaluation.pptx
JOSS2021_E7_FAIRなデータキュレーションの実践_FAIR_Evaluation.pptxJOSS2021_E7_FAIRなデータキュレーションの実践_FAIR_Evaluation.pptx
JOSS2021_E7_FAIRなデータキュレーションの実践_FAIR_Evaluation.pptxTomoeNOBUSADA
 
AgileTourOsaka2011 関係者に理解してもらえるアジャイル開発にむけて
AgileTourOsaka2011 関係者に理解してもらえるアジャイル開発にむけてAgileTourOsaka2011 関係者に理解してもらえるアジャイル開発にむけて
AgileTourOsaka2011 関係者に理解してもらえるアジャイル開発にむけてShuji Morisaki
 
20130213勉強会_文献レビュー (1)
20130213勉強会_文献レビュー (1)20130213勉強会_文献レビュー (1)
20130213勉強会_文献レビュー (1)Satoko Yamashita
 
altmetrics - measuring research impact on the web
altmetrics - measuring research impact on the webaltmetrics - measuring research impact on the web
altmetrics - measuring research impact on the webKeita Bando
 
Altmetrics presentation mla'14 japanese version: オルトメトリックスとその他の研究影響度の指 標 はどう違...
Altmetrics presentation mla'14 japanese version: オルトメトリックスとその他の研究影響度の指 標 はどう違...Altmetrics presentation mla'14 japanese version: オルトメトリックスとその他の研究影響度の指 標 はどう違...
Altmetrics presentation mla'14 japanese version: オルトメトリックスとその他の研究影響度の指 標 はどう違...Lilian Takahashi Hoffecker
 
共通語彙の構築の基本的な考え方と方法 〜研究データのために語彙・スキーマを作るには〜
共通語彙の構築の基本的な考え方と方法 〜研究データのために語彙・スキーマを作るには〜共通語彙の構築の基本的な考え方と方法 〜研究データのために語彙・スキーマを作るには〜
共通語彙の構築の基本的な考え方と方法 〜研究データのために語彙・スキーマを作るには〜National Institute of Informatics (NII)
 
20170223 srws第八回 sof、grade、prospero登録
20170223 srws第八回 sof、grade、prospero登録20170223 srws第八回 sof、grade、prospero登録
20170223 srws第八回 sof、grade、prospero登録SR WS
 
20170223 srws第八回 sof、grade、prospero登録
20170223 srws第八回 sof、grade、prospero登録20170223 srws第八回 sof、grade、prospero登録
20170223 srws第八回 sof、grade、prospero登録SR WS
 
2012年度中鉢PBLシラバス
2012年度中鉢PBLシラバス2012年度中鉢PBLシラバス
2012年度中鉢PBLシラバスYoshihide Chubachi
 
Padocview anonimous2
Padocview anonimous2Padocview anonimous2
Padocview anonimous2Masato Nakai
 
AJ2010_20100409_maegawasensei
AJ2010_20100409_maegawasenseiAJ2010_20100409_maegawasensei
AJ2010_20100409_maegawasenseiAkiko Kosaka
 
2011 icse-improving requirements quality using essential use case interaction...
2011 icse-improving requirements quality using essential use case interaction...2011 icse-improving requirements quality using essential use case interaction...
2011 icse-improving requirements quality using essential use case interaction...n-yuki
 
正確性・連続性に関する考察 openEHRにおけるProblemの扱いの調査を通して
正確性・連続性に関する考察 openEHRにおけるProblemの扱いの調査を通して正確性・連続性に関する考察 openEHRにおけるProblemの扱いの調査を通して
正確性・連続性に関する考察 openEHRにおけるProblemの扱いの調査を通してEizen Kimura
 
201708 srws第八回 grade、prospero登録、PRISMA
201708 srws第八回 grade、prospero登録、PRISMA201708 srws第八回 grade、prospero登録、PRISMA
201708 srws第八回 grade、prospero登録、PRISMASR WS
 
201708 srws第八回 sof、grade、prospero登録
201708 srws第八回 sof、grade、prospero登録201708 srws第八回 sof、grade、prospero登録
201708 srws第八回 sof、grade、prospero登録SR WS
 
SQuaRE に基づくソフトウェア品質評価枠組みと品質実態調査
SQuaRE に基づくソフトウェア品質評価枠組みと品質実態調査SQuaRE に基づくソフトウェア品質評価枠組みと品質実態調査
SQuaRE に基づくソフトウェア品質評価枠組みと品質実態調査Hironori Washizaki
 
SQuaREに基づくソフトウェア品質評価枠組みと品質実態調査
SQuaREに基づくソフトウェア品質評価枠組みと品質実態調査SQuaREに基づくソフトウェア品質評価枠組みと品質実態調査
SQuaREに基づくソフトウェア品質評価枠組みと品質実態調査Hironori Washizaki
 
MAごころを、君に - GA4勉強会 #6 GA4の探索を
MAごころを、君に - GA4勉強会 #6 GA4の探索をMAごころを、君に - GA4勉強会 #6 GA4の探索を
MAごころを、君に - GA4勉強会 #6 GA4の探索をWebpla LLC.
 

Similar to "Detecting Defects in Object Oriented Designs: Using Reading Techniques to Increase Software Quality" 紹介 (20)

JOSS2021_E7_FAIRなデータキュレーションの実践_FAIR_Evaluation.pptx
JOSS2021_E7_FAIRなデータキュレーションの実践_FAIR_Evaluation.pptxJOSS2021_E7_FAIRなデータキュレーションの実践_FAIR_Evaluation.pptx
JOSS2021_E7_FAIRなデータキュレーションの実践_FAIR_Evaluation.pptx
 
AgileTourOsaka2011 関係者に理解してもらえるアジャイル開発にむけて
AgileTourOsaka2011 関係者に理解してもらえるアジャイル開発にむけてAgileTourOsaka2011 関係者に理解してもらえるアジャイル開発にむけて
AgileTourOsaka2011 関係者に理解してもらえるアジャイル開発にむけて
 
20130213勉強会_文献レビュー (1)
20130213勉強会_文献レビュー (1)20130213勉強会_文献レビュー (1)
20130213勉強会_文献レビュー (1)
 
altmetrics - measuring research impact on the web
altmetrics - measuring research impact on the webaltmetrics - measuring research impact on the web
altmetrics - measuring research impact on the web
 
Altmetrics presentation mla'14 japanese version: オルトメトリックスとその他の研究影響度の指 標 はどう違...
Altmetrics presentation mla'14 japanese version: オルトメトリックスとその他の研究影響度の指 標 はどう違...Altmetrics presentation mla'14 japanese version: オルトメトリックスとその他の研究影響度の指 標 はどう違...
Altmetrics presentation mla'14 japanese version: オルトメトリックスとその他の研究影響度の指 標 はどう違...
 
共通語彙の構築の基本的な考え方と方法 〜研究データのために語彙・スキーマを作るには〜
共通語彙の構築の基本的な考え方と方法 〜研究データのために語彙・スキーマを作るには〜共通語彙の構築の基本的な考え方と方法 〜研究データのために語彙・スキーマを作るには〜
共通語彙の構築の基本的な考え方と方法 〜研究データのために語彙・スキーマを作るには〜
 
20170223 srws第八回 sof、grade、prospero登録
20170223 srws第八回 sof、grade、prospero登録20170223 srws第八回 sof、grade、prospero登録
20170223 srws第八回 sof、grade、prospero登録
 
20170223 srws第八回 sof、grade、prospero登録
20170223 srws第八回 sof、grade、prospero登録20170223 srws第八回 sof、grade、prospero登録
20170223 srws第八回 sof、grade、prospero登録
 
2012年度中鉢PBLシラバス
2012年度中鉢PBLシラバス2012年度中鉢PBLシラバス
2012年度中鉢PBLシラバス
 
Padocview anonimous2
Padocview anonimous2Padocview anonimous2
Padocview anonimous2
 
AJ2010_20100409_maegawasensei
AJ2010_20100409_maegawasenseiAJ2010_20100409_maegawasensei
AJ2010_20100409_maegawasensei
 
2011 icse-improving requirements quality using essential use case interaction...
2011 icse-improving requirements quality using essential use case interaction...2011 icse-improving requirements quality using essential use case interaction...
2011 icse-improving requirements quality using essential use case interaction...
 
Xp2 2014版
Xp2 2014版Xp2 2014版
Xp2 2014版
 
正確性・連続性に関する考察 openEHRにおけるProblemの扱いの調査を通して
正確性・連続性に関する考察 openEHRにおけるProblemの扱いの調査を通して正確性・連続性に関する考察 openEHRにおけるProblemの扱いの調査を通して
正確性・連続性に関する考察 openEHRにおけるProblemの扱いの調査を通して
 
20050809
2005080920050809
20050809
 
201708 srws第八回 grade、prospero登録、PRISMA
201708 srws第八回 grade、prospero登録、PRISMA201708 srws第八回 grade、prospero登録、PRISMA
201708 srws第八回 grade、prospero登録、PRISMA
 
201708 srws第八回 sof、grade、prospero登録
201708 srws第八回 sof、grade、prospero登録201708 srws第八回 sof、grade、prospero登録
201708 srws第八回 sof、grade、prospero登録
 
SQuaRE に基づくソフトウェア品質評価枠組みと品質実態調査
SQuaRE に基づくソフトウェア品質評価枠組みと品質実態調査SQuaRE に基づくソフトウェア品質評価枠組みと品質実態調査
SQuaRE に基づくソフトウェア品質評価枠組みと品質実態調査
 
SQuaREに基づくソフトウェア品質評価枠組みと品質実態調査
SQuaREに基づくソフトウェア品質評価枠組みと品質実態調査SQuaREに基づくソフトウェア品質評価枠組みと品質実態調査
SQuaREに基づくソフトウェア品質評価枠組みと品質実態調査
 
MAごころを、君に - GA4勉強会 #6 GA4の探索を
MAごころを、君に - GA4勉強会 #6 GA4の探索をMAごころを、君に - GA4勉強会 #6 GA4の探索を
MAごころを、君に - GA4勉強会 #6 GA4の探索を
 

More from Tadayoshi Sato

Red Hat Tech Night 2019.5 - Camel 3 and Beyond...
Red Hat Tech Night 2019.5 - Camel 3 and Beyond...Red Hat Tech Night 2019.5 - Camel 3 and Beyond...
Red Hat Tech Night 2019.5 - Camel 3 and Beyond...Tadayoshi Sato
 
Red Hat Tech Night 2018 - Apache Camel
Red Hat Tech Night 2018 - Apache CamelRed Hat Tech Night 2018 - Apache Camel
Red Hat Tech Night 2018 - Apache CamelTadayoshi Sato
 
Camel on Cloud by Christina Lin
Camel on Cloud by Christina LinCamel on Cloud by Christina Lin
Camel on Cloud by Christina LinTadayoshi Sato
 
Red Hat の日本でできるグローバルな働き方
Red Hat の日本でできるグローバルな働き方Red Hat の日本でできるグローバルな働き方
Red Hat の日本でできるグローバルな働き方Tadayoshi Sato
 
JJBUG 2013 - SwitchYard
JJBUG 2013 - SwitchYardJJBUG 2013 - SwitchYard
JJBUG 2013 - SwitchYardTadayoshi Sato
 
ビジネスロジック実装進化論 - An Evolution of Business Logic Implementation
ビジネスロジック実装進化論 - An Evolution of Business Logic Implementationビジネスロジック実装進化論 - An Evolution of Business Logic Implementation
ビジネスロジック実装進化論 - An Evolution of Business Logic ImplementationTadayoshi Sato
 
ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計Tadayoshi Sato
 
"Problem Frame Patterns" 紹介
"Problem Frame Patterns" 紹介"Problem Frame Patterns" 紹介
"Problem Frame Patterns" 紹介Tadayoshi Sato
 
"Documenting Frameworks using Patterns" 紹介
"Documenting Frameworks using Patterns" 紹介"Documenting Frameworks using Patterns" 紹介
"Documenting Frameworks using Patterns" 紹介Tadayoshi Sato
 
"Formalizing Architectural Connection" 紹介
"Formalizing Architectural Connection" 紹介"Formalizing Architectural Connection" 紹介
"Formalizing Architectural Connection" 紹介Tadayoshi Sato
 

More from Tadayoshi Sato (10)

Red Hat Tech Night 2019.5 - Camel 3 and Beyond...
Red Hat Tech Night 2019.5 - Camel 3 and Beyond...Red Hat Tech Night 2019.5 - Camel 3 and Beyond...
Red Hat Tech Night 2019.5 - Camel 3 and Beyond...
 
Red Hat Tech Night 2018 - Apache Camel
Red Hat Tech Night 2018 - Apache CamelRed Hat Tech Night 2018 - Apache Camel
Red Hat Tech Night 2018 - Apache Camel
 
Camel on Cloud by Christina Lin
Camel on Cloud by Christina LinCamel on Cloud by Christina Lin
Camel on Cloud by Christina Lin
 
Red Hat の日本でできるグローバルな働き方
Red Hat の日本でできるグローバルな働き方Red Hat の日本でできるグローバルな働き方
Red Hat の日本でできるグローバルな働き方
 
JJBUG 2013 - SwitchYard
JJBUG 2013 - SwitchYardJJBUG 2013 - SwitchYard
JJBUG 2013 - SwitchYard
 
ビジネスロジック実装進化論 - An Evolution of Business Logic Implementation
ビジネスロジック実装進化論 - An Evolution of Business Logic Implementationビジネスロジック実装進化論 - An Evolution of Business Logic Implementation
ビジネスロジック実装進化論 - An Evolution of Business Logic Implementation
 
ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計
 
"Problem Frame Patterns" 紹介
"Problem Frame Patterns" 紹介"Problem Frame Patterns" 紹介
"Problem Frame Patterns" 紹介
 
"Documenting Frameworks using Patterns" 紹介
"Documenting Frameworks using Patterns" 紹介"Documenting Frameworks using Patterns" 紹介
"Documenting Frameworks using Patterns" 紹介
 
"Formalizing Architectural Connection" 紹介
"Formalizing Architectural Connection" 紹介"Formalizing Architectural Connection" 紹介
"Formalizing Architectural Connection" 紹介
 

"Detecting Defects in Object Oriented Designs: Using Reading Techniques to Increase Software Quality" 紹介