Главная страница
Навигация по странице:

  • Система качества

  • ISO 9126:1-4

  • Метрики в информационных технологиях

  • Внешние метрики

  • 2. Модель качества программного обеспечения

  • Лагоша О.Н. - Сертификация информационных систем (2021). Курс лекций по дисциплине Сертификация информационных систем. Предназначено для студентов специальности Информационные системы и программирование


    Скачать 5.4 Mb.
    НазваниеКурс лекций по дисциплине Сертификация информационных систем. Предназначено для студентов специальности Информационные системы и программирование
    Дата09.02.2023
    Размер5.4 Mb.
    Формат файлаpdf
    Имя файлаЛагоша О.Н. - Сертификация информационных систем (2021).pdf
    ТипКурс лекций
    #927444
    страница8 из 12
    1   ...   4   5   6   7   8   9   10   11   12
    ГЛАВА 2
    СЕРТИФИКАЦИЯ
    ИНФОРМАЦИОННЫХ СИСТЕМ
    1 / 10

    72
    ЛЕКЦИЯ 9. УРОВНИ КАЧЕСТВА
    ПРОГРАММНОЙ ПРОДУКЦИИ
    1. Основы качества программного обеспечения
    Качество это совокупность характеристик объекта, имеющая отноше- ние к его способности удовлетворять установленные и предполагаемые требо- вания потребителя. Под объектом качества может пониматься как собственно продукция (товары или услуги, информационная технология), процесс ее про- изводства, так и производитель (организация, организационная структура или даже отдельный работник).
    Система качества это структурированный набор документов, регла- ментирующий определенные аспекты производственной деятельности пред- приятия.
    Основой регламентирования показателей качества систем является меж- дународный стандарт ISO:
    ISO 9126:1-4 «Характеристики и метрики качества программного обеспе- чения»;
    ISO 14598-1-6:1998-2000 «Оценивание программного продукта».
    Разработанный комплекс стандартов ISO 9126-1-4 состоит из четырех частей под общим заголовком «Информационная технология — качество про- граммных средств»:
    Часть 1: Модель качества;
    Часть 2: Внешние метрики;
    Часть 3: Внутренние метрики;
    Часть 4: Метрики качества в использовании.
    Метрики в информационных технологияхэто совокупность прин- ципиально важных показателей, которые определяются и используются для оценки качества программных комплексов. Метрики применимы к любому ти- пу программных систем, включая компьютерные программы и данные, содер- жащиеся в программируемом оборудовании.
    Внешние метрики — используются метрики АСОИУ, определенные на основе поведения системы в процессе испытаний, эксплуатации или наблюде- ния исполняемой системы.
    Внутренние метрики —применяются в ходе проектирования и про- граммирования к неисполняемым компонентам системы, таким как специфика- ция или исходный программный текст.
    Метрики качества в использовании измеряют, в какой степени продукт удовлетворяет потребности конкретных пользователей в достижении заданных целей с результативностью, продуктивностью и удовлетворением в заданном контексте использования. Результативность подразумевает точность и полно- ту достижения определенных целей пользователями при применении ПС. Про-
    дуктивность соответствует соотношению израсходованных ресурсов и резуль- тативности при эксплуатации ПС. Удовлетворенность — психологическое от- ношение к качеству использования продукта.
    2 / 10

    73
    Качество в использовании определяет объединенный эффект от всех ха- рактеристик качества ПС для пользователя. Качество в использовании — это восприятие пользователем качества системы, содержащей ПС. Оно измеряется в терминах результатов использования комплекса программ, а не собственных внутренних свойств ПС.
    Разработка ПО достигла такого уровня развития, что возникла необходи- мость в использовании инженерных методов оценивания результатов его про- ектирования на всех этапах ЖЦ, контроля степени достижения запланирован- ных показателей качества и их метрического анализа, оценки риска и степени использования готовых компонентов для снижения стоимости разработки но- вого проекта. Основу инженерных методов в программировании составляет
    повышение качества ПО, для достижения которого сформировались методы определения требований к качеству, подходы к выбору и усовершенствованию моделей метрического анализа показателей качества и методы количественного измерения показателей качества на всех этапах ЖЦ. Статические техники оценки качества ПО представлены на рисунке 13. Динамические техники, так или иначе, связаны с тестированием ПО.
    Рис. 13
    Качество программного обеспечения
    Программные требования определяют требуемые характеристики качест- ва ПО, а также влияют на методы количественной оценки и сформулированные для оценки этих характеристик соответствующие критерии приемки.
    Качество ПО является предметом стандартизации. Согласно ГОСТ 2844-94
    качество ПО — совокупность свойств (показателей качества) ПО, которые
    3 / 10

    74
    обеспечивают его способность удовлетворять потребности заказчика в соответ- ствии с его назначением. Этот стандарт регламентирует базовую модель качест- ва и показатели, главным среди которых является надежность. Стандарт
    180/1ЕС12207 определил не только основные процессы ЖЦ разработки ПО, но и организационные и дополнительные процессы, которые регламентируют инже- нерию, планирование и управление качеством ПО.
    Согласно этому стандарту на всех этапах ЖЦ разработки ПО должен проводиться следующий контроль качества ПО:
    – проверка соответствия требований проектируемому программному продукту и критериев их достижения;
    – верификация и аттестация (валидация) промежуточных результатов ПО на этапах ЖЦ и измерение степени удовлетворения достигаемых показателей;
    – тестирование готового ПО, сбор данных об отказах, дефектах и других ошибках, обнаруженных в системе;
    – подбор моделей надежности для оценивания надежности по получен- ным результатам тестирования (дефекты, отказы и др.);
    – оценка показателей качества, заданных в требованиях на разработку ПО.
    Инспектирование качества — это процесс проверки качества, ориенти- рованный на команду разработчиков. Он применяется на всех этапах разработ- ки ПП.
    Доказательство правильности — это математическая или логическая ме- тодика, используемая для убеждения себя и других в том, что программа делает то, что должна делать. Такое доказательство является формальным (строгим) методом.
    Для любого инженерного продукта существует множество интерпретаций качества. Показатели качества могут требоваться в той или иной степени, могут отсутствовать или могут отражать определенные требования потребителя и других заинтересованных сторон, быть результатом определенного компромис- са (что вполне перекликается с пониманием приемлемого качества, менее жест- кой точки зрения на обеспечение качества как достижение совершенства).
    Стоимость качества может быть дифференцирована на стоимость пре- дупреждения дефектов, стоимость оценки, стоимость внутренних, а также внешних сбоев. Движущей силой программных проектов является желание создать ПО, обладающее определенной ценностью (значимое для решения оп- ределенных задач или достижения целей). Ценность ПО может выражаться в форме стоимости или какой-то другой форме. Заказчик обычно имеет свое представление о максимальных стоимостных вложениях, возврат которых ожи- дается в случае достижения основных целей создания ПО. Заказчик может так- же иметь определенные ожидания в отношении качества ПО. Иногда заказчики не задумываются о вопросах качества и связанной с ними стоимости, поэтому на этом этапе предметом обсуждения может стать вопрос о полном понимании заказчиком стоимости и выгоды, связанных с достижением того или иного уровня качества, и о степени вовлечения заказчика в процесс принятия реше- ния. В идеальном случае большинство такого рода решений должно прини- маться на этапе работы с требованиями, но эти вопросы могут (и должны) под-
    4 / 10

    75
    ниматься на протяжении всего ЖЦ ПО. Не существует каких-то «стандартных» правил того, как именно необходимо принимать такие решения. Однако инже- неры должны быть способны представить различные альтернативы способов достижения различного уровня качества и их стоимость.
    Качество ПО является относительным понятием, имеющим смысл только при учете реальных условий его применения, и требования, предъявляемые к качеству, должны соотноситься с этими условиями и конкретной областью их применения.
    Качество ПО характеризуется тремя аспектами: качеством ПП, качеством процессов ЖЦ и качеством сопровождения или внедрения (рис. 14).
    Рис. 14
    Основные аспекты качества ПО
    Аспект, связанный с процессами ЖЦ ПО, определяет степень формализа- ции, достоверности самих процессов ЖЦ разработки ПО, а также верификацию и валидацию (кратко — V&V) промежуточных результатов этих процессов.
    Поиск и устранение ошибок в готовом ПО проводятся методами тестирования, которые снижают количество ошибок и повышают качество этого продукта.
    Качество ПП достигается за счет использования процедур контроля про- межуточных продуктов на всех этапах их ЖЦ, проверкой их на достижение не- обходимого качества, а также использованием методов сопровождения ПП.
    Эффект от внедрения программного средства в значительной степени зависит от знаний обслуживающего персонала функций продукта и правил их выпол- нения.
    2. Модель качества программного обеспечения
    Модель качества ПОимеет четыре уровня представления.
    Первый уровень соответствует определению характеристик (показателей) качества ПО, каждая из которых отражает отдельную точку зрения пользовате- ля на качество. Согласно существующим стандартам (ISO/IEC9126, ДСТУ
    2844-1994, ДСТУ 2850-1994, ДСТУ 3230-1995) в модель качества входит шесть характеристик или шесть показателей качества (рис. 15): функциональность
    (functionality), надежность (realibility), удобство (usability), эффективность
    (efficiency), сопровождаемость (maitainnability), переносимость (portability).
    На втором уровне определяют атрибуты для каждой конкретной характе- ристики качества, которые детализируют разные ее аспекты. Набор этих атри- бутов используется при оценке качества ПП.
    Третий уровень предназначен для измерения качества с помощью мет-
    рик, каждая из которых, согласно стандарту 1SO/IEC9126, определяется как комбинация метода измерения атрибута и шкалы измерения его значений. Для оценки атрибутов качества на этапах ЖЦ ПО (при просмотре документации и программ, а также результатов тестирования программ) используются метрики
    5 / 10

    76
    с заданным оценочным весом для нивелирования результатов метрического анализа совокупных атрибутов конкретного показателя и качества в целом. Ат- рибут качества определяется с помощью одной или нескольких методик оценки на этапах ЖЦ ПО и на завершающем этапе его разработки.
    На четвертом уровне для оценки количественного или качественного значения отдельного атрибута используется оценочный элемент метрики — вес. В зависимости от назначения, особенностей и условий сопровождения ПО выбираются наиболее важные характеристики качества и их атрибуты.
    Рис. 15
    Модель характеристик качества
    Выбранные атрибуты и их приоритеты отражаются в требованиях на раз- работку системы, либо используются соответствующие приоритеты эталона класса ПО, к которому это ПО относится.
    6 / 10

    77
    Показатели качества ПО:
    Функциональность. Это совокупность свойств, определяющих способ- ность ПО выполнять перечень функций в заданной среде в соответствии с тре- бованиями к обработке и требованиями к общесистемным средствам. Под функцией понимается некоторая упорядоченная последовательность действий для удовлетворения потребительских свойств ПО. Функции бывают целевые
    (основные) и вспомогательные. Приведем атрибуты, которые относятся к функциональности.
    Функциональная полнота — свойство компонента ПО, которое показыва- ет степень достаточности основных функций для решения задач в соответствии с назначением ПО.
    Правильность (точность) — атрибут, который показывает степень дос- тижения правильных результатов.
    Интероперабельность — атрибут, который показывает возможность взаи- модействия компонентов ПО на специальных системах и средах (ОС, сети и пр.).
    Защищенность — атрибут, определяющий способность ПО предотвра- щать несанкционированный доступ (случайный или умышленный) к програм- мам и данным.
    Надежность. Это совокупность атрибутов, которые определяют способ- ность ПО преобразовывать исходные данные в результаты при условиях, зави- сящих от периода времени жизни ПО (износ и его старение не учитываются).
    Снижение надежности ПО происходит из-за ошибок в требованиях, проектиро- вании и выполнении. Отказы и ошибки в программах появляются на заданном промежутке времени.
    К подхарактеристикам (субхарактеристикам) надежности ПО относятся следующие.
    Безотказность — атрибут, который определяет способность ПО функ- ционировать без отказов (как программы, так и оборудования).
    Устойчивость к ошибкам — атрибут, который показывает способность
    ПО выполнять функции при аномальных условиях (сбой аппаратуры, ошибки в данных и интерфейсах, нарушение в действиях оператора и др.).
    Восстанавливаемость — атрибут, который показывает способность ПО к перезапуску для повторного выполнения и восстановления данных после отка- зов.
    К некоторым типам «критических систем» (реального времени, радарных, систем безопасности, коммуникаций и др.) предъявляются требования по обес- печению высокой надежности (недопустимость ошибок, точность, достовер- ность, удобство применения и др.). Надежность ПО в значительной степени за- висит от числа оставшихся и неустраненных ошибок в процессе его разработки на этапах ЖЦ. В ходе эксплуатации ошибки обнаруживаются и устраняются.
    Если при исправлении ошибок не вносятся новые или, по крайней мере, новых ошибок вносится меньше, чем устраняется, то в ходе эксплуатации надежность
    ПО непрерывно возрастает. Чем интенсивнее проводится эксплуатация, тем ин- тенсивнее выявляются ошибки и быстрее растет надежность ПО.
    7 / 10

    78
    На надежность ПО влияют следующие факторы:
    – совокупность угроз, приводящих к неблагоприятным последствиям и к ущербу системы или среды ее функционирования;
    – угроза как проявление нарушения безопасности системы;
    – целостность как способность системы сохранять устойчивость работы и не иметь риска.
    Обнаруженные ошибки могут быть результатом угрозы извне или отказов, они повышают риск и уменьшают некоторые свойства надежности системы.
    Надежность — одна из ключевых проблем современных программных систем, и ее роль будет постоянно возрастать, поскольку постоянно повышают- ся требования к качеству компьютерных систем. Новое направление — инже-
    нерия программной надежности (Software reliability engineering) — ориентиро- вано на количественное изучение операционного поведения компонентов сис- темы по отношению к пользователю, ожидающему надежной работы системы, и включает следующие аспекты:
    измерение надежности, т. е. проведение ее количественной оценки с помощью предсказаний, сбора данных о поведении системы в процессе экс- плуатации, а также современных моделей надежности;
    стратегии и метрики конструирования и выбора готовых компонентов, процесса разработки компонентной системы, а также среды функционирования, влияющей на надежность работы системы;
    – применение современных методов инспектирования, верификации, ва-
    лидации и тестирования при разработке системы, а также при ее эксплуатации.
    Верификация применяется для определения соответствия готового ПО установленным спецификациям, а валидация — для установления соответствия системы требованиям пользователя, которые были предъявлены заказчиком.
    В инженерии надежности термин пригодноспособностъ (dependability) обозначает способность системы иметь свойства, желательные для пользовате- ля, который уверен в качественном выполнении функций, заданных в требова- ниях. Данный термин определяется дополнительным количеством атрибутов, которыми должна обладать система:
    – готовностью к использованию (availability);
    – готовностью к непрерывному функционированию (reliability);
    – безопасностью для окружающей среды, т. е. способностью системы не вызывать катастрофических последствий в случае отказа (safety);
    – секретностью и сохранностью информации (confidential);
    – способностью к сохранению системы и устойчивости к самопроизволь- ному ее изменению (integrity);
    – способностью к эксплуатации ПО, простотой выполнения операций об- служивания, а также устранения ошибок, восстановлением системы после их устранения (maintainability);
    – готовностью и сохранностью информации (security) и др. Достижение надежности системы обеспечивается предотвращением отказа (fault prevention) или его устранением (removal fault), а также оценкой возможности появления новых отказов и мер борьбы с ними.
    8 / 10

    79
    Для численной оценки надежности используются методы теории вероят- ностей.
    Таким образом, обеспечение надежности ПО — это трудоемкий процесс, требующий создания устойчивой работы системы по отношению к отказам ПО, т. е. обеспечения достаточно высокой вероятности того, что система восстано- вится самопроизвольно в некоторой точке после возникновения в ней отказа
    (fault).
    Удобство применения. Этот показатель характеризуется множеством ат- рибутов, определяющих необходимые пригодные условия использования ПО
    (например, диалоговое, недиалоговое) заданным кругом пользователей для по- лучения соответствующих результатов. В стандарте ДСТУ 2850-1994 удобство применения определено как множество атрибутов ПП, характеризующих его эргономичность:
    понимаемость — атрибут, который определяет усилия, затрачиваемые на распознавание логических концепций и условий применения ПО;
    изучаемость (легкость изучения) — атрибут, который определяет уси- лия пользователей, затрачиваемые на определение применимости ПО путем использования операционного контроля, диагностики, а также установленных процедур, правил, изложенных в документации;
    оперативность — атрибут, который определяет реакцию системы при выполнении операций и операционного контроля;
    согласованность — атрибут, который показывает соответствие разра- ботки требованиям стандартов, соглашений, правил, законов и предписаний.
    Эффективность. Это множество атрибутов, которые определяют взаимо- связь уровней выполнения ПО, степень использования ресурсов (средств, аппа- ратуры, материалов — бумаги для печатающего устройства и др.) и услуг, вы- полняемых штатным обслуживающим персоналом. К атрибутам эффективно- сти ПО относятся:
    реактивность — атрибут, который показывает время отклика, обработ- ки и выполнения функций;
    эффективность ресурсов — атрибут, показывающий количество и про- должительность используемых ресурсов при выполнении функций ПО;
    согласованность — атрибут, который показывает соответствие данного атрибута заданным стандартам, правилам и предписаниям.
    1   ...   4   5   6   7   8   9   10   11   12


    написать администратору сайта