Разработка и программная реализация информационной системы Кадры

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ЖЕЛЕЗНОДОРОЖНОГО ТРАНСПОРТА ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ



Иркутский государственный университет путей сообщения 





Кафедра: Вычислительной техники и прикладной математике

Предмет: Управление данными 

 



Курсовой проект



КАДРЫ





Выполнил: студент гр. 



Проверил: проф., д. т. н. 















г. Иркутск - 2006


ЗАДАНИЕ КУРСОВОГО ПРОЕКТА



Разработать и программно реализовать информационную систему

«Кадры»



        Порядок выполнения задания: 

Анализ предметной области и разработка структуры ИС.

Описание информационных процессов.

Разработка структуры БД и структуры ИС.

Реализация и тестирование ИС.




СОДЕРЖАНИЕ

	

	ЗАДАНИЕ КУРСОВОГО ПРОЕКТА	2

	1. ВВЕДЕНИЕ	4

	2. ОСНОВНАЯ ЧАСТЬ	5

	2.1. Анализ предметной области	5

	2.2. Разработка структуры ИС	7

	2.3. Разработка структуры  базы данных и интерфейсов	7

	Таблица «Сотрудники»:	7

	Таблица «Воинский учет»:	9

	Таблица «Командировки»:	9

	Таблица «Семья»:	9

	Таблица «Образование»:	10

	Таблица «Трудовая книжка»:	10

	Таблица «Отпуска»:	11

	Главная кнопочная форма	12

	Форма: Основная информация о сотрудниках	12

	Заключение	15

	Литература	16




1. ВВЕДЕНИЕ



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

обеспечивать получение общих и/или детализированных отчетов по итогам работы;

позволять легко определять тенденции изменения важнейших показателей;

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

выполнять точный и полный анализ данных.

Темой данного курсового проекта является Информационная система отдела кадров предприятия. Результатом работы является программа «Кадры». Работа отдела кадров достаточно крупного предприятия  связана с накоплением большого количества информации о личных данных сотрудников. Традиционно информация хранится на бумажных носителях. При этом трудно осуществить быстрый отбор нужных данных при приеме на работу, уходе в отпуск, увольнении, переходе на другую должность или других перемещениях сотрудника. Немаловажен вопрос надежности хранения и конфиденциальности личных данных о работающих на предприятии. Таким образом, автоматизация процесса работы отдела кадров является нужным и перспективным процессом. 


2. ОСНОВНАЯ ЧАСТЬ



2.1. Анализ предметной области



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

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

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

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

		Сотрудники;

		Воинский учет;

		Семья;

		Трудовая книжка;

		Образование;

		Отпуска;

		Командировки;

		Увольнение (справочник по статьям КЗОТ-вспомогательный, не связанный с остальными, объект)

Отобразим взаимоотношения между этими объектами на диаграмме «сущность–связь»

( рис. 1 ).



  

Сотрудники

Воинский учет

Семья

Трудовая книжка

Образование

Командировки

Отпуска

1

1

1

1

1

1

1

М

М

М

М

М



Рис. 1. Концептуальная модель данных



Каждый рассматриваемый сотрудник может либо состоять на военном учете, либо не состоять, причем, если имеет военный билет, то единственный. Этим объясняется связь один – к - одному между объектами «сотрудники – воинский учет». Все остальные объекты связаны с объектом «сотрудники» соответственно с помощью связей «многие – к - одному» поскольку сотрудник:

может иметь  более одного родственника;

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

может иметь более одного образования;

может иметь более одного отпуска в год;

может побывать более, чем в одной командировке. 



2.2. Разработка структуры ИС



Для хранения данных в ИС и реализации механизмов выборки данных для обработки используется СУБД. Одной из основных функций ИС является анализ данных - наблюдение за состоянием объектов системы в различных срезах предметной области. Данная функция реализуется посредством организации запросов на языке SQL. Проблема заключается в невозможности общения пользователя (оператора) ИС с СУБД, так как знание SQL никак не может являться обязательным требованием. Решением является встроенный в ИС интерфейсный модуль. 



2.3. Разработка структуры  базы данных и интерфейсов



На основании построенной концептуальной модели можно разработать реляционную модель данных, которая будет реализована в выбранной СУБД (Access). Каждому объекту ставится в соответствие реляционная таблица. Ниже представлена структура созданных таблиц, а на рис. 2 изображена схема связей между таблицами.



Таблица «Сотрудники»:



Поле

Тип

Размер

Табельный номер

Числовой

Длинное целое

Подразделение

Текстовый

50

Оклад

Денежный

Денежный

Надбавка

Числовой

Длинное целое

Премия

Числовой

Длинное целое

ИНН

Текстовый

9

Страховое свидетельство

Текстовый

15

Медицинский полис

Текстовый

15

Характер работы

Текстовый

50

Вид работы

Текстовый

20

Поле

Тип

Размер

Режим труда

Текстовый

50

Пол

Текстовый

7

Фамилия

Текстовый

20

Имя

Текстовый

20

Отчество

Текстовый

20

Дата рождения

Дата/время

Краткий формат даты

Место рождения

Текстовый

50

Национальность

Текстовый

15

Гражданство

Текстовый

15

Семейное положение

Текстовый

10

Фактический индекс

Числовой

6

Фактический адрес

Текстовый

50

Профсоюз

Логический



Группа инвалидности

Числовой

1

Пенсионер

Логический



Участник войны

Логический



Домашний телефон

Числовой

10

Сотовый

Числовой

10

Паспорт

Текстовый

11

Кем выдан

Текстовый

50

Дата выдачи

Дата/время

Краткий формат даты

Индекс

Числовой

6

Адрес

Текстовый

50

Дата регистрации

Дата/время

Краткий формат даты

Военный билет

Текстовый

11

Последняя медкомиссия

Дата/время

Краткий формат даты




Таблица «Воинский учет»:



Поле

Тип

Размер

Табельный номер

Числовой

Длинное целое

Категория запаса

Текстовый

20

Воинское звание

Текстовый

12

Состав

Текстовый

50

ВУС

Текстовый

50

Категория годности

Текстовый

50

Наименование военкомата

Текстовый

50

Начало срочной службы

Дата/время

Краткий формат даты

Окончание срочной службы

Дата/время

Краткий формат даты





Таблица «Командировки»:



Поле

Тип

Размер

Табельный номер

Числовой

Длинное целое

Дата начала

Дата/время

Краткий формат даты

Дата окончания

Дата/время

Краткий формат даты

Место назначения

Текстовый

25

Код

Счетчик

Длинное целое



Таблица «Семья»:



Поле

Тип

Размер

Табельный номер

Числовой

Длинное целое

Степень родства

Текстовый

20

ФИО родственника

Текстовый

50

Дата рождения

Дата/время

Краткий формат даты

Код

Счетчик

Длинное целое




Таблица «Образование»:



Поле

Тип

Размер

Табельный номер

Числовой

Длинное целое

Дата поступления в у/з

Дата/время

Краткий формат даты

Дата окончания у/з

Дата/время

Краткий формат даты

Образование

Текстовый

30

Название у/з

Текстовый

50

Диплом

Текстовый

15

Форма обучения

Текстовый

15

Квалификация

Текстовый

15

Специальность

Текстовый

15

Ученая степень

Текстовый

30

Ученое звание

Текстовый

30

Код

Счетчик

Длинное целое



Таблица «Трудовая книжка»:



Поле

Тип

Размер

Табельный номер

Числовой

Длинное целое

Название учреждения

Текстовый

50

Должность

Текстовый

255

Дата постановки

Дата/время

Краткий формат даты

Приказ о приеме

Числовой

Длинное целое

Дата увольнения

Дата/время

Краткий формат даты

Причина увольнения

Текстовый

255

Приказ на увольнение

Числовой

Длинное целое

Код

Счетчик

Длинное целое



Таблица «Отпуска»:



Поле

Тип

Размер

Табельный номер

Числовой

Длинное целое

Вид отпуска

Текстовый

15

Приказ на отпуск

Числовой

Длинное целое

За время с

Дата/время

Краткий формат даты

За время по

Дата/время

Краткий формат даты

Дата начала

Дата/время

Краткий формат даты

Дата окончания

Дата/время

Краткий формат даты

Код

Счетчик

Длинное целое



На рис. 2 первичные ключи таблиц выделены жирным шрифтом. На все связи наложены условия обеспечения целостности данных (такой режим поддерживается СУБД Microsoft Access).







Рис. 2. Схема данных



Главная кнопочная форма





Рис. 3. Главная кнопочная форма

Работа с приложением начинается с открытия главной кнопочной формы. На данной форме имеются кнопки для открытия соответственных форм, а также кнопка выхода из приложения.

Форма: Основная информация о сотрудниках



Рис. 4. Основная информация о сотрудниках

Основной операцией при работе с базой данных является операция просмотра / редактирования данных о сотруднике. Эта операция выполняется с помощью разработанной формы, показанной на рис. 3.

Набор вкладок «Сотрудники - Уволенные» позволяет просматривать и при необходимости корректировать данные о работающих или уволенных. Многие поля формы имеют фиксированные списки значений, маски ввода что значительно упрощает работу. Значение поля «возраст» вычисляется в  одноименном запросе.

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

Форма:  Поиск сотрудников





Рис. 5. Поиск сотрудников

На рисунках 5, 6, 7, 8 изображены формы поиска. Поиск может быть осуществлен по фамилии, по должности и по окладу. Нажатие кнопки выводит информацию в виде выпадающего списка. При нажатии кнопки отмена все формы поиска закрываются. Это реализовано с помощью макроса «Закрытие поиска».



Рис. 6. Поиск по фамилии



Рис. 7. Поиск по должности



Рис.8. Поиск по окладу

Форма:  Печать /редактирование приказов



Рис. 9. Печать приказов

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

Запрос Возраст

SELECT DateDiff("yyyy",Сотрудники.[Дата рождения],Now()) AS Возраст, Сотрудники.[Табельный номер]

FROM Сотрудники;

Запрос Общий стаж

SELECT Sum(DateDiff("m",[Трудовая книжка].[Дата постановки],[Трудовая книжка].[Дата увольнения])) AS Все, Int(Все/12) AS Годы , Все-Годы*12 AS Месяцы ,  [Трудовая книжка].[Табельный номер]

FROM [Трудовая книжка]

GROUP BY [Трудовая книжка].[Табельный номер]

HAVING (((Last([Трудовая книжка].[Дата увольнения])) Is Not Null))

UNION

 SELECT DateDiff("m",Last([Трудовая книжка].[Дата постановки]),Now()) AS Все, Int(Все/12) AS Годы , Все-Годы*12 AS Месяцы , [Трудовая книжка].[Табельный номер]

FROM [Трудовая книжка]

GROUP BY [Трудовая книжка].[Табельный номер]

HAVING (((First([Трудовая книжка].[Дата увольнения])) Is Null))

UNION SELECT Sum(DateDiff("m",[Трудовая книжка].[Дата постановки],[Трудовая книжка].[Дата увольнения]))+DateDiff("m",Last([Трудовая книжка].[Дата постановки]),Now()) AS Все, Int(Все/12) AS Годы , Все-Годы*12 AS Месяцы , [Трудовая книжка].[Табельный номер]

FROM [Трудовая книжка]

GROUP BY [Трудовая книжка].[Табельный номер]

HAVING (Last([Трудовая книжка].[Дата увольнения]) Is Null And (First([Трудовая книжка].[Дата увольнения]) Is Not Null));

Запрос Стаж на предприятии

SELECT Sum(DateDiff("m",[Трудовая книжка].[Дата постановки],[Трудовая книжка].[Дата увольнения])) AS Все, Int(Все/12) AS Годы , Все-Годы*12 AS Месяцы ,  [Трудовая книжка].[Табельный номер]

FROM [Трудовая книжка]

WHERE [Трудовая книжка].[Название учреждения]="ЗАО Строительная компания" 

GROUP BY [Трудовая книжка].[Табельный номер]

HAVING (((Last([Трудовая книжка].[Дата увольнения])) Is Not Null))

UNION

 SELECT DateDiff("m",Last([Трудовая книжка].[Дата постановки]),Now()) AS Все, Int(Все/12) AS Годы , Все-Годы*12 AS Месяцы , [Трудовая книжка].[Табельный номер]

FROM [Трудовая книжка]

WHERE [Трудовая книжка].[Название учреждения]="ЗАО Строительная компания" 

GROUP BY [Трудовая книжка].[Табельный номер]

HAVING (((First([Трудовая книжка].[Дата увольнения])) Is Null))

UNION SELECT Sum(DateDiff("m",[Трудовая книжка].[Дата постановки],[Трудовая книжка].[Дата увольнения]))+DateDiff("m",Last([Трудовая книжка].[Дата постановки]),Now()) AS Все, Int(Все/12) AS Годы , Все-Годы*12 AS Месяцы , [Трудовая книжка].[Табельный номер]

FROM [Трудовая книжка]

WHERE [Трудовая книжка].[Название учреждения]="ЗАО Строительная компания" 

GROUP BY [Трудовая книжка].[Табельный номер]

HAVING (Last([Трудовая книжка].[Дата увольнения]) Is Null And (First([Трудовая книжка].[Дата увольнения]) Is Not Null));

Запрос ФИО

SELECT Сотрудники.Фамилия & "  " & Сотрудники.Имя & "  " & Сотрудники.Отчество AS ФИО

FROM Сотрудники INNER JOIN [Трудовая книжка] ON Сотрудники.[Табельный номер]=[Трудовая книжка].[Табельный номер]

WHERE (([Трудовая книжка]!Должность="Генеральный директор"));




Заключение



В ходе выполнения курсовой работы средствами СУБД Microsoft Access была разработана информационная система «Кадры», предназначенная для автоматизации работы сотрудников отдела кадров.

Концептуальная модель данных представлена диаграммой «сущность-связь». На ее основании разработана логическая структура базы данных, в ходе реализации которой задействованы механизмы обеспечения целостности данных.

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

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

Литература



Хансен Г., Хансен Дж. Базы данных: разработка и управление. — М.: БИНОМ, 1999. — 704 с.

Дейт К. Дж. Введение в системы баз данных. — К.; М.; СПб.: Издательский дом «Вильямс», 1999. — 848 с.

Карпов Б. Microsoft Access 2000: справочник. — СПб: Питер, 2000. — 416 с.

Праг К. Н., Ирвин М. Р. Access 2000. Библия пользователя. — М.: Вильямс, 2000. — 1040 с.

Евдокимов В.В. и др. Экономическая информатика: Учебник для вузов / Под ред. проф. В.В. Евдокимова. — СПб.: Питер, 1997. — 592 с.

Хомоненко А. Д., Цыганков В. М., Мальцев М. Г. Базы данных: Учебник для высших учебных заведений / Под ред. проф. А. Д. Хомоненко. — СПб: Корона принт, 2000. — 416 с.







6