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
94
SQuBOK_Chap3
SQuBOK V2の3章まとめです。(3.1〜3.3)
リリカル
May 22, 2018
Tweet
Share
More Decks by リリカル
See All by リリカル
三視点LLMによる複数観点レビュー
mhlyc
0
250
テスト設計、逆から読むとおもしろい──仕様にない“望ましさ”の逆設計
mhlyc
0
340
Foundation Level シラバス1章まとめ
mhlyc
0
130
Other Decks in Technology
See All in Technology
AIエージェントが書くのなら直接CloudFormationを書かせればいいじゃないですか何故AWS CDKを使う必要があるのさ
watany
20
7.7k
低レイヤソフトウェア技術者が YouTuberとして食っていこうとした話
sat
PRO
6
5.7k
Semantic Machine Intelligence for Vision, Language, and Actions
keio_smilab
PRO
2
340
[SRE NEXT 2025] すみずみまで暖かく照らすあなたの太陽でありたい
carnappopper
2
680
MCP とマネージド PaaS で実現する大規模 AI アプリケーションの高速開発
nahokoxxx
1
1k
Talk to Someone At Delta Airlines™️ USA Contact Numbers
travelcarecenter
0
160
AWS Well-Architected から考えるオブザーバビリティの勘所 / Considering the Essentials of Observability from AWS Well-Architected
sms_tech
1
710
ソフトウェアQAがハードウェアの人になったの
mineo_matsuya
3
240
Four Keysから始める信頼性の改善 - SRE NEXT 2025
ozakikota
0
450
BEYOND THE RAG🚀 ~とりあえずRAG?を超えていけ! 本当に使えるAIエージェント&生成AIプロダクトを目指して~ / BEYOND-THE-RAG-Toward Practical-GenerativeAI-Products-AOAI-DevDay-2025
jnymyk
4
170
“日本一のM&A企業”を支える、少人数SREの効率化戦略 / SRE NEXT 2025
genda
1
300
データエンジニアリング 4年前と変わったこと、 4年前と変わらないこと
tanakarian
0
120
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
96
6.1k
Why Our Code Smells
bkeepers
PRO
337
57k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
KATA
mclloyd
30
14k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Bash Introduction
62gerente
613
210k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
The Language of Interfaces
destraynor
158
25k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
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