Лектор: Дробушевич Любовь Фёдоровна
Экзаменационные вопросы по курсу "Технологии программирования"
4-й курс, 8-й семестр 2001-2002 учебного года.
- История развития языков программирования высокого уровня.
- Архитектура ЯП (3 поколения).
- Архитектура языков ООП.
- Сложность, присущая ПО (четыре основные причины).
- Трудности по созданию сложных систем.
- Структура сложных систем (5 признаков). Примеры сложных систем (выделить в них признаки).
- Типовая и структурная иерархии в OOD.
- Методы ограничения и контроля сложности ПО при использовании различных методов программирования (SD, DD, OOD).
- Основные понятия: метод, методология, технология. Классификация методов программирования (три группы), общая характеристика их.
- Эволюция развития программного продукта. Основные определения, понятия, отличительные черты.
- Понятие "модуль" в программировании. Различные виды модулей при использовании основных методов программирования.
- Жизненный цикл ПО (ЖЦ). Фазы ЖЦ, их характеристика.
- Этапы разработки ПО. Различные модели.
- Краткая характеристика этапов (содержание) разработки ПО при использовании структурных методов.
- ЖЦ разработки ПО при ОО подходе. Изменения в процессе эволюции программных систем, стоимость каждого вида изменения (в смысле затрат).
- Документирование программного продукта. Различные виды документов, их содержание.
- Виды документов при OOD.
- Этапы разработки ПО согласно ГОСТ 19.102-77 и соответствие их традиционным этапам разработки.
- Временные затраты на реализацию этапов разработки ПО. Особенности распределения ресурсов при OOD.
- Управление проектом и контроль за качеством программного продукта.
- Становление и методология структурных методов разработки. Структурное программирование.
- Способы (системы обозначений) описания логики модулей структурных методов разработки.
- Методы и средства структурного анализа.
- Диаграммы потоков данных с расширениями для реального времени.
- Пример банковской задачи (провести анализ).
- Спецификации управления (на уровне STD - диаграммы).
- Средства структурного проектирования (карты Константайна).
- Методология SADT.
- Методология и система обозначений метода Р-технологии. Логика основных структур.
- Сравнение Р-схем и блок-схем. Достоинства метода Р-технологии.
- Проектирование программ в Р-технологии (метод, система обозначений).
- Метод объектно-ориентированного проектирования ПО (суть). CRC - карточки.
- Понятия класса и объекта. Характеристики объектов, виды операций над ними.
- Отношения между классами (типы отношений).
- Отношения между объектами.
- Роль декомпозиции в проектировании (алгоритмическая и объектно-ориентированная).
- Роли абстракции, иерархии в объектном анализе и проектировании.
- Проектирование в объектно-ориентированном подходе (метод + модели).
- Основные принципы объектной модели (абстрагирование, инкапсуляция, иерархия, модульность, наследование, полиморфизм).
- Различные подходы проведения анализа ОО систем (классический, на основе поведения, анализ вариантов, анализ предметной области, неформальный, структурный).
- Абстракции и механизмы в ОО анализе и проектировании.
- Унифицированный язык моделирования ПС. Достоинства и возможности.
- Диаграммы классов (точки зрения).
- Диаграммы вариантов использования.
- Диаграммы взаимодействий.
- Диаграммы компонентов.
- Диаграммы состояний.
- Диаграммы активности.
- Среда разработки. Основные группы методов среды.
- Схемы разработки. Схемы обхода иерархического дерева.
- Сцепление и связность.
- Основные понятия и определения теории тестирования. Подходы к тестированию. Стратегии тестирования. Критерии тестирования.
- Критерии тестирования стратегии "черного ящика".
- Критерии тестирования стратегии "белого ящика".
- Способы тестирования программ, состоящих из модулей (блоков). Особенности тестирования ОО программ.
- Различные подходы при построении систем автоматического поиска ошибок. Проблемы создания таких систем.
- CASE - технологии (инструменты, системы, средства). Эволюция CASE - средств, их классификация, характеристики современных CASE - инструментов. Перспективы развития.
- Роль CASE - технологии в ОО подходе. Связь CASE - технологии с методами быстрой разработки приложений (RAD).
- Классификация средств разработки (CASE - инструментов).
- Объектная модель COM. Основные понятия. COM - объекты. Типы COM - серверов. Транспортировка данных (marshaling). GUID.
- Объектная модель COM. COM - интерфейсы. Стандартные COM - интерфейсы и их назначения.
- OLE. Архитектура OLE. Основные технологии OLE.
- Понятие надежности ПО. Различие между надежностью аппаратуры и ПО.
- Модели надежности ПО (Джелинский - Морандо, Шумана).
- Модель надежности ПО Хансена. Модель оценки надежности ПО Милса.
- Сравнение моделей оценки надежности ПО. Перспективы построения хороших моделей оценки надежности ПО.
- Оценка надежности ОО ПО.