Добавил:
СПбГУТ * ИКСС * Программная инженерия Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Примеры выполнения курсовой работы / Курсовая работа. Пример 3

.pdf
Скачиваний:
32
Добавлен:
07.08.2021
Размер:
1.11 Mб
Скачать

Федеральное государственное бюджетное образовательное учреждение высшего образования

«Санкт-Петербургский государственный университет телекоммуникаций им. проф. М. А. Бонч-Бруевича»

(СПбГУТ)

Курсовая работа по дисциплине «Управление программными проектами»

Тема «Программная платформа для сборки и тестирования мобильных приложений»

студент гр. ИКПИ-85

Герман О.А.

преподаватель каф. ПИиВТ

д.т.н., проф. Фомин В. В.

Санкт-Петербург

2021

Оглавление

Тема

..........................................................................................................................

3

Термины .........................................................................................и определения

3

1.

Актуальность ....................................................................................................

3

2.

Общие ..................................................................................................сведения

4

 

2.1. ...........................................................................Полное название системы

4

 

2.2. ............................................................Плановые сроки создания системы

4

3.

Назначение ............................................................и цели создания системы

4

 

3.1 ......................................................................................

Назначение системы

4

 

3.2 ................................................................................

Цели создания системы

5

4.

Характеристики ....................................................объекта информатизации

5

 

4.1 .............................................

Краткие сведения об объекте автоматизации

5

 

4.2 ...................................

Сведения об эксплуатации объекта автоматизации

5

5.

Требования .............................к структуре и функционированию системы

5

 

5.1 ...........

Перечень подсистем, их назначение и основные характеристики

5

 

5.2 ...................

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

7

 

5.3

Требования к способам и средствам связи для информационного обмена

 

между..................................................................................................................

12

 

компонентами .....................................................................................системы

12

 

5.4 ..................................

Требования к эргономике и технической эстетике

14

 

5.5

Требования к защите информации от несанкционированного доступа 15

 

5.6 ......................................

Перспективы развития, модернизации системы

15

6.

Требования ....................................................................к видам обеспечения

15

7.

Состав ....................и содержание работ по созданию (развитию) системы

16

Тема

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

Термины и определения

Программная платфо́рма — это среда выполнения, в которой должен выполняться фрагмент программного обеспечения или объектный модуль с учётом накладываемых этой средой ограничений и предоставляемых возможностей.

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

Сборка – процесс получения программного продукта из исходного кода. Мобильное приложение — это программное обеспечение, специально

разработанное под конкретную мобильную платформу (iOS, Android, WindowsPhone и т. д.). Предназначено для использования на смартфонах, планшетах, умных часах и других мобильных устройствах.

Агент – сервер, выполняющий пользовательские задачи.

1. Актуальность

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

Такие системы применяются в таких компаниях, как Microsoft, Apple, BBC и др. Например, компания Microsoft использует систему AppCenter, а

Apple имеет свой собственный внутренний программный продукт - TestFlight. За счет использования систем можно снизить затраты на тестирование ПО, так как их использование и обслуживание обходится дешевле, чем содержание сотрудников, которые занимаются развёртыванием новых версий приложения

исбором информации после тестирования.

2.Общие сведения

2.1. Полное название системы

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

2.2.Плановые сроки создания системы

С7 июня 2021 г. по 7 декабря 2022 г.

3.Назначение и цели создания системы

3.1 Назначение системы

Разрабатываемое ПО относится к классу информационно-управляющих систем.

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

Развёртывание происходит автоматически, уведомляя тестировщика о нововведениях с помощью push-уведомления.

Аналогами системы являются TestFlight, AppCenter, Appaloosa. Отличием разрабатываемой системы является наличие функции сбора видеозаписей экранов во время тестирования приложения.

3.2 Цели создания системы

Сократить затраты рабочего времени разработчиков на развёртывание версии и сбора статистики. За счет этого разработчики будут тратить больше рабочего времени на написание кода. Как следствие, скорость разработки увеличится.

4. Характеристики объекта информатизации

4.1 Краткие сведения об объекте автоматизации

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

4.2 Сведения об эксплуатации объекта автоматизации

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

5. Требования к структуре и функционированию системы

5.1 Перечень подсистем, их назначение и основные характеристики

Система состоит из:

Система управления агентами

oСистема распределения задач

oСистема запуска задач

oСистема настройки агентов

Агенты

oСистема сборки

o Система развертывания

§Подсистема установки программ

§Подсистема удаления программ

oСистема автоматизированного тестирования

§Подсистема нагрузочного тестирования

§Подсистема функционального тестирования

§Подсистема создания отчетов

Система управления ПО

oСистема управления настройками

o Система управления зависимостями o Система мониторинга состояния

oСистема управления средами развертывания

Система хранения данных

o Система хранения архивных данных (отчеты, журналы)

oНастройки системы и настройки приложений

Транспортная система

oСистема получения исходного кода

oСистема передачи файлов

oСистема уведомления

Система пользовательского тестирования

oСистема проверки обновлений

o Система установки программного продукта

На рисунке 1 изображена древовидная структура подсистем.

Рисунок 1. Древовидная структура подсистем

5.2Требования к функциям (задачам), выполняемым системой

1.Система управления агентами

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

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

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

Рисунок 2. Алгоритм обновления зависимых модулей

На рисунке 2 изображена схема алгоритма обновления зависимостей. На рисунке 3 изображен алгоритм выбора свободного агента. Ищется

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

Рисунок 3. Алгоритм защиты физических компонентов серверов от деградации

2.Агент – это сервер, осуществляющий выполнение пользовательских задач. Он может выполнять три типа задач, которые перечислены выше. Задача сборки заключается в получении исходного кода, и трансляции и компиляции в исполняемый файл (например, .ipo для iOS платформы или .apk для Android платформы). Задача развертывания заключается в передаче полученной программы на сервер, его установке и запуске. Задача тестирования заключается в запуске нагрузочных и функциональных автоматизированных тестов, написанных пользователем, и построение отчета

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

3.Система управления разрабатываемым ПО.

С помощью этой системы пользователь может отслеживать состояние программ. Сюда включена подсистема мониторинга, которая показывает

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

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

4. Система хранения данных

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

5. Транспортная система

Состоит из трех подсистем: системы получения исходного кода, которой пользуется агент; системы передачи файлов, которая передает файлы программ в среды развертывания, журналы в архив и настройки системы между всеми компонентами; система передачи push-нотификаций, для своевременного уведомления о новой версии программы.

6. Система пользовательского тестирования

Представляет собой мобильное приложение, состоящее из двух подсистем: система проверки обновления, которая проверяет актуальность тестируемого продукта; система установки программного продукта, с помощью которой мобильное приложение устанавливается на устройство для тестирования.

Спомощью подсистем пользователь может скачать несколько программ

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

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