Файл: Проектирование реализации операций бизнес-процесса «Управление персоналом» в организации.pdf
Добавлен: 25.05.2023
Просмотров: 237
Скачиваний: 3
Входной информацией является информация о работнике предприятия – фамилия, имя, отчество, должность, заработная плата. Входная информация вводится в ниже представленную форму (См. Рисунок 8):
Рисунок 8 – Ввод данных о работнике
Вся информация хранится в одно таблице.
Входная информация обновляется в процессе работы программы, могут быть корректировки, если была допущена ошибка или есть какие-то изменения, например в заработной плате.
Характеристика результатной информации
К результирующей информации относится информация которая получается в процессе работы программы. А именно:
Заполненная база данных (отдельный документ);
Отчеты по заработной плате сотрудников.
2.2. Программное обеспечение задачи
Общие положения (дерево функций и сценарий диалога)
Программа создается для одного пользователя – работника отдела кадров.
Дерево функций разрабатываемой программы представлено на рисунке 9.
Рисунок 9 - Дерево функций программы
Сценарий диалога программы представлен на рисунке 10.
Рисунок 10 – Сценарий функций программы
Характеристика базы данных
Базой данных (БД) называется совокупность материалов, которые систематизированы таким образом, чтобы их было легко найти и обработать с помощью ПК или другой ЭВМ (электронно-вычислительной машины). Под материалами может пониматься все, что угодно: статьи, различные документы, отчеты и т.д.
БД называется также такая совокупность данных, которая хранится на ПК в соответствии с определенной схемой.
В нашем случае БД – это единственная таблица (состоящая из полей familia, name, surname, pasport, zarplata, dolzhnost, info), а именно:
Таблица 1 – Описание полей БД
|
№ п/п |
Название |
Тип |
Значение |
|
1 |
Номер кадра |
Integer |
Табельный номер работника |
|
2 |
familia |
String |
Фамилия |
|
3 |
name |
String |
Имя |
|
4 |
surname |
String |
Отчество |
|
5 |
Passport |
Integer |
Номер паспорта |
|
6 |
Zarplata |
Integer |
Сумма заработной платы |
|
7 |
dolzhnost |
String |
Занимаемая должность |
|
8 |
info |
String |
Дополнительная информация (образование, и опыт работы) |
Структурная схема пакета (дерево вызова программных модулей)
При запуске программы, открывается окно с приветствием, и только после нажатия кнопки «Далее», происходит переход на основную форму программы.
Для создания данной программы использовались следующие модули:
Unit1.pas – модуль приветствия;
Unit2.pas – модуль основной формы программы. На нем находится – меню – элемент MainMenu1, компонент для открытия базы данных – OpenDialog1, компонент для сохранения базы данных SaveDialog1,
Unit3.pas – модуль, который представляет собой форму для добавления данных – форма «Добавление записи»;
Unit4.pas – модуль, который представляет собой форму для редактирования данных – форма «Редактирование записи»;
Unit5.pas – модуль, который используется для поиска;
Unit6.pas - график, то есть представление размера заработной платы сотрудников в графической форме;
Unit7.pas - окно, которое появляется после того, как была нажата кнопка «Выход» , так называемое окно «Завершение работы приложения».
Дерево вызова программных модулей программы представлено на рисунке 11.
Рисунок 11 – Дерево вызова программных модулей приложения
Описание программных модулей
Алгоритм работы программы можно представить в виде диаграммы последовательности:
Рисунок 12 – Алгоритм работы программы
Что бы добавить нового пользователя необходимо заполнить форму, а для этого разработан модуль Unit5, который представлен на рисунку ниже:
Рисунок 13 – Блок-схема работы модуля Unit5
2.3. Контрольный пример реализации проекта и его описание
Основное окно программы изображено на рисунке 14.
Рисунок 14 – Общий вид главного окна
Интерфейс пользователя максимально прост. Основным элементом управления является таблица данных о сотрудниках. В ней отображается фамилия, имя, отчество, занимаемая должность, паспортные данные, зарплата, также имеется независимое поле, в котором указывается дополнительная информация о сотруднике предприятия.
Также в программе предусмотрена возможность сохранения базы данных в файл, поиск сотрудника по базе данных, загрузка базы из файла в программу и возможность просмотра сравнительного графика о заработной плате сотрудников предприятия.
Для того, что бы отредактировать информацию о сотруднике, если были введены неточности, следует выделить соответствующую запись нажать кнопку меню «Управление» - «Редактирование записью» и в открывшемся окне исправить.
Для организации ввода информации в программе предусмотрены диалоги с проверкой введенных данных (рисунок 15):
Рисунок 15 - Удаление записи
Для того, что бы получить статистические данные о заработной плате работников необходимо нажать на кнопку меню «График» - «По паспортным данным», и в результате будет представлен график в виде гистограммы, число столбцов зависит от числа работников:
Рисунок 16 – График заработной платы сотрудников
Программа позволяет отсортировать все записи БД. Для того, что бы отсортировать в двух направления по алфавиту и наоборот. Для этого следует нажать либо соответствующую кнопку либо выбрать пункт меню «Отсортировать». И все записи от сортируются в соответствии с заданными требованиями.
Для выхода из программы следует нажать кнопку «Выход». Затем появится «прощальное» окно.
Рисунок 17 – Завершение работы программы
ЗАКЛЮЧЕНИЕ
Цель курсового проекта – разработка программы для автоматизации отдела кадров выполнена.
Для реализации поставленной цели изучены теоретические вопросы по автоматизации работы отдела кадров.
Так же:
- Описан документооборот, который имеет место на предприятию;
- Описаны бизнес-процессы в автоматизированном и не автоматизированном режиме;
- обоснован выбор проектных решений по информационному обеспечению – выбрана реляционная модель баз данных,
- обоснован выбор проектных решений по программному обеспечению – выбрана среда разработки Borland Delphi 7.
Автоматизация рабочего места работника отдела кадров, позволит уменьшить время на обработку информации; произойдет сокращение затрат на обработку информации; уменьшатся затраты времени на поиск необходимой информации; улучшится качества контроля и учета обрабатываемой информации; повысится эффективность работы не только кадровика, но и остальных подразделений фирмы.
Можно заключить, что применение информационные технологий значительно повышает эффективность работы кадровых служб за счет использования преимуществ информационных систем.
Внедрение современных технологий классического кадрового учета оставит сотрудникам гораздо больше времени на работу с современными инструментами управления персоналом - управления мотивацией, планированием расходов и прочее, и прочее.
БИБЛИОГРАФИЯ
- Карпова Т.С. Базы данных: модели, разработка, реализация. СПб.: Питер, 2001. –304с.
- Фаронов В.В. Программирование баз данных в Delphi 7. Учебный курс. – СПб: Питер, 2006. – 459с.
- Конноли Т., Бегг Л., Страчан А. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. – 2-е изд. – Вильямс, 2000.
- Хомоненко А.Д. и др. Delphi 7./ Под общей редакцией А. Д. Хомоненко – СПб.: BHV, 2004.
Приложение А
Код программы
unit my_class_methods; //модуль с методами класса
interface
uses
SysUtils, Dialogs;
type
RDannue=record //переменная типа запись с полями фамилия, имя , отчество, должность,
familia: string[20]; //паспортные данные, заработная плата, дополнительная информация
name: string[15];
surname: string[30];
dolzhnost:string[255];
info: string[255];
pasport:integer;
zarplata:integer;
end;
//описания класса методов для
//автоматизированной работы отдела кадров
TDannue = class
public
otdelkadrov : array[0..100] of RDannue; // массив записей
kol_vo:integer; // количество записей
number: integer; //номер текущей строки
constructor Create; //конструктор класса
//метод для добав-
//ления записи
procedure Dannue_add(familia, name, surname, dolzhnost, info: string; pasport,
zarplata : integer);
//удаляет запись
procedure Del_Dannue (number : integer);
//сохраняет базу
//в файл
procedure Save (filename : string);
//загружает базу
//из файла
procedure Load (filename : string);
procedure Sort; //сортировка по алфавиту
procedure Sorted; //сортировка против алфавита
procedure Dannue_update(number: integer;familia, name, surname, dolzhnost, info : string; pasport,
zarplata : integer);
end;
implementation
constructor TDannue.Create; //конструктор для
begin //класса TDannue
inherited Create; //вызов родительского
//конструктора
Kol_vo := 1; // количество записей =1
end;
procedure TDannue.Sort(); // сортировка по алфавиту(выборкой)
var
i, j : integer;
k : integer;
m : RDannue;
begin
for i := 1 to (kol_vo - 2) do
for j := (i + 1) to (kol_vo - 1) do
begin
k := i;
if (otdelkadrov[j].familia[1]<otdelkadrov[k].familia[1]) and (otdelkadrov[j].familia[1] <> '') then
k := j;
m := otdelkadrov[i];
otdelkadrov[i] := otdelkadrov[k];
otdelkadrov[k] := m;
end;
end;
procedure TDannue.Dannue_add(familia, name, surname, dolzhnost, info : string; pasport, zarplata : integer);
begin //процедура для добавления
//записи
otdelkadrov[kol_vo].name:= name;
otdelkadrov[kol_vo].familia := familia;
otdelkadrov[kol_vo].surname := surname;
otdelkadrov[kol_vo].dolzhnost := dolzhnost;
otdelkadrov[kol_vo].info := info;
otdelkadrov[kol_vo].pasport := pasport;
otdelkadrov[kol_vo].zarplata := zarplata;
inc (kol_vo);
end;
procedure TDannue.Dannue_update(number: integer;familia, name, surname, dolzhnost, info : string;
pasport, zarplata : integer);
begin //процедура для добавления
//записи
otdelkadrov[number].name:= name;
otdelkadrov[number].familia := familia;
otdelkadrov[number].surname := surname;
otdelkadrov[number].dolzhnost := dolzhnost;
otdelkadrov[number].info := info;
otdelkadrov[number].pasport := pasport;
otdelkadrov[number].zarplata := zarplata;
end;
procedure TDannue.Del_Dannue(number : integer); // процедура удаления записи из базы
var
i : integer;
begin
dec (number);
for i := number to (kol_vo - 1) do
otdelkadrov[i] := otdelkadrov[i+1];
kol_vo := kol_vo - 1;
end;
procedure TDannue.Save(filename : string); // процедура сохранения базы в типизированный файл *.bas
var
data_file : file of RDannue;
i : integer;
begin
if pos ('.bas', filename) = 0 then
filename := filename + '.bas';
assignfile (data_file, filename);
rewrite (data_file);
for i := 1 to kol_vo do
write (data_file, otdelkadrov[i]);
closefile (data_file);
end;
procedure TDannue.Sorted(); //процедура сортировки данных против алфавита(выборкой)
var
i, j : integer;
k : integer;
m : RDannue;
begin
for i := 1 to (kol_vo - 2) do
for j := (i + 1) to (kol_vo - 1) do
begin
k := i;
if otdelkadrov[j].familia[1] > otdelkadrov[k].familia[1] then
k := j;
m := otdelkadrov[i];
otdelkadrov[i] := otdelkadrov[k];
otdelkadrov[k] := m;
end;
end;
procedure TDannue.Load(filename : string); //процедура открытия файла
var
data_file : file of RDannue;
begin
kol_vo := 1;
assignfile (data_file, filename);
reset (data_file);
while not(eof(data_file)) do
begin
read (data_file, otdelkadrov[kol_vo]);
inc (kol_vo);
end;
dec (kol_vo);
closefile (data_file);
end;
end.
unit Unit1; // модуль первой формы
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Buttons, XPMan, my_class_methods;
type
TForm1 = class(TForm)
Image1: TImage;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label6: TLabel;
XPManifest1: TXPManifest;
Label7: TLabel;
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, Unit7;
{$R *.dfm}
procedure TForm1.BitBtn2Click(Sender: TObject); // Уверены, что хотите выйди?
begin
if MessageDlg('Вы уверены, что хотите выйти?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
form7.show;
form1.Hide;
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject); //открываем следующую форму
begin
form2.show;
form1.hide;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); // обработчик на закрытие формы
begin
//закрыта форма
//закрываем все приложение
application.Terminate;
end;
end.
unit Unit2; // модуль формы управления приложением
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, Grids, ComCtrls, ToolWin, ImgList,
Menus, my_class_methods, ShellAPI;