Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Липаев В.В. Программная инженерия

.pdf
Скачиваний:
720
Добавлен:
02.05.2014
Размер:
10.14 Mб
Скачать

Лекция 3. Модели и процессы управления проектами программных средств

держивающих и детализирующих базовые стандарты серии ISO 9000, в

которую входят — ISO 10005, ISO 10006, ISO 10013, ISO 10011.

Стандарт ISO 10006:1997 — Руководство по качеству при управле­ нии проектом — содержит принципы управления качеством различных по содержанию крупных проектов. В нем изложены рекомендации по адми­ нистративному управлению качеством процесса проектирования слож­ ных объектов и в том числе программных средств. Приводятся определе­ ния процесса, продукции и плана управления проектом, а также общие характеристики организации и фазы проектирования. Обеспечение каче­ ства управления проектом представлено группой процессов, для каждого из которых приводятся подробные рекомендации по их реализации и кон­ тролю качества выполнения.

Встандарте ISO 10013:1995 — Руководящие указания по разработ­ ке руководств по качеству — изложены рекомендации по подготовке кон­ кретного Руководства по качеству, адаптированного к определенным потребностям предприятия и пользователей. Созданное в результате Руко­ водство должно отражать документированные процедуры системы каче­ ства конкретного предприятия или проекта в соответствии с общими тре­ бованиями стандартов серии ISO 9000. В этом документе должны быть изложены: цели конкретной системы качества проекта или предприятия; документированные процедуры этой системы; организация процессов ут­ верждения, изменения и применения данного Руководства. В стандарте предложена подробная типовая структура и рекомендуемое содержание разделов такого документа.

Встандарте ISO 10005:1995 — Административное управление ка­ чеством. Руководящие указания по Программе качества — представлены конкретные рекомендации по структуре и содержанию разделов в Про­ грамме обеспечения качества продукции, в соответствии с базовыми требованиями стандарта ISO 9001, а также примеры документального офор­ мления таких Программ. Для эффективного применения его следует адап-

тировать к характеристикам объектов и среды применения конкрет­ ного предприятия или проекта. Прежде всего, необходимо оставить в рабочей версии этого стандарта разделы и положения, которые целесооб­ разно непосредственно использовать для обеспечения качества конкрет­ ных изделий. Адаптация стандарта для конкретных предприятий или про­ ектов может выполняться путем сокращения и конкретизации некоторых

90

3.3. Стандарты открытых систем, регламентирующие структуру и интерфейсы...

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

Группа стандартов — ISO 10011:1-3:1990 — Руководящие положе­ ния по проверке систем качества — определяет основные требования к

процессам и специалистам по оценке систем качества предприятия

на соответствие стандартам серии ISO 9000. В них изложены основные принципы, критерии и методики, а также руководящие положения для разработки, планирования и ведения документации при проверке систем качества предприятия. Определены обязанности и ответственность неза­ висимых инспекторов по проверке системы качества, требования к ним, порядок и критерии оценки и выбора инспекторов, их аттестации и условия выдачи свидетельств для допуска к инспектированию. Для незави­ симой и объективной оценки системы качества предприятия или проекта рекомендуется проводить специальный отбор испытателей — инспекто­ ров по сертификации. В соответствии со стандартом ISO 10011-2 кандида­ ты в инспекторы по проверке систем качества должны продемонстри­ ровать способность четко и быстро выражать концепции и идеи в устной и письменной форме. Они должны пройти обучение, дающее им знания и квалификацию, необходимые для проведения испытаний и управления проверками систем качества.

3.3. Стандарты открытых систем, регламентирующие структуру и интерфейсы программных средств

Рядом зарубежных организаций и промышленных фирм под руковод­ ством IEEE с 1990 года ведется активная разработка последовательных версий стандартов интерфейсов открытых систем POSIX (Portable operating system interfaces). Выполнена большая работа по пересмотру, расширению и реорганизации около двадцати базовых спецификаций POSIX 1990— 1998 годов IEEE 1003. Улучшена систематизация и структура стандартов,

91

Лекция 3. Модели и процессы управления проектами программных средств

усовершенствовано удобство их применения пользователями. В результате подготовлен комплексный проект фундаментального международного стандарта из четырех крупных частей ISO 9945:1-4:2003 (DEEE 1003.1 — 2003), объемом свыше трех тысяч страниц. Настоящий стандарт — совме­ стная разработка IEEE и The Open Group, он является одновременно стандартом IEEE, стандартом ISO и стандартом Open Group Technical.

Цель документа — стандартизация в программной инженерии обес­ печения переносимости программ на уровне исходных текстов. В нем определены основные интерфейсы операционных систем и окружения, интерфейсы командного интерпретатора, а также программы общих ути­ лит. Три отдельных крупных тома включают: базовые определения; системные интерфейсы; команды управления и сервисные программы (ути­ литы). Кроме того, имеется большой четвертый том общего обоснования выбранных решений системы POSIX. Важными свойствами разработан­ ных программных интерфейсов являются целостность, модульность их построения и параметризуемость.

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

При формировании концепции стандартов POSIX были поставле­ ны следующие задачи:

содействовать облегчению и автоматизации переноса кода гото­ вых прикладных программ на иные платформы;

способствовать определению и унификации интерфейсов программ­ ных компонентов заранее при проектировании программных средств, а не только в процессе их реализации;

92

3.3. Стандарты открытых систем, регламентирующие структуру и интерфейсы...

сохранять по возможности и учитывать все главные, созданные ранее, унаследованные и используемые программные средства и компо­ ненты;

определять необходимый минимум интерфейсов компонентов и комплексов программ для ускорения создания и расширения программ­ ных продуктов, а также для анализа, одобрения и утверждения документов;

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

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

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

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

Цель состояла также в том, чтобы продвинуть мобильность приклад­ ных программ по всей области применения операционной системы UNIX, развивая ясный, последовательный и однозначный стандарт для специфи­ кации интерфейса переносимой операционной системы, основанной на

93

Лекция 3. Модели и процессы управления проектами программных средств

документации системы UNIX. Этот стандарт систематизирует все суще­ ствующие типовые формулировки операционной системы UNIX. Стан­ дарт был разработан для того, чтобы программа, написанная и транслиро­ ванная для исполнения в одной конкретной версии ОС, могла быть также транслирована для другой версии ОС. Однако этот стандарт не гарантиру­ ет, что используемый код (объектный) даст соответствующий результат при другой ОС, нежели той, для которой программа была транслирована, даже при идентичном аппаратном обеспечении.

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

Новую версию международных стандартов POSIX составляют ан­ нотированные ниже четыре части стандартов ISO 9945:1-4:2003 — ИТ. Интерфейсы переносимых операционных систем. Ч. 1. Базовые определе­ ния. Ч. 2. Системные интерфейсы. Ч. 3. Команды управления и сервисные программы. Ч. 4. Обоснование.

Стандарт ISO 9945-1:2003 — содержит основные концептуальные определения и подробные пояснения методов реализации интерфейсов для обеспечения мобильности компонентов и комплексов программ, общее для всех томов оглавление стандарта, в том числе сервисные соглашения и определения заголовков языка Си. В большом разделе — концепция — изложены: базовые директории; файловая иерархия; сетевое взаимодейст­ вие; измерение времени и синхронизация; процессы повторного использо­ вания компонентов; политика очередей и применение семафоров. Далее выделены разделы.

94

3.3. Стандарты открытых систем, регламентирующие структуру и интерфейсы...

описание синтаксиса и организации данных в файлах для систем­ ных интерфейсов и взаимодействия с терминалами;

характеристики переносимых компонентов, язык кодирования, опи­ сание файлов;

локальные переменные, определения и грамматика;

описание переменных окружения, интернационализация перемен­

ных;

контекстно-независимый синтаксис представления характеристик переменных компонентов, определения регулярных выражений, генера­ ция требований, базис и грамматика выражений, продленные выражения;

структура директорий, файлов и устройств, типы терминалов;

базовые интерфейсы типов терминалов, параметры возможных устройств;

конвенция и руководство по синтаксису аргументов утилит;

содержание функций прототипов, описание символьных констант, макросы, препроцессоры, типы определений, форматы входов.

Стандарт ISO 9945-2:2003 — Системные интерфейсы — уточняет и детализирует: концепцию переносимости и принципы ее обеспечения пу­ тем унификации интерфейсов прикладных программ с операционными системами, функции обслуживания, ориентированные на язык програм­ мирования Си, функциональные вопросы, в том числе мобильность, обра­ ботка ошибок, и устранение ошибок. Он содержит три крупных раздела:

введение;

содержание основной информации;

системные интерфейсы.

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

95

Лекция 3. Модели и процессы управления проектами программных средств

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

Языково-ориентированные услуги и интерфейсы для языка Си в стан­ дарте состоят из двух частей: ядра, взаимодействующего с ядром операци­ онной системы на языке Си, и расширения для взаимодействия с приклад­ ными программами, реализованными на различных языках. Первоначаль­ ная, жесткая ориентация стандартов POSIX на ОС UNIX в последующем изменилась и расширилась на любые операционные среды, обеспечиваю­ щие реализацию концепции открытых систем. Отмечается целесообраз­ ность применения для взаимодействия с внешней средой концепции и совокупности стандартов, являющихся развитием базовой эталонной мо­ дели взаимосвязи открытых систем (ВОС) — ISO 7498.

В третьей части стандарта ISO 9945-3:2003 — Основные команды управления и сервисные программы (Shell and utilities) — изложено конк­ ретное представление команд операционной системы и утилит, обеспечи­ вающих унифицированное взаимодействие с мобильными прикладными программами, определения для стандартного источника кодового уровня интерфейса командного интерпретатора («shell») и стандартные утилиты для прикладных программ. Стандарт содержит четыре раздела:

введение;

описание языка управления;

пакет обслуживания окружения;

сервисные программы — утилиты.

Цель этой части стандарта — конкретизировать интерфейсы при­ кладных программ на уровне команд, для интерпретатора командного язы­ ка, и полный набор сервисных программ — утилит. Он специфицирует интерфейсы операционных систем на уровне программных текстов и ко­ дов. Стандартизированный командный язык Shell — средство для подго­ товки небольших мобильных процедур и их быстрой интерактивной от­ ладки. В развитой среде возможно объединять команды в цепочки с филь­ трацией промежуточных результатов. Каждая утилита содержит: описание структуры; применение; операнды; входные файлы; окружение. Факуль-

96

3.3. Стандарты открытых систем, регламентирующие структуру и интерфейсы...

тативные утилиты расширяют возможности для пользователей мобильных приложений по связи с внешним окружением. В терминах языка Си (стан­ дарт ISO 9899:1990) описаны языково-независимые услуги интерфейсов для переносимых приложений и связи с внешним окружением при пред­ ставлении интерфейсов приложений на различных языках высокого уров­ ня. Команды и утилиты содержат конкретные механизмы на уровне опера­ торов для выполнения операций: сравнения, вывода на печать и на экран файлов, редактирования файлов, вычисления выражений, сортировки дан­ ных, определения очередности исполнения сигналов и доступа к инфор­ мации о среде. Можно выделить:

утилиты среды взаимодействия программ;

управляющие утилиты, поддерживающие мобильность программ

исвязь внешних пользователей с асинхронными терминалами;

утилиты для взаимодействия комплексов программ;

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

Четвертая часть стандарта ISO 9945-4:2003 — Обоснование — со­ держит группу из пяти крупных прило:жений\

обоснование базовых определений — приложение А;

обоснование системных интерфейсов — приложение В;

обоснование команд управления и сервисных программ-утилит — приложение С;

рассмотрение переносимости — приложение D;

рассмотрение субпрофилей — приложение Е.

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

Параллельно с подготовкой и внедрением новых четырех стандартов группы POSIX действуют и применяются представленные ниже, утверж­ денные базовые ме:нсдународные стандарты, углубляющие некоторые возможности и облегчающие создание мобильных приложений.

97

Лекция 3. Модели и процессы управления проектами программных средств

В стандарте ISO 14252:1996 — Руководство по POSIX окружению открытых систем (OSE) — изложена идеология и модель создания мо­ бильных программных средств, которое детализирует для пользователей модель комплекса стандартов POSIX, а также взаимодействующих с ни­ ми стандартов де-юре, де-факто и спецификаций, необходимых для созда­ ния переносимых приложений. Модель отражает принципы построения интерфейсов прикладных программ с платформой — операционной сис­ темой, через которую осуществляется взаимодействие с компонентами внешнего окружения. Считается, что прикладные программы непосред­ ственно не взаимодействуют с внешним окружением, а связаны с ним только через операционную систему. Разработка приложений предполага­ ется в кросс-режиме, то есть платформа разработки — инструментальная может не совпадать с платформой исполнения (применения) программ (объектной — целевой). Результат компиляции программы на инструмен­ тальной платформе может быть перенесен для исполнения на целевую платформу.

Определяющими являются два интерфейса между тремя базовыми компонентами: между прикладными программами и платформой — опе­ рационной системой (API) и между платформой и внешним окружением (EEI). Определены общие функции — услуги платформы для этих взаимо­ действий. Внешнее окружение включает компоненты человеко-машинно­ го взаимодействия с пользователями, компоненты информационного взаи­ модействия с внешними устройствами ЭВМ и с компонентами, обеспечи­ вающими коммуникацию с внешней средой. Эти интерфейсы и услуги более детально формализованы соответствующими стандартами POSIX.

Стандарт включает также общие принципы и руководство по форми­ рованию и описанию сложных согласованных профилей и по обеспече­ нию непротиворечивости их интерфейсов с внешним окружением;

поддерживающие непосредственное взаимодействие прикладных программ с пользователями, регламентирующие интерфейсы с виртуаль­ ными терминалами и графические системы;

обеспечивающие административное управление файловыми сис­ темами и различными, в том числе распределенными, базами данных;

регламентирующие телекоммуникацию и обмен данными на верх­ них уровнях эталонной модели ВОС;

98

3.3. Стандарты открытых систем, регламентирующие структуру и интерфейсы...

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

Стандарт ISO 13210:1998 — Методы тестирования для оценки со­ ответствия стандартам POSIX — содержит общую методологию тестиро­ вания для проверки соответствия интерфейсов прикладных программ стан­ дартам POSIX. Представлены принципы формирования наборов тестов и предлагается методика развития системы тестов для контроля создавае­ мых приложений на соответствие ISO 9945. В методе тестирования выде­ лены: подготовка тестов; процедуры тестирования; оформление докумен­ тов, удостоверяющих соответствие стандартам. Определены и кратко пред­ ставлены три основных уровня сложности тестирования: исчерпывающий; достаточно полный; оценочный — для установления общих характерис­ тик качества. Подчеркивается, что предлагаемые методы не гарантируют абсолютное соответствие стандартам, так как исчерпывающее тестирова­ ние невозможно по техническим и экономическим причинам. Приводятся рекомендации по:

классификации тестовых сценариев и утверждений;

подготовке описаний детерминированных тестов и тестов для про­ верки структурных конструкций;

кодированию и представлению результатов тестирования во взаи­ мосвязи с исходными тестами;

формированию удостоверения о соответствии интерфейсов при­ кладных программ стандартам POSIX.

В стандартах POSIX даются ссылки на многие стандарты ISO, ANSI

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

рованный профиль.