Тема: Профили стандартов жизненного цикла программных средств
Учебная цель:Рассмотреть и изучить структуру и основы построения и разработки профилей стандартов жизненного цикла информационных систем, а также взаимосвязи стандартов в сфере информатизации, как основы современного проектирования.
1. Профили стандартов ЖЦ ЭИС.
2. Особенности стандартизации жизненного цикла программных средств.
3. Методическая основа технологии ЖЦ ПС.
4. Структура и применение профилей стандартов жизненного цикла программных средств.
5. Перечень основных стандартов, регламентирующих жизненный цикл программных средств.
В России создание и испытания систем, которые включают ПС и БД регламентированы небольшой группой ГОСТов. В области обеспечения жизненного цикла и качества сложных комплексов программ существует и применяется группа стандартов ГОСТ ЕСПД, которые отстают от мирового уровня на 5 - 8 лет. В них создание, сопровождение и совершенствование программных средств отражены недостаточно, а многие их положения устарели с точки зрения построения современных распределенных комплексов прикладных программ высокого качества в системах управления и обработки данных с различной архитектурой. Поэтому в отечественных разработках целесообразно использовать апробированные международные стандарты в этой области. В экспортных заказах зарубежные клиенты требуют соответствия методов и технологии проектирования, производства и качества продукции современным международным стандартам, которые необходимо осваивать и применять для обеспечения конкурентоспособности отечественных программных продуктов на мировом рынке. Поэтому ряд современных международных стандартов в области программных средств полностью и аутентично переведен на русский язык и утвержден в ранге ГОСТ Р для непосредственного использования предприятиями России.
Жизненный цикл современных систем поддерживается рядом профилей стандартов, которые регламентируют крупные объекты и процессы их создания: вычислительных средств, телекоммуникации, визуализации, программных средств и баз данных. В данной статье аппаратные средства не рассматриваются, внимание сосредоточено на профилях, в той или иной степени поддерживающих этапы ЖЦ и качество сложных ПС. Профили ПС унифицируют и регламентируют часть требований, характеристик, показателей качества объектов и процессов, формализованных на базе стандартов и нормативных документов. Другая часть функциональных и специфических характеристик ПС определяется заказчиками и разработчиками творчески, без учета положений нормативных документов. В жизненном цикле ПС можно выделить две группы профилей ПС:
• профили, регламентирующие процессы ЖЦ и системы обеспечения качества проектирования, разработки, применения, сопровождения и совершенствования ПС и их компонентов;
• профили, регламентирующие объекты: архитектуру и структуру ПС и их компонентов — функции, интерфейсы и протоколы взаимодействия, форматы данных.
Базовый профиль ЖЦ ПС ориентирован на использование участниками проекта ПС - разработчиками и заказчиками, и адаптированные требования его стандартов должны быть обязательными для всех специалистов проекта. Поэтому в его состав входят наиболее общие стандарты и нормативные документы, определяющие весь ЖЦ ПС и его качество. Ниже приведены аннотации основных стандартов базового профиля с акцентом на фрагменты, в наибольшей степени влияющие на качество ПС. Остальные профили должны применяться специалистами в соответствии с их ролью в проекте и особенностями конкретного ПС. Базовый профиль стандартов жизненного цикла комплексов программ поддерживает и детализирует методологию CMMI (Capability Maturity Model Integration) - систему и модель оценки зрелости технологических процессов создания и развития сложных программных средств.
Особенности стандартизации жизненного цикла программных средств.
Термином жизненный цикл (ЖЦ) принято отражать совокупность процессов и этапов развития организмов живой природы, технических систем, продуктов производства от моментов зарождения или появления потребности их создания и использования до прекращения функционирования или применения. Это соответствует всеобщему закону развития любых изделий, событий или процессов между их началом и концом. Программы для вычислительных машин обычно являются компонентами жизненного цикла технических систем, но по своей природе значительно отличаются от аппаратных, технических изделий, поэтому их жизненный цикл имеет характерные особенности, по сравнению с другими техническими объектами. Программы и данные в системах и вычислительных машинах являются наиболее гибкими компонентами и подвержены изменениям в течение всего их ЖЦ. По особенностям и свойствам жизненного цикла программ их целесообразно делить на ряд классов и категорий, из которых наиболее различающимися являются два крупных класса - малые и большие программы.
Первый класс составляют относительно небольшие программы, создаваемые одиночками или небольшими коллективами (3 -5 специалистов). Эти программы:
• не предназначены для массового тиражирования и распространения в качестве программного продукта на рынке, их оценивают качественно и интуитивно преимущественно как «художественные произведения»;
• не имеют конкретного независимого заказчика-потребителя, определяющего требования к программам и их финансирование;
• не ограничиваются заказчиком жестко допустимой стоимостью, трудоемкостью и сроками их создания, требованиями заданного качества и документирования;
• создаются преимущественно для получения конкретных результатов автоматизации научных исследований или для анализа относительно простых процессов самими разработчиками программ;
• не подлежат независимому тестированию, гарантированию качества и/или сертификации;
• создаются преимущественно для обучения программированию без применения формализованных требований к функциям и допустимым затратам, без индустриальных технологий и стандартов на проектирование и разработку.
Второй класс составляют крупномасштабные комплексы программ для сложных систем управления и обработки информации, оформляемые в виде программных продуктов с гарантированным качеством, и отличающиеся следующими особенностями и свойствами их жизненного цикла:
• большая размерность, высокая трудоемкость и стоимость создания таких комплексов программ определяют необходимость тщательного анализа экономической эффективности всего их жизненного цикла и возможной конкурентоспособности на рынке;
• от заказчика, финансирующего проект программного средства (ПС) и базы данных (БД), разработчикам необходимо получать квалифицированные конкретные требования к функциям и характеристикам проекта и продукта, соответствующие выделенному финансированию и квалификации исполнителей проекта;
• для организации и координации этой деятельности специалистов-разработчиков при наличии единой крупной целевой задачи создания и совершенствования программного продукта, необходимы квалифицированные менеджеры проектов;
• в проектах сложных программных средств и баз данных с множеством различных функциональных компонентов участвуют специалисты разной квалификации и специализации, от которых требуется высокая ответственность за качество результатов деятельности каждого из них;
• от разработчиков проектов требуются гарантии высокого качества, надежности функционирования и безопасности применения компонентов и поставляемых программных продуктов, в которые недопустимо прямое вмешательство заказчика и пользователей, не предусмотренное эксплуатационной документацией разработчиков;
•необходимо применять индустриальные, регламентированные стандартами процессы, этапы и документы, а также методы, методики и средства автоматизации, регламентированные технологии обеспечения жизненного цикла комплексов программ.
Такие крупномасштабные комплексы программ являются компонентами систем, реализующими обычно их основные функциональные свойства, увеличивающими сложность и создающими предпосылки для последующих изменений их жизненного цикла. Реализация ЖЦ, методологии управления и изменения ПС и БД зависит от многих факторов, от персонала, технических, организационных и договорных требований и сложности проекта. Множество текущих состояний и модификаций компонентов сложных ПС и БД необходимо упорядочивать, контролировать их развитие и применение участниками проекта. Организованное, контролируемое и методичное отслеживание динамики изменений в жизненном цикле программ и данных, их слаженная разработка при строгом учете и контроле каждого изменения, является основой эффективного, поступательного развития каждой крупной системы.
Основная цель современных технологий поддержки ЖЦ ПС состоит в обеспечении экономической, технической и социальной эффективности всего жизненного цикла комплексов программ для ЭВМ в различных проблемно-ориентированных областях. В понятие современной технологии включается совокупность методов и инструментальных средств автоматизации, а также технологические процессы, обеспечивающие жизненный цикл сложных ПС с заданными функциональными и конструктивными характеристиками качества. Для этого рекомендуется использовать наиболее эффективные и совершенные методы и проводить комплексную автоматизацию обеспечения всего ЖЦ ПС. Целеустремленная деятельность разработчиков-поставщиков должна быть направлена на удовлетворение требований заказчиков и пользователей программных продуктов при их применении по прямому назначению.
Методической основой технологии ЖЦ ПС, регламентирующей деятельность специалистов, является типовой технологический процесс. Он отражается набором этапов и операций в последовательности их выполнения и взаимосвязи, обеспечивающих упорядоченное ведение работ на всех стадиях от инициирования проекта и подготовки технического задания до завершения испытаний или применения версии ПС. Индустриализация технологий создания ПС базируется на стандартизации процессов разработки программ, их структурного построения и интерфейсов с операционной и внешней средой. Для этого с самого начала разработки должны определяться состав и этапы работ, необходимые для достижения конечной цели, а также требуемые для их выполнения ресурсы. Технические и управленческие проверки, анализ качества результатов промежуточных работ и компонентов, а также корректности их взаимосвязей должны обеспечивать руководителям и всем разработчикам уверенность в достижении требуемого конечного результата проекта. Методология обеспечения качества ПС поддержана рядом методических документов и инструментальных средств, а также формализована группой международных стандартов. Концептуальные и организационные основы административного управления жизненным циклом и качеством ПС определены в восьми базовых принципах, которые декларированы в стандартах ISO 9000:2000 и ISO 15504:1-9:1998 и составляют основу технологических процессов в этих стандартах.
Принцип 1 - ориентация предприятия-разработчика на потребителя-заказчика. Предприятия зависят от своих потребителей и, следовательно, должны понимать текущие и будущие потребности потребителей-заказчиков, удовлетворять их требования и стремиться превзойти их ожидания.
Принцип 2 - лидерство-руководство. Лидеры обеспечивают единство назначения и направления деятельности предприятия. Они должны создавать и поддерживать внутреннюю окружающую среду, в которой специалисты могут в полной мере участвовать в достижении стратегических целей предприятия.
Принцип 3 - вовлечение персонала. Люди составляют основу предприятия на всех уровнях, и их полноценное участие в деятельности способствует применению их способностей на благо целей предприятия.
Принцип 4 - процессный подход. Желаемый результат достигается более эффективно, когда требуемые ресурсы и деятельность специалистов предприятия управляются как единый связанный процесс.
Принцип 5 - системный подход к административному управлению. Выявление и понимание задач и административное управление системой взаимосвязанных процессов для заданной стратегической цели повышает эффективность и результативность предприятия.
Принцип 6 - постоянное усовершенствование. Непрерывное усовершенствование процессов и повышение качества продукции должно быть постоянной стратегической целью предприятия и его специалистов.
Принцип 7 - подход к принятию решений, основанный на фактах. Эффективные решения должны базироваться на анализе только реальных данных и достоверной информации.
Принцип 8 - взаимовыгодные отношения с поставщиками. Предприятие-пользователь и его поставщики-разработчики взаимозависимы, взаимовыгодные отношения между ними повышают способность обоих производить качественную продукцию.
Соблюдение этих принципов способствует повышению управленческой культуры, применению системы административного управления качеством во всех видах деятельности предприятий и, как следствие, обеспечению конкурентоспособности создаваемой продукции, проектов и систем.
Структура и применение профилей стандартов жизненного цикла программных средств
Наиболее актуальна стандартизация процессов жизненного цикла комплексов программ при коллективной разработке и сопровождении крупных критических систем управления в реальном времени, к которым предъявляются высокие требования к качеству. В этих случаях особенно необходимо четкое планирование и управление технологическими процессами их жизненного цикла. Созданы или разрабатываются комплексы международных стандартов, в той или иной степени регламентирующие процессы проектирования, разработки, эксплуатации и сопровождения в ЖЦ программ и баз данных. Они обычно ориентированы на ПС, выполняющие важные функции в системах управления объектами, технологическими процессами или при обработке ответственной информации. Применение таких стандартов полностью при создании и использовании простых программ узкого или экспериментального назначения не всегда может быть оправдано. Однако они определяют современную культуру промышленного производства и стандартизации жизненного цикла комплексов программ высокого качества.
Для регламентирования жизненного цикла сложных систем и комплексов программ целесообразно выбирать и применять следующие группы основных общесистемных стандартов, которые определяют (рис. 19.1):
• процессы жизненного цикла систем на основе стандартов ISO 9000 и ISO 15288;
• аппаратную и операционную среду сложных систем определенных классов;
• внешнюю и пользовательскую среду функционирования и применения систем;
• менеджмент (административное управление) системой качества.
Применение общесистемных, функциональных стандартов непосредственно поддержано группами технологических стандартов жизненного цикла комплексов программ, регламентирующих:
• процессы жизненного цикла программных средств и баз данных на основе стандарта ISO 12207, а также Руководства по применению этого базового стандарта;
• административное управление качеством программных средств и основных компонентов;
• интерфейсы переносимых открытых систем и компонентов;
• оценивание характеристик качества программных средств и информации баз данных;
• верификацию и тестирование программных компонентов, комплексов и информации баз данных;
• обеспечение безопасности функционирования и применения комплексов программ в системе;
• сопровождение и управление конфигурацией программных средств и информацией баз данных;
• документирование программных средств и информации баз данных.
Детализация общесистемных профилей стандартов (см. рис. 19.1) производится по мере декомпозиции структуры системы на составляющие ее компоненты. Выбор и применение этих профилей является органической частью процессов проектирования, разработки, сопровождения и развития сложных систем. Их применение включает процессы:
• выбор аппаратной и операционной среды системы определенного класса;
• определение внешней и пользовательской среды функционирования и применения системы;
• подготовку административного управления системой качества;
Рис. 19.1. Основные общесистемные стандарты
• выбор готовых программных и аппаратных средств, соответствующих функциям и профилям системы;
• комплексирование компонентов в создаваемой системе на основе последовательного применения профилей и их квалификационного тестирования.
Профиль стандартов конкретной системы не является статичным, он развивается и конкретизируется (возможно, во взаимодействии с заказчиком) в процессе жизненного цикла ИС и оформляется в составе документации проекта системы. В профиль конкретной системы включаются спецификации стандартизации компонентов, разработанных в составе данного проекта, и спецификации использованных готовых программных и аппаратных средств, если эти средства не специфицированы соответствующими стандартами. Разработка и применение профилей стандартов являются органической частью процессов жизненного цикла, разработки и развития информационных систем. Проектированию системы предшествует этап предпроектного обследования объекта автоматизации, результатом которой являются его функциональная и информационная модели, определение целей создания системы я состава ее функций. Стандарты, важные с точки зрения заказчика, должны задаваться в спецификации требований на проектирование системы и составлять ее первичный профиль. То, что не задано в требованиях заказчика, остается первоначально на усмотрение разработчика системы, который, руководствуясь требованиями спецификаций, может дополнять и развивать профили, которые впоследствии согласуются с заказчиком.
Профиль стандартов ЖЦ ПС (функциональных частей системы) должен определять архитектуру программных комплексов (модели функций, логические модели данных, внешние интерфейсы) и их структуру (разбиение системы на подсистемы и систем на модули, определение унифицированных интерфейсов взаимодействия между комплексами программ и их компонентами, см. рис. 19.2.) Жизненный цикл программных средств отражается в профиле стандартов набором процессов, этапов, частных работ и операций в последовательности их выполнения и взаимосвязи, регламентирующим ведение разработки, сопровождение и эксплуатацию, от анализа и подготовки требований до завершения испытаний ряда версий программного продукта и прекращения их использования. Жизненный цикл включает описания исходной информации, способов и методов выполнения операций и работ, устанавливает требования к результатам и правилам их контроля, а также определяет содержание технологических и эксплуатационных документов. Он определяет организационную структуру коллектива специалистов, регламентирует распределение и планирование работ, а также контроль за ходом разработки. Повышение эффективности разработки, качества программного продукта и производительности труда специалистов достигается за счет:
• регламентации организации и порядка проведения работ;
• автоматизации этапов и операций;
• рационального разделения труда между специалистами разной квалификации и проблемной ориентации.
Профиль ЖЦ ПС конкретной системы должен учитывать её функциональную ориентацию. Он должен содержать ссылки на стандартизированные интерфейсы между комплексом программ и внешней средой, которые описываются в профилях среды системы. Каждый профиль и его параметры для применения в конкретном проекте системы необходимо поэтапно адаптировать и детализировать в соответствии с этапом проекта. Процессы жизненного цикла, развития системы и ее программных компонентов должны быть поддержаны этапами развития и применения комплекта профилей, которые включают:
• системный анализ объекта информатизации и создания концепции системы, когда производится первичный выбор исходного комплекта стандартов, которым должна соответствовать система; выявляется необходимость разработки и состав дополнительных нормативных документов; оформляется содержание и параметры комплектов документов предполагаемых профилей;
• проектирование системы, когда определяются требования к ее архитектуре и структуре и соответственно уточняются положения, параметры и адаптируются стандарты комплекта профилей; оформляются проекты документов и методических руководств по применению рабочей версии каждого профиля стандартов;
• разработку или приобретение готовых компонентов системы, при этом утверждаются и применяются все положения профиля; производится контроль, тестирование и испытания компонентов на соответствие требованиям и документам конкретного профиля стандартов;
• сопровождение, актуализацию и развитие системы, когда анализируются положения, параметры и результаты адаптации применяемой версии каждого профиля; выявляются и устраняются дефекты профилей;
• модернизацию профиля, с учетом появления более совершенных технических и программных средств и новых стандартов; при необходимости осуществляется формирование, документирование и внедрение новой модифицированной и уточненной версии соответствующего профиля.
Быстро оснащающиеся различными методами и средствами автоматизации этапы системного анализа, моделирования и предварительного проектирования не позволяют стабилизировать основу этих процессов, достаточную для их полной формализации на уровне международных стандартов. Поэтому для этих этапов могут создаваться и применяться профили ЖЦ ПС как проблемно-ориентированные совокупности нормативных документов и методических руководств, отражающие как наиболее современные методы, так и фрагменты действующих стандартов, в том числе стандартов «де-факто». При этом основу этих профилей могут составлять стандарты (см. рис. 2) процессов жизненного цикла систем (ISO 15288), административного управления системой качества (ISO 9000) и открытых систем (POSIX). Применение общесистемных, функциональных профилей должны поддерживать основные, технологические профили стандартов на основе стандарта ISO 12207 и Руководств по его применению, а также совокупности процессов жизненного цикла программных средств и баз данных.
Значительные достижения в организации, планировании, развитии и применении современных методов и технологии обеспечения крупномасштабных проектов ПС сосредоточены в методологии и стандарте СММ (Capability Maturity Model — система и модель для оценки зрелости) комплекса технологических процессов жизненного цикла ПС.
Рис. 19.2. Совокупности нормативных документов и методических руководств отражают современные методы, а также фрагменты действующих стандартов
Назначение методологии CMM/CMMI - системы и модели оценки зрелости — состоит в предоставлении необходимых общих рекомендаций и инструкций предприятиям, производящим ПС, по выбору стратегии совершенствования качества, процессов и продуктов путем анализа степени их производственной зрелости и оценивания факторов, в наибольшей степени влияющих на качество ЖЦ ПС, а также посредством выделения процессов, требующих модернизации. Для достижения устойчивых результатов в процессе развития технологии и организации управления жизненным циклом ПС в стандарте ISO 15504 рекомендуется использовать эволюционный путь, который позволяет совершенствовать и постепенно повышать качество процессов и продуктов, вскрывать преимущества и недостатки предприятия. В методологии СММ выделены пять уровней зрелости, раскрываемые в стандарте (рис.3). Виды деятельности для высоких уровней зрелости в соответствии с СММ, в стандарте делятся на базовые и общие. Базовые виды деятельности являются обязательными и сгруппированы в пять категорий: контрактная; инженерная; управленческая; вспомогательная; организационная. Эти уровни зрелости характеризуются степенью формализации, адекватностью измерения и документирования процессов и продуктов ЖЦ ПС, широтой применения стандартов и инструментальных средств автоматизации работ, наличием и полнотой реализации функций системы обеспечения качества технологических процессов и их результатов.
Описание процессов ЖЦ ПС в СММ сфокусировано на поэтапном определении реально достигаемых результатов и на оценивании качества их выполнения. Качество процессов зависит от технологической среды, в которой они выполняются. Зрелость процессов — это степень их управляемости, возможность поэтапной количественной оценки качества, контролируемость и эффективность результатов (см. рис. 19.3). Модель зрелости предприятия представляет собой методический нормативный материал, определяющий правила создания и функционирования системы управления жизненным циклом ПС, методы и стандарты постепенного повышения культуры и качества производства. Рост зрелости обеспечивает потенциальную возможность возрастания эффективности и согласованности использования процессов создания, сопровождения и оценивания качества компонентов и ПС в целом. Реальное использование регламентированных процессов предполагает их документирование и поэтапный контроль характеристик качества ПС. На предприятиях, достигших высокого уровня зрелости, формализованные процессы ЖЦ ПС должны принимать статус стандарта, фиксироваться в организационных структурах и определять производственную тактику и стратегию корпоративной культуры производства и системы обеспечения качества ПС.
Уровень 1 - начальный. Массовые разработки проектов ПС характеризуются относительно небольшими объемами программ в несколько тысяч строк, создаваемых несколькими специалистами. Они применяют простейшие не формализованные технологии с использованием типовых инструментальных компонентов операционных систем. Основные процессы ЖЦ ПС на этом уровне не регламентированы, выполняются не совсем упорядоченно и зависят от не координированных индивидуальных усилий и свойств специалистов. Успех проекта, как правило, зависит от энергичности, таланта и опыта нескольких руководителей и исполнителей. Процессы на первом уровне характеризуются своей непредсказуемостью по срокам в связи с тем, что их состав, назначение и последовательность выполнения могут меняться случайным образом в зависимости от текущей ситуации.
Уровень 2 - управляемый - базовое управление. Для сложных проектов ПС объемом в десятки и сотни тысяч строк, в которых участвуют десятки специалистов разной квалификации, необходимы организация, регламентирование технологии и унификация процессов деятельности каждого из них. Процессы на этом уровне заранее планируются, их выполнение контролируется, чем достигается предсказуемость результатов и времени выполнения этапов, компонентов и проекта в целом. Основной особенностью второго уровня является наличие формализованных и документированных процессов управления проектами, которые пригодны для модернизации, а их результаты, поддаются количественной оценке. На этом уровне акценты управления сосредоточиваются на предварительном упорядочении и регламентировании процессов создания, сопровождения и оценивания качества программного средства, однако для крупномасштабных проектов ПС с гарантированным качеством, риск провала может оставаться еще достаточно большим.
Уровень 3 - определенный - стандартизация процессов. При высоких требованиях заказчика и пользователей к конкретным характеристикам качества сложного ПС и к выполнению ограничений по использованию ресурсов, необходимо дальнейшее совершенствование и повышение уровня зрелости процессов ЖЦ ПС. Процессы ЖЦ ПС на этом уровне должны быть стандартизированы, и представлять собой единую технологическую систему, обязательную для всех подразделений. На основе единой технологии поддержки и обеспечения качества ЖЦ ПС, для каждого проекта могут разрабатываться дополнительные процессы последовательного оценивания качества продуктов с учетом их особенностей. Описание каждого процесса должно включать условия его выполнения, входные данные, рекомендации стандартов и процедуры выполнения, механизмы проверки качества результатов, выходные данные, условия и документы завершения процессов. В описания процессов включаются сведения об инструментальных средствах, необходимых для их выполнения, роль, ответственность и квалификация специалистов.
Уровень 4 - предсказуемый - количественное управление. Для реализации проектов крупномасштабных, особенно сложных ПС в жестко ограниченные сроки и с высоким гарантированным качеством, необходимы активные меры для предотвращения и выявления дефектов и ошибок на всех этапах ЖЦ ПС. Управление должно обеспечивать выполнение процессов в соответствии с текущими требованиями к характеристикам качества компонентов и ПС в целом. На этом уровне должна применяться система детального поэтапного оценивания характеристик качества, как технологических процессов ЖЦ, так и самого создаваемого программного продукта и его компонентов. Должны разрабатываться и применяться универсальные методики количественной оценки реализации процессов и их качества. Одновременно с повышением сложности и требований к качеству ПС, следует совершенствовать управление проектами за счет сокращения текущих корректировок и исправлений дефектов при выполнении процессов. Результаты процессов становятся предсказуемыми по срокам и качеству в связи с тем, что они измеряются в ходе их выполнения и реализуются в рамках заданных ресурсных ограничений.
Рис. 19.3. Уровни зрелости процессов по методологии СММ
Уровень 5 - оптимизационный - непрерывное совершенствование и улучшение. Дальнейшее последовательное совершенствование и модернизация технологических процессов ЖЦ ПС для повышения качества их выполнения и расширение глубины контроля за их реализацией. Одна из основных целей этого уровня — сокращение проявлений и потерь от случайных дефектов и ошибок путем выявления сильных и слабых сторон используемых процессов. При этом приоритетным является анализ рисков, дефектов и отклонений от заданных требований заказчика. Эти данные также используются для снижения себестоимости ЖЦ особо сложных ПС в результате внедрения новых технологий и инструментария, а также для планирования и осуществления модернизации всех видов процессов. Технологические нововведения, которые могут принести наибольшую выгоду, должны стандартизироваться и адаптироваться в комплексную технологию обеспечения и оценивания системы качества предприятия и его продукции.
В 2002 году американский институт программной инженерии (SEI) опубликовал новую модель CMMI, уточняющую и совершенствующую предшествовавшие модели СММ, а также учитывающую основные требования существующих международных стандартов в области менеджмента программных средств . Внедрение этой модели акцентировано на улучшении процессов управления проектами ПС, обеспечении их высокого качества и конкурентоспособности, с основной целью — сделать процессы проектов более управляемыми, а результаты — предсказуемыми. Значительное внимание в CMMI уделяется процессам разработки и учету итераций требований заказчиков, их прослеживанию к функциям, компонентам, тестам и документам проекта. Концепцию, определяющую функциональную пригодность и качество продукта, рекомендуется сопровождать проверками возможных сценариев событий при его применении.
Модель базируется на сохранении концепции пяти уровней зрелости СММ. Первый и пятый уровни отличаются значительной нестабильностью и неопределенностью процессов в различных проектах, поэтому при уточнении и детализации содержания процессов целесообразно ограничиваться тремя основными, средними уровнями (см. рис. 19.3):
• второй уровень — формализует базовое управление проектами: управление требованиями; планирование; мониторинг и контроль; измерение и анализ; обеспечение качества; управление конфигурацией;
• третий уровень — содержит стандартизацию процессов: разработка требований; интеграция продукта; верификация; валидация; обеспечение стандартного процесса; обучение; интегрированное управление; управление рисками; анализ и разрешение проблем (устранение дефектов);
• четвертый уровень — определяет количественное управление качеством процессов; количественное управление всем проектом и ресурсами.
Рекомендуется на каждом более высоком уровне зрелости применять все процессы предыдущих нижних уровней. Упорядочение и оценка используемых процессов в соответствии с уровнями, позволяет устанавливать производственный потенциал предприятий - разработчиков программных продуктов по прогнозируемому качеству результатов их деятельности и возможности сертификации. Это уменьшает зависимость заказчиков и пользователей от возможных недостатков исполнителей проектов и позволяет их выбирать с учетом прогнозируемого качества продуктов.
Практически все перечисленные процессы и требования, конкретизированные на трех выделенных уровнях модели CMMI, соответствуют регламентированным и детализированным в стандартах ISO 9001:2000, ISO 12207 и основных компонентах профиля стандартов жизненного цикла сложных ПС (см. рис. 19.2). Стандарты CMMI и ISO 9001:2000 во многом подобны по структуре и содержанию требований к организации и планированию ЖЦ ПС. Две модели CMMI созданы для возможности непрерывного оценивания процессов в определенной области создания ПС и для поэтапного оценивания совершенствования зрелости предприятия, а также организации его производства комплексов программ в целом. Требованиям в функциональных разделах 4 - 8 стандарта ISO 9001 могут быть сопоставлены подобные по содержанию разделы в модели CMMI. Общность процессов и требований CMMI и ISO 9001 состоит в подобии терминологии, структуры, рекомендуемых процессов управления, планирования, учета доступных ресурсов, оценивания организации специалистов. Некоторые требования в ISO 9001 и тем более положения и рекомендации почти всего профиля стандартов не покрываются содержанием требований в моделях CMMI. Требования ISO 9001 развиваются и детально комментируются процессами их реализации в стандарте ISO 9004:2000 и в представленном профиле, включающем около сорока стандартов (рис. 19.2), что не предусмотрено в рекомендациях CMMI. Таким образом, при практической реализации и обеспечении всего жизненного цикла сложных ПС разработчикам и поставщикам целесообразно использовать полный профиль стандартов, а для оценивания заказчиками уровня менеджмента, организационного и технологического обеспечения проектов ПС применять конкретные рекомендации CMMI или ISO 9001:2000. Эти рекомендации могут эффективно использоваться при сертификации качества процессов на предприятиях, обеспечивающих ЖЦ ПС, как альтернатива или наряду с сертификацией по комплексу стандартов менеджмента ISO 9000 в зависимости от особенностей проекта и требований заявителя на сертификацию программного продукта и/или технологии обеспечения его жизненного цикла.
Перечень основных стандартов, регламентирующих жизненный цикл программных средств:
1.ISO 9000:2000. (ГОСТ Р - 2001). Система менеджмента (административного управления} качества. Основы и словарь.
2.ISO9001:2000. (ГОСТР - 2001). Система менеджмента (административного управления) качества. Требования.
3.ISO 9004:2000. (ГОСТ Р - 2001). Система менеджмента (административного управления) качества. Руководство по улучшению деятельности.
4.ISO 90003:2004 — Руководство по организации применения стандарта ISO 9001:2000 для программных средств.
5.ISO 10005:1995 — Административное управление качеством. Руководящие указания по программам качества.
6.ISO 10006:1997 — Руководство по качеству при управлении проектом.
7.ISO 10007:1995 — Административное управление качеством. Руководящие указания при управлении конфигурацией.
8.ISO 10011-1-3: 1990. - Руководящие положения по проверке систем качества. Ч.1. Проверка. Ч.2. Квалификационные критерии для инспекторов-аудиторов систем качества. Ч.3. Управление программами проверок.
9. ISO 10013: 1995. — Руководящие указания по разработке руководств по качеству.
10. ISO 14252:1996 (IEEE 1003.0). - Руководство по функциональной среде открытых систем POSDC.
11.ISO9945-1:1990 (IEEE 1003.1). - ИТ. Интерфейсы переносимых операционных систем. Ч.1. Интерфейсы систем прикладных программ (язык Си).
12.ISO 9945-2:1992 (IEEE 1003.2). - ИТ. Интерфейсы переносимых операционных систем. Часть 2. Команды управления и сервисные программы.
13.ISO 13210:1994. - ИТ. Методы тестирования для измерения соответствия стандартам POSIX.
14. ISO 15288:2002. - Системная инженерия. Процессы жизненного цикла систем.
15.ISO 19760:2003. - Системная инженерия. Руководство по применению стандарта ISO 15288.
16. ISO 12207:1995. (ГОСТ Р - 1999). - ИТ. Процессы жизненного цикла программных средств.
17. ISO 15271:1998. (ГОСТ Р - 2002). - ИТ. Руководство по применению ISO 12207.
18. ISO 16326:1999. (ГОСТ Р - 2002). - ИТ, Руководство по применению ISO 12207 при административном управлении проектами.
19. ISO 15504:1-9:1998. - ТО. Оценка и аттестация зрелости процессов жизненного цикла программных средств. Ч. 1. Основные понятия и вводное руководство. Ч.2. Эталонная модель процессов и их зрелости. Ч.З. Проведение аттестации. Ч.4. Руководство по проведению аттестации. Ч.5. Модель аттестации и руководство по показателям. Ч.6. Руководство по компетентности аттестаторов. Ч.7. Руководство по применению при усовершенствовании процессов. Ч.8. Руководство по применению при определении зрелости процессов поставщика. Ч.9. Словарь.
20. ГОСТ Р 51904 - 2002. - Программное обеспечение встроенных систем. Общие требования к разработке и документированию.
22. ISO 9126:1991. (ГОСТ - 1993). — ИТ. Оценка программного продукта. Характеристики качества и руководство по их применению.
23. ISO 14598:1-6:1998-2000. - Оценивание программного продукта. Ч.1. Общий обзор. Ч.2. Планирование и управление. Ч.3. Процессы для разработчиков. Ч.4. Процессы для покупателей. Ч.5. Процессы для оценщиков. Ч.6. Документирование и оценивание модулей.
24. ISO 9126:1-4:2002-2004. ТО. - Качество программных средств: Ч.1. Модель качества.
Ч.2. Внешние метрики. Ч.3. Внутренние метрики. Ч.4. Метрики качества в использовании.
25. ISO 25000:2005. ТО. - Руководство для применения новой серии стандартов по качеству программных средств на базе обобщения стандартов ISO 9126:1-4:2002 и ISO 14598:1-6:1998-2000.
26. ANSI/IEEE 829 - 1983. - Документация при тестировании программ.
29. ISO 12119:1994. (ГОСТ Р - 2000 г). ИТ. - Требования к качеству и тестирование.
30.ISO 14756:1999. ИТ. - Измерение и оценивание производительности программных средств компьютерных вычислительных систем.
31.IEC 61508:1-6:1998-2000. - Функциональная безопасность электрических / электронных и программируемых электронных систем. Часть 3. Требования к программному обеспечению. Часть 6. Руководство по применению стандартов IEC 61508-2 и IEC 61508-3.
32.ISO 15408:1-3:1999. (ГОСТ Р - 2002). - Методы и средства обеспечения безопасности. Критерии оценки безопасности информационных технологий. Ч. 1. Введение и общая модель. Ч. 2. Защита функциональных требований. Ч. 3. Защита требований к качеству.
33.ISO 13335:1-5:1996-1998. ТО.- Руководство по управлению безопасностью, Ч.1. Концепция и модели обеспечения безопасности информационных технологий. Ч.2. Планирование и управление безопасностью информационных технологий. Ч.3. Техника управления безопасностью ИТ. Ч.4. Селекция (выбор) средств обеспечения безопасности. Ч.5. Безопасность внешних связей.
34. IEC 60880:1998. - Ч.1.1986. Программное обеспечение компьютеров в системах безопасности атомных электростанций. Ч.2.2000. Программные аспекты защиты от отказов по общим причинам, использование программных инструментов и ранее разработанного программного обеспечения.
35. ISO 16085: 2004. - Характеристики процессов управление рисками при разработке, применении и сопровождении программных средств.
36. ISO 10181:1-7:ВОС:1996-1998. - Структура работ по безопасности в открытых системах. Ч.1. Обзор. Ч.2. Структура работ по аутентификации. Ч.3. Структура работ по управлению доступом. Ч.4. Структура работ по безотказности. Ч.5. Структура работ по конфиденциальности. Ч.6. Структура работ по обеспечению целостности. Ч.7. Структура работ по проведению аудита на безопасность.
42. ISO 18019:2004. ИТ. - Руководство по разработке пользовательской документации на прикладные программные средства для офисов, бизнеса и профессиональных применений.
43.РД 50-34.698-90. - Методические указания. Информационная технология. Автоматизированные системы. Требования к содержанию документов.
44. ГОСТ Р 51901-2002. - Управление надежностью. Анализ риска технологических систем.
45. DO-178 В -1995. - Соглашение по сертификации бортовых систем и оборудования в части программного обеспечения.
46. ISO 14102:1995. - Оценка и выбор CASE-средств.
47. ISO 14471:1995. - Руководство по адаптации CASE- средств.
48. ISO 14143: 1-5: 1998 - 2004. ИТ. - Измерение программных средств. Измерение функционального размера. Ч.1. 1998. Определение концепции. Ч.2. 2002. Оценивание соответствия методов измерения размера программных средств стандарту ISO 14143:1:1998. Ч.3. 2003. Верификация методов измерения функционального размера. Ч.4. 2002. Эталонная модель. Ч.5. 2004. Определение функциональных доменов для использования при измерении функционального размера.
Вопросы для самоконтроля:
1. Какие группы профилей можно выделить в жизненном цикле ПС?
2. Назовите основные классы жизненного цикла ПС.
3. Какова основная цель современных технологий поддержки ЖЦ ПС?
4. Что является методической основой технологии ЖЦ ПС?
5. Перечислите 8 базовых принципов, которые декларированы в стандартах ISO 9000:2000 и ISO 15504:1-9:1998.
6. Какие группы основных общесистемных стандартов целесообразно выбирать для регламентирования жизненного цикла сложных систем и комплексов программ?
7. Какие существуют основные общесистемные стандарты?
8. В чем назначение методологии CMM/CMMI?
9. Перечислите уровни зрелости процессов по методологии СММ.
10. Назовите несколько основных стандартов, регламентирующих жизненный цикл программных средств.
Список литературы:
1. Бугорский, В.Н. Сетевая экономика и проектирование информационных систем. Учебное пособие [Текст] / Р.В. Соколов. – СПБ.: Питер, 2007. – 320 с.
2. Карминский, A.M. Информационные системы в экономике. Практика использования [Текст] / А.М. Карминский, Б.В. Черников. – М.: Финансы и статистика, 2006. – 240 с.
3. Коннолли, Т. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. 3-е издание [Текст] / Т. Коннолли, К. Бегг. – М.: Издательский дом «Вильяме», 2005. — 1440 с.
4. Титоренко, Г.А. Информационные системы в экономике [Текст] / Г.А. Титоренко. – М.: Альфа, 2008. – 463 с.
5. Фролова, Т.П. Проектирование экономических информационных систем [Текст] / Т.П. Фролова. – М.: Приоритет, 2009. – 310 с.