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


РАЗРАБОТКА СИСТЕМЫ УПРАВЛЕНИЯ РАСПРОСТРАНЕНИЕМ ОБНОВЛЕНИЙ ВСТРОЕННОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Работа №179099

Тип работы

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

Предмет

информатика

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

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


АННОТАЦИЯ 3
Перечень условных обозначений, символов, сокращений, терминов 4
Введение 5
I Анализ процесса выпуска и доставки обновлений 8
1.1 Поколения устройств 8
1.2 Пути распространения 8
1.2.1 SPA prisma CLOUD 10
1.2.2 Client Portal 10
1.2.3 prisma APP 11
1.2.4 OverTheAir Updater 11
1.3 Операционные расходы, связанные с деятельностью путей распространения 11
1.4 Региональные особенности 12
1.4.1 Юридические ограничения 12
1.4.2 Стоимость мобильного интернета 13
1.5 Белые списки 13
1.5.1 Канареечные релизы 13
1.6 Топология системы 14
1.6.1 Стейджи 15
2 Анализ требований 17
2.1 Поэтапный релиз 17
2.1.1 Цели релиза 18
2.2 Функциональные требования 19
2.2.1 Обслуживание путей распространения 20
2.2.2 Загрузка файлов обновлений 23
2.2.3 Редактирование обновлений 25
2.2.4 Управление белыми списками 25
2.3 Нефункциональные требования 26
2.3.1 Панель управления 26
2.3.2 Размещение в Azure и SSO Microsoft Entra ID 26
.3 Проектирование 27
3.1 Обзор используемых инструментов и технологий 27
3.1.1 ASP.NET 27
3.1.2 Entity Framework Core 28
3.1.3 React 28
3.1.4 PostgreSQL 28
3.2 Хранение и передача файлов 29
3.2.1 SAS URI 29
3.2.2 Уязвимости, связанные со скачиванием файлов 30
3.3 API для путей распространения 31
3.4 Контроль доступа 33
3.4.1 Единый вход на основе Entra ID 33
3.4.2 Внешний токен 34
3.4.3 Client Credentials 35
3.5 Зависимости 37
3.6 Общая структура серверного приложения 38
4 Реализация 40
4.1 Локальные правила и условные обозначения 40
4.2 Имплементация классов модели предметной области 40
4.2.1 Сопоставление видов ПО и поколений PAP-аппаратов 41
4.2.1 Ссылки на содержание 42
4.3 Имплементация слоя приложения 43
4.4 Инфраструктурные сервисы 43
4.4.1 API-клиенты Country Mapper и prisma CLOUD Core 43
4.4.2 Авторизация API-клиентов 44
4.4.3 Хранение файлов 47
4.4.4 Формирование SAS URI 48
4.5 Сервисы распространения ПО 49
4.5.1 Алгоритм обработки запросов путей распространения 51
4.5.2 Поиск доступных обновлений 52
4.6 Контроль доступа 54
4.6.1 Policy Schemes 55
Заключение 58
Список использованных источников и литературы 59


Данная работа выполнена в рамках проекта prisma CLOUD, представляющего собой экосистему для медицинских организаций, врачей и пациентов в сфере медицины сна, конкретно — ее подраздела, направленного на терапию связанных со сном нарушений дыхания, таких как обструктивное или центральное апноэ сна.
Апноэ сна — разновидность апноэ (остановки дыхательных движений), для которого характерно прекращение лёгочной вентиляции во время сна. Частые симптомы включают дневную сонливость, храп, ухудшение работоспособности и постоянную усталость, несмотря на достаточное время сна. Заболевание выражается в затрудненности дыхания во время сна и приводит к значительному снижению качества жизни пациента: остановкам дыхания, пробуждениям с ощущением нехватки воздуха и удушья и головным болям, вызванным кислородной недостаточностью и отравлением углекислым газом.
Одним из наиболее эффективных методов лечения апноэ сна средней и более тяжести считается PAP-терапия. Positive Airway Pressure, положительное давление в дыхательных путях — это неинвазивный способ вспомогательной вентиляции легких, доступный для применения в домашних условиях. Обычно выделяют два вида PAP- терапии, отличительной характеристикой которых является используемое давление воздуха: постоянное — CPAP, или переменное — APAP. Они реализуются с помощью CPAP/APAP-аппарата и функционируют следующим образом: пациент использует специальную плотно прилегающую маску, подключенную к аппарату; устройство создает положительное давление воздуха, которое поддерживает дыхательные пути открытыми, тем самым предотвращая эпизоды остановки дыхания и храп.
Система prisma CLOUD обеспечивает ключевые возможности, необходимые для качественного и оперативного предоставления медицинской помощи с использованием PAP-аппаратов: успех PAP-терапии во многом зависит от грамотного подбора лечебного давления в зависимости от индивидуальных потребностей пациента. Функциональность prisma CLOUD направлена на реализацию телемедицины — удаленного взаимодействия пациентов и медицинских работников посредством телекоммуникационных технологий, и включает сбор, хранение, анализ и представление индивидуальных данных о процессе PAP- терапии, а также удаленное изменение ее параметров. Это позволяет врачу быстро и эффективно управлять процессом лечения на основании актуальной информации о текущем состоянии пациента.
Современные устройства для PAP-терапии — это сложные аппаратные продукты, функционирование которых управляется встроенным программным обеспечением.
Добавление новой функциональности и прочие изменения этого программного обеспечения вносятся в него посредством обновлений.
Процесс выпуска обновления после окончания его разработки требует решения ряда задач, таких как, например, сертификация медицинского ПО и получение разрешения на его распространение в определенных странах в соответствии с их законодательством. Однако финальным и самым разнообразным этапом в процессе выпуска обновления является непосредственно его доставка на устройство.
Сложность этого этапа во многом обуславливается одновременным вовлечением в него нескольких взаимодополняющих систем. Доставка обновления на аппарат может быть реализована с помощью одного из четырех независимых сервисов, называемых путями распространения. Данные сервисы разрабатываются и контролируются отдельными командами из различных структурных подразделений организации. Таким образом, процесс релиза требует скоординированных действий большого числа сотрудников, которые будут вручную подготавливать выпуск обновления в подотчетных им сервисах в соответствии с их внутренним устройством (Рисунок 1).
New software version
is ready for release






Рисунок 1 — Исходный процесс
Среди недостатков такого процесса — организационная сложность, неоптимальное количество задействованных человеческих ресурсов и ручного труда. Это делает его подверженным человеческим ошибкам и приводит к повышению соответствующих затрат, что негативно сказывается на общей стоимости обслуживания PAP-аппаратов. Решение данной проблемы требует унификации взаимодействия с путями распространения и создания централизованного процесса, позволяющего осуществлять выпуск обновления и управлять его течением.
В связи с этим была поставлена цель: разработать систему, позволяющую управлять распространением обновлений встроенного ПО для медицинских устройств через различные каналы доставки. Внедрение такой системы в prisma CLOUD сократит количество ручного труда, задействованного в процессе выпуска обновлений, и сделает его надежнее и экономичнее. Новая система, а также проект по ее разработке получили название Bucharest.
Для достижения поставленной цели были сформулированы следующие задачи.
1. Проанализировать процесс распространения обновлений встроенного ПО.
2. Проанализировать требования к разрабатываемой системе.
3. Спроектировать архитектуру системы.
4. Реализовать систему.

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

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

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


В рамках работы была выполнена задача по исследованию исходного процесса выпуска и доставки новых версий встроенного ПО для PAP-аппаратов в системе prisma CLOUD. На его основании был проведен анализ требований к системе, позволяющей автоматизировать этапы рассмотренного процесса, связанные с контролем передачи обновлений с использованием децентрализованных каналов доставки.
По результатам анализа требований была спроектирована архитектура системы, предусматривающая управление условиями релиза ПО и их автоматическое применение при обслуживании запросов путей распространения. Спроектированная система реализована в полном объеме и введена в эксплуатацию с планами на долгосрочную поддержку и сопровождение.
Внедрение разработанной системы позволило централизовать процесс управления передачей обновлений с помощью всех путей распространения, устранив необходимость в ручной подготовке выпуска обновлений в задействованных сервисах (Рисунок 40). Благодаря этому, для управления релизом достаточно изменить его конфигурацию в Bucharest — вместо координирования действий множества сотрудников, осуществляющих разработку и сопровождение prisma CLOUD, prisma APP, OTA и Client Portal. Это снижает риск человеческих ошибок и обеспечивает оптимизацию трудовых ресурсов, связанных с выпуском новых версий ПО.

Рисунок 40 — Процесс после внедрения разработанной системы

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



1. Regulation 2017/745 on medical devices // EUR-Lex. — [S. l.], 2017 — URL: https://eur-lex.europa.eu/eli/reg/2017/745/oj/eng (access date: 23.04.2025)
2. Canary Release / Danilo Sato // Thoughtworks. — [S. l.], 2014 — URL:
https://martinfowler.com/bliki/CanaryRelease.html (access date: 23.04.2025)
3. Personal Information Protection and Electronic Documents Act // Justice Laws Website. — [S. l.], 2017 — URL: https://laws-lois.justice.gc.ca/eng/acts/p-8.6/FullText.html (access date: 24.04.2025)
4. Act on the Protection of Personal Information // Japanese Law Translation. — [S. l.], 2017 — URL: https://www.japaneselawtranslation.go.jp/en/laws/view/4241/en (access date: 24.04.2025)
5. Single sign-on in Microsoft Entra ID // Microsoft Learn. — [S. l.], 2024 — URL:
https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/what-is-single-sign-on (access
date: 02.05.2025)
6. ASP.NET // Microsoft Learn. — [S. l.], 2025 — URL: https://learn.microsoft.com/en- us/aspnet/core/?view=aspnetcore-9.0 (access date: 02.05.2025)
7. Database Providers // Microsoft Learn. — [S. l.], 2025 — URL:
https://learn.microsoft.com/en-us/ef/core/providers/?tabs=dotnet-core-cli (access date:
02.05.2025)
8. React // Meta Open Source. — [S. l.], 2023 — URL: https://react.dev/reference/react (access date: 02.05.2025)
9. React Virtual DOM // GeeksForGeeks. — [S. l.], 2025 — URL:
https://www.geeksforgeeks.org/reactjs-virtual-dom/ (access date: 02.05.2025)
10. Coupling and Cohesion // GeeksForGeeks. — [S. l.], 2025 — URL:
https://www.geeksforgeeks.org/software-engineering-coupling-and-cohesion/ (access date: 09.05.2025)
11. The OAuth 2.0 Authorization Framework: Bearer Token Usage / M. Jones, D. Hardt //
Internet Engineering Task Force. — [S. l.], 2015 — URL:
https://datatracker.ietf.org/doc/html/rfc6750 (access date: 02.05.2025)
12. JSON Web Token / M. Jones, J. Bradley, N. Sakimura // Internet Engineering Task Force. — [S. l.], 2012 — URL: https://datatracker.ietf.org/doc/html/rfc7519 (access date: 02.05.2025)
13. The RSA Cryptosystem / Joshua Pitd, Yiying Zhong // MIT Mathematics. — [S. l.],
2024 — URL:
https://math.mit.edu/research/highschool/primes/circle/documents/2024/Honglin.pdf (access
date: 02.05.2025)
14. JSON Web Key (JWK) / M. Jones // Internet Engineering Task Force. — [S. l.], 2015 — URL: https://datatracker.ietf.org/doc/html/rfc7517 (access date: 03.05.2025)
15. The OAuth 2.0 Authorization Framework / ed. D. Hardt // Internet Engineering Task Force. — [S. l.], 2012 — P. 1.3.4. — URL: https://datatracker.ietforg/doc/html/rfc6749#section- 1.3.4 (access date: 03.05.2025)
...24


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



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


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