Отчет о прохождении производственной практики в ЗАО АКБ «Кавказ - Гелиос»

Автор: Пользователь скрыл имя, 25 Марта 2012 в 19:05, отчет по практике

Краткое описание

Системный администратор и программиcт вместе с сотрудниками других отделов участвует в составлении технического задания(проектирование программных продуктов) на модификацию. На основании технического задания модифицирует существующие программы, создает новые. Проводит ответную эксплуатацию программ и всего парка ПК. Вносит предложения по улучшению работы программного обеспечения.

Оглавление

ВВЕДЕНИЕ
1.Структура отдела
2 Базы данных как средство хранения и обработки информации 4
2.1 Проектирование базы данных и нормализация
3. СРЕДА ПРОГРАММИРОВАНИЯ DELHPI 7.0
3.1.Описание языка
4. Задание от ВУЗа………………………………………………………………14
5. Задание от БАНКА……………………………………………………………21
6. ТЕХНИКА БЕЗОПАСНОСТИ 22
ЗАКЛЮЧЕНИЕ 24
Список использованной литературы 25

Файлы: 1 файл

отчет матем.doc

— 204.00 Кб (Скачать)

Согласно терминологии ADO, любой источник данных (база данных, электронная таблица, файл) называется хранилищем данных, с которым при помощи провайдера данных взаимодействует приложение. Минимальный набор компонентов приложения может включать объект соединения, объект набора данных, объект процессора запросов.

Объекты OLE DB создаются и функционируют так же, как и другие объекты СОМ. Каждому объекту соответствует идентификатор класса CLSID, хранящийся в системном реестре. Для создания объекта используется метод CoCreateinstance и соответствующая фабрика класса. Объекту соответствует набор интерфейсов, к методам которых можно обращаться после создания объекта. В результате приложение обращается не прямо к источнику данных, а к объекту OLE DB, который "умеет" представить данные (например, из файла электронной почты) в виде таблицы БД или результата выполнения запроса SQL.

Технология ADO в целом включает в себя не только сами объекты OLE DB, но и механизмы, обеспечивающие взаимодействие объектов с данными и приложениями. На этом уровне важнейшую роль играют провайдеры ADO, координирующие работу приложений с хранилищами данных различных типов.

 

Такая архитектура позволяет сделать набор объектов и интерфейсов открытым и расширяемым. Набор объектов и соответствующий провайдер может быть создан для любого хранилища данных без внесения изменений в исходную структуру ADO. При этом существенно расширяется само понятие данных — ведь можно разработать набор объектов и интерфейсов и для нетрадиционных табличных данных. Например, это могут быть графические данные геоинформационных систем, древовидные структуры из системных реестров, данные CASE-инструментов и т. д.

Так как технология ADO основана на стандартных интерфейсах СОМ, которые являются системным механизмом Windows, это сокращает общий объем работающего программного кода и позволяет распространять приложения БД без вспомогательных программ и библиотек.

 

 

 

 

 

 

 

 

 

 

 

 

              4. ЗАДАНИЕ ОТ ВУЗА

Задание:

Создать базу данных используя среду разработки Delphi 7.0. Мной создана БД «Переводы без открытия счета». В качестве СУБД используется Microsoft Acces 2000. Данная СУБД была выбрана по следующим причинам:

      простота средств реализации,

      легкость освоения инструментарием разработчика (VBA),

      наглядность визуализации информации.

По для управления базой написано на Delphi 7,этот язык программирования  позволяет создавать эффективные приложения Win­dows, работающие с базами данных, в том числе и программы для систем клиент/сервер .Преимуществом приложений, разрабатываемых в среде Del­phi 7.0,- стала доступность использования как реляционного, так и навигаци­онного прог­раммирования при работе с данными.

 

4.1 База данных «Переводы без открытия счета»

Данная программа  предназначена для переводы денежных средств без открытия лицевого счета.  Интерфейс программы:

 

 

Рис 4.1 Переводы без открытия счета

 

 

В первой вкладке заполняются личные данные плательщика и получателя, с помощью кнопок «отправители» и «получатели» можно найти(если есть в списке) и вставить в основное поле данные клиентов. Для добавления новой записи, следует нажать кнопку   «+». При добавлении новой записи  в таблицу master в поле data и time записывается текущая дата и время. На второй вкладке заполняются данные о банке(служебные данные), обязательно надо выбрать с помощью Dbcombobox , процентную ставку(комиссию  за перевод) и только после этого посчитается комиссия – (функция onMouseDown).

 

Рис 4.2 Переводы без открытия счета

 

Далее обязательно нажать на «Сохранить» для сохранение новой записи. След. шагом является печать извещения, по умолчанию  стоит текущая дата, но есть возможность изменить ее.

Обязательно в меню Настройки в пункте Параметры надо указать реквизиты банка!!!

В данной БД предусмотрена печать реестров(своего вида отчеты по платежам). Для печати реестра надо выбрать пункт «Реестр» из меню «Реестры и выгрузки», затем выбрать дату и сформировать документ.

После того как распечатан реестр, обязательно надо сделать выгрузку

Рис 4.1 Выгрузка

для последующей загрузки их в АБС(автоматизированная банковская система)

Предусмотрена резервирование бд с последующим восстановлением. Резерв бд осуществляется в ручную  с помощью пункта «Резервная копия»  из меню «Настройки». Для восстановление базы – выбрать пункт «Восстановление базы» и  ввести слово ОК на латинском языке, это сделано для предотвращение случайного постановления    бд. Как только введено слово ОК, появиться кнопка «Восстановление базы»

Функция блокирования служит для блокирования бд при отсутствии на месте кассира (например в обеденный перерыв). Вызывается функция в ручную, для этого надо нажать на панели кнопку с рисунком «ключика».

При этом произойдет блокирование программы, пароль 123 (создается индивидуально для каждого рабочего места во время разработки) .

Так же для входа в программу требуется ввод логина и пароля (создается индивидуально для каждого рабочего места во время разработки) Логин Kassa , пароль cBr_95.

 

 

          4.1.1  Наиболее важные участки кода программа

             Модуль главной формы:

begin

dbase.Qmaster.Cancel; //отмена запроса

close;

end;

 

begin

if dbase.qmaster.modified then // если изменено, то сохранить(редактирование).

   dbase.qmaster.Post;

end;

 

begin

if Application.MessageBox(PChar('Вы действительно хотите удалить данную запись?'), 'Внимание!!!',

MB_OKCANCEL)=id_OK then //удаление записи

  dbase.qmaster.Delete;

end;

 

Резервирование базы:

 

begin

if FileExists('c:\Indigo\backup\main_.mdb') then

DeleteFile('c:\Indigo\backup\main_.mdb');

if CopyFile('c:\Indigo\main_.mdb','c:\Indigo\backup\main_.mdb',true) then

ShowMessage('Файл успешно скопирован!')

else

ShowMessage('Ошибка! Код ошибки '+IntToStr(GetLastError));

end;

 

Вычисление коммисии:

 

dbase.qmaster.Edit;

if dbase.qmaster.FieldByName('summa').Value <>0 then

    p:=dbase.qmaster.FieldByName('summa').Value;

    plata:=dbase.qmaster.FieldByName('plata').Value;

    comis:=p*plata/100;

    dbase.qmaster.FieldByName('PlataZaPer').Value:=comis

 

 

Вызов справки:

    ShellExecute(Handle,nil,'/help.chm',nil,nil,SW_SHOW)

Модуль восстановления бд:

    Востановление БД

begin

dbase.connect.Connected:=false;

if FileExists('c:\Indigo\main_.mdb') then

begin

CopyFile('c:\Indigo\main_.mdb','c:\Indigo\main_OLD.mdb',true);

DeleteFile('c:\Indigo\main_.mdb');

if CopyFile('c:\Indigo\backup\main_.mdb','c:\Indigo\main_.mdb',true) then

ShowMessage('База востановлена!!!Программу нужно переоткрыть!!!')

else

ShowMessage('Ошибка при востановлении базы! Код ошибки '+IntToStr(GetLastError)+'Программу нужно переоткрыть!!!');

end;

bbck.Visible:=false;

ebakcup.text:='';

  dbase.connect.Connected:=true;

close;

myForm.close;

 

Проверка: не случайно ли восстанавливается бд

if ebakcup.Text='OK' then

   bbck.Visible:=true;

 

Модуль блокирования программы

var x,y:string;

begin

x:='123';

y:=edita.text;

try

if y=x then

    begin

      fmain.PageControl.Visible:=true;

      close;

    end

     else

      t:=t+1; // если попыток ввода пароля равна 3-м то выход из программы

        if t=3 then

         begin

          myform.close;

          edita.Text:='';

         end

          else

          edita.Text:='';

except

end;

end;

 

Модуль списка «клиентов»:

  dbase.qmaster.Edit;

dbase.qmaster.FieldByName('KPPPoluch').Value:=dbase.qchp.FieldByName('ch_KPPPoluch').Value;

dbase.qmaster.FieldByName('PoluchName').Value:=dbase.qchp.FieldByName('ch_PoluchName').Value; // вставка значение из списка в основное поле

 

Поиск по ФИО:

Dbase.qfin.Active:=false;

Dbase.qfin.SQL.Clear;

Dbase.qfin.SQL.Add('SELECT * ');

Dbase.qfin.SQL.Add('FROM chast_poluch');

Dbase.qfin.SQL.Add('WHERE ch_PoluchName like');

Dbase.qfin.SQL.Add(QuotedStr('%' + efin.Text + '%'));

Dbase.qfin.Active:=true;

qfindes.showmodal;

 

Добавление даты в поле – data:

dbase.qmaster.FieldByName('data').AsString:=FormatDateTime('dd.mm.yyyy',now);

 

Запрос с параметров:

begin

     Dbase.qizv.Active:=false;

     Dbase.qizv.Parameters.ParamByName('ddt').Value:=DateToStr(dateselect.Date);

     Dbase.qizv.Active:=true;

     fizv.QuickRep1.PreviewModal;

     close;

end;

 

Авторизация:

  Алгоритм дешифровывания и обработка введенного пароля и логина:

  const

       dw_=#90#11#155#155#11;

       dd_=#27#18#147#250#201#201#169;

var

  myForm: TmyForm;

  digi,str:string;

procedure DecryptString(Str: PChar);

asm

@next:

  cmp byte ptr [eax],0;

  jz @stop;

  ror byte ptr [eax],3;

  inc eax;

  jmp @next;

@stop:

end;

procedure Print(str: String);

begin

  UniqueString(str); //создание копии строки в памяти(для защиты от дампинга памяти)

  DecryptString(PChar(str));

  Write(str);

end;

procedure TmyForm.bOKClick(Sender: TObject);

var str,st,k,o:string;

begin

   str:=dw_;

   st:=dd_;

   UniqueString(str);

   UniqueString(st);

   k:=lEdit.Text;

    if length(k)=5 then //сравнивается сначала длина строки, а не сам пароль

        begin

         DecryptString(PChar(str));

         if  k=str then

         o:=pedit.text;

         if length(o)=5 then

          DecryptString(PChar(st));

            if  k=str then

            fmain.show

    else close ;

     end else close;

end;

 

Выгрузка данных в файл:

 

fs:= TStringList.Create();

     Dbase.qupld.Active:=false;

     Dbase.qupld.Parameters.ParamByName('dt').Value:=DateToStr(dtselect.Date);

     Dbase.qupld.Active:=true;

   While dbase.qupld.FieldByName('vygruz').AsBoolean=false do

    begin

    str:='';

     str:=dbase.qupld.FieldByName('data').AsString+','

     +dbase.qupld.FieldByName('fio').AsString+','

     +dbase.qupld.FieldByName('adres').AsString+','

     +dbase.qupld.FieldByName('summa').AsString+','

     +dbase.qupld.FieldByName('PlataZaPer').AsString+','

     +dbase.qupld.FieldByName('RSPoluch').AsString;

     dbase.qupld.Edit;

     dbase.qupld.FieldByName('vygruz').AsBoolean:=true;

    fs.Add(str);

     fs.SaveToFile('upload_'+DateToStr(dtselect.Date)+'.txt');

     dbase.qupld.Next;

     end;

     if fileExists('upload_'+DateToStr(dtselect.Date)+'.txt') then

     ShowMessage('Выгружено...');

      bshow.Visible:=true;

       end;

 

Справочные функции, переход на сайт программы:

webbrowser1.Navigate('http://www.pm051.narod.ru/indigo.htm');
5.ЗАДАНИЕ ОТ БАНКА

     

Задание:

 

Установить и настроить второй резервный сервер. Конфигурация сервера: дисковое пространство – RAID0, ОС совместимая с главными и резервными серверами. Сервер должен: в определенное время  скопировать бд с сервера «А», после запустить базу. Должна быть установлена и настроена система безопасности.

 

Решение:

Собрал ПК. Настроил  на нем RAID0 для обеспечения сохранности данных и увеличение   быстродействия компьютера. Далее установил ОС, настроил сетевую карту. Протянул сетевой кабель от сервера к хабу, присвоил ip адрес. Установил  и настроил СУБД. Написал скрипт для копирования базы данных. Настроил систему безопасности (файервол).  Настроил SSH сервис для удаленного администрирования. Сгенерировал ключи для аутентификации в системе. На сервере настроил общий доступ  к некоторым ресурсам сервера. Опечатал сервер.

  

     

 

 


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

1.              Общие положения.

1 1 Настоящая инструкция разработана для персонала занятого эксплуатацией персональных электронно-вычислительных машин (ПЭВМ) и для работников, использующих ПЭВМ для набора и распечатки документов, ведения баз данных.

1.2              Работа на ПЭВМ относится к категории работ, связанных с опасными и
вредными условиями труда. К ним относятся следующие вредные
производственные факторы:

-         повышенные уровни электромагнитного излучения;

-         рентгеновское излучение;

-         повышенные уровни ультрафиолетового и инфракрасного излучения; статическое электричество;

запыленность воздуха,   повышенное содержание  в  воздухе

положительных аэроионов  и пониженное - отрицательных;

пониженный уровень освещенности;

эмоциональные и интеллектуальные нагрузки, напряжение зрения и

внимания; монотонность труда;

большой объем информации, обрабатываемой в единицу времени.

1.3              К работам на ПЭВМ допускаются лица не моложе 18 лет, прошедшие:

-              медицинское освидетельствование на предмет пригодности для работы на
ПЭВМ в соответствии с требованиями приказа Минздрава РФ №90 и
Госкомсанэпидемнадзором РФ №280/88;

вводный инструктаж по охране труда;

-         обучение безопасным приемам и методам труда на рабочем месте;

-         проверку знаний на I группу по электробезопасности.

1.4 На основании требований п.10.3. санитарных правил и норм "Гигиенические требования к видео-дисплейным терминалам, персональным электронно-вычислительным машинам и организация работы" СанПиН 2.2.2.542-96 "женщины со времени установления беременности и в период кормления ребенка грудью к выполнению всех видов работ, связанных с использованием ПЭВМ, не допускаются".

Информация о работе Отчет о прохождении производственной практики в ЗАО АКБ «Кавказ - Гелиос»