Scientific journal
International Journal of Experimental Education
ISSN 2618–7159
ИФ РИНЦ = 0,425

APPLICATION OF GROUP PROJECT ACTIVITY IN THE EDUCATIONAL PROCESS OF STUDENTS OF THE «SOFTWARE ENGINEERING» TRAINING DIRECTION

Firsova S.A. 1 Ryabukhina E.A. 1 Pimashev V.A. 1
1 Ogarev Mordovian State University
The article describes the application of the method of group project activity in the educational process of bachelors studying in the field of training “Software Engineering”. The discipline “Design and architecture of software systems” is chosen as an example. This discipline provides for the execution of course work involving the development and creation of a software and information system (IPR), which, as a rule, is developed by a group of students. It is shown that the distribution of students’ roles in the project group is in good agreement with the tasks of professional activity reflected in the competencies corresponding to this discipline. In addition, at each stage of the project creation, all participants of the selected group of students are involved. Thus, in addition to mastering the required professional competencies, students gain skills of working together on a common task, which are necessary in their future professional activities. The article also provides an example of the creation and implementation of a project to create a software and information system designed to automate the activities of a car dealership related to the organization of a test drive of cars. The project team consisted of a software architect combining the role of a project manager, frontend and backend developers and an analyst implementing statistical methods for analyzing and predicting the profitability of a car dealership associated with the implementation of this software product.
group project activity
competence approach
software system architecture
roles in the project group
UML diagram

Одной из основных задач современного высшего образования является необходимость подготовки будущего специалиста со следующими умениями:

− соответствие качества подготовки выпускника высшего учебного заведения требованиям, предъявляемым на рынке труда;

− быстрая адаптация к изменяющимся условиям производственной деятельности;

− свободная ориентация в потоке новой информации;

− критическое мышление;

− умение работать в коллективе;

− умение принимать управленческие решения и оценивать риски.

Действующий в настоящее время федеральный государственный образовательный стандарт высшего профессионального образования подразумевает значительное увеличение самостоятельной работы студентов с целью приобретения знаний в процессе решения практико-ориентированных задач.

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

Целью применения указанных технологий является:

− формирование у студентов вузов навыков практической работы по выбранному направлению профессиональной деятельности;

− развитие научно-исследовательской культуры студентов;

− индивидуализация учебного процесса;

− формирование у обучающихся навыков командной работы;

− повышение конкурентоспособности выпускников на рынке труда;

− повышение мотивации к обучению.

Одной из современных практико-ориентированных технологий является групповая проектная деятельность студентов [1]. Под термином «проект» понимается ограниченная по времени и затратам деятельность, направленная на достижение определенного результата при соблюдении заданных требований и существующих стандартов качества. При этом проектная деятельность подразумевает разграничение ответственности между участниками команды, реализующей конкретный проект.

Групповое проектное обучение получило широкое распространение в образовательном процессе многих вузов России [2–4]. Его целью является самостоятельное получение обучающимися знаний, умений и навыков практической работы, необходимых для решения различных исследовательских или производственных задач. В процессе разработки реального проекта происходит интеграция знаний, полученных ранее в образовательном процессе, с самостоятельно приобретенными и закрепление навыков проектной, научно-исследовательской, совместной творческой и организационно-управленческой деятельности.

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

− формирование требований к информатизации и автоматизации прикладных процессов;

− формализация предметной области проекта;

− технико-экономическое обоснование проектных решений и составление технического задания на разработку программного продукта;

− проектирование программно-аппаратных средств в соответствии с техническим заданием;

− применение современных инструментальных средств при разработке программного обеспечения;

− документирование компонентов информационной системы на стадии жизненного цикла.

Овладение профессиональными компетенциями, отраженными в рабочей программе дисциплины согласно стандарту ФГОС3, обеспечивает выпускникам востребованность на рынке труда. К таким компетенциям относятся:

− ПК-8 – способность создавать программные интерфейсы;

− ПК-10 – владение навыками использования различных технологий разработки программного обеспечения.

Эти компетенции являются необходимыми для получения таких востребованных специалистов, как системный программист и системный аналитик.

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

Материалы и методы исследования

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

В качестве основного метода исследования применяется анализ представленных материалов, базирующийся на методологическом принципе взаимодействия и единой направленности теории и практики и таких методологических подходах, как системный, концептуальный, прагматический, деятельностный.

Результаты исследования и их обсуждение

В ходе исследования были проанализированы курсовые работы студентов 3-го курса направления подготовки «Программная инженерия» по дисциплине «Проектирование и архитектура программных систем» за последние три года.

Группам студентов выдавалось задание на курсовое проектирование, включающее разработку архитектуры и реализацию программно-информационной системы (ПИС) в выбранной предметной области. Базовый функционал разрабатываемой ПИС подразумевает наличие двух категорий пользователей – клиента и администратора. Основными функциями клиента являются регистрация и авторизация в системе, просмотр и поиск нужной информации о товарах/услугах, оформление заказа на товары/услуги, а основные функции администратора заключаются в ведении базы данных клиентов, товаров/услуг, заказов. Базовый функционал ПИС дополняется спецификациями, характерными для конкретной предметной области.

Как правило, распределение ролей в проектной группе студентов осуществлялось следующим образом:

− архитектор программного обеспечения – это специалист, который разрабатывает архитектуру ПИС, превращая необходимые характеристики ПО в структурированное решение в соответствии с техническими требованиями и бизнес-задачами заказчика;

− frontend-разработчик – это программист, который работает над пользовательским интерфейсом ПИС;

− backend-разработчик – это программист, который отвечает за внутреннюю и вычислительную логику ПИС;

− аналитик – специалист, проводящий аналитические исследования в определенной сфере деятельности, способный с помощью применения математических моделей и статистических методов прогнозировать результаты производственных и социальных процессов и разрабатывать перспективные программы развития в разных сферах деятельности;

− менеджер проекта – это специалист, который управляет проектами, в данном случае эту роль можно совместить с ролью архитектора.

В табл. 1 показано, как эти роли согласуются с задачами профессиональной деятельности, изложенными в рабочей программе дисциплины в рамках компетентностного подхода.

Таким образом, очевидно, что применение группового проектного метода способствует освоению требуемых компетенций, организует эффективное взаимодействие внутри проектной группы, повышает мотивацию к научно-исследовательской и творческой деятельности.

Таблица 1

Соответствие задач профессиональной деятельности распределению ролей

 

Архитектор программного обеспечения

Frontend-разработчик

Backend-разработчик

Аналитик

Тип задач профессиональной деятельности: проектный ПК-8.

Способность создавать программные интерфейсы

Формирование требований к информатизации и автоматизации прикладных процессов, формализация предметной области проекта

+

-

+

+

Технико-экономическое обоснование проектных решений и составление технического задания на разработку программного продукта

+

+

+

+

Проектирование программно-аппаратных средств в соответствии с техническим заданием

-

+

+

-

Применение современных инструментальных средств при разработке программного обеспечения

-

+

+

+

Документирование компонентов информационной системы на стадии жизненного цикла

+

+

+

+

Тип задач профессиональной деятельности: производственно-технологический ПК-10.

Владение навыками использования различных технологий разработки программного обеспечения

Проведение работ по инсталляции программного обеспечения автоматизированных систем и загрузки баз данных

+

+

+

-

Настройка параметров ПИС и тестирование результатов настройки

+

-

-

-

Ведение технической документации

+

+

+

+

Техническое сопровождение ПИС в процессе эксплуатации

+

+

+

+

Применение веб-технологий при реализации удаленного доступа в системах клиент-сервер и распределенных вычислений

-

+

+

+

Таблица 2

Соответствие этапов разработки проекта распределению ролей в проектной группе

 

Архитектор программного обеспечения

Frontend-разработчик

Backend-разработчик

Аналитик

1. Разработка идеи проекта

       

1.1. Выбор предметной области, изучение необходимого теоретического материала по предметной области, обзор существующих аналогичных ПИС

+

+

+

+

1.2. Формулировка цели и задач проекта

+

+

+

+

2. Разработка технического задания

       

2.1. Сбор и анализ первичных требований к ПИС

+

+

+

+

2.2. Определение набора данных, необходимых для функционирования ПИС

+

-

+

+

2.3. Разработка структурной схемы работ, определение необходимого программно-аппаратного обеспечения, построение диаграммы Ганта с целью оптимизации ресурса времени

+

+

+

+

2.4. Написание технического задания

+

-

-

+

3. Проектирование архитектуры и реализация ПИС

       

3.1. Построение UML-диаграмм, описывающих архитектуру ПИС

+

-

-

-

3.2. Разработка структуры и заполнение базы данных. Организация запросов к базе данных

+

-

+

-

3.3. Реализация ПИС с использованием выбранного программно-аппаратного обеспечения

-

+

+

+

4. Верификация и аттестация ПИС

       

4.1. Проверка соответствия функционала разработанной ПИС техническому заданию

+

+

+

+

4.2. Презентация ПИС заказчику

+

+

+

+

4.3. Тестирование ПИС заказчиком

+

-

-

-

4.4. Оформление результатов работы в виде отчетов, публикация статей

+

+

+

+

missing image file

Рис. 1. Диаграмма соответствия компетенций этапам разработки проекта

Результаты анализа согласования роли с этапами разработки приведены в табл. 2.

Таким образом, на каждом этапе разработки проекта задействованы все участники проектной группы.

На рисунке 1 представлена диаграмма, на которой показано, как требуемые компетенции реализуются на каждом этапе разработки проекта.

Таким образом, каждый этап разработки проекта взаимосвязан с компетенциями, отражающими задачи профессиональной деятельности.

Рассмотрим конкретный пример программно-информационной системы, разработанной студентами с применением метода групповой проектной деятельности.

Несколько студентов группы проводили тест-драйв автомобилей Opel в одном из дилерских центров г. Саранска. При оформлении записи на тест-драйв они должны были лично посетить автосалон, при этом на сайте автосалона отсутствовала возможность записи удаленно в удобное для клиента время. Поэтому им представилась актуальной разработка ПИС, предназначенной для автоматизированной записи на тест-драйв с учетом индивидуальных предпочтений клиентов.

При изучении предметной области студенты определили набор данных, необходимых для функционирования ПИС: виды тест-драйва, апробируемые в автосалонах; сведения, предоставляемые клиентом при записи на тест-драйв и перечень документов, необходимых для предъявления менеджеру автосалона в день выезда на тест-драйв; рекомендуемые клиенту операции при осмотре автомобиля и действия, выполняемые во время езды и т.п.

Также был выполнен анализ существующих решений в данной предметной области: сайты для записи на тест-драйв автомобилей марки NISSAN [5], OPEL [6], LADA [7]. Проведенный анализ показал, что процесс записи на тест-драйв не является полностью автоматизированным, так как после заполнения заявки по установленной форме либо отсутствует возможность выбора удобного времени, либо приходит сообщение о необходимости ожидания звонка менеджера.

В результате обработки полученной информации о деятельности автосалона студентами были сформулированы цели и задачи проекта. Так, цель проекта определялась следующим образом: разработать и реализовать программно-информационную систему, предназначенную для автоматизации деятельности автосалона, связанную с проведением тест-драйвов автомобилей клиентами. Согласно поставленным задачам было разработано техническое задание на проектирование. На данном этапе в работе над проектом принимали участие все студенты группы.

missing image file

Рис. 2. Диаграмма вариантов использования

missing image file

Рис. 3. Схема базы данных

Дальнейшая работа предполагала разделение деятельности студентов в соответствии с выделенными ролями: архитектор программного обеспечения, frontend-разработчик, backend-разработчик, аналитик, которые выбрали инструментальные среды разработки и языки программирования для реализации своей части общего проекта. Так для разработки UML-диаграмм, необходимых для описания архитектуры ПИС, было выбрано бесплатное приложение draw.io, предназначенное для моделирования диаграмм и блок-схем бизнес-процессов. В качестве примера UML-диаграммы, разработанной архитектором, приведем диаграмму вариантов использования (рис. 2), которая описывает, какой функционал разрабатываемой программной системы соответствует каждой группе пользователей.

За разработку структуры, заполнение базы данных автосалона, организацию запросов к базе данных отвечал backend-разработчик, использовавший набор веб-разработчика Денвер-3, в который входит свободный веб-сервер Apache, СУБД MySQL 5.5, система управления MySQL через веб-интерфейс – phpMyAdmin, язык PHP 5 с поддержкой GD, эмулятор sendmail и SMTP-сервера. Схема базы данных приведена на рис. 3.

Пользовательский интерфейс создавался с применением языка гипертекстовой разметки HTML 5, каскадные таблицы стилей CSS 3, язык сценариев JavaScript 1.8.5. Пример оформления интерфейса страницы приведен на рис. 4.

missing image file

Рис. 4. Пример интерфейса пользователя для записи на тест-драйв

missing image file

Рис. 5. Статистические показатели динамики количества часов, использованных при проведении тест-драйва

missing image file

Рис. 6. Применение метода скользящих средних для сглаживания временного ряда

missing image file

Рис. 7. Моделирование тенденции развития

Работа аналитика заключалась в выборе и программной реализации статистических методов, позволяющих провести анализ и выполнить прогнозирование рентабельности автосалона, которую предполагается увеличить при внедрении данного программного продукта. Для решения данной задачи наиболее эффективным является метод прогнозирования с помощью временных рядов. При его реализации и визуализации результатов использовались язык сценариев JavaScript 1.8.5 и многофункциональный набор инструментов для визуализации данных Google Chart Tools API. В качестве примера работы аналитика рассмотрим построенную таблицу статистических показателей динамики количества часов, использованных при проведении тест-драйва в заданный временной период (рис. 5), график для сглаживания временного ряда того же показателя, полученный по методу скользящих средних (рис. 6), график тенденции развития для различных регрессионных моделей (рис. 7).

Заключение

Таким образом, приведенное в данной статье исследование показало возможность применения группового проектного обучения при подготовке будущих специалистов в области программной инженерии. Доказано, что распределение ролей студентов в проектной группе хорошо согласуется с профессиональными компетенциями, указанным в ФГОС3++ для данного направления подготовки. Кроме того, помимо освоения требуемых компетенций студенты получают навыки совместной работы над общим проектом, необходимые в их будущей профессиональной деятельности.

Результаты наиболее удачных разработок студентов публиковались в электронном периодическом издании для студентов и аспирантов Мордовского государственного университета им. Н.П. Огарёва «Огарёв-online» [8].