#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)[Лабораторная работа №2] #align(center)[Создание контекстной диаграммы потоков данных в нотации DFD] \ \ \ //#align(center)[Вариант 19] \ \ \ \ \ \ \ #align(right)[Выполнил:] #align(right)[Дощенников Никита Андреевич] #align(right)[Группа: К3221] #align(right)[Проверил:] #align(right)[Иванов Сергей Евгеньевич] \ \ #align(center)[Санкт-Петербург] #align(center)[2025] #pagebreak() === Цель работы. Изучить методику создания контекстной диаграммы потоков данных в нотации DFD. === Результаты. ==== 1. Внешние сущности контекстной диаграммы. Для системы регистрации пациента в больнице выделены следующие внешние сущности: - Пациент — источник личных данных, обращается для регистрации, получает документы (счета, выписку, назначения). - Регистратор — взаимодействует с системой для ввода данных пациента, закрепления в отделении, выставления счетов. - Врач — вносит медицинские назначения, операции, процедуры, выписки. - Заведующий отделением — получает отчёты о работе отделения. - Бухгалтерия (или «Финансовая система») — получает счета и данные об оплате услуг. ==== 2. Главный процесс в БНФ-нотации Главный процесс: "Регистрация и сопровождение пациента в больнице". В БНФ-форме: ``` <Процесс> ::= <ВводДанныхПациента> | <РегистрацияПациента> | <МедицинскоеСопровождение> | <ФормированиеОтчетов> <ВводДанныхПациента> ::= Пациент -> Система <РегистрацияПациента> ::= Регистратор -> Система -> Пациент <МедицинскоеСопровождение> ::= Врач -> Система -> Пациент <ФормированиеОтчетов> ::= Заведующий -> Система -> Отчет ``` ==== 3. Контекстная диаграмма (Уровень A-0) Главный процесс: "Система регистрации пациента в больнице". Входы: - Данные пациента (от Пациента). - Данные о диагнозах и лечении (от Врача). - Запросы на отчёты (от Заведующего). - Данные о счетах (от Регистратора). Выходы: - Подтверждение регистрации (Пациент). - Медицинские назначения, выписки (Пациент). - Отчёты (Заведующий). - Счета на оплату (Бухгалтерия). #align(center)[#image("assets/1.svg")] ==== 4. Декомпозиция процесса (уровень A-1) Главный процесс раскладывается на подсистемы: - Регистрация пациента — ввод данных, закрепление в отделении/палате. - Медицинское сопровождение — назначение диагнозов, процедур, операций, выписка. - Финансовый учет — выставление счетов, учет платных услуг. - Формирование отчетов — пропускная способность, среднее время пребывания, осложнения. #align(center)[#image("assets/2.svg")] ==== 5. Диаграммы потоков данных (DFD) уровней - А-0 — контекстная диаграмма (один процесс «Система регистрации пациента в больнице»). - А-1 — разложение на 4 подпроцесса (Регистрация, Медицинское сопровождение, Финансы, Отчёты). - А-2 — можно детализировать, например, процесс «Медицинское сопровождение»: - Назначение диагноза. - Назначение лечения. - Назначение процедуры/операции. - Выписка пациента. === Выводы. В ходе проделанной работы я изучил методику создания контекстной диаграммы потоков данных в нотации DFD.