Жизненный цикл профилей стандартов систем и программных средств
Профиль стандартов конкретной системы не является статичным, он развивается и конкретизируется (возможно, во взаимодействии с заказчиком) в процессе жизненного цикла и оформляется в составе документации системы. Разработка и применение профилей стандартов являются органической частью процессов жизненного цикла, разработки и развития систем. Проектированию системы предшествует обследование объекта автоматизации, результатом которой являются его функциональная и информационная модели, определение целей создания системы и состава ее функций. Стандарты, важные с точки зрения заказчика, должны задаваться в спецификации требований на проектирование системы и составлять ее первичный профиль. То, что не задано в требованиях заказчика, остается первоначально на усмотрение разработчика системы, который, руководствуясь требованиями спецификаций, может дополнять и развивать профили, которые согласуются с заказчиком. В профиль конкретной системы включаются спецификации стандартизации компонентов, разработанных в составе данного проекта, и спецификации использованных готовых программных и аппаратных средств, если эти средства не специфицированы соответствующими стандартами. После завершения проектирования и испытаний системы, в ходе которых проверяется ее соответствие профилю, профиль применяется как основной инструмент сопровождения системы при эксплуатации, модернизации и управлении конфигурацией.
Рис. 2.1. Группы профилей систем
Целесообразно рассматривать две группы профилей систем (рис. 2.1):
— функциональные профили, регламентирующие архитектуру и структуру объектов системы и ее компонентов; функции, интерфейсы и протоколы взаимодействия, форматы данных;
— технологические профили, регламентирующие процессы проектирования, разработки, применения, сопровождения и развития систем и их компонентов.
На этапах жизненного цикла системы выбираются и затем применяются общесистемные функциональные профили:
— профиль жизненного цикла информационной системы;
— профиль аппаратной и операционной среды системы;
— профиль внешней и пользовательской среды функционирования ПС;
— профиль обеспечения безопасности функционирования и защиты информации в системе;
— профиль инструментальных средств, поддерживающих весь жизненный цикл системы.
При применении функциональных профилей системы следует иметь в виду согласование (гармонизацию) этих профилей между собой. Необходимость такого согласования возникает, в частности, при применении стандартизированных интерфейсов, в том числе интерфейсов ПС и БД со средой их функционирования, интерфейсов со средствами защиты информации. При согласовании функциональных профилей возможны также уточнения профиля внешней среды системы и профиля инструментальных средств создания, сопровождения и развития программных средств.
Детализация общесистемных профилей стандартов производится по мере декомпозиции структуры системы на составляющие ее компоненты. Выбор и применение этих профилей является органической частью процессов проектирования, разработки, сопровождения и развития сложных систем. Их применение включает процессы:
— выбор аппаратной и операционной среды системы определенного класса;
— определение внешней и пользовательской среды функционирования и применения системы;
— подготовку административного управления системой качества;
— выбор готовых программных и аппаратных средств, соответствующих функциям и профилям системы;
— проектирование и разработка программных средств и баз данных (функциональных частей системы) в соответствии с выбранными профилями, в частности в соответствии со стандартами на интерфейсы;
— разработка требований к методам тестирования компонентов системы на соответствие функциональным профилям, выбор или разработка тестов соответствия;
— тестирование компонентов системы на соответствие профилям или проверка сертификатов соответствия для применяемых готовых программных и аппаратных средств;
— комплексирование компонентов в создаваемой системе на основе последовательного применения профилей и их квалификационного тестирования.
Применение функциональных профилей должны поддерживать основные, технологические профили (рис. 2.1):
— жизненного цикла программных средств и баз данных;
— обеспечения качества программных средств и информации баз данных;
— верификации, тестирования и сертификации ПС и БД;
— сопровождения и управления конфигурацией ПС и информацией БД;
— документирования программных средств и информации баз данных.
Быстро оснащающиеся различными методами и средствами автоматизации этапы системного анализа, моделирования и предварительного проектирования не позволяют стабилизировать основу этих процессов, достаточную для их полной формализации для любых систем на уровне международных стандартов. Поэтому для этих этапов могут создаваться и применяться профили ЖЦ ПС как проблемно-ориентированные совокупности нормативных документов и методических руководств, отражающие как наиболее современные методы, так и фрагменты действующих стандартов, в том числе стандартов «де-факто».
Отдельные внутренние этапы жизненного цикла компонентов и комплексов программ обеспечиваются группами стандартов на локальные процессы, определяющие:
— языки и процессы программирования программных компонентов;
— визуализацию информации для пользователей и обеспечения управления жизненным циклом ПС;
— защиту информационных ресурсов от несанкционированных вмешательств и криптографии;
— телекоммуникацию и взаимодействие с внешней средой.
Эта группа стандартов непосредственно определяет инструментальные средства решения соответствующих задач, и в процессах жизненного цикла ПС обычно стабильны, не изменяются и не раскрываются ниже в профилях ЖЦ.
Учитывая динамику формирования и применения профилей жизненного цикла ПС, по мере детализации структуры системы и ее возможного развития образуется жизненный цикл профилей стандартов. Жизненный цикл профилей ПС целесообразно рассматривать в составе технологических работ проекта отдельно от этапов и работ непосредственной разработки и эксплуатации самих программных средств и баз данных. Создание и применение профилей жизненного цикла ПС можно разделить на два крупных процесса (рис. 2.2):
— разработка, формирование и адаптация профилей стандартов ЖЦ ПС для использования в конкретном проекте системы;
— непосредственное применение требований и рекомендаций каждого адаптированного профиля стандартов для регламентирования этапов, работ и документов проекта ПС.
При создании ПС профили стандартов развиваются и детализируются параллельно с конкретизацией проекта. Они должны обеспечивать соответствующую часть технологической поддержки разработки комплекса программ нормативными документами. Таким образом, жизненный цикл профилей в некоторой степени подобен жизненному циклу самих программных средств и баз данных. Завершение разработки профилей стандартов системы и оформление результатов должно опережать, обеспечивать и подготавливать выполнение соответствующих этапов и работ основного жизненного цикла комплекса программ.
Процессы жизненного цикла, развития системы и ее программных компонентов должны быть поддержаны этапами развития и применения комплекта профилей, которые включают:
— системный анализ объекта информатизации и создания концепции системы, когда производится первичный выбор исходного комплекта стандартов, которым должна соответствовать система; выявляется необходимость разработки и состав дополнительных нормативных документов;
Рис. 2.2. Создание и применение профилей жизненного цикла ПС
— проектирование системы, когда определяются требования к ее архитектуре и структуре и соответственно уточняются положения, параметры и адаптируются стандарты комплекта профилей; оформляются проекты документов и методических руководств по применению рабочей версии каждого профиля стандартов;
— разработку или приобретение готовых компонентов системы, при этом утверждаются и применяются все положения профиля; производятся контроль, тестирование и испытания компонентов на соответствие требованиям и документам конкретного профиля стандартов;
— сопровождение, актуализацию и развитие системы, когда анализируются положения, параметры и результаты адаптации применяемой версии каждого профиля; выявляются и устраняются дефекты профилей;
— модернизацию профиля, с учетом появления более совершенных технических и программных средств, а также новых стандартов; при необходимости осуществляется формирование, документирование и внедрение новой модифицированной и уточненной версии соответствующего профиля.
В общем случае созданию профилей жизненного цикла системы должно предшествовать обследование объекта информатизации, для которого предполагается создавать систему. Результатами работ на этом этапе являются функциональная и информационная модели, а также спецификации требований, которые служат в качестве исходных данных для проектирования системы и ПС. Целесообразно, чтобы эти модели и спецификации требований были выполнены с помощью формализованных методов их описания, например, с использованием средств описания моделей в известных методологиях структурного проектирования и языков спецификаций. В спецификации должны быть определены требования к жизненному циклу системы, даны ссылки на действующие нормативные документы и определена предварительная структура профиля стандартов жизненного цикла. Следует задать требования к качеству системы и, соответственно, первичный профиль обеспечения качества комплекса программ и данных, функциональные требования к системе — состав решаемых задач и ссылки на нормативные документы, которые регламентируют правила и процедуры выполнения функций и операций.
На этапе системного анализа при планировании профиля технологической поддержки разработки ПС следует проанализировать набор базовых международных стандартов, связанных с регламентированием особенностей систем и программных средств. Для поддержки жизненного цикла разрабатываемых ПС необходимо из них выбрать предварительный набор стандартов, в наибольшей степени относящихся к ПС данного класса. Этот набор стандартов может быть дополнен возможными и целесообразными для применения стандартами де-факто и перечнем подлежащих разработке нормативных документов данного проекта. В результате формируется предварительный перечень стандартов и нормативных документов, который должен стать основой для профилей ЖЦ ПС. Этот перечень должен быть указан в спецификации требований или войти в состав системного проекта комплекса программ.
Одним из преимуществ от разработки и внедрения профиля стандартов для большой организации-пользователя является то, что он обеспечивает совершенствование взаимосвязей, особенно между разными подразделениями, которым необходимы гарантии того, что их системы будут корректно взаимодействовать, а ключевые программные средства и данные будут переносимы между платформами, полученными от разных поставщиков. На этапе определения области применения профиля должны быть выявлены:
— направления деятельности предприятия, подлежащие учету при построении профиля;
— срок реализации профиля и контрольная дата, когда работа над профилем должна быть завершена;
— технические стратегии, предположения и ограничения проекта системы и ПС;
— опытный и энергичный лидер, который пользуется в предприятии уважением и авторитетом, достаточным для того, чтобы возглавить и довести до конца работу по созданию и утверждению профиля стандартов проекта системы и ПС;
— уровень компетентности коллектива, разрабатывающего профиль, его знания и пригодность к экспертизе проекта и деятельности предприятия.
На этапе проектирования профиля ПС уточняются жизненный цикл и основные характеристики проекта. Это позволяет селектировать перечень стандартов и нормативных документов, целесообразных для использования в профилях ЖЦ данного ПС, провести их адаптацию для применения с учетом характеристик проекта, методологии и технологии создания ПС, а также предполагаемых средств автоматизации разработки, сопровождения и управления конфигурацией комплекса программ. На этом этапе описываются как функциональные, так и технические требования, устанавливаемые в профиле.
В уточненном плане реализации системы должны быть представлены ссылки на состав и содержание документов каждого профиля, выделены компоненты, параметры и ограничения, сформированные в процессе адаптации профиля ЖЦ данного ПС. Для разработчиков и заказчиков на этом этапе должен быть создан проект руководства применения профилей на последующих этапах ЖЦ. В результате на этом этапе формируется проект адаптированного набора профилей. Необходимо провести предварительное обучение разработчиков проекта применению профилей ЖЦ ПС и основным концепциям профилей для данной системы. Конкретизация обеспечения технологической поддержки последующей разработки ПС позволяет завершить и утвердить адаптированные профили, поддерживающие ЖЦ ПС, а также руководства по их применению. Результатом этого процесса является определение стандартов и выбор интерфейсов, которые удовлетворяют требованиям, предъявляемым к системе в целом.
Этап разработки системы и комплекса программ связан, прежде всего, с программированием и тестированием компонентов ПС, которые создаются заново для данной системы. Одновременно создаются функциональные тесты для проверки выполнения компонентами заданных функций. Разработка программных средств и их компонентов производится с помощью инструментальных средств, отвечающих требованиям выбранного ранее профиля методологии и технологии. Системные, аппаратные и программные средства необходимо проверять на соответствие функциональным и эксплуатационным требованиям профилей. Если закупленные продукты или платформы уже прошли у поставщика тестирование на соответствие профилям, процедура тестирования у потребителя может быть несколько сокращена при условии, что нет проблем с несоответствием архитектуры стандартам. Состав и содержание применяемых документов профилей ЖЦ ПС должны быть тесно связаны с планом и перечнем работ, выполняемых на соответствующих этапах. В обязательных документах должно быть также отражено содержание дополнительных нормативных документов, согласуемых с заказчиком.
На этапе внедрения профиля стандартов важно иметь план по его применению. Руководители высшего уровня должны установить приоритеты при реализации отдельных частей и требований профиля. Внедрение профиля в соответствии с задачами проекта или предприятия будет упрощено, если ключевые цели обеспечения функциональной совместимости будут четко документированы в профиле. План внедрения профиля должен быть действующим документом и постоянно актуализироваться по мере изменения проекта.
Для обеспечения корректного применения каждого профиля должна быть разработана и утверждена методика проверки и тестирования для установления степени соответствия комплекса программ утвержденному профилю ЖЦ ПС и БД. Содержание и рекомендации профилей ЖЦ должны быть освоены специалистами, осуществляющими контроль их выполнения и тестирование создаваемого комплекса программ. Отдельные компоненты профиля подлежат тестированию как с точки зрения соответствия необходимым стандартам, так и соответствия требованиям, сформулированным в терминах их характеристик качества. Тестирование на соответствие не гарантирует функциональной совместимости, оно представляет лишь тест на соответствие набору тестовых утверждений, содержащихся в стандарте. Поведение объекта отслеживается и сравнивается с ожидаемым результатом эталонной реализации.
После детального проектирования версии ПС все последующие работы по созданию комплекса программ, вплоть до завершения испытаний и сертификации, должны проводиться в соответствии с утвержденными профилями ЖЦ ПС, руководствами по их применению и проверяться на соответствие профилям по утвержденным методикам тестирования. Для этого должны быть созданы план, перечень и содержание работ, в которых применяются конкретные фрагменты, определенные положения каждого профиля и разделы методики, по которым тестируется соответствие версии ПС данному профилю. Наиболее полная проверка соответствия утвержденному профилю производится в процессе испытаний комплекса программ. В акте по результатам испытаний кроме всех характеристик версии программного продукта должно быть отражено соответствие профилям стандартов в той их части, которая непосредственно влияет на характеристики версии программного продукта. Кроме того, должны быть обобщены и представлены результаты применения утвержденных профилей ЖЦ ПС в процессе создания данной версии комплекса программ.
При сопровождении программного продукта и создании его новых версий накапливается опыт применения каждого использованного профиля стандартов ЖЦ, проявляются его некоторые недостатки и появляются предложения по модернизации. На этой стадии профиль продолжает выполнять регламентирующую функцию в качестве инструмента для управления конфигурацией системы. На этапе сопровождения профиль превращается в документ, позволяющий установить план текущих и долгосрочных мероприятий по развитию инфраструктуры предприятия и внедрению новых систем. Кроме того, в течение времени эксплуатации созданной версии программного продукта возможно появление новых стандартов де-юре и де-факто, которые целесообразно учесть в конкретном профиле. Сопровождение и смена версий ПС может привести к необходимости корректировки и модернизации конкретного профиля ЖЦ системы. Такая модернизация профиля может отразиться не только на вновь создаваемых версиях ПС, но потребовать доработок уже эксплуатируемых версий.
Жизненный цикл профиля стандартов ПС при его сопровождении может в некоторой степени повторять ЖЦ системы и/или ПС, созданных с его применением. Для этого следует разработать или выбрать и утвердить Руководство по сопровождению, развитию и модификации профиля ЖЦ ПС, а также методики и план управления конфигурациями версий профиля, включающие:
— правила и процедуры идентификации компонентов и версий профиля стандартов;
— методики сбора, накопления и обработки сообщений о предлагаемых изменениях профиля;
— методики корректировки и извещения пользователей о выполненных изменениях в профиле, влияющих на характеристики качества программного продукта;
— методики и руководства по поддержке сохранности и адекватности документации и средств, реализующих требования и рекомендации профиля;
— руководство по вводу очередной версии профиля стандартов ЖЦ
ПС.
При применении профилей следует обеспечить проверку корректности их использования путем тестирования, испытаний и сертификации, для чего должна быть создана технология контроля и тестирования в процессе применения профиля специалистами. Она должна быть поддержана совокупностью методик, инструментальных средств, составом и содержанием оформляемых документов на каждом этапе обеспечения и контроля корректности применения соответствующей версии и положений профиля. Профили должны определяться таким образом, чтобы тестирование их реализации можно было осуществлять по возможности наиболее полно, по стандартизированной методике. При сертификации сложных систем как специальный вид испытаний целесообразно выделять сертификацию на соответствие профилям:
— процессов жизненного цикла системы и основных компонентов ПС и БД;
— продуктов и компонентов системы, подготовленных и рекомендуемых для эксплуатации и сопровождения.
В ряде случаев производится перенос разработанного программного продукта с инструментальной платформы разработчика системы на реальную — целевую платформу применения ПС. При этом проверяется соответствие реальной платформы требованиям функциональных профилей системы и функционирование ПС на реальной платформе. Этап внедрения предполагает адаптацию и настройку программного продукта на реальные условия эксплуатации, для которых он создавался. Приемочные испытания ПС должны проводиться в условиях реальной эксплуатации на соответствие спецификациям функциональных требований и требованиям полного профиля ПС, который был сформирован в процессе создания системы.
Последующая детализация требований и положений профилей должна проводиться с ориентацией на унификацию конкретных процессов, работ и документов версий программного продукта определенного функционального назначения. Можно выделить следующие основные группы специалистов, использующие документы профилей:
— руководители — менеджеры крупного проекта системы и ее основных, функциональных компонентов программного продукта;
— менеджеры — системные аналитики, создатели спецификаций требований, пилотных проектов компонентов и алгоритмов решения функциональных задач;
— программисты-разработчики программных компонентов, структур и содержания данных;
— интеграторы функциональных программных компонентов, тестирующие и отлаживающие крупные функциональные компоненты или ПС в целом;
— специалисты сопровождения и управления конфигурацией версий программных продуктов;
— испытатели и сертификаторы программных продуктов;
— разработчики технологии, инструментальных средств, методических, руководящих и инструктивных документов, обеспечивающих реализацию профилей стандартов ЖЦ ПС.
Для деятельности перечисленных выше категорий специалистов на базе профилей должен быть создан комплект документов, каждый из которых имеет конкретных пользователей в жизненном цикле ПС. В них должно быть отражено:
— содержание и описание выбранных положений и разделов стандартов и нормативных документов профиля с позиции его конкретного пользователя;
— параметры адаптации разделов стандартов профиля и содержание дополнительных нормативных документов;
— методика и сценарии корректного применения всех обязательных и рекомендуемых положений профиля стандартов;
— требования к содержанию отчетов о результатах контроля и тестирования компонентов системы на соответствие обязательным положениям профиля стандартов в процессе их жизненного цикла.