Files
mmips/labs/lab2/report.typ
2025-10-01 22:53:53 +03:00

133 lines
5.6 KiB
Typst
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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