В России создание и испытания систем, которые включают ПС и БД, регламентированы небольшой группой ГОСТов. В области обеспечения жизненного цикла и качества сложных комплексов программ существует и применяется группа стандартов ГОСТ ЕСПД, которые отстают от мирового уровня на 5 – 8 лет. В них создание, сопровождение и совершенствование программных средств отражены недостаточно, а многие их положения устарели с точки зрения построения современных распределенных комплексов прикладных программ высокого качества в системах управления и обработки данных с различной архитектурой. Поэтому в отечественных разработках целесообразно использовать апробированные международные стандарты в этой области. В экспортных заказах зарубежные клиенты требуют соответствия методов и технологии проектирования, производства и качества продукции современным международным стандартам, которые необходимо осваивать и применять для обеспечения конкурентоспособности отечественных программных продуктов на мировом рынке. Поэтому ряд современных международных стандартов в области программных средств полностью и аутентично переведен на русский язык и утвержден в ранге ГОСТ Р для непосредственного использования предприятиями России.
Особенности организационных структур, различия в размерах и сложности проектов, в требованиях к системам, а также в применяемых методах их разработки, необходимость преемственности с унаследованными системами, находящимися в эксплуатации, влияют на организацию разработки, приобретения, применения и сопровождения аппаратных и программных средств. При создании и развитии сложных, распределенных, тиражируемых ПС целесообразно гибкое формирование и применение гармонизированных совокупностей базовых стандартов и нормативных документов разного уровня, выделение в них требований и рекомендаций, необходимых для реализации заданных функций ПС и обеспечения их высокого качества. Для унификации и регламентирования процессов ЖЦ ПС такие совокупности стандартов должны адаптироваться и конкретизироваться применительно к определенным классам проектов, процессов и компонентов ПС. В связи с этим выделилось и сформировалось понятие профилей стандартов [1, 5, 6].
Жизненный цикл современных систем поддерживается рядом профилей стандартов, которые регламентируют крупные объекты и процессы их создания: вычислительных средств, телекоммуникации, визуализации, программных средств и баз данных. В данной статье аппаратные средства не рассматриваются, внимание сосредоточено на профилях, в той или иной степени поддерживающих этапы ЖЦ и качество сложных ПС. Профили ПС унифицируют и регламентируют часть требований, характеристик, показателей качества объектов и процессов, формализованных на базе стандартов и нормативных документов. Другая часть функциональных и специфических характеристик ПС определяется заказчиками и разработчиками творчески, без учета положений нормативных документов. В жизненном цикле ПС можно выделить две группы профилей ПС:
- профили, регламентирующие процессы ЖЦ и системы обеспечения качества проектирования, разработки, применения, сопровождения и совершенствования ПС и их компонентов;
- профили, регламентирующие объекты: архитектуру и структуру ПС и их компонентов – функции, интерфейсы и протоколы взаимодействия, форматы данных.
Базовый профиль ЖЦ ПС ориентирован на использование участниками проекта ПС – разработчиками и заказчиками, и адаптированные требования его стандартов должны быть обязательными для всех специалистов проекта. Поэтому в его состав входят наиболее общие стандарты и нормативные документы, определяющие весь ЖЦ ПС и его качество. Ниже приведены аннотации основных стандартов базового профиля с акцентом на фрагменты, в наибольшей степени влияющие на качество ПС. Остальные профили должны применяться специалистами в соответствии с их ролью в проекте и особенностями конкретного ПС. Базовый профиль стандартов жизненного цикла комплексов программ поддерживает и детализирует методологию CMMI (Capability Maturity Model Integration) – систему и модель оценки зрелости технологических процессов создания и развития сложных программных средств [3, 4, 7].
При планировании и подготовке технологической поддержки создания комплекса программ на этапе проектирования ПС уточняется его жизненный цикл и основные характеристики проекта. Это позволяет выделить и адаптировать базовые стандарты системы качества и основные стандарты для ЖЦ программных средств. После этого следует селектировать стандарты и нормативные документы системы качества, выделяя рекомендации, целесообразные для использования в профилях ЖЦ данного ПС, провести их адаптацию для применения с учетом характеристик проекта, методологии и технологии создания комплекса программ, а также предполагаемых инструментальных средств автоматизации его проектирования и разработки. На этом этапе должны быть выбраны, разработаны или приобретены нормативные документы, руководства и инструкции, дополняющие базовые стандарты ЖЦ ПС, с целью полного определения и регламентирования набора профилей для применения специалистами, участвующими в проекте.
В уточненном плане реализации и обеспечения ЖЦ проекта ПС должны быть представлены ссылки на состав и содержание документов каждого профиля, выделены компоненты, параметры и ограничения, сформированные в процессе адаптации базового профиля ЖЦ данного ПС. Для разработчиков и заказчиков ПС должны быть созданы руководства по применению профилей на этапах ЖЦ. На этапе предварительного проектирования, в частности, целесообразно формировать проект адаптированного профиля жизненного цикла и системы качества программного средства.
Широкое многообразие классов и видов программ, обусловленное различными функциями систем, определяет формальные трудности, связанные с методами и процедурами доказательства соответствия ПС условиям контрактов и требованиям потребителей. По мере расширения применения и увеличения сложности систем выделились области, в которых ошибки или недостаточное качество программ или данных могут нанести ущерб, значительно превышающий положительный эффект от их использования. В этих критических случаях недопустимы аномалии и дефекты функционирования программного продукта при любых искажениях исходных данных, сбоях и частичных отказах аппаратуры и других нештатных ситуациях. Проблема удостоверения достигнутого качества функционирования сложных ПС и методов обеспечения их жизненного цикла базируется на сертификации аттестованными проблемно-ориентированными испытательными лабораториями. Применение сертифицированных систем качества на предприятиях-разработчиках и профилей стандартов не только гарантирует высокое, устойчивое качество процессов обеспечения жизненного цикла ПС, но позволяет во многих случаях не проводить или сокращать сертификацию конечного программного продукта. Основой сертификации должны быть детальные и эффективные методики испытаний конкретных ПС, специально разработанные тестовые задачи и генераторы для их формирования, а также квалификация и авторитет испытателей. Для этого заказчики должны выбирать подрядчиков-исполнителей своих проектов, имеющих системы обеспечения качества программных средств и сертификаты, удостоверяющие реализацию и применение системы качества предприятием-разработчиком.
Особенности стандартизации жизненного цикла программных средств
Термином жизненный цикл (ЖЦ) принято отражать совокупность процессов и этапов развития организмов живой природы, технических систем, продуктов производства от моментов зарождения или появления потребности их создания и использования до прекращения функционирования или применения. Это соответствует всеобщему закону развития любых изделий, событий или процессов между их началом и концом. Программы для вычислительных машин обычно являются компонентами жизненного цикла технических систем, но по своей природе значительно отличаются от аппаратных, технических изделий, поэтому их жизненный цикл имеет характерные особенности, по сравнению с другими техническими объектами. Программы и данные в системах и вычислительных машинах являются наиболее гибкими компонентами и подвержены изменениям в течение всего их ЖЦ. По особенностям и свойствам жизненного цикла программ их целесообразно делить на ряд классов и категорий, из которых наиболее различающимися являются два крупных класса – малые и большие программы.
Первый класс составляют относительно небольшие программы, создаваемые одиночками или небольшими коллективами (3 -5 специалистов). Эти программы:
- не предназначены для массового тиражирования и распространения в качестве программного продукта на рынке, их оценивают качественно и интуитивно преимущественно как «художественные произведения»;
- не имеют конкретного независимого заказчикапотребителя, определяющего требования к программам и их финансирование;
- не ограничиваются заказчиком жестко допустимой стоимостью, трудоемкостью и сроками их создания, требованиями заданного качества и документирования;
- создаются преимущественно для получения конкретных результатов автоматизации научных исследований или для анализа относительно простых процессов самими разработчиками программ;
- не подлежат независимому тестированию, гарантированию качества и/или сертификации;
- создаются преимущественно для обучения программированию без применения формализованных требований к функциям и допустимым затратам, без индустриальных технологий и стандартов на проектирование и разработку.
Для таких, а также для многих других видов относительно несложных программ, нет необходимости в регламентировании и автоматизации их жизненного цикла, в длительном применении и сопровождении множества версий, в формализации и применении профилей стандартов и сертификации качества программ. Их разработчики не знают и не применяют регламентирующих, нормативных документов, вследствие чего жизненный цикл таких изделий имеет непредсказуемый характер по структуре, содержанию, качеству и стоимости основных процессов «творчества».
Второй класс составляют крупномасштабные комплексы программ для сложных систем управления и обработки информации, оформляемые в виде программных продуктов с гарантированным качеством, и отличающиеся следующими особенностями и свойствами их жизненного цикла:
- большая размерность, высокая трудоемкость и стоимость создания таких комплексов программ определяют необходимость тщательного анализа экономической эффективности всего их жизненного цикла и возможной конкурентоспособности на рынке;
- от заказчика, финансирующего проект программного средства (ПС) и базы данных (БД), разработчикам необходимо получать квалифицированные конкретные требования к функциям и характеристикам проекта и продукта, соответствующие выделенному финансированию и квалификации исполнителей проекта;
- для организации и координации этой деятельности специалистов-разработчиков при наличии единой крупной целевой задачи создания и совершенствования программного продукта, необходимы квалифицированные менеджеры проектов;
- в проектах сложных программных средств и баз данных с множеством различных функциональных компонентов участвуют специалисты разной квалификации и специализации, от которых требуется высокая ответственность за качество результатов деятельности каждого из них;
- от разработчиков проектов требуются гарантии высокого качества, надежности функционирования и безопасности применения компонентов и поставляемых программных продуктов, в которые недопустимо прямое вмешательство заказчика и пользователей, не предусмотренное эксплуатационной документацией разработчиков;
- необходимо применять индустриальные, регламентированные стандартами процессы, этапы и документы, а также методы, методики и средства автоматизации, регламентированные технологии обеспечения жизненного цикла комплексов программ.
Такие крупномасштабные комплексы программ являются компонентами систем, реализующими обычно их основные функциональные свойства, увеличивающими сложность и создающими предпосылки для последующих изменений их жизненного цикла. Реализация ЖЦ, методологии управления и изменения ПС и БД зависит от многих факторов, от персонала, технических, организационных и договорных требований и сложности проекта. Множество текущих состояний и модификаций компонентов сложных ПС и БД необходимо упорядочивать, контролировать их развитие и применение участниками проекта. Организованное, контролируемое и методичное отслеживание динамики изменений в жизненном цикле программ и данных, их слаженная разработка при строгом учете и контроле каждого изменения, является основой эффективного, поступательного развития каждой крупной системы.
В жизненном цикле сложных комплексов программ участвуют специалисты различной квалификации и степени ответственности за результаты своей деятельности:
- заказчики определяют и несут ответственность за финансирование, требования к функциям и качеству программного продукта и за доступные ресурсы для обеспечения его жизненного цикла;
- разработчики отвечают и гарантируют выполнение требований заказчиков в жизненном цикле программного продукта с учетом выделенных ресурсов;
- пользователи имеют право применять программный продукт и адаптировать его к особенностям использования и внешней среды только в пределах, определенных эксплуатационной документацией, созданной разработчиками.
Попытки пользователей применения или изменения высококачественного программного продукта, прошедшего квалификационные или сертификационные испытания и соответствующего требованиям заказчиков, за пределами, регламентированными документацией разработчиков, могут приводить к ликвидации гарантий и обязанностей его обслуживания разработчиками. В подобных ситуациях корректировки пользователями обычно не могут учесть все свойства и особенности сложного ПС, вследствие чего требуется их повторное квалификационное тестирование.
Основная цель современных технологий поддержки ЖЦ ПС состоит в обеспечении экономической, технической и социальной эффективности всего жизненного цикла комплексов программ для ЭВМ в различных проблемно-ориентированных областях. В понятие современной технологии включается совокупность методов и инструментальных средств автоматизации, а также технологические процессы, обеспечивающие жизненный цикл сложных ПС с заданными функциональными и конструктивными характеристиками качества. Для этого рекомендуется использовать наиболее эффективные и совершенные методы и проводить комплексную автоматизацию обеспечения всего ЖЦ ПС. Целеустремленная деятельность разработчиков-поставщиков должна быть направлена на удовлетворение требований заказчиков и пользователей программных продуктов при их применении по прямому назначению.
Эта деятельность регламентируется рядом методов и стандартов, которые являются компонентами технологического обеспечения сложных ПС в течение их жизненного цикла. Их применение предполагает высокую дисциплину и проектировочную культуру коллективов специалистов, использование ими методик, стандартов, типовых нормативных документов и средств автоматизации разработки, которые регламентируют порядок организации и проведения работ по выполнению технологических операций, направленных на получение в имеющихся организационно-технических условиях готового программного продукта с заданными функциями и качеством.
Методической основой технологии ЖЦ ПС, регламентирующей деятельность специалистов, является типовой технологический процесс. Он отражается набором этапов и операций в последовательности их выполнения и взаимосвязи, обеспечивающих упорядоченное ведение работ на всех стадиях от инициирования проекта и подготовки технического задания до завершения испытаний или применения версии ПС. Индустриализация технологий создания ПС базируется на стандартизации процессов разработки программ, их структурного построения и интерфейсов с операционной и внешней средой. Для этого с самого начала разработки должны определяться состав и этапы работ, необходимые для достижения конечной цели, а также требуемые для их выполнения ресурсы. Технические и управленческие проверки, анализ качества результатов промежуточных работ и компонентов, а также корректности их взаимосвязей должны обеспечивать руководителям и всем разработчикам уверенность в достижении требуемого конечного результата проекта. Методология обеспечения качества ПС поддержана рядом методических документов и инструментальных средств, а также формализована группой международных стандартов. Концептуальные и организационные основы административного управления жизненным циклом и качеством ПС определены в восьми базовых принципах, которые декларированы в стандартах ISO 9000:2000 и ISO 15504:1-9:1998 и составляют основу технологических процессов в этих стандартах [4].
Принцип 1 – ориентация предприятия-разработчика на потребителя-заказчика. Предприятия зависят от своих потребителей и, следовательно, должны понимать текущие и будущие потребности потребителей-заказчиков, удовлетворять их требования и стремиться превзойти их ожидания.
Принцип 2 – лидерство-руководство. Лидеры обеспечивают единство назначения и направления деятельности предприятия. Они должны создавать и поддерживать внутреннюю окружающую среду, в которой специалисты могут в полной мере участвовать в достижении стратегических целей предприятия.
Принцип 3 – вовлечение персонала. Люди составляют основу предприятия на всех уровнях, и их полноценное участие в деятельности способствует применению их способностей на благо целей предприятия.
Принцип 4 – процессный подход. Желаемый результат достигается более эффективно, когда требуемые ресурсы и деятельность специалистов предприятия управляются как единый связанный процесс.
Принцип 5 – системный подход к административному управлению. Выявление и понимание задач и административное управление системой взаимосвязанных процессов для заданной стратегической цели повышает эффективность и результативность предприятия.
Принцип 6 – постоянное усовершенствование. Непрерывное усовершенствование процессов и повышение качества продукции должно быть постоянной стратегической целью предприятия и его специалистов.
Принцип 7 – подход к принятию решений, основанный на фактах. Эффективные решения должны базироваться на анализе только реальных данных и достоверной информации.
Принцип 8 – взаимовыгодные отношения с поставщиками. Предприятие-пользователь и его поставщики-разработчики взаимозависимы, взаимовыгодные отношения между ними повышают способность обоих производить качественную продукцию.
Соблюдение этих принципов способствует повышению управленческой культуры, применению системы административного управления качеством во всех видах деятельности предприятий и, как следствие, обеспечению конкурентоспособности создаваемой продукции, проектов и систем. Каждый из этих принципов рекомендуется применять при:
- формулировке политики и стратегии обеспечения всего ЖЦ ПС;
- выборе целей проекта и плановых характеристик качества ПС, непосредственно связанных с потребностями и ожиданиями заказчиков и потребителей;
- управлении операциями в процессе реализации проекта для удовлетворения требований заказчика и потребителей;
- управлении ресурсами и специалистами предприятия для обеспечения жизненного цикла ПС и его качества.
Достижение высокого качества комплексов программ существенно зависит от технологии и инструментальных средств, используемых разработчиками для обеспечения ЖЦ ПС. Оценивание достоинств технологической базы ЖЦ позволяет прогнозировать возможное качество ПС и ориентировать заказчика и пользователей при выборе для определенного проекта разработчика и поставщика с требуемыми характеристиками. Поэтому определение уровня технологической поддержки процессов жизненного цикла, организационного и инструментального обеспечения ПС, непосредственно связано с оцениванием реальных или возможных характеристик качества конкретного комплекса программ.
В современных автоматизированных технологиях создания и совершенствования сложных программных средств с позиции обеспечения их качества можно выделить базовые методы и средства, позволяющие:
- создавать программные модули и функциональные компоненты гарантированного качества;
- предотвращать дефекты проектирования за счет систем обеспечения качества, эффективных технологий и инструментальных средств автоматизации всего жизненного цикла комплексов программ и баз данных;
- обнаруживать и устранять различные дефекты и ошибки проектирования, разработки и сопровождения программ путем верификации и систематического тестирования на всех этапах жизненного цикла ПС;
- удостоверять достигнутые значения качества функционирования ПС в процессе их испытаний и сертификации перед передачей в регулярную эксплуатацию пользователям.
Комплексное, скоординированное применение этих методов, стандартов и средств в процессе создания, развития и применения ПС позволяет исключать многие виды дефектов или значительно ослаблять их влияние. Тем самым уровень качества ПС становится предсказуемым и управляемым, непосредственно зависящим от ресурсов, выделяемых на его достижение, а главное, от системы качества и эффективности технологии, используемых на всех этапах жизненного цикла ПС. Основными целями упорядочивания, регламентирования процессов и применения стандартов в жизненном цикле программных средств являются:
- снижение трудоемкости, длительности процессов, стоимости и улучшение других технико-экономических показателей проектов программных продуктов;
- повышение качества разрабатываемых и/или применяемых компонентов и программных средств в целом при их приобретении, разработке, сопровождении и эксплуатации;
- обеспечение возможности расширять ПС по набору прикладных функций и масштабировать комплекс программ в зависимости от изменения размерности решаемых задач;
- обеспечение переносимости прикладных программ и данных между разными аппаратными и операционными платформами и повторного использования программных компонентов.
Применение стандартов жизненного цикла позволяет ориентироваться на построение систем и комплексов программ из крупных функциональных узлов, отвечающих требованиям стандартов, применять отработанные и проверенные проектные решения. Они определяют унифицированные интерфейсы взаимодействия компонентов таким образом, что разработчику системы не требуется вдаваться в детали их внутреннего устройства. Стандарты, относящиеся к программным комплексам (функциональным частям) систем, облегчают повторное использование в новых системах готовых и апробированных программных продуктов. Для унификации и регламентирования процессов ЖЦ ПС такие совокупности (профили) стандартов должны адаптироваться и конкретизироваться применительно к определенным классам проектов, процессов и компонентов ПС. Разработка программного продукта, в значительной степени, может сводиться к их интеграции и комплексированию из стандартизированных компонентов.
Методы и процессы регламентирования жизненного цикла ПС играют стабилизирующую и организующую роль во всем жизненном цикле многих сложных систем. Они обеспечивают:
- расширение и совершенствование функций систем и компонентов с сохранением их целостности и первичных затрат;
- систематическое повышение качества функционирования комплексов программ и баз данных, решения задач пользователей в различной внешней среде;
- улучшение технико-экономических характеристик применения систем и программных продуктов;
- совершенствование технологий обеспечения жизненного цикла сложных систем и комплексов программ.
Для этого при создании и сопровождении сложных, распределенных систем, формировании их архитектуры, выборе программных компонентов и их связей целесообразно учитывать ряд современных концептуальных требований формирования их жизненного цикла:
- архитектура комплекса программ должна соответствовать текущим и перспективным целям и стратегическим функциональным задачам создаваемой системы, быть достаточно гибкой и допускать относительно простое, без коренных структурных изменений, развитие и наращивание функций и ресурсов системы в соответствии с расширением сфер и задач ее применения;
- в структуре и компонентах ПС и системы следует предусматривать обеспечение максимально возможной сохранности инвестиций в аппаратные и программные средства, а также в базы данных при длительном развитии, сопровождении и модернизации системы;
- необходимо обеспечивать эффективное использование ресурсов в ЖЦ системы и минимизировать интегральные затраты на обработку данных в типовых режимах ее функционирования с учетом эксплуатационных затрат и капитальных вложений в создание системы и программного продукта;
- должны быть обеспечены безопасность функционирования системы и надежная защита данных от ошибок, от разрушения или потери информации, а также авторизация пользователей, управление рабочей загрузкой, резервированием и оперативным восстановлением функционирования системы и программного продукта;
- для обеспечения перспективы развития жизненного цикла системы и комплекса программ целесообразно предусматривать возможность интеграции гетерогенных вычислительных компонентов и возможность переноса ПС и БД на различные аппаратные и операционные платформы на основе концепции и стандартов открытых систем;
- следует обеспечить комфортное обучение и максимально упрощенный доступ конечных пользователей к управлению и результатам функционирования системы и программного продукта на основе современных графических средств и наглядных пользовательских интерфейсов.
Высокие темпы роста основных ресурсов аппаратных средств и сохраняющаяся потребность в увеличении их использования приводят к необходимости адекватного совершенствования технологий создания развивающихся программных средств и баз данных. Гибкость модификации ПС в жизненном цикле обеспечивается рядом принципов и правил структурного построения и процессов жизненного цикла комплексов программ и их компонентов, а также взаимодействия между ними. Эти правила направлены на стандартизацию и унификацию структуры и взаимодействия компонентов разного ранга и назначения в пределах проблемной области. Их формализация и выполнение обеспечивают значительный эффект в снижении трудоемкости и длительности разработки и модификации ПС, БД и их версий. Одним из важнейших и эффективных путей решения этой проблемы является применение концепции и совокупности стандартов открытых систем.
В процессе эксплуатации ПС у каждого пользователя могут появляться некоторые претензии к функционированию, которые квалифицируются им как ошибки или дефекты базовой или собственной адаптированной версии. От пользователей или заказчиков могут поступать также предложения по дополнительному внесению изменений в базовую версию для улучшения эксплуатационных характеристик и расширения функциональных возможностей ПС. Аналогичные предложения могут поступать от разработчиков комплекса программ. Для решения таких задач разработаны и активно применяются в жизненном цикле стандартизированные методы, методики и средства автоматизации регламентированного сопровождения и управления конфигурацией. Они позволяют представить отдельным специалистам и руководителям состояние проекта и его компонентов в любой момент времени и не допускать хаоса при коллективной модификации программ и данных. Дисциплина в сопровождении и конфигурационном управлении в значительной степени определяет техникоэкономические показатели жизненного цикла сложного проекта, его качество, длительность применения и конкурентоспособность программного продукта.
Возрастание сложности и ответственности современных задач, решаемых крупномасштабными системами, а также возможного ущерба от недостаточного качества комплексов программ, значительно повысило актуальность освоения методов стандартизированного описания требований и оценивания характеристик качества на различных этапах жизненного цикла ПС. Это стимулировало развитие и применение методов, стандартов и средств автоматизации индустриальной программной инженерии. Выявилась необходимость систематизации реальных характеристик качества ПС, применения стандартов для выбора из них необходимой номенклатуры и требуемых значений для конкретных проектов комплексов программ. Обещания разработчиков в контрактах с заказчиками создать высококачественные ПС в согласованные сроки во многих случаях не выполняются, как вследствие различий в понимании требуемого качества, так и вследствие неумения оценить ресурсы, необходимые для достижения заданного заказчиком качества программ. Стратегической проблемой в жизненном цикле современных систем стало обеспечение требуемого качества крупномасштабных ПС при реальных ограничениях на использование ресурсов.
Структура и применение профилей стандартов жизненного цикла программных средств
Наиболее актуальна стандартизация процессов жизненного цикла комплексов программ при коллективной разработке и сопровождении крупных критических систем управления в реальном времени, к которым предъявляются высокие требования к качеству. В этих случаях особенно необходимо четкое планирование и управление технологическими процессами их жизненного цикла. Созданы или разрабатываются комплексы международных стандартов, в той или иной степени регламентирующие процессы проектирования, разработки, эксплуатации и сопровождения в ЖЦ программ и баз данных. Они обычно ориентированы на ПС, выполняющие важные функции в системах управления объектами, технологическими процессами или при обработке ответственной информации. Применение таких стандартов полностью при создании и использовании простых программ узкого или экспериментального назначения не всегда может быть оправдано. Однако они определяют современную культуру промышленного производства и стандартизации жизненного цикла комплексов программ высокого качества.
Для регламентирования жизненного цикла сложных систем и комплексов программ целесообразно выбирать и применять следующие группы основных общесистемных стандартов, которые определяют (рис.1):
- процессы жизненного цикла систем на основе стандартов ISO 9000 и ISO 15288;
- аппаратную и операционную среду сложных систем определенных классов;
- внешнюю и пользовательскую среду функционирования и применения систем;
- менеджмент (административное управление) системой качества.
Применение общесистемных, функциональных стандартов непосредственно поддержано группами технологических стандартов жизненного цикла комплексов программ, регламентирующих:
- процессы жизненного цикла программных средств и баз данных на основе стандарта ISO 12207, а также Руководства по применению этого базового стандарта;
- административноеуправлениекачествомпрограммных средств и основных компонентов;
- интерфейсы переносимых открытых систем и компонентов;
- оценивание характеристик качества программных средств и информации баз данных;
- верификацию и тестирование программных компонентов, комплексов и информации баз данных;
- обеспечение безопасности функционирования и применения комплексов программ в системе;
- сопровождение и управление конфигурацией программных средств и информацией баз данных;
- документирование программных средств и информации баз данных.
- Кроме того, отдельные внутренние этапы жизненного цикла комплексов программ обеспечивают группы стандартов на локальные процессы, определяющие:
- языки и процессы программирования программных компонентов;
- визуализацию информации для пользователей и обеспечения ЖЦ ПС;
- защиту информационных ресурсов от несанкционированных вмешательств и криптографии; • телекоммуникацию и взаимодействие с внеш-ней средой.
Эта группа стандартов непосредственно определяет инструментальные средства решения соответствующих задач и в процессах жизненного цикла ПС стабильны, обычно не изменяются и раскрываются.
Профиль стандартов – это совокупность нескольких (или подмножество одного) базовых стандартов (и других нормативных документов) с четко определенными и гармонизированными подмножествами обязательных и факультативных возможностей, предназначенная для реализации заданной функции или группы функций. Функциональная характеристика (заданный набор функций) объекта стандартизации является исходной для формирования и применения профиля этого объекта или процесса. В профиле выделяются и устанавливаются допустимые факультативные возможности и значения параметров каждого базового стандарта и/или нормативного документа, входящего в профиль. Профиль не может противоречить использованным в нем базовым стандартам и нормативным документам. Он должен использовать факультативные возможности и значения параметров в пределах допустимых, выбранные из альтернативных вариантов. На базе одной и той же совокупности базовых стандартов могут формироваться и утверждаться различные профили для разных проектов систем и сфер применения. Эти ограничения базовых документов профиля и их гармонизация, проведенная разработчиками профиля, должны обеспечивать качество, совместимость и корректное взаимодействие компонентов системы, соответствующих профилю, в заданной области его применения [1, 5, 6].
Применение стандартизированных профилей позволяет заказчику системы освободиться от зависимости от одного поставщика программных или аппаратных средств за счет выбора этих средств из числа доступных на рынке и соответствующих стандартам, нормативным требованиям и рекомендациям профиля. Применение профилей, относящихся к программным комплексам (функциональным частям), облегчает повторное использование в проектируемой системе уже разработанных и проверенных программных компонентов. Профили систем унифицируют и регламентируют только часть требований, характеристик, показателей качества объектов и процессов, выделенных и формализованных на базе стандартов и нормативных документов. Другая часть функциональных и технических характеристик систем определяется заказчиками и разработчиками творчески, без учета положений нормативных документов.
Состояние и развитие стандартизации в области информационных систем (ИС) характеризуется следующими особенностями, которые необходимо учитывать при формировании и применении профилей:
- несколько сотен разработанных международных и национальных стандартов не полностью и не равномерно покрывают потребности в стандартизации объектов и процессов создания и применения сложных информационных систем и их компонентов;
- большая длительность разработки, согласования и утверждения международных и национальных стандартов (3-5 лет) приводит к их консерватизму, а также к хроническому отставанию требований и рекомендаций этих документов от современного состояния техники и от текущих потребностей практики и технологии создания сложных систем;
- стандарты современных систем должны обеспечивать их расширяемость при наращивании или изменении выполняемых функций, переносимость программных средств и данных систем между разными аппаратно-программными платформами, возможность взаимодействия с другими информационными системами той же проблемно-ориентированной сферы;
- в области ИС стандартами поддержаны и регламентированы только функционально наиболее простые объекты и рутинные, массовые процессы, такие как телекоммуникация, программирование, документирование программ и данных;
- наиболее сложные и творческие процессы создания и развития крупных распределенных ИС (системный анализ и проектирование, интеграция компонентов и систем, испытания и сертификация) почти не поддержаны требованиями и рекомендациями стандартов вследствие трудности их формализации, унификации и разнообразия содержания;
- пробелы и задержки в подготовке и издании стандартов высокого ранга и текущая потребность унификации и регламентирования современных объектов и процессов в области ИС приводят к созданию и практическому применению многочисленных нормативных и методических документов отраслевого, ведомственного или фирменного уровня.
Особенности организационных структур, различия в размерах и сложности проектов, в требованиях к системам и применяемым методам их разработки, необходимость преемственности с системами, находящимися в эксплуатации, влияют на организацию разработки, приобретения, применения и сопровождения аппаратных и программных средств. Каждый из выделенных профилей должен для последующего длительного использования пройти стадию формирования, адаптации и параметризации применительно к характеристикам стандартизируемых объектов или процессов создания ИС. Подготовка профилей к применению должна учитывать возможный вариант реального состояния и свойств системы:
- планируется создание новой ИС («с нуля») в условиях отсутствие задела по системе, компонентам и стандартам данного проекта;
- имеется типовой проект системы и его профили стандартов, предстоит их адаптация и реализация;
- существует и эксплуатируется реальная – унаследованная – система, для которой следует подготовить и адаптировать профили с учетом ее реального состояния и перспективы развития.
- Для корректного применения описания профилей должны содержать:
- определение целей, которые предполагается достичь применением данного профиля;
- точное перечисление функций продукта или процесса стандартизации, определяемого данным профилем;
- формализованные сценарии применения базовых стандартов и спецификаций, включенных в данный профиль;
- сводку требований к системе или к ее компонентам, определяющих их соответствие профилю, и требований к методам тестирования соответствия;
- ссылки на конкретный набор стандартов и других нормативных документов, составляющих профиль, с точным указанием используемых редакций и ограничений, способных оказать влияние на достижение корректного взаимодействия объектов стандартизации при использовании данного профиля;
- информационные ссылки на спецификации тестов проверки соответствия профилю.
В зависимости от области распространения и применения профилей они могут иметь разные категории ответственности и соответственно разные статусы утверждения:
- профили конкретной системы, определяющие стандартизированные проектные решения в пределах данного проекта и являющиеся частью проектной документации системы,ПСиБД;
- профили системы, предназначенные для решения некоторого класса функциональных задач, которые распространяются на все системы данного класса в пределах предприятия, отрасли или региона и утверждаются как стандарты предприятий, ведомственные или государственные стандарты.
Детализация общесистемных профилей стандартов (см. рис. 1) производится по мере декомпозиции структуры системы на составляющие ее компоненты [1]. Выбор и применение этих профилей является органической частью процессов проектирования, разработки, сопровождения и развития сложных систем. Их применение включает процессы:
- выбор аппаратной и операционной среды системы определенного класса;
- определение внешней и пользовательской среды функционирования и применения системы;
- подготовку административного управления системой качества;
- выбор готовых программных и аппаратных средств, соответствующих функциям и профилям системы;
- комплексирование компонентов в создаваемой системе на основе последовательного применения профилей и их квалификационного тестирования.
Профиль стандартов конкретной системы не является статичным, он развивается и конкретизируется (возможно, во взаимодействии с заказчиком) в процессе жизненного цикла ИС и оформляется в составе документации проекта системы. В профиль конкретной системы включаются спецификации стандартизации компонентов, разработанных в составе данного проекта, и спецификации использованных готовых программных и аппаратных средств, если эти средства не специфицированы соответствующими стандартами. Разработка и применение профилей стандартов являются органической частью процессов жизненного цикла, разработки и развития информационных систем. Проектированию системы предшествует этап предпроектного обследования объекта автоматизации, результатом которой являются его функциональная и информационная модели, определение целей создания системы и состава ее функций. Стандарты, важные с точки зрения заказчика, должны задаваться в спецификации требований на проектирование системы и составлять ее первичный профиль. То, что не задано в требованиях заказчика, остается первоначально на усмотрение разработчика системы, который, руководствуясь требованиями спецификаций, может дополнять и развивать профили, которые впоследствии согласуются с заказчиком.
Работы, связанные с формированием и применением профилей стандартов, должны быть предусмотрены в составе проекта системы. Учитывая динамику формирования и применения профилей ПС, по мере детализации структуры системы и ее возможного развития образуется жизненный цикл профилей стандартов. Жизненный цикл профилей ПС можно рассматривать в составе технологических работ отдельно от этапов и работ непосредственной разработки и эксплуатации самих программных средств и баз данных. Создание и применение профилей жизненного цикла ПС можно разделить на два крупных процесса:
- разработка, формирование и адаптация профилей ЖЦ ПС для применения в конкретном проекте системы;
- непосредственное применение требований и рекомендаций каждого адаптированного профиля стандартов для регламентирования этапов, работ и документов проекта.
При создании ПС профили стандартов развиваются и детализируются параллельно с конкретизацией проекта. Они должны подготавливать соответствующую часть технологической поддержки разработки комплекса программ нормативными документами. Таким образом, жизненный цикл профилей в некоторой степени подобен жизненному циклу самих программных средств и баз данных. Завершение разработки профилей стандартов системы и оформление результатов должно опережать, обеспечивать и подготавливать выполнение соответствующих этапов и работ основного жизненного цикла комплекса программ.
В общем случае созданию профилей жизненного цикла системы, должно предшествовать обследование объекта информатизации, для которого предполагается создавать систему. Результатами работ на этом этапе являются функциональная и информационная модели, а также спецификации требований, которые служат в качестве исходных данных для проектирования системы. Целесообразно, чтобы эти модели и спецификации требований были выполнены с помощью формализованных методов их описания, например, с использованием средств описания моделей в известных методологиях структурного проектирования и языков спецификаций. В спецификации должны быть определены требования к жизненному циклу системы, даны ссылки на действующие нормативные документы и определена предварительная структура профиля стандартов жизненного цикла. Следует задать требования к качеству системы и, соответственно, первичный профиль обеспечения качества комплекса программ и данных, функциональные требования к системе – состав решаемых задач и ссылки на нормативные документы, которые регламентируют правила и процедуры выполнения функций и операций. Этапы разработки профилей, которые определяются разработчиком системы по его усмотрению, должны быть увязаны с этапами жизненного цикла компонентов системы, и выполняться во времени таким образом, чтобы эти разрабатываемые профили стандартов могли быть применены тогда, когда это требуется по логике последовательной детализации и развития проекта.
Профиль стандартов ЖЦ ПС (функциональных частей системы) должен определять архитектуру программных комплексов (модели функций, логические модели данных, внешние интерфейсы) и их структуру (разбиение системы на подсистемы и систем на модули, определение унифицированных интерфейсов взаимодействия между комплексами программ и их компонентами, см. рис. 2.) Жизненный цикл программных средств отражается в профиле стандартов набором процессов, этапов, частных работ и операций в последовательности их выполнения и взаимосвязи, регламентирующим ведение разработки, сопровождение и эксплуатацию, от анализа и подготовки требований до завершения испытаний ряда версий программного продукта и прекращения их использования. Жизненный цикл включает описания исходной информации, способов и методов выполнения операций и работ, устанавливает требования к результатам и правилам их контроля, а также определяет содержание технологических и эксплуатационных документов. Он определяет организационную структуру коллектива специалистов, регламентирует распределение и планирование работ, а также контроль за ходом разработки. Повышение эффективности разработки, качества программного продукта и производительности труда специалистов достигается за счет:
- регламентации организации и порядка проведения работ;
- автоматизации этапов и операций;
- рациональногоразделениятрудамеждуспециалистами разной квалификации и проблемной ориентации.
Профиль ЖЦ ПС конкретной системы должен учитывать её функциональную ориентацию. Он должен содержать ссылки на стандартизированные интерфейсы между комплексом программ и внешней средой, которые описываются в профилях среды системы. Каждый профиль и его параметры для применения в конкретном проекте системы необходимо поэтапно адаптировать и детализировать в соответствии с этапом проекта. Процессы жизненного цикла, развития системы и её программных компонентов должны быть поддержаны этапами развития и применения комплекта профилей, которые включают:
- системный анализ объекта информатизации и создания концепции системы, когда производится первичный выбор исходного комплекта стандартов, которым должна соответствовать система; выявляется необходимость разработки и состав дополнительных нормативных документов; оформляется содержание и параметры комплектов документов предполагаемых профилей;
- проектирование системы, когда определяются требования к её архитектуре и структуре и соответственно уточняются положения, параметры и адаптируются стандарты комплекта профилей; оформляются проекты документов и методических руководств по применению рабочей версии каждого профиля стандартов;
- разработку или приобретение готовых компонентов системы, при этом утверждаются и применяются все положения профиля; производится контроль, тестирование и испытания компонентов на соответствие требованиям и документам конкретного профиля стандартов;
- сопровождение, актуализацию и развитие системы, когда анализируются положения, параметры и результаты адаптации применяемой версии каждого профиля; выявляются и устраняются дефекты профилей;
- модернизацию профиля, с учетом появления более совершенных технических и программных средств и новых стандартов; при необходимости осуществляется формирование, документирование и внедрение новой модифицированной и уточненной версии соответствующего профиля.
Быстро оснащающиеся различными методами и средствами автоматизации этапы системного анализа, моделирования и предварительного проектирования не позволяют стабилизировать основу этих процессов, достаточную для их полной формализации на уровне международных стандартов. Поэтому для этих этапов могут создаваться и применяться профили ЖЦ ПС как проблемно-ориентированные совокупности нормативных документов и методических руководств, отражающие как наиболее современные методы, так и фрагменты действующих стандартов, в том числе стандартов «де-факто». При этом основу этих профилей могут составлять стандарты (см. рис. 2) процессов жизненного цикла систем (ISO 15288), административного управления системой качества (ISO 9000) и открытых систем (POSIX). Применение общесистемных, функциональных профилей должны поддерживать основные, технологические профили стандартов на основе стандарта ISO 12207 и Руководств по его применению, а также совокупности процессов жизненного цикла программных средств и баз данных.
Значительные достижения в организации, планировании, развитии и применении современных методов и технологии обеспечения крупномасштабных проектов ПС сосредоточены в методологии и стандарте СММ (Capability Maturity Model – система и модель для оценки зрелости) комплекса технологических процессов жизненного цикла ПС.
Она основана на формализации и использовании уровней зрелости технологий поддержки ЖЦ ПС, которые также определяют потенциально возможное качество создаваемых на предприятии комплексов программ. Чем выше уровень зрелости, тем выше статус предприятия среди поставщиков, доверие к его продукции, его конкурентоспособность, а также возможное качество ПС. Тем самым при выборе требований к характеристикам качества ПС можно в соответствующей степени доверять поставщику и предприятию разработчика, что они смогут полностью реализовать требования заказчика. Эти уровни зрелости характеризуются степенью формализации, адекватностью измерения и документирования процессов и продуктов в ЖЦ ПС, полнотой применения стандартов и инструментальных средств автоматизации работ, наличием системы качества технологических процессов.
Назначение методологии СММ/CMMI – системы и модели оценки зрелости – состоит в предоставлении необходимых общих рекомендаций и инструкций предприятиям, производящим ПС, по выбору стратегии совершенствования качества, процессов и продуктов путем анализа степени их производственной зрелости и оценивания факторов, в наибольшей степени влияющих на качество ЖЦ ПС, а также посредством выделения процессов, требующих модернизации. Для достижения устойчивых результатов в процессе развития технологии и организации управления жизненным циклом ПС в стандарте ISO 15504 рекомендуется использовать эволюционный путь, который позволяет совершенствовать и постепенно повышать качество процессов и продуктов, вскрывать преимущества и недостатки предприятия [4]. В методологии СММ выделены пять уровней зрелости, раскрываемые в стандарте (рис.3). Виды деятельности для высоких уровней зрелости в соответствии с СММ, в стандарте делятся на базовые и общие. Базовые виды деятельности являются обязательными и сгруппированы в пять категорий: контрактная; инженерная; управленческая; вспомогательная; организационная. Эти уровни зрелости характеризуются степенью формализации, адекватностью измерения и документирования процессов и продуктов ЖЦ ПС, широтой применения стандартов и инструментальных средств автоматизации работ, наличием и полнотой реализации функций системы обеспечения качества технологических процессов и их результатов.
Описание процессов ЖЦ ПС в СММ сфокусировано на поэтапном определении реально достигаемых результатов и на оценивании качества их выполнения. Качество процессов зависит от технологической среды, в которой они выполняются. Зрелость процессов – это степень их управляемости, возможность поэтапной количественной оценки качества, контролируемость и эффективность результатов (см. рис. 3). Модель зрелости предприятия представляет собой методический нормативный материал, определяющий правила создания и функционирования системы управления жизненным циклом ПС, методы и стандарты постепенного повышения культуры и качества производства. Рост зрелости обеспечивает потенциальную возможность возрастания эффективности и согласованности использования процессов создания, сопровождения и оценивания качества компонентов и ПС в целом. Реальное использование регламентированных процессов предполагает их документирование и поэтапный контроль характеристик качества ПС. На предприятиях, достигших высокого уровня зрелости, формализованные процессы ЖЦ ПС должны принимать статус стандарта, фиксироваться в организационных структурах и определять производственную тактику и стратегию корпоративной культуры производства и системы обеспечения качества ПС.
Уровень 1 – начальный. Массовые разработки проектов ПС характеризуются относительно небольшими объемами программ в несколько тысяч строк, создаваемых несколькими специалистами. Они применяют простейшие не формализованные технологии с использованием типовых инструментальных компонентов операционных систем. Основные процессы ЖЦ ПС на этом уровне не регламентированы, выполняются не совсем упорядоченно и зависят от не координированных индивидуальных усилий и свойств специалистов. Успех проекта, как правило, зависит от энергичности, таланта и опыта нескольких руководителей и исполнителей. Процессы на первом уровне характеризуются своей непредсказуемостью по срокам в связи с тем, что их состав, назначение и последовательность выполнения могут меняться случайным образом в зависимости от текущей ситуации.
Уровень 2 – управляемый – базовое управление. Для сложных проектов ПС объемом в десятки и сотни тысяч строк, в которых участвуют десятки специалистов разной квалификации, необходимы организация, регламентирование технологии и унификация процессов деятельности каждого из них. Процессы на этом уровне заранее планируются, их выполнение контролируется, чем достигается предсказуемость результатов и времени выполнения этапов, компонентов и проекта в целом. Основной особенностью второго уровня является наличие формализованных и документированных процессов управления проектами, которые пригодны для модернизации, а их результаты, поддаются количественной оценке. На этом уровне акценты управления сосредоточиваются на предварительном упорядочении и регламентировании процессов создания, сопровождения и оценивания качества программного средства, однако для крупномасштабных проектов ПС с гарантированным качеством, риск провала может оставаться еще достаточно большим.
Уровень 3 – определенный – стандартизация процессов. При высоких требованиях заказчика и пользователей к конкретным характеристикам качества сложного ПС и к выполнению ограничений по использованию ресурсов, необходимо дальнейшее совершенствование и повышение уровня зрелости процессов ЖЦ ПС. Процессы ЖЦ ПС на этом уровне должны быть стандартизированы, и представлять собой единую технологическую систему, обязательную для всех подразделений. На основе единой технологии поддержки и обеспечения качества ЖЦ ПС, для каждого проекта могут разрабатываться дополнительные процессы последовательного оценивания качества продуктов с учетом их особенностей. Описание каждого процесса должно включать условия его выполнения, входные данные, рекомендации стандартов и процедуры выполнения, механизмы проверки качества результатов, выходные данные, условия и документы завершения процессов. В описания процессов включаются сведения об инструментальных средствах, необходимых для их выполнения, роль, ответственность и квалификация специалистов.
Уровень 4 – предсказуемый – количественное управление. Для реализации проектов крупномасштабных, особенно сложных ПС в жестко ограниченные сроки и с высоким гарантированным качеством, необходимы активные меры для предотвращения и выявления дефектов и ошибок на всех этапах ЖЦ ПС. Управление должно обеспечивать выполнение процессов в соответствии с текущими требованиями к характеристикам качества компонентов и ПС в целом. На этом уровне должна применяться система детального поэтапного оценивания характеристик качества, как технологических процессов ЖЦ, так и самого создаваемого программного продукта и его компонентов. Должны разрабатываться и применяться универсальные методики количественной оценки реализации процессов и их качества. Одновременно с повышением сложности и требований к качеству ПС, следует совершенствовать управление проектами за счет сокращения текущих корректировок и исправлений дефектов при выполнении процессов. Результаты процессов становятся предсказуемыми по срокам и качеству в связи с тем, что они измеряются в ходе их выполнения и реализуются в рамках заданных ресурсных ограничений.
Уровень 5 – оптимизационный – непрерывное совершенствование и улучшение. Дальнейшее последовательное совершенствование и модернизация технологических процессов ЖЦ ПС для повышения качества их выполнения и расширение глубины контроля за их реализацией. Одна из основных целей этого уровня – сокращение проявлений и потерь от случайных дефектов и ошибок путем выявления сильных и слабых сторон используемых процессов. При этом приоритетным является анализ рисков, дефектов и отклонений от заданных требований заказчика. Эти данные также используются для снижения себестоимости ЖЦ особо сложных ПС в результате внедрения новых технологий и инструментария, а также для планирования и осуществления модернизации всех видов процессов. Технологические нововведения, которые могут принести наибольшую выгоду, должны стандартизироваться и адаптироваться в комплексную технологию обеспечения и оценивания системы качества предприятия и его продукции.
В 2002 году американский институт программной инженерии (SEI) опубликовал новую модель CMMI, уточняющую и совершенствующую предшествовавшие модели CMM, а также учитывающую основные требования существующих международных стандартов в области менеджмента программных средств [3, 7]. Внедрение этой модели акцентировано на улучшении процессов управления проектами ПС, обеспечении их высокого качества и конкурентоспособности, с основной целью – сделать процессы проектов более управляемыми, а результаты – предсказуемыми. Значительное внимание в CMMI уделяется процессам разработки и учету итераций требований заказчиков, их прослеживанию к функциям, компонентам, тестам и документам проекта. Концепцию, определяющую функциональную пригодность и качество продукта, рекомендуется сопровождать проверками возможных сценариев событий при его применении.
Модель базируется на сохранении концепции пяти уровней зрелости CMM. Первый и пятый уровни отличаются значительной нестабильностью и неопределенностью процессов в различных проектах, поэтому при уточнении и детализации содержания процессов целесообразно ограничиваться тремя основными, средними уровнями (см. рис. 3):
- второй уровень – формализует базовое управление проектами: управление требованиями; планирование; мониторинг и контроль; измерение и анализ; обеспечение качества; управление конфигурацией;
- третий уровень – содержит стандартизацию процессов: разработка требований; интеграция продукта; верификация; валидация; обеспечение стандартного процесса; обучение; интегрированное управление; управление рисками; анализ и разрешение проблем (устранение дефектов);
- четвертый уровень – определяет количественное управление качеством процессов; количественное управление всем проектом и ресурсами.
Рекомендуется на каждом более высоком уровне зрелости применять все процессы предыдущих нижних уровней. Упорядочение и оценка используемых процессов в соответствии с уровнями, позволяет устанавливать производственный потенциал предприятий – разработчиков программных продуктов по прогнозируемому качеству результатов их деятельности и возможности сертификации. Это уменьшает зависимость заказчиков и пользователей от возможных недостатков исполнителей проектов и позволяет их выбирать с учетом прогнозируемого качества продуктов.
Практически все перечисленные процессы и требования, конкретизированные на трех выделенных уровнях модели CMMI, соответствуют регламентированным и детализированным в стандартах ISO 9001:2000, ISO 12207 и основных компонентах профиля стандартов жизненного цикла сложных ПС (см. рис. 2). Стандарты CMMI и ISO 9001:2000 во многом подобны по структуре и содержанию требований к организации и планированию ЖЦ ПС [7]. Две модели CMMI созданы для возможности непрерывного оценивания процессов в определенной области создания ПС и для поэтапного оценивания совершенствования зрелости предприятия, а также организации его производства комплексов программ в целом. Требованиям в функциональных разделах 4 – 8 стандарта ISO 9001 могут быть сопоставлены подобные по содержанию разделы в модели CMMI. Общность процессов и требований CMMI и ISO 9001 состоит в подобии терминологии, структуры, рекомендуемых процессов управления, планирования, учета доступных ресурсов, оценивания организации специалистов. Некоторые требования в ISO 9001 и тем более положения и рекомендации почти всего профиля стандартов не покрываются содержанием требований в моделях CMMI. Требования ISO 9001 развиваются и детально комментируются процессами их реализации в стандарте ISO 9004:2000 и в представленном профиле, включающем около сорока стандартов (рис. 2), что не предусмотрено в рекомендациях CMMI. Таким образом, при практической реализации и обеспечении всего жизненного цикла сложных ПС разработчикам и поставщикам целесообразно использовать полный профиль стандартов, а для оценивания заказчиками уровня менеджмента, организационного и технологического обеспечения проектов ПС применять конкретные рекомендации CMMI или ISO 9001:2000. Эти рекомендации могут эффективно использоваться при сертификации качества процессов на предприятиях, обеспечивающих ЖЦ ПС, как альтернатива или наряду с сертификацией по комплексу стандартов менеджмента ISO 9000 в зависимости от особенностей проекта и требований заявителя на сертификацию программного продукта и/или технологии обеспечения его жизненного цикла.
Литература
1. Липаев В.В., Филинов Е.Н. Мобильность программ и данных в открытых информационных системах. – М.: РФФИ. 1997.
2. Липаев В.В. Методы обеспечение качества крупномасштабных программных средств. – М.: РФФИ. СИНТЕГ. 2003.
3. Мильман К., Мильман С. CMMI – шаг в будущее. Открытые системы. No5-6 и No7-8. 2005.
4. Оценка и аттестация зрелости процессов создания и сопровождения программных средств и информационных систем (ISO/IEC TR 15504 – CMM). – М.: Книга и бизнес. 2001.
5. Руководство по проектированию профилей среды открытых систем. Пер. с англ. – М. Янус-К. 2002.
6. АPP – Application Portability Profile. The U.S. Government open system environment profile OSE/1 Version 2.0.NIST. Washington. 1993.
7. Mutafelija B., Stromberg. Systematic Process Improvement Using ISO 9001:2000 and CMMI. SEI.