Parcourir la source

uml: add data flow and deployment

Otter il y a 5 mois
Parent
commit
40ad280a1c

+ 64 - 22
ДиаграммаИспользования.drawio

@@ -1,4 +1,4 @@
-<mxfile host="Electron" modified="2024-05-27T00:27:49.611Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.4.0 Chrome/120.0.6099.109 Electron/28.1.0 Safari/537.36" etag="4T7FouQ_f8DlUsibok71" version="24.4.0" type="device">
+<mxfile host="Electron" modified="2024-06-01T18:35:58.365Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.4.8 Chrome/124.0.6367.207 Electron/30.0.6 Safari/537.36" etag="cQgtkg399ArXzP-MAK-A" version="24.4.8" type="device">
   <diagram name="Страница — 1" id="KgpnrsMqIwY7Wp8qNeAr">
     <mxGraphModel dx="1434" dy="844" 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>
@@ -13,7 +13,7 @@
           <mxGeometry relative="1" as="geometry" />
         </mxCell>
         <mxCell id="f7Zuc8apwFJZ10PAn6E1-1" value="Студент" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" parent="1" vertex="1">
-          <mxGeometry x="660" y="60" width="30" height="60" as="geometry" />
+          <mxGeometry x="840" y="50" width="30" height="60" as="geometry" />
         </mxCell>
         <mxCell id="f7Zuc8apwFJZ10PAn6E1-75" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;exitX=0.5;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="f7Zuc8apwFJZ10PAn6E1-2" target="T0YTknENs9B_ywHw3JEK-2" edge="1">
           <mxGeometry relative="1" as="geometry" />
@@ -34,17 +34,17 @@
             <mxPoint x="340.1737230488843" y="93.29940279656557" as="targetPoint" />
           </mxGeometry>
         </mxCell>
-        <mxCell id="f7Zuc8apwFJZ10PAn6E1-2" value="&#xa;&lt;span style=&quot;color: rgb(240, 240, 240); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: nowrap; background-color: rgb(27, 29, 30); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;&quot;&gt;Преподаватель&lt;/span&gt;&#xa;&#xa;" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" parent="1" vertex="1">
-          <mxGeometry x="40" y="55" width="30" height="60" as="geometry" />
+        <mxCell id="f7Zuc8apwFJZ10PAn6E1-2" value="Преподаватель" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" parent="1" vertex="1">
+          <mxGeometry x="30" y="50" width="30" height="60" as="geometry" />
         </mxCell>
         <mxCell id="_Gf0fzwr_K4EokXnlh5w-2" value="ИС «Тренажер по математическому моделированию»&amp;nbsp;" style="shape=umlFrame;whiteSpace=wrap;html=1;pointerEvents=0;recursiveResize=0;container=1;collapsible=0;width=320;height=30;" parent="1" vertex="1">
-          <mxGeometry x="89" y="20" width="551" height="410" as="geometry" />
+          <mxGeometry x="89" y="20" width="711" height="370" as="geometry" />
         </mxCell>
         <mxCell id="f7Zuc8apwFJZ10PAn6E1-63" value="Посмотреть статистику" style="ellipse;whiteSpace=wrap;html=1;" parent="_Gf0fzwr_K4EokXnlh5w-2" vertex="1">
-          <mxGeometry x="291" y="250" width="218" height="50" as="geometry" />
+          <mxGeometry x="500" y="80" width="199" height="50" as="geometry" />
         </mxCell>
         <mxCell id="f7Zuc8apwFJZ10PAn6E1-69" value="Открыть тренажеры" style="ellipse;whiteSpace=wrap;html=1;" parent="_Gf0fzwr_K4EokXnlh5w-2" vertex="1">
-          <mxGeometry x="291" y="100" width="218" height="50" as="geometry" />
+          <mxGeometry x="500" y="160" width="199" height="50" as="geometry" />
         </mxCell>
         <mxCell id="f7Zuc8apwFJZ10PAn6E1-94" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="_Gf0fzwr_K4EokXnlh5w-2" source="f7Zuc8apwFJZ10PAn6E1-69" target="T0YTknENs9B_ywHw3JEK-6" edge="1">
           <mxGeometry relative="1" as="geometry">
@@ -52,12 +52,12 @@
             <mxPoint x="241.00000000000023" y="271.875" as="targetPoint" />
           </mxGeometry>
         </mxCell>
-        <mxCell id="f7Zuc8apwFJZ10PAn6E1-95" value="includ" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="f7Zuc8apwFJZ10PAn6E1-94" vertex="1" connectable="0">
+        <mxCell id="f7Zuc8apwFJZ10PAn6E1-95" value="includ" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="f7Zuc8apwFJZ10PAn6E1-94" vertex="1" connectable="0">
           <mxGeometry x="-0.1973" relative="1" as="geometry">
             <mxPoint as="offset" />
           </mxGeometry>
         </mxCell>
-        <mxCell id="f7Zuc8apwFJZ10PAn6E1-88" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;dashed=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="_Gf0fzwr_K4EokXnlh5w-2" source="T0YTknENs9B_ywHw3JEK-1" target="T0YTknENs9B_ywHw3JEK-2" edge="1">
+        <mxCell id="f7Zuc8apwFJZ10PAn6E1-88" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;dashed=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" parent="_Gf0fzwr_K4EokXnlh5w-2" source="T0YTknENs9B_ywHw3JEK-1" target="T0YTknENs9B_ywHw3JEK-2" edge="1">
           <mxGeometry relative="1" as="geometry">
             <mxPoint x="352" y="370" as="sourcePoint" />
           </mxGeometry>
@@ -68,30 +68,72 @@
           </mxGeometry>
         </mxCell>
         <mxCell id="T0YTknENs9B_ywHw3JEK-1" value="Выбрать статистику по одному ученику" style="ellipse;whiteSpace=wrap;html=1;" parent="_Gf0fzwr_K4EokXnlh5w-2" vertex="1">
-          <mxGeometry x="31" y="350" width="218" height="50" as="geometry" />
+          <mxGeometry x="308" y="100" width="169" height="50" as="geometry" />
         </mxCell>
         <mxCell id="T0YTknENs9B_ywHw3JEK-2" value="Посмотреть статистику учеников" style="ellipse;whiteSpace=wrap;html=1;" parent="_Gf0fzwr_K4EokXnlh5w-2" vertex="1">
-          <mxGeometry x="31" y="260" width="218" height="50" as="geometry" />
+          <mxGeometry x="31" y="100" width="209" height="50" as="geometry" />
         </mxCell>
-        <mxCell id="f7Zuc8apwFJZ10PAn6E1-68" value="Изменить информацию в аккаунте" style="ellipse;whiteSpace=wrap;html=1;" parent="_Gf0fzwr_K4EokXnlh5w-2" vertex="1">
-          <mxGeometry x="176" y="40" width="218" height="50" as="geometry" />
+        <mxCell id="f7Zuc8apwFJZ10PAn6E1-68" value="Изменить информацию в профиле" style="ellipse;whiteSpace=wrap;html=1;" parent="_Gf0fzwr_K4EokXnlh5w-2" vertex="1">
+          <mxGeometry x="260" y="35" width="217" height="55" as="geometry" />
         </mxCell>
         <mxCell id="T0YTknENs9B_ywHw3JEK-5" value="Открыть тренажеры" style="ellipse;whiteSpace=wrap;html=1;" parent="_Gf0fzwr_K4EokXnlh5w-2" vertex="1">
-          <mxGeometry x="31" y="100" width="218" height="50" as="geometry" />
+          <mxGeometry x="31" y="170" width="209" height="50" as="geometry" />
         </mxCell>
-        <mxCell id="T0YTknENs9B_ywHw3JEK-6" value="Выбрать тренажер" style="ellipse;whiteSpace=wrap;html=1;" parent="_Gf0fzwr_K4EokXnlh5w-2" vertex="1">
-          <mxGeometry x="291" y="185" width="218" height="50" as="geometry" />
+        <mxCell id="T0YTknENs9B_ywHw3JEK-6" value="Решить тренажер" style="ellipse;whiteSpace=wrap;html=1;" parent="_Gf0fzwr_K4EokXnlh5w-2" vertex="1">
+          <mxGeometry x="500" y="260" width="199" height="50" as="geometry" />
         </mxCell>
-        <mxCell id="T0YTknENs9B_ywHw3JEK-8" value="Посмотреть решение" style="ellipse;whiteSpace=wrap;html=1;" parent="_Gf0fzwr_K4EokXnlh5w-2" vertex="1">
-          <mxGeometry x="31" y="185" width="218" height="50" as="geometry" />
+        <mxCell id="T0YTknENs9B_ywHw3JEK-8" value="Добавить тренажер" style="ellipse;whiteSpace=wrap;html=1;" parent="_Gf0fzwr_K4EokXnlh5w-2" vertex="1">
+          <mxGeometry x="33.5" y="260" width="204" height="50" as="geometry" />
         </mxCell>
-        <mxCell id="T0YTknENs9B_ywHw3JEK-9" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="_Gf0fzwr_K4EokXnlh5w-2" source="T0YTknENs9B_ywHw3JEK-5" target="T0YTknENs9B_ywHw3JEK-8" edge="1">
+        <mxCell id="thA1IVUi15eVknn34z19-3" value="Удалить тренажер" style="ellipse;whiteSpace=wrap;html=1;" parent="_Gf0fzwr_K4EokXnlh5w-2" vertex="1">
+          <mxGeometry x="310" y="170" width="167" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="thA1IVUi15eVknn34z19-4" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;dashed=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="_Gf0fzwr_K4EokXnlh5w-2" source="T0YTknENs9B_ywHw3JEK-8" target="T0YTknENs9B_ywHw3JEK-5" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="410" y="120" as="sourcePoint" />
+            <mxPoint x="150" y="140" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="thA1IVUi15eVknn34z19-5" value="extend" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="thA1IVUi15eVknn34z19-4" vertex="1" connectable="0">
+          <mxGeometry x="-0.1973" relative="1" as="geometry">
+            <mxPoint as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="thA1IVUi15eVknn34z19-6" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;dashed=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" parent="_Gf0fzwr_K4EokXnlh5w-2" source="thA1IVUi15eVknn34z19-3" target="T0YTknENs9B_ywHw3JEK-5" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="172" y="340" as="sourcePoint" />
+            <mxPoint x="172" y="240" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="thA1IVUi15eVknn34z19-7" value="extend" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="thA1IVUi15eVknn34z19-6" vertex="1" connectable="0">
+          <mxGeometry x="-0.1973" relative="1" as="geometry">
+            <mxPoint as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="thA1IVUi15eVknn34z19-8" value="Считать из файла" style="ellipse;whiteSpace=wrap;html=1;" parent="_Gf0fzwr_K4EokXnlh5w-2" vertex="1">
+          <mxGeometry x="310" y="240" width="167" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="thA1IVUi15eVknn34z19-9" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="_Gf0fzwr_K4EokXnlh5w-2" source="T0YTknENs9B_ywHw3JEK-8" target="thA1IVUi15eVknn34z19-8" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="260" y="310" as="sourcePoint" />
+            <mxPoint x="260" y="360" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="thA1IVUi15eVknn34z19-10" value="includ" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="thA1IVUi15eVknn34z19-9" vertex="1" connectable="0">
+          <mxGeometry x="-0.1973" relative="1" as="geometry">
+            <mxPoint as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="thA1IVUi15eVknn34z19-12" value="Ввести вручную" style="ellipse;whiteSpace=wrap;html=1;" parent="_Gf0fzwr_K4EokXnlh5w-2" vertex="1">
+          <mxGeometry x="308" y="300" width="167" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="thA1IVUi15eVknn34z19-13" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;entryX=0.01;entryY=0.408;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryPerimeter=0;" parent="_Gf0fzwr_K4EokXnlh5w-2" source="T0YTknENs9B_ywHw3JEK-8" target="thA1IVUi15eVknn34z19-12" edge="1">
           <mxGeometry relative="1" as="geometry">
-            <mxPoint x="410" y="160" as="sourcePoint" />
-            <mxPoint x="410" y="195" as="targetPoint" />
+            <mxPoint x="248" y="295" as="sourcePoint" />
+            <mxPoint x="320" y="275" as="targetPoint" />
           </mxGeometry>
         </mxCell>
-        <mxCell id="T0YTknENs9B_ywHw3JEK-10" value="includ" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="T0YTknENs9B_ywHw3JEK-9" vertex="1" connectable="0">
+        <mxCell id="thA1IVUi15eVknn34z19-14" value="includ" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="thA1IVUi15eVknn34z19-13" vertex="1" connectable="0">
           <mxGeometry x="-0.1973" relative="1" as="geometry">
             <mxPoint as="offset" />
           </mxGeometry>

+ 510 - 0
ДиаграммаПотоковДанных.drawio

@@ -0,0 +1,510 @@
+<mxfile host="Electron" modified="2024-06-01T18:35:03.236Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.4.8 Chrome/124.0.6367.207 Electron/30.0.6 Safari/537.36" etag="u4OOIVk-nUR8DMvGJ5bi" version="24.4.8" type="device">
+  <diagram name="Page-1" id="b5b7bab2-c9e2-2cf4-8b2a-24fd1a2a6d21">
+    <mxGraphModel dx="2171" dy="1298" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" background="none" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="me3k0MA4UYylHllefzvO-138" value="&lt;font style=&quot;font-size: 12px;&quot;&gt;ИС «Тренажер по математическому моделированию»&amp;nbsp; (В соответствии с нотацией Гейна-Сарсона)&lt;/font&gt;" style="shape=umlFrame;whiteSpace=wrap;html=1;pointerEvents=0;recursiveResize=0;container=1;collapsible=0;width=630;height=30;verticalAlign=middle;" vertex="1" parent="1">
+          <mxGeometry x="30" y="20" width="1070" height="600" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-370" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="1">
+          <mxGeometry x="418.5" y="104" width="150" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-371" value="Неавторизированный&lt;div&gt;пользователь&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="701.5" y="94" width="130" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-372" value="2.1" style="shape=table;startSize=30;container=1;collapsible=0;childLayout=tableLayout;rounded=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="481.5" y="74" width="150" height="90" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-373" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="me3k0MA4UYylHllefzvO-372">
+          <mxGeometry y="30" width="150" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-374" value="Авторизация в&lt;div&gt;системе&lt;/div&gt;" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="me3k0MA4UYylHllefzvO-373">
+          <mxGeometry width="150" height="60" as="geometry">
+            <mxRectangle width="150" height="60" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-375" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1.006;entryY=0.032;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.25;exitDx=0;exitDy=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-371" target="me3k0MA4UYylHllefzvO-373">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-376" value="Логин и&lt;div&gt;пароль&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="me3k0MA4UYylHllefzvO-375">
+          <mxGeometry x="-0.0256" relative="1" as="geometry">
+            <mxPoint x="-1" y="-16" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-377" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.364;entryY=-0.016;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.333;exitY=1.002;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-373" target="me3k0MA4UYylHllefzvO-398">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="551.0700000000002" y="262" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-378" value="Логин и&lt;div&gt;хэш пароля&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="me3k0MA4UYylHllefzvO-377">
+          <mxGeometry x="-0.1483" y="-1" relative="1" as="geometry">
+            <mxPoint x="-37" y="-1" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-379" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.379;exitY=0.015;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.398;entryY=1.005;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-398" target="me3k0MA4UYylHllefzvO-373">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="562.0700000000002" y="264" as="sourcePoint" />
+            <mxPoint x="577.0700000000002" y="234" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-380" value="Сообщение&amp;nbsp;&lt;div&gt;о наличии&lt;/div&gt;&lt;div&gt;пользователя в БД&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="me3k0MA4UYylHllefzvO-379">
+          <mxGeometry x="0.0706" y="-2" relative="1" as="geometry">
+            <mxPoint x="51" y="1" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-381" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-372" target="me3k0MA4UYylHllefzvO-371">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-382" value="Главная&lt;div&gt;страница&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="me3k0MA4UYylHllefzvO-381">
+          <mxGeometry x="-0.2325" relative="1" as="geometry">
+            <mxPoint x="11" y="20" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-383" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=-0.006;entryY=0.05;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-385" target="me3k0MA4UYylHllefzvO-387">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-384" value="Форма&amp;nbsp;&lt;div&gt;регистрации&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="me3k0MA4UYylHllefzvO-383">
+          <mxGeometry x="-0.2127" y="1" relative="1" as="geometry">
+            <mxPoint x="5" y="-16" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-385" value="Незарегистрированный пользователь" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="80" y="94" width="140" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-386" value="1.1" style="shape=table;startSize=30;container=1;collapsible=0;childLayout=tableLayout;rounded=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="306.5" y="74" width="150" height="90" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-387" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="me3k0MA4UYylHllefzvO-386">
+          <mxGeometry y="30" width="150" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-388" value="&lt;div&gt;Региситрация&lt;/div&gt;&lt;div&gt;в системе&lt;/div&gt;" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="me3k0MA4UYylHllefzvO-387">
+          <mxGeometry width="150" height="60" as="geometry">
+            <mxRectangle width="150" height="60" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-389" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=-0.003;exitY=0.264;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-387" target="me3k0MA4UYylHllefzvO-385">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-390" value="Страница&lt;div&gt;авторизации&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="me3k0MA4UYylHllefzvO-389">
+          <mxGeometry x="0.309" y="3" relative="1" as="geometry">
+            <mxPoint x="16" y="15" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-391" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.108;entryY=-0.014;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.367;exitY=1.003;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-387" target="me3k0MA4UYylHllefzvO-398">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="387.07000000000016" y="188" as="sourcePoint" />
+            <mxPoint x="358.07000000000016" y="265" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-392" value="Данные&lt;div&gt;пользователя&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="me3k0MA4UYylHllefzvO-391">
+          <mxGeometry x="-0.1483" y="-1" relative="1" as="geometry">
+            <mxPoint x="-38" y="-1" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-393" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.431;entryY=0.996;entryDx=0;entryDy=0;exitX=0.122;exitY=-0.019;exitDx=0;exitDy=0;exitPerimeter=0;entryPerimeter=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-398" target="me3k0MA4UYylHllefzvO-387">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="379.07000000000016" y="262" as="sourcePoint" />
+            <mxPoint x="407.07000000000016" y="186" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-394" value="Сообщение&amp;nbsp;&lt;div&gt;о успешном&lt;/div&gt;&lt;div&gt;добавлении&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="me3k0MA4UYylHllefzvO-393">
+          <mxGeometry x="0.0706" y="-2" relative="1" as="geometry">
+            <mxPoint x="37" y="2" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-395" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.806;entryY=-0.003;entryDx=0;entryDy=0;exitX=0.5;exitY=1.009;exitDx=0;exitDy=0;exitPerimeter=0;entryPerimeter=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-398" target="me3k0MA4UYylHllefzvO-433">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-481" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.903;exitY=0.995;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-398" target="me3k0MA4UYylHllefzvO-456">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-484" value="Сообщение&lt;div&gt;о удалении&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="me3k0MA4UYylHllefzvO-481">
+          <mxGeometry x="0.2726" relative="1" as="geometry">
+            <mxPoint x="34" y="-32" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-397" value="" style="shape=table;startSize=0;container=1;collapsible=0;childLayout=tableLayout;" vertex="1" parent="1">
+          <mxGeometry x="291.5" y="214" width="658.5" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-398" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="me3k0MA4UYylHllefzvO-397">
+          <mxGeometry width="658.5" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-399" value="" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="me3k0MA4UYylHllefzvO-398">
+          <mxGeometry width="69" height="40" as="geometry">
+            <mxRectangle width="69" height="40" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-400" value="БД Системы" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="me3k0MA4UYylHllefzvO-398">
+          <mxGeometry x="69" width="590" height="40" as="geometry">
+            <mxRectangle width="590" height="40" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-401" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1.008;entryY=0.259;entryDx=0;entryDy=0;exitX=-0.003;exitY=0.666;exitDx=0;exitDy=0;entryPerimeter=0;exitPerimeter=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-398" target="me3k0MA4UYylHllefzvO-405">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="311" y="275" as="sourcePoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-402" value="Список всех&lt;div&gt;доступных&lt;/div&gt;&lt;div&gt;заданий&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="me3k0MA4UYylHllefzvO-401">
+          <mxGeometry x="-0.033" y="1" relative="1" as="geometry">
+            <mxPoint x="-2" y="23" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-403" value="Студент" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="80" y="544" width="140" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-404" value="3.1" style="shape=table;startSize=30;container=1;collapsible=0;childLayout=tableLayout;rounded=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="80" y="194" width="112" height="90" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-405" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="me3k0MA4UYylHllefzvO-404">
+          <mxGeometry y="30" width="112" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-406" value="Выбор&lt;div&gt;тренажера&lt;/div&gt;" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="me3k0MA4UYylHllefzvO-405">
+          <mxGeometry width="112" height="60" as="geometry">
+            <mxRectangle width="112" height="60" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-407" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=-0.002;entryY=0.346;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1;exitY=0.06;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-405" target="me3k0MA4UYylHllefzvO-398">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="303" y="274" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-408" value="ID тренажера" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="me3k0MA4UYylHllefzvO-407">
+          <mxGeometry x="-0.0459" y="1" relative="1" as="geometry">
+            <mxPoint x="-7" y="-14" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-409" value="3.2" style="shape=table;startSize=30;container=1;collapsible=0;childLayout=tableLayout;rounded=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="271.5" y="314" width="110" height="90" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-410" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="me3k0MA4UYylHllefzvO-409">
+          <mxGeometry y="30" width="110" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-411" value="Решение задания по тренажеру" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="me3k0MA4UYylHllefzvO-410">
+          <mxGeometry width="110" height="60" as="geometry">
+            <mxRectangle width="110" height="60" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-412" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.367;exitY=0.005;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-409">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="521" y="383" as="sourcePoint" />
+            <mxPoint x="311.5" y="254" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-413" value="ID&lt;div&gt;задания&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="me3k0MA4UYylHllefzvO-412">
+          <mxGeometry x="-0.0459" y="1" relative="1" as="geometry">
+            <mxPoint x="-24" y="11" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-414" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.053;exitY=0.997;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-398" target="me3k0MA4UYylHllefzvO-409">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="331.5" y="254" as="sourcePoint" />
+            <mxPoint x="570" y="357" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-415" value="Ответ на&lt;div&gt;задание&lt;br&gt;&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="me3k0MA4UYylHllefzvO-414">
+          <mxGeometry x="-0.033" y="1" relative="1" as="geometry">
+            <mxPoint x="25" y="-12" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-416" value="Ответ" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="1">
+          <mxGeometry x="271.4981818181818" y="533.9981818181818" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-417" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.25;entryDx=0;entryDy=0;" edge="1" parent="1" target="me3k0MA4UYylHllefzvO-403">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="311.5" y="556" />
+            </Array>
+            <mxPoint x="311.5" y="404" as="sourcePoint" />
+            <mxPoint x="240.5" y="584.8500000000001" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-418" value="Результат&lt;div&gt;теста&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="me3k0MA4UYylHllefzvO-417">
+          <mxGeometry x="-0.5612" y="-1" relative="1" as="geometry">
+            <mxPoint x="31" y="7" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-419" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.299;exitY=0.008;exitDx=0;exitDy=0;entryX=0.378;entryY=1.007;entryDx=0;entryDy=0;entryPerimeter=0;exitPerimeter=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-403" target="me3k0MA4UYylHllefzvO-405">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="122.5" y="544" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-420" value="Выбранный&lt;div&gt;тренажер&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="me3k0MA4UYylHllefzvO-419">
+          <mxGeometry x="0.2505" y="1" relative="1" as="geometry">
+            <mxPoint x="-34" y="37" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-421" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.615;exitY=1.006;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-405" target="me3k0MA4UYylHllefzvO-403">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-422" value="Случайное&lt;div&gt;задание&lt;div&gt;по данному&lt;/div&gt;&lt;div&gt;тренажеру&lt;/div&gt;&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="me3k0MA4UYylHllefzvO-421">
+          <mxGeometry x="0.031" relative="1" as="geometry">
+            <mxPoint x="32" y="-4" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-423" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.181;entryY=0.998;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.999;exitY=0.116;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-403" target="me3k0MA4UYylHllefzvO-410">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="291.5" y="550" />
+              <mxPoint x="291.5" y="406" />
+              <mxPoint x="291.5" y="406" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-424" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="451.5" y="405" as="sourcePoint" />
+            <mxPoint x="220" y="570" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="451.5" y="570" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-426" value="3.3" style="shape=table;startSize=30;container=1;collapsible=0;childLayout=tableLayout;rounded=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="401.5" y="314" width="110" height="90" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-427" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="me3k0MA4UYylHllefzvO-426">
+          <mxGeometry y="30" width="110" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-428" value="Просмотр статистики" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="me3k0MA4UYylHllefzvO-427">
+          <mxGeometry width="110" height="60" as="geometry">
+            <mxRectangle width="110" height="60" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-429" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.261;entryY=0.984;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-403" target="me3k0MA4UYylHllefzvO-427">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="430.5" y="564" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-430" value="Новая&lt;div&gt;информация&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="me3k0MA4UYylHllefzvO-429">
+          <mxGeometry x="0.6055" y="2" relative="1" as="geometry">
+            <mxPoint x="83" y="84" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-431" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.241;exitY=1.009;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.442;entryY=0.01;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-398" target="me3k0MA4UYylHllefzvO-426">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="481.5" y="254" as="sourcePoint" />
+            <mxPoint x="481.5" y="314" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-432" value="Сообщение&lt;div&gt;о сохранении&lt;/div&gt;&lt;div&gt;данных&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="me3k0MA4UYylHllefzvO-431">
+          <mxGeometry x="-0.1558" relative="1" as="geometry">
+            <mxPoint x="210" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-465" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.792;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-433" target="me3k0MA4UYylHllefzvO-452">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="587" y="590" />
+              <mxPoint x="810" y="590" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-433" value="3.4" style="shape=table;startSize=30;container=1;collapsible=0;childLayout=tableLayout;rounded=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="531.5" y="324" width="110" height="90" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-434" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="me3k0MA4UYylHllefzvO-433">
+          <mxGeometry y="30" width="110" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-435" value="Изменить информацию в профиле" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="me3k0MA4UYylHllefzvO-434">
+          <mxGeometry width="110" height="60" as="geometry">
+            <mxRectangle width="110" height="60" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-436" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.225;entryY=1.013;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.36;exitY=-0.007;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" target="me3k0MA4UYylHllefzvO-398" source="me3k0MA4UYylHllefzvO-426">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="442" y="310" as="sourcePoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-438" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.489;entryY=1.013;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.75;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" target="me3k0MA4UYylHllefzvO-398" source="me3k0MA4UYylHllefzvO-433">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="601.5" y="324" as="sourcePoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-440" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=0.197;entryY=1.007;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-403" target="me3k0MA4UYylHllefzvO-434">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-441" value="Открытие&lt;div&gt;страницы&lt;/div&gt;&lt;div&gt;статистики&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="me3k0MA4UYylHllefzvO-440">
+          <mxGeometry x="0.4392" relative="1" as="geometry">
+            <mxPoint x="-160" y="-21" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-442" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1.001;entryY=0.914;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-433" target="me3k0MA4UYylHllefzvO-403">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="570" y="590" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-443" value="График&lt;div&gt;пройденных&lt;/div&gt;&lt;div&gt;тестов&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="me3k0MA4UYylHllefzvO-442">
+          <mxGeometry x="-0.6151" relative="1" as="geometry">
+            <mxPoint x="-83" y="-87" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-478" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.441;entryY=1.01;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-452" target="me3k0MA4UYylHllefzvO-457">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="880" y="430" as="targetPoint" />
+            <Array as="points" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-452" value="Преподаватель" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="810" y="550" width="140" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-471" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.25;entryDx=0;entryDy=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-453" target="me3k0MA4UYylHllefzvO-452">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="740" y="563" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-473" value="Обновленный&lt;div&gt;список&lt;/div&gt;&lt;div&gt;тренажеров&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="me3k0MA4UYylHllefzvO-471">
+          <mxGeometry x="-0.2767" y="-1" relative="1" as="geometry">
+            <mxPoint x="41" y="27" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-453" value="4.1" style="shape=table;startSize=30;container=1;collapsible=0;childLayout=tableLayout;rounded=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="680" y="330" width="110" height="90" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-454" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="me3k0MA4UYylHllefzvO-453">
+          <mxGeometry y="30" width="110" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-455" value="Добавить&lt;div&gt;задание&lt;/div&gt;" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="me3k0MA4UYylHllefzvO-454">
+          <mxGeometry width="110" height="60" as="geometry">
+            <mxRectangle width="110" height="60" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-456" value="4.2" style="shape=table;startSize=30;container=1;collapsible=0;childLayout=tableLayout;rounded=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="831.5" y="330" width="110" height="90" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-457" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="me3k0MA4UYylHllefzvO-456">
+          <mxGeometry y="30" width="110" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-458" value="Удалить&lt;div&gt;задание&lt;/div&gt;" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="me3k0MA4UYylHllefzvO-457">
+          <mxGeometry width="110" height="60" as="geometry">
+            <mxRectangle width="110" height="60" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-460" value="ID&lt;div&gt;пользователя&lt;div&gt;и новые&lt;/div&gt;&lt;div&gt;данные&lt;/div&gt;&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="1">
+          <mxGeometry x="577.0027285041343" y="293.0008331816335" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-461" value="ID&lt;div&gt;пользователя&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="1">
+          <mxGeometry x="401.50240084052484" y="294.0576784872157" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-462" value="Информация&lt;div&gt;или&amp;nbsp;&lt;span style=&quot;background-color: initial;&quot;&gt;сообщение&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;о ее&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;отсутствии&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;в бд&lt;/span&gt;&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="1">
+          <mxGeometry x="492.0028070310484" y="279.99557421937374" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-466" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.634;exitDx=0;exitDy=0;entryX=0.659;entryY=1.007;entryDx=0;entryDy=0;entryPerimeter=0;exitPerimeter=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-452" target="me3k0MA4UYylHllefzvO-434">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="604" y="582" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-467" value="Обновленные&amp;nbsp;&lt;span style=&quot;background-color: initial;&quot;&gt;данные&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;профиля&lt;/span&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="1">
+          <mxGeometry x="576.9999878860606" y="600.0001206067944" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-468" value="Новая&lt;div&gt;информация&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="1">
+          <mxGeometry x="641.4954547752209" y="559.9998759149721" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-470" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.332;entryY=1.006;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-452" target="me3k0MA4UYylHllefzvO-454">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-472" value="Добавление&lt;div&gt;матрицы&lt;/div&gt;&lt;div&gt;задания&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="me3k0MA4UYylHllefzvO-470">
+          <mxGeometry x="0.4199" y="2" relative="1" as="geometry">
+            <mxPoint x="-35" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-474" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.672;entryY=0.981;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-453" target="me3k0MA4UYylHllefzvO-398">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-475" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.631;entryY=0.002;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-397" target="me3k0MA4UYylHllefzvO-453">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="750" y="292" />
+              <mxPoint x="749" y="292" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-476" value="Матрица&lt;div&gt;и ответ&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="1">
+          <mxGeometry x="707.99604224763" y="307.9972314967621" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-477" value="Сообщение&lt;div&gt;о записи&lt;/div&gt;&lt;div&gt;данных&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="1">
+          <mxGeometry x="781.9960422476299" y="292.9972314967621" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-479" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.88;entryY=1.005;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.36;exitY=0.002;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-456" target="me3k0MA4UYylHllefzvO-398">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-480" value="ID&lt;br&gt;задания" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="1">
+          <mxGeometry x="846.9960422476299" y="315.9972314967621" as="geometry">
+            <mxPoint x="-3" y="-3" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-482" value="Выбор&lt;div&gt;задания&lt;/div&gt;&lt;div&gt;для&lt;/div&gt;&lt;div&gt;удаления&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="1">
+          <mxGeometry x="853.9960422476299" y="469.9972314967621" as="geometry">
+            <mxPoint x="-3" y="-3" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-483" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.647;entryY=0.006;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-456" target="me3k0MA4UYylHllefzvO-452">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="900" y="485" />
+              <mxPoint x="901" y="485" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-486" value="Text" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="me3k0MA4UYylHllefzvO-483">
+          <mxGeometry x="-0.0062" y="-1" relative="1" as="geometry">
+            <mxPoint x="20" y="-6" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-492" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.75;entryDx=0;entryDy=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-487" target="me3k0MA4UYylHllefzvO-452">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="1020" y="587" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-487" value="4.3" style="shape=table;startSize=30;container=1;collapsible=0;childLayout=tableLayout;rounded=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="970" y="330" width="110" height="90" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-488" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="me3k0MA4UYylHllefzvO-487">
+          <mxGeometry y="30" width="110" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-489" value="Посмотреть&lt;div&gt;статистику по&lt;/div&gt;&lt;div&gt;ученику&lt;/div&gt;" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="me3k0MA4UYylHllefzvO-488">
+          <mxGeometry width="110" height="60" as="geometry">
+            <mxRectangle width="110" height="60" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-490" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.362;entryY=0.992;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-452" target="me3k0MA4UYylHllefzvO-488">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-491" value="Выбрать&lt;div&gt;ученика&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="me3k0MA4UYylHllefzvO-490">
+          <mxGeometry x="0.2423" y="2" relative="1" as="geometry">
+            <mxPoint x="-28" y="19" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-493" value="Статистика" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="1">
+          <mxGeometry x="1050.0045099093397" y="519.9998654086489" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-494" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=0;exitDx=0;exitDy=0;entryX=1.002;entryY=0.67;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-487" target="me3k0MA4UYylHllefzvO-398">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-495" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.368;entryY=-0.01;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="me3k0MA4UYylHllefzvO-398" target="me3k0MA4UYylHllefzvO-487">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-496" value="ID&lt;div&gt;Ученика&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="1">
+          <mxGeometry x="970.0044060531843" y="308.00052403908575" as="geometry" />
+        </mxCell>
+        <mxCell id="me3k0MA4UYylHllefzvO-497" value="Данные&amp;nbsp;&lt;span style=&quot;background-color: initial;&quot;&gt;о&lt;/span&gt;&lt;div&gt;прохождении&lt;/div&gt;&lt;div&gt;тестов&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="1">
+          <mxGeometry x="1050.0042110278346" y="293.0008419786459" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>

+ 74 - 0
ДиаграммаРазвертывания.drawio

@@ -0,0 +1,74 @@
+<mxfile host="Electron" modified="2024-06-01T18:42:21.443Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.4.8 Chrome/124.0.6367.207 Electron/30.0.6 Safari/537.36" etag="6mLCkBzzThaI9SFM9bCi" version="24.4.8" type="device">
+  <diagram name="Page-1" id="b5b7bab2-c9e2-2cf4-8b2a-24fd1a2a6d21">
+    <mxGraphModel dx="1195" dy="703" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" background="none" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="D6oPLpbd5tidOUXxitay-12" value="ИС «Тренажер по математическому моделированию»&amp;nbsp;" style="shape=umlFrame;whiteSpace=wrap;html=1;pointerEvents=0;recursiveResize=0;container=1;collapsible=0;width=400;height=30;verticalAlign=middle;" parent="1" vertex="1">
+          <mxGeometry x="10" y="20" width="700" height="400" as="geometry" />
+        </mxCell>
+        <mxCell id="RpNZIPVwqPLPocjkWoGm-72" value="&lt;div&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&amp;lt;&amp;lt;device&amp;gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;ПК пользователя&lt;/span&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;{OS = Windows 10-11}&lt;/div&gt;" style="verticalAlign=top;align=center;shape=cube;size=10;direction=south;fontStyle=0;html=1;boundedLbl=1;spacingLeft=5;whiteSpace=wrap;" parent="D6oPLpbd5tidOUXxitay-12" vertex="1">
+          <mxGeometry x="20" y="55" width="330" height="335" as="geometry" />
+        </mxCell>
+        <mxCell id="RpNZIPVwqPLPocjkWoGm-159" value="&lt;div&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;executionEnvironment&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;b&gt;&lt;u&gt;:Avalonia&amp;nbsp;&lt;/u&gt;&lt;/b&gt;&lt;b&gt;&lt;u&gt;.NET&lt;/u&gt;&lt;/b&gt;" style="verticalAlign=top;align=center;shape=cube;size=10;direction=south;html=1;boundedLbl=1;spacingLeft=5;whiteSpace=wrap;" parent="D6oPLpbd5tidOUXxitay-12" vertex="1">
+          <mxGeometry x="40" y="125" width="290" height="245" as="geometry" />
+        </mxCell>
+        <mxCell id="RpNZIPVwqPLPocjkWoGm-130" value="" style="group" parent="D6oPLpbd5tidOUXxitay-12" vertex="1" connectable="0">
+          <mxGeometry x="40" y="175" width="260" height="280" as="geometry" />
+        </mxCell>
+        <mxCell id="RpNZIPVwqPLPocjkWoGm-131" value="&lt;div&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&amp;lt;&amp;lt;artifact&amp;gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;AppWorkwear.exe&lt;/b&gt;&lt;/div&gt;" style="html=1;align=center;verticalAlign=top;dashed=0;whiteSpace=wrap;" parent="RpNZIPVwqPLPocjkWoGm-130" vertex="1">
+          <mxGeometry x="20" width="240" height="180" as="geometry" />
+        </mxCell>
+        <mxCell id="RpNZIPVwqPLPocjkWoGm-139" value="&lt;div&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;artifact&lt;/span&gt;&lt;span style=&quot;text-align: left; background-color: initial;&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Учетная запись преподавателя&lt;/b&gt;&lt;/div&gt;" style="html=1;align=center;verticalAlign=middle;dashed=0;whiteSpace=wrap;" parent="RpNZIPVwqPLPocjkWoGm-130" vertex="1">
+          <mxGeometry x="30" y="40" width="215" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="RpNZIPVwqPLPocjkWoGm-140" value="&lt;div&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;artifact&lt;/span&gt;&lt;span style=&quot;text-align: left; background-color: initial;&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Учетная запись студента&lt;/b&gt;&lt;/div&gt;" style="html=1;align=center;verticalAlign=middle;dashed=0;whiteSpace=wrap;" parent="RpNZIPVwqPLPocjkWoGm-130" vertex="1">
+          <mxGeometry x="30" y="109" width="215" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="RpNZIPVwqPLPocjkWoGm-143" value="" style="shape=module;jettyWidth=8;jettyHeight=4;" parent="RpNZIPVwqPLPocjkWoGm-130" vertex="1">
+          <mxGeometry x="220" y="50" width="18.82" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="RpNZIPVwqPLPocjkWoGm-145" value="" style="shape=module;jettyWidth=8;jettyHeight=4;" parent="RpNZIPVwqPLPocjkWoGm-130" vertex="1">
+          <mxGeometry x="220" y="115" width="18.82" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="RpNZIPVwqPLPocjkWoGm-158" value="" style="shape=module;jettyWidth=8;jettyHeight=4;" parent="RpNZIPVwqPLPocjkWoGm-130" vertex="1">
+          <mxGeometry x="226.17999999999995" y="10" width="18.82" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="D6oPLpbd5tidOUXxitay-5" value="&lt;div&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&amp;lt;&amp;lt;device&amp;gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;Сервер БД&lt;/span&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;{OS = Windows 10-11}&lt;/div&gt;" style="verticalAlign=top;align=center;shape=cube;size=10;direction=south;fontStyle=0;html=1;boundedLbl=1;spacingLeft=5;whiteSpace=wrap;" parent="D6oPLpbd5tidOUXxitay-12" vertex="1">
+          <mxGeometry x="469.99999999999994" y="55" width="201" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="D6oPLpbd5tidOUXxitay-6" value="&lt;div&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;DBMS&lt;span style=&quot;text-align: left;&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;b&gt;&lt;u&gt;:PostgreSQL DBMS&lt;/u&gt;&lt;/b&gt;" style="verticalAlign=top;align=center;shape=cube;size=10;direction=south;html=1;boundedLbl=1;spacingLeft=5;whiteSpace=wrap;" parent="D6oPLpbd5tidOUXxitay-5" vertex="1">
+          <mxGeometry width="170" height="120" relative="1" as="geometry">
+            <mxPoint x="10" y="70" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="RpNZIPVwqPLPocjkWoGm-22" value="&amp;lt;&amp;lt;database&amp;gt;&amp;gt;&lt;br&gt;&lt;b&gt;БД&lt;/b&gt;" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=9.2222222222222;" parent="D6oPLpbd5tidOUXxitay-5" vertex="1">
+          <mxGeometry x="41" y="120" width="100" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="RpNZIPVwqPLPocjkWoGm-161" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0;entryDx=105;entryDy=201;entryPerimeter=0;endArrow=none;endFill=0;exitX=0.313;exitY=-0.002;exitDx=0;exitDy=0;exitPerimeter=0;" parent="D6oPLpbd5tidOUXxitay-12" source="RpNZIPVwqPLPocjkWoGm-72" target="D6oPLpbd5tidOUXxitay-5" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="RpNZIPVwqPLPocjkWoGm-162" value="&lt;div style=&quot;font-size: 12px; text-wrap: wrap;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&amp;lt;&amp;lt;protocol&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;b&gt;TCP/IP&lt;/b&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="RpNZIPVwqPLPocjkWoGm-161" vertex="1" connectable="0">
+          <mxGeometry x="-0.0402" y="-2" relative="1" as="geometry">
+            <mxPoint x="2" y="-2" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="RpNZIPVwqPLPocjkWoGm-169" value="1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="RpNZIPVwqPLPocjkWoGm-161" vertex="1" connectable="0">
+          <mxGeometry x="0.7927" relative="1" as="geometry">
+            <mxPoint x="5" y="-10" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="RpNZIPVwqPLPocjkWoGm-170" value="*" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="RpNZIPVwqPLPocjkWoGm-161" vertex="1" connectable="0">
+          <mxGeometry x="-0.8636" y="-1" relative="1" as="geometry">
+            <mxPoint x="1" y="9" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="saUAOCsWELixqcHJyQ8R-1" value="1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="RpNZIPVwqPLPocjkWoGm-161">
+          <mxGeometry x="0.7927" relative="1" as="geometry">
+            <mxPoint x="5" y="-10" as="offset" />
+          </mxGeometry>
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>