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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
リリカル
May 22, 2018
Technology
120
0
Share
SQuBOK_Chap3
SQuBOK V2の3章まとめです。(3.1〜3.3)
リリカル
May 22, 2018
More Decks by リリカル
See All by リリカル
関係性が駆動するアジャイル──GPTに人格を与えたら、対話を通してふりかえりを習慣化できた話
mhlyc
0
210
三視点LLMによる複数観点レビュー
mhlyc
0
480
テスト設計、逆から読むとおもしろい──仕様にない“望ましさ”の逆設計
mhlyc
0
480
Foundation Level シラバス1章まとめ
mhlyc
0
150
Other Decks in Technology
See All in Technology
サイボウズ、プラットフォームエンジニアリング始めるってよ ― プラットフォームチームの事業貢献と組織アラインメントの強化
ueokande
0
100
セキュリティ対策、何からはじめる? CloudNative環境の脅威モデリングと リスク評価実践入門 #cloudnativekaigi
varu3
5
780
「背中を見て育て」からの卒業 〜専門技術としてのテスト設計を軸に、品質保証のバトンを繋ぐ〜 #genda_tech_talk
nihonbuson
PRO
3
1.2k
「QA=テスト」「シフトレフト=スクラムイベントの参加者の一員」の呪縛を解く。アジャイルな開発を止めないために、10Xで挑んだ「右側のしわ寄せ」解消記 #scrumniigata
nihonbuson
PRO
5
1k
クラウドネイティブ DB はいかにして制約を 克服したか? 〜進化歴史から紐解く、スケーラブルアーキテクチャ設計指針〜
hacomono
PRO
6
900
「強制アップデート」か「チームの自律」か?エンタープライズが辿り着いたプラットフォームのハイブリッド運用/cloudnative-kaigi-hybrid-platform-operations
mhrtech
0
180
PdM・Eng・QAで進めるAI駆動開発の現在地/aidd-with-pdm-eng-qa
shota_kusaba
0
200
全社統制を維持しながら現場負担をどう減らすか〜プラットフォームチームとセキュリティチームで進めたSecurity Hub活用によるAWS統制の見直し〜/secjaws-security-hub-custom-insights
mhrtech
1
390
AIの揺らぎに“コシ”を与える階層化品質設計
ickx
0
270
サービスの信頼性を高めるため、形骸化した「プロダクションミーティング」を立て直すまでの取り組み
stefafafan
1
260
Shiny New Tools Won't Fix Your Problem
trishagee
1
120
生成AI時代に信頼性をどう保ち続けるか - Policy as Code の実践
akitok_
1
210
Featured
See All Featured
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
170
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
290
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
GitHub's CSS Performance
jonrohan
1032
470k
Paper Plane
katiecoart
PRO
1
50k
How GitHub (no longer) Works
holman
316
150k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.7k
ラッコキーワード サービス紹介資料
rakko
1
3.3M
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
110
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
70
39k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
350
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