Автор: Пользователь скрыл имя, 15 Марта 2011 в 09:17, курсовая работа
Цель курсовой работы состоит в организации и обработке информации по анализу потребностей и предложений на рынке трудовых ресурсов. А также анализа нынешней ситуации и выяснения тенденцию к росту или снижения количества безработных.
ВВЕДЕНИЕ 3
1 НАЗНАЧЕНИЕ РАЗРАБАТЫВАЕМОЙ СИСТЕМЫ 4
2 ОПИСАНИЕ СРЕДСТВ РЕАЛИЗАЦИИ ПРИЛОЖЕНИЯ 6
2.1 Базы данных 6
2.1.1 Понятие базы данных 6
2.1.2 Сетевые базы данных 7
2.1.3 Реляционные базы данных 8
2.2 Язык SQL 9
2.3 Обзор Borland Delphi 11
3 ОПИСАНИЕ СТРУКТУРЫ РАЗРАБОТАННОЙ БАЗЫ ДАННЫХ 15
3.1 Состав таблиц базы данных 15
3.2 Структура таблиц базы данных 16
4 СХЕМА ДИАЛОГА ПОЛЬЗОВАТЕЛЯ С СИСТЕМОЙ 18
4.1 Главное окно и меню системы 18
4.2 Справочники 18
4.3 Оценка 20
4.4 Группировка 21
4.5 Трудоустройство 23
ЗАКЛЮЧЕНИЕ 24
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 25
ПРИЛОЖЕНИЕ 26
Для построения прогноза на ближайший период о количестве безработных при сохранении прежних темпов роста безработицы используется подпункт «Прогноз» из пункта «Оценка» отображающий форму «Прогноз темпов безработицы» (рис.4.5)
Рисунок 4.5 – Форма «Прогноз темпов безработицы»
Данная форма выводит предполагаемый процент изменения уровня безработицы исходя из данных таблицы «Безработные». Промежуток времени вводится вручную в поле редактирования.
4.4 Группировка
В
пункте «Группировка» имеется
Рисунок 4.6 – Группировка по возрасту
Рисунок 4.7 – Группировка по половой принадлежности
Рисунок 4.8 – Группировка по стажу
Рисунок 4.9 – Группировка по специальности
Рисунок
4.10 – Группировка по причине увольнения
4.5 Трудоустройство
Из последнего пункта меню «Трудоустройство» отображается форма «Поиск подходящий вакансий» (рис.4.11). В этой форме отображается описание самой подходящей вакансии для безработного, выбранного из выпадающего списка. Поиск вакансии происходит из выборки таблиц «Вакансии» и «Безработные». Выборка происходит по полу, специальности, образованию, стажу и возрасту. Из всех подходящих вакансий выбирается наиболее подходящая вакансия сначала по зарплате, после по количеству рабочих дней и количеству дней отпуска.
Рисунок
4.11 – Форма «Поиск подходящей вакансии»
ЗАКЛЮЧЕНИЕ
Произведена оценка уровня безработицы и поиска подходящих вакансий для безработных. Если осуществлять этот процесс вручную, возможны недочеты и ошибки, к тому же это трудоемкая работа, выполнение которой требует длительного времени. Выполнение данной операции на ЭВМ реализуется в данном ПС. Это позволит сократить расходы и время обслуживания. Возможно, что это приведет также к сокращению работников. С данным ПС может работать несколько человек, при этом они смогут фиксировать все операции на бирже труда. Внедрение данного ПС экономически обосновано.
Целью курсовой работы являлось разработать приложение в среде Delphi, взаимодействующее с базами данных в СУБД Paradox, которая содержит данные о безработных, предприятиях и вакансиях.
В ходе выполнения курсовой работы выполнены следующие задачи:
1) Изучена структура таблиц баз данных
2) С помощью программной среды Delphi осуществлялся подбор для каждого обратившегося безработного наиболее подходящего варианта работы по сведениям в банке данных
3) Проводился анализ и прогнозирование ситуации на рынке труда:
Все задачи, поставленные на курсовое проектирование, выполнены полностью.
Приложение
unit UnitAnalis, предназначен для определения роста или падения уровня безработицы и вычисления процента относительно минимального и максимального года.
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, DBTables;
type
TFormAnalis = class(TForm)
Label2: TLabel; //В Label2 содержится поясняющий текст
Memo1: TMemo; //В Memo1 записывается результат вычислений
DataSource1: TDataSource;
Query1: TQuery;
procedure FormClose(Sender: TObject; var Action: TCloseAction); //Процедура выполняющаяся при открытии форым
procedure FormShow(Sender: TObject); //Процедура выполняющаяся при открытии формы
procedure Podschet(); //Процедура нахождения минимального и максимального года и подсчета разницы между этими годами
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormAnalis: TFormAnalis;
implementation
uses UMain, UnitProbnik2;
{$R *.dfm}
procedure TFormAnalis.Podschet();
var
s,s1,s_max,s_min : string;
i,k1,k2: Integer;
begin
k:=0;
Query1.active:=False;
Query1.sql.clear; //Закрытие и очистка компоненты запросов
Query1.sql.add('Select Max(Data_yvolnenia) qq,Min(Data_yvolnenia) ww from unemployed');//Запрос выбора максимальной и минимальной даты увольнения из таблицы безработные
Query1.execsql; //Компиляция запроса
Query1.Active:=True;
s_max:=Query1.fieldbyname('qq'
s_min:=Query1.fieldbyname('ww'
s_max:=copy(s_max,7,4); //Выделение из даты года
s_min:=copy(s_min,7,4);
max:=StrToInt(s_max); //Перевод из типа строки в тип целого
min:=StrToInt(s_min);
Query1.sql.clear;
for i := max downto (min+1) do //Цикл от максимального года к минимальному для подсчета разности
begin
Query1.sql.add('Select Count (*) kolvo FROM unemployed Where Data_yvolnenia between ''01.01.'+IntToStr(i)+''' and ''31.12.'+IntToStr(i)+''''); //Запрос поиска количества безработных i-го года
Query1.execsql;
Query1.Active:=True;
k1:=Query1.fieldbyname('kolvo'
Query1.sql.clear;
Query1.sql.add('Select Count (*) kolvo1 FROM unemployed Where Data_yvolnenia
between ''01.01.'+IntToStr(i-1)+''' and ''31.12.'+IntToStr(i-1)+'''');
Query1.execsql;
Query1.Active:=True;
k2:=Query1.fieldbyname('
k:=k+k1-k2; //Подсчет разницы между каждым предыдущим годом
Query1.sql.clear;
end;
Query1.sql.add('Select Count(*) as kol From unemployed'); //Запрос на подсчет количества безработных
Query1.execsql;
Query1.Active:=True;
kol:=Query1.fieldbyname('kol')
Query1.sql.clear;
Query1.Active:=False;
end;
procedure TFormAnalis.FormShow(Sender: TObject);
var m:real;
begin
FMain.Visible:=False; //Отключение видимости главной формы
FormAnalis.Show; //Открытие формы «Анализ рынка»
FormAnalis.memo1.Clear; //Очищение поля для записи
Podschet(); //Выполнение функции подсчета
m:=int(k*100/kol); //Подсчет процента роста или падения безработицы
FormAnalis.memo1.Lines.Add('По данным таблицы:');
if (k=0) then FormAnalis.memo1.Lines.Add('C '+ IntToStr(min) + ' по ' + IntToStr(max) + ' года уровень безработицы остался прежним'); //Добавление в поле для записи результатов расчета
if (k<0) then FormAnalis.memo1.Lines.Add('C '+ IntToStr(min) + ' по ' + IntToStr(max) + ' года безработица снизилась на ' + FloatToStr(m) + ' %'); //Добавление в поле для записи результатов расчета
if (k>0) then FormAnalis.memo1.Lines.Add('C '+ IntToStr(min) + ' по ' + IntToStr(max) + ' года безработица увеличилась на ' + FloatToStr(m) + ' %'); //Добавление в поле для записи результатов расчета
end;
procedure TFormAnalis.FormClose(Sender: TObject; var Action: TCloseAction);
begin
FMain.Visible:=True; //При закрытии формы «Анализ рынка» видимость главной формы включается
end;
end.
unit UnitPrognos, предназначен для определения роста или падения уровня безработицы и вычисления процента в будущем на промежуток времени заданный пользователем.
unit UnitPrognos;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, DB, DBTables;
type
TFormPrognos = class(TForm)
Edit1: TEdit;
Label1: TLabel;
Button1: TButton;
Query1: TQuery;
DataSource1: TDataSource;
Memo1: TMemo;