Научная статья на тему 'Анализ системы стандартов как основы построения стратегического ИТ-профиля организации'

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

CC BY
168
19
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СИСТЕМА СТАНДАРТОВ / КОНФОРМНОСТЬ / ИТ-ПРОФИЛЬ / СТАНДАРТ POSIX / SYSTEM OF STANDARDS / CONFORMANCE / IT PROFILE / POSIX STANDARD

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Парфенова Мария Яковлевна

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

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

ANALYSIS OF THE STANDARDS SYSTEM FOR BUILDING A PROFILE OF INFORMATION TECHNOLOGIES OF AN ORGANIZATION

The article deals with application of a standards system for building a strategic profile of information technologies in an organization when they are transitioned to a new system level. The analysis of the system of standards is carried out, it uses such approaches as phenomenological and system analysis, information morphism. Particular attention is paid to the analysis of POSIX standards system, which reflects the current state of the standardization process of the most important elements of the strategic IT profile. The models of standardization of software products are analyzed on the example of POSIX. Scientific and methodological assertions are formulated, which are aimed at creation of a technologically efficient IT profile with preset technical requirements and limitations.

Текст научной работы на тему «Анализ системы стандартов как основы построения стратегического ИТ-профиля организации»

УДК 004.054

АНАЛИЗ СИСТЕМЫ СТАНДАРТОВ КАК ОСНОВЫ ПОСТРОЕНИЯ СТРАТЕГИЧЕСКОГО ИТ-ПРОФИЛЯ ОРГАНИЗАЦИИ

Парфенова Мария Яковлевна,

д-р техн. наук, проф., руководитель научно-исследовательского центра, e-mail: mparfenova@muiv. ru, Московский университет имени С.Ю. Витте, http://www. muiv. ru

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

Работа выполнена при финансовой поддержке РФФИ (грант 16-06-00486)

DOI 10.21777/2500-2112-2017-4-40-44

ИТ-профиль организации представляет набор спецификаций информационной технологии (ИТ), сформированный на множестве базовых стандартов, стандартизованных спецификаций и решений. Таким образом, ИТ-профиль определяет свойства модулей функциональности информационных систем и их окружения [2, 10], реализующих через интерфейсы информационные сервисы. Профиль включает набор согласованных стандартов вместе с соответствующими классами, подмножествами, вариантами и параметрами, которые необходимы для выполнения определенных функций или поддержки класса приложений [2, 5].

Современная система стандартов ИТ чрезвычайно обширна и развивается быстрыми темпами. Количество стандартизованных документов в данной области исчисляется четырехзначными числами [10]. Применение подходов феноменологического и системного анализа позволит снизить размерность задачи проведения идентификации комбинаций базовых стандартов, определения ограничений их функциональных возможностей в контексте ИТ-архитектуры организации, разработать унифицированный подход в области аттестационных тестов конформности программных компонентов ИТ-профилю. Для построения систематизированной схемы ссылок в пространстве спецификаций возникает необходимость проведения декомпозиции функций программных компонентов ИТ до уровня элементарных сервисов, их анализа и синтеза с целью определения соответствия спецификациям на разных уровнях детализации и обобщения. При этом используются методы классификации и систематизации информационных сервисов, которые представляются через интерфейсы системы и ее окружения.

На примере системы стандартов POSIX (POSIX - Portable Operating System Interface) проводится систематизация подходов к определению конформности программных продуктов [7] ИТ-профилю, иллюстрируется многомерность данной задачи и возможность снижения размерности. Развитие системы стандартов целесообразно рассматривать как информационный морфизм [9] или функционал, определяющий характер и степень изменения совокупности свойств и параметров исследуемой системы, по мере развития информационных технологий.

Как известно из ГОСТ Р 56920-2016/ISO/IEC/IEEE 29119-1:2013 «Системная и программная инженерия. Тестирование программного обеспечения», цель тестирования конформности состоит в том, чтобы дать ответ на вопрос, удовлетворяет ли тестируемая реализация (готовый программный продукт) требованиям стандарта. Практические ограничения не позволяют осуществлять исчерпывающее тестирование программного продукта. Для того чтобы более точно определить цели тестирования и, как

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

Методология и система стандартов POSIX и, в частности, POSIX OSE (Open System Environment), разработаны организацией IEEE (Institute of Electrical and Electronics Engineers), а именно, комитетом стандартов переносимых приложений компьютерного сообщества IEEE (IEEE Computer Society). POSIX - это набор стандартов, описывающих интерфейсы между операционной системой и прикладной программой, библиотеку языка C, набор приложений и их интерфейсов. Первый стандарт IEEE на базовые интерфейсы операционных систем под индексом IEEE Std. 1003.1, также известный как POSIX.1, был принят в 1988 г. В 1990 г. пересмотренный вариант спецификаций POSIX.1 принимается организацией ISO в качестве международного стандарта (ISO 9945-1:1990. Basic OS interfaces). В стандарте POSIX.1 рассматривается несколько сот требований и на то время считалось, что если не выполнено хотя бы одно из них, то система не удовлетворяет стандарту. К настоящему времени разработано такое количество реализаций и приложений, что оценить их соответствие стандартам становится практически невозможно. Учитывая объективные трудности, авторы POSIX систематизировали сложившуюся практику и предложили уточненную семантику слова «соответствует», которая отражается в двух следующих аспектах:

1) вводится несколько видов соответствия программной реализации стандарту POSIX.1:

- строгое соответствие стандарту POSIX.1;

- соответствие международной версии POSIX.1;

- соответствие национальной версии POSIX.1;

- соответствие POSIX.1 с расширениями;

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

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

В последствии был разработан еще ряд стандартов на интерфейсы операционной системы (в первую очередь, стандартов IEEE), включая: POSIX 2 (Shell and utilities), POSIX 3 (Test methods), POSIX 4 (Real-time extensions), POSIX 6 (Security extensions), POSIX 7 (System administration), POSIX 21 (Distributed real-time). Всего насчитывается около 40 основных стандартов POSIX для интерфейсов операционных систем и прикладных программ. В 2001 году основные опциональные стандарты POSIX, разработанные ранее, были объединены в единый стандарт POSIX.1-2001. С тех пор принято именовать стандарты POSIX с указанием года издания. Стандарт POSIX.1-2008 разработан в 2008 и является действующим в настоящее время. К этому стандарту было доработано техническое исправление под названием IEEE Std 1003.1-2008/Cor 1-2013; ISO/IEC 9945:2009. Данный стандарт был создан для обеспечения совместимости различных UNIX-подобных операционных систем и переносимости прикладных программ на уровне исходного кода, но может также применяться и для других операционных систем.

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

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

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

Действующая система стандартов POSIX не содержит требований конформности, поэтому не устанавливается строгое соответствие конформности программных реализаций. Она содержит определение важнейших понятий концепции открытых систем, описание эталонной модели открытых систем, классификацию интерфейсов и сервисов систем, классификацию стандартов POSIX, описание рекомендаций по составлению профилей, описание стандартизованных профилей [10]. В то же время, система стандартов POSIX рассматривается как каталог стандартизованных спецификаций (базовых стандартов и стандартизованных профилей), включает методику систематического описания программных интерфейсов при построении автоматизированных систем. По замыслу разработчиков система стандартов POSIX должна выполнять функции концептуальной основы, методического руководства по применению, отражать современное состояние процесса стандартизации наиболее важных элементов для построения открытых систем интерфейсов (программных интерфейсов операционной системы и приложений).

Тестирование программного продукта на соответствие стандартам включает проверку его функциональных возможностей и поведения по отношению к требованиям конформности, которые имеют смысл для этого продукта [11]. Основным документом, в котором описана методология тестирования POSIX, является стандарт IEEE P2003 (13210-1999 IEEE Std 2003-1997 - IEEE Standard for Information Technology - Requirements and Guidelines for Test Methods Specifications and Test Method Implementations for Measuring Conformance to POSIX(R) Standards). Этот стандарт определяет требования и рекомендации для разработки спецификаций методов испытаний и реализации методов тестирования с целью оценки программного продукта на соответствие стандартам.

В настоящее время единой методологии тестирования конформности для всех видов интерфейсов не существует [4, 7]. Для тестирования конформности программных продуктов, как правило, используется комплексный подход [11], интегрирующий разные методологии тестирования, разработанные для отдельных видов интерфейсов.

В методологии тестирования конформности POSIX (стандарт IEEE P2003) различается три основных уровня [7]: исчерпывающее (Exhaustive) тестирование; полное или тщательное (Thorough) тестирование; идентификационное (Identification) тестирование.

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

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

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

В стандарте ГОСТ Р 56920-2016/ISO/IEC/IEEE 29119-1:2013 «Системная и программная инженерия. Тестирование программного обеспечения» указываются следующие подходы: исчерпывающее тестирование, тестирование как эвристика. Из-за сложности систем и программного обеспечения не представляется возможным исчерпывающе проверить каждый аспект любого конкретного элемента те-

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

С целью обеспечения точного, недвусмысленного описания требований и утверждений относительно конформности программного продукта, а также точной спецификации тестовых ситуаций и сценариев разработан ряд специализированных языков. Наиболее важные и широко используемые из них стандартизованы. К числу таких языков относятся [7, 10]:

- ADL (Assertion Definition Language) - язык спецификаций, предоставляющий формальную грамматику для описания поведения и интерфейсов ИТ-систем;

- Estelle - язык спецификаций, предназначенный для описания коммуникационных протоколов в виде конечно-автоматных моделей;

- LOTOS (Language Of Temporal Ordering Specification) - язык спецификаций, разработанный для описания поведения систем распределенной и параллельной обработки данных;

- SDL (Specification and Description Language) - язык спецификаций с формальной семантикой, предназначенный для описания структуры и функционирования распределенных систем реального времени;

- TTCN (Tree and Tabular Combined Notation) - типизированный скриптовый язык, используемый в аттестационном тестировании коммуникационных систем;

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

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

Для анализа и оценки различных аспектов конформности продукта производится декомпозиция реализованных им интерфейсов, предоставляемых через интерфейсы модулей функциональности. Каждому уровню соответствует свой набор стандартизованных спецификаций, для каждого уровня определяются признаки, по которым достигаются критерии конформности для всего продукта [5, 8]. Для определения степени конформности программных продуктов, рассматриваемых в качестве компонентов в составе ИТ-профиля организации, целесообразно использовать принцип идентификационного тестирования. Сочетание статистических, эвристических и рисковых моделей тестирования программных компонентов позволяет более точно оценить степень конформности ИТ-профилю с учетом требований к информационному обеспечению производственных процессов.

Заключение

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

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

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

1. Голосовский М.С. Модель расчета оценок трудоемкости и срока разработки информационных систем на начальном этапе жизненного цикла проекта // Программная инженерия. Т. 7. - 2016. - № 10. - С. 446-454.

2. Липаев В.В. Системное проектирование сложных программных средств для информационных систем. - М.: Синтег, 2002.

3. Липаев В.В. Анализ и сокращение рисков проектов сложных программных средств. - М.: СИНТЕГ, 2005. - 224 с.

4. Маликов С.Н. Концепция сервис-ориентированного подхода к управлению информационными технологиями на основе аксиоматического метода // Информационные технологии. Т. 23. - 2017. - №3. - С. 212-218.

5. Маликов С.Н., Селифанов В.А. Обоснование роли стандартов в ИТ разработках. - М.: Московский университет государственного управления, 2010. - С. 90-94.

6. Назаров С.В. Архитектура и проектирование программных систем. - М.: НИЦ Инфра-М, 2013. - 351 с.

7. Николаенко А. Эталонные СУБД: что было, что стало, что будет // Открытые системы. СУБД. - 2017. - № 02. - С. 35-39.

8. Парфенова М.Я. Структурный синтез профиля сервис-ориентированной архитектуры // Образовательные ресурсы и технологии. - 2016. - № 4 (16). - С. 64-71.

9. РозенбергИ.Н., ЦветковВ.Я. Информатика и синергетика: учебное пособие. - М.: МГУПС, 2015. - 88 с.

10. Сухомлин В.А. Введение в анализ информационных технологий. - М.: Горячая линия - Телеком, 2003. - 350 с.

11. Тестирование программного обеспечения. Фундаментальные концепции менеджмента бизнес-приложений: пер. с англ. Сэм Канер, Джек Фолк, Енг Кек Нгуен. - К.: ДиаСофт, 2001. - 544 с.

ANALYSIS OF THE STANDARDS SYSTEM FOR BUILDING A PROFILE OF INFORMATION

TECHNOLOGIES OF AN ORGANIZATION

Parfenova M.J.,

doctor of technical sciences, professor, Head of the Scientific Center, Private Educational Institution of Higher Education "Moscow Witte University",

e-mail: mparfenova@muiv.ru

The article deals with application of a standards system for building a strategic profile of information technologies in an organization when they are transitioned to a new system level. The analysis of the system of standards is carried out, it uses such approaches as phenomenological and system analysis, information morphism. Particular attention is paid to the analysis of POSIX standards system, which reflects the current state of the standardization process of the most important elements of the strategic IT profile. The models of standardization of software products are analyzed on the example ofPOSIX. Scientific and methodological assertions are formulated, which are aimed at creation of a technologically efficient IT profile with preset technical requirements and limitations. Keywords: system of standards, conformance, IT profile, POSIX standard

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