Север и рынок. 2019, № 1.

без внесения существенных изменений, значительно увеличивающих требуемое для разработки время. Таким образом, архитектура программного продукта — это его фундамент, определяющий успех дальнейшего развития на годы вперед. Как для автоматизации процесса проектирования сложных технических устройств в настоящее время активно применяется специализированное программное обеспечение, так для автоматизации процесса создания и совершенствования архитектуры программных комплексов был разработан и используется язык UML (Unified Modeling Language) [11]. Данный язык предназначен для визуализации, спецификации, конструирования и документирования программных систем. С его помощью программный комплекс может быть визуально представлен в виде набора сущностей и связей различного уровня. Подобное представление позволяет взглянуть на систему на уровне схемы взаимодействия ее блоков, определить, насколько подобная схема отвечает поставленным целям разработки, и при необходимости оперативно устранить логические неточности. Непосредственно же в программной реализации весьма не лишним будет применение зарекомендовавших себя шаблонов проектирования [12], которые можно сравнить с удачными конструкторскими разработками различных технических узлов, применяемых при производстве сложных механизмов. Любое программное обеспечение представляет собой исходный код на одном из языков программирования. Существует множество языков программирования, каждый из которых предназначен для решения различных задач. На сегодняшний день большинство из них является частью так называемых сред разработки, включающих в себя помимо компилятора языка программирования (с помощью которого исходный код, написанный на этом языке, преобразуется в работающую программу) также целый ряд дополнительных функций, упрощающих работу с исходным кодом. Если провести параллель с производством, среду разработки с ее набором функций можно сравнить с орудиями труда, с помощью которых выпускаются и компонуются в единое целое узлы и агрегаты сложного технического изделия. Это основной инструмент команды программистов, без которого разработка невозможна в принципе. Следовательно, чем более обоснованным будет выбор данного инструмента в соответствии с решаемыми задачами, тем эффективнее эти задачи будут решены. Работа над исходным кодом системы MINEFRAME выполняется в среде Delphi RAD Studio [13], которая, помимо обширного набора различных вспомогательных средств (например, упрощающих разработку интерфейса пользователя и многих других), в том числе имеет и модули для UML-проектирования. Не менее важным аспектом является планирование решаемых задач. Как правило, количество задач, которые необходимо реализовать, значительно превосходит количество разработчиков и их возможности. В связи с этим возникает необходимость планирования задач, подлежащих реализации. На сегодняшний день весьма успешной является методология разработки программного обеспечения Agile [14, 15], позволяющая гибко организовать подобный процесс планирования. Она представляет собой набор рекомендаций, ориентированных на гибкую разработку в условиях постоянно меняющихся требований с учетом обратной связи пользователей и разработчиков. Данные рекомендации могут быть видоизменены разработчиками проекта для достижения максимальной производительности в конкретных условиях. В рамках разработки ГГИС MINEFRAME применяется подход Scrum [16], в соответствии с которым определены временные отрезки, в рамках которых решаются конкретные наборы задач, выбранные из общего набора. В целом планирование задач при разработке программного обеспечения — это своего рода производственный конвейер, по которому каждая задача проходит путь от постановки до ее решения (либо отклонения). Стадии такого конвейера, т. е. возможные состояния, в которых может находиться задача, а также возможные переходы между состояниями, образуют жизненный цикл задачи. Для автоматизации фиксирования задач, разработки их жизненного цикла и прохождения по нему задач предназначены системы управления проектами. В рамках разработки системы MINEFRAME для этих целей применяется система YouTrack [17] от компании JetBrains. В рамках этого программного продукта можно формировать отдельные проекты, в которых реализован учет каждого из этапов жизненного цикла задач. В свою очередь, каждый проект может иметь свои собственные настройки и спецификации, позволяющие учесть различные типы задач, например: • оформление документации — имеет небольшой набор этапов от создания до завершения задач; • составление технического задания — имеет лишь несколько этапов, но требует большего наполнения; • задачи по разработке — имеют наиболее полный жизненный цикл и составляют большинство всех задач. 156

RkJQdWJsaXNoZXIy MTUzNzYz