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

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

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

Лекция 11. Характеристики качества программных средств

назначение ПС полностью и корректно детализировано в требова­ ниях к функциям комплекса программ и его компонентов;

реализация требований к функциям ПС обеспечена достоверным и адекватным составом и содержанием исходной информации от объектов внешней среды;

реализация функций ПС способна подготавливать всю требуемую

идостаточно корректную информацию для пользователей и объектов внеш­ ней среды.

Прослелсивание качества результатов при углублении и детали­ зации этих описаний и обеспечение их взаимной адекватности является основой для определения группы показателей функциональной пригодно­ сти. Они должны максимально полно и точно представляться в контракте, техническом задании и спецификациях требований к ПС и к его функцио­ нальным компонентам, так как устранение их дефектов требует особенно крупных ресурсов.

Любые ПС, прежде всего, должны иметь экономическую, техничес­ кую, научную или социальную эффективность применения, которая в про­ ектах должна отражать основную цель их экизненного цикла в системе. Эта системная эффективность может быть описана количественно или качественно, в виде набора полезных свойств программного продукта, их отличий от имеющихся у других комплексов программ, а также источни­ ков возможной эффективности. В результате должны быть формализова­ ны цель использования и набор главных требований заказчика и пользова­ телей при приобретении программного продукта, а также предполагаемая его сфера применения и назначение. Полнота и точность представления этой характеристики ПС может оцениваться в основном экспертно и явля­ ется исходной для прослеживания всех последующих, производных свойств и атрибутов функциональной пригодности.

Цель и назначение ПС детализируются и формализуются в требова­ ниях к функциям компонентов и всего комплекса программ, способного реализовать декларированные цели:

соответствие комплекса программ функциям системы;

соответствие автоматизируемых функций и комплексов задач на­ значению ЖЦ ПС;

общие технические требования к реализации функций, компонен­ тов и задач.

300

11.2. Свойства и атрибуты качества функциональных возможностей...

Адекватность и полнота отражения требуемыми функциями сформу­ лированного назначения ПС является характеристикой, определяющей по­ тенциальную возможность реализации его функциональной пригодноети в целом. Прослеживание детализации и покрытия целей, требования­ ми к функциям сверху вниз (начиная от целей ПС), а также конкретизация и корректировка целей снизу вверх от потенциально реализуемых функ­ ций компонентов должны обеспечивать адекватность и качество этой час­ ти декларируемой основы функциональной пригодности.

Функции ПС реализуются в определенной аппаратной, операционной и пользовательской внешней среде системы, характеристики которых су­ щественно влияют на функциональную пригодность. Для выполнения тре­ буемых функций комплекса программ необходима адекватная исходная

информация от объектов внешней среды, содержание которой должно полностью обеспечивать реализацию декларированных функций. Полнота формализации номенклатуры, структуры и качества входной информации для выполнения требуемых функций является одной из важных составля­ ющих при определении функциональной пригодности ПС в соответству­ ющей внешней среде.

Цель и функции ПС реализуются тогда, когда выходная информация достигает потребителей — объектов или операторов-пользователей, с тре­ буемым содержанием и качеством, достаточным для обеспечения ее эф­ фективного применения. Содержательная часть этой информации опреде­ ляется конкретными задачами системы, основными технико-экономичес­ кими и/или социальными показателями функционирования системы и отражается метриками в использовании. Степень покрытия всей выход­ ной информацией: целей, назначения и функций ПС для пользователей — следует рассматривать как основную меру качества функциональной при­ годности. Прослеживание и оценивание адекватности и полноты состава выходной информации снизу вверх к назначению ПС должны завершать выбор базовых субхарактеристик качества функциональной пригодности, независимо от сферы применения системы.

В процессе проектирования в составе функциональной пригодности могут быть выделены две группы базовых субхарактеристик, определяю­ щие функциональные и структурные требования и особенности ПС,

При формализации и выборе функциональных требований следует, воз­ можно, четко формулировать в документах контракта:

301

Лекция 11. Характеристики качества программных средств

экономические, организационные, технические и/или социальные стратегические цели всего жизненного цикла ПС и его компонентов;

назначение, внешнюю среду и условия эффективного применения

ПС;

системную эффективность и в том числе требуемые технико-эко­ номические показатели применения ПС в составе системы;

функциональные задачи основных компонентов и ПС в целом, а также системную эффективность каждого;

необходимое и достаточное качество и временной регламент ре­ шения каждой функциональной задачи;

соответствие ПС и его компонентов стандартам и нормативным документам на проектирование и применение;

ограничения параметров внешней среды и условий для примене­ ния ПС, гарантирующие требуемые характеристики функциональной при­ годности.

Функциональная пригодность в течение жизненного цикла ПС зави­ сит от структурных (архитектурных) характеристик, которые долж­ ны отражаться в требованиях технического задания и/или спецификаций на компоненты и ПС в целом:

соответствие функций и структуры программного средства аппа­ ратной и операционной среде и их ограниченным ресурсам;

соответствие правил структурного построения комплекса, функ­ циональных компонентов и модулей типовым требованиям к архитектуре ПС и его компонентов, а также к уровню покрытия ими заданных функций комплекса программ;

состав, структура и способы организации данных, а также требова­ ния к обмену данными между компонентами ПС должны быть адекватны организации информационного обеспечения и функциям системы;

должны быть заданы временной регламент и характеристики про­ цесса динамической реализации автоматизированных функций;

должно быть определено допустимое время задержки выдачи ре­ зультатов решения задач;

должны быть предусмотрены и реализованы требования к контро­ лю, хранению, обновлению и восстановлению программ и данных.

Вряде систем особое значение для функциональной пригодности имеет системное проектирование организации информационного обеспе­ чения и базы данных (см. п. 11.4). При этом должны быть определены:

302

11.2.Свойства и атрибуты качества функциональных возможностей...

назначение базы данных и состав информации в ней;

совместимость ПС с другими системами по источникам и пот­ ребителям информации базы данных;

организация сбора, передачи, контроля и корректировки информа­ ции базы данных;

интенсивность и объемы потоков информации базы данных.

После формулирования требований к функциональной пригоднос­

ти нового проекта ПС обычно целесообразно попытаться найти готовые ПС с требуемыми функциями. Однако множество мелких конструктив­ ных, казалось бы, второстепенных требований и нестандартизированных интерфейсов зачастую затрудняют непосредственное применение в новом проекте готовых компонентов с подходящими функциями. Это определя­ ет необходимость тщательного оценивания для новых проектов всего на­ бора приоритетных конструктивных характеристик качества в ПС с по­ добными характеристиками функциональной пригодности.

В наибольшей степени функциональная пригодность во многих слу­ чаях зависит от корректности и наде^кности ПС. Значительные труд­ ности при создании ориентиров для выбора мер и шкал характеристик качества проявляются при анализе корректности, способности к взаимо­ действию и защищенности — безопасности ПС.

Правильность — корректность: это способность ПС обеспечивать правильные (или приемлемые) результаты для пользователей. Эталонами для выбора требований к корректности при проектировании могут быть: верифицированные и взаимоувязанные требования к функциям комплек­ са, компонентов и модулей программ, а также правила их структурного построения, организация взаимодействия и интерфейсов (таблица 11.1). Эти требования при разработке должны быть прослежены сверху вниз до модулей и использоваться как эталоны при установлении необходимой корректности соответствующих компонентов. В процессе проектирования и разработки модулей и групп программ применяются частные структур­ ные критерии корректности, которые включают корректность структуры программ, обработки данных и межмодульных интерфейсов. Каждый из частных критериев может характеризоваться несколькими методами изме­ рения качества и достигаемой степенью корректности программ: детер­ минировано, стохастически или в реальном времени.

303

Лекция 11. Характеристики качества программных средств

Таблица 11.1

Субхарактеристики, атрибуты качества и свойства для выбора функциональных возможностей программных средств

1 Субхарактеристики

Атрибуты качества и свойства

Корректность

— соответствие требований к функциям ПС требованиям к ин­

 

формационной системе;

 

— соответствие требований к функциональным компонентам

 

требованиям к функциям ПС;

 

— соответствие текстов программ требованиям к функциональ­

 

ным компонентам ПС;

 

— соответствие объектного кода исходному тексту программ

 

функциональных компонентов ПС;

 

— степень покрытия тестами функций и возможных маршрутов

 

исполнения программ

Способность к взаи­ — с операционной системой и аппаратной средой; модействию — с внешней средой системы и с пользователями;

между программными компонентами;

между компонентами распределенных информационных сис­ тем

Защищенность — соответствие критериям и требованиям защиты от предумыш­ ленных угроз безопасности ПС;

соответствие методам и средствам защиты от проявления слу­ чайных дефектов программ и данных;

обеспечение эффективности оперативных методов защиты и восстановления при проявлениях и реализации угроз безопасно­ сти;

соответствие стандартам и нормативным документам на за­ щиту от различных типов угроз безопасности;

обеспечение равнопрочной защиты в соответствии с опасно­ стью угроз и доступностью ресурсов для защиты

Требования к субхарактеристике корректность могут представлять­ ся в виде описания двух основных свойств, которым должны соответство­ вать все программные компоненты и ПС в целом. Первое требование состоит в выполнении определенной степени (%) прослеживаемости сверху вниз реализации требований технического задания и спецификации на ПС при последовательной детализации описаний программных компонентов вплоть до текстов и объектного кода программ.

Второе требование заключается в выборе степени и стратегии по­ крытия тестами структуры и функций программных компонентов, сово-

304

11.2. Свойства и атрибуты качества функциональных возможностей...

купности маршрутов исполнения модулей и всего комплекса программ для последующего процесса верификации и тестирования, достаточного для функционирования ПС с необходимым качеством и точностью ре­ зультатов, при реальных ограничениях ресурсов на тестирование. Мерой выбранной корректности может быть относительное число протестиро­ ванных функций и маршрутов, которое может измеряться в процентах от обш[его числа исполняемых. Опыт показывает, что зачастую в готовом, сложном ПС оказываются протестированными только около 50—70% функ­ ций и маршрутов, и практически очень трудно эту величину довести до 90—95%. Косвенно эту величину при определенной автоматизации про­ цессов и квалификации специалистов отражает трудоемкость и длитель­ ность тестирования, что непосредственно влияет на функциональную при­ годность ПС.

Способность к взаимодействию — состоит в свойстве ПС и его компонентов взаимодействовать с одним или большим числом определен­ ных компонентов внутренней и внешней среды (см. табл. 11.1). При выбо­ ре и установлении при проектировании способности программных и ин­ формационных компонентов к взаимодействию ее можно оценивать объе­ мом технологических изменений в ПС, которые необходимо выполнять при дополнении или исключении некоторой функции или компонента, когда отсутствуют изменения операционной, аппаратной или пользова­ тельской среды. С этим показателем связана корректность и унифициро­ ванность межмодульных интерфейсов, которые определяются двумя вида­ ми связей: по управлению и по информации.

Требования к характеристике способность к взаимодействию могут быть достаточно полно формализованы как набор свойств и утверждены в процессе системного проектирования, с некоторыми уточнениями на пос­ ледующих этапах. Их основой являются ссылки на нормативные докумен­ ты, на интерфейсы открытых систем или на выбранные для конкретного проекта стандарты де-факто. При выборе свойств программных компо­ нентов, обеспечиваюпдих способность к взаимодействию в конкретном проекте ПС, следует оценивать величину вычислительных ресурсов, необ­ ходимых для их реализации. При этом важно учитывать возможность повторного использования апробированных компонентов и переноса на различные платформы.

305

Лекция 11. Характеристики качества программных средств

Унификация свойств интерфейсов на взаимодействие с внутренней, внешней средой и с пользователями должна отражаться в специальных разделах технологической документации и иметь возможность проверки заказчиком и/или экспертами по документам и текстам программ. Эта характеристика состоит в описании свойств и практически не влияет на качество функционирования текущей версии ПС. Степень унификации интерфейсов может измеряться их относительным числом или объемом текста (например, в процентах от объема программ), которые подвергают­ ся изменениям при любых корректировках взаимодействия программ. Ряд общих понятий, методов и функций, которые могут рассматриваться как достаточно полная база и набор свойств компонентов, обеспечивающих высокую способность к взаимодействию, обобщены в концепции, мето­

дах и стандартах открытых систем.

Защищенность и безопасность функционирования — одна из наи­ более трудно формализуемых характеристик качества сложных ПС, кото­ рая занимает исключительное по важности положение среди всех конст­ руктивных характеристик комплексов программ. Цели, назначение и фун­ кции защиты тесно связаны с особенностями функциональной пригодности каждого ПС. Разработка и формирование требований к свойствам защи­ щенности должны осуществляться на основе потребностей эффективной реализации назначения и функций ПС при различных, реальных угрозах. В процессе системного анализа и проектирования должны быть выявлены потенциальные предумышленные и случайные угрозы функционирова­ нию ПС и установлен необходимый уровень защиты от них данного комп­ лекса программ. В соответствие с этим уровнем заказчиком выбирается и устанавливается стандартизированная категория защищенности и безо­ пасности ПС и необходимый набор методов, свойств и средств защиты с учетом ограниченных ресурсов на их реализацию. В результате сформи­ рованные требования должны обеспечивать равнопрочную защиту от ре­ альных угроз и реализацию необходимых мер контроля и подтверждения целостности и характеристик качества функциональной пригодности ком­ плекса программ в условиях проявления различных угроз безопасности функционирования ПС (см. п. 11.5).

306

11.3.Конструктивные характеристики качества сложных программных средств

11.3.Конструктивные характеристики качества сложных программных средств

Конструктивные характеристики разделены на две группы: количе­ ственные и качественные, которые различаются возможностями конкре­ тизации мер и шкал. Две группы стандартизированных характеристик качества ПС — Надежность и Эффективность в наибольшей степени доступны количественным измерениям. Для них в таблице 11.2 пред­ ставлены примеры возможных мер и шкал измерения основных количе­ ственных атрибутов субхарактеристик качества. Они могут служить ори­ ентирами при выборе и установлении требуемых значений этих показате­ лей качества в спецификациях ПС.

Таблица 11.2

Основные количественные характеристики программных средств и их атрибуты

Характеристики качества

Мера

Шкала

1 Надежность

 

 

Завершенность:

 

 

наработка на отказ при отсутствии рестарта;

Часы

10—1000

степень покрытия тестами функций и структуры программ

%

50—100

Устойчивость:

 

наработка на отказ при наличии автоматического рестарта;

Часы

10—1000

относительные ресурсы на обеспечение надежности и ре­

 

старта

%

10—90

Восстанавливаемость:

 

длительность восстановления

Доступность-готовность:

относительное время работоспособного функционирования

Эффективность

Временная эффективность:

время отклика — получения результатов на типовое задание; пропускная способность — число типовых заданий, испол­ няемых в единицу времени

Используемость ресурсов:

относительная величина использования ресурсов ЭВМ при нормальном функционировании программного средства

Минуты

10-^—10

 

Вероятность

0,9—0,999

Секунды

0,1—100

Число в ми­

 

нуту

1—1000

Вероятность

0,7—0,95 1

Надежность: свойства комплекса программ обеспечивать достаточно низкую вероятность потери работоспособности отказа в процессе

307

Лекция 11. Характеристики качества программных средств

функционирования ПС в реальном времени. Основные атрибуты надежно­ сти могут быть объективно измерены и сопоставлены с требованиями. Требования к значениям атрибутов субхарактеристики завершенность — допустимой наработки на отказ — устанавливаются при отсутствии авто­ матического рестарта и при наличии администратора, контролирующего работоспособность ПС. Применением программно-аппаратных механиз­ мов автоматического рестарта эта наработка при проявлении отказов мо­ жет быть повышена, т.е. при некоторых отказах возможно их автомати­ ческое обнаружение и оперативное восстановление работоспособности, вследствие чего значения устойчивости и наработки на отказ возрастают. Это должно учитываться при определении требований к коэффициенту готовности — вероятности застать ПС в работоспособном состоянии. Так же как при формировании требований к корректности (см. табл. 11.1), для надежности большое значение имеет покрытие тестами в процессе отлад­ ки структуры и функций программных компонентов и ПС в целом.

Надежность функционирования программ является понятием динамическим, проявляющимся во времени, и существенно отличается от по­ нятия статической корректности программ. Надежность ПС наиболее пол­ но характеризуется устойчивостью или способностью к безотказному функционированию и восстанавливаемостью работоспособного состояния после произошедших сбоев или отказов. В свою очередь, устойчивость зависит от степени покрытия тестами функций и структуры программ, от уровня неустраненных дефектов и ошибок (завершенность) и от способно­ сти ПС реагировать на их проявления так, чтобы это не отражалось на показателях надежности. Последние определяются эффективностью конт­ роля данных, поступающих из внешней среды и от средств обнаружения аномалий функционирования ПС. В реальных условиях по различным причинам исходные данные могут попадать в области значений, не прове­ ренные при разработке и испытаниях, а также не заданные требованиями спецификации и технического задания, вызывающие сбои и отказы. При этом некорректная программа может функционировать совершенно на­ дежно.

Завершенность: свойство ПС не попадать в состояния отказов вслед­ ствие ошибок и дефектов в программах и данных. Количество или плот­ ность проявления скрытых дефектов и ошибок непосредственно отражает-

308

11.3. Конструктивные характеристики качества сложных программных средств

ся на длительности нормального функционирования комплекса программ между отказами. Завершенность можно характеризовать наработкой (дли­ тельностью) на отказ (при отсутствии автоматического восстановления — рестарта), измеряемой обычно часами. На эту субхарактеристику влияют только отказы, вследствие проявившихся дефектов. Они могут быть обус­ ловлены неполным тестовым покрытием при испытаниях компонентов и ПС в целом, а также недостаточной завершенностью тестирования их функций.

Устойчивость к дефектам и ошибкам: свойство ПС автоматически поддерживать заданный уровень качества функционирования при прояв­ лениях дефектов и ошибок или нарушениях установленного интерфейса. Для этого в ПС должна вводиться временная, программная и информаци­ онная избыточность, реализующая оперативное обнаружение дефектов и ошибок функционирования, их идентификацию и автоматическое восста­ новление (рестарт) нормального функционирования ПС. Эффективное, опе­ ративное устранение проявления дефектов, ошибок и некорректного взаи­ модействия с операционной и внешней средой определяют субхарактери­ стику — устойчивость комплексов программ.

Восстанавливаемость: свойство ПС в случае отказа возобновлять требуемый уровень качества функционирования, а также исправлять по­ врежденные программы и данные. После отказа ПС иногда бывает нерабо­ тоспособно в течение некоторого времени, продолжительность которого определяется его восстанавливаемостью. Для этого необходимы вычисли­ тельные ресурсы и время на выявление неработоспособного состояния, диагностику причин отказа, а также на реализацию процессов восстанов­ ления. Основными показателями процесса восстановления являются его длительность и вероятностные характеристики. Восстанавливаемость ха­ рактеризуется также полнотой восстановления нормального функциони­ рования программ в процессе ручного или автоматического их перезапус­ ка — рестарта. Перезапуск должен обеспечивать возобновление нор­ мального функционирования ПС, на что требуются ресурсы ЭВМ и время, которые можно характеризовать относительной величиной (% от общих ресурсов).

Доступность или готовность: свойство ПС быть в состоянии вы­ полнять требуемую функцию в данный момент времени при заданных

309