This commit is contained in:
nik
2025-10-01 22:53:53 +03:00
parent 52755745f4
commit 7826f18d93
15 changed files with 301 additions and 0 deletions

132
labs/lab2/report.typ Normal file
View File

@@ -0,0 +1,132 @@
#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 можно детализировать, например, процесс «Медицинское сопровождение»:
- Назначение диагноза.
- Назначение лечения.
- Назначение процедуры/операции.
- Выписка пациента.
#align(center)[#image("assets/3.svg")]
=== Выводы.
В ходе проделанной работы я изучил методику создания контекстной диаграммы потоков данных в нотации DFD.