Тип работы:
Предмет:
Язык работы:


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

Работа №152152

Тип работы

Бакалаврская работа

Предмет

информатика

Объем работы95
Год сдачи2020
Стоимость4600 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
15
Не подходит работа?

Узнай цену на написание


Введение 5
1 Анализ предметной области 7
2 Анализ продуктов-аналогов 10
2.1 Библиотека Mol 10
2.2 Библиотека Jetpack Compose 11
2.3 Библиотека Swift UI 12
2.4 Платформа Flutter 12
2.5 Сравнение готовых решений 13
3 Постановка задачи 14
3.1 Требования к подсистеме реактивного программирования 14
3.2 Требования к подсистеме построения интерфейса 15
4 Анализ требований 17
4.1 Функциональные требования 17
4.2 Нефункциональные требования 21
4.3 Технологии и средства разработки 21
5 Проектирование библиотеки 23
5.1 Проектирование подсистемы реактивного программирования 23
5.2 Проектирование подсистемы построения интерфейса 27
6 Реализация библиотеки 32
6.1 Реализация подсистемы реактивного программирования 33
6.2 Реализация подсистемы построения интерфейса 35
7 Тестирование и анализ качества 37
7.1 Тестирование программного обеспечения 37
7.1.1 Метод причинно-следственных связей 38
7.1.2 Автоматизированное тестирование 40
7.1.3 Структурное тестирование 42
7.1.4 Тестирование интерфейса 47
7.2 Метрики качества 48
8 Планирование разработки и анализ бюджета 51
Заключение 57
Список использованных источников 58
Приложение А. Глоссарий 60
Приложение Б. Листинг программы 62
Приложение В. Результаты тестирования 80
Приложение Г. Исходный код тестов 85


Современные программные продукты, такие как приложения, web-сайты и компьютерные игры, представляют собой сложные механизмы, состоящие из множества независимых частей. Такие системы сложно представить без графического пользовательского интерфейса, который по сложности разработки зачастую не уступает системам, реализующим основной функционал программы.
Графический интерфейс является сложной системой, задачей которой является предоставление механизма взаимодействия пользователя с приложением и отображение актуального состояния программы в удобном для пользователя виде. Наиболее распространенным способом отображения информация является их вывод в виде множества графических элементов, таких как окна, списки, кнопки [1].
В большинстве случаев программное обеспечение оперирует моделями данных, удобными для вычислений внутри программы. Но такие модели не всегда понятны для пользователей, поэтому перед отображением их необходимо конвертировать в понятный человеку вид, после чего они преобразуются в множество элементов интерфейса.
Данные операции могут быть выполнены вручную, однако в сложных системах это требует больших трудозатрат и внимательности от разработчиков программного обеспечения, что значительно усложняет разработку.
Для автоматизации данного класса задач используют специализированные библиотеки для реактивного программирования и библиотеки для построения графического интерфейса.
Библиотеки для реактивного программирования выполняют автоматический перерасчет данных, представленных математическими формулами или алгоритмами на основе других данных [2]. Это гарантирует, что в любой момент систем находится в корректном состоянии вне зависимости от частоты изменения данных.
Библиотеки для построения интерфейса предоставляют механизм, позволяющий по исходным данным выстраивать графический интерфейс, что в сочетании с реактивных программированием может быть использовано для автоматического обновления интерфейса.
В совокупности данные подходы позволяют автоматизировать часть задач, что упрощает работу программистов, сокращает время и стоимость разработки, а также повышает качество программного продукта.
Целью выпускной квалификационной работы является создание библиотеки для построения реактивного пользовательского интерфейса для платформы Unity...

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В выпускной квалификационной работе были изучены методы реактивного программирования и способы построения интерфейсов, была произведена классификация систем построения интерфейсов, проведен сравнительный анализ продуктов-аналогов.
В результате исследования была выявлена высокая востребованность библиотек для построения реактивных интерфейсов в смежных областях (android, iOS, web) и отсутствие готовых решений для Unity.
На основе этих данных было принято решение в рамка выпускной квалификационной работы осуществить реализацию библиотеки для построения реактивного пользовательского интерфейса на основе декларативного подхода и pull-based реактивного программирования.
Была реализована библиотека для построения реактивного
пользовательского интерфейса, состоящая из двух подсистем:
- подсистема реактивного программирования;
- подсистема построения интерфейса.
Были поставлены задачи на разработку, проанализированы требования, выбраны технологии и средства разработки, осуществлено проектирование, реализация и тестирование подсистем, проведено планирование разработки и анализ бюджета.
Разработка осуществлялась на операционной системе Windows в среде разработки JetBrains Rider.
Планирование разработки проводилось в Microsoft Project. Стоимость разработки составляет 102750 рублей.
В результате выполнения выпускной квалификационной работы была разработана библиотека для построения реактивного пользовательского интерфейса.



1. Графический интерфейс пользователя, графический
пользовательский интерфейс // Википедия [Электронный ресурс]. URL: https:/mi.vikipedia.oiyAviki/l фафический интерфейс пользователя (дата
обращения: 20.04.2020).
2. Реактивное программирование // Википедия [Электронный
ресурс]. URL: https://ru.wikipedia.org/wiki/Реактивное_программирование
(дата обращения: 20.04.2020).
3. Mol libs for web ui // The JavaScript organization
[Электронный ресурс]. URL: https://mol.js.org/ (дата обращения: 20.04.2020).
4. Jetpack Compose // Android platform [Электронный ресурс]. URL: https://developer.android.com/jetpack/compose/ (дата обращения: 20.04.2020).
5. Xcode Swift UI Apple Developer // Apple [Электронный ресурс]. URL: https://developer.apple.com/xcode/swiftui/ (дата обращения: 20.04.2020).
6. Flutter - Beautiful native apps in record time // Flutter [Электронный ресурс]. URL: https://flutter.dev/ (дата обращения: 20.04.2020).
7. Что такое виджеты? // Технологии Яндекса [Электронный ресурс].
URL: https://yandex.ru/dev/wdgt/doc/dg/concepts/widget-definition-docpage/
(дата обращения: 20.04.2020).
8. Химонин Юрий. Сбор и анализ требований к программному продукту // Файловый архив [Электронный ресурс]. URL: https://studfile.net/preview/1869165/ (дата обращения: 07.05.2020).
9. Вигерс Карл. Разработка требований к программному
обеспечению / К. Вингерс - М.: Издательско-торговый дом «Русская
Редакция», 2004. - 576с
10. Mono.Cecil // Mono [Электронный ресурс]. URL: https://www.mono-project.com/docs/tools+libraries/libraries/Mono.Cecil/ (дата обращения: 07.05.2020).
11. Что такое управляемый код // Microsoft [Электронный ресурс].
URL: https://docs.microsoft. com/ru-ru/dotnet/standard/managed-code (дата
обращения: 07.05.2020).
12. ISharpCode .NET Decompiler with support for PDB generation, ReadyToRun, Metadata (&more) // Github [Электронный ресурс]. URL: https://github.com/icsharpcode/ILSpy (дата обращения: 07.05.2020).
13. Диаграммы пакетов // НОУ ИНТУИТ [Электронный ресурс]. URL:
https://www. intuit. ru/studies/courses/1041/218/lecture/27263 ?page=3 (дата
обращения: 07.05.2020).
14. Тестирование программных средств // RSDN [Электронный
ресурс]. URL: http://rsdn.org/article/testing/SoftwareTesting.xml (дата
обращения: 07.05.2020).
15. Модели качества и надежности в программной инженерии. Метрики качества программного обеспечения // НОУ ИНТУИТ [Электронный ресурс]. URL: https://www.intuit.ru/studies/courses/2190/237/lecture/6136 (дата обращения: 07.05.2020)...19


Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ