- •Вопросы для поступления в магистратуру по направлениям «Информатика и вычислительная техника» и «Информационные системы и технологии» Перечень вопросов по дисциплине «Технологии программирования»
- •Каскадная и эволюционная модели процесса разработки программного обеспечения. Их особенности, достоинства и недостатки.
- •Процесс планирования программного проекта. Основные виды планов. Примерный перечень разделов плана.
- •Процесс составления графика работ при создании программного обеспечения. Краткое описание временных и сетевых диаграмм.
- •Функциональные и нефункциональные требования к создаваемому программному обеспечению. Примеры функциональных и нефункциональных требований.
- •Пользовательские и системные требования к создаваемому программному обеспечению. Способы записи требований.
- •Спецификация системных требований: ее назначение, структура и краткая характеристика всех ее разделов.
- •Перечень этапов процесса разработки требований к создаваемому программному обеспечению. Детальное описание этапа формирования и анализа требований.
Вопросы для поступления в магистратуру по направлениям «Информатика и вычислительная техника» и «Информационные системы и технологии» Перечень вопросов по дисциплине «Технологии программирования»
Каскадная и эволюционная модели процесса разработки программного обеспечения. Их особенности, достоинства и недостатки.
Каскадная модель жизненного цикла программного обеспечения (водопад):
Начальный этап выполнения каскадной модели показан в левой верхней части рис. 3. Продолжение процесса выполнения реализуется с помощью упорядоченной последовательности шагов. В модели предусмотрено, что каждая последующая фаза начинается лишь тогда, когда полностью завершено выполнение предыдущей фазы Каждая фаза имеет определенные критерии входа и выхода: входные и выходные данные.
В результате выполнения генерируются внутренние или внешние данные проекта, включай документацию и ПО. Документы по анализу требований впоследствии передаются системным специалистам, которые в свою очередь передают их разработчикам программных систем более высокого уровня. Программисты передают детальные технические характеристики программистам, которые уже представляют готовый код тестерам.
Преимущества:
Последовательное выполнение этапов проекта в строгом фиксированном порядке
Позволяет оценивать качество продукта на каждом этапе
Документирование каждого этапа
Недостатки:
Отсутствие обратных связей между этапами
Не соответствует реальным условиям разработки программного продукта
«Негибкое» разбиение процесса создания на отдельные этапы.
Применение:
Повсеместно для небольших систем, входящих в состав крупного проекта
Эволюционная модель жизненного цикла программного обеспечения
Прототип – действующий программный модуль, реализующий отдельные функции создаваемого ПО.
Преимущества:
Спецификация разрабатывается постепенно, по мере требования заказчика.
Недостатки:
Многие этапы создания ПО недокументированны
Система часто получается плохо структурированной
Требуются специальные средства и технологии разработки ПО.
Применение:
Работа небольших систем (<100000 строк) или средних (<500000 строк) с относительно коротким сроком жизни
Управление проектами разработки программного обеспечения. Особенности управления программными проектами по сравнению с техническими проектами. Перечень процессов управления и их краткая характеристика.
При разработке программного продукта последовательно выполняются все этапы его жизненного цикла, а именно:
Выдвигается идея, инициатива создания программного продукта.
Составляется задание на проектирование.
Проводится анализ реализуемости проекта.
Выполняется системный анализ разрабатываемого продукта.
Осуществляется проектирование программного продукта.
Составляются исходные тексты программ и производится их компилирование.
Выполняется тестирование полученных программ.
Производится внедрение и сопровождение программного продукта.
Управление проектом - особый вид деятельности, включающий постановку задач, принятие решений, планирование, организацию и стимулирование специалистов, контроль хода работ и использования ресурсов при создании сложных систем.
Цель управления проектом состоит в решении трех основных задач:
планирования;
контроля за выполнением плана работ;
оценки понесенных затрат и полученных результатов.
При выполнении проекта приходится решать две проблемы:
как разработать достоверный детальный план реализации проекта;
как обеспечить качество программного продукта в процессе разработки.