Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Липаев В.В. Программная инженерия

.pdf
Скачиваний:
720
Добавлен:
02.05.2014
Размер:
10.14 Mб
Скачать

Лекция 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 к этому стандарту изложены основы преобразования и адаптации базовой структуры про­ цессов ЖЦ для профиля конкретного проекта ПС и БД, В них даны общие рекомендации по адаптации процессов ЖЦ, а также конкретные рекомендации по возможным изменениям ряда работ и результирующих документов в зависимости от характеристик конкретного объекта и про­ цесса его разработки. В связи с возрастающей ролью качества сложных ПС целесообразно выделять профиль обеспечения качества ПС и БД конк­ ретной системы, регламентирующий требования к качеству и меры по его обеспечению.

Модель профиля стандартов :н€изненного цикла сложных программ­ ных средств обычно формируется из 1012 базовых стандартов. Их количество зависит от целей, сложности и особенностей проекта, от на­ значения и области применения модели, а также от возможностей фор­ мализации ее компонентов. Для последующего изложения программной инженерии при их выборе и формировании модели профиля стандартов учитывалось наличие международных стандартов (Приложение 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