Автор: Пользователь скрыл имя, 26 Июня 2015 в 01:42, курсовая работа
Целью разработки приложения является создание информационной системы отдела кадров, автоматизирующей процессы создания приказов и других документов, с помощью которой упростится ввод и поиск информации для специалистов отдела кадров и других сотрудников завода.
Основные задачи разработки
1. Обеспечить авторизованный вход пользователей в систему .
2. Обеспечить создание, изменение и просмотр приказов, личных дел, штатного расписания, графика отпусков, трудовых договоров.
Введение ………………………………………………………………………..3
1. Анализ требований к информационной системе ………………………....5
1.1. Описание и анализ предметной области ……………………….....5
1.2. Обзор и анализ возможных альтернатив ……..................................6
1.3. Анализ функциональных и эксплуатационных требований………7
2. Проектирование информационной системы ……….…………………..18
2.1. Разработка архитектуры системы ……………………………….….18
2.2. Разработка модели предметной области ………………………….18
2.3. Разработка алгоритма функционирования системы .……………...21
2.4. Проектирование интерфейса пользователя ……………………….24
2.5 .Реляционная модель данных …………………………………..…...25
2.6. Построение диаграммы классов …………………………………...27
3. Реализация системы…………………………………………………...…..29
3.1.Реализация программного обеспечения системы……………………29
3.2.Реализация технического обеспечения……………………………....33
4.Анализ результатов…………………………………………………………35
4.1. Разработка тестов и тестирование системы…………………………35
4.2. Анализ эффективности системы……………………………………..37
Заключение…………………………………………………………………….38
Список литературы……………………………………………………………39
Приложение 1. Личная карточка работника …...……………………………...40
Приложение 2. Текст программы ……………………………………………...44
Рисунок 4.1. – Форма авторизации
Рисунок 4.2. – Главная форма
Рис. 4.3. – Форма «Выберите действие над личной карточкой»
Рис. 4.4. – Форма «Просмотр личной карточки»
4.2. Анализ эффективности системы
Внедрение информационной системы отдела кадров на заводе «Маяк» позволит:
ЗАКЛЮЧЕНИЕ
Разработанный программный продукт позволяет автоматизировать работу отдела кадров. Разработанная система облегчает работу с документацией для сотрудников завода «Маяк».
В процессе создания системы в соответствии с заданием были разработаны: модель вариантов использования, концептуальная модель предметной области, диаграммы деятельности, реляционная модель данных, диаграмма состояний интерфейса, формы интерфейса, диаграмма компонентов и диаграмма развертывания. Была выполнена частично проверка и отладка системы.
Система позволяет:
В данной курсовой работе было проведено программирование на языке Delphi. Программный продукт содержит форму авторизации пользователей, которая открывается после запуска приложения. Данная форма содержит поля для ввода пользователем своего логина и пароля.
Таким образом, в курсовой работе удалось реализовать информационную систему отдела кадров завода «Маяк», которая удовлетворяет заданным требованиям.
СПИСОК ЛИТЕРАТУРЫ
ПРИЛОЖЕНИЕ 1
Личная карточка работника
Рисунок 5.1. – Личная карточка работника
Рисунок 5.2. – Личная карточка работника (продолжение)
Рисунок 5.3. – Личная карточка работника (продолжение)
Рисунок 5.4. – Личная карточка работника (продолжение)
ПРИЛОЖЕНИЕ 2
Текст программы
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Mask, ExtCtrls, jpeg;
type
TForm2 = class(TForm)
Panel1: TPanel;
MaskEdit1: TMaskEdit;
Label2: TLabel;
Label1: TLabel;
ComboBox1: TComboBox;
BitBtn1: TBitBtn;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Image1: TImage;
Image2: TImage;
Label3: TLabel;
Label7: TLabel;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses unit1, unit3, unit4, unit5, unit6, unit7,unit9, unit10;
{$R *.dfm}
procedure TForm2.BitBtn1Click(Sender: TObject);
begin
If (ComboBox1.ItemIndex=0) and (MaskEdit1.Text='1234') then
begin
Application.CreateForm(TFOrm1,
Form1.Show;
form2.Hide;
end
else
Application.MessageBox('Неверн
end;
procedure TForm2.BitBtn2Click(Sender: TObject);
begin
close;
end;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
RadioGroup1: TRadioGroup;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit3, Unit2, Unit4, unit5, unit6, unit7, Unit9, Unit10;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
if RadioGroup1.ItemIndex=4 then
begin
Form1.Hide;
Form4.Show;
end;
if RadioGroup1.ItemIndex=1 then
begin
Form1.Hide;
Form10.Show;
end;
end;
end.
unit Unit8;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, Mask, DBCtrls, Grids, DBGrids, ExtCtrls,
DBTables;
type
TForm8 = class(TForm)
Panel2: TPanel;
ADOConnection1: TADOConnection;
BookTable: TADOTable;
DataSource1: TDataSource;
ADOConnection2: TADOConnection;
PereTable: TADOTable;
DataSource2: TDataSource;
DBGrid1: TDBGrid;
Button2: TButton;
BookTable_: TAutoIncField;
BookTable_2: TDateTimeField;
BookTableDSDesigner: TWideStringField;
BookTableDSDesigner2: TWideStringField;
BookTableDSDesigner3: TWideStringField;
BookTableDSDesigner4: TDateTimeField;
BookTableDSDesigner5: TWideStringField;
BookTableDSDesigner6: TWideStringField;
BookTableDSDesigner7: TWideStringField;
BookTableDSDesigner8: TWideStringField;
BookTableDSDesigner9: TIntegerField;
BookTableDSDesigner10: TWideStringField;
BookTableDSDesigner11: TWideStringField;
BookTable_3: TWideStringField;
PereTable_: TAutoIncField;
PereTable_2: TDateTimeField;
PereTableDSDesigner: TWideStringField;
PereTableDSDesigner2: TWideStringField;
PereTableDSDesigner3: TWideStringField;
PereTableDSDesigner4: TDateTimeField;
PereTableDSDesigner5: TWideStringField;
PereTableDSDesigner6: TWideStringField;
PereTableDSDesigner7: TWideStringField;
PereTableDSDesigner8: TWideStringField;
PereTableDSDesigner9: TIntegerField;
PereTableDSDesigner10: TWideStringField;
PereTableDSDesigner11: TWideStringField;
PereTable_3: TWideStringField;
Query2: TQuery;
ADOQuery1: TADOQuery;
Edit1: TEdit;
Button1: TButton;
ADOQuery1DSDesigner: TWideStringField;
ADOQuery1DSDesigner2: TWideStringField;
ADOQuery1DSDesigner3: TWideStringField;
ADOQuery1DSDesigner4: TDateTimeField;
ADOQuery1_: TWideStringField;
ADOQuery1DSDesigner5: TWideStringField;
ADOQuery1DSDesigner6: TWideStringField;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form8: TForm8;
implementation
uses Unit9, Unit10;
{$R *.dfm}
procedure TForm8.Button2Click(Sender: TObject);
begin
Form10.Show;
Form8.Hide;
end;
procedure TForm8.Button1Click(Sender: TObject);
begin
Adoquery1.Parameters.
Adoquery1.Open;
dbgrid1.DataSource.DataSet.
end;
end.
unit Unit9;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls, Mask, DBCtrls, ExtCtrls;
type
TForm9 = class(TForm)
ADOConnection1: TADOConnection;
BookTable: TADOTable;
DataSource1: TDataSource;
Panel2: TPanel;
ADOConnection2: TADOConnection;
PereTable: TADOTable;
DataSource2: TDataSource;
DBGrid2: TDBGrid;
FindSource: TDataSource;
FindQuery: TADOQuery;
FindQueryID_: TIntegerField;
FindQueryDSDesigner: TDateTimeField;
FindQueryDSDesigner2: TDateTimeField;
FindQueryDSDesigner3: TWideStringField;
FindQueryID_2: TIntegerField;
FindQueryID_3: TIntegerField;
Button1: TButton;
Button2: TButton;
BookTable_: TAutoIncField;
BookTable_2: TDateTimeField;
BookTableDSDesigner: TWideStringField;
BookTableDSDesigner2: TWideStringField;
BookTableDSDesigner3: TWideStringField;
BookTableDSDesigner4: TDateTimeField;
BookTableDSDesigner5: TWideStringField;
BookTableDSDesigner6: TWideStringField;
BookTableDSDesigner7: TWideStringField;
BookTableDSDesigner8: TWideStringField;
BookTableDSDesigner9: TIntegerField;
BookTableDSDesigner10: TWideStringField;
BookTableDSDesigner11: TWideStringField;
BookTable_3: TWideStringField;
PereTable_: TAutoIncField;
PereTable_2: TDateTimeField;
PereTableDSDesigner: TWideStringField;
PereTableDSDesigner2: TWideStringField;
PereTableDSDesigner3: TWideStringField;
PereTableDSDesigner4: TDateTimeField;
PereTableDSDesigner5: TWideStringField;
PereTableDSDesigner6: TWideStringField;
PereTableDSDesigner7: TWideStringField;
PereTableDSDesigner8: TWideStringField;
PereTableDSDesigner9: TIntegerField;
PereTableDSDesigner10: TWideStringField;
PereTableDSDesigner11: TWideStringField;
PereTable_3: TWideStringField;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form9: TForm9;
implementation
uses Unit1, Unit2,unit3, Unit4, unit5,unit6, unit7, unit10, Unit12, Unit8;
{$R *.dfm}
procedure TForm9.Button1Click(Sender: TObject);
begin
if PereTable.Modified then
PereTable.Post;
end;
procedure TForm9.Button2Click(Sender: TObject);
begin
Form10.Show;
Form9.Hide;
end;
procedure TForm9.Button3Click(Sender: TObject);
begin
if Application.MessageBox(Pchar('
PereTable.Delete;
end;
end.
unit Unit10;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, ExtCtrls;
type
TForm10 = class(TForm)
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
DBLookupComboBox1: TDBLookupComboBox;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
Button1: TButton;
Label4: TLabel;
Button2: TButton;
Button3: TButton;
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form10: TForm10;
implementation
uses Unit1, Unit2,unit3, Unit4, unit5,unit6, unit7, unit9, Unit8, Unit12;
{$R *.dfm}
procedure TForm10.Button2Click(Sender: TObject);
begin
Form9.Show;
Form10.Hide;
end;
procedure TForm10.Button3Click(Sender: TObject);
begin
Form8.Show;
Form10.Hide;
end;
procedure TForm10.Button1Click(Sender: TObject);
begin
Form12.Show;
Form10.Hide;
end;
end.
unit Unit12;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, Grids, DBGrids, ExtCtrls;
type
TForm12 = class(TForm)
Panel2: TPanel;
DBGrid2: TDBGrid;
Button1: TButton;
Button2: TButton;
ADOConnection1: TADOConnection;
BookTable: TADOTable;
DataSource1: TDataSource;
ADOConnection2: TADOConnection;
PereTable: TADOTable;
DataSource2: TDataSource;
FindSource: TDataSource;
Button3: TButton;
BookTable_: TAutoIncField;
BookTable_2: TDateTimeField;
BookTableDSDesigner: TWideStringField;
BookTableDSDesigner2: TWideStringField;
BookTableDSDesigner3: TWideStringField;
BookTableDSDesigner4: TDateTimeField;
BookTableDSDesigner5: TWideStringField;
BookTableDSDesigner6: TWideStringField;
BookTableDSDesigner7: TWideStringField;
BookTableDSDesigner8: TWideStringField;
BookTableDSDesigner9: TIntegerField;
BookTableDSDesigner10: TWideStringField;
BookTableDSDesigner11: TWideStringField;
BookTable_3: TWideStringField;
PereTable_: TAutoIncField;
PereTable_2: TDateTimeField;
PereTableDSDesigner: TWideStringField;
PereTableDSDesigner2: TWideStringField;
PereTableDSDesigner3: TWideStringField;
PereTableDSDesigner4: TDateTimeField;
PereTableDSDesigner5: TWideStringField;
PereTableDSDesigner6: TWideStringField;
PereTableDSDesigner7: TWideStringField;
PereTableDSDesigner8: TWideStringField;
PereTableDSDesigner9: TIntegerField;
PereTableDSDesigner10: TWideStringField;
PereTableDSDesigner11: TWideStringField;
PereTable_3: TWideStringField;
BookTable_4: TIntegerField;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form12: TForm12;
implementation
uses Unit10;
{$R *.dfm}
procedure TForm12.Button2Click(Sender: TObject);
begin
Form10.Show;
Form12.Hide;
end;
procedure TForm12.Button1Click(Sender: TObject);
begin
PereTable.Insert;
DBGrid2.SetFocus;
end;
procedure TForm12.Button3Click(Sender: TObject);
begin
if PereTable.Modified then
if dbgrid2.Columns.Items[5]=nil then showmessage('Введите данные');
PereTable.Post;
end;
end.