浏览代码

Диаграммы ТЗ

Anastasia 5 月之前
父节点
当前提交
4cc6240dd1
共有 19 个文件被更改,包括 1829 次插入0 次删除
  1. 二进制
      Диаграммы_ТЗ/Диаграмма/Деятельности.png
  2. 195 0
      Диаграммы_ТЗ/Диаграмма/ДиаграммаДеятельности.drawio
  3. 175 0
      Диаграммы_ТЗ/Диаграмма/ДиаграммаИспользования.drawio
  4. 49 0
      Диаграммы_ТЗ/Диаграмма/ДиаграммаКлассов.drawio
  5. 143 0
      Диаграммы_ТЗ/Диаграмма/ДиаграммаКомпонентов.drawio
  6. 192 0
      Диаграммы_ТЗ/Диаграмма/ДиаграммаКоперации.drawio
  7. 175 0
      Диаграммы_ТЗ/Диаграмма/ДиаграммаПоследовательности.drawio
  8. 113 0
      Диаграммы_ТЗ/Диаграмма/ДиаграммаПотоков.drawio
  9. 64 0
      Диаграммы_ТЗ/Диаграмма/ДиаграммаРазвертывания1.drawio
  10. 110 0
      Диаграммы_ТЗ/Диаграмма/ДиаграммаСостояний.drawio
  11. 二进制
      Диаграммы_ТЗ/Диаграмма/Использования.png
  12. 二进制
      Диаграммы_ТЗ/Диаграмма/Класссов.png
  13. 二进制
      Диаграммы_ТЗ/Диаграмма/Компонентов.png
  14. 二进制
      Диаграммы_ТЗ/Диаграмма/Кооперации.png
  15. 二进制
      Диаграммы_ТЗ/Диаграмма/Последовательности.png
  16. 二进制
      Диаграммы_ТЗ/Диаграмма/Потоков.png
  17. 二进制
      Диаграммы_ТЗ/Диаграмма/Развертывания.png
  18. 二进制
      Диаграммы_ТЗ/Диаграмма/Состояний.png
  19. 613 0
      Диаграммы_ТЗ/ТЗ_ПП.docx

二进制
Диаграммы_ТЗ/Диаграмма/Деятельности.png


+ 195 - 0
Диаграммы_ТЗ/Диаграмма/ДиаграммаДеятельности.drawio

@@ -0,0 +1,195 @@
+<mxfile host="app.diagrams.net" modified="2024-06-08T12:14:28.424Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0" etag="1RyhywAMn1hU_TNEI-Nf" version="24.5.2" type="device">
+  <diagram name="Страница — 1" id="RXnirWJPQ0lTG6VE_6LD">
+    <mxGraphModel dx="868" dy="474" 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="aQkLPgOGogn9NWb3f7E3-2" value="" style="rounded=0;whiteSpace=wrap;html=1;rotation=90;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="270" y="290" width="360" height="180" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-3" value="" style="rounded=0;whiteSpace=wrap;html=1;rotation=90;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="450" y="290" width="360" height="180" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-4" value="" style="rounded=0;whiteSpace=wrap;html=1;rotation=90;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="630" y="290" width="360" height="180" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-5" value="" style="endArrow=none;html=1;rounded=0;entryX=0.111;entryY=1.002;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="360.18" y="230.04" as="sourcePoint" />
+            <mxPoint x="539.8199999999999" y="230.00000000000003" as="targetPoint" />
+            <Array as="points" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-6" value="" style="endArrow=none;html=1;rounded=0;entryX=0.111;entryY=1.002;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="540" y="230" as="sourcePoint" />
+            <mxPoint x="720" y="230" as="targetPoint" />
+            <Array as="points" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-7" value="" style="endArrow=none;html=1;rounded=0;entryX=0.111;entryY=1.002;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="720" y="229.6" as="sourcePoint" />
+            <mxPoint x="900" y="229.6" as="targetPoint" />
+            <Array as="points" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-8" value="Пользователь" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="420" y="200" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-9" value="Веб-сервер" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="600" y="200" width="70" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-10" value="Сервер БД" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="775" y="200" width="70" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-11" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="370" y="250" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-12" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="390" y="520" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-13" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="387.5" y="517.5" width="25" height="25" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-62" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="aQkLPgOGogn9NWb3f7E3-14" target="aQkLPgOGogn9NWb3f7E3-15">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="490" y="260" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-14" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="367.5" y="247.5" width="25" height="25" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-15" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="450" y="272.5" width="80" height="37.5" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-16" value="&lt;div style=&quot;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;&lt;font style=&quot;font-size: 6px;&quot;&gt;Заявка на предоставление индивидуальных услуг&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="451.5" y="276.25" width="80" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-60" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="aQkLPgOGogn9NWb3f7E3-20" target="aQkLPgOGogn9NWb3f7E3-13">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-20" value="" style="html=1;whiteSpace=wrap;aspect=fixed;shape=isoRectangle;rotation=-90;" vertex="1" parent="1">
+          <mxGeometry x="385.84" y="320" width="28.33" height="17" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-22" value="&lt;font style=&quot;font-size: 9px;&quot;&gt;повторить&lt;/font&gt;&lt;div style=&quot;text-align: left; font-size: 9px;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;&lt;font style=&quot;font-size: 9px;&quot;&gt;прервать&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="367.5" y="280" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-23" value="" style="html=1;whiteSpace=wrap;aspect=fixed;shape=isoRectangle;rotation=-90;" vertex="1" parent="1">
+          <mxGeometry x="601.67" y="310" width="28.33" height="17" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-24" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.964;entryY=0.489;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="aQkLPgOGogn9NWb3f7E3-16" target="aQkLPgOGogn9NWb3f7E3-23">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="569" y="291" />
+              <mxPoint x="569" y="290" />
+              <mxPoint x="616" y="290" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.515;entryY=0.968;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="aQkLPgOGogn9NWb3f7E3-23" target="aQkLPgOGogn9NWb3f7E3-20">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-28" value="&lt;font style=&quot;font-size: 8px;&quot;&gt;недоступен&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="455" y="320" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-29" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="583.83" y="350" width="64" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-31" value="&lt;font style=&quot;font-size: 8px;&quot;&gt;Запрос к БД&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="583.83" y="345" width="66.17" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-33" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.004;entryY=0.434;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="aQkLPgOGogn9NWb3f7E3-23" target="aQkLPgOGogn9NWb3f7E3-31">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="616" y="340" />
+              <mxPoint x="564" y="340" />
+              <mxPoint x="564" y="358" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-34" value="&lt;font style=&quot;font-size: 8px;&quot;&gt;доступен&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="605" y="320" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-40" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0;entryDx=0;entryDy=0;exitX=0.023;exitY=0.587;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="aQkLPgOGogn9NWb3f7E3-37" target="aQkLPgOGogn9NWb3f7E3-39">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-45" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.25;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="aQkLPgOGogn9NWb3f7E3-37" target="aQkLPgOGogn9NWb3f7E3-43">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-37" value="" style="line;strokeWidth=2;html=1;" vertex="1" parent="1">
+          <mxGeometry x="665" y="390" width="45" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-38" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.631;entryY=0.464;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.966;exitY=0.49;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="aQkLPgOGogn9NWb3f7E3-31" target="aQkLPgOGogn9NWb3f7E3-37">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-39" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="580" y="410" width="73.83" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-41" value="&lt;font style=&quot;font-size: 8px;&quot;&gt;Информирует клиента&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="586.9200000000001" y="410" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-42" value="" style="line;strokeWidth=2;html=1;" vertex="1" parent="1">
+          <mxGeometry x="665" y="470" width="45" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-43" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="750" y="410" width="110" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-44" value="Осуществляет выборку данных" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="757.5" y="415" width="95" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-46" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="aQkLPgOGogn9NWb3f7E3-43" target="aQkLPgOGogn9NWb3f7E3-42">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-47" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="aQkLPgOGogn9NWb3f7E3-39" target="aQkLPgOGogn9NWb3f7E3-42">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-49" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="586.92" y="487.5" width="93.08" height="22.5" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-50" value="&lt;font style=&quot;font-size: 8px;&quot;&gt;Генерирует HTML&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="573.46" y="487.5" width="120" height="16.25" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-52" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="595" y="520" width="80" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-58" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="aQkLPgOGogn9NWb3f7E3-53" target="aQkLPgOGogn9NWb3f7E3-57">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-53" value="&lt;font style=&quot;font-size: 9px;&quot;&gt;Передает данные&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="595" y="517.5" width="80" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-54" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.888;entryY=0.542;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.479;exitY=0.558;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="aQkLPgOGogn9NWb3f7E3-42" target="aQkLPgOGogn9NWb3f7E3-50">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-55" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.996;entryY=0.412;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.989;exitY=0.942;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="aQkLPgOGogn9NWb3f7E3-49" target="aQkLPgOGogn9NWb3f7E3-52">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-59" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="aQkLPgOGogn9NWb3f7E3-56" target="aQkLPgOGogn9NWb3f7E3-13">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="440" y="530" />
+              <mxPoint x="440" y="530" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-56" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="450" y="517.5" width="80" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-57" value="&lt;font style=&quot;font-size: 9px;&quot;&gt;Получает данные&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="451.5" y="510" width="77" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="aQkLPgOGogn9NWb3f7E3-61" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=-0.007;entryY=0.424;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="aQkLPgOGogn9NWb3f7E3-20" target="aQkLPgOGogn9NWb3f7E3-15">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="370" y="328" />
+              <mxPoint x="370" y="288" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>

+ 175 - 0
Диаграммы_ТЗ/Диаграмма/ДиаграммаИспользования.drawio

@@ -0,0 +1,175 @@
+<mxfile host="app.diagrams.net" modified="2024-06-08T15:03:54.258Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0" etag="zzvQ6XyUpZTu384KZVrh" version="24.5.2" type="device">
+  <diagram name="Страница — 1" id="DnORdPws8C3k6VttGDVl">
+    <mxGraphModel dx="1226" dy="669" 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="bW6oA4WlXg_x17y4OFLb-1" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="160" y="70" width="480" height="440" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-2" value="Пользователь" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" vertex="1" parent="1">
+          <mxGeometry x="100" y="250" width="30" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-3" value="Администратор" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" vertex="1" parent="1">
+          <mxGeometry x="670" y="250" width="30" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-8" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="190" y="160" width="90" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-9" value="Оставить отзыв" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="205" y="170" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-11" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.001;exitY=0.46;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="bW6oA4WlXg_x17y4OFLb-1" target="bW6oA4WlXg_x17y4OFLb-8">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="330" y="340" as="sourcePoint" />
+            <mxPoint x="380" y="290" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-14" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="180" y="350" width="90" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-15" value="Авторизация" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="195" y="360" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-16" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="255" y="300" width="90" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-17" value="Регистрация" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="270" y="310" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-18" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.007;entryY=0.388;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.461;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="bW6oA4WlXg_x17y4OFLb-1" target="bW6oA4WlXg_x17y4OFLb-16">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="160" y="290" as="sourcePoint" />
+            <mxPoint x="210" y="240" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-19" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.179;entryY=0.114;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.461;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="bW6oA4WlXg_x17y4OFLb-1" target="bW6oA4WlXg_x17y4OFLb-14">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="250" y="350" as="sourcePoint" />
+            <mxPoint x="300" y="300" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-20" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="270" y="210" width="90" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-21" value="Выбор курса" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="285" y="220" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-22" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.055;entryY=0.745;entryDx=0;entryDy=0;entryPerimeter=0;exitX=-0.001;exitY=0.462;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="bW6oA4WlXg_x17y4OFLb-1" target="bW6oA4WlXg_x17y4OFLb-20">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="290" y="350" as="sourcePoint" />
+            <mxPoint x="340" y="300" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-25" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="369" y="270" width="90" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-26" value="Курса" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="384" y="280" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-27" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.21;entryY=0.102;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" edge="1" parent="1" source="bW6oA4WlXg_x17y4OFLb-20" target="bW6oA4WlXg_x17y4OFLb-25">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-28" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="310" y="80" width="90" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-29" value="Покупка курса" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="325" y="90" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-30" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="410" y="110" width="90" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-31" value="Подробная информация курса" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="425" y="120" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-32" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.423;entryY=0.967;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" edge="1" parent="1" source="bW6oA4WlXg_x17y4OFLb-38" target="bW6oA4WlXg_x17y4OFLb-28">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-33" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.257;entryY=0.953;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" edge="1" parent="1" source="bW6oA4WlXg_x17y4OFLb-34" target="bW6oA4WlXg_x17y4OFLb-30">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-35" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.257;entryY=0.953;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" edge="1" parent="1" source="bW6oA4WlXg_x17y4OFLb-20" target="bW6oA4WlXg_x17y4OFLb-34">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="344" y="216" as="sourcePoint" />
+            <mxPoint x="433" y="158" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-34" value="расширяет" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="360" y="170" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-39" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.423;entryY=0.967;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" edge="1" parent="1" source="bW6oA4WlXg_x17y4OFLb-20" target="bW6oA4WlXg_x17y4OFLb-38">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="323" y="210" as="sourcePoint" />
+            <mxPoint x="348" y="128" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-38" value="расширяет" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="309" y="150" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-41" value="включает" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="354" y="240" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-57" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;" edge="1" parent="1" source="bW6oA4WlXg_x17y4OFLb-46" target="bW6oA4WlXg_x17y4OFLb-48">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-46" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="500" y="155" width="110" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-47" value="Добавление/ удаление страниц" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="525" y="170" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-58" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;" edge="1" parent="1" source="bW6oA4WlXg_x17y4OFLb-48" target="bW6oA4WlXg_x17y4OFLb-50">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-48" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="510" y="240" width="90" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-49" value="Изменение структуры сайта" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="525" y="250" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-50" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="464" y="330" width="106" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-51" value="Обновление/добавление контента" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="487" y="345" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-52" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="440" y="425" width="100" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-53" value="Работа с БД пользователей" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="459" y="440" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-54" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="305" y="430" width="100" height="70" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-55" value="Удаление/добавление пользователей" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="325" y="450" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-56" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.985;entryY=0.706;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1.001;exitY=0.47;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="bW6oA4WlXg_x17y4OFLb-1" target="bW6oA4WlXg_x17y4OFLb-48">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="570" y="350" as="sourcePoint" />
+            <mxPoint x="620" y="300" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-59" value="расширяет" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="495" y="210" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-60" value="расширяет" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="480" y="290" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-63" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.987;entryY=0.392;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.999;exitY=0.474;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="bW6oA4WlXg_x17y4OFLb-1" target="bW6oA4WlXg_x17y4OFLb-52">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="470" y="340" as="sourcePoint" />
+            <mxPoint x="520" y="290" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-64" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.99;entryY=0.379;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" edge="1" parent="1" source="bW6oA4WlXg_x17y4OFLb-52" target="bW6oA4WlXg_x17y4OFLb-54">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="bW6oA4WlXg_x17y4OFLb-65" value="включает" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="385" y="420" width="60" height="30" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>

+ 49 - 0
Диаграммы_ТЗ/Диаграмма/ДиаграммаКлассов.drawio

@@ -0,0 +1,49 @@
+<mxfile host="app.diagrams.net" modified="2024-06-08T11:47:19.944Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0" etag="y8s8Rkw71wdj9uaZEJ0G" version="24.5.2" type="device">
+  <diagram name="Страница — 1" id="vIUsVSWTCyjn4v9iv_Rl">
+    <mxGraphModel dx="1042" dy="569" 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="2-PGHiqng6_Eoz4aDTWV-1" value="&lt;table border=&quot;1&quot; width=&quot;100%&quot; height=&quot;100%&quot; cellpadding=&quot;4&quot; style=&quot;width:100%;height:100%;border-collapse:collapse;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th align=&quot;center&quot;&gt;&lt;b&gt;Пользователь&lt;/b&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;ID&lt;br&gt;Логин&amp;nbsp;&lt;br&gt;Пароль&lt;br&gt;Право администратора&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;Зарегистрироваться()&lt;br&gt;Изменить данные()&lt;br&gt;Удалить данные()&lt;br&gt;Кредитный рейтинг()&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;overflow=fill;" vertex="1" parent="1">
+          <mxGeometry x="370" y="330" width="180" height="180" as="geometry" />
+        </mxCell>
+        <mxCell id="2-PGHiqng6_Eoz4aDTWV-2" value="&lt;table border=&quot;1&quot; width=&quot;100%&quot; height=&quot;100%&quot; cellpadding=&quot;4&quot; style=&quot;width:100%;height:100%;border-collapse:collapse;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th align=&quot;center&quot;&gt;Частный клиент&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;Номер кредитной карты&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;overflow=fill;" vertex="1" parent="1">
+          <mxGeometry x="480" y="175" width="180" height="90" as="geometry" />
+        </mxCell>
+        <mxCell id="2-PGHiqng6_Eoz4aDTWV-11" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="2-PGHiqng6_Eoz4aDTWV-3" target="2-PGHiqng6_Eoz4aDTWV-1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="2-PGHiqng6_Eoz4aDTWV-3" value="&lt;table border=&quot;1&quot; width=&quot;100%&quot; height=&quot;100%&quot; cellpadding=&quot;4&quot; style=&quot;width:100%;height:100%;border-collapse:collapse;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th align=&quot;center&quot;&gt;&lt;b&gt;Постоянный клиент&lt;/b&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;Номер контракта&lt;br&gt;Кредитный рейтинг&lt;br&gt;Кредитный лимит&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;overflow=fill;" vertex="1" parent="1">
+          <mxGeometry x="260" y="170" width="180" height="100" as="geometry" />
+        </mxCell>
+        <mxCell id="2-PGHiqng6_Eoz4aDTWV-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;" edge="1" parent="1" source="2-PGHiqng6_Eoz4aDTWV-5" target="2-PGHiqng6_Eoz4aDTWV-7">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="2-PGHiqng6_Eoz4aDTWV-5" value="&lt;table border=&quot;1&quot; width=&quot;100%&quot; height=&quot;100%&quot; cellpadding=&quot;4&quot; style=&quot;width:100%;height:100%;border-collapse:collapse;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th align=&quot;center&quot;&gt;&lt;b&gt;Просмотр курсов&lt;/b&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;ID&lt;br&gt;Заказчик&lt;br&gt;Оплачен&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;Посмотреть()&lt;br&gt;Выполнить()&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;overflow=fill;" vertex="1" parent="1">
+          <mxGeometry x="85" y="350" width="160" height="120" as="geometry" />
+        </mxCell>
+        <mxCell id="2-PGHiqng6_Eoz4aDTWV-6" value="&lt;table border=&quot;1&quot; width=&quot;100%&quot; height=&quot;100%&quot; cellpadding=&quot;4&quot; style=&quot;width:100%;height:100%;border-collapse:collapse;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th align=&quot;center&quot;&gt;&lt;b&gt;Курс&lt;/b&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;ID&lt;br&gt;Наименование&amp;nbsp;&lt;br&gt;Цена&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;Просмотреть()&lt;br&gt;Изменить данные()&lt;br&gt;Удалить()&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;overflow=fill;" vertex="1" parent="1">
+          <mxGeometry x="330" y="530" width="200" height="130" as="geometry" />
+        </mxCell>
+        <mxCell id="2-PGHiqng6_Eoz4aDTWV-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="2-PGHiqng6_Eoz4aDTWV-7" target="2-PGHiqng6_Eoz4aDTWV-6">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="2-PGHiqng6_Eoz4aDTWV-7" value="&lt;table border=&quot;1&quot; width=&quot;100%&quot; height=&quot;100%&quot; cellpadding=&quot;4&quot; style=&quot;width:100%;height:100%;border-collapse:collapse;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th align=&quot;center&quot;&gt;&lt;b&gt;Заказ&lt;/b&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;Дата оформления&lt;br&gt;Цена&lt;br&gt;Наименование&lt;br&gt;Статус выполнения&lt;br&gt;Контактные данные&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;Отправить()&lt;br&gt;Закрыть()&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;overflow=fill;" vertex="1" parent="1">
+          <mxGeometry x="70" y="520" width="190" height="150" as="geometry" />
+        </mxCell>
+        <mxCell id="2-PGHiqng6_Eoz4aDTWV-12" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.609;entryY=0.006;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="2-PGHiqng6_Eoz4aDTWV-2" target="2-PGHiqng6_Eoz4aDTWV-1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="2-PGHiqng6_Eoz4aDTWV-13" value="&lt;span style=&quot;forced-color-adjust: none; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: -webkit-center; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;&quot;&gt;Обобщение&lt;/span&gt;" style="text;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="410" y="280" width="70" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2-PGHiqng6_Eoz4aDTWV-16" value="&lt;span style=&quot;forced-color-adjust: none; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: -webkit-center; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;&quot;&gt;Ассоциация&lt;/span&gt;" style="text;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="175" y="480" width="70" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2-PGHiqng6_Eoz4aDTWV-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=-0.004;entryY=0.444;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="2-PGHiqng6_Eoz4aDTWV-5" target="2-PGHiqng6_Eoz4aDTWV-1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>

+ 143 - 0
Диаграммы_ТЗ/Диаграмма/ДиаграммаКомпонентов.drawio

@@ -0,0 +1,143 @@
+<mxfile host="app.diagrams.net" modified="2024-06-08T13:52:55.393Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0" etag="5a-gEXeAbF4-gbkw1Fqq" version="24.5.2" type="device">
+  <diagram name="Страница — 1" id="FRwU-6GPRLGX4pmoQc0l">
+    <mxGraphModel dx="868" dy="474" 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="xlSf4aUqQDnL8RlDTMaZ-1" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="350" y="270" width="510" height="400" as="geometry" />
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-2" value="" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="800" y="280" width="50" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-3" value="&lt;p class=&quot;MsoNormal&quot;&gt;&lt;b&gt;«component»&lt;/b&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;b&gt;: Web-сайт&lt;/b&gt;&lt;/p&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="550" y="290" width="100" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-31" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="xlSf4aUqQDnL8RlDTMaZ-4" target="xlSf4aUqQDnL8RlDTMaZ-30">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-4" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="340" y="310" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-5" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="850" y="630" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-8" value="«Component»&lt;br&gt;: Заявка" style="html=1;dropTarget=0;whiteSpace=wrap;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="450" y="370" width="140" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-9" value="" style="shape=module;jettyWidth=8;jettyHeight=4;" vertex="1" parent="xlSf4aUqQDnL8RlDTMaZ-8">
+          <mxGeometry x="1" width="20" height="20" relative="1" as="geometry">
+            <mxPoint x="-27" y="7" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-10" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=halfCircle;endFill=0;endSize=6;strokeWidth=1;sketch=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" target="xlSf4aUqQDnL8RlDTMaZ-12" parent="1" source="xlSf4aUqQDnL8RlDTMaZ-8">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="610" y="445" as="sourcePoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-11" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=oval;endFill=0;sketch=0;sourcePerimeterSpacing=0;targetPerimeterSpacing=0;endSize=10;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" edge="1" target="xlSf4aUqQDnL8RlDTMaZ-12" parent="1" source="xlSf4aUqQDnL8RlDTMaZ-13">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="570" y="445" as="sourcePoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-12" value="" style="ellipse;whiteSpace=wrap;html=1;align=center;aspect=fixed;fillColor=none;strokeColor=none;resizable=0;perimeter=centerPerimeter;rotatable=0;allowArrows=0;points=[];outlineConnect=1;" vertex="1" parent="1">
+          <mxGeometry x="620" y="395" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-13" value="«Component»&lt;br&gt;: Физическое лицо" style="html=1;dropTarget=0;whiteSpace=wrap;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="670" y="370" width="140" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-14" value="" style="shape=module;jettyWidth=8;jettyHeight=4;" vertex="1" parent="xlSf4aUqQDnL8RlDTMaZ-13">
+          <mxGeometry x="1" width="20" height="20" relative="1" as="geometry">
+            <mxPoint x="-27" y="7" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-15" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Клиент&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="590" y="405" width="50" height="35" as="geometry" />
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-16" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Клиент&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="620" y="360" width="60" height="35" as="geometry" />
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-17" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=halfCircle;endFill=0;endSize=6;strokeWidth=1;sketch=0;fontSize=12;curved=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="xlSf4aUqQDnL8RlDTMaZ-13">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="725" y="415" as="sourcePoint" />
+            <mxPoint x="750" y="510" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-18" value="" style="ellipse;whiteSpace=wrap;html=1;align=center;aspect=fixed;fillColor=none;strokeColor=none;resizable=0;perimeter=centerPerimeter;rotatable=0;allowArrows=0;points=[];outlineConnect=1;" vertex="1" parent="1">
+          <mxGeometry x="700" y="410" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-19" value="" style="endArrow=classic;html=1;rounded=0;endSize=8;startSize=8;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" target="xlSf4aUqQDnL8RlDTMaZ-5">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="750" y="510" as="sourcePoint" />
+            <mxPoint x="740" y="500" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-20" value="«delegate»" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="790" y="530" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-21" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=halfCircle;endFill=0;endSize=6;strokeWidth=1;sketch=0;fontSize=12;curved=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="xlSf4aUqQDnL8RlDTMaZ-5">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="725" y="635" as="sourcePoint" />
+            <mxPoint x="920" y="640" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-22" value="" style="ellipse;whiteSpace=wrap;html=1;align=center;aspect=fixed;fillColor=none;strokeColor=none;resizable=0;perimeter=centerPerimeter;rotatable=0;allowArrows=0;points=[];outlineConnect=1;" vertex="1" parent="1">
+          <mxGeometry x="700" y="630" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-23" value="Счет" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="860" y="610" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-24" value="«Component»&lt;br&gt;: Курс" style="html=1;dropTarget=0;whiteSpace=wrap;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="450" y="570" width="140" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-25" value="" style="shape=module;jettyWidth=8;jettyHeight=4;" vertex="1" parent="xlSf4aUqQDnL8RlDTMaZ-24">
+          <mxGeometry x="1" width="20" height="20" relative="1" as="geometry">
+            <mxPoint x="-27" y="7" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-26" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=halfCircle;endFill=0;endSize=6;strokeWidth=1;sketch=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" target="xlSf4aUqQDnL8RlDTMaZ-28" parent="1" source="xlSf4aUqQDnL8RlDTMaZ-8">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="800" y="495" as="sourcePoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-27" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=oval;endFill=0;sketch=0;sourcePerimeterSpacing=0;targetPerimeterSpacing=0;endSize=10;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=1.229;entryY=0.69;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" target="xlSf4aUqQDnL8RlDTMaZ-28" parent="1" source="xlSf4aUqQDnL8RlDTMaZ-24">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="760" y="495" as="sourcePoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-28" value="" style="ellipse;whiteSpace=wrap;html=1;align=center;aspect=fixed;fillColor=none;strokeColor=none;resizable=0;perimeter=centerPerimeter;rotatable=0;allowArrows=0;points=[];outlineConnect=1;" vertex="1" parent="1">
+          <mxGeometry x="515" y="490" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-29" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Заказываемый курс&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="530" y="520" width="50" height="35" as="geometry" />
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-32" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=-0.001;entryY=0.472;entryDx=0;entryDy=0;endArrow=none;endFill=0;entryPerimeter=0;" edge="1" parent="1" source="xlSf4aUqQDnL8RlDTMaZ-30" target="xlSf4aUqQDnL8RlDTMaZ-8">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-30" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
+          <mxGeometry x="401" y="385" width="25" height="25" as="geometry" />
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-33" value="«delegate»" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="380" y="340" width="50" height="15" as="geometry" />
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-36" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;" edge="1" parent="1" source="xlSf4aUqQDnL8RlDTMaZ-34" target="xlSf4aUqQDnL8RlDTMaZ-4">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-34" value="«Component»&lt;br&gt;: База данных" style="html=1;dropTarget=0;whiteSpace=wrap;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="120" y="280" width="140" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-35" value="" style="shape=module;jettyWidth=8;jettyHeight=4;" vertex="1" parent="xlSf4aUqQDnL8RlDTMaZ-34">
+          <mxGeometry x="1" width="20" height="20" relative="1" as="geometry">
+            <mxPoint x="-27" y="7" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-37" value="База дынных" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="360" y="412.5" width="81" height="27.5" as="geometry" />
+        </mxCell>
+        <mxCell id="xlSf4aUqQDnL8RlDTMaZ-38" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Заказываемый курс&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="450" y="450" width="50" height="35" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>

+ 192 - 0
Диаграммы_ТЗ/Диаграмма/ДиаграммаКоперации.drawio

@@ -0,0 +1,192 @@
+<mxfile host="app.diagrams.net" modified="2024-06-08T14:26:44.818Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0" etag="8QgJwDyTn8I5lsPmyCx9" version="24.5.2" type="device">
+  <diagram name="Страница — 1" id="dGqwHTLHlxhPVNYqrYvt">
+    <mxGraphModel dx="496" dy="271" 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="ks53osZg7FFX-JTLJkaV-1" value="Администратор" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" vertex="1" parent="1">
+          <mxGeometry x="70" y="150" width="30" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-36" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;" edge="1" parent="1" source="ks53osZg7FFX-JTLJkaV-2" target="ks53osZg7FFX-JTLJkaV-34">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-42" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;" edge="1" parent="1" source="ks53osZg7FFX-JTLJkaV-2" target="ks53osZg7FFX-JTLJkaV-1">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="320" y="180" />
+              <mxPoint x="320" y="180" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-2" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="400" y="180" width="120" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-3" value="index.html" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="430" y="190" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;" edge="1" parent="1" source="ks53osZg7FFX-JTLJkaV-4" target="ks53osZg7FFX-JTLJkaV-2">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-4" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="720" y="190" width="90" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-5" value="Добавление курсов" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="735" y="195" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-29" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=1;entryDx=0;entryDy=0;endArrow=none;endFill=0;" edge="1" parent="1" source="ks53osZg7FFX-JTLJkaV-6" target="ks53osZg7FFX-JTLJkaV-2">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-45" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;" edge="1" parent="1" source="ks53osZg7FFX-JTLJkaV-6" target="ks53osZg7FFX-JTLJkaV-1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-6" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="170" y="470" width="120" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-7" value="Обновление информации" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="200" y="485" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-10" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endArrow=none;endFill=0;" edge="1" parent="1" source="ks53osZg7FFX-JTLJkaV-8" target="ks53osZg7FFX-JTLJkaV-4">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-20" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.75;entryY=1;entryDx=0;entryDy=0;endArrow=none;endFill=0;" edge="1" parent="1" source="ks53osZg7FFX-JTLJkaV-8" target="ks53osZg7FFX-JTLJkaV-2">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-8" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
+          <mxGeometry x="660" y="480" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-9" value="БД" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="650" y="520" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-11" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="740" y="360" as="sourcePoint" />
+            <mxPoint x="730" y="400" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-12" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;3: 1.2 Сохранить&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="730" y="360" width="110" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-16" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;2: 1.1 Добавить&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="570" y="170" width="110" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-17" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="610" y="200" as="sourcePoint" />
+            <mxPoint x="650" y="200" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-18" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="650" y="230" as="sourcePoint" />
+            <mxPoint x="610" y="230" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-19" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;4: 1.3 Отобразить&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="570" y="230" width="110" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-21" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="600" y="370" as="sourcePoint" />
+            <mxPoint x="580" y="340" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-22" value="&lt;span style=&quot;font-size: 10px;&quot;&gt;15: 3.3 Показать найденную информацию&lt;/span&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="464" y="360" width="186" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="ks53osZg7FFX-JTLJkaV-8" target="ks53osZg7FFX-JTLJkaV-6">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-25" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="464" y="480" as="sourcePoint" />
+            <mxPoint x="424" y="480" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-26" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="424" y="520" as="sourcePoint" />
+            <mxPoint x="464" y="520" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-27" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;8: 2.3 Показать&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="390" y="520" width="110" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-28" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;10: 2.5 Сохранить&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="390" y="450" width="110" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-30" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="320" y="340" as="sourcePoint" />
+            <mxPoint x="300" y="370" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-31" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="320" y="390" as="sourcePoint" />
+            <mxPoint x="340" y="350" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="330" y="370" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-32" value="&lt;span style=&quot;font-size: 10px;&quot;&gt;11: 2.6 Отобразить&lt;/span&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="225" y="330" width="110" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-33" value="&lt;span style=&quot;font-size: 10px;&quot;&gt;6: 2.1 Отобразить&lt;/span&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="290" y="380" width="110" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-38" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;" edge="1" parent="1" source="ks53osZg7FFX-JTLJkaV-34" target="ks53osZg7FFX-JTLJkaV-1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-34" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="210" y="250" width="90" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-35" value="Просмотр информации" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="225" y="260" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-37" value="&lt;span style=&quot;font-size: 10px;&quot;&gt;13: 3.1 Отобразить&lt;/span&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="280" y="210" width="110" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-39" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="360" y="240" as="sourcePoint" />
+            <mxPoint x="340" y="250" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-40" value="&lt;span style=&quot;font-size: 10px;&quot;&gt;14: 3.2 Ввод искомой информации&lt;/span&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="130" y="190" width="110" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-41" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="190" y="220" as="sourcePoint" />
+            <mxPoint x="210" y="240" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="200" y="230" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-43" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="225" y="169.17000000000002" as="sourcePoint" />
+            <mxPoint x="265" y="169.17000000000002" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-44" value="&lt;span style=&quot;font-size: 10px;&quot;&gt;1: 1 Добавление курсов&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-size: 10px;&quot;&gt;5: 2 Обновление информации&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 10px;&quot;&gt;12: 3 Просмотр информации&lt;/span&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="130" y="130" width="210" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-46" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="160" y="320" as="sourcePoint" />
+            <mxPoint x="180" y="360" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="170" y="340" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="ks53osZg7FFX-JTLJkaV-47" value="&lt;span style=&quot;font-size: 10px;&quot;&gt;7: 2.2 Найти редактируемую курс&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-size: 10px;&quot;&gt;9: 2.4 Обновить курс&amp;nbsp;&lt;/span&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="50" y="340" width="110" height="20" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>

+ 175 - 0
Диаграммы_ТЗ/Диаграмма/ДиаграммаПоследовательности.drawio

@@ -0,0 +1,175 @@
+<mxfile host="app.diagrams.net" modified="2024-06-08T14:49:55.457Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0" etag="2sZaxJ4McZniql-oqWwX" version="24.5.2" type="device">
+  <diagram name="Страница — 1" id="pXCxxzjiAqCJxJZYpagJ">
+    <mxGraphModel dx="595" dy="325" 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="6QIwGhDD4QhqODpnX_ux-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;endArrow=none;endFill=0;" edge="1" parent="1" source="6QIwGhDD4QhqODpnX_ux-2">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="85" y="591.3333129882812" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-2" value="Actor" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" vertex="1" parent="1">
+          <mxGeometry x="70" y="90" width="30" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-3" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="160" y="80" width="440" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;endArrow=none;endFill=0;" edge="1" parent="1" source="6QIwGhDD4QhqODpnX_ux-4">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="230" y="590" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-4" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="180" y="120" width="100" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;endArrow=none;endFill=0;" edge="1" parent="1" source="6QIwGhDD4QhqODpnX_ux-5">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="380" y="590" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-5" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="330" y="120" width="100" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;endArrow=none;endFill=0;" edge="1" parent="1" source="6QIwGhDD4QhqODpnX_ux-6">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="530" y="590" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-6" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="480" y="120" width="100" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-7" value="Система" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="200" y="125" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-9" value="БД" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="350" y="125" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-10" value="Заявка" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="500" y="125" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-15" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;rotation=90;" vertex="1" parent="1">
+          <mxGeometry x="25" y="242.5" width="120" height="15" as="geometry" />
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-17" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;rotation=90;" vertex="1" parent="1">
+          <mxGeometry x="205" y="207.5" width="50" height="15" as="geometry" />
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=1;entryDx=0;entryDy=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="6QIwGhDD4QhqODpnX_ux-15" target="6QIwGhDD4QhqODpnX_ux-17">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="160" y="190" />
+              <mxPoint x="160" y="190" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-19" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;регистрация аккаунта&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="100" y="177.5" width="120" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0;entryDx=0;entryDy=0;exitX=1;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="6QIwGhDD4QhqODpnX_ux-20" target="6QIwGhDD4QhqODpnX_ux-15">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="373" y="310" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-20" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;rotation=90;" vertex="1" parent="1">
+          <mxGeometry x="342.5" y="270" width="75" height="15" as="geometry" />
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1.007;exitY=-0.039;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="6QIwGhDD4QhqODpnX_ux-17" target="6QIwGhDD4QhqODpnX_ux-20">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="240" y="240" as="sourcePoint" />
+            <mxPoint x="370" y="240" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="307" y="240" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-24" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;передача информации о клиенте&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="230" y="235" width="140" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-26" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;сообщение об успешной регистрации&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="140" y="285" width="190" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-31" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=1;entryDx=0;entryDy=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="6QIwGhDD4QhqODpnX_ux-27" target="6QIwGhDD4QhqODpnX_ux-29">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="220" y="348" />
+              <mxPoint x="220" y="346" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-27" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;rotation=90;" vertex="1" parent="1">
+          <mxGeometry x="-36.25" y="461.25" width="242.5" height="15" as="geometry" />
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-35" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=1;entryDx=0;entryDy=0;exitX=1;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="6QIwGhDD4QhqODpnX_ux-29" target="6QIwGhDD4QhqODpnX_ux-33">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="239" y="394" />
+              <mxPoint x="373" y="394" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-29" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;rotation=90;" vertex="1" parent="1">
+          <mxGeometry x="208.13" y="361.88" width="46.25" height="15" as="geometry" />
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-32" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;заявка на обратную связь&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="60" y="340" width="190" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-39" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=1;entryDx=0;entryDy=0;exitX=1;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="6QIwGhDD4QhqODpnX_ux-33" target="6QIwGhDD4QhqODpnX_ux-37">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="388" y="446" />
+              <mxPoint x="523" y="446" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-33" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;rotation=90;" vertex="1" parent="1">
+          <mxGeometry x="356.87" y="410" width="46.25" height="15" as="geometry" />
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-36" value="&lt;font style=&quot;font-size: 9px;&quot;&gt;передача номера пользователя&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="213.12" y="370" width="190" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-41" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" target="6QIwGhDD4QhqODpnX_ux-38">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="520" y="504" as="sourcePoint" />
+            <Array as="points">
+              <mxPoint x="520" y="505" />
+              <mxPoint x="454" y="505" />
+              <mxPoint x="454" y="504" />
+              <mxPoint x="388" y="504" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-43" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="6QIwGhDD4QhqODpnX_ux-37" target="6QIwGhDD4QhqODpnX_ux-27">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="530" y="590" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-37" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;rotation=90;" vertex="1" parent="1">
+          <mxGeometry x="458.45" y="509.68" width="143.12" height="15" as="geometry" />
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-38" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;rotation=90;" vertex="1" parent="1">
+          <mxGeometry x="363.44" y="513.44" width="33.12" height="15" as="geometry" />
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-42" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.659;entryY=1.063;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="6QIwGhDD4QhqODpnX_ux-38" target="6QIwGhDD4QhqODpnX_ux-37">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="388" y="540" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-44" value="&lt;font style=&quot;font-size: 9px;&quot;&gt;передача информации клиенту&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="260" y="580" width="190" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-45" value="&lt;font style=&quot;font-size: 9px;&quot;&gt;просмотр списка курсов&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="356.87" y="479.68" width="190" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="6QIwGhDD4QhqODpnX_ux-46" value="&lt;font style=&quot;font-size: 9px;&quot;&gt;поступление сообщения на почту&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="363.44" y="420" width="190" height="30" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>

+ 113 - 0
Диаграммы_ТЗ/Диаграмма/ДиаграммаПотоков.drawio

@@ -0,0 +1,113 @@
+<mxfile host="app.diagrams.net" modified="2024-06-08T13:17:59.356Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0" etag="FsOk2F_tKovrBsimrMUq" version="24.5.2" type="device">
+  <diagram name="Страница — 1" id="XSrMlGxWp5a8u4piznUI">
+    <mxGraphModel dx="168" dy="92" 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="7l-I4JD_Td2Ashco9ItC-1" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="180" y="220" width="120" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="7l-I4JD_Td2Ashco9ItC-2" value="Пользователь" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="210" y="235" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="7l-I4JD_Td2Ashco9ItC-3" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="610" y="220" width="120" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="7l-I4JD_Td2Ashco9ItC-4" value="Администратор" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="640" y="235" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="7l-I4JD_Td2Ashco9ItC-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.25;entryY=0;entryDx=0;entryDy=0;exitX=1;exitY=0.75;exitDx=0;exitDy=0;" edge="1" parent="1" source="7l-I4JD_Td2Ashco9ItC-5" target="7l-I4JD_Td2Ashco9ItC-19">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="7l-I4JD_Td2Ashco9ItC-5" value="" style="rounded=1;whiteSpace=wrap;html=1;rotation=90;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="350" y="250" width="206" height="140" as="geometry" />
+        </mxCell>
+        <mxCell id="7l-I4JD_Td2Ashco9ItC-6" value="" style="endArrow=none;html=1;rounded=0;entryX=0.165;entryY=0.001;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.163;exitY=1.002;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="382.93" y="239.99800000000008" as="sourcePoint" />
+            <mxPoint x="523.0699999999999" y="240.41" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="7l-I4JD_Td2Ashco9ItC-7" value="" style="endArrow=none;html=1;rounded=0;entryX=0.165;entryY=0.001;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.163;exitY=1.002;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="383" y="400" as="sourcePoint" />
+            <mxPoint x="523" y="400" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="7l-I4JD_Td2Ashco9ItC-8" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;1.1&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="423" y="210" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="7l-I4JD_Td2Ashco9ItC-9" value="Оформить заявку" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="393" y="300" width="120" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="7l-I4JD_Td2Ashco9ItC-10" value="База данных клиентов" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="388" y="465" width="130" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="7l-I4JD_Td2Ashco9ItC-11" value="" style="endArrow=classic;html=1;rounded=0;exitX=0;exitY=1;exitDx=0;exitDy=0;entryX=0.306;entryY=0.007;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="7l-I4JD_Td2Ashco9ItC-3" target="7l-I4JD_Td2Ashco9ItC-5">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="520" y="300" as="sourcePoint" />
+            <mxPoint x="570" y="250" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="7l-I4JD_Td2Ashco9ItC-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.015;entryY=0.937;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" target="7l-I4JD_Td2Ashco9ItC-5">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="300" y="220" as="sourcePoint" />
+            <mxPoint x="383" y="220" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="320" y="220" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="7l-I4JD_Td2Ashco9ItC-15" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Протокол обслуживания&lt;/font&gt;" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="530" y="250" width="80" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="7l-I4JD_Td2Ashco9ItC-16" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Сообщение о заявке&lt;/font&gt;" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="530" y="190" width="80" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="7l-I4JD_Td2Ashco9ItC-17" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Подтверждение заявки&lt;/font&gt;" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="300" y="280" width="80" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="7l-I4JD_Td2Ashco9ItC-18" value="&lt;span style=&quot;font-size: 10px;&quot;&gt;Информация о желаемом курсе&lt;/span&gt;" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="300" y="190" width="80" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="7l-I4JD_Td2Ashco9ItC-19" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="384.5" y="470" width="137" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="7l-I4JD_Td2Ashco9ItC-22" 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="490" y="470" as="sourcePoint" />
+            <mxPoint x="490" y="423" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="490" y="440" />
+              <mxPoint x="490" y="440" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="7l-I4JD_Td2Ashco9ItC-24" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Данные по текущему курсу&lt;/font&gt;" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="500" y="435" width="90" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="7l-I4JD_Td2Ashco9ItC-25" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Запрос по текущему курсу&lt;/font&gt;" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="324" y="430" width="90" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="7l-I4JD_Td2Ashco9ItC-26" value="Менеджер" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="423" y="390" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="7l-I4JD_Td2Ashco9ItC-27" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.012;exitY=0.085;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;exitPerimeter=0;" edge="1" parent="1" source="7l-I4JD_Td2Ashco9ItC-5" target="7l-I4JD_Td2Ashco9ItC-3">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="620" y="230" as="sourcePoint" />
+            <mxPoint x="522" y="231" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="7l-I4JD_Td2Ashco9ItC-29" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0;entryDx=0;entryDy=0;exitX=0.304;exitY=1.002;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="7l-I4JD_Td2Ashco9ItC-5" target="7l-I4JD_Td2Ashco9ItC-17">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="310" y="290" as="sourcePoint" />
+            <mxPoint x="393" y="290" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="300" y="280" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>

+ 64 - 0
Диаграммы_ТЗ/Диаграмма/ДиаграммаРазвертывания1.drawio

@@ -0,0 +1,64 @@
+<mxfile host="app.diagrams.net" modified="2024-06-08T12:51:45.491Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0" etag="LzcPZwacfqZttZaVLUou" version="24.5.2" type="device">
+  <diagram name="Страница — 1" id="vDBfDfxqaw8DL8RJuuXF">
+    <mxGraphModel dx="719" dy="392" 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="ouQuyrWsQXzR7ixp4j_e-19" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;" edge="1" parent="1" source="ouQuyrWsQXzR7ixp4j_e-1" target="ouQuyrWsQXzR7ixp4j_e-5">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="ouQuyrWsQXzR7ixp4j_e-1" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;" vertex="1" parent="1">
+          <mxGeometry x="230" y="400" width="170" height="180" as="geometry" />
+        </mxCell>
+        <mxCell id="ouQuyrWsQXzR7ixp4j_e-2" value="&lt;font style=&quot;font-size: 12px;&quot;&gt;АРМ администратора&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="245" y="410" width="140" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="ouQuyrWsQXzR7ixp4j_e-3" value="WEB-браузер" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="270" y="490" width="100" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="ouQuyrWsQXzR7ixp4j_e-22" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;" edge="1" parent="1" source="ouQuyrWsQXzR7ixp4j_e-5" target="ouQuyrWsQXzR7ixp4j_e-16">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="ouQuyrWsQXzR7ixp4j_e-5" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;" vertex="1" parent="1">
+          <mxGeometry x="230" y="640" width="170" height="180" as="geometry" />
+        </mxCell>
+        <mxCell id="ouQuyrWsQXzR7ixp4j_e-6" value="&lt;font style=&quot;font-size: 12px;&quot;&gt;WEB сервер&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="220" y="650" width="140" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="ouQuyrWsQXzR7ixp4j_e-20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;" edge="1" parent="1" source="ouQuyrWsQXzR7ixp4j_e-7" target="ouQuyrWsQXzR7ixp4j_e-5">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="ouQuyrWsQXzR7ixp4j_e-7" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;" vertex="1" parent="1">
+          <mxGeometry x="540" y="640" width="170" height="180" as="geometry" />
+        </mxCell>
+        <mxCell id="ouQuyrWsQXzR7ixp4j_e-8" value="&lt;font style=&quot;font-size: 12px;&quot;&gt;АРМ пользователя&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="555" y="650" width="140" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="ouQuyrWsQXzR7ixp4j_e-9" value="WEB-браузер" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="580" y="730" width="100" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="ouQuyrWsQXzR7ixp4j_e-13" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;" vertex="1" parent="1">
+          <mxGeometry x="230" y="870" width="170" height="180" as="geometry" />
+        </mxCell>
+        <mxCell id="ouQuyrWsQXzR7ixp4j_e-14" value="&lt;font style=&quot;font-size: 12px;&quot;&gt;Сервер БД&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="220" y="880" width="140" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="ouQuyrWsQXzR7ixp4j_e-15" value="База данных" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="270" y="960" width="100" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="ouQuyrWsQXzR7ixp4j_e-16" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;" vertex="1" parent="1">
+          <mxGeometry y="870" width="170" height="180" as="geometry" />
+        </mxCell>
+        <mxCell id="ouQuyrWsQXzR7ixp4j_e-17" value="&lt;font style=&quot;font-size: 12px;&quot;&gt;Файловая сервер&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="15" y="880" width="140" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="ouQuyrWsQXzR7ixp4j_e-18" value="Сайт методического центра" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="40" y="960" width="110" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="ouQuyrWsQXzR7ixp4j_e-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.501;entryY=-0.001;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" edge="1" parent="1" source="ouQuyrWsQXzR7ixp4j_e-5" target="ouQuyrWsQXzR7ixp4j_e-13">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>

+ 110 - 0
Диаграммы_ТЗ/Диаграмма/ДиаграммаСостояний.drawio

@@ -0,0 +1,110 @@
+<mxfile host="app.diagrams.net" modified="2024-06-08T12:33:53.120Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0" etag="zgN3nTUzZvnx90zcTuVR" version="24.5.2" type="device">
+  <diagram name="Страница — 1" id="BxWAIHhALhp2MQOjXtDI">
+    <mxGraphModel dx="496" dy="271" 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="AjMCPsKGSBbN2FtSVhIP-1" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="340" y="130" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="AjMCPsKGSBbN2FtSVhIP-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="AjMCPsKGSBbN2FtSVhIP-2" target="AjMCPsKGSBbN2FtSVhIP-3">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="AjMCPsKGSBbN2FtSVhIP-2" value="&lt;span style=&quot;color: rgba(0, 0, 0, 0); font-family: monospace; font-size: 0px; text-align: start; text-wrap: nowrap;&quot;&gt;%3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22%22%20style%3D%22ellipse%3BwhiteSpace%3Dwrap%3Bhtml%3D1%3Baspect%3Dfixed%3BfillColor%3Dnone%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22335%22%20y%3D%22125%22%20width%3D%2250%22%20height%3D%2250%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3E&lt;/span&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="335" y="125" width="50" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="AjMCPsKGSBbN2FtSVhIP-29" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="AjMCPsKGSBbN2FtSVhIP-3" target="AjMCPsKGSBbN2FtSVhIP-28">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="AjMCPsKGSBbN2FtSVhIP-3" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="267" y="220" width="187.5" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="AjMCPsKGSBbN2FtSVhIP-5" value="" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=0.25;entryDx=0;entryDy=0;exitX=0;exitY=0.25;exitDx=0;exitDy=0;" edge="1" parent="1" source="AjMCPsKGSBbN2FtSVhIP-3" target="AjMCPsKGSBbN2FtSVhIP-3">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="370" y="240" as="sourcePoint" />
+            <mxPoint x="420" y="190" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="AjMCPsKGSBbN2FtSVhIP-6" value="Авторизация" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="304" y="210" width="116" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="AjMCPsKGSBbN2FtSVhIP-7" value="Вход" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="330" y="100" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="AjMCPsKGSBbN2FtSVhIP-8" value="exit / выход их личного аккаунта&lt;div&gt;do / проверить пользователя&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="267" y="250" width="190" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="AjMCPsKGSBbN2FtSVhIP-26" 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="AjMCPsKGSBbN2FtSVhIP-18" target="AjMCPsKGSBbN2FtSVhIP-8">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="150" y="258" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="AjMCPsKGSBbN2FtSVhIP-18" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="70" y="360" width="187.5" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="AjMCPsKGSBbN2FtSVhIP-19" value="" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=0.25;entryDx=0;entryDy=0;exitX=0;exitY=0.25;exitDx=0;exitDy=0;elbow=vertical;" edge="1" parent="1" source="AjMCPsKGSBbN2FtSVhIP-18" target="AjMCPsKGSBbN2FtSVhIP-18">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="173" y="380" as="sourcePoint" />
+            <mxPoint x="223" y="330" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="AjMCPsKGSBbN2FtSVhIP-20" value="Регистрация" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="107" y="350" width="116" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="AjMCPsKGSBbN2FtSVhIP-21" value="entry / регистрация в системы" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="68.75" y="390" width="190" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="AjMCPsKGSBbN2FtSVhIP-22" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="491.25" y="360" width="187.5" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="AjMCPsKGSBbN2FtSVhIP-23" value="" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=0.25;entryDx=0;entryDy=0;exitX=0;exitY=0.25;exitDx=0;exitDy=0;" edge="1" parent="1" source="AjMCPsKGSBbN2FtSVhIP-22" target="AjMCPsKGSBbN2FtSVhIP-22">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="594.25" y="380" as="sourcePoint" />
+            <mxPoint x="644.25" y="330" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="AjMCPsKGSBbN2FtSVhIP-24" value="Просмотр информации" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="510.38" y="350" width="151.75" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="AjMCPsKGSBbN2FtSVhIP-25" value="&lt;div&gt;do / знакомство с курсами&lt;/div&gt;&lt;div&gt;&lt;div&gt;do / получить текущий список проходимых курсов&lt;/div&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="491.25" y="390" width="190" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="AjMCPsKGSBbN2FtSVhIP-27" value="Повторить вход" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="150" y="290" width="100" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="AjMCPsKGSBbN2FtSVhIP-31" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.25;entryDx=0;entryDy=0;" edge="1" parent="1" source="AjMCPsKGSBbN2FtSVhIP-28" target="AjMCPsKGSBbN2FtSVhIP-21">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="AjMCPsKGSBbN2FtSVhIP-32" 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="AjMCPsKGSBbN2FtSVhIP-28" target="AjMCPsKGSBbN2FtSVhIP-25">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="AjMCPsKGSBbN2FtSVhIP-28" value="" style="rhombus;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="343.38" y="380" width="37.25" height="35" as="geometry" />
+        </mxCell>
+        <mxCell id="AjMCPsKGSBbN2FtSVhIP-33" value="да" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="400" y="377.5" width="40" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="AjMCPsKGSBbN2FtSVhIP-34" value="нет" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="287" y="375" width="43" height="15" as="geometry" />
+        </mxCell>
+        <mxCell id="AjMCPsKGSBbN2FtSVhIP-36" value="Проверка пользователя" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="293" y="410" width="138" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="AjMCPsKGSBbN2FtSVhIP-37" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=none;" vertex="1" parent="1">
+          <mxGeometry x="561.25" y="490" width="50" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="AjMCPsKGSBbN2FtSVhIP-38" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="565" y="493.75" width="42.5" height="42.5" as="geometry" />
+        </mxCell>
+        <mxCell id="AjMCPsKGSBbN2FtSVhIP-39" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.457;entryY=-0.01;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="AjMCPsKGSBbN2FtSVhIP-22" target="AjMCPsKGSBbN2FtSVhIP-37">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="AjMCPsKGSBbN2FtSVhIP-40" value="Выход" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="556.25" y="536.25" width="60" height="30" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>

二进制
Диаграммы_ТЗ/Диаграмма/Использования.png


二进制
Диаграммы_ТЗ/Диаграмма/Класссов.png


二进制
Диаграммы_ТЗ/Диаграмма/Компонентов.png


二进制
Диаграммы_ТЗ/Диаграмма/Кооперации.png


二进制
Диаграммы_ТЗ/Диаграмма/Последовательности.png


二进制
Диаграммы_ТЗ/Диаграмма/Потоков.png


二进制
Диаграммы_ТЗ/Диаграмма/Развертывания.png


二进制
Диаграммы_ТЗ/Диаграмма/Состояний.png


+ 613 - 0
Диаграммы_ТЗ/ТЗ_ПП.docx

@@ -0,0 +1,613 @@
+ Общие сведения
+ Наименование системы
+ Полное наименование системы
+Полное наименование: Методический центр <<Технология>>
+ Краткое наименование системы
+Краткое наименование: МЦ Технология
+ Основания для проведения работ
+Работа выполняется на основании договора №1 от 06.06.2024 между Лобзиной Т.П., Касаткиной А. Е., Проваленко Л.Н. 
+ Наименование организаций  -  Заказчика и Разработчика
+ Заказчик
+   Заказчик ОАО Лобзина Т.П.
+   Адрес фактический: г. Нижний Новгород, пр. Кирова, 12
+   Телефон / Факс 8 (831) 291-50-25
+ Разработчик
+   Разработчик: ЗАО Проваленко Л.Н, Касаткина А.Е.
+   Адрес фактический: г. Нижний Новгород, ул. Гордеевская, д.5
+ Плановые сроки начала и окончания работы
+   Начало работы: 06.06.2024
+   Окончание работы: 03.07.2024
+ Порядок оформления и предъявления заказчику результатов работ
+   Разработчик Проваленко Л.Н, Касаткина А.Е. передает результаты своей работы Заказчику Лобзиной Т.П. поэтапно в соответствии с графиком выполнения проекта. По завершении каждого этапа работ Разработчик Проваленко Л.Н, Касаткина А.Е. предоставляет Заказчику Лобзиной Т.П. отчетные документы, которые содержат информацию о проделанной работе на данном этапе. Содержание этих отчетов определено в договоре между сторонами и может включать в себя описание выполненных задач, достигнутых результатов, использованных ресурсов, анализ рисков и другую необходимую информацию. Это позволяет Заказчику Лобзиной Т.П. оценить прогресс работы, соответствие выполненных задач поставленным целям и контролировать ход проекта.
+ Назначение и цели создания системы
+ Назначение системы
+   
+   Отрасль и направления деятельности: Образование, повышение квалификации, разработка методических материалов.
+   
+   Перечень услуг по категориям:
+   
+   Обучение:
+   Проведение семинаров, тренингов, мастер-классов
+   Разработка и проведение курсов повышения квалификации
+   Онлайн-обучение
+   Методическая поддержка:
+   Создание методических рекомендаций для преподавателей
+   Предоставление консультаций по вопросам методики обучения
+   Исследовательская деятельность:
+   Проведение научных исследований в области образования
+   Анализ и оценка образовательных программ
+   Разработка новых методик обучения
+   
+ Назначение сайта
+   Тип сайта: Тематический
+   Цели сайта:
+   Привлечение новых клиентов:
+   Реклама услуг и товаров методического центра
+   Предоставление информации о центре и его специалистах
+   Формирование базы постоянных клиентов:
+   Предоставление скидок и бонусов постоянным клиентам
+   Предоставление информации об услугах:
+   Подробное описание услуг и товаров
+   Расписание семинаров и тренингов
+   Информация о преподавателях и экспертах
+   Укрепление репутации:
+   Публикация статей и материалов по вопросам образования
+   Создание блога с актуальными новостями и обзорами
+   Продвижение услуг и товаров:
+   Возможность онлайн-записи на семинары и тренинги
+   Продажа учебных материалов онлайн
+   Целевые действия пользователей сайта:
+   
+   Ознакомление с услугами и товарами
+   Запись на семинары и тренинги
+   Получение консультации
+   Подписка на рассылку новостей
+   Вид автоматизируемой деятельности:
+   
+   Система методического центра предназначена для управления процессами:
+   
+   Запись на мероприятия:
+   Прием заявок на участие в семинарах и тренингах
+   Формирование расписания
+   Продажа товаров:
+   Управление каталогом товаров
+   Прием заказов
+   Обработка платежей
+   Доставка товаров
+   Управление обучением:
+   Создание и управление курсами онлайн-обучения
+   Мониторинг прогресса 
+   Предоставление обратной связи
+   Управление контентом:
+   Создание и редактирование контента сайта
+   Публикация статей и материалов
+   Управление блогами
+   Аналитика:
+   Сбор и анализ данных о посетителях сайта
+   Отслеживание эффективности рекламных кампаний
+   Анализ продаж
+ Целевая аудитория
+   Студенты: Будущие педагоги, студенты педагогических вузов, студенты, желающие получить дополнительное образование в сфере педагогики.
+   Преподаватели: Действующие учителя, преподаватели, тьюторы, желающие повысить квалификацию, узнать о новых методах обучения, получить доступ к методическим материалам.
+   Родители: Родители, заинтересованные в развитии своих детей, желающие получить информацию о современных методах обучения, о развитии ребенка.
+   Руководители образовательных учреждений: Директора школ, колледжей, руководители курсов, заинтересованные в повышении качества образования, внедрении новых образовательных программ и методик.
+ Перечень объектов автоматизации
+   
+Система методического центра обучения должна включать в себя следующие модули:
+
+База данных методических материалов:
+
+Учебные программы
+Рабочие программы
+Методические рекомендации
+Презентации
+Видеоуроки
+Тесты и задания
+Сценарии учебных мероприятий
+Информацию о преподавателях и экспертах
+
+Система управления обучением:
+Регистрация пользователей
+Запись на курсы
+Прохождение курсов
+Мониторинг прогресса обучения
+Тестирование
+Предоставление сертификатов
+Предоставление обратной связи
+
+Модуль для организации онлайн-мероприятий:
+Проведение вебинаров и онлайн-конференций
+
+Модуль для создания и управления контентом:
+Создание и редактирование статей, новостей, блога
+Публикация видео и аудиоматериалов
+Управление файлами
+
+Модуль для аналитики:
+Сбор и анализ данных о посетителях сайта
+Отслеживание эффективности рекламных кампаний
+Анализ продаж
+Мониторинг прогресса пользователей
+
+Автоматизируемые органы управления:
+Администрация методического центра: Управление контентом, контроль работы платформы, обновление данных, решение административных вопросов.
+Преподаватели: Загрузка учебных материалов, проведение онлайн-занятий, отслеживание прогресса студентов.
+
+Автоматизируемые бизнес-процессы верхнего уровня:
+Предоставление доступа к методическим материалам: Создание базы данных с учебными материалами, предоставление доступа к материалам через сайт, реализация систем поиска и фильтрации материалов.
+Проведение онлайн-курсов: Разработка и организация онлайн-курсов, проведение вебинаров, управление процессом обучения, контроль прогресса студентов.
+Проведение онлайн-мероприятий: Организация вебинаров, конференций, презентаций, управление трансляциями, модерация общения.
+
+На сайте методического центра должны быть размещены следующие разделы:
+
+О нас: Информация о методическом центре, миссии, команде, истории.
+Услуги: Описание услуг методического центра, список курсов, вебинаров, тренингов.
+Методические материалы: Каталог учебных материалов, возможность поиска и фильтрации материалов.
+Блог: Статьи о педагогике, опыте преподавания, новых методах обучения.
+Контакты: Контакты методического центра, форма обратной связи.
+
+ Стадии проекта
+   
+1.	Формирование Технического Задания (ТЗ):
+ - 	Определение целей и задач сайта: детально прописываются цели, которые должны быть достигнуты с помощью сайта, а также задачи, которые он будет решать.
+ - 	Описание целевой аудитории.
+ - 	Функциональные требования: подробно описывается функционал сайта: какие разделы и страницы будут присутствовать, какие действия пользователи смогут совершать, какие данные будут отображаться.  
+ - 	Технические требования: указываются требования к платформе разработки, хостингу, системе управления контентом, языкам программирования, уровню безопасности и защиты данных.
+ - 	Дизайн и юзабилити: описываются требования к дизайну сайта: стилистика, цветовая гамма, шрифты, расположение элементов, удобство навигации, адаптивность под разные устройства.
+ - 	Сроки и бюджет: определяются сроки разработки сайта и бюджет проекта, а также порядок оплаты работ.
+2. Анализ существующих средств и создание модели приложения:
+Анализ конкурентной среды: Изучение сайтов конкурентов, их преимуществ и недостатков. 
+Проектирование структуры сайта: Разработка информационной архитектуры сайта: структура разделов и подразделов, навигация, взаимосвязь страниц, карта сайта.
+Создание прототипов: Разработка прототипов (схем) ключевых страниц сайта, демонстрирующих расположение элементов, навигацию, логику взаимодействия с пользователем.
+Создание базы данных: Проектирование структуры базы данных, которая будет хранить информацию о клиентах, заказах, контенте сайта и др.
+3.  Создание функционала и дизайна системы:
+Верстка и программирование: на основе прототипов и технического задания создается фронт-энд (HTML, CSS, JavaScript) и бек-энд (PHP, Python, Ruby и др.)  части сайта.
+Интеграция с CMS и базами данных: Подключение сайта к выбранной CMS, настройка модулей и плагинов, интеграция с базой данных.
+Разработка дизайна: Создание уникального дизайна сайта в соответствии с требованиями ТЗ, разработка графических элементов, подбор шрифтов и цветовой гаммы.
+Наполнение контентом: Наполнение сайта текстовым и графическим контентом: описание курсов, информация о компании, новости, фотографии, видео и др.
+4.  Создание автоматизированных средств тестирования и документирование:
+Тестирование функционала: проводится тщательное тестирование всех функций сайта на разных устройствах и браузерах для выявления и устранения ошибок.
+Нагрузочное тестирование: проверяется устойчивость сайта к высоким нагрузкам, определяется максимальное количество пользователей, которые могут одновременно работать на сайте без снижения производительности.
+Документирование: создается техническая документация по сайту: описание функционала, инструкции по использованию, описание API, руководство по администрированию и др.
+
+ Участники и роли
+1. Проваленко Людмила - Backend Developer:
+2. Касаткина Анастасия - Frontend Developer/Test Engineer:
+
+ Характеристика объектов автоматизации
+                                 Таблица 1. Характеристики
+   Наименование процесса
+   Возможность автоматизации
+   Решение об автоматизации в ходе проекта
+   Анализ уже имеющихся курсов, клиентов
+   Возможна
+   Будет автоматизирован
+   Добавление новых и удаление уже имеющихся курсов и клиентов
+   Возможна
+   Будет автоматизирован
+   Автозаполняемый формуляр
+   Возможна
+   Будет автоматизирован
+   Автособираемые отчеты
+   Возможна
+   Будет автоматизирован
+   
+ Требования к системе
+ Требования к системе в целом
+ Требования к структуре и функционированию системы
+   Система КХД должна быть централизованной, т.е. все данные должны располагаться в центральном хранилище. Система КХД должна иметь трехуровневую архитектуру (можно привести общую схему, на которой определить уровни. Например, первый - источник, второй - хранилище, третий - отчетность).
+   В Системе предлагается выделить следующие функциональные подсистемы:
+   - подсистема сбора, обработки и загрузки данных, которая предназначена для реализации процессов сбора данных из систем источников, приведения указанных данных к виду, необходимому для наполнения подсистемы хранения данных;
+   - подсистема хранения данных, которая предназначена для хранения данных в структурах, нацеленных на принятие решений;
+   - подсистема формирования и визуализации отчетности, которая предназначена для формирования бизнес-ориентированных витрин данных и отчетности.
+   В качестве протокола взаимодействия между компонентами Системы на транспортно-сетевом уровне необходимо использовать протокол TCP/IP.
+Для организации информационного обмена между компонентами Системы должны использоваться специальные протоколы прикладного уровня, такие как: NFS, HTTP и его расширение HTTPS, NetBios/SMB, Oracle TNS.
+Для организации доступа пользователей к отчетности должен использоваться протокол презентационного уровня HTTP и его расширение HTTPS.
+   Смежными системами для КХД являются:
+ информационные системы оперативной обработки данных Заказчика;
+ информационные системы планирования; 
+ информационные системы управления производством и складским учетом;
+ информационные системы бухгалтерского учета и финансового анализа;
+ информационные системы управления отношениями с клиентами (CRM-системы);
+ информационные системы управления персоналом (HR-системы);
+ информационные системы аналитики и отчетности;
+ информационные системы управления цепями поставок.
+   Перечень предпочтительных способов взаимодействия со смежными системами приведен ниже.
+ Информационная система управления предприятием - с использованием промежуточной базы данных (ПБД).
+ Информационно-справочная система - обмен файлами ОС определенного формата.
+ Информационная система обеспечения бюджетного процесса - интеграция <<точка  -  точка>>.
+ Информационная система управления ресурсами предприятия (ERP-система).
+ Информационная система управления клиентскими данными (CRM-система).
+ Информационная система управления производственными процессами.
+ Информационная система управления складскими запасами.
+ Информационная система управления финансами и бухгалтерским учетом.
+   Система должна поддерживать следующие режимы функционирования:
+ Основной режим, в котором подсистемы КХД выполняют все свои основные функции.
+ Профилактический режим, в котором одна или все подсистемы КХД не выполняют своих функций.
+   В основном режиме функционирования Система КХД должна обеспечивать:
+ работу пользователей в режиме  -  24 часов в день, 7 дней в неделю (24х7);
+ выполнение своих функций  -  сбор, обработка и загрузка данных; хранение данных, предоставление отчетности.
+   В профилактическом режиме Система КХД должна обеспечивать возможность проведения следующих работ:
+ техническое обслуживание;
+ модернизацию аппаратно-программного комплекса;
+ устранение аварийных ситуаций.
+ Общее время проведения профилактических работ не должно превышать 15% от общего времени работы системы в основном режиме.
+   Для обеспечения высокой надежности функционирования Системы как системы в целом, так и её отдельных компонентов должно обеспечиваться выполнение требований по диагностированию ее состояния.
+   Диагностирование Системы должно осуществляться следующими штатными средствами, входящими в комплект поставки программного обеспечения:
+ СУБД - СУБД администратора предоставляет средства для мониторинга и диагностики состояния базы данных, такие как Microsoft SQL Server Management Studio для MS SQL или Oracle Enterprise Manager для Oracle.
+ ETL-средство - ETL-средство обычно уже имеет встроенные средства мониторинга и диагностики, позволяющие отслеживать процессы извлечения, трансформации и загрузки данных и обнаруживать возможные проблемы или сбои. Примером такого инструмента может быть Apache NiFi или Talend.
+ Средство визуализации - Для визуализации состояния системы и ее компонентов часто используются средства мониторинга и визуализации, такие как Grafana, Kibana, или Tableau, которые позволяют отображать различные метрики и данные о состоянии системы в удобной форме.
+   Обязательно ведение журналов инцидентов в электронной форме, а также графиков и журналов проведения ППР.
+   Для всех технических компонентов необходимо обеспечить регулярный и постоянный контроль состояния и техническое обслуживание.
+ Требования к численности и квалификации персонала системы и режиму его работы
+ Требования к численности персонала
+ В состав персонала, необходимого для обеспечения эксплуатации КХД в рамках соответствующих подразделений Заказчика, необходимо выделение следующих ответственных лиц:
+ Руководитель эксплуатирующего подразделения - 1 человек.
+ Администратор подсистемы сбора, обработки и загрузки данных - 2 человека.
+ Администратор подсистемы хранения данных - 2 человека.
+ Администратор подсистемы формирования и визуализации отчетности - 1 человек.
+   Данные лица должны выполнять следующие функциональные обязанности.
+   1. Руководитель эксплуатирующего подразделения:
+   - Обеспечивает общее руководство группой сопровождения системы, следит за работоспособностью КХД и реагирует на любые проблемы или сбои в работе.
+   - Отвечает за планирование и координацию работы с отделами разработки, администрирования и технической поддержки, а также осуществляет контроль и управление бюджетом и ресурсами.
+   2. Администратор подсистемы сбора, обработки и загрузки данных:
+   - Осуществляет контроль процессов ETL (извлечение, трансформация, загрузка данных), следит за исполнением задач по расписанию, отслеживает производительность и качество данных.
+   - Занимается настройкой и мониторингом процессов загрузки данных из внешних источников в хранилище данных, а также обеспечивает поддержку данных и согласованность информации.
+   3. Администратор подсистемы хранения данных:
+   - Обеспечивает распределение дискового пространства, следит за процессами архивации и резервного копирования данных, а также обеспечивает безопасность и целостность хранилища данных.
+   - Осуществляет оптимизацию производительности системы баз данных, производит модификацию структур БД по мере необходимости, управляет доступом к данным и обеспечивает их защиту.
+   4. Администратор подсистемы формирования и визуализации отчетности:
+   - Предоставляет поддержку пользователям в использовании средств визуализации и отчетности, отвечает за создание и поддержание отчетов и дашбордов.
+   - Обеспечивает согласованность и актуальность данных в отчетах, проводит мониторинг и анализ показателей производительности и удовлетворенности пользователями, а также адаптирует отчеты в соответствии с потребностями бизнеса.
+ Требования к квалификации персонала
+   К квалификации [HYPERLINK: https://www.prj-exp.ru/dwh/dwh_team_skills.php] персонала, эксплуатирующего Систему КХД, предъявляются следующие требования.
+   - Конечный пользователь - знание соответствующей предметной области; знание основ многомерного анализа; знания и навыки работы с аналитическими приложениями.
+   - Администратор подсистемы сбора, обработки и загрузки данных - знание методологии проектирования хранилищ данных; знание методологии проектирования ETL процедур; знание интерфейсов интеграции ХД с источниками данных; знание СУБД; знание языка запросов SQL.
+   - Администратор подсистемы хранения данных - глубокие знания СУБД; знание архитектуры <<Звезда>> и <<Снежинка>>; опыт администрирования СУБД; знание и навыки операций архивирования и восстановления данных; знание и навыки оптимизации работы СУБД.
+   - Администратор подсистемы формирования и визуализации отчетности - понимание принципов многомерного анализа; знание методологии проектирования хранилищ данных; знание и навыки администрирования приложения; знание языка запросов SQL; знание инструментов разработки.
+ Требования к режимам работы персонала
+   Персонал, работающий с Системой КХД и выполняющий функции её сопровождения и обслуживания, должен работать в следующих режимах:
+   - Конечный пользователь - в соответствии с основным рабочим графиком подразделений Заказчика.
+   - Администратор подсистемы сбора, обработки и загрузки данных  -  двухсменный график, поочередно.
+   - Администратор подсистемы хранения данных  -  двухсменный график, поочередно.
+   - Администратор подсистемы формирования и визуализации отчетности  -  в соответствии с основным рабочим графиком подразделений Заказчика.
+ Показатели назначения
+ Параметры, характеризующие степень соответствия системы назначению
+   Система должна обеспечивать следующие количественные показатели, которые характеризуют степень соответствия ее назначению:
+   - Количество измерений  -  7.
+   - Количество показателей  -  7.
+   - Количество аналитических отчетов  -  10.
+   4.1.3.2.	Требования к приспособляемости системы к изменениям
+   Обеспечение приспособляемости системы должно выполняться за счет:
+    - 	своевременности администрирования;
+    - 	модернизации процессов сбора, обработки и загрузки данных в соответствии с новыми требованиями;
+    - 	модификации процедур доступа и представления данных конечным пользователям;
+    - 	наличия настроечных и конфигурационных файлов у ПО подсистем;
+   4.1.3.3.	Требования к сохранению работоспособности системы в различных вероятных условиях
+   В зависимости от различных вероятных условий система должна выполнять требования, приведенные в таблице.
+   Таблица 2. Требования
+   Вероятное условие	Требование
+   Нарушения в работе системы внешнего электроснабжения серверного оборудования продолжительностью до 15 мин.	Функционирование в полном объеме.
+   Выход из строя сервера подсистемы хранения данных	Уведомление администратора подсистемы хранения данных и администратора подсистемы сбора, обработки и загрузки данных
+   
+   4.1.4.	Требования к надежности
+   4.1.4.1.	Состав показателей надежности для системы в целом
+    - 	Вероятность безотказной работы системы в течение определенного периода времени 
+    - 	Вероятность отказа системы в течение определенного периода времени 
+    - 	Среднее время восстановления после отказа 
+    - 	Среднее время между отказами
+   4.1.4.2.	Перечень аварийных ситуаций, по которым регламентируются требования к надежности
+    - 	Недоступность материальных запасов в случае чрезвычайных ситуаций 
+    - 	Ошибки в учете и перемещении материальных ценностей
+   4.1.4.3.	Требования к надежности технических средств и программного обеспечения
+    - 	Регулярная проверка и техническое обслуживание оборудования 
+    - 	Резервное копирование данных и программ для минимизации рисков потерь 
+    - 	Обновление и совершенствование программного обеспечения для обеспечения стабильной работы системы
+   4.1.5.	Требования к эргономике и технической эстетике
+    - 	Удобство и эффективность использования системы управления материальным складом 
+    - 	Эстетический дизайн рабочих мест операторов
+   4.1.6.	Требования к эксплуатации, техническому обслуживанию, ремонту и хранению компонентов системы
+    - 	Инструкции по эксплуатации и техническому обслуживанию оборудования 
+    - 	Планы регулярного осмотра и технического обслуживания
+    - 	 Процедуры ремонта и замены неисправных узлов и деталей 
+    - 	Условия хранения запасных частей и компонентов
+   4.1.7.	Требования к защите информации от несанкционированного доступа
+    - 	Разработка и внедрение политики безопасности информации на складе
+    - 	Использование современных технологий шифрования и аутентификации для защиты данных 
+    - 	Обучение персонала правилам безопасной работы с информацией
+   4.1.8.	Требования по стандартизации и унификации
+   Разработка системы должна осуществляться с использованием стандартных методологий функционального моделирования: IDEF0, DFD и информационного моделирования IE и IDEF1Х в рамках рекомендаций по стандартизации Р50.1.028-2001 <<Информационные технологии поддержки жизненного цикла продукции. Методология функционального моделирования>>.
+   Моделирование должно выполняться в рамках стандартов, поддерживаемых программными средствами моделирования ERWin 4.х и BPWin 4.х.
+   Для работы с БД должнен использоваться язык запросов SQL в рамках стандарта ANSI SQL-92.
+   Для разработки пользовательских интерфейсов и средств генерации отчетов (любых твердых копий) должны использоваться встроенные возможности ПО, а также, в случае необходимости, языки программирования.
+   В системе должны использоваться (при необходимости) общероссийские классификаторы и единые классификаторы и словари для различных видов алфавитно-цифровой и текстовой информации.
+   4.1.9.	Дополнительные требования
+   Приводятся требования к оснащению системы устройствами для обучения персонала (тренажерами, другими устройствами аналогичного назначения) и документацией на них.
+   Требования к сервисной аппаратуре, стендам для проверки элементов системы.
+   Требования к системе, связанные с особыми условиями эксплуатации.
+   Специальные требования по усмотрению разработчика или заказчика системы.
+   МС должно разрабатываться и эксплуатироваться на уже имеющемся у Заказчика аппаратно-техническом комплексе.
+   Необходимо создать отдельные самостоятельные зоны разработки и тестирования системы МС.
+   Для зоны разработки и тестирования должны использоваться те же программные средства, что и для зоны промышленной эксплуатации
+   
+   4.1.10.	Требования безопасности
+   При внедрении, эксплуатации и обслуживании технических средств системы должны выполняться меры электробезопасности в соответствии с <<Правилами устройства электроустановок>> и <<Правилами техники безопасности при эксплуатации электроустановок потребителей>>.
+   Аппаратное обеспечение системы должно соответствовать требованиям пожарной безопасности в производственных помещениях по ГОСТ 12.1.004-91. <<ССБТ. Пожарная безопасность. Общие требования>>.
+   Должно быть обеспечено соблюдение общих требований безопасности в соответствии с ГОСТ 12.2.003-91. <<ССБТ. Оборудование производственное. Общие требования безопасности>> при обслуживании системы в процессе эксплуатации.
+   Аппаратная часть системы должна быть заземлена в соответствии с требованиями ГОСТ Р 50571.22-2000. <<Электроустановки зданий. Часть 7. Требования к специальным электроустановкам. Раздел 707. Заземление оборудования обработки информации>>.
+   Значения эквивалентного уровня акустического шума, создаваемого аппаратурой системы, должно соответствовать ГОСТ 21552-84 <<Средства вычислительной техники. Общие технические требования, приемка, методы испытаний, маркировка, упаковка, транспортирование и хранение>>, но не превышать следующих величин:
+    - 	50 дБ - при работе технологического оборудования и средств вычислительной техники без печатающего устройства;
+    - 	 60 дБ - при работе технологического оборудования и средств вычислительной техники с печатающим устройством.
+   4.2.	Требования к функциям, выполняемым системой
+ Подсистема сбора, обработки и загрузки данных
+  Перечень функций, задач подлежащей автоматизации
+                              Таблица 3. Перечень функций
+  Функция
+  Задача
+  Управляет процессами сбора, обработки и загрузки данных
+  Создание, редактирование и удаление процессов сбора, обработки и 
+  загрузки данных
+  
+  Формирование последовательности выполнения процессов сбора, 
+  обработки и загрузки данных 
+  
+  Определение и изменение расписания процессов сбора, обработки и 
+  загрузки данных
+  Выполнение процессов сбора, обработки и загрузки данных из источников в ХД
+  Запуск процедур сбора данных из систем источников, загрузка данных в
+   область временного, постоянного хранения
+  
+  Обработка и преобразование извлечённых данных
+  Протоколирует результаты сбора, обработки и загрузки данных
+  Ведение журналов результатов сбора, обработки и загрузки данных
+  
+  Оперативное извещение пользователей о всех нештатных ситуациях в
+   процессе работы подсистемы
+   
+ Перечень критериев отказа для каждой функции
+                          Таблица 4. Перечень критериев
+Функция
+Критерии отказа
+Время восстановления
+Коэффициент готовности
+Управляет процессами сбора, обработки и загрузки данных
+
+8 часов
+
+Запускает процессы сбора, обработки и загрузки данных из источников в ХД
+
+12 часов
+
+Протоколирует результаты сбора, обработки и загрузки данных
+
+12 часов
+
+ Требования к видам обеспечения
+ Требования к математическому обеспечению
+Не предъявляются.
+ Требования к информационному обеспечению
+    2) Информационный обмен между компонентами системы:
+   - Система должна обеспечивать эффективный информационный обмен между различными компонентами, например, между базой данных, интерфейсом пользователя и системами управления продажами.
+   - Использование стандартных протоколов обмена данными и механизмов синхронизации информации между компонентами системы является важным требованием.
+   3) Информационная совместимость со смежными системами:
+   - Система должна быть способна взаимодействовать с другими информационными системами, например, учетной системой, системой управления запасами и т.д., для обмена данными и координации операций.
+   4) Использование общесоюзных и зарегистрированных республиканских, отраслевых классификаторов, унифицированных документов и классификаторов:
+   - Для обеспечения единства классификации и структурирования информации, система должна использовать согласованные классификаторы и унифицированные документы, установленные в отрасли и регулирующие документы.
+   5)  Применение систем управления базами данных:
+   - Для хранения, обработки и управления информацией требуется использование систем управления базами данных (СУБД), таких как MySQL, PostgreSQL, Microsoft SQL Server и других.
+   6) Структура процесса сбора, обработки, передачи данных и представления данных:
+   - Процессы сбора, обработки, передачи и представления данных должны быть оптимизированы для обеспечения эффективного функционирования системы.
+   7) Защита данных от разрушений при авариях и сбоях в электропитании системы:
+   - Резервное копирование, механизмы восстановления данных и защита от потери информации в случае сбоев и аварий являются неотъемлемой частью информационного обеспечения.
+   8) Контроль, хранение, обновление и восстановление данных:
+   - Система должна обеспечивать контроль целостности данных, соблюдение требований по хранению, обновлению и восстановлению информации в соответствии с установленными стандартами и политиками предприятия.
+   9) Процедура придания юридической силы документам, продуцируемым техническими средствами:
+   - Для электронных документов, создаваемых техническими средствами, требуется установление процедур и механизмов для обеспечения юридической силы информации и документов.
+   4.3.2.1. Требования к информационному обмену между компонентами системы
+   Информационный обмен между компонентами системы КХД должен быть реализован следующим образом:
+                      Таблица 5. Информационный обмен
+    
+   Подсистема сбора, обработки и загрузки данных
+   Подсистема хранения данных
+   Подсистема формирования и визуализации отчетности
+   Подсистема сбора, обработки и загрузки данных
+    
+   X
+    
+   Подсистема хранения данных
+   X
+    
+   X
+   Подсистема формирования и визуализации отчетности
+    
+   X
+    
+   
+4.3.2.3. Требования к информационной совместимости со смежными системами
+Состав данных для осуществления информационного обмена по каждой смежной системе должен быть определен Разработчиком на стадии Проектирование совместно с полномочными представителями Заказчика.
+   Система не должна быть закрытой для смежных систем и должна поддерживать возможность экспорта данных в смежные системы через интерфейсные таблицы или файлы данных.
+   Система должна обеспечить возможность загрузки данных, получаемых от смежной системы.
+   4.3.2.4. Требования по использованию классификаторов, унифицированных документов и классификаторов
+   Система, по возможности, должна использовать классификаторы и справочники, которые ведутся в системах-источниках данных.
+   Основные классификаторы и справочники в системе (клиенты, абоненты, бухгалтерские статьи и т.д.) должны быть едиными.
+   Значения классификаторов и справочников, отсутствующие в системах-источниках, но необходимые для анализа данных, необходимо поддерживать в специально разработанных файлах или репозитории базы данных.
+   4.3.2.5. Требования по применению систем управления базами данных
+   Для реализации подсистемы хранения данных должна использоваться промышленная СУБД <указывается название и версия СУБД>.
+   4.3.2.6. Требования к структуре процесса сбора, обработки, передачи данных в системе и представлению данных
+Процесс сбора, обработки и передачи данных в системе определяется регламентом процессов сбора, преобразования и загрузки данных, разрабатываемом на этапе Проектирования.
+   4.3.2.7. Требования к защите данных от разрушений при авариях и сбоях в электропитании системы
+   Информация в базе данных системы должна сохраняться при возникновении аварийных ситуаций, связанных со сбоями электропитания.
+Система должна иметь бесперебойное электропитание, обеспечивающее её нормальное функционирование в течение 15 минут в случае отсутствия внешнего энергоснабжения, и 5 минут дополнительно для корректного завершения всех процессов.
+   Резервное копирование данных должно осуществляться на регулярной основе, в объёмах, достаточных для восстановления информации в подсистеме хранения данных.
+   4.3.5. Требования к техническому обеспечению
+   4.3.7. Требования к организационному обеспечению
+   Приводятся:
+1) требования к структуре и функциям подразделений, участвующих в функционировании системы или обеспечивающих эксплуатацию.
+2) требования к организации функционирования системы и порядку взаимодействия персонала АС и персонала объекта автоматизации.
+3) требования к защите от ошибочных действий персонала системы.
+   Основными пользователями системы КХД являются сотрудники функционального (например, сотрудники аналитического отдела) подразделения Заказчика.
+   Обеспечивает эксплуатацию Системы подразделение информационных технологий Заказчика.
+   Состав сотрудников каждого из подразделений определяется штатным расписанием Заказчика, которое, в случае необходимости, может изменяться.
+   К организации функционирования Системы КХД и порядку взаимодействия персонала, обеспечивающего эксплуатацию, и пользователей предъявляются следующие требования:
+   - в случае возникновения со стороны функционального подразделения необходимости изменения функциональности системы КХД, пользователи должны действовать следующим образом <описать, что должны делать пользователи (кому писать, звонить, идти) в случае необходимости доработки системы>;
+- подразделение, обеспечивающее эксплуатацию системы, должно заранее (не менее чем за 3 дня) информировать всех пользователей (с указанием точного времени и продолжительности) о переходе её в профилактический режим.
+   К защите от ошибочных действий персонала предъявляются следующие требования:
+- должна быть предусмотрена система подтверждения легитимности пользователя при просмотре данных;
+   - для всех пользователей должна быть запрещена возможность удаления преднастроенных объектов и отчетности;
+   - для снижения ошибочных действий пользователей должно быть разработано полное и доступное руководство пользователя.
+   4.3.8. Требования к методическому обеспечению
+   Приводятся требования к составу нормативно-технической документации системы (перечень применяемых при ее функционировании стандартов, нормативов, методик и т. п.).
+   Приводятся название методик, инструкций и ссылки на них для ПО и АПК каждой из подсистем.
+   4.3.9. Требования к патентной чистоте
+   В требованиях по патентной чистоте указывают перечень стран, в отношении которых должна быть обеспечена патентная чистота системы и ее частей.
+   По всем техническим и программным средствам, применяемым в системе, должны соблюдаться условия лицензионных соглашений и обеспечиваться патентная чистота.
+   Патентная чистота  -  это юридическое свойство объекта, заключающиеся в том, что он может быть свободно использован в данной стране без опасности нарушения действующих на ее территории патентов исключительного права, принадлежащего третьим лицам (права промышленной собственности).
+   5. Состав и содержание работ по созданию системы
+   Работы по созданию системы выполняются в три этапа:
+Проектирование. Разработка эскизного проекта. Разработка технического проекта (продолжительность  --  1 месяца).
+   Разработка рабочей документации. Адаптация программ (продолжительность  --  2-3 месяца).
+   Ввод в действие (продолжительность  --  2 недели).
+   Конкретные сроки выполнения стадий и этапов разработки и создания Системы определяются Планом выполнения работ, являющимся неотъемлемой частью Договора на выполнение работ по настоящему Частному техническому заданию.
+   Перечень организаций - исполнителей работ, определение ответственных за проведение этих работ организаций определяются Договором.
+   Возможно приведение таблицы, в которой будут укрупненно описываться работы по каждому этапу, выходные результаты, участие Разработчика и ответственность Заказчика.
+   6. Порядок контроля и приёмки системы
+   1) виды, состав, объем и методы испытаний системы и ее составных частей (виды испытаний в соответствии с действующими нормами, распространяющимися на разрабатываемую систему);
+   2) общие требования к приемке работ по стадиям (перечень участвующих предприятий и организаций, место и сроки проведения), порядок согласования и утверждения приемочной документации;
+   З) статус приемочной комиссии: ведомственная.
+   6.1. Виды и объем испытаний системы
+Система подвергается испытаниям следующих видов:
+1. Предварительные испытания.
+   2. Опытная эксплуатация.
+   3. Приемочные испытания.
+   Состав, объем и методы предварительных испытаний системы определяются документом <<Программа и методика испытаний>>, разрабатываемым на стадии <<Рабочая документация>>.
+Состав, объем и методы опытной эксплуатации системы определяются документом <<Программа опытной эксплуатации>>, разрабатываемым на стадии <<Ввод в действие>>.
+Состав, объем и методы приемочных испытаний системы определяются документом <<Программа и методика испытаний>>, разрабатываемым на стадии <<Ввод в действие>> с учетом результатов проведения предварительных испытаний и опытной эксплуатации.
+
+6.2. Требования к приемке работ по стадиям
+Требования к приемке работ по стадиям приведены в таблице.
+            Таблица 6. Требования к приемке работ
+   Стадия испытаний
+   Участники испытаний
+   Место и срок проведения
+   Порядок согласования документации
+   Статус приемочной комиссии
+   Предварительные испытания
+   Организации Заказчика и Разработчика
+   На территории Заказчика, с 06.06.2024 по 26.06.2024
+   Проведение предварительных испытаний.
+Фиксирование выявленных неполадок в Протоколе испытаний.
+Устранение выявленных неполадок.
+Проверка устранения выявленных неполадок.
+Принятие решения о возможности передачи АИС в опытную эксплуатацию.
+Составление и подписание Акта приёмки АИС в опытную эксплуатацию.
+   Экспертная группа
+   Опытная эксплуатация
+   Организации Заказчика и Разработчика
+   На территории Заказчика, с 29.06.2024 по 02.07.2024
+   Проведение опытной эксплуатации.
+Фиксирование выявленных неполадок в Протоколе испытаний.
+Устранение выявленных неполадок.
+Проверка устранения выявленных неполадок.
+Принятие решения о готовности АИС к приемочным испытаниям.
+Составление и подписание Акта о завершении опытной эксплуатации АИС.
+   Группа тестирования
+   Приемочные испытания
+   Организации Заказчика и Разработчика
+   На территории Заказчика
+   Проведение приемочных испытаний.
+Фиксирование выявленных неполадок в Протоколе испытаний.
+Устранение выявленных неполадок.
+Проверка устранения выявленных неполадок.
+Принятие решения о возможности передачи АИС в промышленную эксплуатацию.
+Составление и подписание Акта о завершении приемочных испытаний и передаче АИС в промышленную эксплуатацию.
+Оформление Акта завершения работ.
+   Приемочная комиссия
+   7. Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие
+   В перечень основных мероприятий включают:
+1) приведение поступающей в систему информации (в соответствии с требованиями к информационному и лингвистическому обеспечению) к виду, пригодному для обработки с помощью ЭВМ;
+   2) изменения, которые необходимо осуществить в объекте автоматизации;
+3) создание условий функционирования объекта автоматизации, при которых гарантируется соответствие создаваемой системы требованиям, содержащимся в ТЗ;
+   4) создание необходимых для функционирования системы подразделений и служб;
+5) сроки и порядок комплектования штата и обучения персонала.
+   Для создания условий функционирования КХД, при которых гарантируется соответствие создаваемой системы требованиям, содержащимся в настоящем техническом задании, и возможность эффективного её использования, в организации Заказчика должен быть проведен комплекс мероприятий.
+7.1. Технические мероприятия
+   Силами Заказчика в срок до начала этапа <<Разработка рабочей документации. Адаптация программ>> должны быть выполнены следующие работы:
+- осуществлена подготовка помещения для размещения АТК системы в соответствии с требованиями, приведенными в настоящем техническом задании;
+- осуществлена закупка и установка необходимого АТК;
+- организавано необходимое сетевое взаимодействие.
+
+7.2. Организационные мероприятия
+   Силами Заказчика в срок до начала этапа работ <<Разработка рабочей документации. Адаптация программ>> должны быть решены организационные вопросы по взаимодействию с системами-источниками данных. К данным организационным вопросам относятся:
+   - организация доступа к базам данных источников;
+   - определение регламента информирования об изменениях структур систем-источников;
+- выделение ответственных специалистов со стороны Заказчика для взаимодействия с проектной командой по вопросам взаимодействия с системами-источниками данных.
+   7.3. Изменения в информационном обеспечении
+   Для организации информационного обеспечения системы должен быть разработан и утвержден регламент подготовки и публикации данных из систем-источников.
+Перечень регламентов может быть изменен на стадии <<Разработка рабочей документации. Адаптация программ>>.
+   8. Требования к документированию
+   1) согласованный Разработчиком и Заказчиком перечень подлежащих разработке комплектов и видов документов, соответствующих требованиям ГОСТ 34.201-89 и НТД отрасли Заказчика;
+перечень документов, выпускаемых на машинных носителях;
+требования к микрофильмированию документации;
+2) требования по документированию комплектующих элементов межотраслевого применения в соответствии с требованиями ЕСКД и ЕСПД;
+3) при отсутствии государственных стандартов, определяющих требования к документированию элементов системы, дополнительно включают требования к составу и содержанию таких документов.
+                                                   Таблица 7. Этапы
+   Этап
+   Документ
+   Проектирование. Разработка эскизного проекта. Разработка технического проекта.
+   Ведомость эскизного проекта
+   
+   Пояснительная записка к эскизному проекту [HYPERLINK: https://www.prj-exp.ru/patterns/pattern_draft_project.php]
+   
+   Ведомость технического проекта
+   
+   Пояснительная записка к техническому проекту [HYPERLINK: https://www.prj-exp.ru/patterns/pattern_tech_project.php]
+   
+   Схема функциональной структуры [HYPERLINK: https://www.prj-exp.ru/patterns/diagram_functional_structure.php]
+   Разработка рабочей документации. Адаптация программ
+   Ведомость эксплуатационных документов
+   
+   Ведомость машинных носителей информации
+   
+   Паспорт
+   
+   Общее описание системы
+   
+   Технологическая инструкция
+   
+   Руководство пользователя [HYPERLINK: https://www.prj-exp.ru/patterns/pattern_user_guide.php]
+   
+   Описание технологического процесса обработки данных (включая телеобработку)
+   
+   Инструкция по формированию и ведению базы данных (набора данных)
+   
+   Состав выходных данных (сообщений)
+   
+   Каталог базы данных [HYPERLINK: https://www.prj-exp.ru/patterns/pattern_database_catalog.php]
+   
+   Программа [HYPERLINK: https://www.prj-exp.ru/patterns/pattern_program_of_test.php] и методика испытаний [HYPERLINK: https://www.prj-exp.ru/patterns/pattern_methods_of_test.php]
+   
+   Спецификация
+   
+   Описание программ
+   
+   Текст программ
+   Ввод в действие
+   Акт приёмки в опытную эксплуатацию [HYPERLINK: https://www.prj-exp.ru/patterns/pattern_act_of_trial_operation.php]
+   
+   Протокол испытаний [HYPERLINK: https://www.prj-exp.ru/patterns/pattern_report_of_test.php]
+   
+   Акт приемки Системы в промышленную эксплуатацию
+   
+   Акт завершения работ
+   
+Вся документация должна быть подготовлена и передана как в печатном, так и в электронном виде (в формате Microsoft Word).
+   9. Источники разработки
+   1. Постановление о создании информационной системы для студенческой библиотеки от управления университета или колледжа.
+   2. Требования пользователей (студентов, преподавателей, библиотекарей) к функционалу и интерфейсу системы.
+   3. Анализ существующих информационных систем в других библиотеках и их функционала.
+   4. Консультации с IT-специалистами и разработчиками по возможным техническим решениям.
+   5. Стандарты безопасности и защиты данных, которые должны быть учтены при разработке системы.
+   6. Бизнес-процессы библиотеки и специфические требования к системе учета и выдачи литературы.
+   7. Требования к интеграции с другими информационными системами университета (например, системой учета студентов).
+   8. План внедрения и обучения пользователей новой информационной системе.
+   9. Оценка затрат на разработку, внедрение и поддержку информационной системы.