From 334a0f2425889b2e2baf6efbfb7ea5d037846b64 Mon Sep 17 00:00:00 2001 From: nik Date: Tue, 14 Oct 2025 17:20:41 +0300 Subject: [PATCH] lab4 done --- labs/lab3/report.pdf | Bin 0 -> 32612 bytes labs/lab3/report.typ | 198 +++++++++++++++++++++++++++++++++++++++++ labs/lab4/assets/1.svg | 102 +++++++++++++++++++++ labs/lab4/assets/2.svg | 102 +++++++++++++++++++++ labs/lab4/assets/3.svg | 102 +++++++++++++++++++++ labs/lab4/assets/4.svg | 102 +++++++++++++++++++++ labs/lab4/report.pdf | Bin 0 -> 78966 bytes labs/lab4/report.typ | 164 ++++++++++++++++++++++++++++++++++ 8 files changed, 770 insertions(+) create mode 100644 labs/lab3/report.pdf create mode 100644 labs/lab3/report.typ create mode 100644 labs/lab4/assets/1.svg create mode 100644 labs/lab4/assets/2.svg create mode 100644 labs/lab4/assets/3.svg create mode 100644 labs/lab4/assets/4.svg create mode 100644 labs/lab4/report.pdf create mode 100644 labs/lab4/report.typ diff --git a/labs/lab3/report.pdf b/labs/lab3/report.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2c2d1b88f4e661507d2d282aa8e5a1e040569494 GIT binary patch literal 32612 zcmce-by!@_(k>c2xI==w1&6^UxVyW%ySuw3GR@)Cck~ox4(1t zz4y82k4wM9%&JvgU0q$>tcR(WQc+Z#frXJ1fie*IK|tUlVJ2}fwnpINLm(kxQuT5) zBViJEuy+Mtskj-t{uO}5%wUPIk&7AlE(w!}xR|Dl{0CVpV>4%0D|my4^Jos_+~1Igde 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 LpE)C^F8}`k^<|+h literal 0 HcmV?d00001 diff --git a/labs/lab3/report.typ b/labs/lab3/report.typ new file mode 100644 index 0000000..4072619 --- /dev/null +++ b/labs/lab3/report.typ @@ -0,0 +1,198 @@ +#set text(size: 1.3em) + +#show raw.where(block: false): box.with( + fill: luma(240), + inset: (x: 3pt, y: 0pt), + outset: (y: 3pt), + radius: 2pt, +) + +#show raw.where(block: true): block.with( + fill: luma(240), + inset: 10pt, + radius: 4pt, +) + +// title + +#align(center)[Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики] +\ +\ +\ +#align(center)[Факультет инфокоммуникационных технологий] +#align(center)[Направление подготовки 11.03.02] +\ +\ +#align(center)[Лабораторная работа №3] +#align(center)[Создание требований к разрабатываемой информационной системе] +\ +\ +\ //#align(center)[Вариант 19] +\ +\ +\ +\ +\ +\ +\ +#align(right)[Выполнил:] +#align(right)[Дощенников Никита Андреевич] +#align(right)[Группа: К3221] +#align(right)[Проверил:] +#align(right)[Иванов Сергей Евгеньевич] +\ +\ +#align(center)[Санкт-Петербург] +#align(center)[2025] + +#pagebreak() + +=== Цель работы. + +Изучение требований к информационной системе и использование методов их выявления для разработки проекта системы регистрации пациента в больнице. + +=== Результаты. + +==== 1. Общие сведения о требованиях + +Требование к системе — это условие или свойство, которому должна удовлетворять информационная система, чтобы удовлетворить потребности пользователей и соответствовать стандартам и техническим спецификациям. + +Стандарты для работы с требованиями: + +- ГОСТ 19.201-78: Единая система программной документации. Техническое задание. Требования к содержанию и оформлению. + +- ГОСТ 34.602-89: Информационная технология. Техническое задание на создание автоматизированной системы. + +Типы требований: + +- Функциональные — описывают действия и поведение системы при обработке информации (что система должна уметь делать). + +- Нефункциональные — определяют атрибуты системы или её окружения: + + - требования к применению (качество ПО, документации), + + - требования к производительности (время отклика, пропускная способность), + + - требования к реализации (стандарты, языки программирования, операционная среда), + + - требования к надежности (частота сбоев, возможности восстановления), + + - требования к интерфейсу (взаимодействие с внешними сущностями и регламент этого взаимодействия). + +Методы выявления требований: + +- Собеседование (интервьюирование) + +- Анкетирование + +- Моделирование и анализ бизнес-процессов + +- Сессии по выявлению требований (мозговой штурм) + +- Создание и демонстрация работающих прототипов приложений + +Документы для оформления требований: + +- Словарь предметной области (глоссарий) + +- Концепция системы + +- Дополнительные спецификации (технические требования) + +==== 2. Глоссарий + +- Пациент — человек, обращающийся в больницу за медицинской помощью. + +- Регистратор — сотрудник, оформляющий приём и регистрацию пациента. + +- Врач — медицинский работник, назначающий лечение и процедуры. + +- Заведующий отделением — руководитель подразделения, контролирующий пропускную способность и отчёты. + +- Бухгалтерия — отдел финансового учёта больницы. + +- Отделение — структурная единица больницы с палатами и койками. + +- Палата — помещение для размещения одного или нескольких пациентов. + +- Эпикриз — выписной документ о состоянии пациента и проведённом лечении. + +==== 3. Концепция системы + +Цель проекта: Создать информационную систему регистрации и сопровождения пациентов в больнице, обеспечивающую автоматизацию процесса приёма, размещения, лечения и выписки пациентов, а также ведение отчётности. + +Основные возможности системы: + +- Регистрация нового пациента + +- Определение отделения и палаты для пациента + +- Перевод пациента в другое отделение + +- Выставление счета за услуги + +- Просмотр наличия свободных мест + +- Назначение диагноза, статуса, лечения, процедур и операций + +- Назначение платных услуг и выписка лекарств + +- Создание выписного эпикриза + +- Формирование отчётов по пропускной способности, среднему времени пребывания, осложнениям при операциях + +==== 4. Функциональные требования + +- Регистратура: + - Зарегистрировать нового пациента + - Определить пациента в отделение + - Перевести пациента в другое отделение + - Закрепить пациента в палате + - Выставить счет за услуги + - Просматривать наличие свободных мест (мужские/женские) + +- Врач: + - Назначить диагноз + - Проставить статус больного + - Назначить лечение + - Назначить процедуры + - Назначить дату и время процедур + - Назначить операцию + - Проставить статус операции + - Назначить платные услуги + - Выписать лекарственные средства + - Выписать пациента + - Создать выписной эпикриз + +- Заведующий отделением: + - Формировать отчёты о пропускной способности + - Формировать отчёты по среднему времени пребывания + - Формировать отчёты по операциям с осложнениями + +==== 5. Нефункциональные требования + +Производительность: Время отклика системы при регистрации не более 2 секунд; пропускная способность — до 100 регистраций в день. + +Надёжность: Система должна иметь резервное копирование данных; допускается не более 1 сбоя в месяц. + +Юзабилити: Интерфейс должен быть удобен для быстрого ввода данных регистратором и врачом. + +Документация: Система сопровождается руководством пользователя и технической документацией. + +Интерфейс: Возможность взаимодействия с внешними системами (например, финансовый учёт, склад лекарств). + +==== 6. Дополнительные спецификации + +Система реализуется в виде веб-приложения. + +Используемая СУБД — PostgreSQL. + +Язык программирования: Python (backend) и JavaScript (frontend). + +Поддержка многопользовательского режима с разграничением прав доступа. + +=== Выводы + +В ходе выполнения работы были изучены методы выявления требований к информационной системе, разработан глоссарий предметной области, концепция и функциональные/нефункциональные требования для проекта «Система регистрации пациента в больнице». + +В результате проделанной работы получен полный набор требований, позволяющий строить дальнейшие модели системы, проектировать интерфейсы и готовить техническое задание для реализации. diff --git a/labs/lab4/assets/1.svg b/labs/lab4/assets/1.svg new file mode 100644 index 0000000..18b06cf --- /dev/null +++ b/labs/lab4/assets/1.svg @@ -0,0 +1,102 @@ +

Данные пациента

Данные о счетах

Данные о диагнозах и лечении

Запросы на отчеты

Подтверждение регистрации

Медицинские назначения, выписки

Счета на оплату

Отчеты

Система регистрации пациента в больнице

Пациент

Регистратура

Врач

Заведующий отделением

\ No newline at end of file diff --git a/labs/lab4/assets/2.svg b/labs/lab4/assets/2.svg new file mode 100644 index 0000000..977eca0 --- /dev/null +++ b/labs/lab4/assets/2.svg @@ -0,0 +1,102 @@ +

Данные о пациентах

История лечения

Эпикриз

Финансовые отчеты

Регистрация и сопровождение пациента

Регистрация пациента

Медицинское сопровождение

Финансовый учет

Формирование отчетов

Пациент

Регистратура

Врач

Заведующий

Бухгалтерия

\ No newline at end of file diff --git a/labs/lab4/assets/3.svg b/labs/lab4/assets/3.svg new file mode 100644 index 0000000..d1b4dae --- /dev/null +++ b/labs/lab4/assets/3.svg @@ -0,0 +1,102 @@ +

Медицинское сопровождение

Регистрация пациента

Ввод данных пациента

Размещение в отделении

Закрепление в палате

Назначение диагноза

Назначение процедур/операций

Выписка пациента

Пациент

\ No newline at end of file diff --git a/labs/lab4/assets/4.svg b/labs/lab4/assets/4.svg new file mode 100644 index 0000000..69d4fcc --- /dev/null +++ b/labs/lab4/assets/4.svg @@ -0,0 +1,102 @@ +

Приём пациента

Проверка документов

Регистрация пациента

Назначение диагноза

Планирование лечения

Назначение процедур/операций

Оплата услуг

Выписка пациента

Создание эпикриза

\ No newline at end of file diff --git a/labs/lab4/report.pdf b/labs/lab4/report.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b2497a22fa10d101d336dcd05548cc364efb99c7 GIT binary patch literal 78966 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 |OgAqn}E9i{?Es20Z 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 literal 0 HcmV?d00001 diff --git a/labs/lab4/report.typ b/labs/lab4/report.typ new file mode 100644 index 0000000..113489d --- /dev/null +++ b/labs/lab4/report.typ @@ -0,0 +1,164 @@ +#set text(size: 1.3em) + +#show raw.where(block: false): box.with( + fill: luma(240), + inset: (x: 3pt, y: 0pt), + outset: (y: 3pt), + radius: 2pt, +) + +#show raw.where(block: true): block.with( + fill: luma(240), + inset: 10pt, + radius: 4pt, +) + +// title + +#align(center)[Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики] +\ +\ +\ +#align(center)[Факультет инфокоммуникационных технологий] +#align(center)[Направление подготовки 11.03.02] +\ +\ +#align(center)[Лабораторная работа №4] +#align(center)[Создание модели бизнес-процесса в нотации IDEF] +\ +\ +\ //#align(center)[Вариант 19] +\ +\ +\ +\ +\ +\ +\ +#align(right)[Выполнил:] +#align(right)[Дощенников Никита Андреевич] +#align(right)[Группа: К3221] +#align(right)[Проверил:] +#align(right)[Иванов Сергей Евгеньевич] +\ +\ +#align(center)[Санкт-Петербург] +#align(center)[2025] + +#pagebreak() + +=== Цель работы. + +Изучение методики создания модели бизнес-процесса в нотации IDEF0 и IDEF3 для системы регистрации пациента в больнице. + +=== Результаты. + +===== Часть 1. Моделирование в нотации IDEF0. + +1. Контекстная диаграмма. + +Главный процесс: «Регистрация и сопровождение пациента в больнице». +Входы: данные о пациенте, запросы на отчёты, данные о счетах. +Выходы: подтверждение регистрации, медицинские назначения, выписки, отчёты, счета на оплату. +Механизмы: персонал регистратуры, лечащие врачи, заведующий отделением, бухгалтерия, система. +Управляющие воздействия: внутренние регламенты больницы, стандарты оформления, нормативные документы. + +#align(center)[#image("assets/1.svg")] + +2. Основные процессы проекта IDEF0. + +- Регистрация пациента: приём и оформление данных, распределение по отделениям, закрепление в палате. + +- Медицинское сопровождение: назначение диагноза, процедур, операций, выписка. + +- Финансовый учёт: выставление счетов, учет платных услуг. + +- Формирование отчетов: пропускная способность, среднее время пребывания, количество операций с осложнениями. + +3. Тип бизнес-процесса. + +Процесс комплексный, управленческий и обслуживающий, ориентирован на автоматизацию административной и медицинской деятельности. + +4. Входы, выходы, механизмы и управляющие воздействия. + +- Входы: данные пациента, заявки на оплату, запросы на отчёты + +- Выходы: подтверждения, отчёты, счета, выписки + +- Механизмы: система, регистратура, врачи, бухгалтерия, заведующий отделением + +- Управляющие воздействия: внутренние регламенты, стандарты, нормативные документы + +5. Декомпозиция уровня А-1 + +Подпроцессы: + +- A1: Регистрация пациента + +- A2: Медицинское сопровождение + +- A3: Финансовый учёт + +- A4: Формирование отчетов + +#align(center)[#image("assets/2.svg")] + +6. Декомпозиция уровня А-2 + +- A1.1: Ввод данных пациента + +- A1.2: Размещение в отделении + +- A1.3: Закрепление в палате + +- A2.1: Назначение диагноза + +- A2.2: Назначение процедур и операций + +- A2.3: Выписка пациента + +#align(center)[#image("assets/3.svg")] + +==== Часть 2. Моделирование в нотации IDEF3. + +7. Диаграмма IDEF3 + +Показана последовательность действий и информационных потоков для процесса «Регистрация и сопровождение пациента»: + +- Приём пациента → Проверка документов → Регистрация → Назначение диагноза → Планирование лечения → Выписка + +- Взаимодействие с отделом бухгалтерии для оплаты услуг + +- Взаимодействие с заведующим отделением для формирования отчетов + +#align(center)[#image("assets/4.svg")] + +8. Основные информационные потоки и отношения + +- Пациент передаёт персональные данные и заявления → регистратура + +- Регистратура вводит данные в систему → врач, бухгалтерия + +- Врач назначает процедуры → регистратура, система + +- Система формирует отчёты → заведующий отделением + +9. Перекрестки логики + +- Решение о направлении пациента в отделение (A1.2) зависит от наличия свободных мест и категории палаты + +- Назначение процедур/операций (A2.2) зависит от диагноза и статуса пациента + +- Оплата услуг (A3) зависит от выставленного счёта и выбора пациента + +=== Выводы + +В ходе выполнения работы были построены модели бизнес-процессов в нотациях IDEF0 и IDEF3 для информационной системы регистрации пациента в больнице. + +- Сформированы контекстная диаграмма, декомпозиции уровней А-1 и А-2 + +- Определены входы, выходы, механизмы и управляющие воздействия процессов + +- Построена диаграмма информационных потоков и логики процессов в нотации IDEF3 + +В результате получены полные модели, позволяющие визуализировать последовательность действий, информационные потоки и взаимодействие участников системы, что обеспечивает основу для дальнейшей автоматизации и проектирования интерфейсов.