Файл: Диплом Разработка АС управления персоналом.docx

ВУЗ: Не указан

Категория: Дипломная работа

Дисциплина: Проектирование информационных систем

Добавлен: 25.10.2018

Просмотров: 3999

Скачиваний: 23

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1. ОБЩАЯ ЧАСТЬ

1.1. Характеристика объекта, процесса, предметной области как объекта информатизации

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

1.3. Программное обеспечение для работы отдела кадров

1.4. Минимальные системные требования для работы программы

2. ТЕХНОЛОГИЧЕСКАЯ ЧАСТЬ

2.1. Постановка задачи

2.2. Обоснование выбора программных средств решения задачи

2.3. Разработка формы входных и выходных данных

2.4. Разработка алгоритма решения задачи

2.5. Разработка интерфейсной части

2.6. Описание модулей программы

2.7. Описание процесса отладки программы

2.7.1. Тестирование

2.7.2. Контрольный пример

2.8. Разработка мер защиты информации от несанкционированного доступа

3. ОХРАНА ТРУДА И БЕЗОПАСНОСТЬ ЖИЗНЕДЕЯТЕЛЬНОСТИ

3.1. Охрана труда.

3.2. Техника безопасности

3.3. Охрана окружающей среды. Защита от энергетических воздействий. Защита от вибраций

3. Технико-экономическое обоснование

Заключение

Список использованной литературы

Приложение А Руководство пользователя

Приложение Б Руководство программиста

Аналогичным образом оформляется отпуск.

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

Форма для просмотра всех сотрудников, уволенных из организации, выглядит аналогично.



Для установки программы необходимо выполнить следующие действия:

  1. Запустить установочный файл sotrudniki.exe

  2. Утвердительно ответить на вопрос о разрешении установки программы на компьютере

  3. Нажать кнопку «Далее» в первом окне Мастера установки:

  1. Указать каталог установки программы (желательно не менять параметры по умолчанию):

  1. Выбрать дополнительные параметры установки (создать ярлык программы на рабочем столе):

  1. Убедиться в том, что все параметры установлены правильно, и нажать кнопку «Установить»:

  1. В заключительном окне Мастера установки будет предложено запустить только что установленную программу. Если это не требуется, снять соответствующий флажок





Деинсталлляция (удаление) программы производится следующим образом:

  1. Нужно войти в папку "C:\Program Files (x86)\Company\Сотрудники\". Чтобы не искать ее, щелкнуть правой кнопкой на ярлыке программы «Сотрудники» на рабочем столе, нажать кнопку «Расположение файла»:

  1. Щелкнуть дважды на файле Uninstall.exe. появится окно Мастера удаления программы:

  1. После нажатия кнопки «Удалить» программа будет удалена с компьютера и появится соответствующее оповещение.




Приложение Б
Руководство программиста

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



Содержимое Unit1.cpp

//---------------------------------------------------------------------------



#include <vcl.h>

#pragma hdrstop



#include "Unit1.h"

int a;

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

if (a!=0) {a=a-1;Edit1->Text = Memo1->Lines->Strings[a];Button2->Enabled=True;Button3->Enabled=True;} else {Button1->Enabled=False;};

}

//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)

{

a=0;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)

{

if (Edit1->Text!="")

{

Edit3->Text="ФИО Сотрудника:";

Edit4->Text="Причина:";

TStringList* l1=new TStringList;

l1->LoadFromFile("C:/Pred/Uwl.txt");

Edit3->Text=Edit3->Text+Edit1->Text;

Edit4->Text=Edit4->Text+Edit2->Text;

l1->Add(Edit3->Text);

l1->Add(Edit4->Text);

l1->Add(MaskEdit1->Text);

l1->SaveToFile("C:/Pred/Uwl.txt") ;

if (a!=0) {

Memo1->Lines->Delete(a);

Memo2->Lines->Delete(a+1);

Memo2->Lines->Delete(a+1);

Edit1->Text="";}

else{

Memo1->Lines->Delete(a);

Memo2->Lines->Delete(a);

Memo2->Lines->Delete(a);

Edit1->Text="";};

TStringList* l2=new TStringList;

l2->AddStrings(Memo1->Lines);

l2->SaveToFile("C:/Pred/Sotr.txt");

Button3->Enabled=False;

}

else

{

MessageBox(NULL,L"Вы совершили ошибку",L"Ошибка",MB_OK );}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{

if (Edit1->Text!="") {a=a+1;Edit1->Text = Memo1->Lines->Strings[a];Button1->Enabled=True;Button3->Enabled=True;}

else {Button2->Enabled = False;} ;

}

//---------------------------------------------------------------------------



Файл Unit2.cpp

//---------------------------------------------------------------------------



#include <vcl.h>

#pragma hdrstop



#include "Unit2.h"

#include "Unit3.h"

#include "Unit6.h"

#include "Unit4.h"

#include "Unit7.h"

#include "Unit5.h"

#include "Unit8.h"

#include "Unit9.h"

#include "Unit17.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm2 *Form2;

int a;

//---------------------------------------------------------------------------

__fastcall TForm2::TForm2(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm2::Button1Click(TObject *Sender)

{

Form3->Show(); //Открываем форму Сотрудники

Form3->ListBox1->Items->Clear();

TStringList* l1=new TStringList;//Объявление файловой переменной

l1->LoadFromFile("C:/Pred/Sotr.txt"); //Загрузка данных из файла

Form3->ListBox1->Items->AddStrings(l1);

Form3->ListBox1->Perform(LB_SETHORIZONTALEXTENT,4024,0); //создание горизонтальных полос прокрутки

ShowScrollBar(Form3->ListBox1->Handle, SB_VERT, True); //создание вертикальных полос прокрутки



}

//---------------------------------------------------------------------------



void __fastcall TForm2::Button2Click(TObject *Sender)

{

a=0; //Открываем форму Приема

Form6->Show();

Form6->ListBox1->Items->Clear();

Form6->ComboBox2->Items->Clear();

TStringList* l2=new TStringList;

l2->LoadFromFile("C:/Pred/Sotr.txt");

TStringList* l1=new TStringList;

l1->LoadFromFile("C:/Pred/Otd1.txt");





Form6->ComboBox2->Items->AddStrings(l1);

Form6->ListBox1->Items->AddStrings(l2);

}

//---------------------------------------------------------------------------



void __fastcall TForm2::Button3Click(TObject *Sender)

{

a=0;

Form4->Show(); //Открываем форму Увольнения

Form4->ListBox1->Items->Clear();

TStringList* l1=new TStringList;

l1->LoadFromFile("C:/Pred/Sotr.txt");

Form4->ListBox1->Items->AddStrings(l1);



Form4->Edit1->Text = Form4->ListBox1->Items->Strings[0];

Form4->Edit5->Text=StrToInt(Form4->ListBox1->Items->Count-1);








Form4->Button1->Enabled=False;

Form4->Button2->Enabled=True;



}

//---------------------------------------------------------------------------





void __fastcall TForm2::Button4Click(TObject *Sender)

{

Form7->Show(); //Открываем форму Список уволенных

Form7->ListBox1->Items->Clear(); //отчистка объекта листбокс1

TStringList* l1=new TStringList;

l1->LoadFromFile("C:/Pred/Uwl.txt");

Form7->ListBox1->Items->AddStrings(l1);

Form7->ListBox1->Perform(LB_SETHORIZONTALEXTENT,4000,0);

ShowScrollBar(Form7->ListBox1->Handle, SB_VERT, True);



}

//---------------------------------------------------------------------------



void __fastcall TForm2::Button6Click(TObject *Sender)

{

a=0; //Открываем форму Оформления в отпуск

Form5->Show();

Form5->ListBox1->Items->Clear();

TStringList* l1=new TStringList;

l1->LoadFromFile("C:/Pred/Sotr.txt");

Form5->ListBox1->Items->AddStrings(l1);

Form5->Edit1->Text = Form5->ListBox1->Items->Strings[0];

Form5->Edit5->Text=StrToInt(Form5->ListBox1->Items->Count-1);

Form5->Button1->Enabled=False;

Form5->Button2->Enabled=True;

}

//---------------------------------------------------------------------------



void __fastcall TForm2::Button5Click(TObject *Sender)

{

Form8->Show(); //Открываем форму Список сотрудников в отпуске

Form8->ListBox1->Items->Clear();

TStringList* l1=new TStringList;

l1->LoadFromFile("C:/Pred/Otp.txt");

Form8->ListBox1->Items->AddStrings(l1);

Form8->ListBox1->Perform(LB_SETHORIZONTALEXTENT,4000,0);

ShowScrollBar(Form8->ListBox1->Handle, SB_VERT, True);



}

//---------------------------------------------------------------------------



void __fastcall TForm2::Button7Click(TObject *Sender)

{

Form9->Show(); //Открываем форму Администрирования

Form9->Edit1->Text="";

}

//---------------------------------------------------------------------------





void __fastcall TForm2::FormClick(TObject *Sender)

{

if (Button1->Tag==0) {

Form17->Show();

}

}

//---------------------------------------------------------------------------







void __fastcall TForm2::Button8Click(TObject *Sender)

{

Form2->Close(); //Закрываем форму



Файл Unit3.cpp

//---------------------------------------------------------------------------



#include <vcl.h>

#pragma hdrstop



#include "Unit3.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm3 *Form3;

//---------------------------------------------------------------------------

__fastcall TForm3::TForm3(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm3::Button2Click(TObject *Sender)//Обновляем данные в листбоксе из файла

{

ListBox1->Items->Clear();

TStringList* l1=new TStringList;

l1->LoadFromFile("C:/Pred/Sotr.txt");

ListBox1->Items->AddStrings(l1);

ShowScrollBar(ListBox1->Handle, SB_VERT, True);

}

//---------------------------------------------------------------------------







void __fastcall TForm3::Button1Click(TObject *Sender)

{

Form3->Close();

}

//---------------------------------------------------------------------------



Файл Unit4.cpp

//---------------------------------------------------------------------------



#include <vcl.h>

#pragma hdrstop



#include "Unit4.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm4 *Form4;

int a;

//---------------------------------------------------------------------------

__fastcall TForm4::TForm4(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm4::Button1Click(TObject *Sender)

{

if (a!=0) {a=a-1;Edit1->Text = ListBox1->Items->Strings[a];Button2->Enabled=True;Button3->Enabled=True;}

else {Button1->Enabled=False;Button2->Enabled=True;}; //выбор сотрудника(в лево)

}

//---------------------------------------------------------------------------

void __fastcall TForm4::Button2Click(TObject *Sender)

{

if (a!=StrToInt(Edit5->Text)) {a=a+1;Edit1->Text = ListBox1->Items->Strings[a];Button1->Enabled=True;Button3->Enabled=True;}

else {Button2->Enabled = False;Button1->Enabled=True;} ; //выбор сотрудника (стрелка вправо)

}

//---------------------------------------------------------------------------

void __fastcall TForm4::Button3Click(TObject *Sender) //данное действие загрузит данные из файла, удалит из него нужную строку и занесет отчет в другой файл

{

if (Edit1->Text!="" || Edit2->Text!="" || Edit3->Text!="")//проверка на заполненость

{

Edit3->Text="ФИО Сотрудника:";

Edit4->Text="Причина:";


TStringList* l1=new TStringList;

l1->LoadFromFile("C:/Pred/Uwl.txt"); //загрузка данных из файла в файловую переменную

Edit3->Text=Edit3->Text+Edit1->Text;

Edit4->Text=Edit4->Text+Edit2->Text;

l1->Add(Edit3->Text); //построчное добавление данных в переменную

l1->Add(Edit4->Text);

l1->Add(MaskEdit1->Text);

l1->SaveToFile("C:/Pred/Uwl.txt") ; //сохранение данных из строковой переменной в файл

ListBox1->Items->Delete(a);//удаление выбраной строки из объекта листбокс

Edit1->Text="";

TStringList* l2=new TStringList;

l2->AddStrings(ListBox1->Items);

l2->SaveToFile("C:/Pred/Sotr.txt");

Button3->Enabled=False; // блокировка кнопки необходима дл защиты от случайных действий

ListBox1->Items->Clear();

Form4->Close(); //форма закрывается для защиты от случайных действий

}

else

{

MessageBox(NULL,L"Вы совершили ошибку",L"Ошибка",MB_OK );}//данное сообщение появится если оставить строки пустыми

}

//---------------------------------------------------------------------------

void __fastcall TForm4::FormCreate(TObject *Sender)

{

a=0;

}

//---------------------------------------------------------------------------



void __fastcall TForm4::Button4Click(TObject *Sender)

{

Form4->Close(); //закрывает форму

}

//---------------------------------------------------------------------------





Файл Unit5.cpp

//---------------------------------------------------------------------------



#include <vcl.h>

#pragma hdrstop



#include "Unit5.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm5 *Form5;

int a;

//---------------------------------------------------------------------------

__fastcall TForm5::TForm5(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm5::Button1Click(TObject *Sender)

{

if (a!=0) {a=a-1;Edit1->Text = ListBox1->Items->Strings[a];Button2->Enabled=True;Button3->Enabled=True;}

else {Button1->Enabled=False;Button2->Enabled=True;}; //выбор сотрудника(в лево)

}

//---------------------------------------------------------------------------

void __fastcall TForm5::Button2Click(TObject *Sender)

{

if (a!=StrToInt(Edit5->Text)) {a=a+1;Edit1->Text = ListBox1->Items->Strings[a];Button1->Enabled=True;Button3->Enabled=True;}

else {Button2->Enabled = False;Button1->Enabled=True;} ; //выбор сотрудника(в право)

}

//---------------------------------------------------------------------------

void __fastcall TForm5::Button3Click(TObject *Sender)

{

if (Edit1->Text!="") //проверка на заполненость

{

Edit3->Text="ФИО Сотрудника:";

Edit4->Text="Причина:";

TStringList* l1=new TStringList;

l1->LoadFromFile("C:/Pred/Otp.txt");

Edit3->Text=Edit3->Text+Edit1->Text;

Edit4->Text=Edit4->Text+Edit2->Text;

l1->Add(Edit3->Text);

l1->Add(Edit4->Text);

l1->Add(MaskEdit1->Text);

l1->SaveToFile("C:/Pred/Otp.txt") ;

Button3->Enabled=False;

ListBox1->Items->Clear();

Form5->Close();

}

else

{

MessageBox(NULL,L"Вы совершили ошибку",L"Ошибка",MB_OK );}

}

//---------------------------------------------------------------------------

void __fastcall TForm5::FormCreate(TObject *Sender)

{

a=0;

}

//---------------------------------------------------------------------------



void __fastcall TForm5::Button4Click(TObject *Sender)

{

Form5->Close();



}

//---------------------------------------------------------------------------



Файл Unit6.cpp

//---------------------------------------------------------------------------



#include <vcl.h>

#pragma hdrstop



#include "Unit6.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm6 *Form6;

//---------------------------------------------------------------------------

__fastcall TForm6::TForm6(TComponent* Owner)

: TForm(Owner)

{



}

//---------------------------------------------------------------------------

void __fastcall TForm6::Button1Click(TObject *Sender)

{

if (Edit1->Text!="" || Edit2->Text!="" || Edit3->Text!="" //проверка на заполненость

&& Edit4->Text!="" ||

Edit5->Text!="" ) {

Edit7->Text="ФИО:"+Edit1->Text+" "+Edit2->Text+" "+Edit3->Text;

Edit8->Text="Стаж:"+Edit4->Text+" Прописка:"+Edit5->Text+" Паспортные данные:"

+Edit6->Text+" Подразделение:"+ComboBox1->Text+" Должность:"+ComboBox2->Text;

Edit8->Text=Edit7->Text+" "+Edit8->Text;

ListBox1->Items->Add(Edit8->Text) ;//добавление строки в обЪект листбокс из объекта едит8


TStringList* l1=new TStringList; //объявление строковой переменной

l1->AddStrings(ListBox1->Items); //загрузка данных в строковую переменную из обЪеккта листбокс

l1->SaveToFile("C:/Pred/Sotr.txt"); //сохранение данных из строковой переменной в файл

Edit1->Text="";

Edit2->Text="";

Edit3->Text="";

Edit4->Text="";

Edit5->Text="";

Edit6->Text="";

ComboBox1->Text="";

ComboBox2->Text="";

ComboBox2->Items->Clear();

Form6->Close();

} else {MessageBox(NULL,L"Вы оставили одно из полей пустым",L"Ошибка",MB_OK );}; //данное сообщение появится если оставить поля пустыми

}

//---------------------------------------------------------------------------

void __fastcall TForm6::Button2Click(TObject *Sender)

{

Form6->Close();

}

//---------------------------------------------------------------------------



void __fastcall TForm6::Button3Click(TObject *Sender)

{



TStringList* l1=new TStringList; //подгружаем список должностей из файлов

if (ComboBox1->Text!="") {

ComboBox2->Items->Clear();

if (ComboBox1->Text=="Отделение 1") { //после проверки в строковую переменную добавятся данные из выбранного файла

l1->LoadFromFile("C:/Pred/Otd1.txt");

ComboBox2->Items->AddStrings(l1) ;}

if (ComboBox1->Text=="Отделение 2") {

l1->LoadFromFile("C:/Pred/Otd2.txt");

ComboBox2->Items->AddStrings(l1); }

if (ComboBox1->Text=="Отделение 3") {

l1->LoadFromFile("C:/Pred/Otd3.txt");

ComboBox2->Items->AddStrings(l1); }

if (ComboBox1->Text=="Отделение 4") {

l1->LoadFromFile("C:/Pred/Otd4.txt");

ComboBox2->Items->AddStrings(l1); }

}

}

//---------------------------------------------------------------------------





void __fastcall TForm6::Edit1KeyPress(TObject *Sender, System::WideChar &Key)

{

AnsiString ForbiddenChars = "0123456789,.*/-+=\|<>?:;%№""!)(*&^%$#@!~"; //запрет на ввод выбраных символов (цифры и знаки)

if(ForbiddenChars.Pos(Key)) Key = 0;

if (Key==0){MessageBox(NULL,L"Вы ввели запрещенный символ",L"Ошибка",MB_OK );};



}

//---------------------------------------------------------------------------



Файл Unit10.cpp

//---------------------------------------------------------------------------



#include <vcl.h>

#pragma hdrstop



#include "Unit10.h"

#include "Unit11.h"

#include "Unit12.h"

#include "Unit13.h"

#include "Unit14.h"

#include "Unit15.h"

#include "Unit16.h"

#include "Unit20.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm10 *Form10;



//---------------------------------------------------------------------------

__fastcall TForm10::TForm10(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm10::Button1Click(TObject *Sender)

{

Form11->Show();

Form11->ListBox1->Items->Clear();

TStringList* l1=new TStringList;

l1->LoadFromFile("C:/Pred/Otd.txt");

Form11->ListBox1->Items->AddStrings(l1);

Form11->ListBox1->Perform(LB_SETHORIZONTALEXTENT,4000,0);

ShowScrollBar(Form11->ListBox1->Handle, SB_VERT, True);

}

//---------------------------------------------------------------------------

void __fastcall TForm10::Button2Click(TObject *Sender)

{

Form12->Show();

Form12->ListBox1->Items->Clear();

TStringList* l1=new TStringList;

l1->LoadFromFile("C:/Pred/Otd.txt");

Form12->ListBox1->Items->AddStrings(l1);



}

//---------------------------------------------------------------------------

void __fastcall TForm10::Button3Click(TObject *Sender)

{



Form13->Show();

Form13->ListBox1->Items->Clear();

TStringList* l1=new TStringList;

l1->LoadFromFile("C:/Pred/Otd.txt");

Form13->ListBox1->Items->AddStrings(l1);

Form13->Edit1->Text = Form13->ListBox1->Items->Strings[0];

Form13->Edit5->Text=StrToInt(Form13->ListBox1->Items->Count-1);

Form13->Button1->Enabled=False;

Form13->Button2->Enabled=True;

}

//---------------------------------------------------------------------------

void __fastcall TForm10::Button4Click(TObject *Sender) //открываем список должностей в разных отделах

{

Form14->Show();

Form14->ListBox1->Items->Clear();

TStringList* l1=new TStringList;

l1->LoadFromFile("C:/Pred/Otd1.txt");

Form14->ListBox1->Items->AddStrings(l1);

Form14->ListBox1->Perform(LB_SETHORIZONTALEXTENT,4000,0);

ShowScrollBar(Form14->ListBox1->Handle, SB_VERT, True);



Form14->ListBox2->Items->Clear();

TStringList* l2=new TStringList;

l2->LoadFromFile("C:/Pred/Otd2.txt");

Form14->ListBox2->Items->AddStrings(l2);

Form14->ListBox2->Perform(LB_SETHORIZONTALEXTENT,4000,0);

ShowScrollBar(Form14->ListBox2->Handle, SB_VERT, True);



Form14->ListBox3->Items->Clear();