Алгоритм оценки и сравнивания качества программного обеспечения

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 10.06.2011
Размер файла 474,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

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

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

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

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

- описание целей программного средства корректно переработано в подробное описание его назначения и внешней сферы применения;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- правила организации интерфейсов с операционной и внешней средой, а также качество и унифицированность пользовательского и межмодульного интерфейса;

- требования к контролю, хранению, обновлению и восстановлению программ и данных;

- требования к составу и содержанию технологической документации.

В составе требований к функциональной пригодности целесообразно выделять специальный раздел требований к эксплуатационным характеристикам:

- требования к организационному обеспечению и реализации процессов эксплуатации ПС;

- функции оперативного и административного персонала для полноценной эксплуатации ПС;

- необходимая квалификация и число специалистов для эффективного применения ПС;

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

- требования к эксплуатационной документации, автоматизированным, электронным учебным курсам и тренажерам.

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

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

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

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

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

Защищенность одна из наиболее трудно формализуемых характеристик качества крупномасштабных ПС, которая занимает исключительное по важности положение среди всех характеристик ПС. Цели, назначение и функции защиты тесно связаны с особенностями функциональной пригодности каждого комплекса программ. Поэтому широта проблемы, а также разнообразие средств и способов ее решения соизмеримы со спектром характеристик функциональной пригодности различных программ. Это определяет особое, уникальное положение защищенности среди остальных характеристик, а также сложность унификации ее атрибутов для выбора и декларирования свойств защиты. В стандарте ISO 9126:2 метрики защищенности ограничены всего тремя, очень общими атрибутами: сложностью доступа лиц к программам и данным; глубиной контроля процессов доступа, а также защищенностью от хищений данных -- потенциальной частотой преодоления системы защиты. Значительное число международных стандартов полностью посвящено критериям и характеристикам качества защиты ИС и их выбору. Кроме того, по проблеме защиты ИС и ПС и их частным атрибутам качества имеется обширная литература, в которой изложены специфические особенности их выбора и оценивания для некоторых классов проектов.

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

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

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

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

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

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

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

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

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

5. Оценивание характеристик качества программных средств

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

5.1.1 Оценивание функциональной пригодности программных средств

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

- описание основных свойств и совокупности сопутствующих понятий субхарактеристики функциональная пригодность при ее выборе подробно изложено в п.5 и проиллюстрировано в Таблица 1;

- метрики качества ПС в использовании представлены в четвертой части ISO 9126 и по существу отражают особенности атрибутов функциональной пригодности, которые следует учитывать в первую очередь с позиции заказчиков и пользователей;

- план и технология выполнения работ по оцениванию характеристик качества ПС для разработчиков, приобретателей и испытателей достаточно подробно изложены в стандарте ISO 14598:3-5;

- организации процессов оценивания основных характеристик качества ПС посвящены четыре раздела стандарта ISO 14598.

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

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

5.1.2 Оценивание корректности программных средств

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

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

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

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

Назначение оценивания корректности ПС состоит в том, чтобы обнаружить, зарегистрировать и устранить дефекты и ошибки, которые могли быть внесены во время разработки или модификации программ, проверить и установить, что (см. Таблица 1):

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

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

- архитектура ПС и требования к компонентам низкого уровня корректно переработаны в удовлетворяющий им исходный текст программ;

- исполняемый объектный код полностью и точно удовлетворяет требованиям к исходному тексту программ;

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

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

- каждое требование высокого уровня является точным, однозначным и достаточно детализированным и эти требования не конфликтуют друг с другом;

- не существует никаких конфликтов между требованиями высокого уровня и возможностями аппаратных и программных средств объектного вычислителя, особенно такими, как время реакции системы и аппаратуры ввода/вывода;

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

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

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

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

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

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

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

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

5.1.3 Оценивание способности к взаимодействию программных средств и их компонентов

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

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

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

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

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

Оценивание субхарактеристики способность к взаимодействию программных средств -- состоит в определении качества:

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

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

- сложности переноса (мобильности) компонентов ПС и БД разработанных должным образом, с минимальными изменениями на требуемый набор аппаратных и операционных платформ.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

5.1.4 Оценивание защищенности программных средств

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

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

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

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

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

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

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

- ресурсы, необходимые и доступные для разработки и размещения программных компонентов системы обеспечения безопасности ИС (финансово экономические, ограниченная квалификация специалистов и вычислительные ресурсы ЭВМ);

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

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

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

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

Размещено на http://www.allbest.ru/

Рисунок 5. Оценивание характеристик качества программных средств

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

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

Качество комплексов защиты зависит от применения конкретных стандартов и нормативных документов и реализации их требований. Наиболее широко и детально методологические и системные задачи проектирования и оценивания комплексной защиты ИС изложены в трех частях стандарта ISO 15408:1999 - 1-З. - Методы и средства обеспечения безопасности. Критерии оценки безопасности информационных технологий. Часть 1 Введение и общая модель. Часты 2. Защита функциональных требований. Часть 3. Защита требований к качеству.

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


Подобные документы

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

    контрольная работа [26,6 K], добавлен 23.01.2011

  • Критерии оценки эффективности и качества создания программных средств. Роль трудоемкости и длительности создания программных средств в определении эффективности их создания. Требования к качеству, суммарные затраты на разработку программного средства.

    реферат [26,7 K], добавлен 10.10.2014

  • Программное обеспечение как продукт. Основные характеристик качества программного средства. Основные понятия и показатели надежности программных средств. Дестабилизирующие факторы и методы обеспечения надежности функционирования программных средств.

    лекция [370,1 K], добавлен 22.03.2014

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

    дипломная работа [280,5 K], добавлен 03.11.2013

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

    лекция [352,8 K], добавлен 09.03.2009

  • Определение качества программных средств. Эволюция методов контроля и управления качеством продукции. Восемь принципов менеджмента качества, их содержание. Внешние и внутренние метрики продукта, организационная основа управления качеством программ.

    презентация [301,0 K], добавлен 26.10.2016

  • Общая характеристика и основные структуры кодирования. Качество программного обеспечения, показатели в ГОСТ 28195 и ГОСТ Р ИСО/МЭК 9126, характеристика по функциональным возможностям. Основные критерии и процесс оценки качества программного обеспечения.

    курсовая работа [219,5 K], добавлен 25.02.2012

  • Влияние качества программных продуктов на экономические характеристики производства, управление ими. Стандартизированные характеристики качества сложных программных продуктов. Гипотетические примеры определения требований к характеристикам качества.

    контрольная работа [22,4 K], добавлен 13.12.2014

  • Возможности среды программирования delphi при разработке приложения с визуальным интерфейсом. Отладка программных модулей с использованием специализированных программных средств. Тестирование программного обеспечения. Оптимизация программного кода.

    курсовая работа [974,0 K], добавлен 21.12.2016

  • Особенности аналитической и эмпирической моделей надежности программных средств. Проектирование алгоритма тестирования и разработка программы для определения надежности ПО моделями Шумана, Миллса, Липова, с использованием языка C# и VisualStudio 2013.

    курсовая работа [811,5 K], добавлен 29.06.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.