ЭЛЕКТРОННЫЙ НАУЧНЫЙ ЖУРНАЛ:

ПРОГРАММНЫЕ ПРОДУКТЫ, СИСТЕМЫ И АЛГОРИТМЫ

Добавить статью

Вход Регистрация

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

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

Наиболее явные причины сложности управления требованиями:

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

– широкий диапазон типов требований, при этом каждое отдельно взятое требует детального описания, различной степени проработки;

– необходимость формирования четких приоритетов исполнения предъявляемых требований;

– потребность в трассировке требований и установлении связей между ними;

– обязательное фиксирование изменений требований в ходе реализации проекта.

Самые типичные причины срыва сроков и увеличения бюджета проектов:

– не все требования были услышаны, записаны, выявлены;

– услышанные, записанные, выявленные требования плохо сформулированы;

– уже зафиксированный перечень требований не был своевременно изменен.

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

Учитывая все названные факторы, вряд ли можно сомневаться в актуальности решения задачи управления требованиями, в первую очередь для заказчика.

В государственных учреждениях проблема управления требованиями стоит наиболее остро. Так,
в соответствии с Федеральным законом № 44-ФЗ от 05.04.2013 № 44-ФЗ, в документации о закупке устанавливается твердая цена. В связи с этим в случае возникновения проблем заказчик в лице государственного учреждения не вправе изменять цену договора, поэтому все требования необходимо учитывать
на ранних этапах проектирования системы. Единственное исключение – мелкие доработки, которые укладываются в 10 % от начальной (максимальной) цены договора при заключении дополнительного соглашения.

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

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

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

Выбираемый инструмент станет частью информационной системы (ИС) в виде подсистемы, которая будет взаимодействовать с другими компонентами ИС.

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

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

2) Разграничение доступа – функция, уже реализованная в ИС.

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

4) Собственное файловое хранилище – функция, уже реализованная в ИС.

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

1) Бесплатное распространение. Подсистема подвергнется некоторой доработке под требования к ИС для корректного функционирования. В связи с этим закупать готовый продукт и платить за определенную доработку можно будет лишь при наличии весомого обоснования цены.

2) Интерфейс на русском языке. ИС на данном этапе модернизации функционирует только на территории Российской Федерации, где основным государственным языком является русский. Организация перевода – нежелательный расход средств.

3) Генерация отчетов. Данная функция, как правило, уже реализована в системах управления требованиями, тем не менее, она является важной для любого государственного учреждения.

Далее описаны инструменты управления требованиями, в таблице дана информация об их соответствии перечисленным критериям.

Rational Doors от корпорации IBM

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

Продукт отлично подходит для больших компаний с соответствующими проектами, имеет собственное файловое хранилище, гибкую систему отчетности, возможность интеграции с другими решениями компании IBM, а также с некоторыми внешними системами, такими как Quality Center от HP, Visual studio, Team Foundation Server (TFS), инструментами Microsoft, что, в свою очередь, может оказаться крайне полезным при реализации крупных совместных проектов. Все типы требований охвачены тестовыми наборами, а также возможностью сравнения результатов тестирований и т.д. [1].

Сведения о функционале IBM Rational DOORS приведены в таблице.

CaliberRM от компании Borland

CaliberRM – корпоративная система управления требованиями на этапе процесса создания ПО. Данная система разработана в целях повышения качества создаваемых продуктов и предназначена
для улучшения взаимодействия между участниками проекта, упрощения анализа влияний и процесса передачи информации в сфере управления изменениями исходных требований.

Благодаря наличию централизованного репозитория, упрощается доступ к актуальной информации по проекту или требованию. Также CaliberRM обеспечивает безопасность информации в своем хранилище. Интерактивные дискуссии дадут возможность получить важную информацию, которую не всегда можно найти на совещаниях или в электронных сообщениях. ClaiberRM также может использовать архитектуру сети Интернет с помощью web-клиента, имеет удобный графический интерфейс, уведомляет о важных изменениях, позволяет сортировать требования и назначать приоритеты, ведет уникальный журнал истории изменений и имеет возможность назначать версию изменения любого требования [2].

Анализ функционала CaliberRM представлен в таблице.

Jira от компании Atlassian

Jira – коммерческая система отслеживания ошибок, предназначенная для организации взаимодействия с пользователями. Ее можно приспособить для многих непрофильных задач, одна из которых – управление требованиями. Система основана на Java EE и способна функционировать на нескольких популярных системах управления базами данных (СУБД) и операционных системах (ОС). Она имеет настраиваемые фильтры, настраиваемые процессы, поддерживает более 1 000 надстроек и свое мобильное приложение для связи [3].

Анализ функционала Jira представлен в таблице.

aNimble

Инструмент управления требованиями с открытым исходным кодом, разработанный командой ideaStub. aNimble создан для достижения полного цикла разработки системы. Способен связывать и отслеживать все требования, обладает возможностью разделять права пользователям, имеет стандартный набор свойств для каждого требования, генерирует достаточно подробные отчеты. aNimble – кроссплатформенное клиент-серверное приложение с удобным пользовательским интерфейсом, во многом достигнутым благодаря небольшому набору функций [4].

Анализ функционала aNimble представлен в таблице.

Rational RequisitePro

Rational RequisitePro – еще один продукт от компании IBM, разработанный командой из Rational Software. Инструмент используется, как правило, на стадии анализа, в котором определяются требования, которым должна удовлетворять будущая система.

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

RequisitePro интегрируется с инструментами визуального моделирования компании IBM, например, IBM Rational Software Modeler и IBM Rational Software Architect, средством управления запроса на изменение IBM Rational ClearQuest, инструментами управления тестированием IBM Rational Quality Manager и IBM Rational TestManager, а также со средствами MS office, такими как MS Word и MS Project [5].

Анализ функционала Rational RequisitePro представлен в таблице.

Redmine

Redmine – открытое серверное web-приложение для управления проектами задач, в том числе для отслеживания ошибок, также оно прекрасно подходит для управления требованиями. Redmine написан на Ruby и представляет собой приложение на основе широко известного web-фреймворка Ruby on Rails. Удобный интерфейс продукта позволит легко разобраться в нем даже новичку. Обладает широким спектром плагинов и возможностью написания своих [6].

Анализ функционала Redmine представлен в таблице.

TopTeam Analyst от TechnoSolutions

Top Team Analyst – это система управления требованиями, позволяющая документировать, устанавливать приоритеты и управлять различными видами требований. При хранении требований в виде иерархической структуры инструмент предоставляет возможность построения диаграмм и схем их трассировки [7].

Анализ функционала Top Team Analyst представлен в таблице.

Devprom ALM от ООО «Девпром»

Devprom ALM – современный инструмент для разработки и управления требованиями. Помогает отслеживать и планировать задачи-релизы и вести работу с дефектами, устанавливать приоритеты и оценки. Доступен глоссарий на базе Wiki. Devprom ALM интегрируется с MS Word, Jira, Redmine, Slack, GitHub, New Relic, а также с E-mail [8].

Анализ функционала Devprom ALM представлен в таблице.

Cradle от 3 SL

Cradle – инструмент для системной инженерии. Разработка и управление требованиями – часть системной инженерии и полностью поддерживается Cradle.

Cradle поддерживает любые типы и классификации требований, связей и проектных данных, а также фильтрацию по типам связей. Существует возможность интеграции продукта на разном уровне
со многими популярными внешними инструментами. Система разрабатывалась для промышленного использования и обеспечивает высокую масштабируемость и защищенность – имеются различные международные сертификаты по безопасности. Поддерживает любые стандарты документации, например
по ГОСТ 34 [9].

Анализ функционала Cradle представлен в таблице.

IBM Rational Telelogic DOORS

IBM Rational Telelogic DOORS – семейство инструментов для управления требованиями и создания сложных наукоемких изделий. Telelogic DOORS улучшает качество, обеспечивая прозрачность целей
создания продукта, требований клиентов, технических заданий, стандартов, условий и инструкций.
Обладая широчайшими возможностями для сбора, компоновки, трассировки, анализа и управления
изменениями требований, данное многоплатформенное решение обеспечивает полное соответствие
проектного задания и окончательного результата при соблюдении нормативов и стандартов. Telelogic может работать с одной или несколькими БД с иерархической схемой доступа к ним и благодаря дополнительным опциям использоваться для работы в офисе по локальной сети и для работы через web-интерфейс [10].

Анализ функционала IBM Rational Telelogic DOORS представлен в таблице.

Serena Dimensions от Sirena Software

Serena Dimensions – гибкое функциональное решение, построенное на web-технологиях и позволяющее автоматизировать процессы управления требованиями и потребностями как в направлении информационных технологий, так и в других направлениях деятельности компании. Система успешно интегрируется с другими продуктами конкретной компании и частично с другими, такими как Quality Center и MS Project. Имеет поддержку LDAP [11].

Анализ функционала Serena Dimensions представлен в таблице.

TestTrack RM от Seapine Software

TestTrack RM – новый продукт из серии решений TestTrack 2010, выпущенный компанией Seapine Software, для управления жизненным циклом программных продуктов. Пакет TestTrack RM предоставляет разработчикам коллективную систему контроля требований, которая обеспечивает отслеживание каждого требования от момента поступления до принятия изменений, сделанных в продукте заказчиком, вплоть до полного завершения жизненного цикла продукта.

Пакет TestTrack RM базируется на популярной платформе управления разработкой программных продуктов TestTrack Pro. Новые функции пакета для контроля требований заказчиков помогают выполнить любые задачи, связанные с формализацией требований, включая планирование, отслеживание, фиксирование последствий, процедуры утверждения, оценку проделанной работы и генерацию отчетов. Средства коллективной работы помогают участникам проекта постоянно быть в курсе того, чем занимаются остальные коллеги и как продвигается работа по проекту в целом. Централизованный контроль требований помогает автоматизировать процессы планирования и утверждения изменений, а все шаги этих процессов отображаются в RSS-подписках и уведомлениях по электронной почте.

Пакет TestTrack RM обеспечивает сквозное отслеживание требований: благодаря интеграции с системами TestTrack Pro, TestTrack TCM и другими популярными инструментами управления конфигурацией программных продуктов появляется возможность автоматизировать создание тестовых примеров с учетом всех проблем, обнаруживаемых в ходе разработки продукта. Мощные средства отслеживания изменений позволяют хранить всю документацию по требованиям заказчиков в защищенном центральном репозитории с полным контролем версий документов [12].

Анализ функционала TestTrack RM представлен в таблице.

KanbanFlow от Codekick AB

KanbanFlow – онлайн-инструмент как для индивидуальной, так и для совместной работы над проектами по «бережливой разработке» с методологией Kanban. Сервис позволяет добавлять несколько Kanban-досок для составления планов и отслеживания работы над разнообразными проектами.

Сервис подходит как для повышения личной продуктивности, так и для управления проектом и командой.

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

При желании можно отслеживать потраченное на задания время с помощью таймера. Таймер поддерживает популярный метод Pomodoro для управления временем [13].

Анализ функционала KanbanFlow представлен в таблице.

Teamcenter от Siemens

Teamcenter помогает компаниям выводить на рынок все более сложные изделия, повышая при этом производительность и упрощая работу на глобальном уровне.

Приложение для управления требованиями в системе Teamcenter позволит разработать и обеспечить передачу требований от источника до лиц, принимающих решения. При интеграции решения для управления требованиями с системой по управлению жизненным циклом изделия (PLM) вид требований
усовершенствуется из отдельных автономных электронных таблиц и документов. Файлы становятся доступными для всех участников жизненного цикла изделия. При использовании решения для управления требованиями в системе Teamcenter можно четко отслеживать, постоянно проверять и надежно поддерживать необходимые условия на уровне предприятия. Независимо от того, чем вы занимаетесь – разработкой, производством изделия или участвуете в цепочке поставок, вы можете ссылаться на требования при принятии важных решений и в ходе создания необходимых изделий [14].

Анализ функционала Teamcenter представлен в таблице.

Visual Paradigm for UML компании Visual Paradigm International

VP for UML – это система управления требованиями, поддерживающая полный цикл разработки программного продукта: анализ, дизайн архитектуры, разработка программного кода, тестирование и размещение продукта на стороне заказчика. VP также обеспечивает поддержку версионности и одновременной работы команды пользователей над одним проектом.

VP for UML предоставляет широкие возможности для создания и организации требований. Для создания моделей аналитик в рамках одного проекта может описывать требования, одновременно используя такие стандарты и нотации моделирования, как UML, BMPN, OMG, Mind Maps и ArchiMate (стандарт моделирования структуры и процессов предприятия). Это является большим плюсом, так как,
используя VP for UML, не нужно переключаться между большим количеством программ для создания моделей в различных нотациях, а описание требований различными методами и нотациями должно лишь облегчить понимание проекта [15].

Анализ функционала VP for UML представлен в таблице.

Enterprise Architect от Sparx Systems

Основное назначение инструмента – предоставить возможность моделирования и проектирования приложений при помощи графического языка UML. Однако, поскольку метамодель, заложенная в основу UML, позволяет описать практически любые модели, используемые в разработке ПО, Enterprise Architect (EA) расширяем и предоставляет возможности моделирования бизнес-процессов, БД и т.п.

В последних версиях EA появились возможности по управлению требованиями и изменениями (issue, defect), которые можно привязывать непосредственно к элементам модели. Аналитики теперь могут вести требования непосредственно в моделях EA. Тестировщики могут описывать приемочные тесты непосредственно в EA для каждого элемента модели. Все члены команды могут списывать затраченные часы, связанные с моделированием или реализацией отдельных элементов модели. Также присутствуют функционал управления версиями, возможность организации единого репозитория проектов и моделей на базе СУБД. Обладает поддержкой широкого спектра СУБД, а также возможностью интеграции с небольшим списком внешних систем [16].

Анализ функционала Enterprise Architect представлен в таблице.

Jama Contour компании Jama Software

Jama Contour – web-приложение для управления требованиями, предназначенное для полного цикла реализации проектов. Отличается современным дизайном, возможностью трассировки требований, составления диаграмм, а также управлением версиями. Предоставляет широкий спектр возможностей для тестировщиков, может генерировать подробные отчеты, имеет возможность интеграции с внешними системами. Данный продукт очень широко распространен в крупном сегменте бизнеса, его используют более 600 компаний [17].

Анализ функционала Jama Contour представлен в таблице.

Accompa от Accompa Inc.

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

Для данного инструмента заявлена возможность повторного использования фрагментов каталогов требований [18].

Анализ функционала Accompa представлен в таблице.

Visual Studio от Microsoft

Microsoft Visual Studio – линейка продуктов компании Microsoft, включающих интегрированную среду разработки ПО и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Windows, Windows Mobile, Windows CE, .NET Framework, Xbox, Windows Phone .NET Compact Framework и Silverlight.

Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать и как отладчик уровня исходного кода, и как отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор,
дизайнер классов и дизайнер схемы БД. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода (как, например, Subversion и Visual SourceSafe), добавление новых наборов инструментов (например, для редактирования и визуального проектирования кода на предметно-ориентированных языках программирования) или инструментов для прочих аспектов процесса разработки ПО (например, клиент Team Explorer для работы с Team Foundation Server) [19].

Анализ функционала Visual Studio представлен в таблице.

Bugzilla от Mozilla Foundation

Bugzilla – это система контроля ошибок, предназначенная для регистрации и предоставления заинтересованным лицам целостной информации о состоянии ошибки (запроса), включая интерфейсы для редактирования, запрашивания и поиска, механизмы для почтового и RSS-оповещений. Bugzilla используется также и для управления требованиями [20].

Анализ функционала Bugzilla представлен в таблице.

Анализ функционалов

Инстру-мент

управле-ния

Функционал

Отсутствие встроенной системы безопас-ности

Отсутствие разграни-чения
доступа

Отсутствие глоссария

Отсутствие файлового хранилища

Бесплатное распростра-нение

Интерфейс на
русском
языке

Генерация отчетов

IBM Rational DOORS

-

-

-

-

-

+

+

CaliberRM

-

-

-

-

-

-

+

Jira

-

-

-

-

-

-

+

aNimble

+

-

-

-

+

-

+

Rational

RequisitePro

-

-

-

-

-

+

+

Redmine

+

-

-

+

+

+

+

Top Team Analyst

+

-

-

-

-

-

+

Devprom ALM

+

-

-

-

-

+

+

Cradle

-

-

-

-

-

+

+

IBM
Rational
Telelogic DOORS

-

-

-

-

-

-

+

Serena
Dimensions

+

-

-

-

-

-

+

TestTrack RM

-

-

-

-

-

-

+

KanbanFlow

+

-

+

-

+

-

+

Teamcenter

+

-

-

-

+

-

+

Visual
Paradigm

+

-

+

-

+

-

+

Enterprise Architect

+

-

-

-

+

-

+

Jama
Contour

-

-

-

-

-

-

+

Accompa

+

-

+

-

-

-

+

Visual
Studio

+

-

-

-

-

+

+

Bugzilla

+

-

-

-

-

-

+

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

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

Литература

1. Rational DOORS. URL: http://www-03.ibm.com/software/products/ru/ratidoor (дата обращения: 5.07.2017).

2. CaliberRM. URL: https://www.microfocus.com/products/requirements-management/caliber/ (дата обращения: 5.07.2017).

3. Jira. URL: https://ru.atlassian.com/software/jira (дата обращения: 5.07.2017).

4. aNimble. URL: https://sourceforge.net/ (дата обращения: 5.07.2017).

5. Rational RequisitePro. URL: http://www.finecosoft.ru/reqpro (дата обращения: 5.07.2017).

6. Redmine. URL: http://www.redmine.org/ (дата обращения: 5.07.2017).

7. TopTeam Analyst. URL: http://www.technosolutions.com/topteam_requirements_management.html (дата обращения: 5.07.2017).

8. Devprom. URL: https://devprom.ru/ (дата обращения: 5.07.2017).

9. Cradle. URL: https://www.threesl.com/ (дата обращения: 5.07.2017).

10. Telelogic DOORS URL: http://www.interface.ru/home.asp?artId=20524 (дата обращения: 5.07.2017).

11. Serena Dimensions. URL: http://www.serena.com/index.php?cID=2673 (дата обращения: 5.07.2017).

12. TestTrack. RM URL: https://www.perforce.com/products/helix-requirements-management (дата обращения: 5.07.2017).

13. KanbanFlow. URL: https://kanbanflow.com/ (дата обращения: 5.07.2017).

14. Teamcenter. URL: https://www.plm.automation.siemens.com/ru/products/teamcenter/ (дата обращения: 5.07.2017).

15. Visual paradigm. URL: https://www.visual-paradigm.com/ (дата обращения: 5.07.2017).

16. Enterprise architect. URL: http://www.sparxsystems.com/ (дата обращения: 5.07.2017).

17. Jama Contour. URL: https://www.jamasoftware.com/ (дата обращения: 5.07.2017).

18. Accompa. URL: http://web.accompa.com/ (дата обращения: 5.07.2017).

19. Visual studio. URL: https://www.visualstudio.com/ru/ (дата обращения: 5.07.2017).

20. Bugzilla. URL: https://www.bugzilla.org/ (дата обращения: 5.07.2017).

Комментарии

Комментарии отсутствуют