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

Вид материалаЛекция

Содержание


Проблемы и пути обеспечения качества
Характеристика качества программного обеспечения.
19 критериев качества…
Определения основных характеристик
Верификация и аттестация программных средств для ИС
Обзоры как средство обеспечения качеством программных средств и ИС
Цель технического обзора
Экономическое влияние дефектов, при разработке программного средства для ИС
Главный принцип
Количественная оценка качества
Статистический подход к обеспечению качества
Управленческие и технические аспекты в обеспечении качества.
Планирование качества
Обсечение качества
Подобный материал:

Планирование и проектирование информационных систем Лекция 7

Обеспечение качества и управление качеством ИС


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

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

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



Проблемы и пути обеспечения качества


Обеспечение качества программного продукта это планируемая совокупность действий и выполнение этого плана обеспечивает создание качественного продукта.

Виды деятельности:

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

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

3) верификация и аттестация программных средств ИС.

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

5) использования формального доказательства правильности разработанных алгоритмов программ.

6) принудительное внедрение стандартов и формальных процедур, определяющих разработку ИС и ее обеспечивающих и функциональных подсистем и контроль применения эти систем в процессе разработки.

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

8) формирование совокупности метрик качества и разработка и использование методов их определения.

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

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

11) регистрация и документирование все процедур вязанных с обеспечением качества. Необходима для последующего использования при разработке других проектов и поэтому она требует длительного хранения.

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


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


На основе многочисленных исследований был проведен отбор основных характеристик качества, которые касались оценки программного продукта, который определяет функционирование ИС. Был разработан базовый стандарт, а все стандарты серии 9000 являются стандартами посвященные качеству. Стандарт посвященный качеству информационных технологий это ISO9126:1991 – называется ИТ, оценка программного продукта характеристика качества и руководство по их применению. В нем представлены 6 групп с 21 характеристикой качества.

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


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



  1. Надежность:
    1. отсутствие ошибок,
    2. устойчивость к ошибкам,
    3. перезапускаемость системы.



  1. Удобство использования:
    1. понятность,
    2. простота освоения,
    3. простота применения.



  1. Эффективность:
    1. ресурсная экономичность
    2. временная экономичность



  1. Пригодность к сопровождению:
    1. удобство для анализа,
    2. приспособленность к изменениям,
    3. стабильность,
    4. тестируемость.



  1. Пригодность для переноса (мобильность) на другие платформы:
    1. адаптируемость,
    2. структурируемость,
    3. замещаемость,
    4. внедряемость.


Аналогичный отечественный стандарт ГОСТ 28195-89 «оценка качества программных средств, общие положения, характеристики качества».


В нашем ГОСТе эти характеристики представлены в виде 3 уровневой структуры:

1) уровень –

надежность,

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

удобство применения,

эффективность,

универсальность,

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


2) уровень –

19 критериев качества…

3) уровень –

в виде оценочных метрик…


Гост 28806 - 90года касается терминов и определений, дополняющих предыдущий и уточняя его.


Определения основных характеристик


правильность или корректность – степень функционального соответствия изделия требования пользователя.

надежность – вероятность работы без сбоев в течении определенного отрезка времени при выполнении определенного объема работ.

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

С другой стороны можно оценивать повышение производительности труда при эксплуатации данной системы.

это такие показатели, которые позволяют оценивать эффективность использования и т.д.


Верификация и аттестация программных средств для ИС


В соответствии со стандартом ISO 12207-95 устанавливает жизненный цикл.

Верификация и аттестация это виды деятельности, касающиеся поддержки ЖЦ. Независимо от обеспечения качества.

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

В принципе это подтверждении правильности выполненного элемента конфигурации.

Аттестация это оценка системы или программно средства на конечном этапе его разработки с точки зрения соответствия требованиям пользователя. Это верификация всего процесса разработки.

У нас иногда применяется термин «сертификация».

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

Сквозные просмотры документов, исходных кодов, баз данных.

Внимательно изучение всех компонентов системы.

  1. Контроль соответствия требованиям программного продукта требования пользователя.

Контроль алгоритмов и формальное докалазательство правильности программ

Многоуровневое тестирование и аудит.


Тестирование программных средств. Процесс тестирования включает несколько этапов:

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



Обзоры как средство обеспечения качеством программных средств и ИС


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

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

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

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


Информация:
  1. Обнаружить возможные ошибки в функциях, логики и реализации
  2. показать, что характеристика элемента соответствуют установленной сертификации.
  3. подтвердить, что элемент разработан в соответствии о стандартами, а его разработки производилась в соответствии с установленными продуктами.
  4. доказать что сделанные изменения осуществлены соответствующим образом и при этом учтены все побочные влияния тих изменений.
  5. обеспечит единообразие в разработки разных частей системы документирования и т.д.
  6. упростить и улучшить процессы управления проектом системы.


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

Формальный критический обзор это встреча группы специалистов.

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



Экономическое влияние дефектов, при разработке программного средства для ИС


Эти техобзоры позволяют обнаруживать ошибки на ранних стадиях. На первых стадиях обнаруживаются ошибки неправильной формулировки требований пользователя.

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


Если принять стоимость исправления ошибки, обнаруженной на этапе архитектурного проектирования за единицу – она же будет стоить до тестирования в 5-6 раз больше, если она обнаруживается во время тестирования – в 15 раз больше, а после внедрения в эксплуатацию – стоимость исправления от 50 до 100 единиц.

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

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

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


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

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

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


Количественная оценка качества


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

Рассматривается архитектура программного комплекса. Для подсчета индекса качеств оценивается:
  1. общее количество модулей
  2. число модулей, функционирование которых зависит от источников входных данных.
  3. число модулей порождающих данные для других модулей.
  4. оценивается число элементов в базе данных, включая объекты и их атрибуты.
  5. оцениваются различные типы записей в базе


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


Статистический подход к обеспечению качества


Этот подход направлен на формирование количественных показателей для оценки достигнутого уровня качества при создании программного продукта для ИС. Предполагает использование следующих шагов:
  1. сбор и систематизация информации обо всех выявленных дефектах в разработках программных средств данной организации.
  2. каждый дефект анализируется, и выявляются причины, лежащие в его основе
  3. используется принцип Парето (80% дефектов определяется 20% возможных причин)
  4. исправление этих причин, которые определяют основную долю дефектов.


Какая исходная классификация причин ошибок и дефектов была выявлена и положена в основу сбора данных? Перечень может быть такой:
  1. неполнота или ошибочность спецификации
  2. неправильная интерпретация требований заказчика
  3. умышленное уклонение от спецификаций
  4. нарушение стандартов программирования
  5. ошибки в описании данных
  6. несовместимость параметров при передаче между модулями
  7. ошибки в логике проектирования
  8. неполнота или ошибочность тестирования
  9. ошибки, связанные с документацией
  10. ошибки при программировании
  11. неоднозначности в интерфейсах


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

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


Управленческие и технические аспекты в обеспечении качества.


Общие управленческие вопросы:
    1. должна быть единая система обеспечения качеством (необходима управленческая структура, залитая качеством)
    2. должна быть поддержка со стоны высшего руководства
    3. должна быть предусмотрена разработка и поддержание в актуальном состоянии процедуры управления всеми документами, относящимся к системе обеспечения качества.
  1. должна быть предусмотрена ведение базы данных о качестве проекта.
  2. Наличие четкой персональной ответственности за качество во всех процессах.
  3. обеспечение качеством должно предполагать использование совокупности процедур для реализации корректирующих и предупреждающих действий
  4. обеспечение качества должно включать процесс непрерывного обучения персонала.



Технические аспекты – это:
    1. управление технологическими процессами разработки ИС,
    2. тщательное следование процедурам, процедурам документирования, использование соответствующих инструментальных средств
    3. применение современных методов
    4. следование стандартам, правилам и документированным процедурам.
    5. тщательный выбор метрик, как для оценки продукта, так и процесса его изготовления, единой процедуры контроля испытаний и регистрации результатов.
    6. документирование всей деятельности по изменению


Организация управлением качеством проекта ИС включает все функции общего руководства – установление целей, полномочий, распределение ответственности, а кроме того планирование качества и контроля обеспечения качества.


Планирование качества – установления требований к качеству и определение действий по выполнению этих требований. Поэтому план по обеспечению качества включает:

1) планы организационно-технических мероприятий.

2) описание процедур проведения контрольных и испытательных мероприятий

3) перечень контролируемых показателей по всем работам в соответствии с моделью ЖЦ ИС.


Кроме функций планирования – работы по обеспечению качества, по контролю качества.

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


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






www.inf-man.ru