Командная разработка системы фигурного раскроя ITAS Nesting



Авторы: Брюханова Анастасия Александровна 1
Мурзакаев Рустам Талгатович 2
1 Пермский национальный исследовательский политехнический университет, 2 Пермский национальный исследовательский политехнический университет, Электротехнический факультет, кафедра ИТАС
В статье рассмотрено решение проблем интеграции, возникающих при командной разработке систем автоматизированного проектирования. В качестве решения таких проблем предложено внедрение информационных систем, позволяющих осуществить непрерывную интеграцию. Использование методов непрерывной интеграции рассмотрено на примере программного комплекса фигурного раскроя материалов «ITAS-Nesting». Рассмотрено участие в студентов в программных проектах.

Командная разработка системы фигурного раскроя ITASNesting

Современные методы командной разработки программного обеспечения требуют использования систем непрерывной интеграции – практики разработки, которая заключается в выполнении частых автоматизированных сборок проекта для быстрого выявления и решения интеграционных проблем [1]. Переход к непрерывной интеграции позволяет снизить трудоёмкость разработки программного обеспечения за счет раннего обнаружения и устранения ошибок, противоречий.

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

Для развертывания системы непрерывной интеграции на выделенном сервере организуется служба, в задачи которой входят:

- получение исходного кода из репозитория;

- сборка проекта;

- выполнение тестов;

- развёртывание готового проекта;

- отправка отчетов по электронной почте.

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

- поддержка Java-проектов, т.к. разработка программного комплекса ведется на объектно-ориентированном языке Java;

- отправка отчетов по электронной почте;

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

- интеграция с системами контроля версий.

Разработка проекта «ITAS-Nesting» [2,3] ведется в среде разработки IntelliJIDEA, поэтому немаловажной была поддержка системой интеграции среды разработки.

Всем данным требованиям удовлетворяет система «Интеллектуальный сервер непрерывной интеграции TeamCit[1], поэтому он использован в проекте «ITAS-Nesting».

При модульном тестировании для каждого модуля, за исключением графического интерфейса, разрабатывается тестовое окружение, включающее в себя драйвер и заглушки, готовятся тест-требования и тест-планы, описывающие конкретные примеры [4]. Также тесты можно запускать из среды разработки, проверяя правильность работы только что написанного кода.

На основе результатов unit-тестов TeamCity генерирует отчеты о сборке проекта.

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

Проектная команда «ItasNesting» включает в себя 15 человек, которые работают по следующим направлениям:

- раскрой – проектирование и реализация алгоритмов упаковки деталей;

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

- gui– проектирование и разработка графического интерфейса;

- базы данных – проектирование архитектур базы данных, поддержка базы данных в актуальном состоянии, внедрение ORM«Hibernate»;

- web– проектирование и разработка клиентской части, API, серверной части.

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

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

Список использованных источников
  1. Дюваль, П.М., Матиас С.М., Гловер Э. Непрерывная интеграция: улучшение качества программного обеспечения и снижение риска. - М. : ООО "И.Д. Вильямс", 2008. 240 с.
  2. Мурзакаев Р.Т., Шилов В.С., Буркова А.В. Основные методы решения задачи фигурной нерегулярной укладки плоских деталей. [Электронный ресурс] // Инженерный вестник Дона. - 2013 - No. 4. - Режим доступа: http://www.ivdon.ru/magazine/archive/n4y2013/2043.
  3. Файзрахманов Р.А., Мурзакаев Р.Т., Шилов В.С., Буркова А.В. Исследование бизнес-процесса учета делового остатка при раскрое листовых материалов // Вестник Пермского национального исследовательского политехнического университета. Электротехника, информационные технологии, системы управления. – 2013. - №7. - С.143-148.
  4. Синицын С.В., Налютин Н.Ю. Верификация программного обеспечения. - М.:БИНОМ, 2008. 368 c.
Тип выступления  Стендовый доклад
Уровень образования  Высшее профессиональное
Ключевые слова  информационная система, фигурный раскрой, система «ITAS-Nesting», системы непрерывной интеграции, TeamCity, модульное тестирование, командная разработка, САПР