
- •3. Проектная часть
- •3.1. Технико-экономическая характеристика предметной области
- •3.1.1. Характеристика Открытого Акционерного общества «Славнефть – Ярославский нефтеперерабатывающий завод имени д.И. Менделеева»
- •3.1.2. Краткая характеристика кадровой службы отделения
- •3.2. Функциональное обеспечение задачи
- •3.2.1. Функциональная модель и ее описание
- •3.2.2. Информационная модель.
- •3.2.3. Характеристика нормативно справочной и входной оперативной информации
- •4) Приказ о внутреннем перемещении (переводе).
- •5) Приказ об отпуске (ежегодном и дополнительном оплачиваемых).
- •6) Больничный лист.
- •3.2.4. Характеристика внутримашинной информации. Инфологическая модель.
- •3.3. Программное обеспечение задачи
- •3.3.1.Общие положения
- •2.2.2. Описание программных модулей
- •3.4. Технологическое обеспечение задачи
- •3.4.1. Организация технологии сбора, передачи, обработки и выдачи информации
4) Приказ о внутреннем перемещении (переводе).
Перевод сотрудника с одной должности на другую, а так же в другой отдел сопровождается документом «приказ о перемещении». Аналогично предыдущим приказам содержит номер, дату и ниже текста подписи руководителя отделения, принимаемого на работу сотрудника. В тексте указывается следующее: фамилия, имя и отчество сотрудника; текущая должность и отдел, новая должность и (или) отдел, оклад, вид надбавки, надбавка, основание.
5) Приказ об отпуске (ежегодном и дополнительном оплачиваемых).
Предоставление отпуска сотруднику отделения сопровождается формированием документа «приказ об отпуске», обязательными реквизитами которого являются номер, дату и подписи руководителя отделения, начальника общего отдела (юриста организации).
Кроме данных сотрудника (фамилия, имя, отчество, отдел и должность) указывается вид отпуска, его период (дата начала и дата окончания) и протяженность (в днях), основание (обычно это график отпусков составляемый в начале года).
6) Больничный лист.
Информация с больничного листа сотрудника (дата начала периода болезни и дата окончания, количество больничных дней) хранится для каждого сотрудника (в виде таблицы с соответствующими полями).
3.2.4. Характеристика внутримашинной информации. Инфологическая модель.
Внутримашинное информационное обеспечение это различные виды организованной информации, удобной для её манипулирования и использования техническими средствами. Оно может быть представлено в виде файлов, баз и банков данных. Информационное обеспечивает эффективный поиск и хранение данных, а так же их выдачу. БД для задачи автоматизации рабочего места кадровика создана на базе реляционной СУБД PARADOX.
Ниже на рисунке 48 представлена диаграмма (Инфологическая модель ) сущность-связь для БД.
Описание сущностей.
Human - Личная карточка сотрудника (сущность, которая отражает в себе данные сотрудника);
Order – Приказы по сотрудникам (сущность связана с конкретным сотрудником и хранит в себе информацию о приказе по сотруднику);
KindOrder - Виды приказов;
FamilyStatus - Семейное положение;
Citizen - Справочник видов гражданства;
Рис. 48. ER-модель (логическом вид).
KindDocuments - Справочник видов документов (паспорт);
Rank - Справочник воинских званий;
Validity - Категории годности к военной службе;
Family - Члены семьи (сущность содержит информацию о семейном составе сотрудника);
Department - Справочник отделов;
Post - Справочник должностей;
Education – Образование (эта сущность хранит информацию об образовании сотрудника – законченных учебных заведениях);
Job - Предыдущая работа (хранит информацию о предыдущих местах работы)
Hospitalsheet - Больничные листы (информация о количестве пропущенных по болезни дней – с больничного листа).
На физическом уровне ER-диаграмм выглядит так, как показано на рисунке 50.
Рис. 50. ER-диаграмма (физическая модель) БД для задачи автоматизации рабочего места кадрового служащего
На этом рисунке сущности показаны вместе с атрибутами. Физически каждая сущность представляет собой таблицу БД, а атрибуты – поля в них. Опишем поля для таблиц БД, которые получаться из физической ER – модели.
Личная карточка сотрудника (таблица № 1) соответствует сущности Human и поля этой таблицы соответствуют атрибутам этой сущности. Сущность Human здесь будет соответствовать личному делу заводимому на сотрудника.
Таблица № 1
Карточка сотрудника.
Поле |
Расшифровка |
Тип данных |
Ограничение |
Кл- Юч |
IDRecord |
Идентификатор записи о сотруднике |
Автоинкрементное (целочисленное) поле |
>0 |
* |
IDTab |
Табельный номер |
Целочисленное (LongInteger) |
>0 |
|
FirstName |
Имя |
Текстовое (Alpha) |
<=32 символов |
|
Продолжение таблицы №1
Поле |
Расшифровка |
Тип данных |
Ограничение |
Кл- Юч |
MiddleName |
Отчество |
Текстовое (Alpha) |
<=45 символов |
|
LastName |
Фамилия |
Текстовое (Alpha) |
<=45 символов |
|
Birthday |
Дата Рождения |
Дата (Date) |
>01.01.1883 <текущая дата |
|
PlaceOfBirthday |
Место рождения |
Текстовое (Alpha) |
<=150 символов |
|
IDNationality |
Идентификатор национальности |
Целочисленное (LongInteger) |
Соответствует значениям связанной таблицы |
|
Phone |
Телефон |
Текстовое (Alpha) |
<=16 символов |
|
Pol |
Пол |
Текстовое (Alpha) |
1 символ: F –женский пол M –мужской пол |
|
Address |
Адрес |
Текстовое (Alpha) |
<=200 символов |
|
GruopOfAccount |
Группа учета (военный учет) |
Текстовое (Alpha) |
<=100 символов |
|
Category |
Категория учета (военный учет) |
Текстовое (Alpha) |
<=100 символов |
|
IDRank |
Идентификатор воинских званий |
Целочисленное (LongInteger) |
Соответствует значениям связанной таблицы
|
|
MilitaryProfil |
Воинский профиль |
Текстовое (Alpha) |
<=100 символов |
|
MilitarySpec |
Военно-учетная специальность |
Текстовое (Alpha) |
<=100 символов |
|
Продолжение таблицы № 1
Поле |
Расшифровка |
Тип данных |
Ограничение |
Кл- юч |
IDValidity |
Идентификатор годности к военной службе |
Целочисленное (LongInteger) |
Соответствует значениям связанной таблицы |
|
RegionalComissariat |
Районный военный комиссариат |
Текстовое (Alpha) |
<=50 символов |
|
OutOfAccount |
Отметка о снятии с учета (военный учет) |
Текстовое (Alpha) |
1 символ: A – по возрасту H – по состоянию здоровья |
|
PensSertificate |
Номер Пенсионного свидетельства |
Текстовое (Alpha) |
14 (11 числовых) символов: маска: ***-***-*** ** *-целые числа |
|
IDKindDocument |
Идентификатор вида документа (паспортные данные) |
Целочисленное (LongInteger) |
Соответствует значениям связанной таблицы |
|
Series |
Серия |
Текстовое (Alpha) |
<=4 символов |
|
Number |
Номер |
Целочисленное (LongInteger) |
>=100000 и <=999999 |
|
Date |
Дата Выдачи |
Дата (Date) |
>01.01.1883 <текущая дата |
|
Who |
Кем выдан |
Текстовое (Alpha) |
<=75 символов |
|
CurrentIDDepartment |
Идентификатор текущего отдела |
Целочисленное (LongInteger) |
Соответствует значениям связанной таблицы
|
|
Продолжение таблицы № 1
Поле |
Расшифровка |
Тип данных |
Ограничение |
Кл- юч |
CurrentIDPost |
Идентификатор текущей должности |
Целочисленное (LongInteger) |
Соответствует значениям связанной таблицы |
|
IDFamilyStatus |
Идентификатор семейного положения |
Целочисленное (LongInteger) |
Соответствует значениям связанной таблицы |
|
GosSl |
Является ли сотрудник государственным служащим |
Логический тип (BOOLEAN) |
|
|
ExWorkPlace |
сотрудник принят на дополнительное рабочее место |
Логический тип (BOOLEAN) |
|
|
CurrentStatus |
Текущий статус работника |
Текстовое (Alpha) |
1 символ: F – Уволен H – Работает N – не работает |
|
Для сущности Order – таблица приказов по сотрудникам с соответствующими атрибутам полями (таблица № 2). Эта сущность отражает документ приказ и имеет связь один к многим с сущностью Human, означающую что каждому приказу должен соответствовать один сотрудник (приказ на увольнение, перемещение, прием на работу и отпуск только для одного сотрудника) и на любого сотрудника может быть несколько разных приказов.
Таблица № 2.
История приказов.
Поле |
Расшифровка |
Тип данных |
Ограничение |
Ключ |
IDOrder |
Идентификатор приказа |
Целочисленное поле (Autoicrement) |
>0 |
* |
Number |
Номер приказа
|
Целочисленное (LongInteger) |
|
|
Продолжение таблицы №2
Поле |
Расшифровка |
Тип данных |
Ограничение |
Кл- юч |
Date |
Дата приказа |
Дата (Date) |
|
|
DateOne |
Дата приема на работу (приказ о приеме на работу), дата увольнения (приказ об увольнении), дата перемещении (приказ о перемещении), Дата начала ежегодного основного отпуска (приказ об отпуске) |
Дата (Date) |
|
|
DateTwo |
Дата окончания ежегодного основного отпуска (приказ об отпуске) |
Дата (Date) |
|
|
DateOneD |
Дата начала ежегодного дополнит. отпуска (приказ об отпуске) |
Дата (Date) |
|
|
DateTwoD |
Дата окончания ежегодного дополнит. отпуска (приказ об отпуске) |
Дата (Date) |
|
|
IDRecord |
Идентификатор Записи о сотруднике |
Целочисленное (LongInteger) |
Соответствует значениям связанной таблицы |
|
Продолжение таблицы № 2
Поле |
Расшифровка |
Тип данных |
Ограничение |
Кл- юч |
Basis |
Основание для увольнения, перемещения, приема на работу.
|
Текстовое (Alpha) |
<=150 |
|
ReasonFire |
Причина увольнения либо та организация куда переводиться сотрудник |
Текстовое (Alpha) |
<=150 |
|
Oklad |
Должностной оклад |
Денежный (рубль) Money |
|
|
Vid_Nadb |
Вид надбавки |
Текстовый (Alpha) |
<=150 |
|
Nadb |
Надбавка |
Число (Number) |
|
|
Isp_SrokM |
Испытательный срок (месяцев) |
Целое Число (Integer) |
<=6 |
|
Isp_SrokD |
Испытательный срок (дней) |
Целое Число (Integer) |
<=31 |
|
KindFire |
Вид увольнения |
Текстовый (Alpha) |
PSG – по собственному желанию, PER - в связи ч переводом SKR – в связи с сокращением численности персонала |
|
Виды приказов (таблица № 3) соответствует сущности KindOrder, которая имеет связь один ко многим с сущностью order, означающую что одному виду приказа могут соответствовать несколько приказов, но каждый приказ может быть только одного вида.
Таблица № 3.
Виды приказов
Поле |
Расшифровка |
Тип данных |
Ограничение |
Ключ |
IDKindOrder |
Идентификатор вида приказа |
Автоинкрементное (целочисленное) поле (Autoicrement) |
>0 |
* |
KindOrder |
Вид приказа |
Текстовое (Alpha) |
<=50 символов |
|
Семейное положение – таблица соответствующая сущности FamilyStatus (Таблица № 4), имеющей связь один ко многим с сущностью Human, - у сотрудника может быть только один вид семейного положения в определенный момент времени и, наоборот, может быть несколько сотрудников с одинаковыми видами семейного положения.
Таблица № 4.
Виды семейного положения человека.
Поле |
Расшифровка |
Тип данных |
Ограничение |
Ключ |
IDFamilyStatus |
Идентификатор Семейного положения |
Автоинкрементное (целочисленное) поле (Autoicrement) |
>0
|
* |
FamilyStatus |
Семейное положение |
Текстовое (Alpha) |
<=25 символов |
|
Сущность Citizen которой соответствует таблица БД (Таблица № 5) справочник видов гражданства, и поэтому эта сущность имеет связь один к многим с сущностью human.
Таблица № 5.
Вид гражданства сотрудника.
Поле |
Расшифровка |
Тип данных |
Ограничение |
Ключ |
IDCitizen |
Идентификатор вида гражданства |
Автоинкрементное (целочисленное) поле (Autoicrement) |
>0
|
* |
Citizen |
Вид гражданства |
Текстовое (Alpha) |
<=35 символов |
|
Атрибуты сущности KindDocuments соответствуют полям таблицы справочник видов документов (таблица № 6). Аналогично предыдущей сущности KindDocuments имеет связь с human как один ко многим.
Таблица № 6.
Виды документов (удостоверяющих личность)
Поле |
Расшифровка |
Тип данных |
Ограничение |
Ключ |
IDKindDocument |
Идентификатор вида документа |
Автоинкрементное (целочисленное) поле (Autoicrement) |
>0
|
* |
KindDocument |
Вид документа |
Текстовое (Alpha) |
<=35 символов |
|
Сущность Rank организована в таблицу справочник воинских званий (таблица № 7). Так же как и другой справочник (справочник национальностей) имеет связь один ко многим с той же сущностью human.
Таблица № 7.
Виды воинских званий.
Поле |
Расшифровка |
Тип данных |
Ограничение |
Ключ |
IDRank |
Идентификатор воинского звания |
Автоинкрементное (целочисленное) поле (Autoicrement) |
>0 |
* |
Rank |
Воинское звание |
Текстовое (Alpha) |
<=50 символов |
|
Сущность Validity выражена в физическую таблицу БД - категории годности к военной службе (Таблица № 8) и имеет связь один ко многим с той же сущностью human.
Таблица № 8.
Категории годности к военной службе.
Поле |
Расшифровка |
Тип данных |
Ограничение |
Ключ |
IDValidity |
Идентификатор годности к военной службе |
Автоинкрементное (целочисленное) поле (Autoicrement) |
>0 |
* |
Validity |
Категория годности к военной службе |
Текстовое (Alpha) |
<=50 символов |
|
Сущность Family, соответствующая таблице с названием «члены семьи» (Таблица № 9) имеет так же связь один ко многим с сущностью human, но при у одного сотрудника может быть несколько членов семью, тогда как у экземпляра сущности Family должна быть связь только с одним сотрудником (экземпляром сущности human). Аналогичную связь имеют описанные ниже сущности Education и Job.
Таблица № 9.
Семейный состав сотрудника.
Поле |
Расшифровка |
Тип данных |
Ограничение |
Ключ |
IDFamily |
Идентификатор Члена семьи |
Автоинкрементное (целочисленное) поле (Autoicrement) |
>0 |
* |
IDRecord |
Идентификатор Записи о сотруднике |
Целочисленное (LongInteger) |
Соответствует значениям связанной таблицы |
|
Name |
Фамилия Имя Отчество члена семьи |
Текстовое (Alpha) |
<=100 символов |
|
Status |
Наименование члена семьи |
Текстовое (Alpha) |
<=32 символов |
|
Birthday |
Дата Рождения |
Дата (Date) |
>01.01.1883 <текущая дата |
|
Place |
Место Работы (Учебы ...) |
Текстовое (Alpha) |
<=50 символов |
|
Таблица справочник отделов соответствует сущности Department и представлена в таблице № 10. Сущность имеет связь один ко многим с сущностью human и связь многие ко многим с сущностью Order, которая на этапе нормализации решается вводом дополнительной сущности DepartmentOrder, которая представлена в таблице № 11.
Таблица № 10.
Справочник отделов.
Поле |
Расшифровка |
Тип данных |
Ограничение |
Ключ |
IDDepartment |
Идентификатор Отдела |
Автоинкрементное (целочисленное) поле (Autoicrement) |
>0 |
* |
Department |
Отдел |
Текстовое (Alpha) |
<=50 символов |
|
Таблица № 11.
Вид отдела в приказе.
Поле |
Расшифровка |
Тип данных |
Ограничение |
Ключ |
IDDepartment |
Идентификатор отдела |
Целочисленное (LongInteger) |
Соответствует значениям связанной таблицы |
|
IDOrder |
Идентификатор приказа |
Целочисленное (LongInteger) |
Соответствует значениям связанной таблицы |
|
KindDepartment |
Вид отдела в приказе |
Текстовое (Alpha) |
1 символ: «с» -текущий отдел; «т» - новый.
|
|
Таблица справочник должностей (таблице № 12) соответствует сущности Post имеет так же связь один ко многим с сущностью human и связь многие ко многим с сущностью Order, которая на этапе нормализации решается вводом дополнительной сущности DepartmentOrder, которая представлена в таблице № 13
Таблица № 12.
Справочник должностей.
Поле |
Расшифровка |
Тип данных |
Ограничение |
Ключ |
IDPost |
Идентификатор должности |
Автоинкрементное (целочисленное) поле (Autoicrement) |
>0 |
* |
Post |
Должность |
Текстовое (Alpha) |
<=50 символов |
|
Таблица № 13.
Вид должности в приказе.
Поле |
Расшифровка |
Тип данных |
Ограничение |
Ключ |
IDPost |
Идентификатор должности |
Целочисленное (LongInteger) |
Соответствует значениям связанной таблицы |
|
IDOrder |
Идентификатор приказа |
Целочисленное (LongInteger) |
Соответствует значениям связанной таблицы |
|
KindPost |
Вид должности в приказе |
Текстовое (Alpha) |
1 символ: «с» -текущая должность; «т» - новая.
|
|
Таблица с названием «образование» соответствует сущности в ER-модели Education (Таблица № 14).
Сущность Job и соответствующая ей таблица предыдущая работа (таблица № 15).
Таблица № 14.
Образование сотрудника.
Поле |
Расшифровка |
Тип данных |
Ограничение |
Ключ |
IDEducation |
Идентификатор записи об образовании |
Автоинкрементное (целочисленное) поле (Autoicrement) |
>0 |
* |
IDRecord |
Идентификатор Записи о сотруднике |
Целочисленное (LongInteger) |
Соответствует значениям связанной таблицы |
|
Institut |
Учебное заведение |
Текстовое (Alpha) |
<=120 |
|
Professional |
Специальность |
Текстовое (Alpha) |
<=100 |
|
BeginYar |
Год Поступления |
Целочисленное (LongInteger) |
<EndYar |
` |
EndYar |
Год Окончания |
Целочисленное (LongInteger) |
>BeginYar
|
|
Таблица 15.
Предыдущая работа (данные трудовой книжки).
Поле |
Расшифровка |
Тип данных |
Ограничение |
Ключ |
IDJob |
Идентификатор записи о предыдущем месте работы |
Автоинкрементное (целочисленное) поле (Autoicrement) |
>0 |
* |
IDRecord |
Идентификатор Записи о сотруднике |
Целочисленное (LongInteger) |
Соответствует значениям связанной таблицы |
|
Post |
ДОЛЖНОСТЬ с указанием наименования учреждения |
Текстовое (Alpha) |
<=200 |
|
Place |
Местонахождение Учреждения |
Текстовое (Alpha) |
<=200 |
|
DateIn |
Дата вступления в должность |
Дата (Date) |
>01.01.1883 <DateIn |
|
DateOut |
Дата ухода с должности |
Дата (Date) |
>DateOut <=Текущей даты |
|
В таблице больничные листы (таблица № 16), соответствующей сущности Hospitalsheet, отражаются записи из больничных листов сотрудников – даты начала и окончания периода болезни сотрудника.
Все вышеописанные связи между сущностями указаны на ER-диаграмме (рисунок 36).
Таблица № 16
Больничные.
Поле |
Расшифровка |
Тип данных |
Ограничение |
Ключ |
IDHospitalsheet |
Идентификатор записи о больничном листе сотрудника |
Автоинкрементное (целочисленное) поле (Autoicrement) |
>0 |
* |
IDRecord |
Идентификатор Записи о сотруднике |
Целочисленное (LongInteger) |
Соответствует значениям связанной таблицы |
|
DateOfBegin |
Дата начала болезни |
Дата (Date) |
>01.01.1883 <DateOfEnd |
|
DateOfEnd |
Дата окончания болезни |
Дата (Date) |
>DateOfBegin <Текущей даты |
|