Сергей Автоманов, ведущий инженер ГосНИИАС.
Окончил МАИ, работал в ОКБ им. А.Н.Туполева, ГРМЦ, коммерческих предприятиях, ГосНИИАС. Консультировал, проектировал и разрабатывал информационные системы и АПК в области проектирования и конструирования, передачи и обработки данных, логистики и управления предприятием, инженерного и делового документооборота и хранения данных. Разработчик требований и архитектуры автоматизированной среды поддержки проектирования и управления жизненным циклом.
При разработке ответственного и сложного ПО необходимо обеспечить его соответствие требованиям. Проверка на соответствие осуществляется в первую очередь с помощью тестирования, а также с помощью ряда других процедур – инспекций и анализа исходного кода, проведения испытаний и т.п.
Выполнение тестов и испытаний обычно документируется с помощью протоколов и поверочных перечней, фиксирующих прохождение или непрохождение теста. При этом возникает задача контроля полноты покрытия требований кодом и тестами, а также обратная задача – нахождения кода и тестов, соответствующих требованиям. Эта задача решается путем установления соответствующих трассировочных связей между всеми артефактами процесса разработки ПО и последующего анализа этих связей на предмет корректности, полноты и непротиворечивости. Трассировка может производиться в двух направлениях: от требований к коду и тестам и в обратном направлении.
В связи с тем, что разработка ПО происходит не одномоментно, а итерационным путем, а также осуществляется коллективом разработчиков, код и тесты формируются и модифицируются в виде последовательных редакций и версий. Также в процессе разработки могут изменяться и дополняться и сами требования, что может повлечь пересмотр кода и тестов. При этом необходимо обеспечить логическую целостность и непротиворечивость конфигурации артефактов проекта (требований, кода и тестов). Эта задача обеспечивается за счет контроля изменений на всех этапах разработки: при начальной разработке, при исправлении ошибочных проектных решений и дефектов кода, а также при внесении правок по результатам тестирования.
Поддержание логической целостности обеспечивается версионированием артефактов разработки и поддержанием связей версионируемых артефактов между собой.
Сопоставление требований и тестов выявляет дефекты и несоответствия, по результатам анализа которых необходимо выработать корректировки кода с целью их устранения. Все изменения должны быть мотивированы и включены в трассировочные цепочки, что обусловлено необходимостью проверять наличие таких мотивировок при внесении изменений и при получении заключения о завершении этой работы.
На практике артефакты разработки, как правило, распределяются по нескольким разнородным и не связанным между собой информационным системам. Требования - в текстовых файлах или системах управления требованиями, код, тесты и протоколы тестирования - в репозиториях, дефекты и несоответствия - в багтрекере, задания на изменения - в системе управления задачами.
Разрабатываемая в ГосНИИАС система АИС УЖЦ позволяет установить связи с внешними репозиториями и трекерами (например, SVN, Git и Redmine) и связать все артефакты разработки между собой трассировочными связями, а также обеспечить версионирование артефактов, которые не версионируются в соответствующих информационных системах.
Также АИС УЖЦ предоставляет собственную среду для импорта или формирования спецификации требований, а также для ведения записей о дефектах и заданиях на их исправление.
Связи могут быть установлены с необходимой степенью грануляции, вплоть до функции исходного кода или блока, пункта требований, пункта протокола и поверочного перечня. Такой подход обеспечивает точную локализацию дефекта или несоответствия, что существенно снижает трудоемкость внесения изменения и его последующую проверку, а также позволяет улучшить качество планирования и оценки трудоемкости работ.
АИС УЖЦ позволяет проводить автоматический анализ трассировочных цепочек, формировать на основе данного анализа технологические артефакты – обеспечивая, тем самым, полностью замкнутый цикл разработки.
Доступ к АИС УЖЦ осуществляется с помощью веб-браузера и не требует установки специализированного клиентского ПО.