Смекни!
smekni.com

Программа регистрации процесса производства для автоматизированной системы управления предприятием электронной промышленности (стр. 11 из 20)

Visual Studio имеет развитую систему автоматической символьной проверки. Она на этапе написания программы следит за корректностью вводимого текста и обнаруживает все синтаксические ошибки;

в комплект Visual Studio входит множество утилит для отладки, значительно облегчающих процесс тестирования программного обеспечения;

большую часть структуры программы в VisualC++ withMicrosoftFoundationClasses занимают стандартные, автоматически создаваемые объекты, управляющие работой программы в ответ на действия пользователя. Поэтому ошибки в основном содержатся в алгоритмах процедур, написанных программистом.

5.3.2 Основные факторы, влияющие на надежность разрабатываемой системы

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

корректность структуры программы;

корректность обработки данных;

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

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

недопустимо непустое значение поля данных;

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

В случае ввода неверных данных пользователю выводится на экран соответствующее сообщение.

5.3.2.1 Контроль структуры программы

Корректность структуры программ определяется корректностью структуры модулей и корректностью структуры групп программ, построенных из модулей. Для оценки корректности структуры программ используется несколько частных показателей, различающихся степенью охвата тестами структурных компонент программы при тестировании. Проверка корректности структурных компонент производится статически по исходным текстам программ или динамически при исполнении программы в объектном коде. При обоих методах по мере углубления критериев тестовых проверок возрастает объем и сложность тестов, а следовательно и достигаемая степень корректности программ. Рассмотрим один из наиболее часто используемых критериев выделения тестируемых маршрутов для проверки корректности структуры программы.

Суть критерия состоит в выборе и анализе базовых маршрутов в программе, формируемых и оцениваемых на основе определения цикломатического числа исходного графа, определяющего структуру программы или ее фрагмента. Критерий наиболее широко применяется для оценки сложности и корректности тестирования программных модулей. Для определения цикломатического числа Z исходного графа фрагмента программы используется полное число его вершин Nп, связывающих их дуг Y и связных компонент L: Z = Y - Nп + L. Вычисление цикломатического числа осуществляется по величинам, определяемым по максимально связному графу, который получается из исходного путем замыкания дуги из конечной вершины в начальную. В результате в максимально связном графе появляются маршруты между любыми двумя вершинами. При этом предполагается, что исходный граф корректен, т.е. не содержит "висячих" и "тупиковых" вершин. В таком графе цикломатическое число равно максимальному количеству его линейно-независимых маршрутов. Величина L соответствует количеству связных компонент всего исходного графа, и обычно для графов не содержащих полностью независимых частей L=1. Иначе говоря, L измеряется количеством замыкающих дуг, необходимых для преобразования исходного графа в максимально сильно связный граф.

Таким образом, критерий учитывает каждый линейно-независимый цикл в максимально связном графе программы. Каждый линейно-независимый маршрут или цикл отличается от всех остальных хотя бы одной вершиной или дугой, т.е. его структура не может быть полностью образована компонентами других маршрутов.


Рис.16. Фрагмент исходного текста программы

Рассмотрим на примере фрагмента кода разрабатываемого программного обеспечения тестирование корректности структуры этого фрагмента (см. рис.16). На основе данного фрагмента кода выделим операторы управления и построим графовую модель программы по управлению. Цифрами на рис.16 условно обозначены вершины графа. Рис.17 отображает схему этого графа.


Рис.17. Граф программы по управлению

Далее определим цикломатическое число графа по исходным данным:

Nп = 6

Y = 8

L = 1

Z = Y - Nп + L = 3

В данном случае для максимально связного графа количество линейно-независимых маршрутов для которых следует подготовить тесты равно цикломатическому числу графа. Эти маршруты показаны на рис.18.


Рис.18. Линейно-независимые маршруты

В итоге для проверки корректности структуры данного фрагмента кода необходимо провести статическое и динамическое тестирование четырех полученных маршрутов.

5.3.2.2 Контроль чтения и записи переменных

Корректность обработки данных определяется степенью тестирования процесса обработки представительной выборки значений переменных в диапазонах их изменения. Для сложных программ принципиально невозможно провести исчерпывающее тестирование при всех значениях переменных, которые могут появиться при реальном функционировании программ.

Контроль чтения и записи переменных включает в себя две задачи: построение диагностической модели программы с учетом информационных связей и просмотр модели с целью выявления недопустимых сочетаний операций считывания и записи величин. Схема структурных связей в виде направленного графа программы используется как база для построения на модели программы информационных связей между операторами. Пример построения графа фрагмента программы приведен в предыдущем подразделе. Схема контроля детально показана на рис. 19.

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

существует ли запись этой величины вообще;

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

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


Рис. 19. Схема контроля чтения и записи переменных

Также по всем маршрутам, ведущим из начальной вершины графа в конечную, выполняется контроль наличия запрещенных сочетаний операций по всем наименованиям величин. Условиями правильной реализации являются:

предварительная запись в область памяти перед считыванием из нее информации;

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

В итоге все обнаруженные ошибки и сомнительные сочетания операций фиксируются и исправляются в тексте программы.

5.4 Результаты работы программы

Ниже приведены результаты работы программы.

На рис.20 показано главное меню программы, содержащее помимо стандартных элементов управления (File, Windows, Help) специальные. Существенные объекты выделены в отдельное выпадающее меню Objects.

Рис. 20. Главное меню программы

На рис.21. показано окно вывода информации о процессе обработки, выполняемой над партией полупроводниковых пластин с заданным номером в пределах заданного изделия. При этом выводится вся необходимая информация о маршруте, параметрах и режимах технологической операции, рассчитывается время окончания технологической операции.

Рис.21. Окно вывода результатов выполнения технологической операции

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

Рис.22. Окно вывода информации о технологических операциях, произведенных над партией полупроводниковых пластин

6. Организационно-экономическая часть

6.1 Введение

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