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

オブジェクト指向入門 第2版 第1章 ソフトウェアの品質 / Object-Oriented Software Construction Chap.1

オブジェクト指向入門 第2版 第1章 ソフトウェアの品質 / Object-Oriented Software Construction Chap.1

バートランド・メイヤー著「オブジェクト指向入門 第2版 原則・コンセプト」 第1章を読みながらまとめて行きます.
https://medium.com/@raryosu/o-o-study-1st-298f140afc00

Hagihara Ryosuke

December 02, 2017
Tweet

More Decks by Hagihara Ryosuke

Other Decks in Technology

Transcript

  1. はじめに 本スライドは, @raryosu が バートランド・メイヤー著
 “オブジェクト指向入門 第2版” (翔泳社, 2007) を読みながら,


    オブジェクト指向への理解を深めるためのものです. ひたすら読みながら内容をまとめていきます. いつ終わるかな. 3
  2. 外的品質要因 ① 正確さ ② 頑丈さ ③ 拡張性 ④ 再利用性 ⑤

    互換性 9 ⑥ 効率性 ⑦ 可搬性 ⑧ 使いやすさ ⑨ 機能性 ⑩ 適時性
  3. ③ 拡張性 19 extendibility 分析: 要求を凍結 残りの過程: 設計と実現に費やす 伝統的なソフトウェア工学 理想的なソフトウェアライフサイクルが前提

    法則を発展させるためにすべきこと
 ① 固定された問題について記述し,
 ② それを解決する健全な手法を見出す 途中で問題が変わっていくことを心配しないため
  4. ③ 拡張性 21 extendibility 拡張性を向上させるための重要な原則 ① 設計の単純さ 単純なアーキテクチャは, 常に複雑なアーキテクチャよりも変更に適用しやすい design

    simplicity ② 非集中化 モジュールの自治性が高まるほど, 単純な変更が与える影響が少ない可能性が高く, システム全体に及ぶ変更の連鎖反応を起こさない decentralization
  5. ⑥ 効率性 32 efficiency 効率性が重要である3つの理由 其の2 良いアルゴリズムほど 処理能力の向上の影響を受けるから. ᜅ฽˯̏ˢٯ᫷̷̨͉͎̄n 

    Δ̵ࠬ̄Ϳ͈;͎ʹ˽Ԙၓ˽ˢ̡ౘށ̄ٯ᫷̷̨͉͎N ˾˯̡ᴈ ᜍኟᥤO(n)̟̀ᴆN ˡށˢ˦̢̆2 * N̷͉͎̄̄ٯ᫷̨Ԙၓ˽ˢ̡ᴈ O(n2)̟̀ᴆN ̅ጘ˭ˠ݉զ˭̀˙ᴈ O(2n)˶˾ᴆN ́ˡᣁզ˫̢̡˶˦˽˗̡ᴈ
  6. ⑧ 使いやすさ ጻ᭢̘៧೙̘Ⴞ̡̀Ϩʺˡ ˙ˠ́࠽ః̵̹̺́͑ͩ͜ᛂي̄Χ௟̨ࠕᏺ˭ᴆ ٯ᫷ᜅ฽́ে႙˽ˢ̡ˠ˽˗̡ᴈ ˩̢́̅ᴆ̷·͍͜ΐͿ̚ᴆஉШᴆᄿᛰ̄࠽ః˫̢̡̘ؔ̔ᴈ 36 ease of use

    ユーザとなる可能性のある人々の専門知識レベルは 一様ではない! 上級レベルのユーザ → 仕事に即座に取り掛かる邪魔をしない 入門レベルのユーザ→詳細な指示と説明を与える