Авторитетность издания
Добавить в закладки
Следующий номер на сайте
Технологические принципы достижения качества программного обеспечения оптико-электронных систем контроля
Аннотация:
Abstract:
Авторы: Балыков Е.А. () - , Царев В.А. () - | |
Ключевое слово: |
|
Ключевое слово: |
|
Количество просмотров: 12999 |
Версия для печати Выпуск в формате PDF (1.26Мб) |
Разработка и применение автоматизированных оптико-электронных систем контроля (ОЭСК) [1], позволяющих повысить эффективность управления технологическими процессами, чрезвычайно востребованы в таких областях человеческой деятельности, как промышленное производство, транспортные перевозки, охранное наблюдение и т.п. ОЭСК включает обеспечение: техническое, математическое и программное. Техническое обеспечение представлено оптико-электронной подсистемой, ЭВМ, телекоммуникационными соединениями, исполнительными механизмами и может быть успешно реализовано на базе большого числа разнообразных и доступных технических средств [2]. В основе математического обеспечения ОЭСК – технология обработки изображений и распознавания образов [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]. К таким концепциям относятся: тест-ориентированное программирование; использование паттернов проектирования, реализации и тестирования; коллективное владение кодом; учет нотаций кодирования. Профиль стандартов и набор современных подходов, учитывающих специфику ЖЦ и позволяющих гарантировать высокое качество отдельных фаз построения ПО ОЭСК, должен соответствовать международным стандартам серий 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.standart.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 год. |
Возможно, Вас заинтересуют следующие статьи схожих тематик:
- Инженерная программа трехмерного моделирования магнитных систем LittleMag
- Оптимизация структуры базы данных информационной системы ПАТЕНТ
- Структурно-параметрическая идентификация функций занятости и прогнозирование спроса на молодых специалистов
- Правовая охрана программного обеспечения с точки зрения международного сотрудничества стран-членов СЭВ
- Разработка корпоративной базы в области химии и химической технологии
Назад, к списку статей