BC/NW 2006, №2, (9) :3.2
УПРАВЛЕНИЕ КАЧЕСТВОМ В ЖИЗНЕННОМ ЦИКЛЕ
ПРОГРАММНЫХ СРЕДСТВ (СТАНДАРТЫ И МЕТОДЫ)
Б.М. Позднеев, А.А. Котлячков
(Москва, ГОУ МГТУ «СТАНКИН», Россия)
Сокращение жизненного цикла программных
средств (ПС) и повышение требований к их качеству является наиболее
характерными особенностями развития сферы информатизации на современном этапе
[1]. Следует указать, что накопленный в
программной инженерии положительный опыт нашел отражение в целом ряде
международных стандартов (рис.1), содержащих требования к жизненному циклу
систем, их программного обеспечения и процессов их разработки.
Для любого инженерного
продукта существует множество интерпретаций качества. Характеристики качества
могут требоваться в той или иной степени, могут отсутствовать или могут
задавать определенные требования, все это может быть результатом определенного
компромисса. Стоимость качества может быть дифференцирована на стоимость
предупреждения дефектов, стоимость оценки, стоимость внутренних, а также
внешних сбоев. В различных источниках терминология характеристик качества
программного обеспечения отличается. Международные стандарты определяют две
связанные модели качества программного обеспечения (ISO 9126–01) – внутреннее качество, внешнее качество, а также набор
соответствующих работ по оценке качества программного обеспечения (ISO14598–98). Качество программного
обеспечения, управление качеством и качество программной инженерии имеют
непосредственное отношение к качеству создаваемого программного продукта [2].
Существует два важнейших стандарта в области качества программного обеспечения.
Общая система менеджмента качества ISO 9001:2000 в приложении к программным проектам и представленный в
виде специальных рекомендаций ISO 90003:2004. Другие важные стандарты – CMMI и ISO 15504 предоставляет
рекомендации по совершенствованию ПС.
CMMI: обеспечение качества
процесса и продукта, проверка и аттестация. Стандарт ISO 9126 определяет для двух из трех описанных в нем моделей,
связанные характеристики и «суб-характеристики» качества, а также метрики,
полезные для оценки качества программных продуктов.
Качество программного
обеспечения может повышаться за счет итеративного процесса постоянного
улучшения. Это требует контроля, координации и обратной связи в процессе
управления многими одновременно выполняемыми процессами: жизненного цикла,
обнаружения, устранения и предотвращения сбоев/дефектов и процессов улучшения
качества. Для реализации требований предъявляемых международными стандартами, регламентирующими
жизненный цикл программного средства существует ряд наиболее эффективных
методов, моделей и концепций таких как Всеобщий Менеджмент Качества, Управление
качеством, Подтверждение качества, CMMI, Документирование и другие,
правильное применение которых поможет организации в повышении качества и как
следствие конкурентоспособности выпускаемой продукции.
Для совершенствования
системы менеджмента организации призвана концепция TQM являющаяся частью ISO 9000. Поддержка менеджмента
помогает в выполнении процессов, оценке продуктов и получению всех необходимых
данных. Кроме этого, разрабатываемая программа совершенствования детально
идентифицирует все действия и проекты по улучшению отдельных аспектов
деятельности в рамках определенного периода времени, за который такие проекты
можно осуществить с успешным решением соответствующих задач.
Управление качеством
программного обеспечения применяется ко всем аспектам процессов, продуктов и
ресурсов [6]. Оно определяет процессы, владельцев процессов, а также требования
к процессам, измерения процессов и их результатов, плюс – каналы обратной
связи. Планирование качества программного обеспечения включает определение
требуемого продукта в терминах характеристик качества, Планирование процессов,
необходимых для получения требуемого продукта. Некоторые из специализированных
процессов управления качеством определены в стандарте ISO12207: процесс обеспечения
качества: процесс верификации, процесс аттестации, процесс совместного анализа,
процесс аудита.
Процессы обеспечения качества служат для
подтверждения того, что программные продукты и процессы жизненного цикла
проекта соответствуют заданным требованиям. Такое подтверждение проводится на основе
планирования, постановки работ и исполнения набора действий, направленных на
то, чтобы качество стало неотъемлемой частью программного обеспечения. Процессы
обеспечения качества позволяют идентифицировать проблемы еще на ранних стадиях,
которые практически неизбежны в любой сложной деятельности.
Подтверждение соответствия
программного средства предъявляемым к нему требованиям обеспечивает процесс
Аттестации и Верификации, который напрямую адресуется вопросам качества
программного обеспечения и использует соответствующие техники тестирования для
обнаружения тех или иных дефектов. Верификация – попытка обеспечить правильную
разработку продукта, т.е. соответствие спецификациям, заданным в процессе
предыдущей деятельности. Аттестация – попытка обеспечить создание правильного
продукта с точки зрения достижения поставленной цели [1]. Оба процесса –
верификация и аттестация – начинаются на ранних стадиях разработки и
сопровождения.
Процессы управления
качеством обеспечивают нахождение
дефектов. Описание характеристик дефектов играет основную роль в
понимании продукта, облегчает корректировку процесса или продукта, а также
информирует менеджеров проектов и заказчиков о состоянии процесса или продукта.
Управление качеством обеспечивает сбор информации на всех стадиях разработки и
сопровождения программного обеспечения [3]. По результатам работ, направленных
на обнаружение дефектов, выполняются действия по удалению дефектов из
исследуемого продукта - анализ и подведение итогов по обнаруженным
несоответствиям/дефектам, использование техник количественной оценки для
улучшения продукта и процесса, отслеживание дефектов и удаления их из системы.
Процессы
подтверждения качества, исследуют и оценивают любой выходной продукт, связанный со
спецификацией требований к программному обеспечению, на предмет трассируемости,
согласованности, полноты/завершенности, корректности и непосредственно
выполнения требований [3].
Модели
качества программных продуктов включают метрики для определения уровня каждой характеристики качества,
присущей продукту. Метрики могут способствовать поиску проблемных аспектов и
узких мест в процессах.
Таблица 1. Применение
международных стандартов в области создания программных средств.
Основополагающие международные стандарты |
Области применения |
Примечание |
ISO 9001 ISO 90003
ISO 15504 |
Система менеджмента качества и оценки зрелости процессов
жизненного цикла ПС |
Система менеджмента качества организации, рекомендации по
совершенствованию процессов, уровни зрелости процессов. |
ISO
15288 ISO 12207 |
Качество процессов жизненного цикла Систем и ПО |
Процессы и работы проводимые в рамках создания Систем и ПО
охватывающие весь жизненный цикл ПО. |
ISO
9126 |
Качество продукта |
Модели качества, способы оценки качества и метрики
количественной оценки качества. |
ISO
9127 |
Документирование |
Процессы документирования на всех этапах ЖЦ. |
ISO
12119 |
Подтверждение качества ПО |
Технология тестирования ПО на различных этапах жизненного
цикла. |
Из вышесказанного можно
сделать вывод что обеспечением качества необходимо заниматься на всем
протяжении жизненного цикла программного средства. Причем это наиболее важно на
начальной концептуальной стадии. Накопленный опыт данной сферы заключен во
множестве современных международных стандартов, который может быть незаменим
при производстве высококачественной конкурентоспособной продукции в сфере
информационных технологий – Программных средств и систем.
Литература
1.
Липаев
В.В. Качество Программных Средств.- Янус-К., Москва, 2002. – 400 с.
2.
Роберт Т.Фатрелл,
Дональд Ф. Шафер, Линда И. Шафер Управление программными проектами. Достижение
оптимального качества при минимуме затрат.- Издательский дом «Вильямс», Москва,
2003г. - 1136с.
3.
Сэм Канер, Джек
Фолк, Енг Кек Нгуен. Тестирование программного обеспечения. Фундаментальные
концепции бизнес приложений.- DiaSoft, Москва, 2001. – 544 с.
4.
Благодатских В.
А., Волнин В. А., Поскакалов К. Ф.. Стандартизация разработки программных
средств. Учебное пособие. - Финансы и статистика, Москва, 2003. – 288 с.
5.
Тито Конти, Есио
Кондо, Грегори Ватсон. Качество в XXI веке. Роль качества в обеспечении
конкурентоспособности и устойчивого развития. -Стандарты и качество, Москва,
2005 . - 288 с.
6.
Позднеев Б.М. Интегрированная информационная поддержка процессов
проектирования и производства поковок
конкурентоспособного качества.- Янус-К, Москва, 2005. – 152 с.