Exam - Painted-Black/BMSTU-OOP GitHub Wiki

  1. Технология структурного программирования. Преимущества и недостатки структурного программирования.
  2. Структурное программирование: нисходящая разработка, сквозной структурный контроль. Использование базовых логических структур.
  3. Технология ООП: преимущества и недостатки
  4. Понятия ООП: инкапсуляция, наследования, полиморфизм. Объекты, классы, домены, отношения между ними
  5. Этапы разработки ПО с использованием объектно-ориентированного подхода
  6. ООА. Концепция информационного моделирования. Понятие классов, атрибутов и связей. Формализация связей.
  7. ООА. Динамическое поведение объектов, понятия состояний, событий, действий состояний, жизненный цикл.
  8. ООА Динамика систем, схемы взаимодействия, каналы управления, имитирование.
  9. ООА. Диаграмма потоков данных действия. Понятие процесс и потоков управления. Модель доступа к объектам
  10. ООА. Модели доменного уровня, понятие мостов, клиентов, серверов.
  11. Объектно-ориентированное проектирование. Диаграмма класса, схема структуры класса, диаграмма зависимости, диаграмма наследования.
  12. Архитектурный домен. Паттерн КМС. Шаблоны для создания прикладных классов.
  13. Структурные паттерны: адаптер, компоновщик, декоратор, заместитель, мост, фасад.
  14. Порождающие паттерны: одиночка, фабричный метод, абстрактная фабрика, строитель, прототип, пул объектов.
  15. Паттерны поведения: стратегия, шаблонный метод, посетитель, посредник, хранитель, команда.
  16. Структура программы на языках C, C++
  17. Классы и объекты, ограничение доступа. Члены класса и объекта. Методы.
  18. Создание и уничтожение объектов. Конструкторы и деструкторы. Виды конструкторов. Способы создания объектов.
  19. Наследование, построение иерархии, множественное наследование и неоднозначности в нём. Доминирование.
  20. Полиморфизм, понятие абстрактного класса. Дружественные связи.
  21. Перегрузка операторов
  22. Шаблоны классов. Специализация шаблонов.
  23. Обработка ошибок
  24. Умные указатели.