Добавил:
СПбГУТ * ИКСС * Программная инженерия Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Содержание ВКР / ВКР 2022 (без приложений). Коваленко Л.А. Разработка конструктора нейронных сетей

.pdf
Скачиваний:
79
Добавлен:
11.06.2022
Размер:
12.59 Mб
Скачать

Enter, курсор в конце строки кода — добавление новой пустой строки и добавление отступа:

o Если предыдущая строка содержала «async def», «def», «class», «if», «elif», «else», «try», «except», «finally», «for», «while», «with», то количество отступов на одно больше, чем на предыдущей строке;

o Если предыдущая строка содержала «break», «continue», «raise», «return», «pass», то количество отступов на одно меньше, чем на предыдущей строке;

o Во всех остальных случаях количество отступов равно количеству отступов предыдущей строки.

В качестве стиля подсветки кода в блоке кода выбран стиль JupyterLab с

некоторыми изменениями. Далее указаны цвета в формате RGB-HEX для токенов языка CPython:

Ключевое слово («keyword»): #008000;

Встроенное название («builtin_name»): #008000;

Декоратор: #AA22FF;

Название класса и название функции: #0000FF;

Свойство объекта (после точки): #0055AA;

Слово «self»: #0055AA;

Скобки «()[]{}», запятая «,», точка «.», двоеточие «:», точка с запятой

«;»: #212121;

Строка: #BA2121;

Число: #008800;

Имя: #212121;

Оператор: #AA22FF;

Ошибочный токен: #FF0000;

Комментарий: #6E7781;

Обозначение кодировки: #408080.

41

В случае запроса данных со стороны среды исполнения в приложении должно открываться окно с выбором способа ввода («без экранирования», «обычный, с экранированием», «байтовая строка, без экранирования», «байтовая строка с экранированием») и двумя кнопками «Ок» и «Отмена».

Кнопка «Отмена» перезапускает окно (отказаться от ввода нельзя). После нажатия на кнопку «Ок» применяется выбранный способ ввода и открывается окно с полем ввода и двумя кнопками «Ок» и «Отмена». Если запрашивается однострочный ввод, то однострочное поле ввода. Если запрашивается многострочный ввод, то многострочное поле ввода. Кнопка «Отмена» закрывает окно и повторно открывает окно с выбором способа ввода. В

зависимости от примененного ранее способа ввода зависит преобразование введенного текста в конечный результат:

«Без экранирования» означает, что управляющие символы не будут заменяться на соответствующие им текстовые подстановки.

Например, последовательность «\n» не будет преобразована в два символа «\n», вместо этого она будет означать перевод строки.

Исходная последовательность должна быть «\\\n», чтобы быть преобразованной в два символа «\n».

«Обычный, с экранированием» означает, что управляющие символы будут заменяться на соответствующие им текстовые подстановки.

Например, последовательность «\n» будет означать два символа «\n».

«Байтовая строка, без экранирования» означает, что символы воспринимаются как ASCII, а экранирование отключено.

«Байтовая строка, с экранированием» означает, что символы воспринимаются как ASCII, а экранирование включено.

Если преобразование невозможно, то должно выводиться сообщение об ошибке «Ошибка ввода: [описание ошибки]» с кнопкой «Ок». После нажатия на «Ок» должен происходить переход обратно к окну выбора способа ввода.

Если преобразование успешно, то конечный результат должен отправляться обратно, в среду исполнения.

42

2.1.5Функции блоков текста

Основные функции блоков текста приведены в таблице 2.4.

Таблица 2.4 — Основные функции блоков текста

Функция

 

Описание

 

 

«Редактировать

Блок текста должен содержать кнопку, посредством которой можно

как HTML»

редактировать текст в формате HTML.

 

1.

При выборе функции «Редактировать как HTML» открывается

 

 

окно с полем ввода многострочного текста и с двумя кнопками

 

 

«Ок» и «Отмена».

 

2.

В поле ввода многострочного текста вставляется HTML-код

 

 

текста из текстового блока.

 

3.

Если «Ок», то HTML-код применяется к тексту текстового блока

 

 

и окно закрывается; статус проекта: «Не сохранен».

 

4.

Если «Отмена», то окно закрывается без применения изменений.

 

 

«Редактировать

Блок текста должен содержать кнопку, посредством которой можно

как Markdown»

редактировать текст в формате Markdown.

 

1.

При выборе функции «Редактировать как Markdown»

 

 

открывается окно с полем ввода многострочного текста и с двумя

 

 

кнопками «Ок» и «Отмена».

 

2.

В поле ввода многострочного текста вставляется Markdown-код,

 

 

преобразованный из HTML-кода текста из текстового блока.

 

3.

Если «Ок», то Markdown-код преобразуется в HTML-код,

 

 

который применяется к тексту текстового блока и окно

 

 

закрывается; статус проекта: «Не сохранен».

 

4.

Если «Отмена», то окно закрывается без применения изменений.

 

 

«Обновить вид»

Блок текста должен содержать кнопку, посредством которой можно

 

обновить его вид.

 

1.

Принудительно подстраивает размеры изображений в тексте под

 

 

размер блока.

 

2.

Перерисовывает графический элемент.

 

 

«Удалить»

Блок текста должен содержать кнопку, посредством которой можно

 

его удалить.

 

1.

Отображается окно подтверждения «Подтвердить удаление

 

 

текстового блока?» с кнопками «Да» и «Нет».

 

 

 

43

Функция

 

Описание

 

 

 

 

2.

Если «Да», то блок удаляется из списка блоков; статус проекта:

 

 

«Не сохранен».

 

3.

Если «Нет», то отмена действия.

 

 

«Вставить текст

Является пунктом контекстного меню редактора текстового блока.

из буфера обмена

1.

Если в буфере обмена есть текст, то он вставляется в текущую

как текст без

 

позицию; статус проекта: «Не сохранен».

форматирования»

2.

Если в буфере обмена нет текста, то ничего не вставляется; статус

 

 

проекта не меняется.

 

 

«Вставить текст

Является пунктом контекстного меню редактора текстового блока.

из буфера обмена

1.

Если в буфере обмена есть текст, то он вставляется в текущую

как HTML»

 

позицию как HTML-код; статус проекта: «Не сохранен».

 

2.

Если в буфере обмена нет текста, то ничего не вставляется; статус

 

 

проекта не меняется.

 

 

«Вставить текст

Является пунктом контекстного меню редактора текстового блока.

из буфера обмена

1.

Если в буфере обмена есть текст, то он вставляется в текущую

как Markdown»

 

позицию как Markdown-код; статус проекта: «Не сохранен».

 

2.

Если в буфере обмена нет текста, то ничего не вставляется; статус

 

 

проекта не меняется.

 

 

 

2.1.6Функции настроек приложения

Основные функции настроек приложения приведены в таблице 2.5.

Таблица 2.5 — Основные функции настроек приложения

Функция

 

Описание

 

 

«Шрифт

На форме должно быть 2 изменяемых поля ввода:

заголовков»

1.

Название шрифта: выбор из списка шрифтов.

 

2.

Размер шрифта: число, от 6 до 28.

 

Должна быть кнопка «Применить», применяющая изменения к

 

заголовкам всех блоков всех проектов.

 

Должна быть кнопка «Отменить», отменяющая изменения.

 

 

«Шрифт

На форме должно быть 2 изменяемых поля ввода:

блоков

1.

Название шрифта: выбор из списка шрифтов.

текста»

2.

Размер шрифта: число, от 6 до 28.

 

Должна быть кнопка «Применить», применяющая изменения ко всем

 

блокам текста всех проектов.

 

 

 

44

Функция

Описание

 

 

 

Должна быть кнопка «Отменить», отменяющая изменения.

 

 

«Шрифт

На форме должно быть 2 изменяемых поля ввода:

блоков кода»

1. Название шрифта: выбор из списка шрифтов.

 

2. Размер шрифта: число, от 6 до 28.

 

Должна быть кнопка «Применить», применяющая изменения ко всем

 

блокам кода всех проектов.

 

Должна быть кнопка «Отменить», отменяющая изменения.

 

 

«Перечитать

Перечитывает файл настроек «settings.ini» из директории с приложением

файл

и обновляет внешний вид приложения со всеми элементами в

настроек»

соответствии с указанными настройками.

 

 

Файл настроек «settings.ini» в директории приложения:

Основные настройки: «MainWindow-Settings». o Ширина: число, от 100 до 2000.

o Высота: число, от 100 до 2000. o Стиль элементов: строка.

o На весь экран: булево («True» или «False»).

Настройки шрифта: «Font-Settings».

o Название шрифта заголовков: строка.

o Размер шрифта заголовков: число, от 6 до 28. o Название шрифта текста: строка.

o Размер шрифта текста: число, от 6 до 28. o Название шрифта кода: строка.

oРазмер шрифта кода: число, от 6 до 28.

2.1.7Функции инструментов

Основные функции инструментов приведены в таблице 2.6.

Таблица 2.6 — Основные функции инструментов

Функция

Описание

«Выбор 1. Открывается системное диалоговое окно выбора цвета с кнопками «Ок» и

цвета» «Отмена».

2. Если «Отмена», то отмена выбора.

45

Функция

Описание

3.Если «Ок», то выбранный цвет копируется в буфер обмена и отображается информационное сообщение «Параметры цвета скопированы в буфер обмена».

Формат копируемого текста:

#CMYK: (<C>, <M>, <Y>, <K>)

#RGB: (<R>, <G>, <B>)

#HSL: (<H>, <S>, <L>)

#HSV: (<H>, <S>, <V>)

«Выбор 1. Открывается системное диалоговое окно выбора нескольких файлов с

файлов» кнопками «Открыть» и «Отмена».

2.Если «Отмена», то отмена выбора.

3.Если был выбран хотя бы один файл и нажата кнопка «Ок», то в буфер обмена копируется список выбранных файлов для использования его в коде на Python, а затем отображается информационное сообщение

«Список выбранных файлов скопирован в буфер обмена».

Формат копируемого текста:

[

r"<путь к файлу #1>", r"<путь к файлу #2>",

<…>

r"<путь к файлу #N>",

]

2.1.8Функции списка разделов

Основные функции списка разделов приведены в таблице 2.7.

Таблица 2.7

— Основные функции списка разделов

Функция

Описание

 

 

«Добавить

Является пунктом контекстного меню списка разделов, контекстного

раздел»

меню раздела и контекстного меню шаблона.

1.Отображается окно ввода названия раздела «Введите название раздела

(тип шаблона)» с однострочным полем ввода и кнопками «Ок» и «Отмена».

46

Функция

 

 

Описание

 

 

 

 

 

2.

Если «Ок», то в список разделов добавляется новый раздел с

 

 

указанным названием.

 

 

3.

Если «Отмена», то отмена действия.

 

 

 

 

«Обновить

Является пунктом контекстного меню списка

разделов, контекстного

все разделы

меню раздела и контекстного меню шаблона.

 

с

1.

Обновляется список

всех разделов с шаблонами из директории

шаблонами»

 

«models/datasets»,

«models/architecture»,

«models/train_val_test».

 

 

«models/visualization» или «models/export» в зависимости от того, в

 

 

каком разделе была выполнена операция.

 

 

2.

Пустые разделы (без шаблонов) удаляются.

 

 

 

 

 

 

2.1.9Функции раздела

Основные функции раздела приведены в таблице 2.8.

Таблица 2.8 — Основные функции раздела

Функция

 

Описание

 

 

«Добавить

Является пунктом контекстного меню раздела и контекстного меню

шаблон

по

шаблона.

выбранным

1.

Отображается окно ввода названия шаблона «Введите название

блокам

в

 

шаблона» с многострочным полем ввода и кнопками «Ок» и «Отмена».

раздел»

 

2.

Если «Ок», то в раздел добавляется новый шаблон с указанным

 

 

 

названием. Выбранные блоки копируются в шаблон, который затем

 

 

 

сохраняется на диск.

 

 

3.

Если «Отмена», то отмена действия.

 

 

 

«Удалить

 

Является пунктом контекстного меню раздела и контекстного меню

раздел

со

шаблона.

всеми

 

1.

Отображается окно подтверждения «Вы уверены, что хотите удалить

шаблонами»

 

раздел [название] со всеми шаблонами» с кнопками «Да» и «Нет».

 

 

2.

Если «Да», то раздел со всеми шаблонами удаляется (включая удаление

 

 

 

шаблонов на диске).

 

 

3.

Если «Нет», то отмена действия.

 

 

 

 

47

2.1.10 Функции шаблона

Основные функции шаблона приведены в таблице 2.9.

Таблица 2.9 — Основные функции шаблона

Функция

 

Описание

 

 

«Обновить

Является пунктом контекстного меню шаблона.

шаблон по

1.

Отображается окно подтверждения «Вы уверены, что хотите обновить

выбранным

 

шаблон [раздел шаблона]/[название шаблона]» с кнопками «Да» и

блокам»

 

«Нет».

 

2.

Если «Да», то шаблон обновляется по выбранным блокам (включая

 

 

изменение на диске).

 

3.

Если «Нет», то отмена действия.

 

 

«Изменить

Является пунктом контекстного меню шаблона.

название

1.

Отображается окно ввода нового названия шаблона «Введите новое

шаблона»

 

название шаблона» с многострочным полем ввода и кнопками «Ок» и

 

 

«Отмена». В многострочном поле ввода должно быть исходное

 

 

название шаблона.

 

2.

Если «Ок», то шаблон меняет название (включая изменение на диске).

 

3.

Если «Отмена», то отмена действия.

 

 

«Удалить

Является пунктом контекстного меню шаблона.

шаблон»

1.

Отображается окно подтверждения «Вы уверены, что хотите удалить

 

 

шаблон [раздел шаблона]/[название шаблона]» с кнопками «Да» и

 

 

«Нет».

 

2.

Если «Да», то шаблон удаляется (включая удаление на диске).

 

3.

Если «Нет», то отмена действия.

 

 

 

48

2.1.11 Взаимодействие приложения со средой исполнения

Обобщенная схема взаимодействия проектов и сред исполнения

продемонстрирована на рисунке 2.2.

Рисунок 2.2 — Схема взаимодействия проектов и сред исполнения

Последовательность работы пользователя, приложения и среды

исполнения продемонстрирована на рисунке 2.3.

Рисунок 2.3 — UML диаграмма последовательности работы пользователя, приложения и среды исполнения

49

2.2 Требования к эргономике и технической эстетике

2.2.1Общие требования к внешнему виду

Термины, используемые для обозначения типовых операций, а также последовательности действий пользователя при их выполнении, должны быть унифицированы.

Графические элементы без текстового сопровождения должны иметь всплывающие подсказки.

Пользователь должен получать информацию, как об успешном завершении операций, так и о возникновении сбоев в ходе их выполнения или невозможности выполнения.

При выполнении длительных операций, требующих значительного времени для выполнения, пользователь, по возможности, должен получать информацию о текущем ходе выполнения операции.

2.2.2Требования по обработке исключительных ситуаций

Сообщения об ошибках или аварийных ситуациях должны быть на русском или английском языках, точно отражающими проблему.

Приложение должно обеспечивать корректную обработку аварийных ситуаций, вызванных неверными действиями пользователей, неверным форматом или недопустимыми значениями входных данных. После вывода пользователю соответствующего сообщения, система должна возвращаться в рабочее состояние, предшествовавшее неверной (недопустимой) команде или некорректному вводу данных.

2.2.3Требования по вводу и контролю данных

Для данных, имеющих установленные форматы, должен осуществляться логический контроль ввода данных с выдачей сообщений об ошибках ввода.

2.2.4Требования по организации экранных форм

Наименование полей в диалоговых окнах и формах системы должны приводиться с минимумом сокращений и аббревиатур. Допускается

50