Математическое и программное обеспечение IT-процессов разработки и тестирования кроссплатформенных мобильных приложений на основе аппарата конечных автоматов тема диссертации и автореферата по ВАК РФ 05.13.11, кандидат наук Черников Вячеслав Николаевич

  • Черников Вячеслав Николаевич
  • кандидат науккандидат наук
  • 2019, ФГБОУ ВО «Воронежский государственный технический университет»
  • Специальность ВАК РФ05.13.11
  • Количество страниц 141
Черников Вячеслав Николаевич. Математическое и программное обеспечение IT-процессов разработки и тестирования кроссплатформенных мобильных приложений на основе аппарата конечных автоматов: дис. кандидат наук: 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей. ФГБОУ ВО «Воронежский государственный технический университет». 2019. 141 с.

Оглавление диссертации кандидат наук Черников Вячеслав Николаевич

1.1. Анализ проблем и особенностей разработки мобильных приложений

1.2. Анализ инструментов разработки мобильных приложений

1.2.1. Классификация инструментов разработки мобильных приложений

1.2.2. Анализ архитектур и программных интерфейсов операционных систем для мобильных устройств

1.2.3. Архитектуры кроссплатформенных приложений

1.2.4. Результаты анализа инструментов разработки мобильных приложений

1.3. Анализ типовых архитектур, паттернов проектирования и документирования мобильных приложений

1.3.1. Анализ типовых архитектур и паттернов

1.3.2. Анализ подходов к документированию мобильных приложений

1.4. Цель работы и задачи исследования

2. Модели и алгоритмы препроцессора для разработки мобильных приложений

2.1. Расширение типового итерационного процесса разработки мобильных приложений

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

2.3. Модель описания отдельных экранов пользовательского интерфейса

2.4. Модель описания пользовательского интерфейса мобильных приложений на основе аппарата конечных автоматов

2.5. Математическая модель описания пользовательского интерфейса на основе аппарата конечных автоматов

2.6. Модель описания функциональности мобильного приложения, не связанной с пользовательским интерфейсом

2.7. Модель многослойной архитектуры кроссплатформенных мобильных приложений

2.8. Алгоритм описания моделей данных на основе пользовательского интерфейса

2.9. Модель описания сценариев человеко-машинного взаимодействия

2.10. Алгоритм работы препроцессора для подготовки проектной документации

2.11. Выводы

3. Автоматизация процесса сборки, тестирования, публикации и мониторинга мобильных приложений

3.1. Модернизация практик DevOps при разработке кроссплатформенных мобильных приложений

3.2. Алгоритм работы автоматического конвейера CI/CD

3.3. Алгоритм запуска UI-тестов в облачном сервисе с целью автоматизации контроля качества мобильных приложений

3.4. Автоматизация дистрибуции мобильных приложений

3.5. Модели ошибок для автоматического мониторинга работоспособности мобильного приложения

3.6. Вычисление метрик человеко-машинного взаимодействия на основе аппарата конечных автоматов

3.7. Анализ результатов автоматизации процесса сборки, тестирования, дистрибуции и мониторинга мобильных приложений

3.8. Выводы

4. Программная реализация постпроцессора

4.1. Структура выходной документации и интеграционные требования к постпроцессору

4.2. Алгоритм реинжиниринга исходных кодов с целью генерации технической документации и выявления структурных ошибок

4.3. Программные инструменты для генерации технической документации

4.3.1. Генерация графических представлений архитектуры

решения, структуры пользовательского интерфейса и карты переходов

4.3.2. Генерация HTML-документации для таблиц описания экранов, сервисов бизнес-логики, структурных ошибок и дополнительной информации

4.4. Программные инструменты для интеграции постпроцессора с внешними сервисами и рабочим окружением

4.5. Структура программного комплекса, реализующего постпроцессор

4.6. Выводы

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

5.1. Анализ процесса обращения ТКО с использованием раздельного сбора и обоснование необходимости создания единой ИТ-платформы

5.2. Верхнеуровневая архитектура ИТ-платформы

5.3. Разработка кроссплатформенных мобильных приложений, входящих в состав программно-аппаратного комплекса

5.3.1. Кроссплатформенное мобильное приложение для приема заявок и жалоб от населения

5.3.2. Кроссплатформенное мобильное приложение для сотрудников бизнес-организации

5.3.3. Кроссплатформенное мобильное приложение для обучения

детей

5.4. Выводы

Заключение

Список использованных источников

Приложение 1. Квалификационные сертификаты и дипломы Черникова В.Н

Приложение 2. Акты внедрения и апробация результатов диссертационного исследования

Рекомендованный список диссертаций по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

Введение диссертации (часть автореферата) на тему «Математическое и программное обеспечение IT-процессов разработки и тестирования кроссплатформенных мобильных приложений на основе аппарата конечных автоматов»

ВВЕДЕНИЕ

Актуальность темы. Мобильные приложения являются быстрорастущим направлением развития информационных технологий, так по прогнозам в 2020 году во всем мире будет более 2,5 млрд. пользователей смартфонов, а количество установок приложений превысит 350 млрд. Также мобильные приложения для смартфонов и планшетных компьютеров становятся важным элементом корпоративных систем. Однако разработка мобильных приложений имеет свои характерные особенности:

- высокая фрагментация по операционным системам (iOS, Android, Windows, Tizen, Sailfish OS и др.), версиям предустановленных операционных систем, размерам и разрешениям экранов, производительности и доступной функциональности;

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

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

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

В области проектирования и разработки программного обеспечения такие исследователи как Стив МакКоннелл, Роберт С. Мартин, Джоэл Спольски, Том Демарко, Тимоти Листер, Майк Кон, Крейг Ларман, Алистер Кокберн и Пол Дювалл описали различные походы к разработке программного обеспечения на высоком уровне абстракции. Однако практическое

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

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

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

Тематика диссертационной работы соответствует одному из основных научных направлений ФГБОУ ВО «Воронежский государственный технический университет» «Вычислительные комплексы и проблемно-ориентированные системы управления».

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

Задачи исследования:

1. Провести системный анализ структуры 1Т-процесса разработки мобильных приложений, включая кроссплатформенные фреймворки.

2. Разработать алгоритм функционирования препроцессора для подготовки проектной документации и структуры программного кода на базе модели конечного автомата.

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

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

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

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

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

Предмет исследования: математическое и программное обеспечение для разработки кроссплатформенных мобильных приложений.

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

Соответствие диссертации паспорту специальности. Результаты соответствуют следующим пунктам паспорта специальности 05.13.11

«Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей»:

- п. 3 «Модели, методы, алгоритмы, языки и программные инструменты для организации взаимодействия программ и программных систем»;

- п. 7 «Человеко-машинные интерфейсы; модели, методы, алгоритмы и программные средства машинной графики, визуализации, обработки изображений, систем виртуальной реальности, мультимедийного общения».

- п. 10 «Оценка качества, стандартизация и сопровождение программных систем».

Научная новизна. В диссертации получены следующие результаты, характеризующиеся научной новизной:

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

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

3. Алгоритм конвейера автоматической сборки, тестирования, дистрибуции и мониторинга работоспособности мобильных приложений,

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

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

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

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

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

Положения, выносимые на защиту:

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

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

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

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

Реализация и внедрение результатов работы. В рамках диссертационной работы реализовано программное обеспечение «Постпроцессор автоматической генерации технической документации по исходным кодам кроссплатформенных мобильных приложений». Разработанные средства внедрены в деятельность Quantori, LLC (г. Вабан, Массачусетс, США) и ООО «Байнвелл» (г. Воронеж) в интересах визуализации структуры и архитектуры, контроля качества мобильных приложений, а также в учебный процесс кафедры АВС ВГТУ.

Апробация результатов работы. Основные результаты диссертационного исследования докладывались и обсуждались на следующих научных и практических конференциях: Практических конференциях Microsoft DevCon 2016 (Москва, 2016), Microsoft DevCon School 2016 (Москва,

2016), Microsoft Xamarin Meetup (Москва, 2016), Developer Day 2017 (Иваново,

2017), DevOps Pro 2017 (Москва, 2017), Microsoft DevCon School 2017 (Москва, 2017), RootConf 2018 (Москва, 2018), Xamarin Day (Москва, 2018), Microsoft MobilE3 Workshop (Москва, 2018), Microsoft Azure Atlas 2018 (Москва, 2018); Международных научных конференциях FRUCT 23 (Болонья, Италия, 2018), Internet Technologies and Society 2019 (Гонконг, Китай, 2019), «Системы компьютерной математики и их приложения 2019» (Смоленск, 2019), а также на научных семинарах кафедры АВС ВГТУ.

Публикации. По теме диссертации опубликовано 9 научных работ, в том числе 4 - в изданиях, рекомендованных ВАК РФ, 1 - в издании,

индексируемом в международной цитатно-аналитической базе данных Scopus, получено 2 свидетельства о государственной регистрации программ для ЭВМ.

В работах, опубликованных в соавторстве, лично соискателю принадлежат: [53] - анализ процесса разработки мобильных приложений на базе модели мобильных агентов; [54] - описание алгоритмов работы автоматического конвейера компоновки, тестирования и дистрибуции кроссплатформенных мобильных приложений; [55] - анализ процесса разработки мобильных приложений, включая кроссплатформенные фреймворки, на основе сравнения их архитектур.

Структура и объем работы. Диссертационная работа состоит из введения, пяти глав, заключения, списка литературы из 126 наименований, двух приложений. Работа изложена на 141 странице, содержит 59 рисунков, 9 таблиц.

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

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

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

многослойной (Layered) архитектуры при создании кроссплатформенных мобильных приложений.

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

В третьей главе описаны алгоритмы и подходы автоматизации процессов сборки, тестирования, дистрибуции и мониторинга работоспособности кроссплатформенных мобильных приложений. Предложен модифицированный алгоритм работы автоматического конвейера Continuous Integration/Continuous Delivery (CI/CD), учитывающий особенности кроссплатформенных мобильных приложений и позволяющий ускорить сборку и тестирование версий продукта.

Четвёртая глава описывает структуру программного комплекса для реализации постпроцессора с целью визуализации архитектуры и структуры исходных кодов мобильных приложений.

С целью актуализации технической документации по проекту был разработан программный комплекс (постпроцессор), позволяющий добавить к алгоритму работу конвейера CI/CD дополнительный подпроцесс.

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

В заключении сформулированы основные научные и практические результаты диссертационного исследования.

1. АНАЛИЗ ИНСТРУМЕНТОВ И ОСОБЕННОСТЕЙ РАЗРАБОТКИ

МОБИЛЬНЫХ ПРИЛОЖЕНИЙ

1.1. Анализ проблем и особенностей разработки мобильных

приложений

В работе рассматривается такой класс программного обеспечения, как мобильные приложения. В отличие от рынка стационарных компьютеров, где доминирует Windows и серверных систем, где рынок поделен между Windows и Linux, на рынке мобильной разработке есть 2 ведущие платформы: Apple iOS, Google Android. Дополнительно, к мобильным операционным системам можно отнести Windows UWP (Windows 8 и выше), которая сочетает в себе парадигмы традиционных настольных систем и мобильных систем с поддержкой сенсорных экранов, смартфонов и планшетов. С целью оптимизации расходов, увеличения скорости разработки и использования существующих компетенций, все шире начинают использоваться инструменты кроссплатформенной мобильной разработки.

При разработке мобильных приложений следует учитывать следующие особенности (характерные проблемы):

1) Различные операционные системы (ОС) и их версии. Приложение должно корректно работать на широком спектре версий ОС, каждая из которых имеет свои особенности и ограничения.

2) Различные варианты архитектуры центрального процессора. Аппаратная часть смартфонов и планшетов постоянно улучшается, хотя в то же время реальные пользователи могут запускать приложение на устройствах пятилетней давности.

3) Различные разрешения экранов устройств. Независимо от количества пикселей или соотношения сторон, интерфейс мобильного приложения должен корректно отображаться на всех устройствах.

Также мобильная разработка имеет свои специфические проблемы:

- необходимость поддерживать несколько операционных систем (iOS/Android, реже Windows UWP);

- большое количество моделей устройств (к середине 2019 году на рынке было выпущено более 30000 моделей смартфонов и планшетов, плюс необходимо учитывать различные версии ОС, которые могут быть установлены на каждую модель устройства, также каждый производитель модифицирует ОС под конкретную модель и свое программное обеспечение);

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

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

1.2. Анализ инструментов разработки мобильных приложений

1.2.1. Классификация инструментов разработки мобильных

приложений

Исторически на рынке компьютеров всегда существовала конкуренция и каждый производитель предоставлял оптимальный набор так называемых «нативных» (родных) инструментов для разработки приложений под свои операционные системы и устройства. Нативные средства разработки обеспечивают максимальную производительность и доступ к возможностям операционной системы (далее ОС).

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

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

Вторым важным моментом является наличие необходимых компетенций (знаний и опыта) внутри команды - если их нет, то потребуется время на обучение.

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

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

- использовать существующие компетенции и специалистов для реализации приложений на новых платформах.

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

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

Таким образом, инструменты разработки мобильных приложений можно классифицировать на два больших класса:

1. нативные инструменты;

2. кроссплатформенные инструменты.

В данной работе проведен сравнительный анализ наиболее популярных инструментов кроссплатформенной разработки мобильных приложений:

PhoneGap, ReactNative и Xamarin. В качестве целевых платформ рассматриваются операционные системы iOS, Android и Windows UWP.

1.2.2. Анализ архитектур и программных интерфейсов операционных систем для мобильных устройств

Ключевой принцип, лежащий в основе кроссплатформенных приложений - разделение программного кода на 2 части:

- кроссплатформенную, исполняемую в виртуальном окружении и имеющую ограниченный доступ к возможностям целевой операционной системы через специальный мост (bridge);

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

Общая архитектуры кроссплатформенных приложений показана на рисунке 1. 1.

¡OS Android Windows UWP

Рис. 1.1. Общая архитектура кроссплатформенного приложения

Для связи между "нативной" и "кроссплатформенной" частями, необходимо использовать специальный мост (bridge), который и определяет

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

Все кроссплатформенные приложения обязаны иметь нативную часть, а также взаимодействовать с целевой операционной системой, поэтому далее будет рассмотрено, какие системные API предоставляются iOS, Android и Windows.

1.2.2.1. Архитектура iOS

Операционная система iOS является ответвлением настольной macOS, которая в свою очередь была создана на базе NextStep OS, созданной на базе Unix. Нативную разработку необходимо осуществлять на языках Objective C и Swift [12], опционально возможно использование языков C/C++. Общая архитектура iOS представлена на рисунке 1.2.

Рис. 1.2. Архитектура iOS

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

- модуль WebKit отвечает за рендеринг HTML-страниц и исполнение кода JavaScript, поэтому он используется в гибридных приложениях на базе PhoneGap (и аналогов) для запуска приложений и фактически выступает средой выполнения веб-приложений;

- модуль JavaScript Core используется в ReactNative (и аналогах) для быстрого выполнения кода на языке JavaScript (JS) и обмена данными между нативной частью и JS-кодом;

- модуль UIKit отвечает за нативный пользовательский интерфейс приложения (создание и управление жизненным циклом типовых объектов -кнопки, метки, списки и прочее), поэтому он используется в ReactNative и Xamarin, а также их аналогах.

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

1.2.2.2. Архитектура Android

Android также (как и iOS) является Unix-системой и большей частью основан на операционной системе Linux. В Android, поверх ядра Linux создана своя инфраструктура, включающая виртуальную машину Java (Java Virtual Machine, JVM) для запуска приложений. JVM выступает посредником между кодом приложений и набором системных API, доступных для Java-приложений. Помимо языка Java была также добавлена поддержка языка Kotlin (создан в российской компании JetBrains), который является надстройкой над той инфраструктурой, которая доступна приложениям на Java [13]. На рисунке 1.3 показана архитектура Android.

В Android разработчику доступно 2 подсистемы для создания приложений: Native Development Kit (Android NDK) и Android SDK.

С помощью NDK можно получить доступ к низкоуровневым механизмам Android (драйвера и доступ к оборудованию,

высокопроизводительные вычисления, компьютерная графика). Разработка ведется на языках С/С++.

Android

Рис. 1.3. Архитектура Android

При использовании Android SDK приложение выполняется внутри Java-машины Dalvik и имеем только те возможности, которые предоставляет Java API. Начиная с Android 5.0 Dalvik был заменен на Android Runtime (ART), который компилирует и оптимизирует приложения во время установки, а не во время исполнения, как это делают традиционные Java-машины. Использование ART позволило ускорить запуск и производительность мобильных приложений, написанных на Java/Kotlin.

Связующим звеном между библиотеками низкого уровня (на C/C++) и инфраструктурой Java выступает специальный JNI bridge (Java Native Interface), который и позволяет двум подсистемам взаимодействовать друг с другом. JNI выступает единым и универсальным связующим звеном, однако,

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

Помимо JNI bridge, в архитектуре Android также присутствуют модули WebKit (аналог одноименного модуля в iOS, используется для PhoneGap) и View System (аналог модуля UIKit в iOS, используется для ReactNative и Xamarin).

Таким образом, в Android доступны модули, аналогичные по функциональности модулям iOS, что позволяет кроссплатформенным инструментам реализовать интеграцию с Android по аналогии с iOS.

1.2.2.3. Архитектура Windows UWP

В заключении рассмотрена архитектура Windows UWP, которая предоставляет большое количество различных интерфейсов и механизмов взаимодействия с операционной системой [14]. Архитектура Windows UWP показана на рисунке 1.4.

Windows UWP

Рис. 1.4. Архитектура Windows

Помимо API для C++/C#, Windows UWP также предоставляет механизмы работы с JavaScript на базе модуля Chakra. Microsoft также поддерживает версию ReactNative на Windows UWP. В система доступен компонент WebView, необходимый PhoneGap. То есть, кроссплатформенные приложения по аналогии с Android и iOS могут иметь те же возможности по доступу к модулям Windows UWP.

1.2.3. Архитектуры кроссплатформенных приложений

Как уже отмечалось ранее, все операционные системы имеют те или иные технические возможности по запуску кроссплатформенных приложений. Самое простое с технической точки зрения - использование модуля WebView, который есть у всех ОС (это актуально для PhoneGap и аналогов). Вторым вариантом является использование механизмов OpenGL ES и языков C/C++ — это позволит разделять между проектами большинство логики (например, в игровых приложениях), но будет ограниченно работать (или не работать) на Windows UWP (так как вместо Open GL доступен только DirectX). Если же необходим полный доступ к возможностям целевых операционных систем (ОС), то здесь начинают задействоваться системные API верхнего уровня - такой подход реализуется Xamarin и ReactNative.

Похожие диссертационные работы по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

Список литературы диссертационного исследования кандидат наук Черников Вячеслав Николаевич, 2019 год

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Вирт Н. Алгоритмы и структуры данных / Пер. с англ. — М: ДМК Пресс, 2011. — 276 с.: ил.

2. Порев В.Н. Компьютерная графика - СПб.: БХВ- Санкт-Петербург, 2002. - 432 с.

3. Роджерс Д., Адамс Дж. Математические основы машинной графики / Роджерс Д., Адамс Дж.; Пер. с англ. - М.; Мир, 2001. - 604 с.

4. Роджерс Д. Алгоритмические основы машинной графики: Пер. с англ. / Д. Роджерс — М.: Мир, 1989. — 512 с.

5. ГОСТ 28195-89 Оценка качества программных средств. Общие положения. Введен 01.07.90. - 39 c.

6. ГОСТ 28806-90 Качество программных средств. Термины и определения. Введен 01.01.92. - 12 c.

7. ГОСТ Р ИСО/МЭК 9126-93 Информационная технология. Оценка программной продукции. Характеристики качества и руководства по их применению. Введен 01.07.94. - 19 c.

8. ГОСТ 34.201-89 Виды, комплектность и обозначения документов при создании автоматизированных систем. Введен 01.01.90. - 12 с.

9. ГОСТ 34.602-89 Техническое задание на создание автоматизированной системы. Введен 01.01.90. - 21 с.

10. ГОСТ 34.601-90 Автоматизированные системы. Стадии создания. Введен 01.01.92. - 9 с.

11. РД 50-34.698-90 Автоматизированные системы. Требования к содержанию документов. Введен 01.01.92. - 33 с.

12. Хайлгесс А., Конвэй Д. Программирование под iOS. Для профессионалов / Пер. с англ. — СПб: Питер, 2013. — 608 с.: ил.

13. Марсикано К., Стюарт К., Филлипс Б. Android. Программирование для профессионалов / Пер. с англ. — СПб: Питер, 2017. — 688 с.: ил.

14. Петцольд Ч. Программирование для Microsoft Windows 8 / Пер. с англ. — СПб: Питер, 2014. — 1008 с.: ил.

15. Клифтон Я. Проектирование пользовательского интерфейса в Android / Пер. с англ. — М: ДМК Пресс, 2017. — 452 с.: ил.

16. Гриневич А.И., Кулямин В.В., Марковцев Д.А., Петренко А.К., Рубанов В.В., Хорошилов А.В. Использование формальных методов для обеспечения соблюдения программных стандартов. - Тр. института системного программирования РАН. - 2006. - Т.10, с. 51-68.

17. Дэвис Дж., Дэниелс К. Филосовия DevOps. Искусство управления ИТ / Дж. Дэвис, К. Дэниелс. - СПб.: Питер, 2017. - 416 с.

18. Дастин Э., Рэшка Д., Джон П. Автоматизированное тестирование программного обеспечения. Внедрение, управление и эксплуатация. - М.: Лори, 2003.

19. Профессиональные стандарты в области информационных технологий. - М.: АП КИТ, 2008. - 616 c.

20. Ройс У. Управление проектами по созданию программного обеспечения. - М.: Лори, 2002.

21. Макконнелл С. Совершенный код. Мастер-класс / Пер. с англ. — М.: Издательство «Русская редакция», 2010. — 896 стр.: ил.

22. Тепляков С. Паттерны проектирования на платформе .NET. — СПб.: Питер, 2015. — 320 с.: ил.

23. Эрик Фримен, Элизабет Фримен, Кэтти Сьерра, Берт Бейтс — Паттерны проектирования / Пер. с англ. — СПб: Питер, 2017. — 656 с.: ил.

24. Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приемы объектно-ориентированного проектирования. Паттерны проектирования / Пер. с англ. — СПб: Питер, 2001. — 368 с.: ил.

25. Босуэлл Д., Фаучер Т. Читаемый код, или Программирование как искусство. / Пер. с англ. - СПб.: Питер, 2012. - 208 с.: ил.

26. Макконнелл С. Остаться в живых. Руководство для менеджера программных проектов. Библиотека программиста / Пер. с англ. - СПб.: Питер, 2006. — 240 с.: ил.

27. Макконнелл С. Профессиональная разработка программного обеспечения. / Пер. с англ. - СПб.: Символ-Плюс, 2006. - 240 с.: ил.

28. Макконнелл С. Сколько стоит программный проект / Пер. с англ. -СПб.: Питер, 2007. — 304 стр.

29. Мартин Р., Ньюкирк Д., Косс Р. Быстрая разработка программ: принципы, примеры, практика / Пер. с англ. — М.: Вильямс, 2004. — 752 с.: ил.

30. Мартин Р. Чистый код: создание, анализ и рефакторинг. Библиотека программиста / Пер. с англ. —. СПб.: Питер, 2010. - 464 с.: ил.

31. Мартин Р. Идеальный программист. Как стать профессионалом разработки ПО. / Пер. с англ. — СПб: Питер, 2019. — 224 с.: ил.

32. Эванс Э. Предметно-ориентированное проектирование (DDD). Структуризация сложных программных систем / Пер. с англ. — М.: Вильямс, 2010. — 448 с.: ил.

33. Мартин Р. Принципы, паттерны и методики гибкой разработки на языке С#. / Пер. с англ. - СПб.: Символ-Плюс, 2011. - 768 с.: ил.

34. Мартин Р. Чистая архитектура. Искусство разработки программного обеспечения. / Пер. с англ. — СПб: Питер, 2018. — 352 с.: ил.

35. Вигерс К., Битти Д. Разработка требований к программному обеспечению. 3-е изд., дополненное / Пер. с англ. — М. : Издательство «Русская редакция», 2014. — 736 стр.: ил.

36. Ларман К. Применение ЦМЬ 2.0 и шаблонов проектирования. Введение в объектно-ориентированный анализ, проектирование и итеративную разработку / Пер. с англ. — М.: Вильямс, 2013. — 736 с.: ил.

37. Сидоренко В.Н. Системная динамика. - М.: Экономический факультет МГУ; ТЕИС, 1998. - 200 с.

38. Каталевский, Д.Ю. Основы имитационного моделирования и системного анализа в управлении: учебное пособие; 2-е изд., перераб. и доп. / Д.Ю. Каталевский. — М.: Издательский дом «Дело» РАНХиГС, 2015. — 496 с., ил.

39. Буч Г., Рамбо Д., Джекобсон А. Язык UML. Руководство пользователя. 2-е изд.:- СПб: ДМК Пресс, 2007.- 496 с.

40. Вендров А.М. CASE-технологии. Современные методы и средства проектирования информационных систем [Электронный ресурс]. - Режим доступа: http: //CASE-tech.h 1 .ru/Hbrary/vendrov/mdex.htm

41. Вендров А.М. Проектирование программного обеспечения экономических информационных систем. Учебник. - М.: Финансы и статистика, 2002, - 352 с.

42. Калянов Г.Н. CASE: структурный системный анализ (автоматизация и применение). - М.: ЛОРИ. 1996. - 242 с.

43. Соммервилл И. Инженерия программного обеспечения. — 6-е изд., пер. с англ. — М.: Вильямс, 2002. — 624 с.: ил.

44. Грэхем И. Объектно-ориентированные методы. Принципы и практика. 3-е изд. - М.: Издательский дом "Вильямс", 2004. - 880 с.

45. Касьянов В.Н., Евстигнеев В.А. Графы в программировании: обработка, визуализация и применение. - СПб.: БХВ - Петербург, 2003. - 1104 с.

46. Таненбаум Э.С. Современные операционные системы. 4-е изд. — СПб.: Питер, 2015. — 1120 с.: ил.

47. Леффингуэлл Д., Уидриг Д. Принципы работы с требованиями к программному обеспечению. Унифицированный подход. / Пер. с англ. - М.: Издательский дом «Вильямс». 2002. - 448 с.

48. Ройс У. Управление проектами по созданию программного обеспечения. Унифицированный подход. / Пер. с англ. - М.: Изд. «Лори». 2002. 424 с.

49. Снедакер С. Управление IT-проектом. / Пер. с англ. - М.: ДМК Пресс. 2014. - 560 с.

50. Шафер Д.Ф., Фатрелл Р.Т., Шафер Л.И. Управление программными проектами: достижение оптимального качества при минимуме затрат. / Пер. с англ. - М.: Издательский дом «Вильямс». 2004. - 1136 с.

51. Введение в теорию автоматов, языков и вычислений, 2-е изд.. : Пер. с англ. — М. : Издательский дом "Вильямс", 2008. — 528 с. : ил.

52. Гагарина Л.Г., Кокорева Е.В., Виснадул Б.Е. Технология разработки программ-ного обеспечения. Учебное пособие. - М: ИД «ФОРУМ» - ИНФРА-М, 2007. - 400 с.

53. Акинин Ю.Р., Черников В.Н., Барабанов В.Ф. Использование ресурсов облачных вычислительных систем и мобильных агентов при решении задач мобильных технологий // Вестник Воронежского государственного технического университета. 2013. Т. 9. № 3-1. С. 28-34.

54. Черников В.Н., Подвальный С.Л., Барабанов В.Ф., Нужный А.М. Формализация процесса разработки пользовательского кроссплатформенного мобильного приложения // Вестник Воронежского государственного технического университета. 2018. Т. 14. № 5.С. 18-25.

55. Черников В.Н., Подвальный С.Л., Барабанов В.Ф., Сафронов В.В. Сравнительный анализ архитектур кроссплатформенного программного обеспечения // Вестник Воронежского государственного технического университета. 2018. Т. 14. № 5.С. 47-53.

56. Черников В.Н. Алгоритмы и модели автоматизации процесса сборки, тестирования, дистрибуции и мониторинга кроссплатформенных мобильных приложений // Системы управления и информационные технологии, №4(74), 2018. С. 94-98.

57. Акинин Ю.Р., Черников В.Н. Анализ моделей мобильных облачных вычислений // Информационные технологии моделирования и управления, 2013. № 2 (80). С. 142-148.

58. Агранович Ю.Я., Черников В.Н. Численное изучение модели вязкоупругой жидкости Олдройда // Математическое моделирование и информационные технологии в сфере обслуживания потребителей: Материалы III Межвузовской научно-практической конференции. - Сочи: СГУТиКД. 2007. С10-12.

59. Агранович Ю.Я., Черников В.Н. Равномерная разностная схема для движения жидкости модели Олдройда // Вестник ВГТУ №7. - Воронеж: ВГТУ. 2007.

60. Черников В.Н. Программа реализации паттерна MVVM на базе Xamarin.Forms с применением подхода Rapid Software Design. - Св-во о гос. регистрации программы для ЭВМ. М.: ФИПС, 2019. № 2019615284 от 23.04.2019.

61. Черников В.Н., Барабанов В.Ф. Программа реализации конечного автомата для управления пользовательским интерфейсом приложения на базе Xamarin.Forms. - Св-во о гос. регистрации программы для ЭВМ. М.: ФИПС, 2019. № 2019615283 от 23.04.2019.

62. Черников В.Н. Быстрое создание MVP на базе Azure и Xamarin.Forms. [Электронный ресурс]. - Режим доступа: https://habr.com/company/microsoft/blog/281897

63. Черников В.Н. Готовим Xamarin.Forms, настройка окружения и первые шаги. [Электронный ресурс]. - Режим доступа: https: //habrahabr.ru/company/microsoft/blog/303630

64. Черников В.Н. Повышаем эффективность работы в Xamarin.Forms. [Электронный ресурс]. - Режим доступа: https://habrahabr.ru/company/microsoft/blog/304678

65. Черников В.Н. Работаем с состояниями экранов в Xamarin.Forms. [Электронный ресурс]. - Режим доступа: https://habrahabr.ru/company/microsoft/blog/307890

66. Черников В.Н. Удобный REST для Xamarin-приложений. [Электронный ресурс]. - Режим доступа: https://habrahabr.ru/company/microsoft/blog/310704

67. Черников В.Н. Автоматизируем сборку, дистрибуцию и тестирование мобильных приложений. [Электронный ресурс]. - Режим доступа: https://xakep.ru/2017/02/17/devops-authomatization

68. Черников В.Н. Сложный интерфейс в Xamarin.Forms. [Электронный ресурс]. - Режим доступа: https://www.slideshare.net/binwell/c-xamarin

69. Черников В.Н. Visual Studio Mobile Center деплоит мобильный софт. [Электронный ресурс]. - Режим доступа: https://xakep.ru/2017/03/29/mobile-devops-vsmc

70. Черников В.Н. 7 лучших ферм устройств для тестирования своих iOS- и Android-приложений. [Электронный ресурс]. - Режим доступа: https://xakep.ru/2017/06/19/mobile-testing

71. Черников В.Н. Конечные автоматы и анимации Xamarin.Forms. [Электронный ресурс]. - Режим доступа: https://habrahabr.ru/company/microsoft/blog/335418

72. Черников В.Н. Нативно или нет? Четыре мифа о кросс-платформенной разработке. [Электронный ресурс]. - Режим доступа: https://xakep.ru/2017/12/25/crossplatform-myths

73. Черников В.Н, Грушевский П. А. UI-автотесты для Xamarin. [Электронный ресурс]. - Режим доступа: https://habrahabr.ra/company/microsof/blog/351536

74. Chernikov V., "Cloud Platform for Waste Management Industry in Russia", Proceedings of the international conferences on Internet Technologies & Society (ITS 2019) and Sustainability, Technology and Education 2019 (STE 2019), Hong Kong, China, 2019, pp. 139-143.

75. Chernikov V., "Approach to Rapid Software Design of Mobile Applications", Proceedings of the 23rd Conference of Open Innovations Association FRUCT, ser. FRUCT'23, Bologna, Italy, 2018, pp. 105-111.

76. Твардовский А.С., Евтушенко Н.В. К минимизации автоматов с временными ограничениями // Вестник томского государственного университета, 2014. № 4 (29). с. 77-83.

77. Хатько Е.Е. Об одном методе тестирования «мобильных» приложений // Труды МФТИ. — 2012. — Том 4, № 3. с. 132-140.

78. Евтушенко Н.В., Петренко А.Ф., Ветрова М.В. Недетерминированные автоматы: анализ и синтез. Ч. 1. Отношения и операции: Учебное пособие. — Томск: Томский государственный университет, 2006. — 142 с.

79. Трахтенброт Б.А., Барздинь Я.М. Конечные автоматы (поведение и синтез). — М.: Наука, 1970. — 400 с.

80. Wasserman A. I. Extending State Transition Diagrams for the Specification of Human-Computer Interaction, IEEE Transactions on Software Engineering, vol. SE-11, no. 8, 1985, pp. 699-713.

81. Rumbaugh J. State trees as structured finite state machines for user interfaces, UIST '88 Proceedings of the 1st annual ACM SIGGRAPH symposium on User Interface Software, 1988, pp. 15-29.

82. Parnas D. On the use of transition diagrams in the design of a user interface for an interactive computer system, ACM '69 Proceedings of the 1969 24th national conference, 1969, pp. 379-385

83. Bochmann G.V., Petrenko A.F. Protocol testing: review of methods and relevance for software testing, Proceedings of ISSTA'94, New York, 1994. pp. 109124.

84. Petrenko A.F., Yevtushenko N.V. Testing from Partial Deterministic FSM Specifications, IEEE Trans. Comput., Vol. 54, No. 9, 2005. pp. 1154-1165.

85. Hierons R.M. Testing from a Nondeterministic Finite State Machine Using Adaptive State Counting, IEEE Trans. Comput., Vol. 53, No. 10. 2004, pp. 1330-1342.

86. Alur R., Dill D. A Theory of Timed Automata, Theoretical Computer Science, Vol. 126. 1994, pp. 183-235.

87. Tripakis. S. Folk theorems on the determinization and minimization of timed automata Information Processing Letters. — 2006. — Vol. 99, Issue 6. pp. 222-226.

88. Krichen M., Tripakis S. State Identification Problems for Timed Automatam, LNCS, Vol. 3502. 2005, pp. 175-191.

89. Starke P.H. Abstract Automata - Elsiver, 1972. — 419 p.

90. Merayo M.G., Nunez M., Rodriguez I. Formal Testing from Timed Finite State Machines, Computer Networks, Vol. 52, No. 2., 2008, pp. 432-460.

91. Wagner F., Schmuki R., Wagner T., Wolstenholme P. Modeling Software with Finite State Machines: A Practical Approach. - CRC Press, 2006. - 369 p.

92. Skelin, M., Wognsen, E.R., Olesen, M.C., Hansen, R.R., Larsen, K.G. Model checking of finite-state machine-based scenario-aware dataflow using timed automata. In: Proceedings of the International Symposium on Industrial Embedded Systems, SIES, 2015, pp. 1-10.

93. Gronmo R., Moller-Pedersen B. From UML 2 Sequence Diagrams to State Machines by Graph Transformation. In Journal of Object Technology, vol. 10, 2011, pp.8:1-22.

94. Groz R., Simao A., Petrenko A., Oriat C. Inferring Finite State Machines Without Reset Using State Identification Sequences. 27th IFIP International Conference on Testing Software and Systems (ICTSS), 2015, pp.161-177.

95. Whittle J., Jayaraman P. Generating Hierarchical State Machines from Use Case Charts. 14th IEEE International Requirements Engineering Conference (RE'06), 2006, pp.16-25.

96. Alur, R., Martin, M., Raghothaman, M., Stergiou, C., Tripakis, S., Udupa, A.: Synthesizing finite-state protocols from scenarios and requirements. In: Yahav, E. (ed.) HVC 2014. LNCS, vol. 8855, pp. 75-91.

97. Zuzak I., Budiselic I., Delac G. A Finite-State Machine Approach For Modeling And Analyzing Restful Systems. Journal of Web Engineering, Vol. 10, No. 4 (2011), 2011, pp. 353-390.

98. El-Fakih K., Gromov M., Shabaldin N., Yevtushenko N. Distinguishing Experiments for Timed Nondeterministic Finite State Machines. Acta Cybernetica, 2013, no. 2, pp. 205-222.

99. Bresolin D., El-Fakih K., Villa T., Yevtushenko N. Timed Finite State Machines: Equivalence checking and expressive power. Proc. of the 5th Intern.

Symposium on Games, Automata, Logics and Formal Verification, CANDALF'2014, pp. 203-216.

100. Quality Management for the Future / Mark A. Nash // Quality Magazine, October 2, 2014. [Электронный ресурс] Режим доступа: http://www. qualitymag. com/articles/92184-quality-managementfor-the-future

101. Quality, Metrology, and cGMP/FDA Regulations. [Электронный ресурс] Режим доступа: http://www.vaisala.com/Vaisala%20Documents/Regulatory%20Compliance%20In formation/10-Articles-on-Quality-Metrology-and-FDA-Regulations.

102. Ousterhout J. A Philosophy of Software Design. - Yaknyam Press,

2018.

103. Hoda R., Noble J., Marshall S. Documentation Strategies on Agile Software Development Projects, Agile and Extreme Software Development, vol.1, no.1, 2012, pp. 23-37.

104. Verma D., Gesell J., Siy H., Zand M. Lack of Software Engineering Practices in the Development of Bioinformatics Software, ICCGI 2013: The Eighth International Multi-Conference on Computing in the Global Information Technology, 2013, pp. 57-62.

105. The Statistics Portal, Average mobile app session length as of 4th quarter 2015, by category (in minutes), Web: https://www.statista.com/statistics/202485/average-ipad-app-session-length-by-app-categories.

106. Behutiye W., Karhapaa P., Costal D., Oivo M., Franch X. Nonfunctional Requirements Documentation in Agile Software Development: Challenges and Solution Proposal, PROFES 2017: Product-Focused Software Process Improvement, vol. 10611, 2017, pp. 515-522.

107. Satish C. J., Anand M.. Software Documentation Management Issues and Practices: a Survey, Indian Journal of Science and Technology, vol. 9(20), 2016, pp. 1-7.

108. Tak R., Modi J. Mobile DevOps: Deliver continuous integration and deployment within your mobile applications R. Tak, J. Modi. - Packt Publishing, 2018. - 376 p.

109. Verona J. Practical DevOps - Second Edition / J. Verona. - Packt Publishing, 2018. - 250 p.

110. International Institute of Business Analysis, 2015. BABOK: v3: a guide to the business analysis body of knowledge. International Institute of Business Analysis. Toronto, Canada.

111. IEEE Std 830-1984, IEEE Guide to Software Requirements Specifications.

112. IEEE Std 830-1998, IEEE Recommended Practice for Software Requirements Specifications.

113. ANSI/ANS-10.3-1995, Documentation of Computer Software.

114. https://yermilov.github.io/blog/2017/02/20/using-jekyll-asciidoctor-

and-github-pages-for-static-site-creation

115. https://asciidoctor.org/docs

116. https://docs.microsoft.com/en-us/dotnet/standard/native-

interop/pinvoke

117. https://ru.wikipedia. org/wiki/Model-View-Controller

118. https://ru.wikipedia. org/wiki/Model-View-ViewModel

119. https: //facebook. github.io/flux/

120. https: //en.wikipedia. org/wiki/Multitier_architecture

121. https: //github .com/uber/RIB s/wiki

122. https://en.wikipedia.org/wiki/Technical_deb

123. https: //github .com/nplant/nplant

124. https://github.com/russcam/asciidocnet

125. http://www.repnoe.net/docs/musor/Repnoe-TKO-Aprel-2016.pdf

126. https://github.com/binwell-university/mobile-template

Приложение 1. Квалификационные сертификаты и дипломы

Черникова В.Н.

Me'ji: V.

Диплом Microsoft Most Valuable Professional за вклад в развитие международного сообщества разработчиков на базе технологий Microsoft в 2017-2018 годах

Диплом Microsoft Most Valuable Professional за вклад в развитие международного сообщества разработчиков на базе технологий Microsoft в 2016-2017 годах

Сертификат об успешной сдаче экзаменов на знание инструментов кроссплатформенной разработки приложений Qt. Nokia, 2010

Диплом Nokia Developer Champion за вклад в развитие международного сообщества разработчиков на базе технологий Nokia в 2012-2013 годах

Диплом победителя конкурса инновационных мобильных приложений МТС Телеком Идея, 2013

Диплом победителя конкурса по решение проблем утилизации отходов. Совет по правам человека при Президенте РФ, 2018

Приложение 2. Акты внедрения и апробация результатов диссертационного исследования

■ ■ Вт\л/еМ

г. Воронеж

"20" апреля 2019 г.

АКТ

об использовании результатов кандидатской диссертационной работы Черникова Вячеслава Николаевича

Комиссия в составе: председатель - Савина Ирина Юрьевна (административный директор), члены комиссии: Ашихмин Кирилл Владимирович (ведущий инженер), Грушевский Павел Игоревич (руководитель отдела контроля качества), составили настоящий акт о том, что результаты диссертационной работы "Математическое и программное обеспечение 1Т-процессов разработки и тестирования кроссплатформенных мобильных приложений на основе аппарата конечных автоматов" и программный комплекс "Постпроцессор автоматической генерации технической документации по исходным кодам кроссплатформенных мобильных приложений" использованы в рамках 1Т-процесса разработки программного обеспечения, а именно в создании кроссплатформенных мобильных приложений для бизнес-заказчиков

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

ÏQUANTORI

Quantori. LLC

I'M5 Beacon Str. Waban, MA 02468. United States TAX ID: 83-1569768

Phone: +1 (50X) 878-0629. contactfa quantori.com hups: ■'.■www.quantori.com

To whom it may concern

28 April. 2019

Act

of Ph.D. work result usage Work by Vvacheslav Chemikov

Commission consisting of: Chairman - Yury Akinin (Vice President of Global Delivery). Commission Members: Alexey Sukhoruchko (Head of Development and Delivery), Kirill Sotnikov (Chief Support Officer), made this act about usage of the Ph.D. work "Mathematical and Software foundations for development and testing IT-processes focused cross-platform mobile applications and based on the finite state machine" results and the software complex "Postprocessor for automatic generation of technical documentation based on the source code of cross-platform mobile applications" used in the IT-process of software development, namely in the creation of software for business customers.

The software package based on the models and algorithms of the architecture and structure visualization based on the source code can improve the quality of support and maintenance of the developed software, as well as reduce the time of release of new versions and simplify the development of existing cross-platform mobile applications.

Chairman

Yury Akinin

Commission Members

Alexey Sukhoruchko

■ Kirill Sotnikov

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