Владимир Липаев
Многие сложные, в том числе корпоративные, информационные системы (ИС) и программные средства (ПС), создаваемые в нашей стране, являются продуктами самодеятельности, “художественного творчества” отдельных умельцев, не учитывающих мировые достижения в области организации, методологии и технологии проектирования и разработки таких ПС. Методы и навыки индивидуального написания небольших программок они пытаются применять при коллективном создании крупных интегрированных комплексов программ и баз данных. Разнородные инструментальные средства выбираются почти случайно и используются вне строго регламентированных технологических процессов. Низкой технологической культурой обуславливается высокая трудоемкость и стоимость разработок, их длительность, недостаточное качество и надежность многих реализованных проектов. Практическое отсутствие или низкое качество документации не позволяют эффективно модифицировать и расширять функции систем, и со временем приходится их полностью разрабатывать заново.
Непрерывный рост размеров проектов ИС, невозможность контроля за их созданием со стороны отдельного специалиста приводят к необходимости принципиального изменения отношения к регламентированию, документированию и дисциплине труда коллективов специалистов при обеспечении длительного жизненного цикла (ЖЦ) программных средств. Следует учитывать, что существенно изменились объекты, методология и культура в области организации и всего ЖЦ сложных ИС. Накопленный мировой опыт сосредоточен и обобщен в международных, национальных и военных (зарубежных) стандартах (см. PC Week/RE, № 24/98, с. 34), которые почти неизвестны отечественным специалистам. За рубежом требования стандартов к объектам, документам и процессам ЖЦ ИС и ПС во многих случаях являются обязательными и определяют конкурентоспособность продукции. Пренебрежение к стандартам отечественных специалистов резко снижает конкурентоспособность на Западе созданных ими даже на отличной идейной базе программных средств.
Наиболее четкая регламентация требований к объектам и процессам ЖЦ ПС прослеживается в стандартах Министерства обороны США, которые призваны обеспечивать высокое качество и безопасность функционирования критических военных систем. Новый шаг в этой области сделан в представленном ниже стандарте MIL-STD-498 и в подробных руководствах по его применению, с содержанием которых целесообразно ознакомиться отечественным специалистам, особенно тем, кто связан с проектированием, приобретением и/или внедрением крупных ИС.
Первый стандарт МО США, регламентировавший процессы и документацию разработки сложных ПС, был утвержден в 1985 г. В 1988 г. после его апробации и доработки он был вновь утвержден под шифром DOD-STD-2167 A (Разработка программных средств для систем военного назначения) и в таком виде действовал как обязательный документ для всех организаций и предприятий, работающих по заказам МО США. Однако он, естественно, несколько устарел, что стимулировало создание и принятие в 1994 - 1996 годах нового, значительно более детального и глубокого стандарта.
Новый стандарт МО США - MIL-STD-498 - представляет собой комплект из трех документов, общим объемом около 600 страниц, куда входят:
- собственно стандарт MIL-STD-498 Software Development and Documentation (Разработка и документирование программного обеспечения);
- руководство Overview and Tailoring - (Обзор и адаптация - подготовка к применению);
- руководство Application and Reference (Применение и рекомендации).
В декабре 1994 г. утвержден базовый документ этой группы - стандарт США MIL-STD-498 - для постепенной замены стандартов DOD-STD-2167 A, 7935 A, 1703 МО США. Новый стандарт, так же как заменяемые документы, обязателен для применения всеми организациями и предприятиями, работающими по заказам этого министерства. Он предназначен для унификации и систематизации требований к процессам, объектам и документам при разработке сложных ПС. Отмечается, что этот стандарт базируется на процессах и документах, представленных в международном стандарте ISO/IEC 12207:1995 - процессы жизненного цикла программных средств в стандарте по обеспечению качества продукции ISO 9001 и предшествовавших военных стандартах. Структура нового стандарта близка к структуре DOD-STD-2167 A, однако раздел “Общие требования” сокращен, а детальные требования в разделе 5 значительно расширены и углублены. Кроме того, число приложений увеличено до девяти.
Создание ПС рассматривается как часть процесса разработки специальных информационных систем военного назначения. В стандарте на начальных этапах проектирования и заключительных этапах испытаний и сдачи заказчику рекомендуется совместный анализ программных и аппаратных средств цельной системы, полностью решающей необходимые потребителю функциональные задачи. Стандарт унифицирует требования к проектированию, разработке, модификации и документированию ПС. Проведено разделение требований к объектам и процессам жизненного цикла ПС. Он устанавливает терминологию и процессы, задачи и объекты при разработке и сопровождении проектов ПС и применим к любым типам комплексов программ, включая прикладные и повторно используемые, операционные системы и т. д.
Стандарт ориентирован прежде всего на создание крупных сложных комплексов программ, но при необходимости может быть адаптирован на любые, в том числе и относительно малые, проекты и различные модели жизненного цикла ПС. В стандарте не оговариваются конкретные методы и рецепты решения технологических задач. Стандарт предусматривает применение при разработке любых методов, языков программирования и CASE-средств, а также поддерживает повторное использование программных компонентов и измерения характеристик объектов и процессов. Предполагается, что требования стандарта могут быть адаптированы и конкретизированы в зависимости от характеристик проекта, выбранного иструментария и внешней среды разработки, в стандарте приводятся примеры подобной адаптации и рекомендации.
В начале стандарта (разделы 1 - 3) определена область его действия и общие рекомендации по применению, приведены ссылки на базовые документы, даны определения основных понятий, терминов и расшифровка аббревиатур. Основная совокупность обязательных требований изложена в двух крупных разделах: наиболее общие требования ко всему ЖЦ ПС и детальные требования к каждому процессу и этапу разработки.
В общих требованиях (раздел 4) на трех страницах декларативно представлены основные требования к процессам, методам и документированию ПС и его компонентов. Акцентируется внимание на возможности повторного применения готовых программных компонентов, управлении с целью обеспечения критических требований по надежности, защищенности и безопасности прменения ПС. Также приводятся рекомендации по использованию ограниченных ресурсов ЭВМ и регистрации результатов процессов разработки.
Детальные требования (раздел 5) составляют основное содержание стандарта и занимают около трети его объема. В разделе в 19 подразделах детально описаны требования к технологии обеспечения ЖЦ ПС, представлены требования к планированию и формированию окружения разработки, к проектированию всей информационной системы и ее программных средств (четыре подраздела), к инструментарию разработки и тестирования программных компонентов. Особое внимание обращается на требования к процессам квалификационного тестирования комплексов программ и систем в целом, а также на интеграцию компонентов в системе и ее испытания (четыре подраздела). Три подраздела посвящены требованиям к процессам подготовки ПС к применению, инсталляции пользовательских версий и внедрению их у пользователей. Подробно рассмотрены требования к сопровождению, конфигурационному управлению и корректировке программ, к предварительным и окончательным испытаниям и оценке программного продукта, а также к обеспечению и оценке качества ПС. В обзоре технических и управленческих, а также вспомогательных процессов представлены требования к управлению риском, к защите и сохранению тайны, к усовершенствованию и развитию процессов проектирования ПС.
Шестой раздел содержит примечания, в них изложены требования, которые должны помочь при использовании стандарта, но не являются обязательными. Для основных процессов ЖЦ ПС представлены ссылки на международные, национальные и военные стандарты США, они могут пригодиться при реализации требований данного стандарта (в качестве основы при формировании профилей стандартов для конкретных проектов*1).
-----
*1. Липаев В. В., Филинов Е. Н. Мобильность программ и данных в открытых информационных системах. М., РФФИ, 1997.
В девяти приложениях представлены возможности интерпретации требований основных разделов стандарта при объединении и применении повторно используемых компонентов; классификация отчетов о дефектах и ошибках на разных этапах разработки; критерии и способы оценки программного продукта; рекомендации по вариантам и схемам планирования стратегий разработки и структуры ПС; а также способы организации работ для разных типов проектов. В них, в частности, даны рекомендации по переходу при разработке программных средств от стандарта DOD-2167 A на данный стандарт.
Первое руководство к стандарту MIL-STD-498 (Обзор и адаптация), утвержденное в 1996 г., предназначено для помощи пользователю при освоении и подготовке к применению стандарта (пособие по первичному обучению). Оно содержит пять основных разделов и три приложения суммарным объемом 110 стр. В первых трех разделах описаны области применения руководства и его цель, общие рекомендации по применению, структура документа, использованные и упомянутые документы, определения терминов. Акцентируется внимание на необходимости выделения в стандарте и применения требований, которые эффективны для конкретного проекта ПС. В этом процессе рекомендуется участие потребителей-заказчиков, потенциальных пользователей и разработчиков ПС.
В четвертом разделе представлен обобщенный обзор стандарта MIL-STD-498: его цели, организация и ключевые концепции. В разделе сделан обзор общих и детальных требований к разработке программ, изложенных в стандарте, а также требований к разделам описаний данных. Отмечены способы преобразования положений стандарта MIL-498 для проектов, выполненных ранее по стандартам DOD-2167 A и DOD-7935 A.
Наиболее существенной частью руководства является пятый раздел, в котором изложены рекомендации по подготовке и адаптации к применению основных требований стандарта при разработке и/или приобретении программных средств. Рассмотрены пути и варианты выделения, формирования и применения требований стандарта для разных типов ПС. Методика подготовки к использованию стандарта и формирования требований к конкретному ПС представлена в виде 18 организационных шагов, которые в частности, предусматривают:
- определение концепции и стратегии разработки всей системы и ее ПС, а также стратегии приобретения или создания компонентов и идентифицирование типа ПС;
- выделение положений стандарта, необходимых для использования при формировании структуры конкретного ПС, описании данных и планировании разработки;
- детализацию и документирование основных требований стандарта к ПС для их формализации в контракте с заказчиком;
- определение форматов и расписаний выходных данных приобретаемого или создаваемого ПС;
- проведение структурного анализа вариантов ПС и данных на соответствие требованиям контракта;
- разработку и представление потребителям (заказчику) плана создания и развития проекта ПС;
- мониторинг контракта на проект ПС и ИС.
В трех приложениях представлены: А - расшифровки сокращений; В - детальное соотношение основных положений стандартов DOD-STD-2168 и MIL-STD-498 по обеспечению качества ПС; С - примеры адаптации и варианты построения планов работ и проектировочных документов.
Второе руководство к стандарту MIL-STD-498 (Применение и рекомендации) утверждено также в 1996 г. Оно представляет собой уникальный, очень подробный документ (407 стр.), описывающий методы и способы реализации каждого требования стандарта. В нем детально изложены ключевые работы и результирующие документы по всем процессам ЖЦ ПС. Начинается документ с краткого предисловия, общих руководящих указаний и перечня разработчиков. В первых трех разделах представлен обзор руководства, его цели и организация, использованные документы и определения применяемых терминов.
В относительно небольшом четвертом разделе (14 стр.) приведены общие рекомендации по применению стандарта MIL-STD-498. Рассмотрены вопросы утверждения стандарта и его предшественники, его использование на этапах ЖЦ систем в соответствии со стратегией МО США в этой области. Представлены рекомендации по применению стандарта при разработке систем, их компонентов и различных типов программных средств. Изложены принципы организации участников проектов и формирования договоров (контрактов) на разработку и/или поставку ПС, а также роль поставщиков в соответствии со стандартом, его взаимосвязь с политикой и инструкциями МО США и другими стандартами.
Основной объем руководства составляют в пятом разделе 75 технологических тем-подразделов (свыше 300 стр.), содержащих детальные рекомендации по обеспечению и реализации требований стандарта к процессам и объектам ЖЦ сложных, критических ПС высокого качества и надежности, функционирующих в реальном времени. Рекомендации ориентированы на разработчиков и заказчиков комплексов программ, отвечающих требованиям стандарта. Методические темы (подразделы) рекомендаций расположены в алфавитном порядке и каждая содержит четыре унифицированных по структуре фрагмента:
- обобщенные ключевые тематические требования стандарта, ссылки на его конкретные разделы и формулировки, таблицы (свыше 50) подробных методических рекомендаций по основным процессам и работам (технологиям), необходимым для реализации этих требований (что представляет основное, практически наиболее полезное и интересное содержание данного руководства);
- общее обсуждение и методические оценки темы;
- тематические вопросы для обсуждения при решении и уточнении задач темы для условий конкретного проекта;
- перекрестные ссылки на темы руководства, где имеются упоминания задач, относящиеся к данной теме.
Для удобства использования рекомендаций в подразделе 5.1 представлена таблица номеров и названий подразделов стандарта MIL-STD-498, каждому из которых соответствуют подразделы и ключевые темы данного руководства.
В четырех приложениях изложены сокращения, источники исходной информации, в том числе в Интернете, и оглавления 22 типовых документов (руководств, описаний и планов), рекомендуемых в требованиях стандарта. Оба рассмотренных руководства содержат свыше 220 схем и таблиц, которые конкретизируют и значительно облегчают освоение материала.
Представленное содержание стандарта MIL-STD-498 и руководящих документов показывает, что формируется новая технологическая культура регламентации всего ЖЦ современных крупных ИС и ПС с целью обеспечения высокого качества и надежности. Она направлена на значительное повышение экономической эффективности и качества проектов за счет применения стандартов на всех этапах ЖЦ ИС и ПС, препятствующих принятию волюнтаристских решений. Освоение и применение аннотированного стандарта должно помочь отечественным специалистам при создании крупных проектов. Он может служить в качестве основы при формировании конкретных технологий и выборе эффективных инструментальных средств, а также в качестве документа, дисциплинирующего разработчиков и заказчиков при создании требований к ИС и ПС высокого качества. Его положения могут стать базой для формирования учебников и методических руководств по различным аспектам современной методологии и технологии программной инженерии.
С автором статьи можно связаться по телефону: (095) 196-6365.