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

Тема12(Метрики)-К

.pdf
Скачиваний:
11
Добавлен:
02.04.2015
Размер:
1.25 Mб
Скачать

Системы количественных показателей: метрики

2. Метрики, которым соответствует порядковая,

Метрикиранжированная шкала. качества

Она позволяет ранжировать некоторые характеристики

путемпрограммногосравнения с опорными значениями, обладающими разным весом т е измерение по этой шкале фактически

«

»,

.

.

определяет взаимную значимость конкретных модулей или программных систем в целом.

Для объектапродуктаизмерения устанавливается приоритетность признаков, по которым производится измерение.

31

Системы количественных показателей: метрики

3. Метрики, которым соответствует интервальная шкала, Метрикихарактеризуется относительнымикачествавеличинами или реально измеряемыми физическими показателями.

Например, используя этот вид метрик, можно сказать, что одна

программа( программноготруднее) или эффективнее. другой программы на 10 относительных единиц

Или, такую характеристику как понимаемость программы можно количественнопродуктаоценить значениями этой метрики: [нетрудная для понимания – 3 балла], [умеренно трудная для

понимания – 5 баллов], [трудная для понимания – 7 баллов], [очень трудная для понимания – 10 баллов].

32

Системы количественных показателей: метрики

Основные направления формирования метрик для оценки компьютерных программ (hl-1)

МетрикиВ настоящее время в мировой практикекачестваиспользуется несколько сотен метрик компьютерных программ.

Существующие качественные и количественные оценки можнопрограммногосгруппировать по шести основным направлениям: 1. оценки топологической и информационной сложности

программ 2. оценки уровняпродуктаязыковых средств и их применения

3. оценки трудности восприятия и понимания программных текстов, ориентированные на психологические факторы, существенные для сопровождения и модификации

33 программ

Системы количественных показателей: метрики

Основные направления формирования метрик для оценки компьютерных программ (hl-2)

Метрики4. оценки надежности программныхкачествасистем, позволяющие прогнозировать нештатные и «отказовые» ситуации

5.оценкипрограммногопроизводительности ПО и повышения его эффективности путем выявления и коррекции

ошибок концептуального и системного проектирования

6.оценки производительностипродуктатруда программистов для прогнозирования сроков разработки программ и

планирования работ по созданию программных комплексов.

34

Системы количественных показателей: метрики

Структурные элементы метрики

используемая модель технологии производственного процесса

Метрики(Production Technology Model – PTM)качества

используемая модель внешней среды в которой протекает деятельность рассматриваемой процессной, или проектной единицы

(Environment Model – EM)

целипрограммного, преследуемые в ходе производственной деятельности (Activity

Goals – AG)

используемая модель функционирования процессно-проектной

единицы в рассматриваемой среде модель реализации имеющихся технологическихPM) продуктавозможностей производства (Performance Model –

выбранный метод измерения эффективности (Measurement Model –

MM)

выбранная шкала измерения эффективности (Units of Measure – UM)

35

Системы количественных показателей: метрики

Алгоритм формирования метрик

МетрикиЭтап 1. Определение множествакачествахарактеристик, которые, , являясь важными для программного обеспечения

допускают несложное измерение и не перекрываются.

Этаппрограммного2. Выделение кандидатов в метрики, которые измеряют степень удовлетворения указанным

характеристикам.

Этап 3. Исследованиепродуктахарактеристик и связанных метрик, для определения корреляции, значимости, степени автоматизируемости измерений.

36

Системы количественных показателей: метрики

Алгоритм формирования метрик

МетрикиЭтап 4. Анализ и нахождение корреляциикачествамежду метриками, степени перекрытия, зависимости и недостатки.

Этап программного5. Рафинирование, множества метрик в целом в совокупность метрик которые в совокупности адекватно

отражают качество программного обеспечения. Этап 6. Корректировкапродуктакаждой метрики в итоговом множестве в контексте последующего накопления характеристик и оценок.

37

Системы количественных показателей: метрики

Иерархия и взаимосвязь характеристик качества ПП/ПС первого и второго уровней

38

 

 

Системы количественных показателей: метрики

 

 

 

Модель нарастания

Зрелость

 

 

качества ПП/ПС

процесса

 

 

 

 

 

 

 

разработки ПО

 

 

 

 

Метрики качества

+

+

 

 

+

 

 

 

 

 

Качество

 

Качество

 

Качество

 

 

 

программногоинтеграции и

разработки

 

внедрения

+

продукта

 

 

+

 

 

 

 

-

продукта

-

 

 

-

 

 

Сложность

 

Неопределенность

Недостатки системного

продукта

 

требований

проектирования

39

 

 

 

 

 

Системы количественных показателей: метрики

Метрики менеджмента процесса разработки

МетрикиЦена (Cost) – расходы на приобретениекачества/разработку. Измеряет общую цену, включая цену анализа рынка,

приобретения, разработки интеграции и улучшения

качествапрограммногоПО.

Время разработки (Time-to-Market) – мера времени от

формирования заказа на программу до поставки.

При итерационнойпродуктаразработке данная метрика модифицируется для измерения времени, требуемого для поставки заданного

объема приращения функциональности, то есть скорости поставки.

40

Системы количественных показателей: метрики

Метрики менеджмента процесса разработки

МетрикиИспользование системных ресурсовкачества(System Resource Utilization) – определяет процент целевых компьютерных и сетевых ресурсов, используемых программной системой.

программного

Процесс и среда разработки (Software Engineering Process and Environment) – мера способности производителя разрабатыватьпродуктакачественное программное обеспечение.

Данная метрика может быть выражена в терминах многоуровневой моделей SW СММ (Software Capability Maturirty Model) и СММI (CMM Integration)

41

Системы количественных показателей: метрики

Метрики требований

МетрикиСоответствие требованиямкачества(Requirement Conformance)

Стабильность требований (Requirement Stability) Изменяемостьпрограммноготребований (Requirement Convertibility)

Метрики требованийпродуктадают возможность контролировать спецификации, изменение требований, а также степень их удовлетворения в процессе разработки и верификации.

42

Системы количественных показателей: метрики

Примеры метрик качества ПП/ПС в целом

МетрикиАдаптируемость (Adaptability)качествамера гибкости системы- , оценивает способность программной системы адаптиро

ваться к изменениям требований либо перепроектирова-

нием программногосистемы, либо интеграцией приложений.

Сложность интерфейсов и интеграции (Complexity of Interfaces and Integration) – измеряет степень сложности интерфейса илипродуктадополнительного программирования, требуемого для интеграции компоненты в систему, которые требуются для тестирования, отладки и сопровождения, компенсирующего потерю качества.

43

Системы количественных показателей: метрики

Метрики качества ПП/ПС в целом

МетрикиТестовое покрытие (Test Coverage)качествауказывает степень полноты различных типов тестирования и наличия

стандартных тестовых библиотек.

Надежностьпрограммного(Reliability) оценивает вероятность работы системы без отказов. Данная метрика может быть получена

в рамках традиционного вероятностного подхода на базе накопления статистикипродукта.

Профили ошибок (Fault Profiles) – измеряет кумулятивное распределение ошибок по параметрам, производит классификацию и учёт статуса обнаруженных ошибок.

44

Системы количественных показателей: метрики

Метрики качества ПП/ПС в целом

МетрикиСтепень удовлетворения потребностейкачествазаказчика

(Customer Satisfaction) – оценивающая степень

соответствия программного обеспечения ожиданиям и требованиямпрограммногозаказчика.

Данная метрика может быть применена перед поставкой на этапе опытной эксплуатации на основе прогнозирующихпродуктапараметров.

45

Системы количественных показателей: метрики

Качество проекта разработки и продукта

При формировании оценок качества проекта и продукта в Метрикипроцессе разработки широко используетсякачествамодель: <Фактор- Критерий-Метрика> . Установление связи <фактор

критерий> требует анализа исходных требований к качеству.

В этой программногомодели характеристики качества разделены на три группыФакторы (Factors) – описывают ПО с позиций

пользователя и задаются требованиями заказчика (рынка)Критерии (Criteria)продуктаописывают ПО с позиций

разработчика и задаются как достигаемые плановые цели

Метрики (Metrics) используются для количественного описания критериев и, тем самым, измерения запланирован- ного качества

46

Системы количественных показателей: метрики

Качество проекта разработки и продукта

Одиннадцать (11) выделенных факторов качества группируются в Метрикитри (3) группы по различным способамкачестваоценки и работы с ПО.

Установка связи <факторкритерий> требует анализа требований

к качеству.

Каждомупрограммногофактору ставятся. в соответствие критерии и метрики для измерения критериев

Конкретные метрики выводятся в соответствии с требованиями проекта из критериевпродуктакачества, таких, например, как:

Accuracy (точность), Completeness (полнота), Consistency (согласованность), Module size (размер модулей), Data coupling (связь модулей по данным), Cohesion (связность), Modularity

(модульность), Span of control (норма управляемости) и.т.д.

47

Системы количественных показателей: метрики

Модель МакКола-Ричардса-Уолтерса (1977 г.)

Факторы Факторы

 

 

Модель

Факторы

 

FCM

 

 

 

48

Системы количественных показателей: метрики

Примеры факторов качества программного кода, выводимые из требований

МетрикиГибкость (Flexability), котораякачествааккумулирует свойства:

Модульность (Modularity)

Изменяемостьпрограммного(Changeability)

Сопровождаемость (Maintainability)

Адаптивность (Adaptability), которая подразумевает :

 

продукта

Настраиваемость (Customizability)

Переносимость (Portability)

Способность к взаимодействию (Interoperability)

49

Системы количественных показателей: метрики

Критерии качества по МакКолу

Метрики1. Удобство проверки на соответствиекачествастандартам

(Auditability)

2.Точность управления и вычислений (Accuracy)

3.Степеньпрограммногостандартности интерфейсов (Communication

Commonality)

4.Функциональная полнота (Completeness)

5.Однородностьпродуктаиспользуемых правил проектирования и документации (Consistency)

6.Степень стандартности форматов данных (Data

Commonality)

50

Системы количественных показателей: метрики

Критерии качества по МакКолу

Метрики7. Устойчивость к ошибкамкачества(Error toleran)

8. Эффективность работы (Execution efficiency)

9. Расширяемость (Expandability)

10. программногоШирота области потенциального использования

(Generality)

11.Независимость от аппаратной платформы (Hardware Independence)продукта

12.Полнота протоколирования ошибок и других событий (Instrumentation)

13.Модульность (Modularity)

51

Системы количественных показателей: метрики

Критерии качества по МакКолу

Метрики14. Удобство работы (Operability)качества 15. Защищенность (Security)

16. Самодокументированность (Selfdocumentation)

17.программногоПростота работы (Simplicity)

18.Независимость от программной платформы (Software

System Independence)

19. Возможностьпродуктасоотнесения проекта с требованиями

(Traceability)

20. Удобство обучения (Training Ease)

52

Системы количественных показателей: метрики

Качество программной системы

В процессе инжиниринга программных систем в дополне- Метрикиние к классическим факторамкачествадолжны быть включены в

число наиболее важных такие факторы качества

объектно-ориентированного дизайна как: надежность

(Reliability),программногосложность (Complexity) и переиспользуе- мость (Reusabiblity).

Измерение качествапродуктапроектирования является принципиально важной частью процесса разработки, поскольку, как показывает статистика стоимость ошибки проектирования в среднем на два порядка выше стоимости ошибки кодирования.

53

Системы количественных показателей: метрики

Качество программной системы

МетрикиНадежность фактор, отражающийкачествавозможность установления явных соответствий между требованиями к

системе и ее реализацией. Данное соответствие

устанавливается через дизайн системы. Игнорирование этого обстоятельствапрограммногоявляется частой причиной выпуска ненадежных систем.

Сложность факторпродукта, отражающий трудность понимания, реализации и модификации. Сложные проектные решения трудно реализовывать при этом они чреваты большими ошибками при реализации.

54

Системы количественных показателей: метрики

Качество программной системы

МетрикиПереиспользуемость факторкачества, отражающий степень применимости проектных решений в различных

контекстах. Наличие таких решений значительно

уменьшают размер проекта, повышают выветренность решенийпрограммногои более высокую степень соответствия проблемной области.

Важным свойством приведенных иерархических метрик является возможностьпродуктапредсказания уровня качества, которое может быть выведено на основе измерения непрямых метрик. При этом получение измерения на верхнем уровне иерархии производится обычно расчетом

взвешенной суммы метрик нижнего уровня.

55

Системы количественных показателей: метрики

Модель <FCM>: ФакторКритерийМетрика

Факторы Критерии

МетрикиТочностькачества

Надёжность

Полнота

 

программного

 

Согласованность

 

 

Размер модулей

Метрики

Сложность

Связь модулей

 

по данным

 

 

 

Переисполь-

продукта

 

 

Связность

 

зуемость

Модульность

 

 

 

 

Норма

 

 

 

 

управляемости

 

56

Системы количественных показателей: метрики

Примеры прямых измерений качества

программной системы

МетрикиПереносимость (Portability). Можнокачестваоценивать через трудоемкость, как количество чел.-час., требуемое для

переносапрограммногопрограммы с платформы X на платформу Y. Допустимый порог чел час на строк исходного кода

.

1K

-

.

1

:

Надежность (Reliability) – среднее время наработки на

отказ. Допустимыйпродуктапорог: 120 операционных дней.

Тестируемость (Testability) – количество чел.-час.,

требуемое для полного тестирования 90% всех модулей. Допустимый порог 10 чел.-час. на 1K строк исходного кода.

57

Системы количественных показателей: метрики

Модель <GQM>: ЦельВопросМетрика

МетрикиG качества программногоQ1 Q2 Q3

Q1,1

продуктаQ 3,2 Q3,3

 

Q1,2

 

 

 

Q

 

Q

1,3

Q

Q3,1

Q

 

 

2,1

2,2

2,3

M1,1,1

M1,1,2 ,... M2,1,1

M2,1,2 ,…. M3,1,1 M3,1,2 ,… M3,3,3

58

Системы количественных показателей: метрики

1. Модель: ФакторКритерийМетрика

МетрикиПрименяется при маркетингекачества, установлении требований, разработке и системной интеграции

программного продукта, оценке качества и эффективностипрограммногопроцесса разработки

2. Модель: ЦельВопросМетрика

продукта

Применяется на ранних стадиях маркетинга, при внедрении, эксплуатации и сопровождении программного продукта

59

Системы количественных показателей: метрики

Практические выводы (7)

Метрики1. Качество накапливается в программномкачества продукте при сложном производстве

кумулятивным образом, причем, вклад в качествопрограммного, осуществленный на ранних стадиях, имеет более сильное влияние на

конечный продукт, чем на более поздних стадиях недопониманиепродуктатребований и недостатки проектирования систем не могут

быть компенсированы высоким качеством кодирования, тестирования и внедрения

60