Научная статья на тему 'Технологические принципы достижения качества программного обеспечения оптико-электронных систем контроля'

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

CC BY
115
30
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Технологические принципы достижения качества программного обеспечения оптико-электронных систем контроля»

Этап 6 сводится к проверке неравенства (18), которое в данном случае имеет левую часть 1х4-ш!= =18.23-3.311=4.92 и (при уровне значимости а=0.05)

2 ° 7 32

правую часть---= =7.32.

3 л/а

Сопоставление левой и правой частей показывает, что неравенство (18) не выполняется, следовательно, значение х4=8.23 нельзя считать недостоверным (хотя оно и выделяется по сравнению с другими представленными значениями временного ряда). Полученный вывод является правильным.

Поставленная задача по выделению недостоверных данных представляется решенной.

Очевидные достоинства методики: минимум априорной информации, простота вычислений, воз-

можность вероятностной интерпретации результата (то есть гарантируется вероятность ошибки 1-го рода на уровне а).

Список литературы

1. Айвазян С.А., Енюков И.С., Мешалкин Л.Д. Прикладная статистика: Основы моделирования и первичная обработка данных. Справочное изд. - М.: Финансы и статистика, 1983.

2. Хартман К., Лецкий Э., Шефер В. и др. Планирование эксперимента в исследовании технологических процессов. -М.: Мир, 1977.

3. Корн Г., Корн Т. Справочник по математике для научных работников и инженеров. - М.: Наука, 1974.

4. Гмурман В.Е. Теория вероятностей и математическая статистика. - М.: Высш. шк., 1977.

5. Бокс Дж., Дженкинс Г. Анализ временных рядов. Прогноз и управление. - М.: Мир, 1974. - Вып.1.

ТЕХНОЛОГИЧЕСКИЕ ПРИНЦИПЫ ДОСТИЖЕНИЯ КАЧЕСТВА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ОПТИКО-ЭЛЕКТРОННЫХ

СИСТЕМ КОНТРОЛЯ

Е.А. Балыков, В.А. Царев

Разработка и применение автоматизированных оптико-электронных систем контроля (ОЭСК) [1], позволяющих повысить эффективность управления технологическими процессами, чрезвычайно востребованы в таких областях человеческой деятельности, как промышленное производство, транспортные перевозки, охранное наблюдение и т.п.

ОЭСК включает обеспечение: техническое, математическое и программное. Техническое обеспечение представлено оптико-электронной подсистемой, ЭВМ, телекоммуникационными соединениями, исполнительными механизмами и может быть успешно реализовано на базе большого числа разнообразных и доступных технических средств [2].

В основе математического обеспечения ОЭСК -технология обработки изображений и распознавания образов [3]. К основным этапам представления и обработки информативных сигналов, которые могут исполняться в ОЭСК, относятся: ввод и оцифровка видеосигнала, фильтрация, сегментация, классификация изображения и его фрагментов, распознавание графических образов, принятие решений на основании полученных результатов на каждом из этапов.

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

Существующие стандарты и системы управления качеством (например TQM [4]), применяемые в

традиционных индустриях, не могут быть использованы для обеспечения качества программных систем (ПО ОЭСК в частности) в силу специфики процесса разработки ПС. С другой стороны, сформулированные в рамках известных моделей и систем обеспечения качества ПС (СММ, Р8Р, ТЭР, Оеапгоош, М8Б [5,6]) принципы и приемы управления и обеспечения качества носят, как правило, общий организационный характер, поэтому могут применяться в основном лишь в области менеджмента качества ПС.

Рассматриваемая в работе проблема обеспечения качества ПО ОЭСК является актуальной и обусловлена недостаточным развитием или низкой эффективностью известных теоретических основ и принципов конструирования высококачественного ПО.

Комплексная модель обеспечения качества, включающая современные подходы и методы обеспечения качества программных систем [7] и позволяющая гарантировать высокое качество конструирования и реализации ПО ОЭСК, схематично представлена на рисунке 1.

Профиль стандартов

( Технологичес] принципы I построения ЖЦ

Качество ^ ПО ОЭСК

Г

Качество процессов конструирования Качество разраба i

Средства автоматизации

Контроль

Ручной контроль Верификация Тестирование

Рис. 1. Комплексная модель обеспечения качества ПО ОЭСК

Качество ПО ОЭСК складывается из двух составляющих: качества фаз конструирования и качества разрабатываемого программного продукта (качества продуктов, получаемых на выходе каждой фа-

11

зы конструирования). Формирование жизненного цикла (ЖЦ) ПО ОЭСК и построение качественного процесса конструирования должно осуществляться в соответствии с действующими международными стандартами, причем для каждой фирмы необходимо формирование собственного профиля стандартов разработки и обеспечения качества ПС. Создание эффективного ЖЦ и качественных процессов конструирования ПО ОЭСК возможно только на основе современных технологических принципов разработки качественных ПС при условии максимального использования CASE-средств [8], автоматизирующих соответствующие фазы ЖЦ. Для подтверждения и улучшения качества программного модуля (ПМ) ОЭСК в рамках комплексной модели рекомендовано использование механизма контроля качества ПС, состоящего из процедур ручного контроля, аналитической верификации и тестирования [9-11].

Основными технологическими принципами, применяемыми в рамках комплексной модели обеспечения качества ПО ОЭСК, являются:

- формирование совокупности (профиля) стандартов обеспечения качества ПС, регламентирующих мероприятия и подходы, применяемые в рамках процесса конструирования ПО ОЭСК;

- формирование модели ЖЦ ПО ОЭСК; выбор современных подходов и эффективных методов, способных гарантировать надлежащий уровень качества всех фаз ЖЦ ПО ОЭСК;

- применение механизмов контроля качества в целях уменьшения дефектов и ошибок ПО ОЭСК на протяжении всего процесса конструирования;

- использование компьютерных средств автоматизации на этапах ЖЦ для повышения эффективности конструирования и обеспечения надлежащего уровня качества ПО ОЭСК.

Основные понятия и принципы структурной организации ЖЦ ПС приведены в стандарте ISO 12207 (российский аналог ГОСТ Р ИСО/МЭК 12207). Анализ существующих подходов и стандартов построения ЖЦ позволил сформировать модель ЖЦ ПО ОЭСК, схематично представленную на рисунке 2.

Спецификация • требований г ПО ОЭСК I

Каркас системы, проектные модели и

алгоритмич е ское обеспечение ОЭСК

XI

качества

Системный

Рис. 2. Модель ЖЦ ПО ОЭСК

Полученная модель, отражает последовательность основных этапов конструирования ПО ОЭСК и информационные продукты, получаемые на отдельных фазах ЖЦ, а также задействованные в процессе конструирования роли и их основные обязанности.

Основу модели ЖЦ ПО ОЭСК составляют итеративно-инкрементальный подход и унифицированный процесс разработки [12]. Итеративно-инкрементальная модель близка к спиральному подходу и

обеспечивает построение базовой версии (прототипа) ПО ОЭСК уже на первой итерации. Итеративно-инкрементальный подход обладает необходимой степенью гибкости, позволяющей модифицировать существующие и добавлять новые требования для повышения эффективности и функциональности ПО ОЭСК. Унифицированный процесс разработки ПО позволяет осуществлять перекрытие и параллельное выполнение соответствующих фаз ЖЦ ПО ОЭСК (например, перекрытие формализации спецификации и проектирования, перекрытие фаз реализации и тестирования). Одним из преимуществ унифицированного процесса разработки является позиционирование на объектно-ориентированную архитектуру [13] программных систем, поддержка формальных моделей архитектурного проектирования и UML [14] нотации. Для минимизации числа ошибок и дефектов ПС, связанных с недостаточной степенью формализации фаз разработки, в процессе построения ЖЦ ПО ОЭСК используются генетический и формальный подходы, регламентирующие применение формальной спецификации требований, механизма аналитической верификации ПМ ОЭСК и повторного использования компонентов. В модели ЖЦ ПО ОЭСК учтены концепции повышения качества ПО, используемые в экстремальном программировании [15]. К таким концепциям относятся: тест-ориентированное программирование; использование паттернов проектирования, реализации и тестирования; коллективное владение кодом; учет нотаций кодирования.

Профиль стандартов и набор современных подходов, учитывающих специфику ЖЦ и позволяющих гарантировать высокое качество отдельных фаз построения ПО ОЭСК, должен соответствовать международным стандартам серий ISO 12207 и IEEE 1074, характеризующих процессы ЖЦ. Этапы анализа и построения спецификации требований ПО ОЭСК должны учитывать стандарт IEEE 830, содержащий руководящие принципы составления спецификации требований. Процесс проектирования и документирования выработанных проектных решений должен согласовываться со стандартом IEEE 1016, являющимся руководством по составлению и ведению проектной документации. Для улучшения стилистики программирования и повышения таких показателей качества, как понятность, изучаемость, изменяемость и тестируемость программного кода, в процессе реализации ПО ОЭСК рекомендуется использовать положения венгерской нотации, ставшей стандартом де-факто в области программирования. Построение фазы контроля качества ПО ОЭСК должно согласовываться с требованиями таких стандартов, как: IEEE 829 (документация по тестированию ПО), IEEE 1008 (тестирование ПМ и компонентов ПС), IEEE 1012 (планирование верификации и валида-ции), ISO 12119 (указания по функциональному тестированию).

Для формализации требований к ПО ОЭСК рекомендуется использовать логический подход описания семантики и язык объектных ограничений OCL. Построение четкой архитектурной концепции и корректных проектных моделей ПО ОЭСК воз-

Формальн

ПкроогдрОамЭмСнКы

Этап

Э.

Этап

► требований ОЭСК

Э

Э

Продук.

требований ПО ОЭСК

Проектирование ПО ОЭСК

тестирование

Контро

ПО ОЭС К

Мат

12

можно на основе объектно-ориентированной парадигмы. Применение графической нотации языка UML позволит эффективно формализовать архитектурные требования и построить корректные объектно-ориентированные диаграммы. Использование в процессе специфицирования и архитектурного проектирования ПО ОЭСК единого инструментария (например, пакетов MS Visio или Rational Rose) позволит минимизировать ошибки, связанные с переходами вида "спецификация^формальная специфика-ция^архитектура". На этапе реализации, проектных решений, алгоритмического обеспечения и написания тестовой оснастки ПО ОЭСК рекомендуется использовать языки высокого уровня, обеспечивающие эффективное решение системных задач и исполнение алгоритмов технологии обработки изображений и распознавания образов (например, семейство языков C, C++, C#).

Решение проблемы описания трудно формализуемых спецификаций ПО ОЭСК

Как уже известно, одна из специфических особенностей ОЭСК заключается в существовании трудно формализуемых спецификаций [16], которые не могут быть представлены в виде пары 0(ф,у), где ф - предусловие программы; у - постусловие. Подобные спецификации затрудняют процесс автоматизации процедур контроля качества ПО ОЭСК и обусловливают существование дефектов неполноты, неоднозначности и противоречивости требований.

В статье предложен метод описания трудно формализуемых спецификаций ПМ ОЭСК, заключающийся в выделении четко формализуемой и экспертной частей.

Четко формализуемая часть программы задается при помощи набора предикатов над множеством состояний памяти. Экспертная часть создается на основе интуитивных предположений, знаний и опыта эксперта в области ОЭСК. Предложенный способ позволяет представить трудно формализуемую спецификацию в виде 0(ф,у) = = 0р+Е(фг +фе,yf + уе), где ÔF - формальная часть спецификации; Ôe -экспертная часть спецификации.

На основе предложенного метода сформированы унифицированные системы формальных спецификаций основных этапов функционирования ПО оптико-электронных систем идентификации транспортных средств (ОЭСИ ТС) и ОЭСК качества листового металлопроката. Пример построения формальной спецификации ПМ локализации областей, содержащих трудно формализуемое понятие изображения регистрационного номера ТС, имеет вид: ф :M = Mnxm,këîê € No Vf :VKë = Faê (M): (|УШ | < kaê ) л A(Vv(X1,y1,X2,y2) € VMë P(v)), 0 < xi < X2 < m

где P(v)=

0 < y i < У2 < n

Ve : (Vîeië = Eaê (M)) л (cg

> 1):

:(|V«| < ka6 ) A (Vve(xi,yi,x2,y2) € Vie P(Ve))

V = Vf + Ve:Viae : Vve € Vie 3v € VM6 Pi(Ve,V,Cej6 ),

где Pi(Ve,v,ca6 ) =

= P1(Ve(Xi,ye,x2,y2),V(Xi,yi,X2,y2),Ceie ) = x1 < xi,x2 > X2,ye < yi,y2 > y2

1 < STT < -

S(Ve)

Открытая архитектура ПО ОЭСК

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

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

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

Для выполнения своих функций ядро ПО ОЭСК взаимодействует с операционной системой (Windows 2K или выше), осуществляющей управление ЭВМ. Взаимодействие осуществляется за счет обращения к сервисам ОС и вызова системных функций. Для хранения априорных данных и сбора статистической информации в архитектуре ПО ОЭСК предусмотрен интерфейс с репозиторием.

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

13

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

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

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

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

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

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

Список литературы

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

1. Еремин С.Н., Малыгин Л.Л., Рачинский Е.В. Оптико-электронные системы контроля. Алгоритмы обработки // XIII Межвуз. воен.-науч. конф.: Тез. докл. и сообщ. - Череповец: ЧВИИР, 1999. -Ч. 2. - С. 21-22.

2. Никулин О.Ю., Петрушин А.Н. Системы телевизионного наблюдения: Учебно-справочное пособие. - М.: Оберег-РБ, 1997. - 168 с.

3. Форсайт, Понс. Компьютерное зрение. Современный подход. / Пер. с англ. - М.: Вильямс, 2004. - 928 с.

4. По материалам сайтов www.citforum.ru, www.stan-dart.ru.

5. По материалам сайтов www.sei.cmu.edu,www.rol.ru.

6. Humphrey, Watts S., Introduction to the Personal Software Process (SEI Series in Software Engineering), Reading, MA: Addi-son-Wesley, December 1996.

7. Липаев В.В. Методы обеспечения качества крупномасштабных программных средств.-М.: СИНТЕГ, 2003. -520 с.

8. Вендров А.М. CASE - технологии. Современные методы и средства проектирования информационных систем. - М.: Финансы и статистика, 1998.

9. Непомнящий В.А., Рякин О.М. Прикладные методы верификации программ / Под ред. А.П.Ершова. - М.: Радио и связь, 1988. - 256 с.

10. Маейрс Г. Искусство тестирования программ/Пер. с англ. - М.: Финансы и статистика. 1982. - 176 с.

11. Технологии программирования. Практикум по тестированию программного обеспечения на C# / Котляров В.П., Коликова Т.В., Сухомлинов В.А., Югай Д.В. / Под ред.

B.П. Котлярова. - СПб.: Изд-во СПбГПУ, 2004. - 132 с.

12. Брауде Э. Технология разработки программного обеспечения. - СПб.: Питер, 2004. - 655 с.

13. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на C++ / Пер. с англ.- М.: Бином, 1999. - 2-е изд.- 560 с.

14. Буч Г., Рамбо Д., Джекобсон А. Язык UML. Руководство пользователя. / Пер. с англ. - М.: ДМК, 2000. - 432 с.

15. Бек К. Экстремальное программирование. - СПб.: Питер, 2002. - 224с.

16. Балыков Е.А., Царев В.А. Решение проблемы построения трудно формализуемых спецификаций на основе экспертных оценок // Технологии Microsoft в теории и практике программирования. // Матер. межвуз. конкурса-конф. студентов и молодых ученых северо-запада. - СПб: СПбГПУ, 2005. -

C. 153-154.

МОДЕЛЬ ОПТИМИЗАЦИИ ПРОИЗВОДСТВА ФЕРРОСИЛИЦИЯ С УЧЕТОМ ТЕХНОЛОГИЧЕСКИХ И ЭКОНОМИЧЕСКИХ ФАКТОРОВ

А.А. Максимов

Для общих условий постановки задачи известно, что предприятие производит ферросилиций трех марок: ФС75, ФС65 и ФС45.

Начальной стадией производства является выплавка. Для получения ферросилиция марки ФС75

используются открытые печи, а для марок ФС65 и ФС45 - печи любого типа. В наличии у предприятия имеется 10 открытых печей и 5 закрытых. Производительность открытых и закрытых печей одинакова и составляет: для ферросилиция марки ФС75-50

14

i Надоели баннеры? Вы всегда можете отключить рекламу.