ПЗ Шандова (1231575), страница 4
Текст из файла (страница 4)
Рисунок 2.1 – Структура базы данных
В итоге база данных будет состоять из двенадцати таблиц.
2.1.4 Безопасность данных
Важным моментом разработки любого приложения, взаимодействующего с базой данных, является безопасность хранимых данных.
Существует два направления в безопасности данных:
– защита данных от посторонних лиц;
– защита от случайного, ошибочного действия пользователя.
Первое реализуется на уровне СУБД, доступ к которой осуществляется только после ввода пароля. В разрабатываемом приложении так ая функция реализована. В настройках подключения к СУБД пользователю необходимо вести имя и пароль. Иным путем получить данные невозможно, так как механизмы MySQL надежно защищают данные от несанкционированного доступа.
Основной принцип второго направления защиты заключается в том, чтобы запретить опасные для данных функции или минимизировать их потенциальный вред, либо предоставить возможность восстановления данных.
2.2 Интерфейс
2.2.1 Основы проектирования пользовательского интерфейса
Пользовательский интерфейс является своеобразным коммуникационным каналом, по которому осуществляется взаимодействие пользователя и компьютера.
Лучший пользовательский интерфейс – это такой интерфейс, которому пользователь не должен уделять много внимания, почти не замечать его. Пользователь просто работает, вместо того, чтобы размышлять, какую кнопку нажать или где кликнуть мышью. Такой интерфейс называют прозрачным – пользователь будто смотрит сквозь него на свою работу [16].
Чтобы создать эффективный интерфейс, который делал бы работу с программой приятной, нужно понимать, какие задачи будут решать пользователи с помощью данной программы и какие требования к интерфейсу могут возникнуть у пользователей.
Если говорить о самых общих принципах проектирования пользовательских интерфейсов, то можно назвать несколько основных положений:
– эффективные интерфейсы очевидны и внушают своим пользователям чувство контроля, вследствие чего пользователи могут одним взглядом окинуть всю широту своих возможностей, понять, как достичь своих целей, и сделать свою работу;
– эффективные интерфейсы не беспокоят пользователя внутренним взаимодействием с системой, работа бережно и непрерывно сохраняется, позволяя пользователю отменить любое действие в любое время;
– эффективные приложения выполняют максимум работы, требуя при этом минимум информации от пользователя;
– приложение должно пытаться предположить то, чего хочет пользователь.
2.2.2 Проектирование интерфейса
Учитывая основные положения разработки интерфейса, был разработан его дизайн. В проектировании использовался программный инструмент Qt Design.
Интерфейс приложения состоит из двух логических частей (рисунок 2.2). Первая является строкой меню, которое доступно в любой момент работы программы, не считая случаев, когда активно модальное окно.
Вторая часть – это основное поле взаимодействия пользователя с приложением, которое организовано в виде вкладок. На каждой вкладке содержится некоторый раздел интерфейса, решающий определенную задачу, слабо связанную с другими разделами.
Рисунок 2.2 – Главное окно
Основным разделом является окно заказов. Именно в этой вкладке будет осуществляться основная работа с программой. Добавление и редактирование записи будет осуществляться в отдельном окне.
В окне пользователь указывает дату заказа, название организации, сумму заказа и дату оплаты. Редактирование возможно при выделении соответствующей строки.
Следует отметить, что все отдельно появляющиеся окна при работе с приложением являются модальными. Такой подход запрещает доступ к основному окну, пока не будет закончена работа с модальным. В итоге образуется надежный механизм согласования различных составляющих интерфейса программы.
2.3 Архитектура
2.3.1 Объектно-ориентированное программирование
Приложение написано в рамках объектно-ориентированной парадигме. Объектно-ориентированное программирование – это программирование, основанное на данных и их поведении, которые неразрывно связаны между собой. Вместе данные и поведение представляют собой класс, а объекты являются экземплярами класса [17].
Составными частями объектно-ориентированного подхода являются:
– инкапсуляция и расширяемость типов;
– наследование;
– полиморфизм.
ООП рассматривает вычисления как моделирование поведения. То, что моделируется, является объектами, представленными вычислительными абстракциями.
2.3.2 Шаблон проектирования MVC
Архитектурный каркас приложения решено реализовать в рамках шаблона проектирования Model-View-Controller.
Шаблон проектирования MVC (рисунок 2.18) предполагает разделение данных приложения, пользовательского интерфейса и управляющей логики на три отдельных компонента: модель, представление и контроллер – таким образом, что модификация каждого компонента может осуществляться независимо. Модель (Model) предоставляет данные предметной области представлению и реагирует на команды контроллера, изменяя свое состояние. Представление (View) отвечает за отображение данных предметной области (модели) пользователю, реагируя на изменения модели. Контроллер (Controller) интерпретирует действия пользователя, оповещая модель о необходимости изменений. Важно отметить, что MVC не описывает взаимодействие модели с данными – уровень доступа к данным рассматривают другие шаблоны [18].
Рисунок 2.18 – Концепция Model-View-Controller
MVC задает не столько правила разделения приложения на отдельные компоненты, сколько правила их взаимодействия. В то время как представление и контроллер зависят от модели, модель не зависит ни от представления, ни от контроллера. Это ключевая особенность разделения, которая позволяет работать с моделью, а значит, и с бизнес-логикой приложения, независимо от визуального представления.
2.3.3 Диаграмма классов
На рисунке 2.19 изображена диаграмма классов приложения на языке UML [19].
Рисунок 2.19 – диаграмма классов
3 ПРОГРММНЫЙ КОМПЛЕКС ДЛЯ ВЕДЕНИЯ УЧЕТА
3.1 Создание базы данных
3.1.1 Установка и настройка сервера MySQL
Правильные установка и конфигурирование сервера имеет важнейшее значение для работы все системы в целом. Необдуманные решения на этом этапе могут привести к нерациональному использованию вычислительных ресурсов компьютера при работе СУБД. Другими последствиями таких действий могут стать некорректная работа СУБД. Поэтому при установке MySQL и создании его конфигурации необходимо точно следовать указаниям и рекомендациям, изложенным в документации к СУБД [20].
На официальном сайте MySQL располагаются готовые сборки СУБД для различных платформ, в том числе для операционной системы Windows, на которой велась разработка. Для простоты развертывания использовался установочный пакет MySQL 5.1. При его запуске открывается мастер установки (рисунок 3.1).
Рисунок 3.1 – Окно приветствия мастера установки
Далее необходимо выбрать выбираем выборочный режим установки (Custom) для настройки набора компонентов (рисунок 3.2).
Рисунок 3.2 – Окно выбора типа установки
Следует выбрать все компоненты, а также указать директорию установки сервера и директорию хранения баз данных. Стоит отметить, что файлы баз данных должны располагаться в папке, позволяющей производить как запись, так и чтение данных.
После завершения установки, необходимо создать конфигурацию сервера. Для этой цели существует специальный мастер Server Instance Configuration, упрощающий данную процедуру (рисунок 3.3).
Рисунок 3.3 – Окно приветствия мастера конфигураций
Необходима тонкая настройка, поэтому в следующем окне отмечена «Detailed Configuration» (рисунок 3.4).
Рисунок 3.4 – Окно выбора типа конфигурирования
Далее необходимо указать, что конфигурирование сервера происходит на компьютере разработчика. Например, если указано, что развертывание происходит на машине разработчика (Developer Machine). В этом случае сервер будет использовать минимум вычислительной мощности, чтобы не мешать процессу разработки (рисунок 3.5) [21].
Рисунок 3.5 – Выбор типа используемой машины
Далее, указываем номер порта 3306 и добавляем его в исключения брандмауэра, переходим к окну выбора кодировки по умолчанию (рисунок 3.6). Для работы с национальной кодировкой рекомендуется использовать только многобайтные кодировки. Поэтому была выбрана UTF8.
Рисунок 3.6 – Окно выбора кодировки по умолчанию
Далее устанавливается пароль пользователя (рисунок 3.7).
Рисунок 3.7 – Установка пароля пользователя
На этом процесс конфигурирования сервера MySQL завершается.
3.1.2 Задание структуры базы данных
База данных создавалась при помощи инструмента MySQL Workbench (рисунок 3.8).
Рисунок 3.8 – Начальное окно программы MySQL Workbench
Сначала необходимо подключиться к серверу MySQL. Для этого создаем новое подключение. Нажав New Connection, вызываем окно подключения (рисунок 3.9). Вводим пароль и нажимаем OK.
Рисунок 3.9 – Окно подключения к серверу MySQL
При успешном подключении к серверу мы увидим рабочее окно программы MySQL Workbench (рисунок 3.10). Интерфейс состоит из четырех основных компонентов. Слева располагается окно Object Browser. Оно отображает список баз данных и позволяет просматривать список имеющихся в них таблиц и видов, осуществляя навигацию по всем объектам базы. Справа находится окно SQL Additions, транслирующее все успешно произведенные SQL-запросы к серверу СУБД. Для отображения сообщений обо всех действиях и их статусах служит окно Output, расположенное снизу. В центре находится главная составляющая интерфейса. Именно в ней и происходит непосредственная работа с программой. Имеется удобная система вкладок, позволяющая быстро переключаться между выполнением различных задач.
Рисунок 3.10 – Рабочее окно программы MySQL Workbench
Нажав на кнопку «Create a new schema», открываем вкладку создания новой базы данных (рисунок 3.11), где вводим ее наименование и указываем кодировку.
Рисунок 3.11 – Окно создания новой базы данных
Далее нажимаем на кнопку «Create a new table» и в открывшейся вкладке указываем параметры таблицы (рисунок 3.12). Среди основных параметров – имя таблицы, поля таблицы и их типы. По завершению редактирования структуры таблицы нажимаем кнопку Apply.















