Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SQuBOK_Chap3

 SQuBOK_Chap3

SQuBOK V2の3章まとめです。(3.1〜3.3)

Avatar for リリカル

リリカル

May 22, 2018
Tweet

More Decks by リリカル

Other Decks in Technology

Transcript

  1. 3.1 KA: メトリクス 3.1 KA: メトリクス  3.1.1 S-KA: 測定理論  3.1.2

    S-KA: プロダクトメトリクス  3.1.3 S-KA: プロセスメトリクス SQuBOK V2復習会 8
  2. 3.1 KA: メトリクス 3.1.1 S-KA: 測定理論 •  メトリクス測定における測定理論 – 尺度(名義尺度、順序尺度、間隔尺度、⽐率 尺度)

    – GQM •  参考になりそうなスライド – https://www.slideshare.net/kauji0522/ ss-84328430 SQuBOK V2復習会 9
  3. SQuBOK V2復習会 10 プロダクト メトリクス 品質 メトリクス 内部メトリクス 外部メトリクス 利⽤時の

    品質メトリクス 規模 メトリクス 品質特性・品質副特性と 対応づけられている 3.1 KA: メトリクス 3.1.2 S-KA: プロダクトメトリクス
  4. 3.1 KA: メトリクス 3.1.2 S-KA: プロダクトメトリクス •  内部メトリクス: ソフトウェアの内部を⾒て初めて分かる属性 のメトリクス

    •  仕様書やソースコードなどの中間⽣産物の測 定に適⽤する •  ⽬的: 開発の早い段階において、ソフトウェア製品 に対する品質の測定、評価を可能にして、外 部品質および利⽤時の品質が達成されるよう な評価材料を得る SQuBOK V2復習会 11
  5. 3.1 KA: メトリクス 3.1.2 S-KA: プロダクトメトリクス •  外部メトリクス: 外部の視点から⾒たソフトウェア製品の特性 を測定するためのメトリクス

    •  ソフトウェアまたはシステムを実際に実⾏、 操作、観察することによって測定する •  ⽬的: ソフトウェア製品品質の測定、評価を可能に して、品質が達成できるようにする SQuBOK V2復習会 12
  6. 3.1 KA: メトリクス 3.1.2 S-KA: プロダクトメトリクス •  利⽤時の品質メトリクス: 「特定の利⽤者が特定の利⽤状況において、有効性、効率性、 リスク回避性および満⾜性に関して特定の⽬標を達成するた

    めのニーズを満たすために、製品またはシステムを利⽤でき る度合い」 •  要するに: 利⽤者のニーズに対する達成度合い •  ⽬的: 利⽤者の必要性を製品が満たしている程度の 測定、評価を可能にする SQuBOK V2復習会 13
  7. 3.1 KA: メトリクス 3.1.3 S-KA: プロセスメトリクス •  プロセスメトリクス: 開発プロセスの主に品質に関わる属性を 測定する⽅法の集合

    •  プロセスの効率性や⽣産性、安定性など は、出⼒として得られるソフトウェア製 品の品質に⼤きな影響を及ぼす •  プロセスメトリクスからプロダクトの品 質をある程度予測することができる SQuBOK V2復習会 15
  8. 3.1 KA: メトリクス 3.1.3 S-KA: プロセスメトリクス •  注意点 – プロセスはプロジェクトや組織、問題領域、 環境などに強く依存し、多様であるため、プ

    ロセス品質がプロダクト品質に与える影響を 表す⼀般化した⽅式は存在しない – 組織やプロジェクトごとに過去の実績データ と継続的につき合わせることでプロセス品質 とプロダクト品質の関係を明らかにしていく 必要がある SQuBOK V2復習会 16
  9. 3.2 KA: モデル化の技法 3.2.1 S-KA: 離散系のモデル化技法 •  離散系のモデル化技法: 対象の振る舞いを、離散的な⼀つ⼀つの事象(イ ベント)やそれに伴う状態の連なりとしてモデル

    化する技法 •  ⽬的: –  注⽬する個々の側⾯に絞って関係者間の意思疎通を 測りながら対象の分析や設計を進めることができ、 機能性や保守性、移植性の作り込みや確認がしやす くなる –  最終的なコードを得る前の段階で信頼性や効率性を ある程度確認できる SQuBOK V2復習会 18
  10. 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
  11. 3.2 KA: モデル化の技法 3.2.1 S-KA: 離散系のモデル化技法 •  SysML: •  参考:

    https://www.ogis-ri.co.jp/otc/hiroba/technical/SysEngSysML/ SysEngSysML3.html SQuBOK V2復習会 20
  12. 3.2 KA: モデル化の技法 3.2.2 S-KA: 連続系のモデル化技法 •  連続系のモデル化技法:対象の振る舞いにつ いて連続的な変化をモデルとして表現し、モ デルの検証やシミュレーション解析を通じて

    注⽬する性質を明らかにする技法 •  ⽬的:⾞両制御開発や航空機制御開発などコ スト⾯や安全⾯から実験にリスクを伴うもの に対して、連続系モデルを⽤いてシミュレー ション解析を⾏う SQuBOK V2復習会 22
  13. 3.2 KA: モデル化の技法 3.2.2 S-KA: 連続系のモデル化技法 •  連続系のモデル化やシミュレーション解析に 対応したツールとして代表的なもの – 

    LabVIEW –  MATLAB –  Modelica •  連続系のモデル化およびそれをサポートした ツールを利⽤した開発形態:MBD(Model- Based Development) •  MDD(Model-Driven Development):離散系 SQuBOK V2復習会 23
  14. 3.2 KA: モデル化の技法 3.2.3 S-KA: ドメイン特化⾔語 •  ドメイン特化⾔語: ある特定の問題領域(ドメイン)を記述する ために開発されたプログラム⾔語や、仕様記

    述⾔語およびその処理環境の総称 •  その形態は、テキスト形式や図形式など様々 •  ⽬的: UMLなどの表現の⾃由度が⾼い汎⽤⾔語で記 述されるモデルで起こりがちな品質のばらつ きを抑える、記述⼯数を削減する SQuBOK V2復習会 24
  15. 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
  16. 3.3 KA: 形式⼿法 3.3.1 S-KA: 形式仕様記述の技法 •  形式仕様記述の技法とは: 形式⼿法のうち、要求仕様や設計を厳密 に記述し、系統的な⽅法で⼀定の品質保

    証を⽬指す技法のこと •  ⽬的:曖昧さ、不正確さの排除、障害の 検出、処理の⾃動化→品質向上と効率化 SQuBOK V2復習会 27
  17. 3.3 KA: 形式⼿法 3.3.1 S-KA: 形式仕様記述の技法 •  形式⾔語で記述された内容に対する検証 や分析の例 – 仕様アニメーション・テスト

    – モデル発⾒ – 定理証明 – モデル検査 – 段階的詳細化 – 実⾏コードの⽣成 SQuBOK V2復習会 28
  18. 3.3 KA: 形式⼿法 3.3.2 S-KA: 形式検証の技法 •  形式検証の技法とは: 形式⼿法のうち、テストや⼈⼿でのレビュー では達成できないようなケースに対して、検

    証すべき性質を与えて検証を⾏い、⾼信頼性 を保証する技法のこと •  ⽬的: 特定の状況でのみ顕在化する障害の⾃動検出、 対象範囲において障害が発⽣しないことの 保証 SQuBOK V2復習会 30
  19. 3.3 KA: 形式⼿法 3.3.2 S-KA: 形式検証の技法 •  得られたモデルもしくは実⾏コードに対 しては、以下の検証すべき性質も明記 する

    – アサーション(表明) – 不変条件、事前条件、事後条件 – 安全性、活性 – メモリーに関する性質 SQuBOK V2復習会 31
  20. 3.3 KA: 形式⼿法 3.3.2 S-KA: 形式検証の技法 •  モデル検査のツールの例 – SPIN, SMV,

    LTSA – UPPAAL(実時間性を含めた状態遷移を扱う) – PRISM(確率的な状態遷移を扱う) – CBMC, Java PathFinder(実⾏コード向けの モデル検査ツール) – Coq, HOL(汎⽤的な証明⽀援ツール) SQuBOK V2復習会 32