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

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

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



?диночном наблюдении, столь велики, что проведение повторных наблюдений даже не рассматривают. Это обычно происходит, когда измерения дорогостоящие (например, при разрушающем контроле) или выход продукции все время относительно однороден. В других ситуациях нельзя получить более одного значения, например показание прибора или значение характеристики партии исходных материалов, поэтому приходится управлять процессом на основе индивидуальных значений. При использовании карт индивидуальных значений рациональные подгруппы для обеспечения оценки изменчивости внутри партии не применяют, и контрольные границы рассчитывают на основе меры вариации, полученной по скользящим размахам обычно двух наблюдений. Скользящий размах - это абсолютное значение разности измерений в последовательных парах, т. е. разность первого и второго измерений, затем второго и третьего и т. д. На основе скользящих размахов вычисляют средний скользящий размах R, который используют для построения контрольных карт. Также по всем данным вычисляют общее среднее X. В таблице 6 приведены формулы расчета контрольных границ для карт индивидуальных значений. Пример расчета с графиком представлен в приложении Б (пример 2).

СтатистикаСтандартные значения не заданыСтандартные значения заданыЦентральная линияUCL и LCLЦентральная линияUCL и LCLИндивидуальное значение XXX 2,66*R____________Скользящий размах rR3.267*R_______________Табл. 6

Из вышеизложенного материала составим для каждой задачи основную блок-схему. Для задачи оценки точности (правильности и прецизионности) результатов измерений относительного количественного химического анализа блок-схема представлена на рисунке 2 и рисунке 3. Для задачи контроля стабильности результатов измерения имеет вид - рис.4. Для расчета контрольных карт для индивидуальных значений и скользящих размахов, блок-схема будет выглядеть так - рисунок 5 и рисунок 6. Опираясь на основные требования к создаваемому программному обеспечению, а в частности многопользовательский доступ, был выбран сервер баз данных Firebird 2.5. Немного о данном сервере: Firebird SQL server - система управления базами данных, основанная на открытом исходном коде Interbase 6.0. Сервер Firebird разрабатывается под различные платформы: Linux, Solaris, Windows, Unix, MacOS, под 64-х и 32-х битную операционные системы. Может использоваться даже не очень мощное оборудование, особенно под Linux. И как в любой СУБД, на производительность влияют: количество памяти, скорость работы дисковой подсистемы, и т. д. Рекомендации для выбора аппаратного обеспечения зависят от требования к системе, прогнозируемого размера базы данных, количества пользователей, и т. д. Допустимо начинать с минимальной конфигурации, расширяя её по мере надобности. Firebird SQL Server распространяется бесплатно и не имеет лицензионных ограничений. В качестве преимуществ Firebird можно отметить многоверсионную архитектуру, обеспечивающую параллельную обработку оперативных и аналитических запросов (это возможно потому, что читающие пользователи не блокируют пишущих), компактность (дистрибутив 5Mb), высокую эффективность и мощную языковую поддержку для хранимых процедур и триггеров. В качестве средства разработки и администрирования была выбрана среда под наименованием IBExpert. IBExpert - поддерживает Firebird, Interbase, Yaffil. Редакторы DDL и DML. Визуальный построитель запросов. Автозавершение кода, Metadata Extractor, отладчик хранимых процедур, а также множество других возможностей. Бесплатный для жителей постсоветского пространства, для остальных - от 179 евро. В итоге, мы получили бесплатный набор инструментов для создания и работы базы данных.

Дамп базы данных выглядит следующим образом.

Коэффициенты Граббса. CREATE TABLE GRABBS_COEFFICIENT ( P_OPREDELENIE SMALLINT NOT NULL, BIGGER_1PER FLT_DOMAIN /* FLT_DOMAIN = DOUBLE PRECISION CHECK (VALUE>=0) */, BIGGER_5PER FLT_DOMAIN /* FLT_DOMAIN = DOUBLE PRECISION CHECK (VALUE>=0) */, LOVER_1PER FLT_DOMAIN /* FLT_DOMAIN = DOUBLE PRECISION CHECK (VALUE>=0) */, LOVER_5PER FLT_DOMAIN /* FLT_DOMAIN = DOUBLE PRECISION CHECK (VALUE>=0) */);TABLE KOHREN_COEFFICIENT (P_OPREDELENIE SMALLINT NOT NULL, N2_1PER FLT_DOMAIN /* FLT_DOMAIN = DOUBLE PRECISION CHECK (VALUE>=0) */, N2_5PER FLT_DOMAIN /* FLT_DOMAIN = DOUBLE PRECISION CHECK (VALUE>=0) */, N3_1PER FLT_DOMAIN /* FLT_DOMAIN = DOUBLE PRECISION CHECK (VALUE>=0) */, N3_5PER FLT_DOMAIN /* FLT_DOMAIN = DOUBLE PRECISION CHECK (VALUE>=0) */, N4_1PER FLT_DOMAIN /* FLT_DOMAIN = DOUBLE PRECISION CHECK (VALUE>=0) */, N4_5PER FLT_DOMAIN /* FLT_DOMAIN = DOUBLE PRECISION CHECK (VALUE>=0) */, N5_1PER FLT_DOMAIN /* FLT_DOMAIN = DOUBLE PRECISION CHECK (VALUE>=0) */, N5_5PER FLT_DOMAIN /* FLT_DOMAIN = DOUBLE PRECISION CHECK (VALUE>=0) */, N6_1PER FLT_DOMAIN /* FLT_DOMAIN = DOUBLE PRECISION CHECK (VALUE>=0) */, N6_5PER FLT_DOMAIN /* FLT_DOMAIN = DOUBLE PRECISION CHECK (VALUE>=0) */);TABLE LABOR (VARCHAR(25) NOT NULL);TABLE METOD (VARCHAR(30) NOT NULL, COMMENT VARCHAR(250)); CREATE GENERATOR GEN_PRECISION_METOD_OCENCA_ID; CREATE TABLE PRECISION_METOD_OCENCA (ID INTEGER NOT NULL, NOMER INTEGER NOT NULL, PROBA SMALLINT NOT NULL, X DOUBLE PRECISION NOT NULL, XG DOUBLE PRECISION, K DOUBLE PRECISION NOT NULL);TABLE Q_COEFFICIENT (N SMALLINT NOT NULL, Q FLT_DOMAIN /* FLT_DOMAIN = DOUBLE PRECISION CHECK (VALUE>=0) */);TABLE REGISTER_PROTOCOL_OCENCA (ID INTEGER NOT NULL, CURDATE DATE NOT NULL, LABOR VARCHAR(25) NOT NULL, METOD VARCHAR(15), COMMENT VARCHAR(250), X_SR_GEN DOUBLE PRECISION, L SMALLINT, N_SR FLOAT, SKO_RECURRENCE DOUBLE PRECISION, SKO_RECUR DOUBLE PRECISION, C FLOAT, LIMIT_RECURRENCE DOUBLE PRECISION, LIMIT_RECUR DOUBLE PRECISION, DELTA DOUBLE PRECISION, KT DOUBLE PRECISION, UNIT VARCHAR(20), G_KOHR DOUBLE PRECISION, G_KOHR_1_PER DOUBLE PRECISION, G_KOHR_5_PER DOUBLE PRECISION, CHECK_1_PIP_G_MIN DOUBLE PRECISION, CHECK_1_PIP_G_MAX DOUBLE PRECISION, CHECK_1_PIP_BIG_1PER DOUBLE PRECISION, CHECK_1_PIP_BIG_5PER DOUBLE PRECISION, CHECK_2_PIP_G_MIN DOUBLE PRECISION, CHECK_2_PIP_G_MAX DOUBLE PRECISION, CHECK_2_PIP_LOWER_1PER DOUBLE PRECISION, CHECK_2_PIP_LOWER_5PER DOUBLE PRECISION, TIP SMALLINT, GRANICA_TIP SMALLINT, SOST SMALLINT, N SMALLINT, N2 SMALLINT, VIEV SMALLINT);TABLE SHUHART_SP_IND (ID INTEGER NOT NULL, CURDATE DATE, LABOR VARCHAR(30), OTDEL VARCHAR(50), POKAZATEL VARCHAR(50), KONTROL VARCHAR(50), PERIOD VARCHAR(50), X DOUBLE PRECISION, R DOUBLE PRECISION, UCL_X DOUBLE PRECISION, UCL_R DOUBLE PRECISION, LCL DOUBLE PRECISION);TABLE SHUHART_SP_KSRI (ID INTEGER NOT NULL, CURDATE DATE, LABOR VARCHAR(25), METOD VARCHAR(30), PARAMETR VARCHAR(50), FACTOR VARCHAR(50), PERIOD VARCHAR(50), L DOUBLE PRECISION, USLG DOUBLE PRECISION, USLPR DOUBLE PRECISION, R_OTN DOUBLE PRECISION); ALTER TABLE SHUHART_SP_KSRI ADD CONSTRAINT PK_SHUHART_SP_KSRI PRIMARY KEY (ID); ALTER TABLE SHUHART_SP_KSRI ADD CONSTRAINT FK_SHUHART_SP_KSRI_LABOR Дамп базы данных выглядит следующим образом. Коэффициенты Граббса. CREATE TABLE GRAB