- •Введение
- •Глава 2 посвящена вопросам разработки технического задания, процессу проектирования и построения системы. Рассматриваются вопросы:
- •Глава 3 описывает методику тестирования разработанного приложения, вопросы эксплуатации, этап разработки программной документации.
- •Глава 1. Анализ задачи построения системы электронного учета вакансий на предприятии оао Белзан
- •1.1 Вакансии на предприятии
- •1.2 Требования, предъявляемые к системе Vakansia
- •1.3 Определение класса решаемой задачи
- •1.4 Определение критериев выбора средств и методов решения задач
- •1.5 Технология построения windows-приложений на базе технологии Windows Forms .Net
- •1.6 Механизм взаимодействия с базой данных
- •1.7 Разработка технического задания
- •Глава 2 Проектирование и разработка программы Vakansia
- •2.1 Анализ исходных данных. Разработка требований.
- •2.2 Архитектура приложения.
- •2.3 Информационное обеспечение
- •2.4 Математическое обеспечение
- •2.4.1 Алгоритмическое обеспечение проекта
- •2.4.1.1 Логическая структура базы данных
- •2.4.1.2 Физическая модель данных
- •2.4.1.3 Схема данных
- •2.4.1.4 Хранимые процедуры
- •2.4.1.5 Sql запросы
- •2.4.2 Программное обеспечение проекта
- •2.4.2.1 Структура windows-приложения
- •2.4.2.2 Описание основных модулей приложения
- •Глава 3. Реализация и тестирование
- •3.1 Дистрибутив приложения. Развертывание
- •3.2 Реализация тестирования
- •Заключение
- •Список литературы
- •Приложение а (обязательное) Техническое задание
- •Приложение б (обязательное) Описание программы
- •Приложение b (обязательное) Программа и методика испытаний
- •Приложение г (обязательное) Руководство пользователя
- •Приложение д
- •Приложение ж Презентационный материал
Приложение д
(обязательное)
Физическая структура БД Commerce
Приложение Е
(обязательное)
Программный код
Листинг 1. Процедура открытие справочника с актуальными вакансиями на текущий день.
procedure TForm1.Vakans(Sender: TObject);
begin
//Актуальные вакансии
DataModule1.IBtablvak.Active:=false;
DataModule1.IBtablvak.SelectSQL.Add('select * from vak where wdate='''
+ datetostr(date())+'''');
DataModule1.IBtablvak.Active:=true;
DataModule1.IBtablvak.First;
Form_vak.Show;
end;
Листинг 2. Процедура создания новой анкеты кандидата.
procedure TForm1.ADD_ANKETA(Sender: TObject);
var i, j:word;
str: string;
ft : string;
begin
//Вставка новой записи
datamodule1.IBDataSet1.Insert;
datamodule1.IBDataSet1.Post;
form1.ComboBox1.ItemIndex:=-1;
flag:=datamodule1.IBDataSet1.Fields[46].AsInteger;
datamodule1.IBDataSet1.Edit;
//загружаем изображение
if (vartostr(datamodule1.IBDataSet1.FieldValues['Foto'])<>'') then
ft:=datamodule1.IBDataSet1.FieldValues['Foto']
else
ft:=ExtractFilePath(Application.ExeName)+'\фото\not.jpg' ;
foto.Picture.LoadFromFile(ft);
//открываем таблицу образования
datamodule1.IBobraz.Active:=false;
j:=strtoint(vartostr(datamodule1.IBDataSet1.FieldValues['code']));
datamodule1.IBobraz.SelectSQL.Add('select * from OBRAZ where CODE_ANKETA = ' +inttostr(j));
datamodule1.IBobraz.Active:=true;
//Открываем таблицу профессий
datamodule1.IBDop_proff.Active:=false;
datamodule1.IBDop_proff.SelectSQL.Add('select CODE, CODE_ANKETA, CODE_PROF'+' from DOP_PROF where CODE_ANKETA = ' +inttostr(j));
datamodule1.IBDop_proff.Active:=true;
//Открываем таблицу с информацией о владении языками
datamodule1.IBin.Active:=false;
datamodule1.IBin.SelectSQL.Add('select CODE, CODE_ANKET, CODE_IN, CODE_VLAD'+ ' from IN_YAZ where CODE_ANKET = ' +inttostr(j));
datamodule1.IBin.Active:=true;
//Предыдущее место работы
datamodule1.IBtrud.Active:=false;
datamodule1.IBtrud.SelectSQL.Add('select CODE, CODE_ANKET,'+ ' DATE1, DATE2, NAME, OBAZ, PODR, PRICHINA, PROF '+ ' from TRUD where CODE_ANKET = ' +inttostr(j));
datamodule1.IBtrud.Active:=true;
//Семейное положение
datamodule1.IBdeti.Active:=false;
datamodule1.IBdeti.SelectSQL.Add('select CODE, CODE_ANKET, DATE1, NAME, LETI'+ ' from DETI where CODE_ANKET = ' +inttostr(j));
datamodule1.IBdeti.Active:=true;
end;
Листинг 3.Определение результата тестирования
procedure TTest.test_rexult();
var i, j, k, k1, r, r1 , bb, bb_m:integer; pr:real; s:string; tr: Tdatetime;
begin
timer1.Enabled:=false;
DataModule1.IBSQL1.Close;
DataModule1.IBSQL1.SQL.Add('select * from tester(:cod)')
DataModule1.IBSQL1.ParamByName('cod').AsInteger:= te;
DataModule1.IBSQL1.ExecQuery;
i:=DataModule1.IBSQL1.FieldByName('code').AsInteger;
//выбираем нужный результат теста
DataModule1.IBrezult.Active:=false;
DataModule1.IBrezult.SelectSQL.Add(' select * from REZULTAT_TEST '); DataModule1.IBrezult.SelectSQL.Add(' where CODE_TEST='+inttostr(I)); DataModule1.IBrezult.SelectSQL.Add( ' and '+' case when proz = 1 then '+floattostrF(pr, ffFixed, 8, 2)+' else '+inttostr(bb)+' end '+' between ' +' case when ot is null then 0 else ot end and'+' case when po is null then 10000000 else po end '); DataModule1.IBrezult.SelectSQL.Add(' order by code');
DataModule1.IBrezult.Active:=true;
DataModule1.IBSQL2.Close;
end;