
Липаев В.В. Программная инженерия
.pdfЛекция 2. Профили стандартов жизненного цикла систем в программной инженерии
нения с учетом характеристик проекта, методологии и технологии созда ния ПС, а также предполагаемых средств автоматизации разработки, со провождения и управления конфигурацией комплекса программ. На этом этапе описываются как функциональные, так и технические требования, устанавливаемые в профиле.
В уточненном плане реализации системы должны быть представлены ссылки на состав и содержание документов каждого профиля, выделены компоненты, параметры и ограничения, сформированные в процессе адап тации профиля ЖЦ данного ПС. Для разработчиков и заказчиков на этом этапе должен быть создан проект руководства применения профилей на последующих этапах ЖЦ. В результате на этом этапе формируется про ект адаптированного набора профилей. Необходимо провести предва рительное обучение разработчиков проекта применению профилей ЖЦ ПС и основным концепциям профилей для данной системы. Конкретиза ция обеспечения технологической поддержки последующей разработки ПС позволяет завершить и утвердить адаптированные профили, под держивающие ЖЦ ПС, а также руководства по их применению. Резуль татом этого процесса является определение стандартов и выбор интерфей сов, которые удовлетворяют требованиям, предъявляемым к системе в целом.
Этап разработки системы и комплекса программ связан, прежде всего, с программированием и тестированием компонентов ПС, которые создаются заново для данной системы. Одновременно создаются функци ональные тесты для проверки выполнения компонентами заданных функ ций. Разработка программных средств и их компонентов производится с помощью инструментальных средств, отвечающих требованиям выбран ного ранее профиля методологии и технологии. Системные, аппаратные и программные средства необходимо проверять на соответствие функцио нальным и эксплуатационным требованиям профилей. Если закупленные продукты или платформы уже прошли у поставщика тестирование на со ответствие профилям, процедура тестирования у потребителя может быть несколько сокращена при условии, что нет проблем с несоответствием архитектуры стандартам. Состав и содержание применяемых документов профилей ЖЦ ПС должны быть тесно связаны с планом и перечнем работ, выполняемых на соответствующих этапах. В обязательных документах
50
2.2. Жизненный цикл профилей стандартов систем и программных средств
должно быть также отражено содержание дополнительных нормативных документов, согласуемых с заказчиком.
На этапе внедрения профиля стандартов важно иметь план по его применению. Руководители высшего уровня должны установить приори теты при реализации отдельных частей и требований профиля. Внедрение профиля в соответствии с задачами проекта или предприятия будет упро щено, если ключевые цели обеспечения функциональной совместимости будут четко документированы в профиле. План внедрения профиля дол жен быть действующим документом и постоянно актуализироваться по мере изменения проекта.
Для обеспечения корректного применения каждого профиля должна быть разработана и утверждена методика проверки и тестирования для установления степени соответствия комплекса программ утвержденному профилю ЖЦ ПС и БД. Содержание и рекомендации профилей ЖЦ должны быть освоены специалистами, осуществляющими контроль их выполне ния и тестирование создаваемого комплекса программ. Отдельные компо ненты профиля подлежат тестированию как с точки зрения соответствия необходимым стандартам, так и соответствия требованиям, сформулиро ванным в терминах их характеристик качества. Тестирование на соответ ствие не гарантирует функциональной совместимости, оно представляет лишь тест на соответствие набору тестовых утверждений, содержащихся в стандарте. Поведение объекта отслеживается и сравнивается с ожидаемым результатом эталонной реализации.
После детального проектирования версии ПС все последующие рабо ты по созданию комплекса программ, вплоть до завершения испытаний и сертификации, должны проводиться в соответствии с утверлсденными профилями ЖЦ ПС, руководствами по их применению и проверяться на соответствие профилям по утвержденным методикам тестирования. Для этого должны быть созданы план, перечень и содержание работ, в кото рых применяются конкретные фрагменты, определенные положения каж дого профиля и разделы методики, по которым тестируется соответствие версии ПС данному профилю. Наиболее полная проверка соответствия утвержденному профилю производится в процессе испытаний комплекса программ. В акте по результатам испытаний кроме всех характеристик версии программного продукта должно быть отражено соответствие про-
51
Лекция 2. Профили стандартов жизненного цикла систем в программной инженерии
филям стандартов в той их части, которая непосредственно влияет на характеристики версии программного продукта. Кроме того, должны быть обобщены и представлены результаты применения утвержденных профи лей ЖЦ ПС в процессе создания данной версии комплекса программ.
При сопровождении программного продукта и создании его новых версий накапливается опыт применения каждого использованного профи ля стандартов ЖЦ, проявляются его некоторые недостатки и появляются предложения по модернизации. На этой стадии профиль продолжает вы полнять регламентирующую функцию в качестве инструмента для управ ления конфигурацией системы. На этапе сопровождения профиль превра щается в документ, позволяющий установить план текущих и долгосроч ных мероприятий по развитию инфраструктуры предприятия и внедрению новых систем. Кроме того, в течение времени эксплуатации созданной версии программного продукта возможно появление новых стандартов деюре и де-факто, которые целесообразно учесть в конкретном профиле. Сопровождение и смена версий ПС может привести к необходимости кор ректировки и модернизации конкретного профиля ЖЦ системы. Такая мо дернизация профиля может отразиться не только на вновь создаваемых версиях ПС, но потребовать доработок уже эксплуатируемых версий.
Жизненный цикл профиля стандартов ПС при его сопровождении может в некоторой степени повторять ЖЦ системы и/или ПС, созданных с его применением. Для этого следует разработать или выбрать и утвердить
Руководство по сопровождению, развитию и модификации профиля
ЖЦ ПС, а также методики и план управления конфигурациями версий профиля, включающие:
—правила и процедуры идентификации компонентов и версий про филя стандартов;
—методики сбора, накопления и обработки сообщений о предлагае мых изменениях профиля;
—методики корректировки и извещения пользователей о выполнен ных изменениях в профиле, влияющих на характеристики качества про граммного продукта;
—методики и руководства по поддержке сохранности и адекватнос ти документации и средств, реализующих требования и рекомендации профиля;
52
2.2.Жизненный цикл профилей стандартов систем и программных средств
—руководство по вводу очередной версии профиля стандартов ЖЦ
ПС.
При применении профилей следует обеспечить проверку корректно
сти их использования путем тестирования, испытаний и сертифика ции, для чего должна быть создана технология контроля и тестирования в процессе применения профиля специалистами. Она должна быть поддер жана совокупностью методик, инструментальных средств, составом и со держанием оформляемых документов на каждом этапе обеспечения и кон троля корректности применения соответствующей версии и положений профиля. Профили должны определяться таким образом, чтобы тестиро вание их реализации можно было осуществлять по возможности наиболее полно, по стандартизированной методике. При сертификации сложных систем как специальный вид испытаний целесообразно выделять серти
фикацию на соответствие профилям:
—процессов жизненного цикла системы и основных компонентов ПС и БД;
—продуктов и компонентов системы, подготовленных и рекоменду емых для эксплуатации и сопровождения.
В ряде случаев производится перенос разработанного программно го продукта с инструментальной платформы разработчика системы на реальную — целевую платформу применения ПС. При этом проверяется соответствие реальной платформы требованиям функциональных профи лей системы и функционирование ПС на реальной платформе. Этап вне дрения предполагает адаптацию и настройку программного продукта на реальные условия эксплуатации, для которых он создавался. Приемочные испытания ПС должны проводиться в условиях реальной эксплуатации на соответствие спецификациям функциональных требований и требованиям полного профиля ПС, который был сформирован в процессе создания системы.
Последующая детализация требований и положений профилей долж на проводиться с ориентацией на унификацию конкретных процессов, работ и документов версий программного продукта определенного функ ционального назначения. Можно выделить следующие осн^вяы^ группы
специалистов, использующие документы профилей:
— руководители — менеджеры крупного проекта системы и ее ос новных, функциональных компонентов программного продукта;
53
Лекция 2. Профили стандартов жизненного цикла систем в программной инженерии
—менеджеры — системные аналитики, создатели спецификаций тре бований, пилотных проектов компонентов и алгоритмов решения функци ональных задач;
—программисты-разработчики программных компонентов, структур
исодержания данных;
—интеграторы функциональных программных компонентов, тести рующие и отлаживающие крупные функциональные компоненты или ПС
вцелом;
—специалисты сопровождения и управления конфигурацией версий программных продуктов;
—испытатели и сертификаторы программных продуктов;
—разработчики технологии, инструментальных средств, методичес ких, руководящих и инструктивных документов, обеспечивающих реали зацию профилей стандартов ЖЦ ПС.
Для деятельности перечисленных выше категорий специалистов на базе профилей должен быть создан комплект документов, каждый из которых имеет конкретных пользователей в жизненном цикле ПС. В них должно быть отражено:
—содержание и описание выбранных положений и разделов стан дартов и нормативных документов профиля с позиции его конкретного пользователя;
—параметры адаптации разделов стандартов профиля и содержание дополнительных нормативных документов;
—методика и сценарии корректного применения всех обязательных
ирекомендуемых положений профиля стандартов;
—требования к содержанию отчетов о результатах контроля и тести рования компонентов системы на соответствие обязательным положениям профиля стандартов в процессе их жизненного цикла.
2.3. Модель профиля стандартов жизненного цикла сложных программных средств
Комплексное, скоординированное применение профилей стандартов и средств в процессе создания, развития и применения ПС позволяет ис ключать многие виды дефектов или значительно ослаблять их влияние.
54
2.3. Модель профиля стандартов жизненного цикла сложных программных средств
Тем самым уровень достигаемого качества ПС становится предсказуе мым и управляемым, непосредственно зависящим от ресурсов, выделяе мых на его достижение, а главное, от системы качества и эффективности технологии, используемых на всех этапах жизненного цикла ПС.
Процессы жизненного цикла ПС основаны на двух исходных принци пах: модульности и ответственности. Процессы являются модульны ми в том смысле, что они: строго связаны и взаимоувязаны; свободно соединены. Число интерфейсов между процессами сведено к минимуму. В принципе каждый процесс предназначен для реализации уникальной фун кции в жизненном цикле и может привлекать другой процесс для выпол нения специализированной функции. Для обозначения, определения обла сти применения и структурирования процессов используются правила:
—процесс должен быть модульным, т. е. один процесс должен вы полнять одну и только одну функцию в жизненном цикле, а интерфейсы между двумя любыми процессами должны быть минимизированы;
—если функция вызвана более чем одним процессом, тогда функция сама становится процессом;
—должна быть возможность верификации любой функции в модели жизненного цикла ПС;
—каждый процесс должен иметь внутреннюю структуру, установ ленную в соответствии с тем, что должно им быть выполнено.
Когда организация в целом (или ее часть) заключает договор на про граммный продукт, то она становится стороной. Организация имеет са мостоятельные подразделения, а стороны могут быть из одной или разных организаций. Каждый процесс должен быть рассмотрен с точки зрения
ответственности (обязанностей) стороны. Организация может выпол нять один или несколько процессов. Сторона, выполняющая процесс, не сет ответственность за весь данный процесс, даже если выполнение от дельных задач поручено другим людям. Принцип ответственности в архи тектуре и процессах жизненного цикла облегчает применение профилей стандартов для конкретного проекта, в который может быть вовлечено множество лиц.
Общая структура и состав профиля стандартов жизненного цикла системы и крупного программного средства для управления проектом представлены на рис. 2.3. На этом рисунке выделены и отражены группа
55
Лекция 2. Профили стандартов жизненного цикла систем в программной инженерии
базовых стандартов управления проектами систем и основными процес сами сложных программных средств, а также перечень совокупности стан дартов, детализирующих и поддерлсивающих процессы их жизненного
цикла. Выделенные базовые стандарты образуют иерархическую группу и тесно связаны между собой концепциями, требованиями, процессам и ссыл ками. Основу профилей управления проектами составляют две группы: стандарты менеджмента качества процессов жизненного цикла систем —
СММ1:2003 —
Интегрированная модель оценивания зрелости продуктов и процессов разработки программных средств
180 9001:2000 —
Система менеджмента (административного управления) качества. Требования
ISO 15288:2002 — |
ISO 12207:1995 — |
ISO 90003:2004 — |
|
Процессы жизненного |
Руководство |
||
Системная инженерия. |
|||
цикла программных |
по организации |
||
Процессы жизненного |
|||
средств |
применения стандарта |
||
цикла систем |
|||
|
150 9001:2000 |
||
|
|
||
|
|
для программных средств |
|
|
ISO15504:l-9:1998 — |
|
|
|
Оценка и аттестация зрелости |
|
|
|
процессов жизненного цикла |
|
|
|
программных средств |
|
Стандарты детализации и поддержки процессов жизненного цикла программных средств:
-управления качеством программных средств;
-открытых систем, регламентирующие интерфейсы программных средств;
-руководства по применению базовых стандартов жизненного цикла программных средств;
-верификации и тестирования программных средств;
- сопровождения и управления конфигурацией программных средств;
-оценки характеристик качества программных средств;
-обеспечения функциональной безопасности программных средств;
-регламентирующие документирование программных средств;
-сертификации в жизненном цикле программных средств
Рис. 2.3
56
2.3. Модель профиля стандартов жизненного цикла сложных программных средств
СММ1:2003 и менеджмента (административного управления) системой качества (требования) — ISO 9001:2000. Так как эти стандарты имеют много общего и трудно выделить их преимущества, то при реальной раз работке крупных проектов целесообразно уделять приоритет одной из групп в зависимости от особенностей конкретного проекта и предшество вавшего опыта специалистов предприятия.
Некоторым преимуществом применения стандарта ISO 9001 для уп равления проектами ПС является его развитие и детализация требований в специальном руководстве ISO 90003:2004 для программных средств. В этом руководстве цитируется каждое требование ISO 9001, оно комменти руется и снабжается особенностями реализации процессов управления для конкретных проектов программных средств. Кроме того, при описании ряда процессов управления проектом для их уточнения и конкретизации делаются ссылки на основные стандарты, регламентирующие жизненный цикл ПС: ISO 12207, ISO 15504, ISO 9126, а в приложении проводится сопоставление требований этого стандарта с процессам управления и с рекомендациями стандарта ISO 12207.
Часто создание профилей стандартов крупных программных проек тов начинается с определения жизненного цикла системы, процессы кото рого регламентируются стандартом ISO 15288:2002. Положения этого стан дарта коррелированны с рекомендациями стандарта ISO 12207, которые детализируются в стандарте ISO 15504:1-9:1998 и в последующей боль шой группе стандартов (см. рис. 2.3).
Профиль :жизненного цикла ПС и БД целесообразно определять на основе подмножества процессов, работ и задач стандарта ISO 12207, вы бирая их с учетом характеристик проекта конкретной системы. Возможно, что к выбранному подмножеству потребуется добавление дополнитель ных процессов, работ, задач и нормативных документов, связанных со спецификой данной системы. Это рекомендуется в новых Приложениях 1 и 2 к этому стандарту, а также в ряде руководств, детализирующих основ ные процессы стандарта ISO 12207. Ряд работ, особенно на наиболее творческих этапах создания программного средства, не регламентируется стандартами. Это не позволяет разрабатывать и применять профили ЖЦ ПС, основанные только на базе стандартов. Иногда целесообразно допол нительно регламентировать такие работы нормативными документами и
57
Лекция 2. Профили стандартов жизненного цикла систем в программной инженерии
спецификациями разработчиков проекта системы или ведомственными нор мативными документами.
В стандарте ISO 12207 и Приложениях 1 и 2 к этому стандарту изложены основы преобразования и адаптации базовой структуры про цессов ЖЦ для профиля конкретного проекта ПС и БД, В них даны общие рекомендации по адаптации процессов ЖЦ, а также конкретные рекомендации по возможным изменениям ряда работ и результирующих документов в зависимости от характеристик конкретного объекта и про цесса его разработки. В связи с возрастающей ролью качества сложных ПС целесообразно выделять профиль обеспечения качества ПС и БД конк ретной системы, регламентирующий требования к качеству и меры по его обеспечению.
Модель профиля стандартов :н€изненного цикла сложных программ ных средств обычно формируется из 10—12 базовых стандартов. Их количество зависит от целей, сложности и особенностей проекта, от на значения и области применения модели, а также от возможностей фор мализации ее компонентов. Для последующего изложения программной инженерии при их выборе и формировании модели профиля стандартов учитывалось наличие международных стандартов (Приложение 1), кото рые могут использоваться при определении жизненного цикла ПС и объеди нении их в профиль, пригодный для последующего использования в тех нологии создания и развития крупного проекта. Поэтому ряд нестандартизированных — творческих процессов явно не отражен в рассматриваемой модели, однако они существенны для реального жизненного цикла ПС.
Сформированный и используемый далее в лекциях профиль лсизненного цикла ПС состоит из трех групп стандартов — рис. 2.4:
—группы стандартов управления жизненным циклом сложных про ектов систем и программных средств, возглавляемой стандартами менедж мента — CMMI и ISO 9000;
—группы стандартов проектирования, разработки, сопровождения и управление! конфигурацией, регламентируемой базовыми стандартами жиз ненного цикла систем и программных средств — ISO 15288 и ISO 12207;
—группы стандартов оценивания и обеспечения качества, безопас ности и документирования в жизненном цикле программных средств, с головными стандартами — ISO 9126 и ISO 25000.
58
2.3. Модель профиля стандартов жизненного цикла сложных программных средств
Каждая выделенная группа профиля стандартов жизненного цик ла (см. рис. 2.4) детализирована набором стандартов, которые представле ны в Приложении 1. Эта схема далее рассматривается как базовая в про граммной инженерии, подлежащая конкретизации и адаптации в проектах в соответствии с особенностями развития профиля жизненного цикла про граммного средства (см. рис. 2.2). Большинство представленных стандар тов изложено достаточно детально для практического применения в пос ледующих лекциях.
Интегрированная модель оценивания зрелости продуктов и процессов разработки программных средств CMMI
Базовые стандарты |
Стандарты системы |
Стандарты управления |
|
менеджмента |
|
жизненным циклом |
|
жизненного цикла |
качества |
|
программных средств |
систем и ПС |
|
|
|
п: |
|
Стандарты |
|
Руководства |
управления |
||
по применению базовых |
качеством ПС |
||
стандартов ПС |
|
Стандарты |
|
|
Х |
|
|
Стандарты |
Стандарты |
|
интерфейсов |
верификации |
|
открытых |
|
разработки, |
|
||
и тестирования ПС |
|
систем |
|
сопровождения |
|
||
I |
|
|
|
и управления |
|
|
|
Стандарты |
|
|
|
конфигурацией |
|
|
|
сопровождения |
|
||
программных |
|
||
средств |
и управления |
|
|
|
конфигурацией ПС |
|
|
Стандарты оценки |
|
|
|
характеристик |
|
|
|
качества ПС |
|
Стандарты обеспечения |
|
Стандарты обеспечения |
качества в жизненном цикле |
||
|
программных средств |
||
функциональной |
|
|
|
безопасности ПС |
|
|
Стандарты документирования ПС
|
|
Стандартизация |
Рис. |
2.4 |
сертификации ПС |
|
59