Общие вопросы. Техника
кодирования
- Определение технологии программирования. Основные этапы
разработки программ.
- Цели и задачи процесса разработки ПО. Виды моделей,
учитываемые в ходе разработки ПО.
- Структура процесса разработки как преобразование моделей. Влияние
сложности исходной задачи на процесс преобразования исходной модели в
модель исполнителя.
- Методические приемы и их роль в процессе разработки ПО.
Виды методических приемов и их основные особенности.
- Формализации предметной области и способы использования
этого приема при разработке ПО. Достоинства и недостатки.
- Методики разработки ПО. Виды методик. Достоинства и
недостатки.
- Общая характеристика технических приемов, используемых при
разработке ПО.
- Системы программирования. Состав. Варианты реализации.
- Традиционная классификация парадигм программирования.
Основные парадигмы программирования. Популярность существующих парадигм
программирования.
- Дополнительные характеристики парадигм программирования.
Классификация по методам алгоритмизации и способам конструирования.
- Основные виды программных объектов и их объединение в
различные конструктивы.
- Конструирование агрегатов. Основные способы компоновки при
построении агрегатов.
- Особенности построения и обработки агрегатов при
процедурном подходе.
- Особенности построения и обработки агрегатов при
объектно-ориентированном подходе.
- Сравнение процедурного и ОО агрегирования.
- Конструирование обобщений. Основные способы компоновки при
построении обобщений.
- Особенности построения и обработки обобщений при
процедурном подходе. Привести примеры различных вариантов.
- Особенности построения и обработки обобщений при
объектно-ориентированном подходе.
- Сравнение процедурных и ОО обобщений.
- Специфические черты ОО программирования (что такое ООП?).
Использование понятий «агент» и «сообщение».
- Что такое мультиметод? Простейшие способы реализации
мультиметодов при процедурном подходе. Достоинства и недостатки.
- Понятие RTTI. ОО реализация мультиметодов с использованием
RTTI. Достоинства и недостатки.
- Эволюция методов конструирования программных объектов.
- Моделирование ОО механизмов с использованием процедурного
подхода.
- Реализация мультиметодов при ООП с использованием
диспетчеризации (на примере двойной диспетчеризации). Достоинства и
недостатки.
- Реализация мультиметодов при ООП с использованием
диспетчеризации (на примере двойной диспетчеризации). Достоинства и
недостатки.
ООП
- Объектно-ориентированный подход. Преимущества перед ранее
используемыми подходами. Основные акценты в процессе разработки программ.
- Издержки наследования.
- Каркасы. Назначение, достоинства, недостатки, примеры.
Отличие от библиотек.
- Основные диаграммы UML и их назначение.
- Схемы разработки. Понятие образца проектирования. Роль
образцов в процессе разработки.
- Принципы построения образцов. Классификация образцов.
Общие сведения о базовом каталоге образцов.
- Для чего надо использовать образцы (их помощь в разработке
программы)?
- Рассказать об одном из образцов проектирования и принципах
его использования (по выбору).
- Фундаментальные характеристики ООП (по Алану Кею).
- Достоинства ОО подхода.
- Использование в ООП наследования. Принцип подстановки.
- Основные формы наследования.
- В чем проявляются преимущества наследования?
- Технические приемы ООП. Что они дают?
- Недостатки ОО подхода.
ППП
- Специфические черты процедурно-параметрического
программирования.