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