диплом (1229326), страница 2
Текст из файла (страница 2)
MySQL – система управления базами данных (СУБД), характеризующийся большой скоростью, устойчивостью и легкостью в использовании, является идеальным решением для малых и средних приложений [9].
Для удаленного взаимодействия с базой данных необходимо клиентское приложение, обеспеченное графическим интерфейсом для удобства работы пользователя.
Для разработки клиентского приложения был выбран язык C#, среда разработки Microsoft Visual Studio, согласно требованиям технического задания [8].
3 ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО КОМПЛЕКСА
3.1 Техническое задание
3.1.1 Требования к программному комплексу
Интерфейс системы должен быть понятным и удобным, не должен быть перегружен графическими элементами и должен обеспечивать быстрое отображение экранных форм.
Все надписи экранных форм, а также сообщения, выдаваемые пользователю, должны быть на русском языке.
Доступ к информационной системе должен быть предоставлен только авторизованным пользователям.
Установка информационной системы в целом, как и установка отдельных ее частей, не должна требовать покупку лицензий на программное обеспечение.
Разрабатываемая информационная система должна содержать следующие информационные данные:
-
категории оборудования;
-
информацию об оборудовании;
-
информацию о месте расположения оборудования;
-
информацию о дате поступления, установке оборудования, его гарантийном сроке;
-
список сотрудников;
-
историю перемещения оборудования;
-
права доступа к информационной системе;
-
поддержку формирования отчетов.
3.1.2 Структура и описание программного комплекса
Информационная система должна быть снабжена графическим интерфейсом, включающим:
-
форму авторизации;
-
главную форму, состоящая из списка базовых категорий и таблицу, в которой будет отображена информация об оборудовании.
А также поддерживать добавление, редактирование, удаление, поиск оборудования, сотрудников, предоставления прав доступа к информационной системе, а также доступ к журналу событий, осуществляемый через меню главной формы.
3.1.3 Дополнительные требования
Информационная система должна быть разработана в среде разработки Microsoft Visual Studio, на платформе .Net, с использованием языка программирования C# и СУБД MySQL. При этом приложение должно работать на ПК под управлением не ниже операционной системы Windows 7.
3.2 Проектирование базы данных
Для хранения данных выбрана реляционная структура базы данных. Реляционная база данных представляет собой множество взаимосвязанных таблиц, каждая из которых содержит информацию об объектах определенного вида.
Нормализация предназначена для приведения структуры БД к виду, обеспечивающему минимальную логическую избыточность, и не имеет целью уменьшение или увеличение производительности работы или же уменьшение, или увеличение физического объёма базы данных. Конечной целью нормализации является уменьшение потенциальной противоречивости, хранимой в базе данных информации [9].
Избыточность данных приводит к непродуктивному расходованию свободного места на диске и затрудняет обслуживание баз данных. Например, если данные, хранящиеся в нескольких копиях, потребуется изменить, в них придется внести одни и те же изменения во всех этих копиях [10].
Для хранения данных о категориях оборудования использована таблица category. Структура данных показана в таблице 2.
Таблица 2 – Структура таблицы category
Имя поля | Тип данных | Первичный ключ | Обязательное | Описание |
catID | INT(11) | Да | Да | Содержит ID категории |
cat_name | VARCHAR(45) | Нет | Да | Содержит наименование категории |
cantDelete | TINYINT(1) | Нет | Да | Запрещает удалять категорию |
Справочник сотрудников использует таблицу member_directory. Структура данных показана в таблице 3.
Таблица 3 – Структура таблицы member_directory
Имя поля | Тип данных | Первичный ключ | Обязательное | Описание | |||
memberID | INT(11) | Да | Да | Содержит ID сотрудника | |||
member | VARCHAR(45) | Нет | Да | Содержит инициалы | |||
location | VARCHAR(45) | Нет | Да | Содержит рабочий адрес | |||
kab | VARCHAR(45) | Нет | Да | Содержит кабинет | |||
work_phone | VARCHAR(45) | Нет | Нет | Содержит рабочий номер | |||
date | DATE | Нет | Да | Содержит дату занесения сотрудника в базу | |||
is_default | TINYINT(1) | Нет | Нет | Указывает сотрудника по умолчанию |
Для хранения статуса оборудования использована таблица status. Структура данных показана в таблице 4.
Таблица 4 – Структура таблицы status
Имя поля | Тип данных | Первичный ключ | Обязательное | Описание |
statusID | INT(11) | Да | Да | Содержит ID статуса |
cur_status | VARCHAR(45) | Нет | Да | Содержит статус оборудования |
Таблица equipment хранит информации об оборудовании. Структура данных показана в таблице 5.
Таблица 5 – Структура таблицы equipment
Имя поля | Тип данных | Первичный ключ | Обязательное | Описание |
id | INT(11) | Да | Да | Содержит ID оборудование |
brand | VARCHAR(45) | Нет | Да | Содержит марку оборудования |
model | VARCHAR(45) | Нет | Да | Содержит модель |
date_delivery | DATE | Нет | Да | Содержит дату поставки |
guarantee | DATE | Нет | Да | Содержит конечную дату гарантийного срока |
serial_number | VARCHAR(45) | Да | Да | Содержит серийный номер |
date_installation | DATE | Нет | Нет | Содержит дату установки |
work_nubmer | VARCHAR(45) | Нет | Нет | Содержит инвентарный номер |
is_set | TINYINT(1) | Нет | Нет | Указывает на то, что оборудование в комплекте |
Таблица history используется для хранения журнала изменений и действий. Структура данных показана в таблице 6.
Таблица 6 – Структура таблицы history
Имя поля | Тип данных | Первичный ключ | Обязательное | Описание |
id | INT(11) | Да | Да | Содержит ID оборудование |
history | VARCHAR(45) | Нет | Да | Содержит историю |
date | DATETIME(6) | Нет | Да | Содержит дату добавления |
Для хранения прав доступа к информационной системе, использована таблица user_permission. Структура данных показана в таблице 7.
Таблица 7 – Структура таблицы user_permission
Имя поля | Тип данных | Первичный ключ | Обязательное | Описание |
id | INT(11) | Да | Да | Содержит ID прав |
permission | VARCHAR(45) | Нет | Да | Содержит тип доступа |
Для хранения пользователей использована таблица user. Структура данных показана в таблице 8.
Таблица 8 – Структура таблицы users
Имя поля | Тип данных | Первичный ключ | Обязательное | Описание |
idUsers | INT(11) | Да | Да | Содержит ID пользователя |
UserName | VARCHAR(45) | Нет | Да | Содержит логин |
Password | VARCHAR(45) | Нет | Да | Содержит пароль |
Для взаимодействия данных между таблицами необходимо создать связи по типу «один ко многим».
Для работы с правами доступа связываются таблицы user_permission и users по первичным ключам. Связь между таблицами изображена на рисунке 2.
Рисунок 2 – Связь таблиц users и user_permission