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

База данных как основа автоматизации. Разработка, описание и реализация программного обеспечения "Точность и правильность методов и результатов измерений для центральной заводской лаборатории ОАО "Акрилат". Листинг, исходные коды программы и базы данных.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 23.06.2012
Размер файла 1,0 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Алгоритмические языки и программирование

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

Лазарев Евгений Николаевич

Содержание

Введение

1 Постановка технического задания и описание задач

2 Реализация программного обеспечения

3 Исходные коды программы и базы данных

Заключение

Глоссарий

Список использованных источников

Список сокращений

Введение

Программный продукт, о котором будет идти речь в данной работе, был создан и внедрен в производство в 2011 году на нефтехимическом предприятии ОАО «Акрилат» в городе Дзержинске. ОАО «Акрилат» является единственным в России производителем акриловых мономеров - акриловой кислоты, бутилакрилата, этилакрилата, метилакрилата с 2004 года. Поскольку предприятие молодое и энергичное, то и подход к решению проблем соответственно был с расчетом «на будущее». Перед программистами, работающими на предприятии, стояли задачи в основном связанные с переходом со старого программного обеспечения на новое, либо создание принципиально нового ПО. В данном, конкретном случае получилось так, что в связи со сменой ГОСТов, программа, занимающаяся оценкой прецизионности (точности) выполнения измерений различных физических величин, стала не актуальна, и расчеты, которые она выполняла, стали неверными. С 1 ноября 2002 года введен в действие ГОСТ Р ИСО 5725-2002 «Точность (правильность и прецизионность) методов и результатов измерений». Отечественные нормативные документы МИ 2335-2003 «Рекомендация. ГСИ. Внутренний контроль качества результатов количественного химического анализа» и МИ 2336-2002 «Рекомендация. ГСИ. Показатели точности, правильности, прецизионности методик количественного химического анализа. Методы оценки» адаптированы на соответствие требованиям ГОСТ Р ИСО 5725. Учитывая значимость нормативных документов для СНГ, их статус повышен до межгосударственных стандартов СНГ: РМГ 61-2002 (вместо МИ 2336) и РМГ 76-2003 (вместо МИ 2335). Однако внедрение этих нормативных документов (ГОСТ Р ИСО 5725, РМГ-61 и РМГ-76) в практическую деятельность испытательных лабораторий вызвало серьезные трудности, одной из причины которых явилась «ручная» статистическая обработка полученных результатов измерений и оценка их качества. Поскольку известно, что до 30% лабораторного времени тратится на «ручную» статистическую обработку полученных данных, то встал вопрос о создании собственного программного продукта, который будет включать в себя не только одну расчетную задачу, но и еще ряд расчетов, производимых ранее вручную, а так же вывод и печать отчетов, установленных центральной заводской лабораторией формах. В результате мы получили целый комплекс поставленных задач, а именно:

· оценка точности (правильности и прецизионности) результатов измерений относительного количественного химического анализа;

· контроль стабильности результатов измерений в лабораториях, осуществляющих контроль промышленных выбросов, воздуха рабочей зоны, атмосферного воздуха, природных и сточных вод;

· контрольные карты для индивидуальных значений и скользящих размахов.

В первом случае, стандарт распространяется на методы измерений непрерывных (в смысле принимаемых значений в измеряемом диапазоне) величин, дающие в качестве результата измерений единственное значение. При этом единственное значение может быть результатом расчета, основанного на ряде измерений одной и той же величины. В стандарте представлены определения величин, которые характеризуют, с количественной точки зрения, способность метода измерений дать верный результат (правильность) или повторить полученный результат (прецизионность). Второй случай есть нечто иное, как получение количественных показателей качества (квантификация) посредством химического анализа, физического теста, сенсорной проверки и т.д. Цель контрольных карт - обнаружить неестественные изменения в данных из повторяющихся процессов и дать критерии для обнаружения отсутствия статистической управляемости. Процесс находится в статистически управляемом состоянии, если изменчивость вызвана только случайными причинами. При определении этого приемлемого уровня изменчивости любое отклонение от него считают результатом действия особых причин, которые следует выявить, исключить или ослабить. Все эти три задачи были объединены в один проект под названием «Точность и правильность методов и результатов измерений для центральной заводской лаборатории ОАО «Акрилат».

Основная часть

1 Постановка технического задания и описание задач

В основе перечисленных задач лежит стандарт ГОСТ Р ИСО 5725-2002. Данный стандарт представляет собой полный аутентичный текст международного стандарта ИСО 5725. В нем регламентированы принятые в международной практике основные положения и определения понятий в области оценки точности методов и результатов измерений. Это чрезвычайно важно для процедур оценки соответствия при взаимном признании результатов испытаний и измерений. Так, в качестве основного вида деятельности для оценки качества работы лаборатории признаются межлабораторные сравнительные испытания. В шести стандартах ГОСТ Р ИСО 5725-2002 детально и конкретно изложены основные положения и определения показателей точности методов измерений и результатов измерений, способы экспериментальной оценки показателей точности и использования значений точности на практике. В соответствии с ГОСТ Р 5725-1-2002 - 5725-6-2002 в описании точности количественного химического анализа используется три термина: прецизионность, правильность и точность. В основе требований к программному обеспечению лежит:

· многопользовательский (сетевой) доступ в программу;

· дружественный и интуитивно-понятный пользовательский интерфейс;

· устойчивость к перебоям электроэнергии;

· совместимость программы с операционными системами семейства Windows 2000 и выше;

· обеспечить возможность работы программы на слабопроизводительных «старых» компьютерах под управление ОС Windows 9х;

· сроки выполнения: 2 месяца со дня передачи задания в службу автоматизированного управления предприятия.

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

Рис. 1

Если вся обработка данных происходит на стороне сервера, а клиент выполняет только функции интерфейса с пользователем, то клиентское приложение называют «тонким» клиентом. Если часть обработки данных происходит на стороне клиента - то «толстым» клиентом. Архитектура клиент-сервер включает в себя три основных компонента. Клиент - представляет собой любой процесс компьютера, который запрашивает сервис от сервера. Клиент также называется интерфейсным приложением. Клиентский процесс, базируется на графическом интерфейсе пользователя. Сервер - это компьютерный процесс, предоставляющий сервис клиентам. Сервер также называют серверным приложением. Серверный процесс характеризуется независимостью от местоположения, оптимизацией использования ресурсов, масштабируемостью и способностью к взаимодействию с другими системами. Коммуникационное промежуточное программное обеспечение передачи данных (ППО). Представляет собой любой компьютерный процесс, посредством которого клиенты и серверы взаимодействуют друг с другом. Это ПО называют еще уровнем коммуникаций. ППО обычно привязано к сети. Все клиентские запросы и ответы сервера передаются по сети в форме сообщений, в которых содержатся управляющая информация и данные. Клиентский процесс, базирующийся на графическом интерфейсе пользователя, запрашивает сервисы у серверного приложения. Клиентский процесс и серверный процесс взаимодействуют при помощи промежуточного программного обеспечения (ППО). Клиентский процесс посылает SQL-запрос через коммуникационное ППО. Коммуникационное ППО направляет SQL-запрос процессу сервера БД. Процесс сервера БД получает запрос, проверяет его и выполняет. ППО гарантирует, что сообщения между клиентами и серверами будут правильно маршрутизоваться и доставляться по нужному адресу. Логика обработки данных - это часть кода приложения, которая связана с обработкой данных внутри приложения. Данными управляет собственно СУБД. Для обеспечения доступа к данным используются язык запросов и средства манипулирования данными стандартного языка SQL. Теперь вернемся к теме нашей работы и рассмотрим описание и решение каждой задачи по отдельности. Настоящий стандарт Модификации данного основного метода, предусмотренные для конкретных целей, представлены в других частях ГОСТ Р ИСО 5725. описывает общие принципы планирования совместных межлабораторные экспериментов, предназначенных для количественной оценки прецизионности методов измерений. Детально описывает основной алгоритм количественной оценки прецизионности методов измерений в повседневной практике. Является руководством для персонала, имеющего отношение к планированию эксперимента, осуществлению и анализу результатов измерений. Предполагают, что при планировании и осуществлении эксперимента по оценке прецизионности соблюдены все принципы, установленные ГОСТ Р ИСО 5725-1. Основной метод предусматривает получение и использование одного и того же количества результатов измерений в каждой лаборатории при анализе проб (образцов), соответствующих одним и тем же уровням измеряемой характеристики (испытуемого параметра); т.е. имеется в виду сбалансированный эксперимент с однородными уровнями. Основной метод применяют к процедурам, которые были стандартизованы и регулярно используются во многих лабораториях. Исследования и расчет начинается с внесения в таблицу данных исходных результатов измерений представленной в табл.2.

Форма А -- Рекомендуемая форма для сопоставления исходных данных

Лаборатория

Уровень

1

2

 

 

j

 

...

n-1

n

1

 

 

 

 

 

 

 

 

 

i

 

 

 

 

x=ji

 

 

 

 

L

 

 

 

 

 

 

 

 

 

табл.2

Под лабораторией понимается строка i с данными, а под уровнем j - колонка. L - количество лабораторий, n - количество уровней для каждой лаборатории, единичный результат ji назовем пробой x. Итак, после того, как данные внесены мы начинаем расчет для каждой лаборатории, нам необходимо вычислить среднее значение проб:

;

далее рассчитываются показатели разброса (расхождения) в базовых элементах Если базовый элемент ij содержит лишь два результата измерений, то внутриэлементное расхождение (аналог стандартного отклонения) равно :

;

для анализа данных на наличие выбросов рекомендуется следующая методика. Для идентификации выбросов применяют критерии, приведенные в критериях Кохрена и критериях Граббса. Если значение меры, определяемой статистическим критерием (значением тестовой статистики), меньше (или равно) 5% критического значения тестовой статистики (критического значения при 5% уровне значимости), то тестируемую позицию признают корректной. Если значение тестовой статистики больше 5% критического значения и меньше (или равно) 1% критического значения, то тестируемую позицию называют квазивыбросом и отмечают одной звездочкой. Если значение тестовой статистики больше 1% критического значения, то тестируемую позицию называют статистическим выбросом и отмечают двумя звездочками. Далее проводят исследование с целью выяснения, могут ли квазивыбросы и/или статистические выбросы быть объяснены какой-либо технической ошибкой, например:

· ошибкой при выполнении измерения;

· ошибкой в расчетах;

· элементарной опиской при переписывании результата измерений;

· анализом не той пробы (образца).

В случае, когда ошибка появилась при расчетах или переписывании, сомнительный результат должен быть заменен правильным значением; когда ошибка являлась следствием анализа не той пробы, результат должен быть помещен в соответствующий ему базовый элемент. После того, как такого рода коррекция будет произведена, исследование на предмет квазивыбросов или выбросов должно быть повторено. В случае, если объяснение технической ошибки таково, что оно свидетельствует о невозможности замены сомнительного результата измерений, он должен быть исключен как «подлинный» выброс, не имеющий отношения к правильно проводимому эксперименту. Когда какие-либо квазивыбросы или статистические выбросы остаются необъясненными или исключенными в качестве принадлежащих к выпадающей лаборатории, квазивыбросы сохраняют в качестве корректных позиций, а статистические выбросы исключают, если только эксперт по статистике не решит оставить их, имея на это соответствующие основания. Критерий Кохрена предназначен для обработки внутрилабораторных расхождений результатов измерений и должен применяться в первую очередь, после чего должны быть приняты корректирующие меры, в случае необходимости, с повторением измерений (испытаний). Другой критерий (Граббса) главным образом предназначен для обработки межлабораторных расхождений, а также может использоваться (если n > 2) в случаях, когда проверка с применением критерия Кохрена вызвала подозрение в том, что высокая внутрилабораторная вариация обусловлена только одним из результатов измерений в базовом элементе. Критерий Кохрена - в настоящем стандарте предполагается, что между лабораториями существуют лишь небольшие различия во внутрилабораторных расхождениях. Опыт, однако, показывает, что дело обстоит не всегда так, поэтому для проверки справедливости этого предположения нужна количественная оценка. Для данной цели могли бы быть использованы несколько критериев, но был выбран критерий Кохрена. Для совокупности из L стандартных отклонений , рассчитанных исходя из одного и того же количества (n) результатов испытаний в базовых элементах, тестовая статистика Кохрена имеет вид:

;

где - наивысшее значение стандартного отклонения в совокупности:

· в случае, если значение тестовой статистики меньше (или равно) 5% критического значения, тестируемую позицию признают корректной;

· в случае, если значение тестовой статистики больше 5% критического значения и меньше (или равно) 1% значения, тестируемую позицию называют квазивыбросом и отмечают одной звездочкой;

· в случае, если значение тестовой статистики больше 1% критического значения, тестируемую позицию называют статистическим выбросом и отмечают двумя звездочками.

Критические значения для критерия Кохрена представлены в приложении А (таблица 1). Строго говоря, критерий Кохрена применяют лишь в случаях, когда все стандартные отклонения исходят из одного и того же количества (n) результатов измерений, полученных в условиях повторяемости. В фактических случаях это количество может меняться за счет недостающих или исключенных данных. В настоящем стандарте, тем не менее, предполагается, что в должным образом организованном эксперименте такие изменения в количестве результатов измерений из расчета на базовый элемент будут ограничены и ими можно пренебречь, то есть критерий Кохрена можно использовать применительно к количеству результатов измерений n, имеющих место в большинстве базовых элементов. При помощи критерия Кохрена проверяют только наивысшее значение в совокупности стандартных отклонений, и поэтому такая проверка является односторонней. Разброс в дисперсиях может также, разумеется, проявляться в наинизших значениях стандартных отклонений. Однако на малые значения стандартного отклонения может оказывать очень сильное влияние степень округления исходных данных, и поэтому они не очень надежны. Кроме того, представляется нецелесообразным отвергать данные лаборатории из-за того, что ею достигнута более высокая прецизионность в результатах измерений по сравнению с другими лабораториями. Поэтому критерий Кохрена считают адекватным. Если наивысшее значение стандартного отклонения классифицировано как выброс, то оно должно быть исключено, а проверка с использованием критерия Кохрена может быть повторена на оставшихся значениях. Следует заметить, что процедура повторения может привести к излишним исключениям данных в случаях, когда нормальное распределение, принятое за основу, не является достаточно хорошей аппроксимацией. Повторное применение критерия Кохрена предлагается здесь лишь в качестве полезного средства ввиду отсутствия статистического критерия, разработанного для проверки нескольких выбросов вместе. Критерий Кохрена не разрабатывался для данной цели, и выводы при его повторном применении необходимо делать с большой осторожностью. Так же осторожно нужно использовать критерий Кохрена в случаях, когда результаты, характеризующиеся высокими значениями стандартных отклонений (в особенности если они имеют место в пределах лишь одного из уровней), представлены двумя или тремя лабораториями. С другой стороны, если на различных уровнях в пределах одной лаборатории обнаруживается несколько квазивыбросов или статистических выбросов, то это может быть веским указанием на то, что внутрилабораторная дисперсия слишком высока, и данные этой лаборатории должны быть полностью исключены. Далее идет расчет по критерию Граббса с проверкой на один или два выброса. Для проверки, не является ли выбросом наибольшая величина из х расположенных в порядке возрастания совокупности данных xi (i = 1, 2, ..., L) вычисляют статистику Граббса Gp по формуле:

;

Где ;

;

для проверки значимости наименьшего результата наблюдения вычисляют тестовую статистику:

;

· в случае, если значение тестовой статистики меньше (или равно) 5% критического значения, тестируемую позицию признают корректной;

· в случае, если значение тестовой статистики больше 5% критического значения и меньше (или равно) 1% критического значения, тестируемую позицию называют квазивыбросом и отмечают одной звездочкой;

· в случае, если значение тестовой статистики больше 1% критического значения, тестируемую позицию называют статистическим выбросом и отмечают двумя звездочками.

Чтобы проверить, могут ли два наибольших результата наблюдений быть выбросами, вычисляют статистику Граббса:

;

Где ;

;

;

соответственно, чтобы проверить два наименьших результата наблюдений, вычисляют статистику Граббса:

;

Где ;

;

при анализе эксперимента по оценке прецизионности критерий Граббса может быть применен к следующим случаям. Анализ средних значений базовых элементов для заданного уровня j. Сначала к средним значениям базовых элементов уровня j применяют критерий Граббса для одного выброса, как описано выше. Если обнаруживается, что среднее значение базового элемента является выбросом, необходимо исключить его и повторить проверку для другого экстремального среднего значения базового элемента (например, если наивысшее значение является выбросом, то тогда следует проверить наинизшее значение, а наивысшее значение при этом исключить), однако при этом не следует применять критерий Граббса для двух выбросов. Этот последний критерий нужно применить в случае, если при проверке с использованием критерия Граббса для одного выброса обнаруживается, что средние значения базовых элементов не имеют выбросов. Анализ исходных данных в пределах базового элемента, для которого в результате проверки с использованием критерия Кохрена обнаруживается сомнительность значения стандартного отклонения. Критические значения для критерия Граббса представлены в приложении А (таблица 2). Далее производим расчет общего среднего значения и дисперсий. Производим расчет общего среднего значения:

;

для каждого уровня рассчитывают три дисперсии: повторяемости, межлабораторную и воспроизводимости. Дисперсия повторяемости равна:

;

межлабораторная дисперсия равна:

;

Где;

;

для частного случая, когда все приведенные формулы упрощаются и имеют вид:

;

;

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

;

;

;

;

;

дисперсия повторяемости равна:

;

межлабораторная дисперсия равна:

;

дисперсия воспроизводимости составит:

;

среднеквадратичная ошибка (СКО) повторяемости:

;

среднеквадратичная ошибка (СКО) воспроизводимости:

;

предел повторяемости:

;

предел воспроизводимости:

;

где - коэффициенты критического диапазона приведенные в Приложении А (табл. 3). После произведения всех расчетов приступаем к оценке границ погрешностей (показателю точности методики):

· с использованием стандартного образца;

· с использованием метода добавок.

Расчеты с использованием стандартного образца относят к наиболее предпочтительному (эффективному) способу контроля, т.к. этот способ позволяет исполнителю оценить в целом выполнение всей процедуры анализа. Применение данного метода возможно при наличии образца контроля либо возможности и экономической целесообразности их создания в лаборатории для осуществления процедур внутреннего контроля качества результатов анализа. Заполняется данными таблица 3:

Лаборатория

Уровень

1

 

 

i

 

 

L

 

 

Табл.3

где С - аттестованное значение образца для контроля. Анализ с применением метода добавок совместно с методом разбавления пробы используют при наличии условий для создания проб с введенными добавками и разбавленных проб, адекватных анализируемым пробам, и при отсутствии возможности по условиям методики анализа или экономической нецелесообразности применения других способов контроля погрешности Допускают использование только метода добавок (только метода разбавления пробы), если установлена (например, по результатам оценки показателя точности результатов анализа при реализации методики в лаборатории, на основе архивных данных) незначимость постоянной части систематической погрешности лаборатории (варьируемой части систематической погрешности лаборатории) на фоне характеристики внутрилабораторной прецизионности.. При применении метода добавок погрешности, обусловленные операциями введения добавок, а также погрешности средств измерений, применяемых для введения добавок, не вносят статистически значимого вклада в погрешность результатов измерений содержания компонента. Заполняется таблица 4:

Лаборатория

Уровень

 

1

 

 

 

i

 

 

 

L

 

 

 

Табл.4

где - аттестованное значение величины добавки к пробе;

- оценка систематической погрешности лаборатории;

- СКО систематической погрешности лаборатории;

- квантиль t - распределения Стьюдента;

полученные значения t сравниваем с процентными точками распределения Стьюдента (при P = 0.95), приложение А (табл.4). При , иначе при . Контроль стабильности результатов измерений. Цель настоящего стандарта В настоящем стандарте применяют термины с определениями, представленные в ИСО 3534-1 [1] и ГОСТ Р ИСО 5725-1. - дать общее представление о некоторых способах использования данных о точности в различных практических ситуациях, а именно:

· представить стандартный метод расчета пределов повторяемости (сходимости), воспроизводимости и других пределов, используемых при рассмотрении результатов измерений, полученных при реализации стандартного метода измерений;

· обеспечить способы проверки приемлемости результатов измерений, полученных в условиях повторяемости или воспроизводимости;

· описать способ оценки стабильности результатов, получаемых в пределах одной лаборатории за определенный период времени, и таким образом внедрить метод «контроля качества» операций в пределах этой лаборатории;

· описать подходы к оценке способности данной лаборатории правильно применять (реализовывать) данный стандартный метод измерений;

· описать способы сопоставления альтернативных методов измерений.

В этом разделе рассматривают две задачи, решаемые при контроле стабильности результатов измерений внутри лаборатории:

· для результатов рутинных измерений, применяемых для производственного контроля;

· для результатов измерений, используемых при назначении цены сырья и изготовленных изделий (продукции, товаров).

Перед началом расчетов необходимо заполнить соответствующую форму (табл. 5).

Дата/Номер

Данные наблюдений

Расхождения

Примечание

 

 

 

 

 

 

 

L

 

 

 

 

Табл.5

На основании введенных и рассчитанных данных подсчитываем средние значения

по каждому полю, и приступаем к расчету параметров контрольной карты. Проверяем на выбросы по методу Кохрена:

;

в случае, если значение тестовой статистики меньше (или равно) 5% критического значения, тестируемую позицию признают корректной.

· в случае, если значение тестовой статистики больше 5% критического значения и меньше (или равно) 1% значения, тестируемую позицию называют квазивыбросом и отмечают одной звездочкой.

· в случае, если значение тестовой статистики больше 1% критического значения, тестируемую позицию называют статистическим выбросом и отмечают двумя звездочками.

Выбрасываем все значения с двумя звездочками. Рассчитываем СКО повторяемости:

;

и СКО воспроизводимости:

;

производим расчет средней линии:

;

;

предел действия:

;

;

;

предел предупреждения:

;

;

;

пример расчета с графиком представлен в приложении Б (пример 1). Контрольные карты для индивидуальных значений и скользящих размахов (карты Шухарта). карта Шухарта требует данных, получаемых выборочно из процесса через примерно равные интервалы. Интервалы могут быть заданы либо по времени (например, ежечасно), либо по количеству продукции (каждая партия). Обычно каждая подгруппа состоит из однотипных единиц продукции или услуг с одними и теми же контролируемыми показателями, и все подгруппы имеют равные объемы. Для каждой подгруппы определяют одну или несколько характеристик, таких как среднее арифметическое подгруппы X и размах подгруппы R или выборочное стандартное отклонение S. карта Шухарта -- это график значений определенных характеристик подгрупп в зависимости от их номеров. Она имеет центральную линию (CL), соответствующую эталонному значению характеристики. При оценке того, находится ли процесс в статистически управляемом состоянии, эталонным обычно служит среднее арифметическое рассматриваемых данных. При управлении процессом эталонным служит долговременное значение характеристики, установленное в технических условиях, или ее номинальное значение, основанное на предыдущей информации о процессе, или намеченное целевое значение характеристики продукции или услуги. карта Шухарта имеет две статистические определяемые контрольные границы относительно центральной линии, которые называются верхней контрольной границей (UCL) и нижней контрольной границей (LCL). В некоторых ситуациях для управления процессами невозможно либо непрактично иметь дело с рациональными подгруппами. Время или стоимость, требуемые для измерения при одиночном наблюдении, столь велики, что проведение повторных наблюдений даже не рассматривают. Это обычно происходит, когда измерения дорогостоящие (например, при разрушающем контроле) или выход продукции все время относительно однороден. В других ситуациях нельзя получить более одного значения, например показание прибора или значение характеристики партии исходных материалов, поэтому приходится управлять процессом на основе индивидуальных значений. При использовании карт индивидуальных значений рациональные подгруппы для обеспечения оценки изменчивости внутри партии не применяют, и контрольные границы рассчитывают на основе меры вариации, полученной по скользящим размахам обычно двух наблюдений. Скользящий размах - это абсолютное значение разности измерений в последовательных парах, т. е. разность первого и второго измерений, затем второго и третьего и т. д. На основе скользящих размахов вычисляют средний скользящий размах R, который используют для построения контрольных карт. Также по всем данным вычисляют общее среднее X. В таблице 6 приведены формулы расчета контрольных границ для карт индивидуальных значений. Пример расчета с графиком представлен в приложении Б (пример 2).

Статистика

Стандартные значения не заданы

Стандартные значения заданы

Центральная линия

UCL и LCL

Центральная линия

UCL и LCL

Индивидуальное значение X

X

X ± 2,66*R

______

______

Скользящий размах r

R

3.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 Data Definition Language (DDL) (язык описания данных) -- это семейство компьютерных языков, используемых в компьютерных программах для описания структуры баз данных. и DML Data Manipulation Language (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) */);

CREATE 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) */);

CREATE TABLE LABOR (

LABOR VARCHAR(25) NOT NULL);

CREATE TABLE METOD (

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);

CREATE TABLE Q_COEFFICIENT (N SMALLINT NOT NULL, Q FLT_DOMAIN /* FLT_DOMAIN = DOUBLE PRECISION CHECK (VALUE>=0) */);

CREATE 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);

CREATE 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);

CREATE 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 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) */);

CREATE 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) */);

CREATE TABLE LABOR (

LABOR VARCHAR(25) NOT NULL);

CREATE TABLE METOD (

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);

CREATE TABLE Q_COEFFICIENT (N SMALLINT NOT NULL, Q FLT_DOMAIN /* FLT_DOMAIN = DOUBLE PRECISION CHECK (VALUE>=0) */);

CREATE 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);

CREATE 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);

CREATE 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

select PROBA

from Shuhart_val_ksri

where NOMER = :Nomer and W_OTN = :W_otn_max

into :Proba;

RESULT = 1;

end

else

if (Gk > G1_per) then

begin

select PROBA

from Shuhart_val_ksri

where NOMER = :Nomer and W_OTN = :W_otn_max

into :Proba;

delete from Shuhart_val_ksri

where W_OTN = :W_otn_max;

RESULT = 2;

end

Else

if (Gk <= G5_per) then

begin

RESULT = 0;

end

suspend;

end

SET TERM;

/* Following GRANT statetements are generated automatically */

GRANT SELECT, DELETE ON SHUHART_VAL_KSRI TO PROCEDURE CALC_KOHR_SHUHART; GRANT SELECT ON KOHREN_COEFFICIENT TO PROCEDURE CALC_KOHR_SHUHART;

create or alter procedure CALC_PRECISION_METOD_OCENKA (

NOMER integer,

LIMIT_RECURRENCE double precision)

as

declare variable T1 double precision;

declare variable T double precision;

declare variable L smallint;

declare variable K double precision;

declare variable "P(0,95)_F" double precision;

declare variable Q double precision;

declare variable TC double precision;

declare variable DELTA double precision;

declare variable SUMM_QUADR_DIFF double precision;

declare variable KT double precision;

begin

select sum(K) / count(*) as Q,

count(*) as L

from Precision_metod_ocenca

where NOMER = :Nomer

into :Q, :L;

SUMM_QUADR_DIFF = 0;

for

select K

from Precision_metod_ocenca

where NOMER = :Nomer

into :K

do

begin

SUMM_QUADR_DIFF = SUMM_QUADR_DIFF + Calc_sqr(K - Q);

end

TC = Calc_sqrt(SUMM_QUADR_DIFF / (L * (L - 1)));

T = Q / TC;

select T

from Student_coefficient

where F = :L - 1

into :T1;

if (T <= T1) then DELTA = 2 * LIMIT_RECURRENCE;

else DELTA = 2 * Calc_sqrt(Calc_sqr(LIMIT_RECURRENCE) + Calc_sqr(TC));

KT = Calc_sqrt(2) * DELTA;

update Register_protocol_ocenca

set DELTA = :Delta,

KT = :Kt

where ID = :Nomer;

suspend;

end

SET TERM;

/* Following GRANT statetements are generated automatically */

GRANT SELECT ON PRECISION_METOD_OCENCA TO PROCEDURE CALC_PRECISION_METOD_OCENKA; GRANT SELECT ON STUDENT_COEFFICIENT TO PROCEDURE CALC_PRECISION_METOD_OCENKA; GRANT SELECT,UPDATE ON REGISTER_PROTOCOL_OCENCA TO PROCEDURE CALC_PRECISION_METOD_OCENKA;

create or alter procedure CALC_R_OTN (

NOMER integer)

returns (

L double precision,

UCLP double precision,

UCLG double precision,

R_OTN double precision)

as

begin

select Calc_sqrt((1.0000/(2*count(PROBA)))*(sum(Calc_sqr(W_OTN)))) as R_OTN

from Shuhart_val_ksri

where NOMER = :Nomer

into :R_otn;

L = 1.128 * R_OTN;

UCLG = 3.686 * R_OTN;

UCLP = 2.834 * R_OTN;

/*update Shuhart_sp_ksri

set L = :L,

USLG = :Uclg,

USLPR = :Uclp,

R_OTN = :R_otn

where ID = :Nomer;*/

suspend;

end

2 Реализация программного обеспечения

автоматизация регистрация данные

Теперь приступим непосредственно к созданию базы данных, таблиц и процедур. База данных будет иметь следующие параметры:

· расширение *.GDB - для совместимости с Interbase;

· кодировка Win1251 - для отображения русских букв;

· третий SQL диалект;

· размер страницы 4096 байт идентичный размеру кластера на жестком диске, где располагается база данных.

Таблицы будут иметь два вида:

· справочные таблицы;

· рабочие таблицы.

В справочных таблицах мы будем хранить данные по наименованиям лабораторий и методик, единиц измерений, коэффициентах, использующихся при расчетах. Подробные данные приведены в таблице 6.

Наименование

Описание

GRABBS_COEFFICIENT

Коэффициенты Граббса

KOHREN_COEFFICIENT

Коэффициенты Кохрена

LABOR

Наименование лабораторий

METOD

Наименование методик

Q_COEFFICIENT

Коэффициенты критического диапазона

STUDENT_COEFFICIENT

Процентные точки распределения Стьюдента

UNIT

Единицы измерения

Табл.6

Рабочие таблицы, в свою очередь, разделятся еще на два вида, «мастер» и «деталь» таблицы. В «мастер»-таблицах мы будем хранить получаемые единичные расчетные данные по каждой решаемой задаче, а так же основные данные по составляемым протоколам, такие как дата, номер, примечания и т.д. В «деталь»-таблицы будут заноситься основные расчетные данные, первичная информация по химическим пробам, на основании которых будут производиться расчеты. В таблице 7 представлен перечень этих таблиц:

Наименование

Описание

REGISTER_PROTOCOL_OCENCA

«мастер»-таблица для задач оценки точности результатов измерений

VALUE_LIST_OCENCA

«деталь»-таблица для задач оценки точности результатов измерений

PRECISION_METOD_OCENCA

«деталь»-таблица для задач оценки точности результатов измерений в оценке границ погрешности

SHUHART_SP_KSRI

«мастер»-таблица для задач расчета карт контроля стабильности результатов измерений

SHUHART_VAL_KSRI

«деталь»-таблица для задач расчета карт контроля стабильности результатов измерений

SHUHART_SP_IND

«мастер»-таблица для контрольных карт индивидуальных значений

SHUHART_VAL_IND

«деталь»-таблица для контрольных карт индивидуальных значений

Табл.7

Связь между «мастер»-«деталь» таблицами происходит методом наложения ограничения ссылочной целостности, так называемого FOREIGN KEY (внешнего ключа) на поле «деталь»-таблицы. В нашем случае ограничение ссылочной целостности накладываются на поле NOMER во всех «деталь»-таблицах имеющее ссылку на поле ID в «мастер»-таблицах, это значит, что при удалении или изменении записи в «мастер»-таблице, тоже самое будет происходить и в «деталь»-таблице автоматически, т.е. если удалить запись с ID равным единице из главной таблицы, то записи в подчиненной таблице где NOMER равен единице удалятся автоматически. Одним из положительных моментов в разработке базы данных на сервере Firebird, оказалась возможность создавать сложные хранимые процедуры для обработки данных полностью на стороне сервера. Для нашего случая, это как раз то, что нужно, потому что «клиенту» вовсе не обязательно, да и ненужно видеть результаты промежуточных расчетов, которых у нас много. Одним из недостатков в программировании хранимых процедур явилось отсутствие встроенных функций возведения числа в квадрат и извлечение квадратного корня из числа, но и эта проблема нашла решение на стороне сервера. При помощи функций определенных пользователем UDF, к базе данных можно подключить динамически-подключаемую библиотеку DLL, которую создадим сами в среде Delphi. В данную библиотеку мы заложим функции возведения числа в квадрат и извлечение квадратного корня. Исходный код этой DLL выглядит так:

library Sqr_Sqrt; - наименование библиотеки

uses - используемые модули

SysUtils,

Classes;

{$R *.res} прекомпилятор

function calc_sqr(X: double): double; export; stdcall;

begin

result:=x*x;

end;

function calc_sqrt(X: double): double; export; stdcall;

begin

result := sqrt(X);

end;

exports здесь объявляем то, что будет использоваться в базе данных

calc_sqr;

calc_sqrt;

end.

После компиляции данного кода получаем файл Sqr_Sqrt.dll, который подключаем к базе данных, используя скрипты:

DECLARE EXTERNAL FUNCTION CALC_SQR

DOUBLE PRECISION

RETURNS DOUBLE PRECISION BY VALUE

ENTRY_POINT 'Calc_Sqr' MODULE_NAME 'Sqr_Sqrt.dll' - для вычисления квадрата числа;

DECLARE EXTERNAL FUNCTION CALC_SQRT

DOUBLE PRECISION

RETURNS DOUBLE PRECISION BY VALUE

ENTRY_POINT 'Calc_Sqrt' MODULE_NAME 'Sqr_Sqrt.dll' - для вычисления квадратного корня числа. Далее в таблице 8 приведен перечень хранимых процедур используемых данной базой данных.

Наименование

Описание

CALC_CARDS

Расчет КК Шухарта

CALC_DISPERSION

Расчет дисперсий

CALC_G_KOHR

Расчет тестовой статистики Кохрена на выбросы

CALC_KOHR_SHUHART

Расчет статистики Кохрена для КК Шухарта

CALC_PRECISION_METOD_OCENKA

Расчет оценки границ погрешности

CALC_R_OTN

Расчет скользящих размахов

CALC_X_SR_SKO

Расчет средних значений лабораторий и СКО

CHECK_1_PIP

Проверка на один выброс

CHECK_2_PIP

Проверка на два выброса

SELECT_2MAX_X_SR

Выбор двух максимальных средних значений лабораторий

SELECT_2MIN_X_SR

Выбор двух максимальных средних значений лабораторий

INSERT_NEWREC_PRECISION

Вставка новой записи «мастер»-таблицы

INSERT_NEWREC_VAL_LIST_OCENKA

Вставка новой записи «деталь»-таблицы

UPDATE_REG_PROT

Обновление «мастер»-таблицы

Табл.8

Не обошлось в базе данных и без исключений, поскольку имеем дело с математическими расчетами. Одним из таких исключений является попытка начать расчеты без наличия первичной информации (проб), т.е. нет данных - нет расчетов. Ввод данного ограничения предупреждает случайное деление на ноль. Итак, база данных готова, но для конечного пользователя (лаборанта), это мало о чем говорит. Нужна программная оболочка для работы с данными. Такой «оболочкой» называется клиентская часть приложения, о которой пойдет речь в следующей главе. Разработка клиентской части приложения. Клиентской называется часть приложения, с которой напрямую взаимодействует конечный пользователь. Это может быть либо приобретенное компанией серийное коммерческое программное обеспечение, либо прикладная программа, разработанная внутри компании с помощью инструментальных средств третьих фирм. Для того, чтобы воспользоваться многочисленными новейшими инструментальными средствами, предназначенными для создания клиентской части приложений, которые доступны сегодня на рынке программного обеспечения, программисты должны уметь программировать на таких языках, как C++, Pascal, Visual Basic и т.д. Сегодня большинство вновь разрабатываемых клиентских прикладных программ является GUI Graphical user interface, разновидность пользовательского интерфейса, в котором элементы интерфейса (меню, кнопки, значки, списки и т. п.), представленные пользователю на дисплее, исполнены в виде графических изображений.-приложениями - они содержат графический интерфейс пользователя. Большинство из доступных сегодня инструментальных средств являются дружественными по отношению к пользователю и объектно-ориентированными. В них широко используются пиктограммы, различного рода мастера, а также технология drag-and-drop. Наиболее популярными средствами для создания приложений являются C++ Builder и Delphi фирмы Borland, а также Visual J++ и Visual C++ компании Microsoft. Для реализации данного проекта было принято решение выбрать Delphi 7 компании Borland. Во-первых, данный продукт имеется в наличии у организации, а во-вторых, имеется опыт работы с данной IDE Integrated Development Environment, система программных средств, используемая программистами для разработки программного обеспечения.-средой по созданию приложений для Windows, к примеру, моя курсовая работа. Немного о Borland Delphi. Delphi - это среда быстрой разработки приложений под управлением ОС Windows, в которой в качестве языка программирования используется язык Delphi. Язык Delphi - строго типизированный объектно-ориентированный язык, в основе которого лежит хорошо знакомый Object Pascal. Не менее важно то, что Delphi обладает высокоразвитыми средствами для работы с базами данных. Базы данных позволяют эффективно управлять информацией. Delphi позволяет эффективно создавать приложения, работающие с базами данных. Проектирование программного комплекса начнем с определения назначения форм, модулей и компонентов для доступа к базам данных. В таблице 9 приведены названия и описание всех форм и модулей.

Наименование

Описание

Chemical_analysis.dpr

Здесь хранится информация о формах и модулях, а так же содержатся операторы инициализации и запуска программы на выполнение

CardReportForm

Печатная форма протокола контрольных карт Шухарта

DataModForm

Основной модуль программы для связи с базой данных и обработки информации.

ErrorRangeForm

Оценка границ погрешности

GrabbsForm

Справочник по коэффициентам Граббса

KardReportForm

Печать КК для индивидуальных значений

KoeffQForm

Справочник коэффициентов критических диапазонов

KohrenForm

Справочник коэффициентов Кохрена

LaborForm

Справочник наименований лабораторий

MainForm

Главная форма программы, форма меню

MetodForm

Справочник методик

ProtokolOcenkaForm

Форма протокола для задачи оценки точности результатов измерений

ProtokolReportForm

Печатная форма протокола для задачи оценки точности результатов измерений

SelectForm

Форма выбора лаборатории

ShuhartProtForm

Форма протокола для задачи контроля стабильности результатов измерений

ShuhartRepForm

Печатная форма контрольной карты

ShuhartSpisokKSRI

Форма списка набранных и рассчитанных протоколов для задач контроля стабильности результатов измерений

ShuhProtokolForm

Печатная форма протокола для задачи контроля стабильности результатов измерений

ShuhSpIndForm

Форма списка набранных и рассчитанных протоколов для КК индивидуальных значений

ShuhValIndForm

Форма протокола КК индивидуальных значений

SpisokProtOcenkaForm

Форма списка протокоова для задачи оценки точности результатов измерений

StudentForm

Справочник процентных точек распределения Стьюдента

TuningForm

Настройка параметров расчета

UnitForm

Справочник единиц измерения

Табл.9

Особое внимание хочется уделить модулю DataModForm. Ведь именно в нем происходят основные процессы взаимодействия между клиентской частью программы и сервером базы данных. Поскольку одной из особенностей среды Delphi является работа с данными, то для нашего случая у нее есть библиотека компонентов для доступа к базам данных Interbase по названием IBX. С помощью IBX можно работать с любыми версиями InterBase, Firebird и Yaffil. Это означает, что все версии IBX работают (и будут продолжать работать) со всеми версиями InterBase, Firebird и Yaffil, во всех средах разработки Delphi. На рисунке 7 показана данная форма с компонентами IBX.


Подобные документы

  • Расчет издержек предприятия на разработку программного продукта и экономической эффективности от его внедрения. Топология физических связей и структуризация сети. Характеристика программного обеспечения. Средства автоматизации, описание алгоритма задачи.

    дипломная работа [867,6 K], добавлен 05.11.2015

  • Разработка программного обеспечения, предназначенного для автоматизации деятельности туристической фирмы. Анализ и проектирование базы данных предметной области. Создание концептуальной, логической и физической моделей данных и программы их обработки.

    курсовая работа [816,5 K], добавлен 05.02.2018

  • Концептуальная модель базы данных "Бюро по трудоустройству". Разработка информационного и программного обеспечения объектов автоматизации. Реализация базы данных в СУБД MsAccess. Запросы к базе данных. Таблицы, отчеты и макросы. Интерфейс пользователя.

    курсовая работа [5,2 M], добавлен 30.05.2016

  • Разработка проекта программного комплекса для автоматизации информационных процессов службы сбыта пищевой продукции. Разработка информационной базы данных и характеристика процесса создания клиентской и сервисной части приложения по технологии ASP.NET.

    дипломная работа [2,4 M], добавлен 24.06.2011

  • Разработка базы данных и клиента для управления базой данных с целью автоматизации рабочего места менеджера по клининговым услугам для ООО "Мастер блеск". Обоснование выбора программного обеспечения для создания базы данных. Заполнение данных в таблицы.

    дипломная работа [1,8 M], добавлен 13.04.2014

  • Разработка программного обеспечения для управления базой данных. Место задачи в системе автоматизации. Семантическое моделирование данных. Разработка программного обеспечения и базы данных. Расчет трудоемкости и себестоимости этапов проектирования.

    дипломная работа [2,9 M], добавлен 04.02.2016

  • Основные проблемы проектирования реляционных баз данных "МВД". Инфологическое описание сущностей и атрибутов программного обеспечения. Разработка датологической модели данных и гарантирование ее безопасности и целостности. Реализация запросов на SQL.

    курсовая работа [3,0 M], добавлен 28.06.2011

  • Описание алгоритмического языка для программирования прикладных систем обработки данных. Проектирование базы данных для ведения банковских счетов юридических лиц. Разработка комплекса программ и средств взаимодействия с ЭВМ (меню). Листинг программы.

    курсовая работа [76,1 K], добавлен 07.12.2011

  • Разработка базы данных для автоматизации учета и хранения сведений о заявках от работодателей. Проектирование приложения в СУБД Access. Описание запросов, отчетов и представлений данных. Интерфейс, условия выполнения и тестирование программного продукта.

    курсовая работа [3,7 M], добавлен 05.04.2012

  • Системы управления базами данных и их использование для решения задач автоматизации предприятия. Разработка информационного и программного обеспечения для автоматизации хранения и обработки информации при организации работы агропромышленного предприятия.

    курсовая работа [607,1 K], добавлен 07.05.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.