Скачиваний:
22
Добавлен:
08.07.2017
Размер:
20.48 Кб
Скачать

ЭКЗАМЕНАЦИОННЫЕ ВОПРОСЫ

по дисциплине

"ОБЪЕКТНО-ОРИЕНТИРОВАННЫЕ ТЕХНОЛОГИИ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ"

  1. Уровни языков программирования. Семантика и интерпретация языка программирования. Семантические уровни программной системы. Основные источники, предпосылки и составные элементы объектного подхода к разработке программ. Принципы объектного подхода - абстрагирование, ограничение доступа, модульность, иерархия, типизация, параллелизм и устойчивость.

  2. Жизненный цикл программного обеспечения. Модели жизненного цикла. Программное обеспечение поддержки жизненного цикла. Классификация CASE. Понятия методологии, метода, нотации и средства CASE. Уровень развития технологии разработки программного обеспечения, СММ.

  3. Репозиторий и артефакты процесса разработки. Возвратное проектирование. Реинжиниринг.

  4. Рефакторинг, цели, правила применения. Каталог рефакторингов, классификация, примеры применения.

  5. Шаблоны проектирования, цели, правила применения. Каталог шаблонов проектирования, классификация, примеры применения создающих, структурных и поведенческих шаблонов. Архитектурные шаблоны

  6. Rational Unified Process. Модель жизненного цикла. Рабочие процессы и работы. Работники. Артефакты. Планирование и контроль хода выполнения проекта.

  7. Общая характеристика этапов анализа, проектирования и реализации программного обеспечения. Сравнение существующих методологий и САSE.

  8. Структурный подход к разработке программного обеспечения. Основные виды диаграмм. Методология OMT, основные отличия от UML.

  9. Методика Шлеера-Меллора. Информационное моделирование, модели состояний и процессов.

  10. UML. Элементы моделей, основные отношения. Механизмы расширения UML.

  11. Основные диаграммы UML. Статический и динамический виды.

  12. Архитектура и стиль программной реализации. Идентификаторы и управление видимостью. Явное управление видимостью, пространства имен.

  13. Стиль реализации класса. Ссылки. Локальные и вложенные классы. Контроль доступа. Функции-члены и функции-друзья. Совместное использование. Статические члены. Конструкторы, деструкторы, особые операции класса.

  14. Иерархии классов. Структура объекта при разных видах наследования. Неоднозначности и проблемы с повторным вызовом методов. "Подклеенные" классы. Полные объекты конечных производных классов. Таблицы виртуальных функций. Варианты динамического определения типа объекта.

  15. Шаблоны. Раздельная компиляция. Наследование шаблонов. Выбор алгоритма через параметр шаблона. Специализация шаблонов. Шаблоны как параметры шаблонов.

  16. Обработка исключительных ситуаций. Особые случаи при обработке исключительных ситуаций. Исключительные ситуации и потребление ресурсов.

  17. Контроль семантической корректности программ. Предусловия, постусловия, правила вывода, инварианты циклов. Подтверждения, инварианты объектов, сигналы.

  18. Типы классов: конкретный, абстрактный, узловой, интерфейсный. Множественные и насыщенные интерфейсы. Фабрики классов. Сериализация. Дескриптор и представление.

  19. Библиотеки контейнерных классов. Библиотеки интрузивных и неинтрузивных контейнеров. Стандартная библиотека шаблонов и ее особенности. STL-контейнеры, адаптеры контейнеров, итераторы, алгоритмы, аллокаторы, функциональные объекты, адаптеры функциональных объектов.

  20. Численные методы. Численный массив, срез, композитор, маска, косвенный массив. Обобщенные численные алгоритмы.

ТЕМЫ ПРАКТИЧЕСКИХ ЗАДАНИЙ

  1. Бизнес моделирование и планирование проекта по индивидуальному заданию.

  2. Объектно-ориентированный анализ и проектирование на UML с использованием шаблонов проектирования.

  3. Улучшение стиля программной реализации на основе рефакторингов.

  4. Программирование контейнерных классов.

  5. Проектирование контроля аномального поведения программ, контрактное программирование.