Научная статья на тему 'СРЕДСТВА И МЕТОДОЛОГИИ РАЗРАБОТКИ ПРОГРАММНЫХ ПРОДУКТОВ'

СРЕДСТВА И МЕТОДОЛОГИИ РАЗРАБОТКИ ПРОГРАММНЫХ ПРОДУКТОВ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
742
85
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРОГРАММНЫЙ ПРОДУКТ / СРЕДСТВО РАЗРАБОТКИ / МЕТОДОЛОГИЯ РАЗРАБОТКИ / ПАРАДИГМА ПРОГРАММИРОВАНИЯ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Харазян А.А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

TOOLS AND METHODOLOGIES FOR DEVELOPING SOFTWARE PRODUCTS

The relevance of the development of software products is due to the widespread digitalization, improvement of hardware, expansion of the scope of digital services. The creation of both local programs and network multiuser applications requires the competent use of existing tools and methodologies for developing software products. It should be noted that there are no universal solutions in this area. The purpose of the work is to review the most popular tools and methodologies for developing software products and to identify areas for their effective use. The results of the work can be used to justify the choice of certain development tools and methodologies when planning the implementation of projects in various fields.

Текст научной работы на тему «СРЕДСТВА И МЕТОДОЛОГИИ РАЗРАБОТКИ ПРОГРАММНЫХ ПРОДУКТОВ»

Средства и методологии разработки программных продуктов

CS CS

о

CS

о ш m

X

<

m О X X

Харазян Айк Арменович

ведущий разработчик, Высшая школа экономики, haykking@gmail.com

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

Первый в мире программный продукт появился во второй половине XIX века, задолго до появления привычных для современного понимания портативных компьютеров. Она была составлена Адой Лавлейс и представляла из себя последовательность действий для вычисления чисел Бернулли с использованием аналитической вычислительной машины Чарльза Бэббиджа. В то время основной идеей создания вычислительных машин было желание упростить сложные расчеты и минимизировать человеческий фактор возникновения ошибок при решении задач. На сегодняшний день электронные вычислительные устройства прочно вплетены в нашу повседневную жизнь, сферу услуг, процессы производства, экономики и государственного управления. Создание программных продуктов нацелено на решение ряда задач:

- повышение эффективности управления сложными организационными системами;

- автоматизация процессов учета и распределения финансовых и нефинансовых активов;

- повышение эффективности производства;

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

- удаленное предоставление государственных и муниципальных услуг;

- повышение уровня комфорта повседневной жизни;

- обеспечение функционирования электронных устройств (в том числе их взаимодействия);

- автоматизация решения задач, связанных с обработкой больших данных.

Велико разнообразие функций, которые реализуются с применением современных программно-аппаратных комплексов. В условиях действия различных санкций и процесса импортозамещения широко востребованы специалисты уверенно владеющие средствами разработки программных продуктов функционирующих на отечественных процессорах (например, Байкал, Эльбрус) под управлением российских операционных систем (например, ALT Linux, Astra Linux).

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

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

Средства создания программных продуктов - совокупность различных методов, методик, приемов, наборов инструментальных средств, используемых программистом для создания исполняемого кода [4].

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

- проектирование;

- реализация;

- тестирование.

Этапы, для реализации которых не требуются средства разработки, здесь не представлены.

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

- BPMN-система условных обозначений и их описания (Bizagi Process Modeler 2.6, Enterprise architect 11.4, ELMA BPM 3.2, ARIS Express 2.4, BPM 2.0 modeler for Visio 4.1.1);

- среда разработки блок-схем (Microsoft Visio, Flying Logic, Edraw MAX, AFCE Редактор Блок-Схем, FCEditor, Dia, BreezeTree Software FlowBreeze, BlockShem);

- ER-диаграмы (MS Visio, Draw.io, Vertabelo, Vertabelo);

- UML-диаграмы (Lucidchart, Edraw Max, Gliffy, Cacoo);

- математические модели, макеты и т.д.

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

- объектно-ориентированное;

- императивное;

- функциональное;

- структурное;

- логическое.

Выбор того или иного подхода в дальнейшем накладывает определенные ограничения на применение средств реализации программного кода [2, 10]. К таким средствам в первую очередь стоит отнести языки программирования. Далее приведен индекс популярности языков программирования по данным международного сообщества разработчиков TIOBE [18] по состоянию на октябрь 2022 г. (таблица 1)

Таблица 1

№ п/п Наименование Рейтинг, % Изменение за год, %

1 I® Python 17,08 + 5,81

2 a 15,21 + 4,05

3 â, Java 12,84 + 2,38

4 0 9,92 + 2,42

5 0, 4,42 - 0,84

6 Visual Basic 3,95 - 1,29

7 JS JavaScript 2,74 + 0,55

8 ^^^ Assembly language 2,39 + 0,33

9 php PHP 2,04 - 0,66

10 SQL 1,78 - 0,39

11 GO Go 1,27 - 0,01

12 R R 1,22 + 0,33

13 0 1,21 + 0,76

14 MATLAB 1,18 - 0,02

15 o Swift 1,05 - 0,06

16 Ruby 0,88 - 0,24

17 Classic Visual Basic 0,87 - 0,96

18 Delfi/Object Pascal 0,85 - 0,09

19 & ^^^ Fortran 0,79 - 0,29

20 Vx Rust 0,70 + 0,17

Существует более 50 языков программирования, которые активно используются разработчиками по всему миру для решения различных задач. Так, например, наиболее популярный на сегодня Python целесообрахно использовать следующих сферах:

- DevOps (для написания скриптов и серверных компонентов);

- тестирование (используется наравне с Java);

- машинное обучение и Data science (в качестве инструмента апробации) [11];

- веб-скрейпинг (используется с бибиотеками Beautifulsoup, Requests и API для Selenium);

- веб-разработка (с использованием фреймворков Flask, Aiohttp, Django, Tornado, Twisted).

X

го m

о

to о to to

<

GQ

0

1 I

Языку программирования C уже 50 лет и он все также эффективен для решения ряда задач в следующих сферах:

- операционные системы (применяется наряду с C++);

- микроконтроллеры;

- драйверы (ближайший конкурент Assembly language);

- сервисы, для которых критично быстродействие.

Главными плюсами языка программирования Java

большинство специалистов называют его адаптивность и масштабируемость. Он применим во многих сферах, основные из которых:

- облачные проекты (более 58% корпоративных облачных проектов созданы с использованием Java);

- мобильные приложения для операционной системы Android;

- AR/VR (виртуальная и дополненная реальность) [16];

- программный инструментарий (например, Eclipse, Netbeans, Jira)

- аналитика данных (внедрение Kafka и Hadoop);

- беспилотные автомобильные платформы;

- робомедицина (робот Xiaoyi сдал экзамен для получения медицинской лицензии);

- создание спецэффектов в кино (например, Industrial Light and Magic).

Помимо языков программирования для реализации программного кода используют следующие средства:

- получения исполняемого кода;

- управления базами данных;

- создания пользовательского интерфейса.

Заключительным этапом процесса разработки программного продукта является тестирование. Для создания тестов широко используются языки программирования Java и Python. В процессе тестирования проводятся проверки процессов установки, взаимодействия, удобства использования, безопасности, восстановления, устойчивости к нагрузкам [1, 3, 5, 8]. Для решения этих задач используются следующие средства:

- профилирования и анализа кода;

- тестирования производительности;

- тестирования функциональности.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Какие именно средства будут использованы для реализации конкретного проекта во многом зависит от поставленных перед командой разработчиков задач. При этом выбор не ограничивается только лишь инструментальными средствами [4, 6, 9], возможно включение в этот набор апробированные методики, и подходы, паттерны проектирования.

Для разработки всего многообразия программных продуктов используют одну из основных методологий [7, 12-15, 17]. Выбор зависит от целей, которые должны быть достигнуты, системы финансирования, опыта разработчиков и даже субъективных предпочтений заказчика.

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

Проектирование

Цикл разработки программного обеспечения

^ Дизайн <—-

—* ^^^ Кодирование

— Тестирование

» ^ Поддержка

Рисунок 1 - Цикл разработки при использовании каскадной методологии.

Каскадную методологию рационально использовать:

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

- доступны программисты нужной квалификации;

- проект относительно небольшой.

У-образная методология подразумевает последовательное выполнение. Ключевой особенностью является ориентированность на тестирование и проверку программного продукта, начиная с первых стадий разработки (рисунок 2).

Бизнес-требования

Функциональные требования

Архитектура

Приемо-сдаточное тестирование

Функциональное тестирование

Интеграционное тестирование

Модульное тестирование

Рисунок 2 - Разработка при использовании У-образной методологии.

У-образную методологию целесообразно использовать:

- при необходимости тщательного тестирования и проверки программного продукта;

- для небольших и средних проектов, которых требования определены и зафиксированы;

- при доступности квалифицированных тестиров-щиков.

Инкрементная методология предполагает разделение общего пакета требований на различные сборки. Эти элементы составляют несколько циклов разработки, в дальнейшем объединяемых в «мульти-водо-пад». На первом этапе выпускается продукт с базовым набором функций, в дальнейшем происходит их постепенное добавление до момента создания полноценного продукта (рисунок 3).

Рисунок 3 - Разработка при использовании инкрементной методологии.

Инкрементную методологию целесообразно использовать:

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

- необходим ранний запуск продукта с базовым функционалом;

- есть ряд непредсказуемых особенностей или целей.

RAD-методология (быстрая разработка приложений) является разновидностью инкрементной методологии. Предполагается параллельная разработка несколькими командами одновременно, при этом временные рамки выполнения одного цикла жестко определены. Синергия позволяет очень быстро представить заказчику рабочий прототип для получения обратной связи и последующей доработки (рисунок 4).

Рисунок 4 - Разработка при использовании V-образной методологии.

RAD-методологию целесообразно применять:

- при доступности узкоспециализированных и квалифицированных архитекторов;

- финансирование проекта позволяет не экономить;

- при необходимости срочной разработки.

Гибкая методология (Agile) предполагает наличие

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

встречи и повторяющиеся собрания (рисунок 5). Ежедневно на совещаниях участники команды анализируют:

- результаты проделанной работы с момента крайнего Scrum'a;

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

- сложности, появляющиеся в ходе работы.

\

Планирование / \

Демонстрация "] Раэработк \ /

Тестирование

Внедрение (Опционально)

/ \ N

\ /

Рисунок 5 - Разработка при использовании гибкой методологии.

Гибкую методологию целесообразно использовать:

- когда потребности динамично меняются;

- при необходимости частого внесения изменений;

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

Итеративная (итерационная) методология на начальном этапе не требует полного технического задания. Работа начинается с реализация некоторой части функционала, которая становится основой для определения дальнейших требований (рисунок 6).

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

Инкрементая модель

2 3

Итеративная модель

т§щ 3 • « 1*1

Рисунок 6 - Разработка при инкрементной и итеративной методологиях.

I I О CD А J=

сч сч о

CS

о ш m

X

<

m О X X

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

Итеративную методологию целесообразно использовать:

- конечные требования на начальном этапе четко не определены;

- проект очень большой;

- основная задача определена, но детали реализации могут изменяться с течением времени.

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

Литература

1. Вечеркин, В. Б. Методика оценивания устойчивости функционирования автоматизированной системы управления критической информационной инфраструктурой в условиях информационного воздействия / В. Б. Вечеркин, А. В. Галанкин, М. А. Прохоров // Известия Тульского государственного университета. Технические науки. - 2018. - № 6. - С. 160-170. - EDN VMCYQL.

2. Володин, В. Д. Средства разработки и отладки программного обеспечения отечественных микропроцессорных устройств (часть 2) / В. Д. Володин, А. А. Шаронов, И. С. Полевщиков // Science Time. - 2016. - № 1(25). - С. 91-94. - EDN VLIUFJ.

3. Галанкин, А. В. Разработка алгоритма обеспечения безопасности программного обеспечения системы специального назначения / А. В. Галанкин, М. А. Прохоров, М. Н. Квасов // Известия Тульского государственного университета. Технические науки. - 2018. - № 1. -С. 239-245. - EDN YVPRWN.

4. Голенищев, Э. П. К вопросу выбора инструментального средства для разработки программного обеспечения / Э. П. Голенищев, И. В. Клименко // StudNet. -2022. - Т. 5. - № 2. - EDN PXDZWM.

5. Гончаров, А. М. Подход к решению задачи оценивания устойчивого функционирования информационной системы на примере центра обработки данных / А. М. Гончаров, С. В. Чащин, М. А. Прохоров // T-Comm: Телекоммуникации и транспорт. - 2017. - Т. 11. - № 4. - С. 20-25. - EDN YNTFCL.

6. Извеков, Я. О. Инструментальные средства разработки программного обеспечения мониторинга с мультимедийным отображением информации : специальность 05.13.11 "Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей" : диссертация на соискание ученой степени кандидата технических наук / Извеков Ярослав Олегович. - Иркутск, 2004. - 128 с. - EDN NMSPSN.

7. Каспарович, Е. В. Особенности выбора методологии разработки при разработке программного обеспечения / Е. В. Каспарович // Молодой исследователь: вызовы и перспективы : Сборник статей по материалам

LCVIII международной научно-практической конференции : Общество с ограниченной ответственностью "Интернаука", 2018. - С. 346-349. - EDN YQSVML.

8. Квасов, М. Н. Развитие российского рынка выявления и анализа вредоносных компьютерных программ / М. Н. Квасов // Современная наука: актуальные проблемы теории и практики. Серия: Естественные и технические науки. - 2022. - № 5. - С. 79-84. - DOI 10.37882/2223-2966.2022.05.18. - EDN GUSLIY.

9. Кушнерова, И. А. Анализ инструментальных программных средств разработки прикладного программного обеспечения поддержки и сопровождения учебного процесса / И. А. Кушнерова, В. Б. Дудоров // Университетский комплекс как региональный центр образования, науки и культуры : материалы Всероссийской научно-методической конференции, Оренбург, 31 января - 02 2018 года / Министерство образования и науки РФ, ФГБОУ ВО "Оренбургский государственный университет". - Оренбург: Оренбургский государственный университет, 2018. - С. 723-726. - EDN YTVEZK.

10. Логвинова, К. В. Современные технологии и средства разработки программного обеспечения / К. В. Логвинова // Бизнес-информатика. - 2007. - № 2(2). - С. 45-53. - EDN LSQMNT.

11. Мосин, Д. А. Методологический подход к совершенствованию автоматизированных систем управления сложными организационно - техническими системами специального назначения на основе внедрения технологий искусственного интеллекта / Д. А. Мосин, А. Ю. Цветков, М. А. Прохоров // Вопросы оборонной техники. Серия 16: Технические средства противодействия терроризму. - 2021. - № 11-12(161-162). - С. 3-14. - EDN WUVPYM.

12. Пономарева, А. Н. О применении гибких методологий при управлении разработкой программного обеспечения / А. Н. Пономарева, А. Р. Давлетбердина, Г. Н. Верхотурова // Информационные технологии интеллектуальной поддержки принятия решений : труды V Всероссийской конференции (с приглашением зарубежных ученых), Уфа, 16-19 мая 2017 года. - Уфа: ГОУ ВПО "Уфимский государственный авиационный технический университет", 2017. - С. 100-102. - EDN YMHCCT.

13. Ревенко, В. Г. Сравнение процессов разработки программного обеспечения по методологиям PMBOK и Agile / В. Г. Ревенко, Ш. В. Джабраилов // Молодой ученый. - 2018. - № 17(203). - С. 33-37. - EDN XNLYQP.

14. Русанова, В. Л. Анализ методологий процесса разработки программного обеспечения / В. Л. Русанова // Альманах научных работ молодых ученых Университета ИТМО : Материалы XLVI научной и учебно-методической конференции, Санкт-Петербург, 31 января - 03 2017 года. - Санкт-Петербург: Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, 2017. - С. 164-168. - EDN XVUCPR.

15. Самылкина, Е. Н. Современные методологии управления проектами в сфере разработки программного обеспечения / Е. Н. Самылкина, М. В. Бикеева // Социально-экономическое управление: теория и практика. - 2018. - № 4(35). - С. 124-128. - EDN VSFMGC.

16. Фролов, И. А. Методология разработки программного обеспечения для устройств виртуальной и дополненной реальности / И. А. Фролов, Х. М. Салех // Методы и устройства передачи и обработки информации. -2017. - № 19. - С. 67-73. - EDN ZBFUGH.

17. Edison Еще раз про семь основных методологий разработки [Эл. ресурс] // Режим доступа : https://habr.com/ru/company/edison/blog/269789/ свободный : (5.10.2022 г.).

18. TIOBE Index for October 2022 [Эл. ресурс] // Режим доступа : https://www.tiobe.com/tiobe-index/ свободный : (5.10.2022 г.).

Tools and methodologies for developing software products Kharazyan H.A.

Higher School of Economics

JEL classification: C10, C50, C60, C61, C80, C87, C90_

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

The relevance of the development of software products is due to the widespread digitalization, improvement of hardware, expansion of the scope of digital services. The creation of both local programs and network multiuser applications requires the competent use of existing tools and methodologies for developing software products. It should be noted that there are no universal solutions in this area. The purpose of the work is to review the most popular tools and methodologies for developing software products and to identify areas for their effective use. The results of the work can be used to justify the choice of certain development tools and methodologies when planning the implementation of projects in various fields. Keywords: software product, development tool, development methodology,

programming paradigm. References

1. Vecherkin, V. B., Galankin, A. V., Prokhorov, M. A. Methods for assessing

the stability of the functioning of an automated control system for critical information infrastructure under information impact, Izvestiya Tula State University. Technical science. - 2018. - No. 6. - P. 160-170. - EDN VMCYQL.

2. Volodin, V. D., Sharonov A. A., Polevshchikov I. S. Software development

and debugging tools for domestic microprocessor devices (part 2) // Science Time. - 2016. - No. 1 (25). - S. 91-94. - EDN VLIUFJ.

3. Galankin, A. V. Development of an algorithm for ensuring the security of

software for a special-purpose system / A. V. Galankin, M. A. Prokhorov, M. N. Kvasov // Bulletin of the Tula State University. Technical science. - 2018. - No. 1. - S. 239-245. - EDN YVPRWN.

4. Golenishchev, E.P., Klimenko I.V. On the issue of choosing a tool for

software development / E.P. Golenishchev, I.V. Klimenko // StudNet. -2022. - V. 5. - No. 2. - EDN PXDZWM.

5. Goncharov, A. M., Chaschin S. V., Prokhorov M. A. Approach to solving

the problem of assessing the sustainable functioning of an information system on the example of a data processing center // T-Comm: Telecommunications and transport. - 2017. - T. 11. - No. 4. - S. 20-25. -EDN YNTFCL.

6. Izvekov, Ya. O. Development tools for monitoring software with multimedia

display of information: specialty 05.13.11 "Mathematical and software support for computers, complexes and computer networks": dissertation for the degree of candidate of technical sciences / Izvekov Yaroslav Olegovich. - Irkutsk, 2004. - 128 p. - EDN NMSPSN.

7. Kasparovich, E. V. Features of the choice of development methodology in

software development / E. V. Kasparovich // Young researcher: challenges and prospects: Collection of articles based on the materials of the LCVIII international scientific and practical conference: Limited Liability Company "Internauka", 2018. - S. 346-349. - EDN YQSVML.

8. Kvasov, M. N. Development of the Russian market for detection and

analysis of malicious computer programs / M. N. Kvasov // Modern science: actual problems of theory and practice. Series: Natural and technical sciences. - 2022. - No. 5. - S. 79-84. - DOI 10.37882/22232966.2022.05.18. - EDN GUSLIY.

9. Kushnerova, I. A. Analysis of software tools for the development of applied

software for support and maintenance of the educational process / I. A. Kushnerova, V. B. Dudorov // University complex as a regional center of education, science and culture: materials of the All-Russian Scientific and methodological conference, Orenburg, January 31 - 02, 2018 / Ministry of Education and Science of the Russian Federation, Orenburg State University. - Orenburg: Orenburg State University, 2018. - S. 723726. - EDN YTVEZK.

10. Logvinova, K. V. Modern technologies and software development tools / K. V. Logvinova // Business Informatics. - 2007. - No. 2(2). - S. 45-53. -EDN LSQMNT.

11. Mosin, D. A. Methodological approach to improving automated control systems for complex organizational and technical systems for special purposes based on the introduction of artificial intelligence technologies / D. A. Mosin, A. Yu. Tsvetkov, M. A. Prokhorov // Questions of defense technology. Series 16: Technical means of countering terrorism. - 2021. - No. 11-12 (161-162). - P. 3-14. - EDN WUVPYM.

12. Ponomareva, A. N. On the use of flexible methodologies in managing software development / A. N. Ponomareva, A. R. Davletberdina, G. N. Verkhoturova // Information technologies for intelligent decision support: Proceedings of the V All-Russian Conference (with invitation of foreign scientists), Ufa, May 16-19, 2017. - Ufa: GOU VPO "Ufa State Aviation Technical University", 2017. - P. 100-102. - EDN YMHCCT.

13. Revenko, V. G. Comparison of software development processes according to PMBOK and Agile methodologies / V. G. Revenko, Sh. V. Dzhabrailov // Young scientist. - 2018. - No. 17 (203). - S. 33-37. - EDN XNLYQP.

14. Rusanova, V. L. Analysis of methodologies of the software development process / V. L. Rusanova // Almanac of scientific works of young scientists of ITMO University: Proceedings of the XLVI scientific and educational conference, St. Petersburg, January 31 - 03, 2017. - St. Petersburg: St. Petersburg National Research University of Information Technologies, Mechanics and Optics, 2017. - P. 164-168. - EDN XVUCPR.

15. Samylkina, E. N. Modern methodologies of project management in the field of software development / E. N. Samylkina, M. V. Bikeeva // Socioeconomic management: theory and practice. - 2018. - No. 4 (35). - S. 124-128. - EDN VSFMGC.

16. Frolov, I. A. Methodology of software development for virtual and augmented reality devices / I. A. Frolov, Kh. Transmission and processing of information. - 2017. - No. 19. - P. 67-73. - EDNZBFUGH.

17. Edison Once again about the seven main development methodologies [El. resource] // Access mode: https://habr.com/ru/company/edison/blog/269789/ free: (October 5, 2022).

18. TIOBE Index for October 2022 [El. resource] // Access mode: https://www.tiobe.com/tiobe-index/ free: (October 5, 2022).

X X

о

го А с.

X

го m

о

м о м м

i Надоели баннеры? Вы всегда можете отключить рекламу.