Черников / Домашние задания / ДЗ-5 / Username5
.docxОценка качества программ на основе процедурно-ориентированных метрик.
Метрики на основе функциональных указателей
Для косвенной оценки уровня качества процедурно-ориентированных ПС используют метрику дефектов качества
DQ=
Предполагается 0<=DQ<=1
Эту метрику качества можно рассчитать не на основе количества строк программы(LOC), а на основе функциональных указателей (FP-Function Points) Алана Альбрехта(ввел метрику в 1979 году)
Достоинство – легкость вычисления.
Недостаток – результаты основываются на субъективных данных: используются не прямые, а косвенные измерения.
Количество функциональных указателей является мерой внешних обращений к данным, под которыми понимают ссылки на внешние ввод, внешний вывод, внешний запрос, автономный локальный файл, раздельный глобальный файл
F=
Ki=коэффициенты регулировки сложности
F-общее количество функциональных указателей
F=
Оценочные элементы:
f1-количество внешних вводов (вводов данных пользователем)
f2-количество внешних выводов (отчеты , экраны, распечатки, сообщения)
f3-количество внешних запросов (диалоговых вводов-выводов)
f4-количество локальных внутренних логических файлов (группа логически связанных данных, которая размещена внутри приложения и обслуживается через внешние вводы, наборы без данных)
f5-количество внешних интерфейсных файлов-разделяемых с другими программами глобальных файлов (группа логически связанных данных, которая размещена внутри другого приложения и поддерживается им, внутренний логический файл в другом приложении)
Исходные данные для расчета FP-метрик
Характеристика |
Учет сложности |
Итого |
|||
|
Низкая |
Средняя |
Высокая |
|
|
Внешние вводы |
m × 3 = |
m × 4 = |
m × 5 = |
|
|
Внешние выводы |
m × 4 = |
m × 5 = |
m × 7 = |
|
|
Внешние запросы |
m × 3 = |
m × 4 = |
m × 6 = |
|
|
Внутренние логические файлы |
m × 7 = |
m × 10 = |
m × 15 = |
|
|
Внешние интерфейсные файлы |
m × 5 = |
m × 7 = |
m × 10 = |
|
|
Общее количество |
|
Значение коэффициентов регулировки сложности зависит от ответов на 14 вопросов, касающихся влияния определенных факторов на выполнение функций программного обеспечения:
1. Какое влияние имеет наличие средств передачи данных?
2. Какое влияние имеет распределенная обработка данных?
4. Какое влияние имеет критичность к требованиям производительности и ограничению времени
ответа?
5. Какое влияние имеет частота транзакций?
6. Какое влияние имеет ввод данных в режиме реального времени?
7. Какое влияние имеет эффективность работы конечного пользователя?
8. Какое влияние имеет оперативное обновление локальных файлов в режиме реального времени?
9. Какое влияние имеет скорость обработки данных (вычислений)?
10. Какое влияние имеют количество и категории пользователей?
11. Какое влияние имеет легкость инсталляции?
12. Какое влияние имеет легкость эксплуатации?
13. Какое влияние имеет разнообразие условий применения?
14. Какое влияние имеет простота внесения изменений?
Варианты ответов:
-
Влияние случайное
-
Небольшое эпизодическое
-
Основное, существенное
DQ=
На основе FP формируются другие оценки:
Производительность = Функц_Указатель/Затраты(FP/чел-мес)
Удельная Стоимость = Стоимость/Функц_Указатель(тыс.руб/FP)
Документированность = Страниц_Документа/Функц_Указатель(Страниц/FP)
Для продуктов с высокой алгоритмической сложностью используются метрики свойств (Features Points) применимы к системному и инженерному ПО, ПО реального времени и встроенному ПО
Для вычисления указателя свойств добавляется ещё одна характеристика – количество алгоритмов (алгоритм здесь определяется как ограниченная программа вычислений, которая включается в общую программу)
Значение каждого указателя свойств вычисляется по формуле расчета функционального указателя FP
Для сложных систем в реальном масштабе времени это значение на 25-30 % больше значения, вычисляемого по таблице для количества функциональных указателей
Известны примерные соотношения значений указателей FP c количеством строк кода LOC для различных языков программирования
Метрики связанности и сцепления модулей
Уровень качества ПС – прямо пропорционален силе связанности(прочности) и обратно пропорционален силе сцепления модулей
Для повышения надежности качество ПС предполагает максимизацию связанности и минимизацию сцепления модулей.
Для измерения связанности используют целочисленную шкалу силы связанности в интервале значений от 0 до 10.
Для каждого из значений силы связанности определен тип связанности, который может быть прописан модулю в процессе проектирования.
Процедура определения типа связанности модуля
В случаях, когда такая процедура окажется неприемлемой (модулю соответствует сразу
несколько типов связанности) ему приписывают тип с наименьшей связанностью.
Слабое сцепление между модулями служит признаком хорошо спроектированной системы по следующим причинам:
-
Уменьшение количества соединений между модулями приводит к уменьшению вероятности появления «волнового эффекта»
-
Минимализация риска появления «эффекта ряби», т.к. изменение влияет на минимальное количество модулей
-
При сопровождении модуля отсутствие необходимости беспокоиться о внутренних деталях других моделей
-
Упрощение системы для понимания, насколько это возможно
Способы достижения слабого сцепления модулей:
-
Удаление необязательных связей
-
Упрощение необходимых связей
-
Уменьшение количества необходимых связей
Рекомендации по ослаблению сцепления модулей:
-
Создание минимальных по количеству параметров межмодульных связей
-
Создание прямых межмодульных связей
-
Создание гибких связей для облегчения модификаций
-
Создание локализированных связей
-
Создание явных связей