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




 

Для упорядочения использования характеристик качества программного обеспечения разработан стандарт ГОСТ Р ИСО/ МЭК 9126-93 [12]. Стандарт придерживается определения качества, данного стандартом ИСО 9000. В стандарте определяется шесть групп характеристик, которые с минимальным дублированием описывают различные аспекты качества программного продукта. Эти характеристики определены так, что могут применяться к любому виду программных продуктов. В своей совокупности группы характеристик образуют основу для дальнейшего уточнения и описания качества ПП.

Как известно, конкретные характеристики существенно зависят от особенностей разработки и применения программ, поэтому стандарт не регламентирует, а только рекомендует подхарактеристики (комплексные показатели) и показатели, а также методы их измерения, ранжирования, оценки и использования. Перечень рекомендуемых стандартом ГОСТ Р ИСО/МЭК 9126-93 показателей, разбитый на группы и составляющие их характеристики, с указанием русского и английского названий выглядят следующим образом.

 

 

 

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

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

 

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

 

(Например, существует байка, что одна фирма выпустила серверную утилиту которая имела размер несколько десятков килобайт и отрабатывала свою задачу за несколько секунд, но её не покупали …. Тогда отдел маркетинга попросил вставить в тело программы пустых циклов и раздуть размер программы. после этого утилита стала иметь большой размер, долго работать и иметь стоимость в 10-ки раз превышающей первоначальную … И продажи пошли!!! Потому что ожидания пользователей были именно такие, как предсказал отдел маркетинга.)

 

Для оценки этого аспекта стандарт предлагает группу характеристик, названную функциональность (Functionality), — совокупность свойств программного средства, определяемую наличием и конкретными особенностями набора функций, способных удовлетворять заданные или подразумеваемые потребности.

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

База данных, используемая программой, содержит верную и актуальную информацию. Если пользователь своевременно введет в ЭВМ верные данные и правильно ими воспользуется, то гарантированно получит правильные результаты в нужные мне сроки.

Приведем некоторые конкретные характеристики этой группы:

· функциональная пригодность (suitability) — степень соответствия набора функций ПП поставленным задачам; Способность решать нужный набор задач.

· правильность или точность (accuracy) — степень правильности получаемых результатов и соответствия реакции программы ожидаемой. Способность выдавать нужные результаты

· способность к взаимодействию (interoperability) — способность программы взаимодействовать с конкретными системами.

· защищенность (security) — способность предотвращать несанкционированный доступ, случайный или преднамеренный, к программам и данным.

· соответсвие с действующими стандартами {compliance) — соответствие программы требованиям законов, стандартов, положений, соглашений или рекомендаций, действующих в данной области. Значение характеристики - список документов и требований, с которыми согласована программа. Данная характеристика имеется во всех группах.

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

Как правило, в надежности выделяют три главные составляющие:

· зрелость, стабильность, завершенностьь (maturity), зависящую от количества ошибок, оставшихся в программе, и характеризующую возможность безотказной работы; Это величина, обратная частоте отказов ПО. Обычно измеряется средним временем работы без сбоев и величиной, обратной вероятности возникновения отказа за данный период времени.

· устойчивость к ошибкам или отказам (fault tolerance), характеризующую степень разрушительности последствий возникающих ошибок. Способность поддерживать заданный уровень работоспособности при отказах и нарушениях правил взаимодействия с окружением.

· способностью к восстановлению (recoverability), характеризующую время и усилия, необходимые для устранения последствий возникающих в программе ошибок.

· соответствие стандартам надежности. (reliability compliance).

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

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

Интерфейс программы должен быть понятен пользователю, применять лексику его (а не программиста) предметной области. Набор функций и доступ к ним должны быть удобны для решения задач пользователя (а не для программирования!).

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

Для оценки этого аспекта качества используется группа характеристик удобство использования (usability). В нее входят следующие характеристики:

· понятность (understandability)— определяет усилия пользователя по пониманию общей логической концепции программы и ее применимости для нужд пользователя; Показатель, обратный к усилиям, которые затрачиваются пользователями на восприятие основных понятий] ПО и осознание их применимости для решения своих задач

· обучаемость (learnability)— определяет усилия пользователя, необходимые для его обучения использованию программы; Показатель, обратный усилиям, затрачиваемым пользователями на обучение работе с ПО.

· простота использования (operability)— определяет усилия пользователя при эксплуатации программы;

· привлекательность (attractiveness)— оценка привлекательности программы, например, ее интерфейса.

· соответствие стандартам удобства использования (usability compliance).

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

За эти стороны качества отвечает группа характеристик эффективность или производительность (efficiency). В нее входят:

временные характеристики (time behavior) — время выполнения функций и обработки, пропускная способность и время реакции программы;

ресурсные характеристики (resource behavior) — объемы используемых ресурсов и продолжительность их использования.

соответствие стандартам производительности (efficiency compliance).

 

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

Если программа будет использоваться не в одном месте, настройка нужна и для адаптации программы к конкретному месту использования. Чем больше гибкость программы, тем шире круг ее возможных покупателей. В стандарте эта группа характеристик называется сопровождаемость (maintainability). Она отвечает за то, насколько удобно вносить изменения и поправки в ПО. К характеристикам данной группы относятся:

анализируемостъ (analizability)— определяет усилия пользователя, необходимые для диагностики отказов и несоответствий работы программы, а также для ее модернизации;

изменяемость, удобство внесения изменений (changeability) — определяет усилия, необходимые для модификации, устранения отказов или для изменения условий эксплуатации программы;

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

тестируемость, контролируемость, удобство проверки (testability) — оценка усилий, необходимых для проверки модифицированного программного обеспечения.

соответствие стандартам сопровождаемости (maintainability compliance, добавлен в 2001)

 

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

Характеристики, определяющие способность ПО сохранять работоспособность при переносе из одного окружения в другое, включая организационные, аппаратные и программные аспекты окружения, объединены в группу мобильность или переносимость (portability). В нее входят:

· адаптируемость (adaptability) — оценивает удобство адаптации программы к различным конкретным условиям ее эксплуатации. При этом учитываются только возможности самой программы, без применения других действий или программных средств;

· простота внедрения (устанавливаемость, удобство установки или внедрения) (installability) — оценка усилий, необходимых для внедрения программного обеспечения в конкретное окружение;

· совместимость или способность к сосуществованию (co-existence) - возможность работы программы в данной операционной среде совместно с другими программами;

· взаимозаменяемость или удобство замены (replaceability) - возможность применения данного ПО вместо других программных систем для решения тех же задач в определенном окружении.

· соответствие стандартам переносимости или мобильности (portability compliance, добавлен в 2001)

 

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

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

 

1. Корректность или правильность подразумевает соответствие проверяемого объекта некоторому эталонному объекту или совокупности формализованных эталонных характеристик и правил. Корректность программы наиболее полно определяется степенью ее соответствия предъявляемым к ней формализованным требованиям - программной спецификации.

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

 

2. Сложность программ. Рассматривается в трех аспектах:

¨ сложность процесса разработки программ;

¨ сложность программы как объекта разработки (статическая);

¨ сложность выполнения программы (динамическая) – учитывает ресурсы, необходимые для ее выполнения.

3. Трудоемкость - совокупные затраты труда на создание или использование программы.

 

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

Корректность реализации функций — правильность их реализации по отношению к требованиям. Используется для измерения функциональной пригодности.

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

Отношение числа проведенных тестов к общему их числу. Используется для определения зрелости.

Отношение числа доступных проектных документов к указанному в их списке. Используется для измерения удобства проведения анализа.

Наглядность и полнота документации. Используется для оценки понятности.

 

 

 

 

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-10-25 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: