Диплом: Автоматизация управления персоналом в АО "Региональные электрические сети"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
п/п
Наименование модуля
Функции модуля
3
Модуль системной логики
Содержит в себе иерархию подчиняющихся форм
приложения, что обеспечивает логичную и
интуитивно понятную программную навигацию
4
Модуль подключения к БД
Отвечает за обеспечение связи приложения с БД
MS SQL Server 2008 R2.
5
Модуль взаимодействия с БД
Отвечает за выполнение запросов к БД и
предоставление для других модулей АИС
унифицированных процедур для выполнения
основных операций над данными: чтение, запись,
изменение, удаление.
6
Модуль пользовательского
интерфейса
Содержит функции, включающие:
Формирование пользовательского интерфейса
согласно хранимым шаблонам
Вообще, данное разделение больше логическое, чем физическое, поскольку в
реальности присутствуют несколько десятков файлов, каждый из которых отвечает за
определенный набор специфических функций. Однако все эти файлы могут быть
разделены на логические группы, представленные в таблице выше.
Поэтому для более полной информации о структурной схеме пакета приведем
структуру каталогов (рисунок 2.19).
Рисунок 2.19 – Структурная схема пакета
2.2.4 Описание программных модулей
Отметим вначале, что существуют стандартные операции над данными, так называемый
CRUD:
создание;
чтение;
изменение;
удаление;
Данные для нашей АИС хранятся в базе данных. Интерфейс взаимодействия с БД
предоставляет СУБД MS SQL Server 2008 R2.
Наша задача – сформировать некие стандартизированные механизмы управления
потоками данных в приложении, чтобы, во-первых, не дублировать код, во-вторых,
обеспечить логичную цепочку передачи сообщений по каналам управления.
Для начала необходим класс, который будет обеспечивать подключение к базе данных
и предоставлять соединение с ней по мере необходимости. Таким классом является
DB_Connection (приложение А).
Для доступа к базе данных и для выполнения операций CRUD разработан специальный
класс DB_Access. Он может сообщить любому модулю АИС текущее соединение с БД, а
также выполнить тот или иной запрос к базе данных. Алгоритм выполнения функции SQL
запроса представлен на рисунке 2.20.
Рисунок 2.20 – Алгоритм выполнения SQL запроса
Первоначально происходит проверка подключения к БД. Если оно отсутствует, то
вызывается функция восстановления подключения.
Затем происходит инициализация объекта SQLCeCommand – встроенный объект,
обеспечивающий интерфейс взаимодействия с БД.
Затем в этот созданный объект записываются параметры запроса и происходит его
выполнение.
Далее в цикле проходят по строкам, а в каждой строке проходят по ячейкам (столбцам),
и записывают выходные значения в массив.
После закрывают подключение к БД.
Текст функции sqlquery представлен в приложении А. Видно, что для возврата
результата запроса модулям используется динамический список списков строк
(List<List<string>> sqlresult). Это эффективный и удобный способ передать обратно в
программу таблицу, которую вернет запрос SELECT. Для запросов, которые не должны
возвращать значений, эта структура просто не заполняется. Таким образом, мы
определили единственную в программе точку доступа к БД, и все модули будут
взаимодействовать с БД именно через эту функцию.
Отметим еще немаловажную особенность разработанного ПО. Поскольку работа с БД
постоянно подразумевает отображение результатов в таблицах, то также были
спроектированы стандартизированные функции, которые позволяют привязать таблицу
БД к таблице на форме оконного интерфейса приложения.
Приведем пример вызова такой функции (приложение А):
Здесь функция выводит информацию по работникам компании на основании
должностей и штатного расписания, таким образом, комбинируя таблицы и получая
единую выборку с интересующими нас данными. Функция showSQLinGridView позволяет
не только подключить результат запроса к таблице, но еще и обеспечит переименование
заголовка таблицы под интересующий нас шаблон, а также функция может скрыть
определенные столбцы в таблице (например, поле ID).
Таким образом, не нужно каждый раз писать много кода по связке таблицы с базой
данных, достаточно лишь вызвать стандартизированную функцию showSQLinGridView().
В нашей программе присутствует большое число справочников. Программировать
каждый справочник и его интерфейс очень тяжело, поэтому было принято решение о
стандартизации отображении справочника в системе. Любой документ, повывший в
раздел «Справочники», должен обладать такими полями:ID, Code, Value, Info.
Это позволит автоматически генерировать окна и интерфейсы всех справочников один
небольшим «куском» кода.
Например, так инициализированы справочники в системе (приложение А):
Это хэш, ключами которого являются имена таблиц в БД, а значениями являются имена
таблиц в пользовательском интерфейсе WindowsForms.
Для хранения ссылок на справочники применяется объект ToolStripMenu, который
позволяет автоматически генерировать пункты меню программы (приложение А).
Поэтому, обходя кэш, генерируем пункты меню:
В результате, каждый справочник вызывается одной лишь функцией (приложение А):
Тэг хранит имя таблицы БД, а текст – имя таблицы для пользователя.
Программа также в рамках обеспечения взаимодействия с другими отделами, например,
бухгалтерии, автоматически может сгенерировать, например, приказ о зачислении на
работу или увольнение сотрудника.
Для этих целей используется специальный класс excel, через который приложение
может читать и писать информацию в файлы .xls.
Отдельно надо указать разграничение прав доступа (таблица 2.3).
Таблица 2.3
Разграничение прав доступа к АИС
Отделы
Работники
Расписание
Справочники
Приказы
Позиция 1
Позиция 2
Позиция 3
Позиция 4
Позиция 5
Начальник
отдела кадров
+
+
+
+
+
Старшие
менеджеры
+
+
+
+
+
Менеджеры
+
+
+
+
Главный
бухгалтер
+
+
Бухгалтер
+
Остальные
работники
предприятия
В базе данных имеется таблица users, которая хранит всех валидных пользователей
АИС. Имеется суперадмин, который может создавать, удалять и редактировать других
пользователей (включая назначение им прав доступа к компонентам АИС).
При создании той или иной формы программа проверяет, обладает ли пользователь,
вошедший в систему, правом доступа к данному компоненту.
Таким образом, рассказаны основные особенности разработанной АИС.
2.3 Контрольный пример реализации проекта и его описание
Итак, при запуске программы появляется окно авторизации. В таблице 2.21
представлено разграничение прав доступа. Покажем полный функционал системы, введя
при авторизации параметры начальника отдела кадров.
Рисунок 2.21 – Окно авторизации
После успешной авторизации мы попадаем в главное окно программы, где слева
выведен список отделов компании, а справа – список прикрепленных к отделу работников
(рисунок 2.22).
Рисунок 2.22 – Разделение сотрудников по отделам
При клике мышкой по меню «Справочники» открывается соответствующее субменю со
списком доступных в системе справочников (рисунок 2.23).
Рисунок 2.23 – Справочники
При открытии любого справочника появляется стандартное автоматически
генерируемое окно отображения каталога.
Поле дополнительная информация может содержать какие-либо пояснения или другие
переменные, которые будут переданы обрабатывающим справочники модулям.
Рисунок 2.24 – Открытый справочник
Из главного меню программы также доступен вызов штатного расписания сотрудников,
которое показывает, какие сотрудники закреплены за какими отделами, какие у кого
ставки и оклады.
Рисунок 2.25 – Штатное расписание сотрудников по отделам
При клике правой кнопкой мыши на определенной ячейке появляется контекстное
меню, которое позволяет добавить новую запись в штатное расписание или изменить ту
запись, на которую указывает выделенная синим цветом ячейка.
Рисунок 2.26 – Контекстное меню в таблице штатного расписания
При выборе пункта «Изменить» появляется окно диалогового типа, где пользователь
системы может изменить соответствующие параметры записи.
Для подтверждения внесенных изменений надо нажать на кнопку «Сохранить».
Рисунок 2.27 – Изменение пункта в штатном расписании
При редактировании автоматически формируются выпадающие списки, в которых
присутствует информация из соответствующих справочников.
Рисунок 2.28 – Выбор должности из справочника должностей
При выборе режима «Добавить» появляется незаполненная форма. Однако в списках
уже присутствуют варианты для выбора.
Рисунок 2.29 – Добавление нового пункта расписания
Главное окно программы позволяет отображать сортировку сотрудников по различным
параметрам, в том числе по отделу, фамилии и т.д.
Рисунок 2.30 – Список сотрудников по отделам
Из меню программы доступен к вызову интерфейс занесения нового работника в
систему.
Рисунок 2.31 – Форма добавления пользователя
Интерфейс состоит из четырех разделов, которые содержат основную информацию о
работнике. Разделы группируют общие по важности характеристики сотрудника.
Имеется кнопка «Сохранить» и «Отмена», которые позволяют или сохранить изменения
в БД, или не делать этого и закрыть диалоговое окно.
Рисунок 2.32 – Дополнительные данные пользователя
Один из разделов позволяет добавить информацию о родственниках работника. Для
этого надо щелкнуть правой кнопкой мыши, чтобы вызвать контекстное меню.
Рисунок 2.33 – Интерфейс добавления информации о родных работника
Вообще, интерфейс взаимодействия с такими таблицами строится либо на основе
кнопок управления, расположенными под таблицей, либо с помощью автоматически
всплывающих контекстных меню.
Рисунок 2.34 – Окно добавления новой записи о родстве
Раздел «Должности» включает в себя связь работника со штатным расписанием
посредством поля «Штат расписание ID», а также данных о доходах.
Рисунок 2.35 – Раздел «Должности»
Программа также позволяет добавлять контакты к работникам.
Рисунок 2.36 – Добавление контактов
Для добавления или изменения контакта надо в таблице щелкнуть правой кнопкой
мыши и выбрать соответствующий пункт контекстного меню.

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)