#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).

Поддержка многопользовательского режима с разграничением прав доступа.

=== Выводы

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

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