Назначение профилей стандартов жизненного цикла в программной инженерии
Лекция 2. Профили стандартов жизненного цикла систем и программных средств в программной инженерии
При создании и сопровождении сложных, распределенных, тиражируемых ПС требуется гибкое формирование и применение гармонизированных совокупностей базовых стандартов и нормативных документов разного уровня, выделение в них требований и рекомендаций, необходимых для эффективной реализации конкретных функций систем. Для унификации и регламентирования реализации этих функций, совокупности базовых стандартов должны адаптироваться и конкретизироваться в программной инженерии применительно к определенным классам проектов, их функций, процессов и компонентов. В связи с этим выделилось и сформировалось понятие "профиля стандартов", как основного инструмента функциональной стандартизации.
Профиль стандартов - это совокупность нескольких (или подмножество одного) базовых стандартов (и других нормативных документов) с четко определенными и гармонизированными подмножествами обязательных и факультативных возможностей, предназначенная для реализации заданной функции или группы функций. Функциональная характеристика (заданный набор функций) объекта стандартизации является исходной для формирования и применения профиля этого объекта или процесса. В профиле выделяются и устанавливаются допустимые факультативные возможности и значения параметров каждого базового стандарта и/или нормативного документа, входящего в профиль. Профиль не может противоречить использованным в нем базовым стандартам и нормативным документам. Он должен использовать факультативные возможности и значения параметров в пределах допустимых, выбранные из альтернативных вариантов. На базе одной и той же совокупности базовых стандартов могут формироваться и утверждаться различные профили для разных проектов и сфер применения. Эти ограничения базовых документов профиля и их гармонизация, проведенная разработчиками профиля, должны обеспечивать качество, совместимость и корректное взаимодействие компонентов системы, соответствующих профилю, в заданной области его применения.
Основными целями применения профилей стандартов при создании и применении ПС являются:
- снижение трудоемкости, длительности, стоимости и улучшение других технико-экономических показателей проектов систем и комплексов программ;
- повышение качества разрабатываемых или применяемых покупных компонентов и ПС в целом, при их разработке, приобретении, эксплуатации и сопровождении;
- обеспечение расширяемости ПС по набору прикладных функций и масштабируемости в зависимости от размерности решаемых задач;
- поддержка функциональной интеграции в системах задач, ранее решавшихся раздельно;
- обеспечение переносимости программ и данных между разными аппаратно-программными платформами.
Состояние и развитие стандартизации в области программной инженерии характеризуется следующими особенностями, которые необходимо учитывать при формировании и применении профилей:
- несколько сотен разработанных международных и национальных стандартов не полностью и неравномерно покрывают потребности в стандартизации объектов и процессов создания и применения сложных систем, программных средств и их компонентов;
- большая длительность разработки, согласования и утверждения международных и национальных стандартов (3-5 лет) приводит к их консерватизму, а также к хроническому отставанию требований и рекомендаций этих документов от современного состояния техники и от текущих потребностей практики и технологии создания сложных систем;
- стандарты современных ПС должны: учитывать необходимость их построения как открытых систем; обеспечивать расширяемость при наращивании или изменении выполняемых функций; переносимость программных средств и данных систем между разными аппаратно-программными платформами; возможность взаимодействия с другими информационными системами той же проблемно-ориентированной сферы;
- наиболее сложные и творческие процессы создания и развития крупных распределенных ПС (системный анализ и проектирование, интеграция компонентов и систем, испытания и сертификация) почти не поддержаны требованиями и рекомендациями стандартов, вследствие трудности их формализации, унификации и разнообразия содержания;
- чем сложнее объекты или процессы, подлежащие стандартизации, тем больше необходимо использовать и формулировать предварительных условий, учитываемых в требованиях и рекомендациях стандарта, которые следует адаптировать и конкретизировать для корректного их применения в определенном проекте;
-- пробелы и задержки в подготовке и издании стандартов высокого ранга и текущая потребность унификации и регламентирования современных объектов и процессов в области программной инженерии приводят к созданию и практическому применению многочисленных нормативных и методических документов отраслевого, ведомственного или фирменного уровня.
При практическом формировании и применении профилей ПС в ряде случаев, возможно, использовать национальные стандарты, стандарты де-факто и ведомственные нормативные документы. Это может быть обусловлено отставанием в разработке некоторых задач в международных стандартах или необходимостью учета конкретных особенностей систем. При применении стандартов и профилей могут быть выявлены пробелы в положениях некоторых стандартов и необходимость модификации или дополнения требований, определенных в них. Некоторые функции, не формализованные стандартами, но важные для унификации построения или взаимодействия компонентов могут определяться нормативными документами ведомства или предприятия, обязательными для конкретного профиля и проекта.
Применение стандартизированных профилей позволяет заказчику системы освободиться от зависимости от одного поставщика программных или аппаратных средств за счет выбора этих средств из числа доступных на рынке и соответствующих стандартам, нормативным требованиям и рекомендациям профиля. Применение профилей, относящихся к программным комплексам (функциональным частям систем), облегчает повторное использование в проектируемой системе уже разработанных и проверенных программных компонентов. Профили ПС унифицируют и регламентируют только часть требований и характеристик объектов и процессов, выделенных и формализованных на базе стандартов и нормативных документов. Другая часть функциональных и технических характеристик систем определяется заказчиками и разработчиками творчески, без учета положений нормативных документов.
Профиль стандартов ЖЦ ПС (функциональных частей системы) должен определять архитектуру программного комплекса (модели функций, логические модели данных, внешние интерфейсы) и их структуру (разбиение системы на подсистемы и систем на модули, определение унифицированных интерфейсов взаимодействия между комплексами программ и их компонентами). Жизненный цикл программных средств отражается в профиле стандартов набором: процессов, этапов, частных работ и операций в последовательности их выполнения и взаимосвязи, регламентирующим ведение разработки, сопровождение и эксплуатацию, от анализа и подготовки требований до завершения испытаний ряда версий программного продукта и прекращения их использования. Жизненный цикл включает описания исходной информации, способов и методов выполнения операций и работ, устанавливает требования к результатам и правилам их контроля, а также определяет содержание технологических и эксплуатационных документов. Он определяет организационную структуру коллектива специалистов, регламентирует распределение и планирование работ, а также контроль за ходом разработки. Повышение эффективности разработки, качества программного продукта и производительности труда специалистов достигается за счет:
- регламентации организации и порядка проведения работ;
- автоматизации этапов и операций;
- рационального разделения труда между специалистами разной квалификации и проблемной ориентации.
Профиль ЖЦ ПС конкретной системы должен учитывать её функциональную ориентацию. Он должен содержать ссылки на стандартизированные интерфейсы между комплексом программ и внешней средой, которые описываются в профилях среды системы. Каждый профиль и его параметры для применения в конкретном проекте системы необходимо поэтапно адаптировать и детализировать в соответствии с этапом проекта. Особенности организационных структур, различия в размерах и сложности проектов, в требованиях к системам и применяемым методам их разработки, необходимость преемственности с системами, находящимися в эксплуатации, влияют на организацию разработки, приобретения, применения и сопровождения программных средств. Каждый из выделенных профилей должен для последующего длительного использования пройти стадию формирования, адаптации и параметризации применительно к характеристикам стандартизируемых объектов или процессов.
Для корректного применения описания профилей стандартов должны содержать:
- определение целей, которые предполагается достичь применением данного профиля стандартов;
- перечисление функций продукта или процесса стандартизации, определяемого данным профилем;
- формализованные сценарии применения базовых стандартов и спецификаций, включенных в данный профиль;
- сводку требований к системе или к её компонентам, определяющих их соответствие профилю и требований к методам тестирования соответствия;
- ссылки на конкретный набор стандартов и других нормативных документов, составляющих профиль, с точным указанием используемых положений, редакций и ограничений, способных оказать влияние на достижение корректного взаимодействия объектов стандартизации при использовании данного профиля;
- информационные ссылки на спецификации тестов проверки соответствия профилю.
В зависимости от области распространения профилей они могут иметь разные статусы утверждения:
- профили конкретной системы, определяющие стандартизированные проектные решения в пределах данного проекта и являющиеся частью проектной документации;
- профили, предназначенные для решения некоторого класса прикладных задач, которые распространяются на все системы и ПС данного класса в пределах предприятия или отрасли и утверждаются как стандарты предприятий, ведомственные или государственные стандарты.
Особенности организационных структур, различия в размерах и сложности проектов, требованиях к системам и применяемым методам их разработки, необходимость преемственности с системами, находящимися в эксплуатации, влияют на организацию разработки, приобретения, применения и сопровождения аппаратных и программных средств. Для эффективного применения конкретного профиля необходимо:
- выделить объединенные единой логической связью проблемно-ориентированные области функционирования систем, где могут использоваться стандарты, общие для одной организации или группы предприятий;
- идентифицировать стандарты и нормативные документы, варианты их применения и параметры, которые необходимо включить в профиль стандартов;
- документально зафиксировать участки конкретного профиля, где требуется создание новых стандартов или нормативных документов, и идентифицировать характеристики, которые могут оказаться важными для разработки недостающих стандартов и нормативных документов этого профиля;
- формализовать профиль в соответствии с его категорией, включая стандарты, различные варианты нормативных документов и дополнительные параметры, которые непосредственно связаны с профилем;
- опубликовать профиль и/или продвигать его по формальным инстанциям для дальнейшего распространения на предприятии или в отрасли.