Опубликован: 18.09.2006 | Уровень: специалист | Доступ: платный | ВУЗ: Московский государственный университет имени М.В.Ломоносова
Лекция 5:

Качество ПО и методы его контроля

< Лекция 4 || Лекция 5: 123456 || Лекция 6 >
Аннотация: Рассматривается понятие качества ПО, характеристики и атрибуты качества, связь атрибутов качества с требованиями. Дается краткий обзор различных методов контроля качества ПО, с более детальным рассмотрением тестирования и проверки свойств на моделях.

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

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

Если попросить группу людей высказать свое мнение по поводу того, что такое качественное ПО, можно получить следующие варианты ответов:

  • Его легко использовать.
  • Оно демонстрирует хорошую производительность.
  • В нем нет ошибок.
  • Оно не портит пользовательские данные при сбоях.
  • Его можно использовать на разных платформах.
  • Оно может работать 24 часа в сутки и 7 дней в неделю.
  • В него легко добавлять новые возможности.
  • Оно удовлетворяет потребности пользователей.
  • Оно хорошо документировано.

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

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

Качество программного обеспечения определяется в стандарте ISO 9126 [1] как вся совокупность его характеристик, относящихся к возможности удовлетворять высказанные или подразумеваемые потребности всех заинтересованных лиц.

Тот же стандарт ISO 9126 [1,2,3,4] дает следующее представление качества.

Различаются понятия внутреннего качества, связанного с характеристиками ПО самого по себе, без учета его поведения; внешнего качества, характеризующего ПО с точки зрения его поведения; и качества ПО при использовании в различных контекстах — того качества, которое ощущается пользователями при конкретных сценариях работы ПО. Для всех этих аспектов качества введены метрики, позволяющие оценить их. Кроме того, для создания добротного ПО существенно качество технологических процессов его разработки. Взаимоотношения между этими аспектами качества по схеме, принятой ISO 9126, показано на рис. 5.1.

Основные аспекты качества ПО по ISO 9126

увеличить изображение
Рис. 5.1. Основные аспекты качества ПО по ISO 9126

Общие принципы обеспечения качества процессов производства во всех отраслях экономики регулируются набором стандартов ISO 9000. Наиболее важные для разработки ПО стандарты в его составе следующие:

  • ISO 9000:2000 Quality management systems — Fundamentals and vocabulary [5].

    Системы управления качеством — Основы и словарь. (Аналог — ГОСТ Р-2001).

  • ISO 9001:2000 Quality management systems — Requirements. Models for quality assurance in design, development, production, installation, and servicing [6].

    Системы управления качеством — Требования. Модели для обеспечения качества при проектировании, разработке, коммерциализации, установке и обслуживании.

    Определяет общие правила обеспечения качества результатов во всех процессах жизненного цикла. (Аналог — ГОСТ Р-2001).

    • Этот стандарт выделяет следующие процессы:
      • Управление качеством.
      • Управление ресурсами.
      • Развитие системы управления.
      • Исследования рынка.
      • Проектирование продуктов.
      • Приобретения.
      • Производство.
      • Оказание услуг.
      • Защита продуктов.
      • Оценка потребностей заказчиков.
      • Поддержка коммуникаций с заказчиками.
      • Поддержка внутренних коммуникаций.
      • Управление документацией.
      • Ведение записей о деятельности.
      • Планирование.
      • Обучение персонала.
      • Внутренние аудиты.
      • Оценки управления.
      • Мониторинг и измерения.
      • Управление несоответствиями.
      • Постоянное совершенствование.
      • Управление и развитие системы в целом.
    • Для каждого процесса требуется иметь планы развития процесса, состоящие как минимум из следующих разделов:
      • Проектирование процесса.
      • Документирование процесса.
      • Реализация процесса.
      • Поддержка процесса.
      • Мониторинг процесса.
      • Управление процессом.
      • Усовершенствование процесса.
    • Помимо поддержки и развития системы процессов, нацеленных на удовлетворение нужд заказчиков и пользователей, ISO 9001 требует:
      • Определить, документировать и развивать собственную систему качества на основе измеримых показателей.
      • Использовать эту систему качества как средство управления процессами, нацеливая их на большее удовлетворение нужд заказчиков, планируя и постоянно отслеживая качество результатов всех видов деятельности, в том числе и самого управления.
      • Обеспечить использование качественных ресурсов, качественного (компетентного, профессионального) персонала, качественной инфраструктуры и качественного окружения.
      • Постоянно контролировать соблюдение требований к качеству на практике, во всех процессах проектирования, производства, предоставления услуг и при приобретениях.
      • Предусмотреть процесс устранения дефектов, определить и контролировать качество результатов этого процесса.

    Ранее использовавшиеся стандарты ISO 9002:1994 Quality systems — Model for quality assurance in production, installation and servicing и ISO 9003:1994 Quality systems — Model for quality assurance in final inspection and test в 2000 году были заменены соответствующими им частями ISO 9001.

  • ISO 9004:2000 Quality management systems — Guidelines for performance improvements [7].

    Системы управления качеством. Руководство по улучшению деятельности. (Аналог — ГОСТ Р-2001).

  • ISO/IEC 90003:2004 Software engineering — Guidelines for the application of ISO 9001:2000 to computer software [8].

    Руководящие положения по применению стандарта ISO 9001 при разработке, поставке и обслуживании программного обеспечения.

< Лекция 4 || Лекция 5: 123456 || Лекция 6 >
Владислав Нагорный
Владислав Нагорный

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

Спасибо!

Лариса Парфенова
Лариса Парфенова

1) Можно ли экстерном получить второе высшее образование "Программная инженерия" ?

2) Трудоустраиваете ли Вы выпускников?

3) Можно ли с Вашим дипломом поступить в аспирантуру?

 

Денис Сафронов
Денис Сафронов
Россия
жылдыз насырбекова
жылдыз насырбекова
Киргизия, бишкек