Файл: Проектирование реализации операций бизнес-процесса.pdf
Добавлен: 15.06.2023
Просмотров: 284
Скачиваний: 2
СОДЕРЖАНИЕ
1.1. Выбор комплекса задач автоматизации
1.2. Характеристика существующих бизнес-процессов
1.3. Характеристика документооборота, возникающего при решении задачи
Функции и задачи создаваемой АС:
Ожидаемые технико-экономические результаты создания АС:
1.4. Обоснование проектных решений по информационному обеспечению
1.5. Обоснование проектных решений по программному обеспечению
2.1. Информационная модель и её описание
2.2. Характеристика нормативно-справочной, входной и оперативной информации
2.3. Характеристика результатной информации
2.4. Общие положения (дерево функций и сценарий диалога)
2.5. Характеристика базы данных
2.6. Структурная схема пакета (дерево вызова программных модулей)
2.7. Описание программных модулей
Таблица 2.6
Таблица Типы документов
|
Идентификатор |
Тип данных |
Примечание |
|
idtip |
int(11) |
Код типа документа |
|
namet |
varchar(10) |
Наименование типа документа |
|
idkat_tip |
int(11) |
Код категории документов |
Таблица 2.71
Таблица Категории документов
|
Идентификатор |
Тип данных |
Примечание |
|
idkat |
int(11) |
Код категории документа |
|
namekat |
text |
Наименование категории документа |
Приведенные таблицы являются основой реляционной базы данных.
2.6. Структурная схема пакета (дерево вызова программных модулей)
Структурная схема пакета представлена на рисунке 2.4.
Рис.2.4. Структурная схема пакета
2.7. Описание программных модулей
Описание программных модулей приведено в таблице 2.8.
Таблица 2.8
Описание функций модулей
|
Наименование модуля |
Функции модуля |
|---|---|
|
Модуль безопасности |
Содержит процедуры и функции, обеспечивающие ввод и проверку пароля, вход пользователей в систему, автоматический выход из системы через определенный промежуток времени |
|
Модуль инициализации программы |
После успешного входа в систему, запускает программу, используя настройки прав доступа для учетной записи пользователя |
|
Модуль взаимодействия с базой данных |
Содержит процедуры и функции, используемые для установления соединения с базой данных ИС, а также управляющие операциями чтения, записи и редактирования данных |
|
Модуль справочной системы |
Содержит процедуры и функции, необходимые для отображения справочной информации |
|
Модуль главного меню |
Содержит главное меню, из которого осуществляется вызов остальных экранных форм |
|
Модуль «Отчеты» |
Содержит процедуры и функции для ввода параметров запроса, просмотра и печати отчетов |
|
Модуль «Справочники» |
Содержит процедуры функции, позволяющие просматривать содержимое справочников системы, и редактировать их (если позволяют права доступа) |
|
Модуль «Пользователи» |
Содержит процедуры функции, позволяющие управлять списками пользователей (если позволяют права доступа) |
|
Модуль «Регистрация» |
Содержит процедуры и функции, позволяющие регистрировать документы |
2.8. Контрольный пример реализации проекта и его описание
При открытии программы появляется окно вида (рис.2.5).
Рис.2.5. Главное окно программы
Рассмотрим справочники, представленные в системе (рис.2.6-2.9).
Рис.2.6. Справочник «Отделы»
Рис.2.7. Справочник «Должности»
Рис.2.8. Справочник «Виды отпуска»
Рис.2.9. Реквизиты
Во всех приведенных формах справочников есть кнопки для добавления, удаления, перемещения записи, а также кнопки «Печать» и «Выход».
Рассмотрим штатное расписание (рис.2.10 -2.13).
Рис.2.10. Штатное расписание
Рис.2.11. Штатное расписание
Рис.2.12. Штатное расписание
Рис.2.13. Штатное расписание
Как видно из рисунков 2.10-2.13, в штатном расписании представлены сотрудники по каждому отделу, их количество, ставка, оклад, а также количество вакансий.
При добавлении нового сотрудника в тот или иной отдел, нужно заполнить карточку сотрудника (рис.2.14).
Рис.2.14. Карточка сотрудника
Рассмотрим, например, как формируется приказ о направлении на командировку.
Для этого нужно выбрать сотрудника, выбрать Командировки работника (рис.2.15).
Рис.2.15. Карточка сотрудника
В появившемся окне нажать «+». Откроется форма для добавления командировки (рис.2.16).
Рис.2.16. Добавление командировки
После заполнения все полей нужно выбрать «Приказ», далее откроется заполненный бланк Приказа в формате Excel (рис.2.17).
Рис.2.17. Приказ о направлении на командировку
На основе данных скриншотов можно увидеть, что программа работоспособна и выполняются все необходимые функции по управлению персоналом.
ЗАКЛЮЧЕНИЕ
В данном проекте рассмотрены проблемы автоматизации управления персоналом.
В работе разработано информационное обеспечение системы: информационная модель, система классификации и кодирования, состав справочников, исходных и результатных документов. Приведены экраны ввода первичной и условно-постоянной информации, формы результатных документов.
Разработано программное обеспечение: описана его архитектура, структура меню, структура базы данных.
Разработанная система полностью удовлетворяет потребностям ООО «Энергострой».
СПИСОК ЛИТЕРАТУРЫ
- ГОСТ 34.602-89 «Техническое задание на создание автоматизированной системы»
- Белов Е.Б, Лось В.П. и др. Основы информационной безопасности. - М.: Горячая линя - Телеком, 2010. – 544 с.
- Вигерс К. Разработка требований к программному обеспечению, пер, с англ. - Москва.: «Русская Редакция», 2010. – 576 с.
- Гвоздева Т.В. Проектирование информационных систем. – Ростов-на-Дону: Феникс, 2009. – 512 с.
- Грекул В.И. Проектирование информационных систем. – Москва.: Интуит, 2008. – 304 с.
- Диго С.М. Базы данных: проектирование и использование: Учебник. – Москва.: Финансы и статистика, 2007. – 592 с.
- Додонова И.В., Кабанова О.В. Автоматизированная обработка банковской информации. – Москва.: КноРус, 2008. – 176 с.
- Елиферов В.Г., Репин В.В. Бизнес-процессы. Регламентация и управление. – Москва.: Инфра-М, 2009. – 320 с.
- Емельянова Н.З. Проектирование информационных систем. – Москва.: Форум, 2009. – 432 с.
- Керри Н., Майкл Р. Access 2003 - Библия пользователя, Москва.:Диалектика, 2009 - 391 с.
- Козлов А.С. Проектирование и исследование бизнес-процессов. – Москва.: Флинта, 2007. – 272 с.
- Меняев М.Ф, Информационные технологии управления: Книга 3: Системы управления организацией, Москва.: Омега-Л, 2008. - 464 с.
- Мещеряков С.В., Иванов В.М. Эффективные технологии создания информационных систем. – Москва.: Политехника, 2009. – 309 с.
- Мишенин А.И. Теория экономических информационных систем. – Москва.: Финансы и статистика, 2010. – 240 с.
- Овчинников, В.Г. Методология проектирования автоматизированных информационных систем. Основы системного подхода. – Москва.: Компания Спутник+, 2009. – 286 с.
- Орлик С., Булуй Ю, Введение в программную инженерию и управление жизненным циклом ПО Программная инженерия. Программные требования
- Пестриков, В. М. Delphi на примерах / В. М. Пестриков, А. Н. Маслобоев. — СПб. : БХВ-Петербург, 2008. — 496 с.
- Петров В. Н. Информационные системы, СПб.: Питер, 2002. - 688 стр;
- Реляционные базы данных: практические приемы оптимальных решений. – СПб.: БХВ-Петербург, 2010. – 400стр.
- Репин В.В. Бизнес-процессы компании. Построение, анализ, регламентация. – Москва.: Стандарты и качество, 2009. – 240 с.
- Рудаков А.В. Технология разработки программных продуктов. - Москва.: Академия, 2008. – 208 с.
- Титоренко Г.А. Автоматизированные информационные технологии в экономике: Учебник. – Москва.: ЮНИТИ, 2009. – 399с.
- Шандров Б.В., Чудаков А.Д. Технические средства автоматизации. – Москва.: Академия, 2007. – 368 с.
Приложение
Листинг программы
programPersonnel;
uses
Forms,
uMain in 'uMain.pas' {fmMain},
uDM in 'uDM.pas' {DM: TDataModule},
uDepartments in 'uDepartments.pas' {fmDepartments},
uRep in 'uRep.pas',
uPosts in 'uPosts.pas' {fmPosts},
uVacationTypes in 'uVacationTypes.pas' {fmVacationTypes},
uRequisite in 'uRequisite.pas' {fmRequisite},
uStaff in 'uStaff.pas' {fmStaff},
uEmpCard in 'uEmpCard.pas' {fmEmpCard},
uMission in 'uMission.pas' {fmMission},
uVacation in 'uVacation.pas' {fmVacation},
uVacancyList in 'uVacancyList.pas' {fmVacancyList};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TfmMain, fmMain);
Application.CreateForm(TDM, DM);
Application.CreateForm(TfmDepartments, fmDepartments);
Application.CreateForm(TfmPosts, fmPosts);
Application.CreateForm(TfmVacationTypes, fmVacationTypes);
Application.CreateForm(TfmRequisite, fmRequisite);
Application.CreateForm(TfmStaff, fmStaff);
Application.CreateForm(TfmEmpCard, fmEmpCard);
Application.CreateForm(TfmMission, fmMission);
Application.CreateForm(TfmVacation, fmVacation);
Application.CreateForm(TfmVacancyList, fmVacancyList);
Application.Run;
end.
unit uMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ActnList, StdActns, ActnMan, StdCtrls, Buttons, ActnCtrls,
Grids, DBGrids, DBCtrls, ExtCtrls, ComCtrls, ToolWin, ActnMenus, ImgList;
type
TfmMain = class(TForm)
ActionManager1: TActionManager;
acSpravDep: TAction;
acSpravPosts: TAction;
acSpravVacationTypes: TAction;
acSpravRequisite: TAction;
Splitter1: TSplitter;
TreeView1: TTreeView;
Panel1: TPanel;
bbtExit: TBitBtn;
DBNavigator1: TDBNavigator;
DBGrid1: TDBGrid;
ActionToolBar1: TActionToolBar;
ImageList1: TImageList;
acEmpStuff: TAction;
acEmpAdd: TAction;
acEmpEdit: TAction;
acDocReceive: TAction;
acDocRelease: TAction;
acDocEmpCard: TAction;
acEmpVacation: TAction;
acDocContract: TAction;
acEmpMissions: TAction;
acDocInsurance: TAction;
acDocPFR: TAction;
chbDismiss: TCheckBox;
acDocEmpList: TAction;
acEmpVacancyList: TAction;
ActionMainMenuBar1: TActionMainMenuBar;
acFileExit: TFileExit;
procedure acSpravDepExecute(Sender: TObject);
procedure acSpravPostsExecute(Sender: TObject);
procedure acSpravVacationTypesExecute(Sender: TObject);
procedure acSpravRequisiteExecute(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure acEmpStuffExecute(Sender: TObject);
procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
procedure acEmpAddExecute(Sender: TObject);
procedure acEmpEditExecute(Sender: TObject);
procedure DBGrid1DblClick(Sender: TObject);
procedure acDocReceiveExecute(Sender: TObject);
procedure acDocReleaseExecute(Sender: TObject);
procedure acDocEmpCardExecute(Sender: TObject);
procedure acEmpVacationExecute(Sender: TObject);
procedure acDocContractExecute(Sender: TObject);
procedure acEmpMissionsExecute(Sender: TObject);
procedure acDocInsuranceExecute(Sender: TObject);
procedure acDocPFRExecute(Sender: TObject);
procedure chbDismissClick(Sender: TObject);
procedure acDocEmpListExecute(Sender: TObject);
procedure acEmpVacancyListExecute(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmMain: TfmMain;
implementation
uses uRep, uDepartments, uPosts, uVacationTypes, uRequisite, uDM, DB,
uStaff, uEmpCard, uVacation, uMission, uVacancyList;
{$R *.dfm}
procedure TfmMain.acSpravDepExecute(Sender: TObject);
begin
fmDepartments.ShowModal;
FormShow(Self);
end;
procedure TfmMain.acSpravPostsExecute(Sender: TObject);
begin
fmPosts.Show;
end;
procedure TfmMain.acSpravVacationTypesExecute(Sender: TObject);
begin
fmVacationTypes.Show;
end;
procedure TfmMain.acSpravRequisiteExecute(Sender: TObject);
begin
fmRequisite.Show;
end;
procedure TfmMain.FormShow(Sender: TObject);
var
CategTreeNode: TTreeNode;
begin
TreeView1.Items.Clear;
DM.dstDepartments.Open;
DM.dstDepartments.Sort := 'Отдел';
DM.dstDepartments.First;
while not DM.dstDepartments.Eof do
begin
//Добавлениевершины - подразделения:
CategTreeNode := TreeView1.Items.Add(nil, DM.dstDepartments.FieldByName('Отдел').AsString);
//Data указывает на ID подразделения:
CategTreeNode.Data := Pointer(DM.dstDepartments.FieldByName('ID').AsInteger);
CategTreeNode.ImageIndex := 1;
DM.dstDepartments.Next;
end;
DM.dstDepartments.Close;
DM.dstEmployee.Open;
end;
procedure TfmMain.acEmpStuffExecute(Sender: TObject);
begin
fmStaff.ShowModal;
end;
//Отображение списка сотрудников в выбранном отделе:
procedure TfmMain.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
DM.dstEmployeeByDep.Close;
DM.dstEmployeeByDep.Parameters.ParamByName('pDismiss').DataType := ftInteger;
DM.dstEmployeeByDep.Parameters.ParamByName('pDepID').Value := Integer(Node.Data);
DM.dstEmployeeByDep.Parameters.ParamByName('pDismiss').DataType := ftBoolean;
DM.dstEmployeeByDep.Parameters.ParamByName('pDismiss').Value := chbDismiss.Checked;
DM.dstEmployeeByDep.Open;
//Часть функций меню доступны только если выбран работник:
acEmpEdit.Enabled := DM.dstEmployeeByDep.RecordCount > 0;
acEmpVacation.Enabled := DM.dstEmployeeByDep.RecordCount > 0;
acEmpMissions.Enabled := DM.dstEmployeeByDep.RecordCount > 0;
acDocEmpCard.Enabled := DM.dstEmployeeByDep.RecordCount > 0;
acDocRelease.Enabled := DM.dstEmployeeByDep.RecordCount > 0;
acDocReceive.Enabled := DM.dstEmployeeByDep.RecordCount > 0;
acDocContract.Enabled := DM.dstEmployeeByDep.RecordCount > 0;
acDocInsurance.Enabled := DM.dstEmployeeByDep.RecordCount > 0;
end;
procedure TfmMain.acEmpAddExecute(Sender: TObject);
begin
DM.dstEmployee.Insert;
fmEmpCard.ShowModal;
TreeView1Change(Self, TreeView1.Selected);
end;
procedure TfmMain.acEmpEditExecute(Sender: TObject);
begin
fmEmpCard.ShowModal;
TreeView1Change(Self, TreeView1.Selected);
end;
procedure TfmMain.DBGrid1DblClick(Sender: TObject);
begin
acEmpEditExecute(Self);
end;
procedure TfmMain.acDocReceiveExecute(Sender: TObject);
begin
Rep_Receive;
end;
procedure TfmMain.acDocReleaseExecute(Sender: TObject);
begin
Rep_Release;
end;
procedure TfmMain.acDocEmpCardExecute(Sender: TObject);
begin
Rep_Card;
end;
//Список отпусков работника:
procedure TfmMain.acEmpVacationExecute(Sender: TObject);
begin
fmVacation.Caption := 'Отпуска ' + DM.dstEmployee.FieldByName('Фамилия').AsString + ' ' +
DM.dstEmployee.FieldByName('Имя').AsString + ' ' + DM.dstEmployee.FieldByName('Отчество').AsString;
fmVacation.Show;
end;
procedure TfmMain.acDocContractExecute(Sender: TObject);
begin
Rep_Contract;
end;
//Список командировок работника:
procedure TfmMain.acEmpMissionsExecute(Sender: TObject);
begin
fmMission.Caption := 'Командировки ' + DM.dstEmployee.FieldByName('Фамилия').AsString + ' ' +
DM.dstEmployee.FieldByName('Имя').AsString + ' ' + DM.dstEmployee.FieldByName('Отчество').AsString;
fmMission.Show;
end;
procedure TfmMain.acDocInsuranceExecute(Sender: TObject);
begin
Rep_Insurance;
end;
procedure TfmMain.acDocPFRExecute(Sender: TObject);
begin
Rep_DocumentsPFR;
end;
procedure TfmMain.chbDismissClick(Sender: TObject);
begin
TreeView1Change(Self, TreeView1.Selected);