Jacobson I. Object-Oriented Software Engineering: A Use Case Driven Approach
I. Jacobson, 1-е изд., New York : Wokingham, Eng. ; Reading, Mass: Addison-Wesley, 1992. 552 c.


@object-description:Описание объекта

Объект содержит несколько операций и состояние, хранящее результат этих операций. Также у объекта могут быть операции, не изменяющие состояние, а только реализующие поведение. Важно, что состояние объекта всегда должно быть скрыто.

Объекты могут иметь статические (знание, что другой объект существует) и динамические (коммуникация с другим объектом) связи. Использование связей позволяет моделировать составные объекты и выделять из объектов переиспользуемые части.

Вся информация в объектно-ориентированной системе хранится внутри ее объектов и все манипуляции с этой информацией возможны только через выполнение объектами операций. Единственный способ изменить объект - это указать ему выполнить свою операцию.


@polymorphism:Полиморфизм

Полиморфизм означает, что отправитель стимула (сообщения) не обязан знать, какой конкретный класс получит стимул (обработает сообщение). Экземпляр получателя может принадлежать любому произвольному классу. Это означает, что с отправителем могут быть связаны разные экземпляры разных классов, в том числе и в разное время.


Энтропия системы применительно к программным продуктам


Неявное связывание данных и функций в процедурном подходе - Процедурный подход как метод “Данные + функции”.


@object-oriented-method:Объектно-ориентированный метод

Объектно-ориентированный анализ состоит из следующих активностей:

  1. Нахождение объектов. Часто не составляет труда найти объекты, относящиеся к предметной области. Гораздо сложнее определить релевантные объекты.
  2. Организация объектов.
  3. Описание взаимодействия объектов
  4. Определение операций объектов
  5. Определение “внутренностей” объектов