誰にも見えないブログ

雑なメモ。まとまってない文章等

メイヤー オブジェクト指向入門読書ノート3

p19「1.2.13トレードオフ」からp25「1.5参考文献」まで読んだ。次回は第2章「オブジェクト指向の基準」から。

オブジェクト指向入門 第2版 原則・コンセプト (IT Architect’Archive クラシックモダン・コンピューティング)

オブジェクト指向入門 第2版 原則・コンセプト (IT Architect’Archive クラシックモダン・コンピューティング)

第一章ソフトウェアの品質

1.1外的品質要因と内的品質要因

1.2 外的品質要因

1.2.13 トレードオフ

  • 統合性vs使いやすさ(保護策をガチガチに入れると統合性は高まるがつかいやすさは減る)
  • 経済性vs機能性(機能を漬け込むほど予算が要る。リーズナブルに済ませれば実装できる機能は少ない)
  • 効率性vs可搬性(行き過ぎた最適化は特定環境での動作を難しくする)
  • 適時性vs拡張性・再利用性(その場限りの変更か?未来を見据えた変更か?)

真のソフトウェア工学的アプローチには、基準を明確に述べ、意識的に選択を行うための努力が含まれている

  • 唯一トレードオフの存在しない品質要因
    • 正確さ
      • 犠牲にすることはありえない。

1.2.14特に重要な事柄

  • 1.正確さと頑丈さ

    • 2つ合わせて信頼性とも
      • 静的な型
      • 表明
      • 自動メモリ管理
      • 制御された例外機構
  • 2.拡張性と再利用性

  • オブジェクト指向が貢献するその他の品質的側面

    • 互換性
      • モジュールインターフェース・システムインターフェースの共通化
      • 通化しながら動作するシステム
    • 可搬性
      • 抽象化(abstraction)
      • 情報隠蔽
      • 仕様、属性、実装に感する属性の区別→移植を容易に
      • 多層性(polymorphism)
      • 動的束縛(dynamic binding)
    • 使いやすさ
      • 対話型システムのUIに向いている(GUIと相性が良い)
    • 効率性
    • 適時性・経済性・機能性
  • オブジェクト指向は万能約ではない。

  • ソフトウェア工学の習慣的な問題の多くは残ったままである。
  • 問題に対処するのを助けることは問題を解決することと同じではない

1.3ソフトウェアの保守について

  • 本書のコレまでに紹介した品質要因に保守性は含まれていない
  • ソフトウェアのコストの70%が保守に費やされる。
  • ソフトウェアにとって保守という言葉は間違った表現である
    • ソースコードは車やテレビの用に摩耗しない。
    • 「保守」で本当に行われていること
      • まっとうなもの:修正
      • まっとうでないもの:最初からあるべきではなかったエラーを解消する(納期のごまかし)
  • 保守の研究(Lientz&Swanson)

※1.4本章のまとめなどは省略。