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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
リリカル
May 22, 2018
Technology
0
120
SQuBOK_Chap3
SQuBOK V2の3章まとめです。(3.1〜3.3)
リリカル
May 22, 2018
Tweet
Share
More Decks by リリカル
See All by リリカル
関係性が駆動するアジャイル──GPTに人格を与えたら、対話を通してふりかえりを習慣化できた話
mhlyc
0
190
三視点LLMによる複数観点レビュー
mhlyc
0
450
テスト設計、逆から読むとおもしろい──仕様にない“望ましさ”の逆設計
mhlyc
0
450
Foundation Level シラバス1章まとめ
mhlyc
0
140
Other Decks in Technology
See All in Technology
LINEヤフーにおけるAI駆動開発組織のプロデュース施策
lycorptech_jp
PRO
0
160
2026年のAIエージェント構築はどうなる?
minorun365
11
2.4k
全自動で回せ!Claude Codeマーケットプレイス運用術
yukyu30
3
140
AWSが推進するAI駆動開発ライフサイクル入門 〜 AI駆動開発時代に必要な人材とは 〜/ introduction_to_aidlc_and_skills
fatsushi
7
4.9k
「OSアップデート:年に一度の「大仕事」を乗り切るQA戦略」_Mobile Tech Flex 〜4社合同!私たちのモバイル開発自慢大会〜
gu3
0
240
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
94k
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.4k
【Developers Summit 2026】Memory Is All You Need:コンテキストの「最適化」から「継続性」へ ~RAGを進化させるメモリエンジニアリングの最前線~
shisyu_gaku
5
770
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
18k
競争優位を生み出す戦略的内製開発の実践技法
masuda220
PRO
2
460
「使いにくい」も「運用疲れ」も卒業する UIデザイナーとエンジニアが創る持続可能な内製開発
nrinetcom
PRO
0
400
生成AI素人でも玄人でもない私がセイセイAIチョットワカルために勉強したこと
wkm2
2
320
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
A better future with KSS
kneath
240
18k
The untapped power of vector embeddings
frankvandijk
2
1.6k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
160
What's in a price? How to price your products and services
michaelherold
247
13k
Context Engineering - Making Every Token Count
addyosmani
9
690
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
Skip the Path - Find Your Career Trail
mkilby
0
68
Exploring anti-patterns in Rails
aemeredith
2
280
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
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