Часть I

1.9. Пример построения каталога базовых спецификаций


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

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

Каталог базовых спецификаций

1. Базовые функции операционных систем

     Наиболее значительный вклад в стандартизацию функций, реализуемых современными операционными системами (ОС), сделан, благодаря усилиям международной профессиональной организации IEEE (Institute of Electrical and Electronic Engineers - Институт инженеров по электротехнике и электронике), в рамках осуществления программы работ под индексом 1003 (POSIX). Разработка стандартов POSIX для прикладных интерфейсов UNIX-совместимых операционных систем играет важную роль для решения задачи переносимости программного обеспечения. Эти стандарты развиваются независимо от конкретных реализаций системы UNIX. Функциональным ядром стандартов POSIX, обязательным для реализаций данного класса ОС, являются функциональные возможности версии UNIX System V. Примерами наиболее важных базовых спецификаций POSIX, определяющих функциональность прикладных программных интерфейсов (API) операционной системы, являются:

1) интерфейс ядра ОС для языка С (ISO/IEC 9945-1:1996 (IEEE Std 1003.1), Information technology -- Portable Operating System Interface (POSIX) -- Part 1: System Application Program Interface (API) [C Language]);

2) спецификация оболочки и утилит юниксподобной ОС (ISO/IEC 9945-2:1993 (IEEE Std 1003.2), Information technology -- Portable Operating System Interface (POSIX)-Part 2: Shell and Utilities);

3) интерфейс ОС для механизмов поддержки задач реального времени (С- IEEE Std 1003.1b, IEEE Standard for Information technology -- Portable Operating System Interface (POSIX) -- Part 1: System Application Program Interface (API) [C Language] -- Amendmend 1: Realtime Extentions);

4) интерфейс ОС для механизма ветвей (IEEE Std 1003.1c, IEEE Standard for Information technology -- Portable Operating System Interface (POSIX) -- Part 1: Threads);

5) интерфейс ОС для сервисов и средств управления безопасностью (IEEE Std 1003.1e, IEEE Standard for Information technology -- Portable Operating System Interface (POSIX) - Part 1: Security API; IEEE Std 1003.1f, IEEE Standard for Information technology -- Portable Operating System Interface (POSIX) -- Part 1: Transparent File Access; IEEE Std 1003.2c, Information technology -- Portable Operating System Interface (POSIX) -- Part 2: Security Utilities);

6) профиль прикладных окружений для суперкомпьютерных технологий (IEEE Std 1003.10, IEEE Standard for Information technology - POSIX Supercomputing Applications Environment Profile);

7) интерфейс для унифицированного транспортного сервиса (IEEE Std 1003.1g, IEEE Standard for Information technology -- Portable Operating System Interface (POSIX) -- Part 1: Protocol-Independent Network API) и пр.

     К API также относятся языки программирования и проблемно-ориентированные языки. Важным результатом стандартизации в этой области является разработка стандартов для языков программирования: С, С++, JavaScript и пр. (ISO/IEC FDIS 14882:1998, Programming language – C++, ISO/IEC 9899:1999, Programming language – C (Revision of ISO/IEC 9899:1990), ISO/IEC 16262:1998, Information technology - ECMAScript: a general purpose, cross-platform programming language.)


2. Функции взаимосвязи открытых систем

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

     Рассмотрим наиболее известные примеры стандартов в области взаимосвязи систем:

1) стандарты базовых сетевых протоколов и сервисов:

- стандарты сетевых протоколов и сервисов, разработанные в соответствии с моделью OSI [ISO/IEC 7498:1996 (рекомендации ITU-T (CCITT) серии X.200)] [5];

- стандарты для локальных сетей (IEEE 802) [ISO/JEC 8802:1990 (IEEE Std 802-1990), Information processing systems - Local area networks];

- стандарты сети Internet, включая: RFC 793 (Transmission Control Protocol - TCP), RFC 768 (User Datagram Protocol - UDP), RFC 791 (Internet Protocol - IP) и др. [28].

2) стандарты прикладных протоколов общего назначения, включая стандарты:

- сервисного элемента управления ассоциациями ACSE (Association Control Service Element), обеспечивающего управление ассоциациями между элементами прикладных систем (Рекомендация ITU-T (CCITT) для сервиса протокола X.217, а для самого протокола - X.227);

- сервисного элемента надежной передачи RTSE (Reliable Transfer Service Element), обеспечивающего надежную передачу информации посредством поддержки механизмов контрольных точек, активностей, оповещения об ошибочной или успешной доставке (Рекомендация ITU-T (CCITT) для сервиса протокола X.218, для протокола - X.228);

- сервисного элемента удаленных операций ROSE (Remote Operation Service Element), обеспечивающего гибкие средства управления исполнением удаленных операций на основе механизма запросов-ответов, и позволяющего, в частности, каждой из взаимодействующих сторон одновременно функционировать в качестве сервера и клиента (является более общим по сравнению с протоколом RPC (удаленного вызова процедур)) [Рекомендация ITU-T (CCITT) для сервиса протокола X.219, а для самого протокола - X.229)];

- протокола вызова удаленной процедуры RPC (Remote Procedure Call) [ISO/IEC 10148, Information processing systems - Open Systems Interconnection - Basic Remote Procedure Call (RPC) using OSI Remote Operations; RFC 1057];

- протокола фиксации, параллельности и восстановления транзакций CCR (Commitment, Concurrency and Recovery), предназначенного для поддержки распределенных баз данных [Рекомендация ITU-T (CCITT) X.852].

3) спецификации распределенных приложений, включая спецификации специальных сервисных элементов прикладного уровня модели OSI и стандартов Internet, как, например, стандарты:

- протокола управления файлами, доступом к файлам и передачи файлов FTAM (File Transfer, Access and Management) [ISO 8571/1:1988, Information processing systems - Open Systems Interconnection - File transfer, access and management - Part 1. General introduction]. Данный стандарт определяет работу специализированного сетевого FTAM-приложения, которое предназначено для пересылки файлов между удаленными и разнородными файловыми системами и в основе которого лежит концепция виртуального файлохранилища – некоторой канонической файловой системы, используемой для эмуляции функций целевых файловых систем;

- системы обработки сообщений MHS (Message Handling System, в терминологии ITU-T, и Message-Oriented Text Interchange System (MOTIS) в терминологии ISO), обеспечивающей основной механизм транспортировки сообщений систем электронной почты или других информационных систем, разрабатываемых на принципе промежуточного хранения (store-and-forward) [ISO/IEC 10021/1:1990, Information technology - Text communication - Message-Oriented Text Interchange System (MOTIS) - Part 1: System and service overview. (Рекомендация ITU-T (CCITT) X.400, Message handling system and service overview)];

- службы сетевого справочника (The Directory), предназначенной для поддержания распределенной базы данных, хранящей справочную информацию о различных объектах сети. Служба сетевого справочника используется в интересах служб электронной почты, управления сетью и других приложений, требующих доступа к справочной информации. (ISO 9594:1990, Information technology - Open Systems Interconnection - The Directory - Part 1: Overview of concepts, models and services. [Рекомендация ITU-T (CCITT) X.500]);

- системы именования доменов DNS (Domain Name System), обеспечивающей отображение имен в сетевые адреса сети Internet (RFC-1794, -1712-13);

- протокола обработки распределенных транзакций DTP (Distributed Transaction Processing), предоставляющего более широкие возможности по сравнению с протоколом CCR для разработки распределенных баз данных и систем управления транзакциями (ISO/IEC 10026:1992, Information technology - Open Systems Interconnection - Distributed Transaction Processing - Part 1: OSI TP Model);

- протоколов простой пересылки сообщений SMTP (Simple Mail Transfer Protocol) [RFC-821, -822] и передачи электронной почты (файлов) UUCP (UNIX-to-UNIX Copy Protocol) [RFC-976, -1174], разработанных для сети Интернет и являющихся более простыми по сравнению с MHS;

- протокола пересылки файлов в сети Интернет FTP (File Transfer Protocol) [RFC-959, -1639];

- протокола виртуального терминала VT (Virtual Terminal), реализующего эмуляцию функций различных типов терминалов (конечных станций) посредством механизма разделяемой между конечной станцией и удаленной HOST-системой стандартизованной структуры данных;

- протокола TELNET, реализующего функции, во многом аналогичные функциям системы VT, и обеспечивающего возможность удаленного доступ к HOST-системам посредством обычных АЦД-терминалов, работающих в символьном режиме через транспортную службу TCP/IP (RFC-854, -1080).


3. Функции управления базами данных

     Вопросам стандартизации технологий баз данных, учитывая их ведущую роль в информационной индустрии, уделялось значительное внимание с самых ранних этапов развития этого направления. Ключевыми аспектами стандартизации в данной области явились разработка архитектуры баз данных и языка SQL-2 как интерфейса с реляционными СУБД, впоследствии расширенного для работы с постреляционными системами (SQL-3). Хотя, как говорилось выше, языки, включая проблемно-ориентированные, относятся к классу API-интерфейсов, стандарты языка SQL будем упоминать в данном разделе для большей тематической замкнутости всех аспектов, связанных со стандартизацией области баз данных.

     Примерами наиболее известных стандартных спецификаций этой области являются:

1) стандарт языка баз данных SQL (Structured Query Language) - ISO/IEC 9075:1992, Information technology - Database - Database Language - SQL (Structured Query Language. ISO/IEC 9075-X:1999, Information technology -- Database languages -- SQL -- Part 1-5);

2) стандарт на информационную справочную систему IRD (Information Resource Dictionary System) - ISO/IEC 10027:1990, Information technology - Information Resource Dictionary System (IRDS) framework;

3) стандарт на протокол доступа к удаленным базам данных RDA (Remote Data base Access) - [16] ISO/IEC 9579:2000, Information technology -- Remote database access for SQL with security enhancement;

4) спецификации на открытый прикладной интерфейс доступа к базам данных ODBC API [27], разработанные фирмой Microsoft и пр.


4. Функции пользовательского интерфейса и машинной графики

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

1) спецификации MOTIF, разработанные организацией OSF для стандартизации графического пользовательского интерфейса (GUI) [OSF/MOTIF, Open Software Foundation, MOTIF Release 1.2];

2) спецификации X Windows, охватывающие процедуры GUI и телекоммуникационного доступа к серверу терминалов (FIBS PUB 158-2: User Interface Component of Application Portability Profile (MIT X Window System) - X library API specification. (X Window System, Version 11, Realease 5, MIT X Consortium));

3) упоминавшиеся выше стандарты для системы виртуального терминала VT и системы TELNET, определяющие процедуры диалоговой работы пользователей с ресурсами распределенной системы;

4) стандарты машинной графики:

- базовые функции машинной графики - GKS (Graphical Kernel System) [ISO/IEC 7942-1:1994, Information technology -- Computer graphics and image processing -- Graphical Kernel System (GKS) -- Part 1: Functional description];

- базовые функции для трехмерной графики - GKS-3D (Graphical Kernel System - 3 Dimensional) [ISO/IEC 8805:88, Information processing systems - Computer graphics - Graphical Kernel System for three dimensions (GKS-3D) functional description];

- интерактивная графика и графический интерфейс - PHIGS (Programmers Hierarchical Interactive Graphics System – система иерархической интерактивной графики программиста) [ISO/IEC 9592-1:1997 Information technology -- Computer graphics and image processing -- Programmer's Hierarchical Interactive Graphics System (PHIGS) -- Part 1: Functional description].


5. Открытая распределенная обработка

     Большая группа стандартов разрабатывается под эгидой консорциума OMG (Object Management Group - Группа управления объектами), объединившего более 700 членов (в первую очередь основных производителей вычислительной техники и программного обеспечения) с целью достижения предельно возможных результатов в переносимости, переиспользуемости и интероперабельности программного обеспечения на основе разработки и распространения спецификаций для объектно-ориентированной парадигмы создания программного обеспечения. Основной блок стандартов по данному направлению, включая эталонную модель RM ODP, определен рекомендациями ITU-T серии X.900. К другим важным стандартам в области ODP-технологий следует отнести:

1) стандарт API для доступа к сервису брокера объектных заявок (Object Request Broker (ORB)) в архитектуре CORBA (Commom Object Services - COS 1) [OMG Document Number 91.12.1. The Common Object Request Broker: Architecture and Specification. R.X.Y];

2) стандарт языка спецификации интерфейсов объектов IDL [ISO/IEC DIS 14750:1999, Information technology - Open Distributed Processing – Interface Definition Language];

3) стандарт архитектуры открытого распределенного управления [ISO/IEC 13244:1998, Information technology - Open Distributed Management Architecture (ODMA)];

4) стандарт торговой функции в модели объектной распределенной обработки, которая называется ODP Trading Function (Рекомендация ITU-T X.950).


6. Cтруктуры данных и документов, форматы данных

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

1) язык ASN.1 (Abstract Syntax Notation One), предназначенный для описания синтаксиса структур данных сетевых протоколов прикладного уровня (ISO/IEC 8824-1:1998 Information technology -- Abstract Syntax Notation One (ASN.1): Specification of basic notation) (ISO/IEC 8824-1:1998 Information technology -- Abstract Syntax Notation One (ASN.1): Specification of basic notation) [рекомендация ITU-T (CCITT) X.208];

2) форматы метафайла для представления и передачи графической информации CGM (Computer Graphics Metafile) [ISO/IEC 8632-1:1999 Information technology -- Computer graphics -- Metafile for the storage and transfer of picture description information -- Part 1: Functional specification];

3) спецификация сообщений и данных для электронного обмена в сферах управления, торговли и на транспорте EDIFACT (Electronic Data Interchange for Administration, Commence and Trade) [ISO 9735-1:1998, Electronic data interchange for administration, commerce and transport (EDIFACT) -- Application level syntax rules (Syntax version number: 4) -- Part 1: Syntax rules common to all parts, together with syntax service directories for each of the parts];

4) стандарты представления документов:

- спецификации структур учрежденческих документов ODA (Open Document Architecture) [ISO/IEC 8613-1:1994, Information technology - Open Document Architecture (ODA) and Interchange Format - Introduction and general principles. [Рекомендация ITU-T T.411(1993)];

- спецификации структур документов для производства, например: SGML (Standard Generalized Markup Language) [ISO/IEC 8879:1986, Information processing - Text and office systems - Standard Generalized Marking Language (SGML)], который послужил основой для разработки языков разметки документов HTML и XML [htt://www.w3.org.XML];

- языки описания документов гипермедиа и мультимедиа, например:

  • языки разметки гипертекста HTML (HyperText Markup Language) [RFC1866, RFC1942] и XML;
  • язык структуризации динамических документов гипермедиа HyTime [ISO/IEC 10744:1997, Information technology - Hypermedia/time-based structuring language (HyTime)];
  • язык описания страниц SPDS (Standard Page Description Language) [ISO/IEC 10180:1995, Standard Page Description Language (SPDL)].

5) спецификация форматов графических данных, например, форматов:

- JPEG, предназначенного для кодирования и сжатия фотографических изображений (ISO DIS 10918-1:1994, Information technology -- Digital compression and coding of continuous-tone still images: Requirements and guidelines);

- MPEG, предназначенного для решения задач кодирования/декодирования, компрессии/декомпрессии видеоданных в реальном масштабе времени с синхронизацией звука в мультимедиа/гипермедиа приложениях (ISO/IEC 11172-1:1993 Information technology -- Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s -- Part 1: Systems);

- PS (PostScpipt) – языка описания страниц для векторных и bitmap-изображений, являющийся стандартом де-факто (Adobe’s PostScript Language Reference Manual) [31] и др.


7. Программная инженерия

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

1) Жизненный цикл

  • Модель жизненного цикла:

    • ISO/IEC 12207:1995 Information technology -- Software life cycle processes (Процессы жизненного цикла программного обеспечения).
    • ISO/IEC TR 15271:1998 Information technology -- Guide for ISO/IEC 12207 (Software Life Cycle Processes) - (Руководство для ISO/IEC 12207).
    • ISO/IEC TR 16326:1999 Software engineering -- Guide for the application of ISO/IEC 12207 to project management (Руководство по применению ISO/IEC 12207 к управлению проектами).
  • Разработка:

    • IEEE Std 1233-1998. Руководство по спецификации требований к программному обеспечению (Guide for Developing System Requirements Specifications).
    • IEEE Std 1016-1998. Руководство по описанию проектов программного обеспечения (IEEE Recommended Practice for Software Design Descriptions).
    • IEEE Std 1077. Управление проектированием (Project Managenent).
  • Эксплуатация и сопровождение:

    • IEEE Std 1219-1993. Сопровождение программного обеспечения (Standard for Software Maintenance).
    • IEEE Std 1297. Процесс повторного использования программного обеспечения (Software Reuse Process).
    • IEEE Std 1323. Повторное использование исходного кода (Standard for Reuse of Software Process Artifacts - Source Code Reuse).
    • ISO 12207-2. ИТ. Управление конфигурациями программного обеспечения (Software Configuration Management).
    • IEEE Std 828-1998. Стандарт на планирование управления конфигурациями программного обеспечения (Standard for Software Configuration Management Plans).

2) Управление качеством, управление проектами:

    • ISO 8402:1994 Quality management and quality assurance -- Vocabulary (Управление качеством и гарантирование качества. Словарь).
    • ISO 9000-1:1994 Quality management and quality assurance standards -- Part 1: Guidelines for selection and use (Стандарты по управлению качеством и гарантировании качества. Ч.1: Руководство по выбору и использованию).
    • ISO 9000-2:1997 Quality management and quality assurance standards -- Part 2: Generic guidelines for the application of ISO 9001, ISO 9002 and ISO 9003 (Стандарты по управлению качеством и гарантировании качества. Ч.2: Общее руководство по применению ISO 9001, ISO 9002 и ISO 9003).
    • ISO 9000-3:1997 Quality management and quality assurance standards -- Part 3: Guidelines for the application of ISO 9001:1994 to the development, supply, installation and maintenance of computer software (Стандарты по управлению качеством и гарантировании качества. Ч.3: Руководство по применению ISO 9001:1994 при разработке, поставке и обслуживании программного обеспечения).
    • ISO 9000-4:1993 Quality management and quality assurance standards -- Part 4: Guide to dependability programme management (Стандарты по управлению качеством и гарантировании качества. Ч.4: Руководство по управлению программной надежностью).
    • ISO 9001:1994 Quality systems -- Model for quality assurance in design, development, production, installation and servicing (Системы качества. Модель обеспечения качества при проектировании и/или разработке, производстве, установке и обслуживании).
    • ISO 9002:1994 Quality systems -- Model for quality assurance in production, installation and servicing (Системы качества. Модель обеспечения качества при производстве, установке и обслуживании).
    • ISO 9003:1994 Quality systems -- Model for quality assurance in final inspection and test (Системы качества. Модель обеспечения качества при окончательном контроле и тестировании).
    • IEEE Std 730-1998. Планирование обеспечения качества программного обеспечения (Standard for Software Quality Assurance Plans).
    • IEEE Std 1058-1998. Планирование управления проектированием программного обнспечения (Standard for Software Project Management Plans).
    • ISO/IEC 9126:1991 Information technology -- Software product evaluation -- Quality characteristics and guidelines for their use (ИТ. Оценка программного продукта. Характеристики качества и руководство по их применению).
    • ISO/IEC 12119:1994 Information technology -- Software packages -- Quality requirements and testing (ИТ. Требования к качеству и проверка качества).
    • ISO/IEC 9126:1991 Information technology -- Software product evaluation -- Quality characteristics and guidelines for their use (ИТ. Оценка программного продукта. Характеристики качества и руководство по их применению).

3) Тестирование и измерение характеристик:

    • IEEE Std 1028-1997. Стандарт по проверке программного обеспечения посредством просмотров исходного текста (Standard for Software Reviews).
    • IEEE 1059. Руководство по планированию верификации и подтверждения достоверности программного обеспечения (Guide for Software Verification and Validation Plans).
    • ANSI/IEEE 1008. Тестирование программных модулей и компонентов программного обеспечения.
    • IEEE Std 1012a-1998. Стандарт по проверке и подтверждении достоверности программного обеспечения (IEEE Standard for Software Verifcation and Validation: Content Map to IEEE/EIA 12207.1-1997).
    • IEEE 1044. Классификация программных ошибок, отказов и сбоев (Standard Classification for Software Anomalities).
    • ANSI/IEEE 1045. Стандарт по метрикам производительности программного обеспечения (Standard for Software Productivity Metrics).
    • IEEE Std 829-1998 (Revision of IEEE Std 829-1983) IEEE Standard for Software Test Documentation (Стандарт на документацию тестирования программного обеспечения).

4) Документирование:

    • ISO 9127:1988 Information processing systems -- User documentation and cover information for consumer software packages (Системы обработки информации. Пользовательская и рекламная документация на пакеты программ).
    • ISO/IEC TR 9294:1990 Information technology -- Guidelines for the management of software documentation. (Tехнический отчет. ИТ. Руководство по управлению документированием программного обеспечения).
    • ANSI/IEEE Std 1063. Стандарт на документацию пользователя программного обеспечения.

5) Инструментальные средства и требования к ним:

    • IEEE P 1348. Рекомендации по выбору и интеграции CASE-инструментов (Recommended Practice for the Adoption and Integration of CASE tools).
    • IEEE P 1320. IDEF.0. – графический язык для описания требований к проектируемым системам.
    • Yнифицированный язык моделирования UML (Unified Modeling Language) [http://www.omg.org/uml, UML 1.3. ftp://ftp.omg.org/pub/docs/ad/99-06-09.zip, UML 2.0. ftp://ftp.omg.org/pub/docs/ad/00-06-01.pdf ].

6) Эргономика компьютерных продуктов:

     Наиболее полный пакет стандартов по эргономике компьютерных продуктов, содержится в многочастевом стандарте ISO/IEC 9241. Ergonomic requirements for office work with visual display terminals.

7) Интернационализация программных продуктов

     Представляет важный технологический аспект создания продуктов, легко адаптируемых к культурным элементам различных стран (ISO/IEC DTR 11017, Information Technology – Framework for internationalization).

Предыдущая глава Оглавление Следующая глава