
PETROV / INFOSYSTEMS. How to Measure Software Architecture [1.01]
.pdf
ЭФФЕКТИВНОСТЬ СТАТИЧЕСКОГО АНАЛИЗА
30%
> 65%
ошибок
снижение расходов и сокращение периода разработки благодаря пересмотрам, инспекции /
статическому анализу и совокупная эффективность технологиям виртуализации
пересмотров дизайна и инспекции кода иногда превышает 90%
Статический анализ позволяет избежать возникновения «периода хаоса» в начале эксплуатации и обнаруживать дефекты на тех стадиях разработки, когда они возникают.
31

ЭКОНОМИЧЕСКАЯ ЭФФЕКТИВНОСТЬ ПРАКТИК ПОДДЕРЖАНИЯ КАЧЕСТВА: ГРАФИК
Стоимость
разработки
Стадии ЖЦ продукта
Требования |
Дизайн |
Реализация Тестирование |
При поддержании качества В отсутствие поддержания качества
1 |
Хорошая новость |
|||
|
жертвуя качеством, |
|
||
|
|
|
||
|
|
можно быстрее |
|
|
|
|
«продвинуть» продукт по |
||
|
|
ранним стадиям |
|
|
|
|
разработки |
|
|
|
|
|
|
|
Требования |
|
Тестирование |
Эксплуатация |
|
|
и поддержка |
|||
[Requirements] |
|
[Testing] |
||
|
[Maintenance] |
|||
|
|
|
|
|
|
Разработка |
|
|
|
|
Интеграция |
|
||
|
архитектуры |
|
||
|
[Integration] |
|
||
|
[Design] |
|
||
|
|
|
|
|
|
|
Реализация |
|
|
|
[Implementation] |
|
2 |
Плохая новость |
|
по окончании стадии |
||
|
||
|
реализации за |
|
|
принесенное в жертву |
|
|
качество придется платить |
32

ПЕРЕСМОТРЫ И ЭФФЕКТИВНОСТЬ СНИЖЕНИЯ ДЕФЕКТОЕМКОСТИ КОДА
Вид пересмотра |
Мин., % |
Медиана, % |
Макс., % |
|
|
|
|
|
|
Пересмотр архитектуры |
30 |
40 |
60 |
|
верхнего уровня |
||||
|
|
|
||
|
|
|
|
|
Детальный пересмотр |
30 |
45 |
65 |
|
«функциональной архитектуры» |
||||
|
|
|
||
|
|
|
|
|
Детальный пересмотр |
35 |
55 |
75 |
|
«логической архитектуры» |
||||
|
|
|
||
|
|
|
|
|
Статический анализ / |
35 |
60 |
85 |
|
Инспекция кода |
||||
|
|
|
||
|
|
|
|
33

ИНСТРУМЕНТЫ СТАТИЧЕСКОГО АНАЛИЗА Java
IntelliJ IDEA
C++
Eclipse CODAN |
PVS-Studio |
С#
StyleCop
Инструменты статического анализа существуют более чем для 30 языков,
в том числе C / C++, Java, JavaScript, PHP, Python, SQL, VisualBasic, 34
платформы .NET и т.д.

ВОПРОС #3
КАК ОЦЕНИТЬ ИМЕЮЩЕЕСЯ И ИЗМЕРИТЬ ПРОГРЕСС В ДВИЖЕНИИ К СВОИМ ЦЕЛЯМ?
МОДЕЛИ И АТРИБУТЫ КАЧЕСТВА
35

Неформально о качестве Модели качества ПО Измеряем… архитектуру
Пример: цикломатическая сложность
Continuous Inspection: SonarQube™
36

НЕФОРМАЛЬНО О КАЧЕСТВЕ
|
Качество — это… |
1 |
… «степень соответствия присущих характеристик <…> |
изделия или продукта потребностям, ожиданиям» (ГОСТ Р |
ИСО 9000). Различают качество программного обеспечения и исходного кода.
2
3
Основная задача
… планировать и осуществлять мероприятия по анализу и повышению структурного качества исходного программного кода как артефакта в процессах разработки ПО
Актуальность
Итеративные методы разработки; распространение методов обеспечения и контроля качества на все этапы разработки ПО; распространение методов ОО-анализа, проектирования и разработки; применение UML и CASEсредств
Ожидаемый результат
4 |
Повышение качества управления рисками и |
|
затратами на всех этапах жизненного цикла ПО |
|
37 |

МОДЕЛИ КАЧЕСТВА ПО
Факторы |
|
модели |
|
|
|
||
точка зрения |
Критерии |
|
|
|
|
||
пользователя |
|
|
|
|
точка зрения |
ты |
|
|
бу |
||
Метрики |
разработчика |
||
атри |
|||
|
|||
|
|
Модели качества ПО — это упорядоченные системы атрибутов, значимых для заинтересованных сторон проекта разработки ПО
= |
|
|
|
Дж.
Маккол
Б. Боэм
ISO 9126
4,8
Общий принцип — числовое выражение фактора: линейная |
|
комбинация взвешенных влияющих метрик |
38 |

МОДЕЛЬ КАЧЕСТВА ГОСТ Р ИСО/МЭК 9126-93
И ISO 25010:2011
6
целей
ожидание от ПО
1991
2001
ISO 25010:2011
21
атрибут
близость к |
5 |
достижению |
|
цели |
структурных |
|
характеристик |
|
ПО |
Надежность
прочность, устойчивость; степень риска, сопряженного с использованием системы
Эффективность
производительность операций; управление ресурсами; правила кодирования
ГОСТ 9126 -93 |
Безопасность |
правила кодирования; обработка |
|
|
|||
(SQuaRE) |
ошибок и исключений |
||
|
|||
Удобство сопровождения |
Размер кода |
документация в коде; удобство чтения кода; |
оценка трудозатрат в ретроспективе |
|
отсутствие «грязных» техник; переносимость кода |
и перспективе |
39 |

МЕТРИКИ КАЧЕСТВА В МОДЕЛИ ГОСТ Р ИСО/МЭК 9126-93 И ISO 9126-2, ISO 9126-3
6
целей 21
ожидание |
атрибут |
|
|
||
от ПО |
|
|
|
близость к |
|
1991 |
достижению |
|
цели |
||
2001 |
||
|
ГОСТ 9126 -93 (SQuaRE)
ISO 9126-2, ISO 9126-3
|
Полнота и корректность реализации |
|
функций |
Метрики |
Отношение числа найденных дефектов к |
качества |
прогнозному |
|
Отношение числа проведенных тестов к |
|
общему их числу |
В ТРАКТОВКЕ ISO 9126 КАЧЕСТВО ПО
МОЖНО ПОВЫСИТЬ,
НЕ ВНОСЯ В НЕГО ИЗМЕНЕНИЙ
40