Uploaded by arifjanov

Показатели качества пакетов прикладных программ

advertisement
Показатели качества пакетов прикладных программ.
Ка́ чество програ́ ммного продукта — «степень соответствия присущих характеристик или
требований».
2 группы:
1. Показатели, отражающие функциональные возможности пакета (для пользователей).
2. Показатели, характеризующие структурные свойства пакета (для разработчиков).
К первой группе относят:
· Точность результатов.
· Время работы программы.
· Дружественный интерфейс.
o
Возможность обработки аварийных ситуаций (неправильный ввод данных контроль
ввода данных и пример правильного ввода данных).
o Все аварийные ситуации должны быть описаны в документации.
· Гарантии разработчика (будут выполнены все функции, которые необходимы: создание,
печать, …).
· Должна учитываться квалификация пользователя (удобство пользования диалоговым
режимом).
Ко второй группе относят:
Программный код
Стандарты:
1. Стандарт на разработку с использованием языковых конструкций
( структурированное программирование, объектно – ориентированное программирование,
правильное использование типов данных, правильное использование констант и разрядной
сетки машины, правильное использование оперативной памяти, правильно использование
операторов ввода-вывода, правильное использование внешних программ и их компоновка,
правильная обработка аварийных ситуаций).
2. Стандарт на документацию (включает все разделы программного обеспечения. в случае
модернизации ПО должна быть модернизирована документации. использовать в опытной
эксплуатации).
Документация упрощает тестирование, уменьшает количество
модификацию программного продукта и самой документации.
ошибок,
упрощает
Методики оценки затрат на разработку программного
продукта.
2 вида методик:
1. Инженерно-технические методики.
2. Математические методики.
Инженерно- технические методики:
1. Метод экспертных оценок – оценка стоимости разработки экспертом из личного опыта
(оценивает сложность разработки, учитывает субъективные и объективные факторы
разработки, задает приблизительную оценочную стоимость, которая в процессе разработки
может варьироваться).
2. Метод алгоритмического анализа – используется некий алгоритм, по которому
производится расчет стоимости. Алгоритм составляется по спецификации на ПО. Если
спецификация четкая и правильная, метод дает хорошие оценочные результаты.
3. Пошаговый метод – полуалгоритмический метод, делается оценка стоимости по уровням
разработки. Оценка по уровням идет с помощью метода ЭО (1 уровень – главное меню. 2 –
подменю, …). Складывая стоимость, получаем стоимостную оценку (хорошие результаты).
4. Закон Паркинсона – временная характеристика (договариваются о сроках на разработку,
а затем рассчитывают стоимость всей разработки (субъективные и объективные факторы)).
Метод часто используется, но из-за ограниченного времени качество программного продукта
низкое.
5. Затраты на завершение разработки – по спецификации (алгоритмический метод)
заключается договор: со стороны исполнителя существует недоработка в спецификации,
заказчик и исполнитель договариваются о доработке программного продукта.
6. Психологический метод – объявляется конкурс на исполнителя. Заказчик формирует
задачу и ждет начальные предложения от фирм-разработчиков (как разработать, средства
и методы, стоимость). По такой методике работают все фонды (РФФИ, Сореса,…).
Математические методы оценивают:


общую стоимость разработки.
срок завершения разработки.
Используются математические методы из теории надежности. Экспериментально
установлено, что зависимость суммарных затрат на разработку больших программных
продуктов от времени отображается соотношением:
, где
E(t) – суммарные затраты на момент времени t.
k – общая стоимость системы.
a – максимальные затраты за единицу времени.
Ежегодные затраты на систему:
Зависимость Рэлея:
a – максимальные затраты за единицу времени.
От 0 до Tmax – период создания системы.
От Tmax – период сопровождения системы.
Использование такой зависимости возможно при следующих допущениях:
1. Количество задач, решаемых при создании программного продукта, конечно.
2. Последовательность решения задач образует пуассоновский поток случайных событий с
интенсивностью λ.
3. Количество исполнителей пропорционально числу решаемых задач (каждый исполнитель
работает над своим модулем независимо от других исполнителей).
4. Зависимость вероятности правильного решения от времени выражается прямой
пропорциональной зависимостью:
Для пуассоновского потока вероятность того, что в интервале [0.t] не произошло ни одного
события, имеет показательное распределение.
T – момент времени, когда событие произошло, т.е. задача решена. Тогда по
определению функции распределения:
Вероятность того, что событие произошло:
Скорость решения задачи (частота событий) – плотность распределения случайной
величины (производная от функции распределения
:
Пусть p – вероятность правильного решения задачи. Поток правильных решений получается
из потока общих решений путем прореживания, т.е. из потока с вероятностью p изымаются
правильные решения.
Прореженные потоки называются p-преобразованиями. Согласно свойствам пуассоновского
потока p-преобразованный поток – пуассоновский поток с интенсивностью pλ. Для потока
правильных решений выписывается соотношение:
(1)
=> скорость правильного решения:
(2)
Если вероятность правильного решения задачи p является функцией времени, то по
определению функции распределения выражения (1) и (2) примут следующий вид:
Согласно допущению 4 P(t)=α·t =>
Пусть
, тогда
И общие затраты
Ежегодные затраты выражаются как производная от общих затрат:
Исходят из того, что нужно рассчитать 2 параметра.
Методика дает оценочные характеристики параметров, которые по мере разработки
программного продукта могут корректироваться.
Из опыта крупных компаний следует, что допущения 1-4 выполняются.
Кортеж программы.
Факторы, влияющие на надежность ПО (кортежей):
1. Структура программы (т.е. ее исходный текст): максимально современный язык
программирования с использованием методов структурного и объектно-ориентированного
программирования => min скорость работы с программой, увеличение производительности.
2. Окружающая среда (оболочка) – операционная система, драйверы устройств, прикладные
и системные программы.
3. Режим эксплуатации программы (правильное использование объемов данных).
4. Документация: точность и правильность составления.
Экономические характеристики показателей качества.
1. Затраты на исправление кортежа.
2. Убытки от ошибок кортежа.
Периоды эксплуатации кортежа.
1. Начальное освоение кортежа характеризуется относительно большой частотой появления
ошибок из-за некорректной документации или работы программы.
2. Отладка кортежа – нормальный режим эксплуатации кортежа, характеризуется
постепенным уменьшением ошибок.
3. Нормальная эксплуатация кортежа – характеризуется низкой или нулевой частотой
появления ошибок.
4. Начальный износ кортежа (оборудования) – частота ошибок увеличивается, требуется
корректировка документации или программы.
5. Полный отказ кортежа – требуется замена или новая установка программы.
Затем осуществляется переход на 1 этап.
Экономические оценки надежности программы.
Факторы, обуславливающие моральное старение кортежа:
1. Появление новых задач, не предусмотренных в данном программном продукте.
2. Окончание работ, для которых была написана программа.
3. Появление новых стандартов или требований к входной или выходной информации.
4. Изменение требований к времени решения задач.
5. Введение новой ОС или оболочки.
6. Изменение базового языка программирования.
Условие перехода на новый кортеж:
Пусть Р1 – остаточная стоимость эксплуатации старого кортежа от данного момента времени
до момента окончательного старения кортежа.
Р2 – стоимость начальной эксплуатации нового кортежа за тот же период времени.
З2 – разовые затраты на освоение персоналом нового кортежа.
Э2 – экономия затрат за счет возможной автоматизации некоторых функций, которые в
старой программе выполнялись вручную.
Условие эффективности перехода на новый кортеж:
Ограничения:
Исходим из того, что программа допускает ошибки, которые можно исправить двумя
способами:
1. Скорректировать документацию, чтобы обходить эти ошибки.
2. Корректировка программы или не использовать функцию, которая не работает.
Показатели:
1. Ценовые характеристики эксплуатации:
· Средняя зарплата аналитика (Za).
· Средняя зарплата пользователя (Zп).
· Периодичность выплаты зарплаты (Tz).
· Общее число аналитиков (Ma).
· Общее число пользователей (операторов) (Mп).
2. Временные характеристики эксплуатации:
· Среднее время обращения к программе по существующей документации (Sо).
· Среднее время обращения к программе по скорректированной инструкции (Sи).
· Среднее время анализа ошибки и корректировки документации (Sа).
· Среднее время освоения нового кортежа аналитиком (Snа).
· Среднее время освоения нового кортежа пользователем (Snu).
· Среднее время выполнения новых функций средствами старого кортежа (Tc).
· Среднее время обращения к новой функции в новом кортеже (Тn).
· Доля обращений к новой функции среди всех обращений к кортежу (V n).
3. Характеристики числа обращений и ошибок:
· Число обнаруженных ошибок в кортеже (f).
· Оценка ожидаемого числа ошибок в новом кортеже (f’).
· Оценка остаточного времени эксплуатации (То).
· Число проведенных обращений к кортежу (k).
· Время реальной эксплуатации кортежа (Т).
· Среднее число обращений к кортежу на одно повторение раздела документации или
средняя повторяемость работы каждого раздела(А).
· Частота обращения к кортежу (V).
· Вероятность появления ошибки в области исходных данных (Рош).
2 варианта расчета эффективности:
1. Когда оценка ожидаемого числа ошибок в новом кортеже f’ известна.
2. Когда f’ неизвестна.
Рассмотри 1 вариант:
Пусть Со – цена
документации:
обращения
к
кортежу
при
использовании
нескорректированной
Со=Zп·Sо/Tz
Си – цена дополнительной работы по выполнению скорректированной документации:
Cи=Zп·Sи/Тz
Са – цена работы аналитика при разборе ошибки и выработке рекомендаций по
корректировке документации:
Са=Za·Sa/Tz
Среднее число повторений каждой инструкции m:
m=T·V/A
за время эксплуатации.
Kо – ожидаемое число обращений к программе:
Kо =То·V
Тогда средние прогнозируемые затраты на 1 обращение к программе по результатам
времени эксплуатации Т можно определить как величину q, не превышающую значения этой
величины в прошлом:
При достаточно большом k:
Тогда
Средние по времени затраты за дополнительное время эксплуатации программы в будущем
составляют величину, не превышающую произведение стоимости 1 обращения на число
обращений:
Отсюда затраты на дополнительное время эксплуатации равны произведению средних по
величине затрат на время дополнительной эксплуатации:
Ko
Оценим затраты на введение нового кортежа при тех же условиях.
Рассмотрим стоимость эксплуатации нового кортежа Р2:
Р2=Р21+Р22+Р23
– стоимость обращения к новому кортежу при использовании старой документации:
- стоимость обхода прогнозируемой ошибки при использовании скорректированной
документации:
- стоимость исправления прогнозируемой ошибки:
З2 – разовые затраты на освоение персоналом новой документации:
Э2 – экономия затрат за счет автоматизации новых функций:
, где
– средний выигрыш на 1 обращении:
Т.о. имеет вид:
Рассмотрим вариант 2:
Полагают, что новая программа не лучше старой, т.е. число обнаруженных ошибок в старой
программе равно числу прогнозируемых ошибок в новой программе.
Тогда условие перехода на новый кортеж будет выглядеть так:
З2 и Э2 такие же, как и в варианте 1.
Download