Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SQuBOK_Chap3
Search
リリカル
May 22, 2018
Technology
0
87
SQuBOK_Chap3
SQuBOK V2の3章まとめです。(3.1〜3.3)
リリカル
May 22, 2018
Tweet
Share
More Decks by リリカル
See All by リリカル
テスト設計、逆から読むとおもしろい──仕様にない“望ましさ”の逆設計
mhlyc
0
130
Foundation Level シラバス1章まとめ
mhlyc
0
130
Other Decks in Technology
See All in Technology
MagicPod MCPサーバー開発の裏側とAIエージェント活用の展望
magicpod
0
300
20250514 1Passwordを使い倒す道場 vol.1
east_takumi
0
160
Tailwind CSS の小話「コンテナークエリーって便利」
yamaday
0
150
計測による継続的なCI/CDの改善
sansantech
PRO
7
2.2k
インラインRBSコメントに鯛pe checkersもニッコリ
sansantech
PRO
1
190
Microsoft Fabric のライセンスについて
ryomaru0825
2
3.5k
PCNW20250514(情シスはAIとどう向き合う?事例から学ぶ活用法)
suguru0719
0
100
Google Cloud Next 2025 Recap マーケティング施策の運用及び開発を支援するAIの活用 / Use of AI to support operation and development of marketing campaign
atsushiyoshikawa
0
380
Coding Agentに値札を付けろ
watany
3
590
とあるEdTechベンチャーのシステム構成こだわりN選 / edtech-system
gotok365
5
370
SONiCで構築・運用する生成AI向けパブリッククラウドネットワーク
sonic
1
460
"発信文化"をどうやって計測する?技術広報のKPI探索記/How do we measure communication culture?
bitkey
4
350
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
137
33k
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
RailsConf 2023
tenderlove
30
1.1k
The Cost Of JavaScript in 2023
addyosmani
49
7.9k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.7k
Designing Experiences People Love
moore
142
24k
Rails Girls Zürich Keynote
gr2m
94
13k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
14
1.5k
Transcript
SQuBOK V2読破会 まとめスライド p.196 〜 p.221 3.1 KA: メトリクス 〜 3.3 KA: 形式⼿法
藤沢 耕助
アジェンダ(1) 3.1 KA: メトリクス 3.1.1 S-KA: 測定理論 3.1.2 S-KA: プロダクトメトリクス
3.1.3 S-KA: プロセスメトリクス SQuBOK V2復習会 2
アジェンダ(2) 3.2 KA:モデル化の技法 3.2.1 S-KA: 離散系のモデル化技法 3.2.2 S-KA: 連続系のモデル化技法 3.2.3
S-KA: ドメイン特化⾔語 SQuBOK V2復習会 3
アジェンダ(3) 3.3 KA: 形式⼿法 3.3.1 S-KA: 形式仕様記述の技法 3.3.2 S-KA: 形式検証の技法
SQuBOK V2復習会 4
3.1 KA: メトリクスの とてもざっくりした解説 • メトリクスにはプロセスメトリクスとプ ロダクトメトリクスがある • どのようなメトリクスを⽤いるかは、何 を⽬的にして、どのような⽬標を設定す
るかによる SQuBOK V2復習会 5
3.2 KA: モデル化の技法の とてもざっくりした解説 • モデル化の技法はソフトウェア開発に限 らず、システム開発全般にわたって適⽤ される • 離散系のモデル化と連続系のモデル化が
ある • ドメイン特化⾔語はさらに特定の分野、 ⽬的に限定したモデル化の技法 SQuBOK V2復習会 6
3.3 KA: 形式⼿法の とてもざっくりした解説 • 形式⼿法とは、数理論理学に基づいて仕 様記述や検証を⾏うアプローチ⽅法の総 称のこと • 仕様や設計においても、⽂法及び意味論
が厳密に定まった⾔語を活⽤する • 属⼈性の低い系統的⽅法で効率的な品質 保証が可能になる SQuBOK V2復習会 7
3.1 KA: メトリクス 3.1 KA: メトリクス 3.1.1 S-KA: 測定理論 3.1.2
S-KA: プロダクトメトリクス 3.1.3 S-KA: プロセスメトリクス SQuBOK V2復習会 8
3.1 KA: メトリクス 3.1.1 S-KA: 測定理論 • メトリクス測定における測定理論 – 尺度(名義尺度、順序尺度、間隔尺度、⽐率 尺度)
– GQM • 参考になりそうなスライド – https://www.slideshare.net/kauji0522/ ss-84328430 SQuBOK V2復習会 9
SQuBOK V2復習会 10 プロダクト メトリクス 品質 メトリクス 内部メトリクス 外部メトリクス 利⽤時の
品質メトリクス 規模 メトリクス 品質特性・品質副特性と 対応づけられている 3.1 KA: メトリクス 3.1.2 S-KA: プロダクトメトリクス
3.1 KA: メトリクス 3.1.2 S-KA: プロダクトメトリクス • 内部メトリクス: ソフトウェアの内部を⾒て初めて分かる属性 のメトリクス
• 仕様書やソースコードなどの中間⽣産物の測 定に適⽤する • ⽬的: 開発の早い段階において、ソフトウェア製品 に対する品質の測定、評価を可能にして、外 部品質および利⽤時の品質が達成されるよう な評価材料を得る SQuBOK V2復習会 11
3.1 KA: メトリクス 3.1.2 S-KA: プロダクトメトリクス • 外部メトリクス: 外部の視点から⾒たソフトウェア製品の特性 を測定するためのメトリクス
• ソフトウェアまたはシステムを実際に実⾏、 操作、観察することによって測定する • ⽬的: ソフトウェア製品品質の測定、評価を可能に して、品質が達成できるようにする SQuBOK V2復習会 12
3.1 KA: メトリクス 3.1.2 S-KA: プロダクトメトリクス • 利⽤時の品質メトリクス: 「特定の利⽤者が特定の利⽤状況において、有効性、効率性、 リスク回避性および満⾜性に関して特定の⽬標を達成するた
めのニーズを満たすために、製品またはシステムを利⽤でき る度合い」 • 要するに: 利⽤者のニーズに対する達成度合い • ⽬的: 利⽤者の必要性を製品が満たしている程度の 測定、評価を可能にする SQuBOK V2復習会 13
3.1 KA: メトリクス 3.1.2 S-KA: プロダクトメトリクス • その他 – 複雑度のメトリクス – LOC(ソースコード⾏数)
– ファンクションポイント SQuBOK V2復習会 14
3.1 KA: メトリクス 3.1.3 S-KA: プロセスメトリクス • プロセスメトリクス: 開発プロセスの主に品質に関わる属性を 測定する⽅法の集合
• プロセスの効率性や⽣産性、安定性など は、出⼒として得られるソフトウェア製 品の品質に⼤きな影響を及ぼす • プロセスメトリクスからプロダクトの品 質をある程度予測することができる SQuBOK V2復習会 15
3.1 KA: メトリクス 3.1.3 S-KA: プロセスメトリクス • 注意点 – プロセスはプロジェクトや組織、問題領域、 環境などに強く依存し、多様であるため、プ
ロセス品質がプロダクト品質に与える影響を 表す⼀般化した⽅式は存在しない – 組織やプロジェクトごとに過去の実績データ と継続的につき合わせることでプロセス品質 とプロダクト品質の関係を明らかにしていく 必要がある SQuBOK V2復習会 16
3.2 KA:モデル化の技法 3.2 KA:モデル化の技法 3.2.1 S-KA: 離散系のモデル化技法 3.2.2 S-KA: 連続系のモデル化技法
3.2.3 S-KA: ドメイン特化⾔語 SQuBOK V2復習会 17
3.2 KA: モデル化の技法 3.2.1 S-KA: 離散系のモデル化技法 • 離散系のモデル化技法: 対象の振る舞いを、離散的な⼀つ⼀つの事象(イ ベント)やそれに伴う状態の連なりとしてモデル
化する技法 • ⽬的: – 注⽬する個々の側⾯に絞って関係者間の意思疎通を 測りながら対象の分析や設計を進めることができ、 機能性や保守性、移植性の作り込みや確認がしやす くなる – 最終的なコードを得る前の段階で信頼性や効率性を ある程度確認できる SQuBOK V2復習会 18
3.2 KA: モデル化の技法 3.2.1 S-KA: 離散系のモデル化技法 • UML: • 参考:
https://qiita.com/asksaito/items/59591fa3b85cf42771bf • https://www.ogis-ri.co.jp/otc/hiroba/UMLTutorial/ analysis/do_work/dowork1_1.html SQuBOK V2復習会 19
3.2 KA: モデル化の技法 3.2.1 S-KA: 離散系のモデル化技法 • SysML: • 参考:
https://www.ogis-ri.co.jp/otc/hiroba/technical/SysEngSysML/ SysEngSysML3.html SQuBOK V2復習会 20
3.2 KA: モデル化の技法 3.2.1 S-KA: 離散系のモデル化技法 • 構造化チャート(PAD): • 参考:http://ajt.pupu.jp/WorkaPlayer/?p=37
SQuBOK V2復習会 21
3.2 KA: モデル化の技法 3.2.2 S-KA: 連続系のモデル化技法 • 連続系のモデル化技法:対象の振る舞いにつ いて連続的な変化をモデルとして表現し、モ デルの検証やシミュレーション解析を通じて
注⽬する性質を明らかにする技法 • ⽬的:⾞両制御開発や航空機制御開発などコ スト⾯や安全⾯から実験にリスクを伴うもの に対して、連続系モデルを⽤いてシミュレー ション解析を⾏う SQuBOK V2復習会 22
3.2 KA: モデル化の技法 3.2.2 S-KA: 連続系のモデル化技法 • 連続系のモデル化やシミュレーション解析に 対応したツールとして代表的なもの –
LabVIEW – MATLAB – Modelica • 連続系のモデル化およびそれをサポートした ツールを利⽤した開発形態:MBD(Model- Based Development) • MDD(Model-Driven Development):離散系 SQuBOK V2復習会 23
3.2 KA: モデル化の技法 3.2.3 S-KA: ドメイン特化⾔語 • ドメイン特化⾔語: ある特定の問題領域(ドメイン)を記述する ために開発されたプログラム⾔語や、仕様記
述⾔語およびその処理環境の総称 • その形態は、テキスト形式や図形式など様々 • ⽬的: UMLなどの表現の⾃由度が⾼い汎⽤⾔語で記 述されるモデルで起こりがちな品質のばらつ きを抑える、記述⼯数を削減する SQuBOK V2復習会 24
3.2 KA: モデル化の技法 3.2.3 S-KA: ドメイン特化⾔語 • DSLの定義をサポートする代表的なツール – GME(Generic Modeling
Environment) – GMF(graphical Modeling Framework) – LISA(Language Implementation System Based on Attribute Grammars) – MetaEdit+ – The Meta-Environment – Microsoft DSL tools SQuBOK V2復習会 25
3.3 KA: 形式⼿法 3.3 KA: 形式⼿法 3.3.1 S-KA: 形式仕様記述の技法 3.3.2
S-KA: 形式検証の技法 SQuBOK V2復習会 26
3.3 KA: 形式⼿法 3.3.1 S-KA: 形式仕様記述の技法 • 形式仕様記述の技法とは: 形式⼿法のうち、要求仕様や設計を厳密 に記述し、系統的な⽅法で⼀定の品質保
証を⽬指す技法のこと • ⽬的:曖昧さ、不正確さの排除、障害の 検出、処理の⾃動化→品質向上と効率化 SQuBOK V2復習会 27
3.3 KA: 形式⼿法 3.3.1 S-KA: 形式仕様記述の技法 • 形式⾔語で記述された内容に対する検証 や分析の例 – 仕様アニメーション・テスト
– モデル発⾒ – 定理証明 – モデル検査 – 段階的詳細化 – 実⾏コードの⽣成 SQuBOK V2復習会 28
3.3 KA: 形式⼿法 3.3.1 S-KA: 形式仕様記述の技法 • 形式仕様記述の技法 – VDM – Event-BおよびBメソッド
– Alloy SQuBOK V2復習会 29
3.3 KA: 形式⼿法 3.3.2 S-KA: 形式検証の技法 • 形式検証の技法とは: 形式⼿法のうち、テストや⼈⼿でのレビュー では達成できないようなケースに対して、検
証すべき性質を与えて検証を⾏い、⾼信頼性 を保証する技法のこと • ⽬的: 特定の状況でのみ顕在化する障害の⾃動検出、 対象範囲において障害が発⽣しないことの 保証 SQuBOK V2復習会 30
3.3 KA: 形式⼿法 3.3.2 S-KA: 形式検証の技法 • 得られたモデルもしくは実⾏コードに対 しては、以下の検証すべき性質も明記 する
– アサーション(表明) – 不変条件、事前条件、事後条件 – 安全性、活性 – メモリーに関する性質 SQuBOK V2復習会 31
3.3 KA: 形式⼿法 3.3.2 S-KA: 形式検証の技法 • モデル検査のツールの例 – SPIN, SMV,
LTSA – UPPAAL(実時間性を含めた状態遷移を扱う) – PRISM(確率的な状態遷移を扱う) – CBMC, Java PathFinder(実⾏コード向けの モデル検査ツール) – Coq, HOL(汎⽤的な証明⽀援ツール) SQuBOK V2復習会 32