Метрики качества, выводимые из требований чрезвычайно важны для анализа качества продукта, однако они создаются на начальных этапах разработки, когда степень неопределенности и риск, связанный с разработкой и внедрением новых программных продуктов велики. Для эволюционного процесса разработки должны быть приняты к рассмотрению метрики качества программ, используемые в процессе реализации циклов разработки.
К числу подобных метрик относится:
- Гибкость (flexability), которая аккумулирует ряд свойств:
- Модульность (Modularity)
- Изменяемость (Changeability)
- Сопровождаемость (Maintainability)
- Адаптивность (adaptability), которая подразумевает:
- Настраиваемость (customizability)
- Переносимость (Portability)
- Способность к взаимодействию (Interoperability)
В ходе приемосдаточных испытаний проходит проверка качества программного обеспечения, связанного с функциональностью, надежностью, производительностью в соответствии с документами, которые были приняты на начальных этапах проекта. Оценка качества по приведенным выше метрикам, как правило, не проводится. Однако уже через короткое время обычно происходит снижение уровня качества программного обеспечения, связанное с расхождением текущих требований заказчика к системе. Обычно причиной этого является высокая стоимость исправлений или изменений в программной системе.
Исправления программного обеспечения может быть инициировано по следующим причинам:
- исправление программы с недостаточным уровнем качества (bug fixing),
- изменение программы для повышения уровня качества (enhancement),
- изменение программы для удовлетворения изменения в требованиях.
Опыт внедрения и использования крупных программных систем показывает, что стоимость эксплуатации и сопровождения в составе общей стоимости владения системы (total cost ownership - TCO) увеличивается с ростом системы опережающими темпами. Отсюда следует, что показатели качества программ, связанные с гибкостью и настраиваемостью становятся все более важными. Очевидно: чем легче программный продукт модифицировать, тем легче достичь изначальных показателей качества за исключением производительности. Баланс производительности и гибкости – один из ключевых моментов, который должен находится под строгим контролем в критичных областях применения.
Качество технического проекта
Измерение качества проектирования является очень важной составляющей частью в процессе обеспечения качества программного продукта. Особую важность это приобретает при объектно–ориентированном проектировании программных систем. Объектно–ориентированная разработка программ вводит новые факторы качества, связанные с повторным использованием ранее выполненных наработок и выполнением модификаций.