Наиболее трудоемкими этапами разработки любой информационной системы является этап анализа и проектирования, в процессе которого CASE-средства обеспечивают качество принимаемых технических решений и подготовку проектной документации. При этом большую роль играют методы визуального представления информации. Графические средства моделирования предметной области позволяют разработчикам в наглядном виде изучать существующую систему, перестраивать ее в соответствии с поставленными целями и имеющимися ограничениями.
Проектирование программного инструмента для писателя «Сюжет» [1] осуществлялось на базе унифицированного языка моделирования UML, который является языком графического описания для объектного моделирования в области разработки программного обеспечения. В качестве средства проектирования «Сюжет» было выбрано программное обеспечение ArgoUML и модуль для построения диаграмм в интегрированной среде разработки Microsoft Visual Studio.
В процессе проектирования с помощью выбранных CASE-средств была построена диаграмма классов, представляющая статическую структуру модели системы в терминологии классов объектно-ориентированного программирования. Диаграмма классов отражает различные взаимосвязи между объектами или подсистемами программного средства «Сюжет», а также описывает их внутреннюю структуру и типы отношений.
Рассмотрим основные компоненты, представленные на диаграмме классов программного обеспечения «Сюжет» (рисунок 1).
Одним из базовых классов проекта, реализованных в ходе разработки программы является «MainForm», который содержит все необходимые поля и методы для работы оконной формы программы, с которыми взаимодействует пользователь. Стоит отметить наличие в классе «MainForm» таких методов, как: «deldoublespace_Click», «open_reader_Click», «autosave_Tick». Метод «deldoublespace_Click» инициализирует функцию по удалению лишних пробелов между словами. «open_reader_Click» запускает конструктор по созданию экземпляра формы «FormReader», осуществляющий открытие окна программы с выбранным текстом только для чтения. Для обеспечения безопасности работы с произведением в программе «Сюжет» реализован метод «autosave_Tick», запускающий функцию автосохранения, которая вызывает методы, прописанные в классе «TextEditor».
Рисунок 1 – Диаграмма классов программы «Сюжет»
Основное окно программы имеет специализированный режим отображения на экране [2], который вызывается методом «fullScreen_Click», который присваивает параметру видимости «Visible» значение «false» для таких элементов систем как: главное меню, панель инструментов, левая боковая панель, меню «Пуск» операционной системы Windows. Атрибуты и методы относящиеся к данному режиму имеют в начале названия приставку «fs». В основе работы полноэкранного режима лежит операция по настройке прозрачности текстового поля «RichTextBox». Из-за отсутствия данной функции у элемента управления, было принято решение создать класс «RichTextBoxExt», который содержит в себе функции расширяющие стандартный набор методов элемента управления «RichTextBox». Соответственно чтобы воспользоваться дополненным функционалом элемента управления, необходимо было создать пользовательский элемент управления, с помощью инструментов класса «UserControl», под названием «RichTextControl», в котором содержится новый вариант элемента управления «RichTextBox».
Рассмотрим другие классы, которые вызываются с помощью методов класса «MainForm». Класс «Player» содержит все основные методы по работе со встроенным аудио плеером: Next», «Play», «Preview», «Stop». С помощью таких методов как: «AddTrack», «RemoveTrack», «ClearList» и «GetVolume» класс «MainForm» настраивает громкость плеера, добавляет и удаляет треки из плейлиста, вызывая класс «FormPlayList» с помощью метода «btnShowPlayList_Click».
Как и «MainForm» класс «FormPlayList» содержит все необходимые методы по управлению с плейлистом, имея в качестве расширения методы «btnMix_Click» и «btnCircle_Click», отвечающие за воспроизведение случайного трека из списка и повтор воспроизведения всех треков из плейлиста при достижении последнего аудио файла.
При разработке многофункционального программного обеспечения, необходимо предоставить пользователю возможность настройки. В данном случае это обеспечит класс «settingsProgram_Click». Данный класс содержит атрибуты и методы по настройке автосохранения «autosave», языка интерфейса программы «language», звука нажатия клавиш, таймера времени работы «interval», и таймер количества введенных символов «interval2».
Для вызова конструктора создания формы класса «Words» используется метод «wordscount_Click». На стадии запуска данный класс активирует метод «wordscount», отвечающий за разделение текста программы на слова и внесение их в соответствующую таблицу.
Диаграмма компонентов – описывает особенности физического представления системы, определяет архитектуру разрабатываемой системы, установив зависимости между программными компонентами, в роли которых может выступать исходный и исполняемый код. Основными графическими элементами диаграммы компонентов являются компоненты, интерфейсы и зависимости между ними.
На диаграмме компонентов (рисунок 2) программного обеспечения «Сюжет» предоставлены внешние компоненты, свойства приложения и компоненты Story.exe.
Рисунок 2 – Диаграмма компонентов программы «Сюжет»
Рассмотрим подробно основные компоненты диаграммы.
Компонент «Settings» отвечает за хранение свойств по настройке программы.
Компоненты «ImageListSave» и «PlayListSave» отвечают за запись адресов загруженных изображений из программы в файл формата xml и адресов загруженных аудио файлов в плейлист встроенного плеера программы.
Для шифрования текста произведения во время срабатывания автосохранения используется компонент «CryptorEngine», который хранит в себе функции не только по шифрованию, но и дешифрованию текста произведений.
Также в программе реализован модуль по осуществлению фонетического анализа произведений. Алгоритм его работы прописан в компоненте FreshEye.
К внешним файлам относятся библиотеки без которых, программа не сможет работать. К таким системным компонентам относятся: библиотека для работы с XML-файлами «System.Xml.Linq.dll», библиотека для создания и работы с формами программы «System.Windows.Forms.dll», и компонент для взаимодействия с графическими файлами «System.Drawing.dll».
В компонент «Properties» входят параметры настроек программы (Settings) и ресурсы программы (Resources), состоящие из иконок, звуков, изображений и т.д.
В результате была разработана структура программного обеспечения «Сюжет», поддерживающая методологию структурного программирования с использованием модульного подхода, которая обеспечивает полную реализацию функционала [3], необходимую и достаточную для полноценной творческой работы писателя над произведением.
Библиографический список
- Масенко И.А., Такташкин Д.В. История развития рабочих инструментов писателя // Гуманитарные научные исследования. 2016. № 12 [Электронный ресурс]. URL: http://human.snauka.ru/2016/12/18300 (дата обращения: 10.01.2017).
- Масенко И.А., Такташкин Д.В. Особенности реализации интерфейса программы для писателей «Сюжет» // Современная техника и технологии. 2016. № 5 [Электронный ресурс]. URL: http://technology.snauka.ru/2016/05/9904 (дата обращения: 08.12.2016).
- Масенко И.А., Такташкин Д.В. Модель вариантов использования программы для писателей «Сюжет» // Современные научные исследования и инновации. 2016. № 3 [Электронный ресурс]. URL: http://web.snauka.ru/issues/2016/03/64882 (дата обращения: 07.03.2016).