ソースを参照

Добавление схемы и руководства системного программиста

MeseryGG 5 ヶ月 前
コミット
cff3ad5da0

+ 110 - 0
Блок-схемаФункцииРасчетаКоличестваВыполненныхЗаявок.drawio

@@ -0,0 +1,110 @@
+<mxfile host="app.diagrams.net" modified="2024-06-06T14:05:16.159Z" 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="eChbE6f2UZsaijYDU_RI" version="24.4.15" type="google">
+  <diagram name="Страница — 1" id="ZXZW-mw7BbsAptBwoTO-">
+    <mxGraphModel grid="1" page="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="RTkBtviwZxKthLSnxapT-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="RTkBtviwZxKthLSnxapT-3" target="RTkBtviwZxKthLSnxapT-11">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="310" y="390" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="RTkBtviwZxKthLSnxapT-3" value="Начало&lt;div&gt;CalcCompleteRequests&lt;/div&gt;" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.terminator;whiteSpace=wrap;" vertex="1" parent="1">
+          <mxGeometry x="240" y="280" width="140" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="RTkBtviwZxKthLSnxapT-7" value="&lt;b&gt;Входные параметры:&lt;/b&gt;&lt;div&gt;&lt;b&gt;RequestList&lt;/b&gt; - список заявок на починку техники&lt;/div&gt;&lt;div&gt;(Тип List&amp;lt;Requests&amp;gt;)&lt;/div&gt;" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.annotation_1;align=left;pointerEvents=1;verticalAlign=top;" vertex="1" parent="1">
+          <mxGeometry x="550" y="260" width="20" height="100" as="geometry" />
+        </mxCell>
+        <mxCell id="RTkBtviwZxKthLSnxapT-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;dashed=1;endArrow=none;endFill=0;" edge="1" parent="1" source="RTkBtviwZxKthLSnxapT-3" target="RTkBtviwZxKthLSnxapT-7">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="RTkBtviwZxKthLSnxapT-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="RTkBtviwZxKthLSnxapT-11" target="RTkBtviwZxKthLSnxapT-13">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="RTkBtviwZxKthLSnxapT-11" value="CompleteRequests = 0,&lt;div&gt;i = 0&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="212.5" y="380" width="195" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="RTkBtviwZxKthLSnxapT-15" 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="RTkBtviwZxKthLSnxapT-13" target="RTkBtviwZxKthLSnxapT-17">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="310" y="580" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="RTkBtviwZxKthLSnxapT-20" value="Истина" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" connectable="0" vertex="1" parent="RTkBtviwZxKthLSnxapT-15">
+          <mxGeometry x="-0.5653" relative="1" as="geometry">
+            <mxPoint x="30" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="RTkBtviwZxKthLSnxapT-13" value="i &amp;lt; RequestList.Count" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="215" y="470" width="190" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="RTkBtviwZxKthLSnxapT-22" value="" 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="RTkBtviwZxKthLSnxapT-17" target="RTkBtviwZxKthLSnxapT-23">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="310.0344827586209" y="690" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="RTkBtviwZxKthLSnxapT-24" value="Истина" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" connectable="0" vertex="1" parent="RTkBtviwZxKthLSnxapT-22">
+          <mxGeometry x="0.2002" y="2" relative="1" as="geometry">
+            <mxPoint x="28" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="RTkBtviwZxKthLSnxapT-26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="RTkBtviwZxKthLSnxapT-17" target="RTkBtviwZxKthLSnxapT-13">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="160" y="620" />
+              <mxPoint x="160" y="510" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="RTkBtviwZxKthLSnxapT-27" value="Ложь" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" connectable="0" vertex="1" parent="RTkBtviwZxKthLSnxapT-26">
+          <mxGeometry x="-0.8158" relative="1" as="geometry">
+            <mxPoint x="-5" y="-15" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="RTkBtviwZxKthLSnxapT-17" value="RequestList[i].StatusID == 3" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="215" y="580" width="190" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="RTkBtviwZxKthLSnxapT-18" value="Число 3 в столбце StatusID таблицы Requests&lt;div&gt;обозначает выполненный заказ&lt;/div&gt;" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.annotation_1;align=left;pointerEvents=1;verticalAlign=top;" vertex="1" parent="1">
+          <mxGeometry x="550" y="570" width="20" height="100" as="geometry" />
+        </mxCell>
+        <mxCell id="RTkBtviwZxKthLSnxapT-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;dashed=1;" edge="1" parent="1" source="RTkBtviwZxKthLSnxapT-17" target="RTkBtviwZxKthLSnxapT-18">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="RTkBtviwZxKthLSnxapT-25" 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="RTkBtviwZxKthLSnxapT-23" target="RTkBtviwZxKthLSnxapT-13">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="160" y="720" />
+              <mxPoint x="160" y="510" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="RTkBtviwZxKthLSnxapT-23" value="CompleteRequests += 1" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="212.5" y="690" width="195" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="RTkBtviwZxKthLSnxapT-29" value="Конец&lt;div&gt;CalcCompleteRequests&lt;br&gt;&lt;/div&gt;" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.terminator;whiteSpace=wrap;" vertex="1" parent="1">
+          <mxGeometry x="240" y="800" width="140" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="RTkBtviwZxKthLSnxapT-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;curved=0;jumpStyle=arc;jumpSize=6;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="RTkBtviwZxKthLSnxapT-13" target="RTkBtviwZxKthLSnxapT-29">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="306" y="810" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="450" y="510" />
+              <mxPoint x="450" y="770" />
+              <mxPoint x="310" y="770" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="RTkBtviwZxKthLSnxapT-33" value="Ложь" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" connectable="0" vertex="1" parent="RTkBtviwZxKthLSnxapT-28">
+          <mxGeometry x="-0.8418" y="-3" relative="1" as="geometry">
+            <mxPoint x="-12" y="-23" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="RTkBtviwZxKthLSnxapT-31" value="Функция возвращает CompleteRequests" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.annotation_1;align=left;pointerEvents=1;verticalAlign=top;" vertex="1" parent="1">
+          <mxGeometry x="550" y="780" width="20" height="100" as="geometry" />
+        </mxCell>
+        <mxCell id="RTkBtviwZxKthLSnxapT-32" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;dashed=1;" edge="1" parent="1" source="RTkBtviwZxKthLSnxapT-29" target="RTkBtviwZxKthLSnxapT-31">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>

+ 22 - 0
Блок-схемаФункцииРасчетаКоличестваВыполненныхЗаявок.drawio.pdf

@@ -0,0 +1,22 @@
+                Начало                    Входные параметры:
+      CalcCompleteRequests                RequestList - список заявок на починку техники
+                                          (Тип List<Requests>)
+      CompleteRequests = 0,
+                  i=0                     Число 3 в столбце StatusID таблицы Requests
+                                          обозначает выполненный заказ
+                                    Ложь
+                                          Функция возвращает CompleteRequests
+      i < RequestList.Count
+
+      Истина
+
+Ложь
+
+      RequestList[i].StatusID == 3
+
+                           Истина
+      CompleteRequests += 1
+
+                 Конец
+      CalcCompleteRequests
+

+ 0 - 16
ЗаготовкаПодРуководствоСистемногоПрограммиста.docx

@@ -1,16 +0,0 @@
-   Руководство системного программиста должно содержать следующие разделы:
- общие сведения о программе;
- структура программы;
- настройка программы;
- проверка программы; 
- дополнительные возможности;
- сообщения системному программисту.
-   В разделе "Общие сведения о программе" должны быть указаны назначение и функции программы и сведения о технических и программных средствах, обеспечивающих выполнение данной программы.
-   В разделе "Структура программы" должны быть приведены сведения о структуре программы, ее составных частях, о связях между составными частями и о связях с другими программами.
-   В разделе "Настройка программы" должно быть приведено описание действий по настройке программы на условия конкретного применения (настройка на состав технических средств, выбор функций и др.).
-   При необходимости приводят поясняющие примеры.
-   В разделе "Проверка программы" должно быть приведено описание способов проверки, позволяющих дать общее заключение о работоспособности программы (контрольные примеры, методы прогона, результаты).
-   В разделе "Дополнительные возможности" должно быть приведено описание дополнительных разделов функциональных возможностей программы и способов их выбора.
-   В разделе "Сообщения системному программисту" должны быть указаны тексты сообщений, выдаваемых в ходе выполнения настройки, проверки программы, а также в ходе выполнения программы, описание их содержания и действий, которые необходимо предпринять по этим сообщениям.
-   В приложении к руководству системного программиста могут быть приведены дополнительные материалы (примеры, иллюстрации, таблицы, графики и т.п.).
-

+ 65 - 0
РуководствоСистемногоПрограммиста.docx

@@ -0,0 +1,65 @@
+   Общие сведения о программе
+
+   Проект: программный модуль для учета заявок на ремонт оборудования. Разработанный компанией <<IT-решения>>
+   Предназначение: ведение учета заявок на ремонт оборудования в ООО "Техносервис"
+   Возможности:
+ Добавление заявок на ремонт оборудования;
+ Редактирование заявок на ремонт оборудования;
+ Отслеживание статуса заявки;
+ Назначение ответственных за выполнение работ;
+ Расчёт статистики работы отдела обслуживания.
+   Характеристики технического средства, необходимого для обеспечения работы ПО:
+   ОС  -  Windows 11
+   Процессор  -  AMD Ryzen 5 7600
+   ОЗУ  -  32 GB DDR5
+   Графическое устройство  -  AMD Radeon RX6600XT
+   
+   Структура программы
+
+   Программа является однооконным графическим приложением. Приложение состоит из сменяющих друг друга в пределах окна страниц (форм) с возможностью возврата на предыдущую страницу.
+   Список страниц:
+ Страница авторизации-регистрации  -  первая страница приложения, чтобы войти в систему и получить доступ к её функциям (Дальнейшим страницам) пользователю необходимо ввести Логин и пароль или пройти процедуру регистрации;
+ Страница просмотра списка заявок на ремонт;
+ Страница добавления заявки на ремонт;
+ Страница редактирования заявки;
+ Страница статистики работы отдела обслуживания.
+Приложение связано с развёрнутой	 на сервере базой данных Microsoft SQL Server и не может работать без неё.
+
+   Настройка программы
+
+   Для работы приложения первично необходимо базу данных Microsoft SQL Server приложения. И изменить строку подключения приложения в файле app.config.
+   
+   Проверка программы
+   
+   Для определения работоспособности программы необходимо запустить набор Unit-тестов и выполнить полный список тестовых случаев предоставляемых вместе с программой
+   В случае если проведенные тесты завершились успехом  -  программа работоспособна.
+   
+   Дополнительные возможности (В ЕСПД написано, что допустимо его не приводить)
+   
+   Дополнительные возможности отсутствуют. 
+   
+   Сообщения системному программисту
+
+   На этапе авторизации и регистрации могут возникать следующие сообщения:
+   <<Авторизация выполнена успешно>> - окно оповещает об успешном входе в систему
+   <<Авторизация провалена. Неверный логин или пароль>> - окно оповещает о провале авторизации и говорит о несуществовании пользователя с таким логином и паролем в системе.
+   <<Регистрация выполнена успешно>> - окно оповещает об успешном выполнении регистрации нового пользователя
+   <<Регистрация провалена. Пользователь с таким логином уже существует в системе>> - окно оповещает о провале регистрации из-за совпадающего с существующим пользователем системы логином.
+
+   
+   Руководство системного программиста должно содержать следующие разделы:
+ общие сведения о программе;
+ структура программы;
+ настройка программы;
+ проверка программы; 
+ дополнительные возможности;
+ сообщения системному программисту.
+   В разделе "Общие сведения о программе" должны быть указаны назначение и функции программы и сведения о технических и программных средствах, обеспечивающих выполнение данной программы.
+   В разделе "Структура программы" должны быть приведены сведения о структуре программы, ее составных частях, о связях между составными частями и о связях с другими программами.
+   В разделе "Настройка программы" должно быть приведено описание действий по настройке программы на условия конкретного применения (настройка на состав технических средств, выбор функций и др.).
+   При необходимости приводят поясняющие примеры.
+   В разделе "Проверка программы" должно быть приведено описание способов проверки, позволяющих дать общее заключение о работоспособности программы (контрольные примеры, методы прогона, результаты).
+   В разделе "Дополнительные возможности" должно быть приведено описание дополнительных разделов функциональных возможностей программы и способов их выбора.
+   В разделе "Сообщения системному программисту" должны быть указаны тексты сообщений, выдаваемых в ходе выполнения настройки, проверки программы, а также в ходе выполнения программы, описание их содержания и действий, которые необходимо предпринять по этим сообщениям.
+   В приложении к руководству системного программиста могут быть приведены дополнительные материалы (примеры, иллюстрации, таблицы, графики и т.п.).
+