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

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

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

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

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

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

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

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

340

11.5. Характеристики защиты и безопасности функционирования программных средств

защиты и эффективного их применения. Изложены детальные требования по обеспечению гарантии качества создания и применения систем безо­ пасности.

Таким образом, методологически решение задач обеспечения харак­ теристик безопасности должно осуществляться как проектирование aiojfc-

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

Л Е К Ц И Я 12 ВЫБОР ХАРАКТЕРИСТИК КАЧЕСТВА

ВПРОЕКТАХ ПРОГРАММНЫХ СРЕДСТВ

12.1. Принципы выбора характеристик качества

впроектах программных средств

Описание в стандарте ISO 9126:1-4 характеристик качества программ­ ных средств не содержит рекомендаций и методик выбора их значений в требованиях к конкретным проектам. Необходимо, прежде всего, устано­ вить рациональные диапазоны мер и шкал для каждой характеристики и ее атрибутов, которые можно будет использовать в качестве первичных ограничений при выборе их значений для реальных проектов. Далее долж­ ны быть разработаны процессы выбора, установления и представления в спецификациях требований к атрибутам каждой характеристики качества. Эти требования должны учитывать реальные ограничения ресурсов, дос­ тупных для обеспечения ЖЦ ПС. Ресурсы этих процессов и атрибуты характеристик качества ниже, по возможности, сводятся к трудоемкости и длительности их реализации, а также к соответствующему влиянию этих параметров в функциональную пригодность.

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

342

12.1. Принципы выбора характеристик качества в проектах программных средств

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

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

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

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

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

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

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

343

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

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

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

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

344

12.1. Принципы выбора характеристик качества в проектах программных средств

нивают конкурентоспособность продукции на рынке по величине отно­

шения:

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

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

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

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

Второй сценарий предполагает наличие определенного заказчика — потребителя проекта ПС, который определяет основные технические и

345

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

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

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

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

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

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

346

12.1. Принципы выбора характеристик качества в проектах программных средств

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

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

Процессы выбора и установления шкал и мер для описания харак­ теристик качества проектов ПС можно разделить на два этапа:

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

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

На первом этапе следует использовать всю базовую номенклатуру характеристик, субхарактеристик и атрибутов, стандартизированных в ISO 9126:1-4. Их описания желательно предварительно упорядочить по при­ оритетам с учетом назначения и сферы применения конкретного ПС. Да­ лее необходимо выделить и ранжировать по приоритетам потребителей, которым необходимы определенные показатели качества ПС с учетом их специализации и профессиональных интересов. Широкая номенклатура характеристик, представленная в стандарте ISO 9126:1-4, поддерживает

347

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

разнообразные требования, из которых следует селектировать и выбирать те, которые необходимы с позиции различных потребителей этих дан­ ных (см. выше табл. 6.1).

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

12.2.Пример выбора и формирования требований

кхарактеристикам качества программного средства

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

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

348

12.2. Пример выбора и формирования требований к характеристикам качества...

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

Таблица 12.1

Пример распределения приоритетов требований к характеристикам качества программного средства

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

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

Приоритет требований

Функциональность

Функциональная пригодность

Высокий

 

Корректность — правильность

Высокий

 

Способность к взаимодействию

Средний

 

Защищенность

Высокий

1 Надежность

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

Низкий

 

Устойчивость к дефектам

Средний

 

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

Высокий

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

Доступность — готовность

Высокий

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

Высокий

 

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

Средний

Практичность

Понятность

Средний

 

Простота использования

Низкий

 

Изучаемость

Средний

Сопровождаемость

Привлекательность

Низкий

Анализируемость

Средний

 

Изменяемость

Средний

Мобильность

Тестируемость

Средний

Адаптируемость

Средний

 

Простота установки

Средний

 

Замещаемость

Низкий

Стандартизированные в ISO 9126:1-4 характеристики качества ПС различаются по степени влияния на системную эффективность фун­ кциональную пригодность их применения по прямому назначению. Вслед­ ствие реальной ограниченности ресурсов, которые доступны в жизненном цикле ПС, их необходимо выделять с учетом влияния на эту эффектив­ ность. Для этого целесообразно в процессе системного анализа присваи­ вать и учитывать уровень приоритета требований к каждой субхарактери­ стике. В таблице 12.1 представлен пример возможного распределения при­ оритетов требований заказчика к субхарактеристикам ПС для принятого

349