Разработка программного обеспечения (Software Engineering) Ian Sommervillle Часть 8. Управление качеством
Содержание 1. Качество программного продукта 2. Процесс управления качеством программного продукта 3. Стандарт ISO Виды стандартов 5. Стандарты на продукцию и процесс разработки По 6. Советы менеджеру по качеству 7. Стандарты на техническую документацию 8. Структура плана обеспечения качества 9. Контроль качества 10. Проверки качества 11. Измерение показателей ПО. 12. Процесс измерения 13. Показатели программного продукта.
Качество программного продукта Качество программного продукта должно соответствовать некоторым техническим требованиям. Здесь возникает ряд проблем: 1.Технические требования. Должны одновременно удовлетворять интересам и заказчика и разработчика (н-р, удобство сопровождения). 2.Сложность в определении и измерении показателей качества. (н-р, переносимость,удобство сопровождения и эффективность) 2.Сложность в создании спецификации программного продукта. Полнота спецификации не гарантирует получение высококачественного программного продукта.
Процесс управления качеством программного продукта Управление качеством предполагает возможность независимого контроля за процессом разработки ПО. Сам же процесс управления качеством состоит из трех основных видов деятельности: 1.Обеспечение качества. Определение множества организационных процедур и стандартов. 2.Планирование качества. Выделение подмножества стандартов и процедур и их адаптация к данному проекту. 3.Контроль качества. Проведение мероприятий по выполнению нормативных процедур и стандартов качества всеми членами группы разработчиков.
Процесс управления качеством программного продукта Особенности процесса управления качеством: Контрольные проектные элементы в процессе разработки ПО являются основой контроля качества. Это дает возможность своевременного получения информации о проблемах и трудностях. Команда контроля за качеством не должна быть связана с группой разработчиков. D1D2D3D4 Процесс разработки ПО Процесс управления качеством Стандарты и процедуры Отчеты по контролю качества План обеспечения качества D- контрольные проектные элементы
Стандарт ISO 9000 и управление качеством ISO это целый ряд всевозможных стандартов, принимаемых за основу развития систем управления качеством. Модели обеспечения качества ISO 9000 Руководство Организации по качеству План обеспечения качества проекта 3 План обеспечения качества проекта 1 План обеспечения качества проекта 2 Процесс обеспечения качества Управление качеством проекта Существуют в виде документация Используется для создания Существует в виде
Виды стандартов В процессе обеспечения качества могут применяться два вида стандартов, между которыми существует взаимосвязь. 1. Стандарты на продукцию. Включают стандарты на сопроводительную документацию. Применимы к готовым продуктам. Включают стандарты на сопроводительную документацию. Применимы к готовым продуктам. 2. Стандарты на процесс создания ПО. Определяют ход процесса создания программного продукта. Определяют ход процесса создания программного продукта.
Стандарты на продукцию и процесс разработки ПО Стандарты на продукцию Стандарты на процесс разработки ПО Форма пересмотра архитектуры ПО Руководство по проведению пересмотра архитектуры ПО Структура системных требований Представление документации по нормативам ЕЭС Формат заголовков программ и процедур Процесс выпуска версии ПО Стиль программирования языка JAVA Процесс утверждения плана реализации проекта Формат плана реализации проекта Процесс контроля изменений Форма запроса на изменение Процесс регистрации выполнения тестов
Советы менеджеру по качеству 1.Необходимо вовлечь программистов в разработку стандартов. Описание стандартов должно содержать не только изложение норматива качества, но и объяснение необходимости выбора именно его. 2.Регулярно просматривать и обновлять стандарты, которые затем помещаются в справочник организации. 3.Подумать, как обеспечить поддержку стандартов программными средствами везде, где только можно.
Стандарты на техническую документацию Стандартные документы имеют четкую последовательную структуру, их легко читать и воспринимать. Выделяют три основные типа стандартов на документацию: 1. Стандарты на процесс создания документации. Определяют способ создания технической документации Определяют способ создания технической документации 2. Стандарты на документ. Определяют структуру и внешний вид. Определяют структуру и внешний вид. 3. Стандарты на обмен документами. Гарантируют совместимость всех электронных версий документов. Гарантируют совместимость всех электронных версий документов.
Структура плана обеспечения качества В плане обеспечения качества отображаются стандарты наиболее подходящие к создаваемому ПО. Предлагается следующая структура плана: 1.Представление продукта. Описание продукта, намечаемый рынок его сбыта, а также ожидаемые свойства. 2.Планы выпуска продукта. Назначение крайних сроков выпуска версий программного продукта, распределение ответственности за его разработку и обслуживание. 3. Описания процессов. Представление процессов разработки и обслуживания программного продукта в ходе выполнения проекта и управления им. 4. Цели качества. Планы и цели обеспечения качества продукта, включая описание наиболее важных его характеристик. 5. Риски и управление рисками. Описание основных видов риска, которые могут оказать влияние на уровень качества продукта, и мероприятия, направленные на снижение рисков.
Процесс контроля качества имеет собственный набор процедур и отчетов, которые могут быть использованы в процессе разработки ПО. Они должны иметь четкую структуру. Выделяют два взаимодополняющих подхода к процессу контроля качества: 1. Группа разработчиков анализирует документацию, сопровождающую программный продукт, проверяет соответствие документа стандартам. 2. Программный продукт и его документация проверяется специальной компьютерной программой на его соответствие стандарту. Контроль качества
В проверку включена группа специалистов, которые изучают отдельный этап или процесс разработки в целом. В таблице представлены некоторые типы проверок. Проверки качества Тип проверки Основная цель проверки Инспекция структуры и программного кода системы Выявить ошибки в требованиях, в структуре и программном коде. Проверка проводится в соответствии с технологической картой возможных ошибок Промежуточные проверки Предоставить отчет о ходе выполнения проекта. Проверки качества Анализ компонентов продукта и документации для выявления несоответствия между спецификацией и структурой системы.
Измерение показателей ПО Измерение – получение числовых значений определенных Измерение – получение числовых значений определенных показателей программного продукта или процесса его показателей программного продукта или процесса егоразработки. Показатели программного обеспечения это количественные показатели, которые можно измерить и которые показатели, которые можно измерить и которые характеризуют программную систему, процесс разработки характеризуют программную систему, процесс разработки ПО или сопровождающую документацию. Показатели делятся на два вида: контрольные и прогнозируемые. Контрольные показатели обычно соотносятся с процессом разработки ПО, а прогнозируемые с готовым программным продуктом. с готовым программным продуктом.
Процесс измерения Процесс измерения показателей ПО, который может быть частью контроля качества, показан на рисунке. частью контроля качества, показан на рисунке.
Процесс измерения Процесс измерений состоит из пяти основных этапов. 1. Выбор показателей для измерения. 1. Выбор показателей для измерения. Определяются измеряемые показатели Определяются измеряемые показатели 2. Отбор системных компонентов. 2. Отбор системных компонентов. Часто совсем необязательно оценивать показатели всех компонентов программной системы. 3. Измерение показателей компонентов. 3. Измерение показателей компонентов. Это процесс измерения значений выбранных показателей для отобранных компонентов. Это процесс измерения значений выбранных показателей для отобранных компонентов. 4. Определение аномальных данных. 4. Определение аномальных данных. Значения измеренных показателей нужно сравнить между собой и с предыдущими измерениями, занесенными в базу данных. Значения измеренных показателей нужно сравнить между собой и с предыдущими измерениями, занесенными в базу данных. 5. Анализ аномальных компонентов. 5. Анализ аномальных компонентов. Определив компоненты с аномальными показателями, их следует изучить для выявления возможного отрицательного влияния на качество программного продукта в целом
Показатели программного продукта Показатели программного продукта можно разделить на два класса. два класса. 1. Динамические показатели, которые измеряются в процессе 1. Динамические показатели, которые измеряются в процессе выполнения программы. выполнения программы. Относительно легко измерить время выполнения Относительно легко измерить время выполнения определенных функций и оценить время, необходимое для определенных функций и оценить время, необходимое для запуска системы. запуска системы. 2. Статические показатели, которые отражают статические 2. Статические показатели, которые отражают статические представления системы, например структуру, программный представления системы, например структуру, программный код или документацию. Статические показатели, код или документацию. Статические показатели, как правило, имеют отдаленное отношение к как правило, имеют отдаленное отношение к качественным характеристикам ПО. качественным характеристикам ПО.
Вопросы для контроля 1. Какими качествами должна обладать система для удобства её сопровождения? 2. Как избежать ситуации, когда пользователь недоволен качеством ПО, но оно полностью соответствует спецификации? 3. Можно ли не следовать всем пунктам справочника стандартов ПО, и кто должен заниматься этим вопросом? 4. Для каких систем целесообразно применять проверку качества группой специалистов, а когда автоматизированной оценкой качества ПО? 5. Нужно ли оценивать качество прототипа системы? Если да, то какими принципами нужно руководствоваться проверяющему? 6. Как связаны статические и динамические показатели системы с оценкой качества ПО?