На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

4
Ожидается:
09 Декабря 2024

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

Статья опубликована в выпуске журнала № 1 за 2006 год.
Аннотация:
Abstract:
Авторы: Балыков Е.А. () - , Царев В.А. () -
Ключевое слово:
Ключевое слово:
Количество просмотров: 12999
Версия для печати
Выпуск в формате PDF (1.26Мб)

Размер шрифта:       Шрифт:

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

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

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

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

Существующие стандарты и системы управления качеством (например TQM [4]), применяемые в традиционных индустриях, не могут быть использованы для обеспечения качества программных систем (ПО ОЭСК в частности) в силу специфики процесса разработки ПС. С другой стороны, сформулированные в рамках известных моделей и систем обеспечения качества ПС (CMM, PSP, TSP, Cleanroom, MSF [5,6]) принципы и приемы управления и обеспечения качества носят, как правило, общий организационный характер, поэтому могут применяться в основном лишь в области менеджмента качества ПС.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

,

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

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

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

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

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

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

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

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

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

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

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

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

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: Addison-Wesley, December 1996.

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

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

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

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

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

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

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

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

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

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


Постоянный адрес статьи:
http://swsys.ru/index.php?id=467&page=article
Версия для печати
Выпуск в формате PDF (1.26Мб)
Статья опубликована в выпуске журнала № 1 за 2006 год.

Возможно, Вас заинтересуют следующие статьи схожих тематик: