Программное средство Инвентаризация компьютеров. ПЗ_new. Руководство пользователя для разработанной системы. Пятый раздел приводит данные по информационной безопасности приложения
Скачать 4.8 Mb.
|
3.5 Описание основных зависимостей проекта3.5.1 Пакет IntlПакет предоставляет средства интернационализации и локализации, включая перевод сообщений, множественное число и роды, форматирование и разбор даты / номера, а также двунаправленный текст. Локализуемые сообщения записываются как функции, которые возвращают результат вызова Intl.message. Функция может быть запущена в программе до того, как будет выполнен какой-либо перевод, и просто вернет строку сообщения. Строка также можно извлечь в файл и затем может быть модифицирована так, чтобы она возвращала переведенную версию без изменения исходной программы [4]. 3.5.2 Пакет ProviderЗависимость, которая предоставляет ряд возможностей при разработке приложения: упрощенное распределение / распоряжение ресурсами; отложенная загрузка; значительно уменьшенный шаблон по сравнению с созданием нового класса каждый раз; повышенная масштабируемость для классов с механизмом прослушивания, которая экспоненциально растет. 3.5.3 Пакет Auto RouteAutoRoute это пакет для генерации маршрутов, в которой автоматически создается все необходимое для навигации. В Flutter маршруты используются для перехода между экранами. Класс Navigator предоставляет возможность навигации по названному маршруту из любой части приложения с использованием общего идентификатора. В некоторых случаях также может понадобиться передать аргументы в именованный маршрут. Например, можно перейти к маршруту /user и передать информацию о пользователе по этому маршруту. 3.5.4 Пакет artemisПлагин Flutter, который предоставляет возможность сгенерировать код для взаимодействия с GraphQL сервером из доступной схемы. Плагин использует стандартный механизм Flutter для создания генерированного кода всех запросов, мутаций и объектов доступных внутри GraphQL схемы. 3.5.5 Пакет storage_repositoryЗависимость для создания безопасного хранилища и предоставления репозитория в Flutter, обеспечивающая легкий доступ к определенным платформозависимым службам. Характерной чертой этой зависимости является то, что данные, которые сохраняются туда персистенты и хранятся между запусками приложения в шифрованном виде. 3.5.6 Пакет flutter_localizationsСтандартный плагин Flutter для предоставления возможностей интернационализации приложения. Предоставляет инструменты и генерацию кода для всевозможных доступных локалей. Все переводы хранятся в специальных arb файлах. 3.5.7 Пакет hiveКроссплатформенная библиотека, предоставляющая хранилище по типу «ключ-значение» написанное на чистом Dart. Одна из транзитивных зависимостей требуемых для storage_repositoryдля того, чтобы он мог работать на мобильной платформе. 3.5.8 Пакет Build RunnerПакет build_runner предоставляет конкретный способ генерации файлов с использованием кода Dart вне таких инструментов, как pub. В отличие от pub / build, файлы всегда генерируются непосредственно на диске, а перестройки - инкрементные. 3.6 Разработка архитектуры приложения Для реализации всей функциональности приложения в клиентской части существует лишь одна основная роль. Таким образом, учитывая аутентификацию можно выделить две основные структурные части: аутентификация; сотрудник. По серверной части мы используем IdentityServer для авторизации и клиентов, а HotChocolate для поддержки GraphQL в ASP.NET Core. Таким образом можно выделить такие структурные части как: ASP.NET Core; EntityFramework; PostgreSQL; IdentityServer; HotChocolate. Большинство приложений должны распознавать пользователей. Знание личности пользователя позволяет приложению безопасно сохранять пользовательские данные и предоставлять персонализированный опыт работы на любом устройстве. IdentityServer предоставляет основную работу с авторизацией и OAuth. Вход в приложение, использующее IdentityServer, можно осуществить либо с помощью FirebaseUI как готовое решение предоставляющее все средства для работы с OAuth, либо ручная интеграция одного или нескольких методов входа в приложение. Для вышеперечисленных компонентов был проведен поиск и подбор соответствующих инструментов и технологий, а также архитектурного стиля. В качестве архитектурного стиля для нашего клиентского решения был выбран трёхслойный архитектурный стиль. Для компонентов решения были выбраны следующие технологии: Flutter – в качестве технологии проектирования кроссплатформенного приложения; PostgreSQL – в качестве базы данных приложения; ASP.NET Core – в качестве технологии проектирования серверного приложения. 3.7 Выводы по разделу В данном разделе были подробно рассмотрены ключевые компоненты для разработки и реализации программного средства мобильного приложения. Реализация пользовательского приложения производилась при помощи фреймворка Flutter. Был составлен и реализован набор компонентов для отображения, добавления, удаления и взаимодействия различных сущностей. Также была реализована система разграничения доступа к функционалу приложения для различных групп пользователей. Была внедрена валидация введённых данных перед отправкой формы, а также сообщения об ошибке при отправке данных формы на сервер. Программное средство позволяет создавать заказы, подписки и управлять персоналом. Реализовано наличие двух ролей, пользователя и сотрудника, а также аутентификация и обновление позиции курьера в реальном времени. 4 Руководство пользователя системы и тестирование (анализ безопасности системы) |