Egor Chernobai пре 2 месеци
родитељ
комит
4f59fc5647

BIN
ЛР6. Задание по ГОСТ Алгоритмы.docx



+ 85 - 0
диаграммы/схемы взаимодействия программ.drawio

@@ -0,0 +1,85 @@
+<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" version="29.6.3">
+  <diagram name="Страница-1" id="Jaq_1WhyTZrM29bRkLPj">
+    <mxGraphModel dx="1042" dy="567" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-94" edge="1" parent="1" source="Hg6SNYS3C7jG5-Gh9Pa6-78" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" target="Hg6SNYS3C7jG5-Gh9Pa6-79" value="">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-78" parent="1" style="rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Клиент" vertex="1">
+          <mxGeometry height="80" width="160" x="240" y="360" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-93" edge="1" parent="1" source="Hg6SNYS3C7jG5-Gh9Pa6-79" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" target="Hg6SNYS3C7jG5-Gh9Pa6-80" value="">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-79" parent="1" style="rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Сервер аутентификации" vertex="1">
+          <mxGeometry height="80" width="160" x="240" y="480" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-100" edge="1" parent="1" source="Hg6SNYS3C7jG5-Gh9Pa6-80" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" target="Hg6SNYS3C7jG5-Gh9Pa6-81" value="">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-80" parent="1" style="rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Сервер БД" vertex="1">
+          <mxGeometry height="80" width="160" x="240" y="600" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-89" edge="1" parent="1" source="Hg6SNYS3C7jG5-Gh9Pa6-81" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="Hg6SNYS3C7jG5-Gh9Pa6-82">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-81" parent="1" style="rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Сервер аутентификации" vertex="1">
+          <mxGeometry height="80" width="160" x="240" y="720" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-90" edge="1" parent="1" source="Hg6SNYS3C7jG5-Gh9Pa6-82" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" target="Hg6SNYS3C7jG5-Gh9Pa6-83" value="">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-82" parent="1" style="rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Клиент" vertex="1">
+          <mxGeometry height="80" width="160" x="240" y="840" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-91" edge="1" parent="1" source="Hg6SNYS3C7jG5-Gh9Pa6-83" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" target="Hg6SNYS3C7jG5-Gh9Pa6-84" value="">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-83" parent="1" style="rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Сервер приложений" vertex="1">
+          <mxGeometry height="80" width="160" x="240" y="960" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-104" edge="1" parent="1" source="Hg6SNYS3C7jG5-Gh9Pa6-84" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" target="Hg6SNYS3C7jG5-Gh9Pa6-85" value="">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-84" parent="1" style="rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Сервер БД" vertex="1">
+          <mxGeometry height="80" width="160" x="240" y="1080" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-105" edge="1" parent="1" source="Hg6SNYS3C7jG5-Gh9Pa6-85" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" target="Hg6SNYS3C7jG5-Gh9Pa6-86" value="">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-85" parent="1" style="rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Сервер приложений" vertex="1">
+          <mxGeometry height="80" width="160" x="240" y="1200" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-86" parent="1" style="rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Клиент" vertex="1">
+          <mxGeometry height="80" width="160" x="240" y="1320" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-95" parent="1" style="text;whiteSpace=wrap;html=1;" value="JSON: login, password" vertex="1">
+          <mxGeometry height="40" width="160" x="320" y="440" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-97" parent="1" style="text;whiteSpace=wrap;html=1;" value="Проверка пользователя" vertex="1">
+          <mxGeometry height="40" width="170" x="320" y="560" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-98" parent="1" style="text;whiteSpace=wrap;html=1;" value="SQL-ответ: user" vertex="1">
+          <mxGeometry height="40" width="120" x="320" y="680" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-101" parent="1" style="text;whiteSpace=wrap;html=1;" value="JWT-токен" vertex="1">
+          <mxGeometry height="40" width="90" x="324" y="800" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-102" parent="1" style="text;whiteSpace=wrap;html=1;" value="&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td data-start=&quot;1378&quot; data-end=&quot;1400&quot; data-col-size=&quot;sm&quot;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td data-col-size=&quot;sm&quot; data-start=&quot;1400&quot; data-end=&quot;1418&quot;&gt;HTTP GET + JWT&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;" vertex="1">
+          <mxGeometry height="50" width="140" x="320" y="910" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-103" parent="1" style="text;whiteSpace=wrap;html=1;" value="&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td data-start=&quot;1419&quot; data-end=&quot;1437&quot; data-col-size=&quot;sm&quot;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td data-col-size=&quot;sm&quot; data-start=&quot;1437&quot; data-end=&quot;1451&quot;&gt;SQL-запрос&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;" vertex="1">
+          <mxGeometry height="50" width="100" x="320" y="1030" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-106" parent="1" style="text;whiteSpace=wrap;html=1;" value="данные" vertex="1">
+          <mxGeometry height="40" width="80" x="324" y="1160" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-107" parent="1" style="text;whiteSpace=wrap;html=1;" value="&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td data-start=&quot;1481&quot; data-end=&quot;1503&quot; data-col-size=&quot;sm&quot;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td data-col-size=&quot;sm&quot; data-start=&quot;1503&quot; data-end=&quot;1517&quot;&gt;JSON-ответ&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;" vertex="1">
+          <mxGeometry height="50" width="100" x="320" y="1270" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>

BIN
диаграммы/схемы взаимодействия программ.drawio.png


+ 86 - 0
диаграммы/схемы данных.drawio

@@ -0,0 +1,86 @@
+<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" version="29.6.3">
+  <diagram name="Страница-1" id="Jaq_1WhyTZrM29bRkLPj">
+    <mxGraphModel dx="1042" dy="567" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-3" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.display;whiteSpace=wrap;" value="Отчет выполнения" vertex="1">
+          <mxGeometry height="80" width="130" x="560" y="440" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-7" edge="1" parent="1" source="Hg6SNYS3C7jG5-Gh9Pa6-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;" target="Hg6SNYS3C7jG5-Gh9Pa6-9">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-4" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.database;whiteSpace=wrap;" value="Очередь команд администратора" vertex="1">
+          <mxGeometry height="80" width="120" x="360" y="80" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-5" parent="1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Обработка команд сервером" vertex="1">
+          <mxGeometry height="80" width="120" x="360" y="200" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-8" parent="1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Формирование задач для агентов" vertex="1">
+          <mxGeometry height="80" width="120" x="360" y="320" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-9" parent="1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Обработка результатов" vertex="1">
+          <mxGeometry height="80" width="120" x="360" y="440" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-10" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.database;whiteSpace=wrap;" value="Таблица &lt;span data-start=&quot;1381&quot; data-end=&quot;1391&quot; style=&quot;&quot;&gt;Задачи&lt;/span&gt;" vertex="1">
+          <mxGeometry height="80" width="120" x="160" y="280" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-11" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.database;whiteSpace=wrap;" value="Справочник &lt;span data-start=&quot;1354&quot; data-end=&quot;1370&quot; style=&quot;&quot;&gt;Пользователи&lt;/span&gt;" vertex="1">
+          <mxGeometry height="80" width="120" x="360" y="560" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-12" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.database;whiteSpace=wrap;" value="Справочник &lt;span data-start=&quot;1330&quot; data-end=&quot;1340&quot; style=&quot;&quot;&gt;Агенты&lt;/span&gt;" vertex="1">
+          <mxGeometry height="80" width="120" x="200" y="560" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-13" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.database;whiteSpace=wrap;" value="Таблица &lt;span data-start=&quot;1402&quot; data-end=&quot;1416&quot; style=&quot;&quot;&gt;Результаты&lt;/span&gt;" vertex="1">
+          <mxGeometry height="80" width="120" x="160" y="380" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-14" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.database;whiteSpace=wrap;" value="Логи" vertex="1">
+          <mxGeometry height="80" width="120" x="520" y="560" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-15" edge="1" parent="1" source="Hg6SNYS3C7jG5-Gh9Pa6-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" target="Hg6SNYS3C7jG5-Gh9Pa6-10">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="320" y="360" />
+              <mxPoint x="320" y="320" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-16" edge="1" parent="1" source="Hg6SNYS3C7jG5-Gh9Pa6-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" target="Hg6SNYS3C7jG5-Gh9Pa6-13">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="320" y="360" />
+              <mxPoint x="320" y="420" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-17" edge="1" parent="1" source="Hg6SNYS3C7jG5-Gh9Pa6-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" target="Hg6SNYS3C7jG5-Gh9Pa6-14">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="420" y="540" />
+              <mxPoint x="580" y="540" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-18" edge="1" parent="1" source="Hg6SNYS3C7jG5-Gh9Pa6-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" target="Hg6SNYS3C7jG5-Gh9Pa6-11">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="420" y="550" />
+              <mxPoint x="420" y="550" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-19" edge="1" parent="1" source="Hg6SNYS3C7jG5-Gh9Pa6-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" target="Hg6SNYS3C7jG5-Gh9Pa6-12">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="420" y="540" />
+              <mxPoint x="260" y="540" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-20" edge="1" parent="1" source="Hg6SNYS3C7jG5-Gh9Pa6-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" target="Hg6SNYS3C7jG5-Gh9Pa6-3">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>

BIN
диаграммы/схемы данных.drawio.png


+ 59 - 0
диаграммы/схемы программы.drawio

@@ -0,0 +1,59 @@
+<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" version="29.6.3">
+  <diagram name="Страница-1" id="Jaq_1WhyTZrM29bRkLPj">
+    <mxGraphModel dx="1042" dy="567" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-33" edge="1" parent="1" source="Hg6SNYS3C7jG5-Gh9Pa6-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" target="Hg6SNYS3C7jG5-Gh9Pa6-22">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="320" y="1084" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-21" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.terminator;whiteSpace=wrap;perimeter=none;" value="Начало" vertex="1">
+          <mxGeometry height="40" width="160" x="240" y="280" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-22" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.terminator;whiteSpace=wrap;" value="Конец" vertex="1">
+          <mxGeometry height="40" width="160" x="240" y="1080" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-23" parent="1" style="shape=parallelogram;html=1;strokeWidth=2;perimeter=parallelogramPerimeter;whiteSpace=wrap;rounded=0;arcSize=12;size=0.1764705882352941;" value="Ввести логин и пароль" vertex="1">
+          <mxGeometry height="80" width="160" x="240" y="360" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-24" parent="1" style="rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Отправить данные на сервер" vertex="1">
+          <mxGeometry height="80" width="160" x="240" y="480" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-35" edge="1" parent="1" source="Hg6SNYS3C7jG5-Gh9Pa6-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;" target="Hg6SNYS3C7jG5-Gh9Pa6-34">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-25" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;" value="Агент онлайн?" vertex="1">
+          <mxGeometry height="80" width="160" x="240" y="600" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-26" parent="1" style="rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Отправить команду" vertex="1">
+          <mxGeometry height="80" width="160" x="240" y="720" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-30" parent="1" style="rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Агент выполняет команду" vertex="1">
+          <mxGeometry height="80" width="160" x="240" y="840" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-31" parent="1" style="rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Получить результат от агента" vertex="1">
+          <mxGeometry height="80" width="160" x="240" y="960" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-37" edge="1" parent="1" source="Hg6SNYS3C7jG5-Gh9Pa6-34" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="520" y="820" />
+            </Array>
+            <mxPoint x="320" y="820" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-34" parent="1" style="rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Ожидание подключения агента" vertex="1">
+          <mxGeometry height="80" width="160" x="440" y="720" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-44" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="Нет" vertex="1">
+          <mxGeometry height="30" width="60" x="390" y="610" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-45" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="Да" vertex="1">
+          <mxGeometry height="30" width="60" x="320" y="670" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>

BIN
диаграммы/схемы программы.drawio.png


+ 65 - 0
диаграммы/схемы работы системы.drawio

@@ -0,0 +1,65 @@
+<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" version="29.6.3">
+  <diagram name="Страница-1" id="Jaq_1WhyTZrM29bRkLPj">
+    <mxGraphModel dx="1042" dy="567" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-33" edge="1" parent="1" source="Hg6SNYS3C7jG5-Gh9Pa6-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;endArrow=none;endFill=0;">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="320" y="1200" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-21" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.terminator;whiteSpace=wrap;perimeter=none;" value="Начало" vertex="1">
+          <mxGeometry height="40" width="160" x="240" y="160" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-22" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.terminator;whiteSpace=wrap;" value="Конец" vertex="1">
+          <mxGeometry height="40" width="160" x="240" y="1200" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-23" parent="1" style="shape=parallelogram;html=1;strokeWidth=2;perimeter=parallelogramPerimeter;whiteSpace=wrap;rounded=0;arcSize=12;size=0.1764705882352941;" value="Ввести логин и пароль" vertex="1">
+          <mxGeometry height="80" width="160" x="240" y="240" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-24" parent="1" style="rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Отправить данные на сервер" vertex="1">
+          <mxGeometry height="80" width="160" x="240" y="360" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-35" edge="1" parent="1" source="Hg6SNYS3C7jG5-Gh9Pa6-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;" target="Hg6SNYS3C7jG5-Gh9Pa6-34">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-25" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;" value="Пользователь&lt;div&gt;авторизован?&lt;/div&gt;" vertex="1">
+          <mxGeometry height="80" width="160" x="240" y="600" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-26" parent="1" style="rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Сформировать запрос" vertex="1">
+          <mxGeometry height="80" width="160" x="240" y="720" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-31" parent="1" style="rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Отобразить список на экране" vertex="1">
+          <mxGeometry height="80" width="160" x="240" y="1080" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-41" edge="1" parent="1" source="Hg6SNYS3C7jG5-Gh9Pa6-34" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="520" y="1180" />
+            </Array>
+            <mxPoint x="320" y="1180" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-34" parent="1" style="rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Вывести ошибку" vertex="1">
+          <mxGeometry height="80" width="160" x="440" y="720" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-38" parent="1" style="rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Проверка пользователя" vertex="1">
+          <mxGeometry height="80" width="160" x="240" y="480" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-39" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.database;whiteSpace=wrap;" value="База данных" vertex="1">
+          <mxGeometry height="80" width="160" x="240" y="840" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-40" parent="1" style="shape=parallelogram;html=1;strokeWidth=2;perimeter=parallelogramPerimeter;whiteSpace=wrap;rounded=0;arcSize=12;size=0.1764705882352941;" value="Получить список&lt;div&gt;агентов&lt;/div&gt;" vertex="1">
+          <mxGeometry height="80" width="160" x="240" y="960" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-42" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="Нет" vertex="1">
+          <mxGeometry height="30" width="60" x="380" y="610" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-43" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="Да" vertex="1">
+          <mxGeometry height="30" width="60" x="310" y="670" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>

BIN
диаграммы/схемы работы системы.drawio.png


+ 58 - 0
диаграммы/физическая архитектура системы.drawio

@@ -0,0 +1,58 @@
+<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" version="29.6.3">
+  <diagram name="Страница-1" id="Jaq_1WhyTZrM29bRkLPj">
+    <mxGraphModel dx="1042" dy="567" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-117" edge="1" parent="1" source="Hg6SNYS3C7jG5-Gh9Pa6-109" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" target="Hg6SNYS3C7jG5-Gh9Pa6-110" value="">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-118" edge="1" parent="1" source="Hg6SNYS3C7jG5-Gh9Pa6-109" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" target="Hg6SNYS3C7jG5-Gh9Pa6-112" value="">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-109" parent="1" style="rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Веб-сервер" vertex="1">
+          <mxGeometry height="80" width="160" x="240" y="760" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-120" edge="1" parent="1" source="Hg6SNYS3C7jG5-Gh9Pa6-110" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" target="Hg6SNYS3C7jG5-Gh9Pa6-111" value="">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-110" parent="1" style="rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="БД" vertex="1">
+          <mxGeometry height="80" width="160" x="240" y="880" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-111" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.database;whiteSpace=wrap;" value="Жёсткий диск сервера БД" vertex="1">
+          <mxGeometry height="80" width="160" x="240" y="1000" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-112" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.database;whiteSpace=wrap;" value="Файловое хранилище" vertex="1">
+          <mxGeometry height="80" width="160" x="440" y="880" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-116" edge="1" parent="1" source="Hg6SNYS3C7jG5-Gh9Pa6-113" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" target="Hg6SNYS3C7jG5-Gh9Pa6-109" value="">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-113" parent="1" style="shape=parallelogram;html=1;strokeWidth=2;perimeter=parallelogramPerimeter;whiteSpace=wrap;rounded=0;arcSize=12;size=0.23;" value="ПК администратора" vertex="1">
+          <mxGeometry height="80" width="160" x="240" y="640" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-119" edge="1" parent="1" source="Hg6SNYS3C7jG5-Gh9Pa6-114" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="520" y="780" />
+            </Array>
+            <mxPoint x="520" y="740" as="sourcePoint" />
+            <mxPoint x="400" y="780" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-114" parent="1" style="shape=parallelogram;html=1;strokeWidth=2;perimeter=parallelogramPerimeter;whiteSpace=wrap;rounded=0;arcSize=12;size=0.23;" value="ПК с агентом" vertex="1">
+          <mxGeometry height="80" width="160" x="440" y="640" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-121" parent="1" style="text;whiteSpace=wrap;html=1;" value="HTTP/HTTPS" vertex="1">
+          <mxGeometry height="40" width="110" x="320" y="720" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-122" parent="1" style="text;whiteSpace=wrap;html=1;" value="WebSocket" vertex="1">
+          <mxGeometry height="40" width="90" x="520" y="720" as="geometry" />
+        </mxCell>
+        <mxCell id="Hg6SNYS3C7jG5-Gh9Pa6-123" parent="1" style="text;whiteSpace=wrap;html=1;" value="SQL" vertex="1">
+          <mxGeometry height="40" width="60" x="320" y="840" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>

BIN
диаграммы/физическая архитектура системы.drawio.png