Министерство образования и науки Российской Федерации 
Институт ЮНЕСКО по информационным технологиям в образовании
Институт проблем информатики Российской Академии наук
Федеральный институт развития образования
Академия повышения квалификации и профессиональной переподготовки работников образования
Автономная некоммерческая организация
«Информационные технологии в образовании»
Российский государственный гуманитарный университет
Международный институт новых образовательных технологий
III Международная научно-практическая конференция
«Инновации в информационных технологиях и образовании»
«ИТО-Москва-2014»
4 - 5 декабря 2014 года, г. Москва

Особенности построения комплексных выпускных квалификационных работ в рамках образовательных программ информационного профиля

Авторы: Лагерев Дмитрий Григорьевич 1, Кандидат технических наук, Доцент, Подвесовский Александр Георгиевич 2, Кандидат технических наук, Доцент, Заведующий кафедрой "Информатика и программное обеспечение"., Коростелев Дмитрий Александрович 2, Кандидат технических наук, Доцент.
1 ФГБОУ ВПО Брянский государственный технический университет, 2 ФГБОУ ВПО Брянский государственный технический университет.
Предложен подход к построению выпускных квалификационных работ студентов бакалавриата, обучающихся по направлениям информационного профиля, максимально приближенный к условиям реального производства программных продуктов. Суть подхода заключается в привлечении к выполнению единого программного проекта студентов смежных направлений, с распределением между ними проектных ролей.

Кафедра «Информатика и программное обеспечение» Брянского государственного технического университета уже более 20 лет осуществляет подготовку высококвалифицированных специалистов в области разработки программного обеспечения и занимает в этом направлении лидирующее положение на рынке образовательных услуг Брянской области. Изначально кафедра выпускала инженеров-программистов по специальности «Программное обеспечение вычислительной техники и автоматизированных систем», впоследствии к этому добавилась подготовка математиков-программистов по специальности «Математическое обеспечение и администрирование информационных систем».

В 2011 году в связи с повсеместным внедрением Федеральных государственных образовательных стандартов 3-го поколения, на кафедре был осуществлен переход от подготовки специалистов к подготовке бакалавров, и началась реализация образовательных программ по трем смежным направлениям:

  • «Информатика и вычислительная техника» (ИВТ). Подготовка в рамках данного направления осуществляется по профилю «Программное обеспечение вычислительной техники и автоматизированных систем», который можно рассматривать как преемник одноименной специальности, с сохранением в учебном плане большинства ключевых дисциплин.  Студенты знакомятся с различными технологиями проектирования и разработки программных продуктов и управления программными проектами. 
  • «Математическое обеспечение и администрирование информационных систем» (МОА). Данное направление также является преемником одноименной специальности, и в его задачи входит подготовка программистов со специализацией в области математических методов и системного администрирования. С учетом этого, наряду с изучением языков и технологий программирования, в учебном плане уделяется больше внимания, с одной стороны, блоку фундаментальных и прикладных математических дисциплин, а с другой – изучению и получению практических навыков администрирования операционных систем Windows Server, Linux и BSD, а также системы реального времени QNX.
  • «Программная инженерия» (ПРИ), профиль «Разработка программно-информационных систем». Данное направление является новым и в определенной степени уникальным для региона, и в его задачи входит подготовка специалистов в области полного цикла промышленного производства программного обеспечения – от начальных стадий проектирования до внедрения и сопровождения готовых программных систем. Наряду с фундаментальными дисциплинами и дисциплинами информационного профиля, учебный план содержит ряд ключевых для данного направления дисциплин, среди которых: конструирование программного обеспечения; тестирование и отладка программного обеспечения; спецификация, архитектура и проектирование программных систем; разработка и анализ требований; управление программными проектами; экономика программной инженерии. Большое внимание уделяется вопросам командной разработки программного обеспечения, проектирования человеко-машинного интерфейса, управления качеством программных систем.

В связи с переходом к образовательным программам бакалавриата, возникла необходимость разработать требования к выпускным квалификационным работам (ВКР) бакалавров, сохранив при этом накопленный за годы работы кафедры значительный опыт организации дипломного проектирования специалистов. Однако, в процессе разработки пришлось столкнуться с рядом проблем. В частности, поскольку срок обучения по программам подготовки бакалавров составляет 4 года, а не 5 лет, как было в случае с подготовкой специалистов, то требования к сложности и объему ВКР, очевидно, должны быть снижены. При этом время, выделяемое на прохождение преддипломной практики и выполнение ВКР, также было сокращено, из-за чего детализация проработки тем работ уже не может быть аналогичной той, которая была в дипломных работах специалистов.

Следует также отметить, что в рамках дипломного проектирования специалистам часто выдавались задания на разработку программных систем по заказу конкретных предприятий. Выполнение таких дипломных работ позволяло студентам получить ценный опыт и навыки по разработке реально востребованных программных систем, а также определиться с дальнейшим трудоустройством. При этом часто наблюдалась более высокая степень заинтересованности студентов в выполнении подобных работ, что положительно сказывалось и на качестве самой работы. Однако, в силу описанных выше причин, данный подход практически не может быть реализован в рамках ВКР бакалавров, при выполнении их «в одиночку».

Таким образом, чтобы сохранить возможность работы студентов в рамках ВКР над реальным программным проектом, можно предложить два основных подхода.

Первый из них заключается в том, чтобы в качестве задания на ВКР выдавать студенту разработку отдельной независимой подсистемы или модуля. Данный подход хорошо применим для архитектур типа «ядро-подключаемые модули». В этом случае руководитель дипломного проектирования самостоятельно реализует все функции «ядра» и вынужден выполнять обязанности системного архитектора и аналитика, а также осуществлять комплексирование, системную интеграцию и интеграционное тестирование студенческих разработок. При этом создание итоговой программной системы вероятнее всего потребует привлечения нескольких выпусков студентов.

Второй подход состоит в представлении программного проекта как комплексной работы для нескольких студентов. Но при таком подходе, как правило, невозможно полностью выполнить проект силами студентов одного направления (например, МОА или ИВТ), поскольку многие процессы жизненного цикла программного проекта, такие как проектирование, тестирование и др., не входят в область их профессиональных компетенций, либо входят, но весьма ограниченно. Как следствие, руководитель также должен брать на себя реализацию значительной части проекта.

Согласно [1], рекомендуется давать студентам возможность работы над крупным проектом, предпочтительно занимающим весь последний год обучения и позволяющим применить на практике полученные знания и навыки. В отличие от проектно-ориентированных курсов, в процессе работы над ВКР все решения в рамках поставленной задачи принимаются самими студентами. При этом настоятельно рекомендуется при работе над программными проектами объединение студентов в группы, состоящие как минимум из двух, а желательно из трех-четырех человек. При этом требуется разрабатывать стратегии для ситуаций, когда индивидуальный вклад в групповую работу является неодинаковым.

Решить вышеописанные проблемы можно, если попытаться при выполнении ВКР реализовать подход, максимально приближенный к условиям реального производства программных продуктов. Но сделать это можно только в рамках комплексных ВКР, выполняемых силами студентов нескольких направлений подготовки. Руководитель ВКР в этом случае может выступать в качестве директора или заказчика, а студенты получают в проекте разные роли, в зависимости от их направления подготовки и личных качеств. В рамках типовых проектов по разработке программного обеспечения можно выделить следующие роли участников проектной команды: бизнес-аналитик, руководитель проекта, куратор (менеджер) проекта, системный архитектор, проектировщик, ведущий программист, программист, системный администратор, администратор баз данных, математик-аналитик, тестировщик, технический писатель.

Учитывая специфику направлений подготовки, реализуемых на кафедре, для каждого из них был сформирован список ролей, которые могут занимать студенты в рамках командной разработки проекта. Для направления подготовки «ПРИ» этими ролями могут быть: бизнес-аналитик, менеджер проекта, системный архитектор, проектировщик, ведущий программист, тестировщик, технический писатель. Для направления «МОА» характерными ролями будут математик-аналитик, системный администратор, администратор баз данных, программист, для направления «ИВТ» – программист, ведущий программист.

  Направления подготовки
Распределение проектных ролей по направлениям подготовки
Роль в проекте
ПРИ
МОА
ИВТ
бизнес-аналитик
+
(рекомендуется назначать «сильных» студентов с аналитическим складом ума)
 
 
руководитель проекта
+
(рекомендуется назначать «сильных» студентов с хорошими организаторскими навыками)
 
 
куратор (менеджер) проекта
+
(рекомендуется назначать «сильных» или «средних» студентов с хорошими организаторскими навыками)
 
 
системный архитектор
+
(рекомендуется назначать «сильных» или «средних» студентов с хорошими навыками программирования и аналитическим складом ума)
 
 
проектировщик
+
(допускается назначать в том числе и «слабых студентов»)
 
 
ведущий программист
+
(рекомендуется назначать «сильных» студентов с хорошими навыками программирования)
 
+
(рекомендуется назначать только «сильных» студентов)
программист
+
+
(рекомендуется назначать студентов с уверенными навыками программирования)
+
системный администратор
 
+
(рекомендуется назначать студентов с уверенными навыками администрирования информационных систем)
 
администратор баз данных
 
+
(рекомендуется назначать студентов с уверенными навыками администрирования информационных систем)
 
математик-аналитик
 
+
(рекомендуется назначать студентов с сильной математической подготовкой)
 
тестировщик
+
(допускается назначать и «слабых» студентов)
 
 
технический писатель
+
(допускается назначать и «слабых» студентов)
 
 

Выполнение комплексных ВКР по вышеописанной схеме позволяет студентам за короткое время создать проект, достаточно хорошо приближенный к реальному, и при этом в достаточной степени «прочувствовать» роли в команде. К выполнению комплексных ВКР можно привлекать только часть студентов-дипломников – остальные могут выполнять ВКР по индивидуальным заданиям, т.е. в соответствии с «классической» схемой. Вместе с тем, необходимо учитывать, что предлагаемый подход усложняет распределение студентам по руководителям ВКР, возлагает на руководителя дополнительную ответственность, в том числе за правильность и обоснованность распределения проектных ролей, а также требует использования средств поддержки групповой разработки, в частности, системы планирования, системы контроля версий и системы отслеживания заданий.

Список использованных источников
  1. Рекомендации по преподаванию программной инженерии и информатики в университетах. – М.: ИНТУИТ.РУ «Интернет-Университет Информационных Технологий», 2007. – 462 с.
Вид представления доклада  Публикация
Уровень  Бакалавриат
Ключевые слова  Выпускная квалификационная работа, программный проект, командная работа.

В статусе «Черновик» Вы можете производить с тезисами любые действия.

В статусе «Отправлено в Оргкомитет» тезисы проходят проверку в Оргкомитете. Статус «Черновик» может быть возвращен тезисам либо если есть замечания рецензента, либо тезисы превышают требуемый объем, либо по запросу участника.

В статусе «Рекомендован к публикации» тезис публикуется на сайте. Статус «Черновик» может быть возвращен либо по запросу участника, либо при неоплате публикации, если она предусмотрена, либо если тезисы превышают требуемый объем.

Статус «Опубликован» означает, что издана бумажная версия тезиса и тезис изменить нельзя. В некоторых крайне редких ситуацих участник может договориться с Оргкомитетом о переводе тезисов в статус «Черновик».

Статус «Отклонен» означает, что по ряду причин, которые указаны в комментариях к тезису, Оргкомитет не может принять тезисы к публикации. Из отклоненных тезис в «Черновики» может вернуть только Председатель программного или председатель оргкомитета.