Разработка комплекса программ автоматизации процесса регистрации и обработки данных для конкретной организации

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



?ю, более новую, возможность, в случае каких-либо изменений не переписывать всё заново, а редактировать и перекомпилировать приложение, сделав его лучше. Исходный код программы и база данных находяться в приложении В. Внедрение. Одним из важных моментов в работе программиста является этап внедрения программного продукта, написанное им самим, когда казалось бы все отлажено, все ошибки, возникающие в процессе отладки программы, исправлены, одним словом - работает, но локально. Начнем с определения компьютера, который будет выполнять роль сервера базы данных. Он должен соответствовать следующим системным требованиям:

процессор: не ниже Pentium IV;

ОЗУ: не менее 1Гб;

накопитель информации объединенный в Raid-массив;

наличие LAN;

операционная система 32х - разрядная Windows, Linux;

блок бесперебойного питания.

Установка сервера Firebird происходит просто из дистрибутива программы. После установки Firebird необходимо скопировать нашу динамическую библиотеку Sqr_Sqrt.dll в директорию Firebird. К клиентским компьютерам системные требования таковы:

процессор: не ниже Pentium II;

ОЗУ: не менее 64Мб;

жесткий диск не менее 500 Мб;

наличие LAN;

операционная система: 32х - разрядная Windows 9х и выше.

клавиатура, мышь, SVGA - монитор.

Установка программы осуществляется путем установки клиентской части сервера Firebird из дистрибутива Firebird, либо копированием библиотеки gds32.dll в системную директорию, и копированием исполняемого файла программы Chemical_analysis.exe в любое место. Для начала программа была установлена на три клиентских компьютера в три лаборатории завода. Пуск прошел удачно, программа заработала одновременно на всех компьютерах, но при попытке сохранения протоколов иногда возникала ошибка взаимной блокировки транзакций - DEADLOCK. Это означает, что одно из действий, проводимых в транзакции, не может быть выполнено. Следовательно, такая транзакция должна быть отменена (rollback). Следует избегать длительных транзакций, которые могут попасть в такую ситуацию - единственным выходом из нее будет попытка начать транзакцию снова и повторить все действия. Уменьшить число возможных конфликтов обновления можно, сократив время выполнения транзакции. Например, сначала принимаются данные от пользователя, и если он подтверждает введенную информацию, приложение стартует транзакцию, быстро передает данные на сервер, и завершается. Чем быстрее пройдет транзакция, тем больше у нее шансов завершиться успешно, поэтому в программе было увеличено количество подтверждений транзакций в рамках каждой задачи. В остальном пожелания со стороны заказчиков были по дизайну форм, отчетов и графиков (шрифт побольше, кнопки покрупнее, печать с просмотром и т.д.).

SET TERM;or alter procedure CALC_DISPERSION (integer,smallint)variable L smallint;variable Q double precision;variable T1 double precision;variable T2 double precision;variable T3 double precision;variable T4 double precision;variable T5 double precision;variable S_QUADR_R_LOW double precision;variable S_QUADR_L double precision;variable S_QUADR_R double precision;variable SKO_RECURRENCE double precision;variable SKO_RECUR double precision;variable LIMIT_RECURRENCE double precision;variable LIMIT_RECUR double precision;variable X_SR_GEN double precision;sum(N * X_SR) as T1,(N * Calc_sqr(X_SR)) as T2,(N) as T3,(Calc_sqr(N)) as T4,((N - 1) * Calc_sqr(SKO)) as T5,(*) as L,(X_SR)Value_list_ocencaNOMER = :Nomer:T1, :T2, :T3, :T4, :T5, :L, :X_sr_gen;_QUADR_R_LOW = T5 / (T3 - L);_QUADR_L = ((((T2 * T3) - Calc_sqr(T1)) / (T3 * (L - 1))) - S_QUADR_R_LOW)

* ((T3 * (L - 1)) / (Calc_sqr(T3) - T4));_QUADR_R = S_QUADR_R_LOW + S_QUADR_L;_RECURRENCE = Calc_sqrt(S_QUADR_R_LOW);_RECUR = Calc_sqrt(S_QUADR_R);QQ_coefficientN = :N:Q;(Q is null) thenException_null;;_RECURRENCE = SKO_RECURRENCE * Q;_RECUR = SKO_RECUR * Q;Register_protocol_ocencaSKO_RECURRENCE = :Sko_recurrence,_RECUR = :Sko_recur,_RECURRENCE = :Limit_recurrence,_RECUR = :Limit_recur,_SR_GEN = :X_sr_gen,= :LID = :Nomer;;TERM

/* Following GRANT statetements are generated automatically */SELECT ON VALUE_LIST_OCENCA TO PROCEDURE CALC_DISPERSION;SELECT ON Q_COEFFICIENT TO PROCEDURE CALC_DISPERSION;SELECT,UPDATE ON REGISTER_PROTOCOL_OCENCA TO PROCEDURE CALC_DISPERSION;

/* Existing privileges on this procedure */EXECUTE ON PROCEDURE CALC_DISPERSION TO SYSDBA;TERM ^ ;or alter procedure CALC_X_SR_SKO (integer)variable X1 double precision;variable X2 double precision;variable X3 double precision;variable X4 double precision;variable X5 double precision;variable X6 double precision;variable DIFF1 double precision;variable DIFF2 double precision;variable DIFF3 double precision;variable DIFF4 double precision;variable DIFF5 double precision;variable DIFF6 double precision;variable N smallint;variable X_SR double precision;variable SKO double precision;variable ID integer;ID, X1, X2, X3, X4, X5, X6value_list_ocencaNOMER = :nomer:ID, :x1, :x2, :x3, :x4, :x5, :x6= 0;(X1 0) then diff6 = X_SR - X6; else diff6 = 0;= calc_sqrt((calc_sqr(diff1) + calc_sqr(diff2) +_sqr(diff3) + calc_sqr(diff4) +_sqr(diff5) + calc_sqr(diff6)) / (n - 1));value_list_ocencaN = :N,_SR = :X_SR,= :SKOID = :ID;

/*suspend;*/^TERM

/* Following GRANT statetements are generated automatically */SELECT,UPDATE ON VALUE_LIST_OCENCA TO PROCEDURE CALC_X_SR_SKO;

/* Existing privileges on this procedure */EXECUTE ON PROCEDURE CALC_X_SR_SKO TO SYSDBA;

Заключение

В заключительной части своей работы хочется обобщить основные понятия. Термин сервер баз данных обычно используют для обозначения всей СУБД, основанной на архитектуре клиент-сервер, включая и серверную, и клиентскую части. Такие системы предназначены для хранения и обеспечения доступа к базам данных. Доступ к базе данных от прикладной программы или пользователя производится путем обращения к клиентской части системы. В качестве основного интерфейса между клиентской и серверной частями выступает язык баз данных SQL. Это язык по сути дела представляет собой текущий стандарт интерфейса СУБД в открытых системах. Собирательное название SQL-сервер относится ко всем серверам баз данных, основанных на SQL. Соблюдая предосторожности при программировании, можно создавать прикладные информационные системы, мобильные в классе SQL-серверов. Серверы баз данных, интерфейс которых осн