Файл: Проектирование реализации операций бизнес-процесса «Расчет заработной платы (АНАЛИТИЧЕСКАЯ ЧАСТЬ).pdf
Добавлен: 17.05.2023
Просмотров: 462
Скачиваний: 2
Формируется таблица окончательных отношений (см. Таблицу 2.4).
Таблица 2.4 - Таблица окончательных отношений
|
Работники Расценок Процент премии Личная информация Сведения о детях |
Табельный Номер, ФИО, Наименование Должности, Отдел, Вил Оплаты Труда, Номер Разряда. Вид Оплаты, Номер Разряда, Расценок. Номер Разряда, Процент Премии. ФИО, Адрес, Дом Тел, Моб Тел, Дата Рождения. ФИО, ФИО Детей, Дата Рождения, Место Проживания. |
Структурная схема пакета (дерево вызова программных модулей)
Для разработки системы автоматизации организации используется система приложение. Эта система имеет модульную форму организации конфигурации. В глобальных модулях хранятся переменные, процедуры и функции доступные из любых других модулей. Также можно выделить другие группы модулей:
- справочники
- документы
- отчеты
- обработки
- регистры.
Описание программных модулей
Работа с программой начинается с выбора пользователя и вывода информационного окна и активизации системы меню.
Работа программы осуществляется по диалоговому и событийному режиму, при этом по диалогом понимается предоставление пользователю нескольких альтернатив и обработка его выбора. В диалоговую систему входят главное меню с соответствующими всплывающими подменю а также диалоговые окна. Под событиями понимаются процессы активизируемые пользователем (например – нажатие функциональных клавиш), а также программные события – получение определенным полем фокуса редактирование или потеря фокуса ввода. На основании данных событий активизируются процедуры контроля допустимости данных.
Программа состоит из следующих основных модулей.
Глобальный модуль - конфигурация среды окружения, формирование основного экрана программы, создание системы главного меню и соответствующих подменю, активизация меню.
Процедуры формирования отчетов – обеспечение выдачи установленных форм документов на основании критериев, определяемых пользователем и информационной базы.
Модуль справочников и модуль документов - обеспечение ввода информации с первичных документов в базы данных, контроль за допустимостью значений, обеспечение ввода данных путем выбора из списка.
Все модули в программе связаны между собой по данным, которые анализируются на входе и вырабатываются на выходе. Данные в модули поступают через диалог с пользователем, параметры и документы информационной базы.
Для ведения информационной базы могут быть выполнены операции просмотра и печати документов, их редактирование, ведение нормативно-справочных документов, а также создание архивов и восстановление документов БД. Операции осуществляются путем выбора соответствующих пунктов в главном и подчиненных меню.
Данные через диалог могут быть получены прямым и косвенным способом. Прямой способ реализуется путем их ввода по шаблону или по запросу конкретных значений. Косвенный способ – путем меню.
Параметры (входные документы ) – входные данные, полученные в виде конкретных значений, переданных в оперативной памяти смежным модулям (функциям ).
-
- Контрольный пример реализации проекта и его описание
В ходе создания базы данных были созданы такие таблицы, как: Служебная Информация (см. рис. 2.5); Личная Информация (см рис. 2.6); Сведения О Детях Сотрудника (см. рис. 2.7); Расценок (см. рис. 2.8); Процент Премии(см. рис. 2.9);
Рисунок 2.5 - Таблица Служебная Информация
Эта таблица необходима для учета всех работников на предприятии. Чтобы всегда можно было с легкостью посмотреть какой работник в каком отделе работает, какой разряд у работника.
Рисунок 2.6 - Таблица Личная Информация
Таблица в которой содержится полная информация о всех сотрудниках данного предприятия. Очень важно знать где проживает сотрудник, его телефоны, чтобы всегда можно было с ним связаться.
Рисунок 2.7 - Таблица Сведения О Детях Сотрудника
Эта таблица необходима для того, чтобы в дальнейшем можно было рассчитывать НДФЛ.
Рисунок 2.8 - Таблица Расценок
В этой таблице содержится информация о размерах окладов и тарифных ставках по разрядам.
Рисунок 2.9 - Таблица Процент Премии
Эта таблица нужна для того, чтобы четко видеть какому разряду соответствует определенный процент премии. Была сделана схема данных.
Рисунок 2.10 - Схема данных
Благодаря тому, что база данных состоит из отдельных таблиц, с установленными между ними связями, обеспечивается безопасность и конфиденциальность информации, а также обеспечивается удобство поиска нужной информации из массива данных.
Рисунок 2.11 - Форма
В кнопочной форме представлены кнопки, которые ссылаются на основные категории БД (Таблицы, Запросы, Отчеты, Формы) и удобны в использовании. Кнопки предназначены для того, чтобы было легко открывать все таблицы, запросы, формы и отчеты. Кнопка "Выход" позволяет закрыть БД и сохраняет при изменении.
ЗАКЛЮЧЕНИЕ
Курсовая работа ставила целью разработать автоматизированную систему «Расчет заработной платы».
В проделанной работе были опробованы и использованы основные метода и объекты системы управления базами данных Microsoft Access.
В курсовом проекте разработана удобная база данных для отдела организации и оплаты труда, в которой содержатся таблицы и запросы. Стало намного удобнее работать.
В результате выполнения дипломного проекта были решены следующие задачи:
- Проведен анализ предметной области;
- Построена функциональная модель по результатам обследования предметной области;
- Выявлены недостатки;
- Построена информационная модель данных;
- Построены дерево функций и сценарий диалога;
- Выполнено проектирование системы, которая позволяет более эффективно осуществлять ведение документооборота в рамках ведения проектов, а также подготовку и печать выходных документов;
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
- ГОСТ 19.701-90 ЕСПД. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила оформления.
- ГОСТ 19.103-77 ЕСПД. Обозначение программ и программных документов.
- ГОСТ 19.402-78 ЕСПД. Описание программы.
- ГОСТ 19.505-79 ЕСПД. Руководство оператора. Требования к содержанию и оформлению.
- ГОСТ 34.201-89. Информационная технология. Комплекс стандартов на автоматизированные системы. Виды, комплектность и обозначение документов при создании автоматизированных систем.
- ГОСТ 19.701-90 ЕСПД. Схемы алгоритмов, программ, данных и сис¬тем. Условные обозначения и правила выполнения.
- Карпова Т.С. Базы данных: модели, разработка, реализация. – СПб.: Питер, 2001 – 304с.
- Базы данных: Учебник для вузов / Под ред. Проф. А.Д.Хомоненко. Изд. 2-е. – МПб.: КОРОНА принт, 2002. – 672с.
- Дж.Вейскас. Эффективная работа с Microsoft Access 2000. – С.-Птб. : Питер, 2000. – 1040с. ACCESS 7.0 для Windows 95. - Киев: BHV, 1996. – 480с.
- Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. ГОСТ 19.701-90 (ИСО 5807-85) / Государственный комитет СССР по управлению качеством продукции и стандартам, 01.01.1992.
- Автоматизированные информационные системы, базы и банки данных. Вводный курс: Учебное пособие, М.: Гелиос АРВ, 2007. - 368 с., ил
- Баженова И. Ю. , Основы проектирования приложений баз данных, Издательства: Бином. Лаборатория знаний, Интернет-университет информационных технологий, 2008 г., , 328 стр.
- Вендров А.М., CASE-технологии. Современные методы и средства проектирования информационных систем - М.: Финансы и статистика, 2007 г, 456 стр.
- Гашков С. Б., Э. А. Применко, М. А. Черепнев Криптографические методы защиты информации, М, Издательство: Академия, 2010 г., 304 стр.
- Гвоздева Т. В., Б. А. Баллод, Проектирование информационных систем, М, Издательство: Феникс, 2009 г., 512 стр.
- Голицына О. Л., И. И. Попов, Н. В. Максимов, Т. Л. Партыка, Информационные технологии, М, Издательство Инфра-М, 2009 г., 608 стр.
- Емельянова Н. З., Партыка Т. Л., И. И. Попов, Проектирование информационных систем, М, Издательство: Форум, 2009 г., 432 стр.
- Емельянова Н. З., Т. Л. Партыка, И. И. Попов, М, Издательство Форум, 2007 г., , 416 стр.
- Илюшечкин В. М. , Основы использования и проектирования баз данных, М, Издательство Юрайт, 2010 г., 224 стр.
- Котляров В. П., Т. В. Коликова, Основы тестирования программного обеспечения, Издательства: Интернет-университет информационных технологий, Бином. Лаборатория знаний, 2009 г., 288 стр.
- Кузин А. В., С. В. Левонисова, Базы данных, М, Издательство: Академия, 2008 г., 320 стр.
- Кузнецов С. Д., Основы баз данных, М, Издательства: Бином. Лаборатория знаний, Интернет-университет информационных технологий, 2007 г., 488 стр.
- Молчанов А. Ю., Системное программное обеспечение, М, Издательство: Питер, 2010 г., 400 стр.
ПРИЛОЖЕНИЕ А - ЛИСТИНГ ПРОГРАММНЫХ МОДУЛЕЙ
function IsFormOpen(const FormName : string): Boolean;
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N20Click(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure DataSource1DataChange(Sender: TObject; Field: TField);
procedure N4Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N19Click(Sender: TObject);
private
{ Private declarations }
procedure BuildGridDatabaseDirectoryItem(sCaption:String; ds:TDataSource);
public
{ Public declarations }
end;
var
MainClientsForm: TMainClientsForm;
nastr:tinifile;
DirectoryForm : TDBDirectoryTemplateForm;
prosmForm: Taddform;
mainflag:boolean;
nomer_poisk:word;
flag1,flag2:boolean;
s:string;
var dom_tel,mob_tel:string;
adres,notes:string;
stag:real;
rogd:tdate;
var education,vuz, fakultet,specialnost,kurs:string;
data_vuz, data_kurs:tdate;
lingvo,lingvo_k, comp, comp_k :string;
idlingvo, idcomp, id_education,id_client,id_regim, id_areal, id_organization:integer;
var oblast,profesiya:string;
implementation
{$R *.dfm}
function TMainClientsForm.IsMDIChildOpen(const AFormName: TForm; const AMDIChildName : string): Boolean;
var
i: Integer;
begin
Result := False;
for i := Pred(AFormName.MDIChildCount) DownTo 0 do
if (AFormName.MDIChildren[i].Name = AMDIChildName) then
begin
Result := True;
AFormName.MDIChildren[i].Free;
end;
end;
function TMainClientsForm.IsFormOpen(const FormName : string): Boolean;
var
i: Integer;
begin
Result := False;
for i := Screen.FormCount - 1 DownTo 0 do
if (Screen.Forms[i].Name = FormName) then
begin
Result := True;
Break;
end;
end;
procedure TMainClientsForm.BuildGridDatabaseDirectoryItem(sCaption:String; ds:TDataSource);
begin
//создаем форму
DirectoryForm:=TDBDirectoryTemplateForm.Create(Owner);
DirectoryForm.TableDBGrid.DataSource:=ds;
DirectoryForm.Top:=0;
DirectoryForm.Left:=0;
DirectoryForm.Caption:=sCaption;
end;
procedure TMainClientsForm.N12Click(Sender: TObject);
var poisk:Tparampoik;
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addform');
IsMDIChildOpen(MainClientsForm,'parampoik');
poisk:=Tparampoik.Create(Owner);
poisk.Left:=530;
poisk.Top:=3;
poisk.Width:=300;
poisk.Caption:='Неотработанные документы';
nomer_poisk:=3;
Poisk.GroupBox1.Visible:=false;
Poisk.GroupBox2.Visible:=false;
Poisk.GroupBox3.Visible:=false;
end;
procedure TMainClientsForm.N6Click(Sender: TObject);
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable1;
mainclientsform.ADOTable1.Active:=true;
MainClientsForm.BuildGridDatabaseDirectoryItem(, mainclientsform.DataSource1);
end;
procedure TMainClientsForm.N7Click(Sender: TObject);
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
mainflag:=false;
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable2;
mainclientsform.ADOTable2.Active:=true;
MainClientsForm.BuildGridDatabaseDirectoryItem('Обязательства', mainclientsform.DataSource1);
end;
procedure TMainClientsForm.N8Click(Sender: TObject);
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
mainflag:=false;
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable3;
mainclientsform.ADOTable3.Active:=true;
MainClientsForm.BuildGridDatabaseDirectoryItem('Клиенты', mainclientsform.DataSource1);
end;
procedure TMainClientsForm.N9Click(Sender: TObject);
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
mainflag:=false;
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable4;
mainclientsform.ADOTable4.Active:=true;
MainClientsForm.BuildGridDatabaseDirectoryItem('Адреса', mainclientsform.DataSource1);
end;
procedure TMainClientsForm.RzRapidFireButton1Click(Sender: TObject);
begin
MainClientsForm.N3Click(Sender);
end;
procedure TMainClientsForm.RzRapidFireButton2Click(Sender: TObject);
begin
MainClientsForm.N4Click(Sender);
end;
procedure TMainClientsForm.RzRapidFireButton3Click(Sender: TObject);
begin
MainClientsForm.N15Click(Sender);
end;
procedure TMainClientsForm.RzRapidFireButton4Click(Sender: TObject);
begin
MainClientsForm.N14Click(Sender);
end;
procedure TMainClientsForm.RzRapidFireButton5Click(Sender: TObject);
begin
MainClientsForm.Close;
end;
procedure TMainClientsForm.N10Click(Sender: TObject);
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
mainflag:=false;
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable5;
mainclientsform.ADOTable5.Active:=true;
MainClientsForm.BuildGridDatabaseDirectoryItem('Документы', mainclientsform.DataSource1);
end;
procedure TMainClientsForm.N20Click(Sender: TObject);
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
mainflag:=false;
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable6;
mainclientsform.ADOTable6.Active:=true;
MainClientsForm.BuildGridDatabaseDirectoryItem('', mainclientsform.DataSource1);
end;
procedure TMainClientsForm.N21Click(Sender: TObject);
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
mainflag:=false;
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable7;
mainclientsform.ADOTable7.Active:=true;
MainClientsForm.BuildGridDatabaseDirectoryItem('Запросы', mainclientsform.DataSource1);
end;
procedure TMainClientsForm.N23Click(Sender: TObject);
begin
mainclientsform.N3Click(Sender);
mainflag:=true;
flag1:=true;
flag2:=false;
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
ProsmForm:=Taddform.Create(Owner);
ProsmForm.GroupBox3.Visible:=false;
ProsmForm.GroupBox1.Visible:=false;
ProsmForm.GroupBox5.Visible:=false;
ProsmForm.Height:=800;
mainclientsform.DataSource1.DataSet.Last();
end;
procedure TMainClientsForm.N24Click(Sender: TObject);
begin
mainclientsform.N6Click(Sender);
mainflag:=true;
flag1:=false;
flag2:=true;
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
ProsmForm:=Taddform.Create(Owner);
ProsmForm.GroupBox3.Visible:=false;
ProsmForm.GroupBox1.Visible:=false;
ProsmForm.GroupBox5.Visible:=false;
ProsmForm.GroupBox7.Visible:=true;
ProsmForm.Height:=500;
ProsmForm.Width:=800;
mainclientsform.DataSource1.DataSet.Last();
end;
procedure TMainClientsForm.N25Click(Sender: TObject);
var poisk:Tparampoik;
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addform');
IsMDIChildOpen(MainClientsForm,'parampoik');
poisk:=Tparampoik.Create(Owner);
poisk.Left:=530;
poisk.Top:=3;
poisk.Width:=300;
poisk.Caption:='';
nomer_poisk:=7;
Poisk.GroupBox1.Visible:=false;
Poisk.GroupBox2.Visible:=false;
Poisk.GroupBox3.Visible:=true;