Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

PETROV / INFOSYSTEMS. How to Measure Software Architecture [1.01]

.pdf
Скачиваний:
37
Добавлен:
10.02.2015
Размер:
3.15 Mб
Скачать

ЭФФЕКТИВНОСТЬ СТАТИЧЕСКОГО АНАЛИЗА

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