Иинформационная система отдела кадров

Автор: Пользователь скрыл имя, 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

Файлы: 1 файл

ИС отдел кадров курсовик 1.doc

— 7.17 Мб (Скачать)

 

Рисунок 4.1. – Форма авторизации

Рисунок 4.2. – Главная форма

Рис. 4.3. – Форма «Выберите действие над личной карточкой»

Рис. 4.4. – Форма «Просмотр личной карточки»

 

4.2. Анализ эффективности  системы

Внедрение информационной системы отдела кадров на заводе «Маяк» позволит:

    • уменьшить трудоемкость выполнения различных операций;
    • автоматизировать работу отдела кадров,
    • организовать доступ к данным для рабочих предприятия без непосредственного участия специалиста базы данных;
    • автоматизировать работу с отчетами для отделов, которые использую информацию из отдела кадров.

 

 

 

ЗАКЛЮЧЕНИЕ

Разработанный программный продукт позволяет автоматизировать работу отдела кадров. Разработанная система облегчает работу с документацией для сотрудников завода «Маяк».

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

Система позволяет:

    • специалисту отдела кадров создавать, редактировать, просматривать необходимые для работы документы: личные карточки, трудовые договоры, штатное расписание, график отпусков, приказы;
    • начальству следить за работой специалиста;
    • сотрудникам завода просматривать необходимую им информацию.

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

Таким образом, в курсовой работе удалось реализовать информационную систему отдела кадров завода «Маяк», которая удовлетворяет заданным  требованиям.

 

 

 

 

 

СПИСОК ЛИТЕРАТУРЫ

    1. Архангельский А. Я. Программирование в Delphi. Учебник по классическим версиям Delphi. - М.: Бином, 2006.
    2. Буч Г., Рамбо Д., Джекобсон А. Язык UML. Руководство пользователя. - М.: ДМК Пресс, 2001.
    3. Вендров A.M. Проектирование программного обеспечения экономических информационных систем: Учеб. - М.: Финансы и статистика, 2000.
    4. Кватрани Т. Rational Rose 2000 и UML. Визуальное моделирование. - М.: ДМК Пресс, 2001.
    5. Ларман К. Применение UML и шаблонов проектирования. - М.: Издательский дом «Вильяме», 2001.
    6. Леоненков А.В. Самоучитель UML. - СПб.: БХВ-Петербург, 2001.
    7. Мандел Т. Разработка пользовательского интерфейса. - М: ДМК Пресс, 2001.
    8. Мартин Дж. Организация баз данных в вычислительных системах. - М.: Мир, 1980.
    9. Чен П. Модель «сущность-связь» - шаг к единому представлению данных // СУБД. 1995. №3. С. 137-158.

 

 

 

ПРИЛОЖЕНИЕ 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);

Form1.Show;

form2.Hide;

end

else

Application.MessageBox('Неверный пароль','Внимание!',MB_ICONEXCLAMATION);

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.ParamByName('par1').Value:=Edit1.text;

    Adoquery1.Open;

    dbgrid1.DataSource.DataSet.Active:=true;

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('Действительно хотите удалить ?'),'Внимание!',MB_OKCANCEL)=id_Ok then

 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.

 

 

 

 

 

 

 

 


Информация о работе Иинформационная система отдела кадров