ооп 4. Цикл разработки ПО с использованием ООП: анализ, проектирование, эволюция, модификация. Рабочие продукты объектно ориентированного анализа. - keykranz/oop_ex GitHub Wiki

Цикл разработки ПО с использованием ООП: анализ, проектирование, эволюция, модификация.

Этапы разработки ПП в структурном программировании:

  1. Анализ
  2. Проектирование
  3. Кодирование
  4. Тестирование

ООП направлено на то, чтобы в дальнейшем легко модифицировать программу. В ООП этапы:

  1. Этап анализа - построение модели задачи. Этап анализа проходит вместе с заказчиком. Анализ строится на основе физического мира.
  • Требования к модели:
    • Полная
    • Понятная всем заинтересованным лицам
  1. Этап проектирования. На современном уровне как правильно автоматизирован. Создаем проектные документы.

  2. Этап эволюции. Эволюция = кодирование + тестирование + рекурсивный дизайн (от простого состояния системы развиваем до сложного).

Разница между эволюцией и модификацией:

  • Эволюция - в рамках разработки продукта. До этапа сдачи продукта.
  • Модификация - изменения, вносимые уже после сдачи продукта заказчику. Этапы эволюции и модификации выполняют разные люди.

Преимущества выделения этапа эволюции:

  • Предоставляется обширная обратная связь
  • Получаются разные версии системы - дает механизм отката и можно выпускать альтернативные версии продукта.
  • Можно рассматривать каждую версию для демонстрации и обсуждения с заказчиком. Уже на начальных этапах есть результаты.
  • Интерфейс разрабатывается отдельно от модели.

Какие изменения могут быть реализованы при эволюции:

  • Добавление новых классов.
  • Изменение реализации класса.
  • Изменение представления класса.
  • Реорганизация структуры класса.
  • Самое страшное - изменение интерфейса базового класса. (До такой ситуации лучше не доводить)
  1. Модификация Модификация затрагивает анализ и затрагивает проектирование.

Рабочие продукты объектно-ориентированного анализа.

Когда мы проводим анализ, мы разрабатываем рабочие документы. Они лягут в основу проектных документов (на этапе проектирования).

Какие документы создаются при анализе:

  1. Для всей программы:
  • 1.1. Схема доменов (разбиваем задачу на домены)
  • 1.2. Проектная матрица (нужна для четкого оценивания на какой стадии разработки мы находимся)
  1. Для каждого домена: Если в домене больше 30-50ти классов, разбиваем домен на подсистемы. Разбиваем граф связности "по слоям" (по минимуму связей) - внутри подсистемы связей много, между подсистемами связей мало. (не подсистемы)
  • 2.1. Модель связей подсистем ()
  • 2.2. Модель доступа подсистем ()
  • 2.3. Модель взаимодействия подсистем ()
  1. Для каждой подсистемы:
  • 3.1. Информационная модель (диаграмма-сущность-связь)
    • Описание классов и их атрибутов (членов данных)
    • Описание связей
  • 3.2. Модель (диаграмма) взаимодействия объектов
    • Список событий в подсистеме
  • 3.3. Модель доступа к объекту
  • 3.4. Таблица процессов состояний
  1. Для каждого класса:
  • 4.1. Модель состояний (диаграмма переходов состояний)
  • 4.2. Алгоритм действий состояний
  1. Для каждого состояния:
  • 5.1 Диаграмма потоков данных действий
  1. Для каждого действия:
  • 6.1. Описание процессов

С чего начинать разработку проекта: разбили задачу на домены, рассматриваем прикладной домен (наш). Разработка прикладного домена начинается с информационного моделирования. Информационное моделирование начинаем всегда с физических объектов. Смотрим, какие объекты существуют. Пытаемся эти объекты сгруппировать по принципу одних и тех же характеристик. Выделяем, чем характеризуется объект - выделяем атрибуты объектов.