Автор работы: Пользователь скрыл имя, 10 Января 2013 в 15:24, реферат
При планировании программного проекта надо оценить людские ресурсы (в человеко-месяцах), продолжительность (в календарных датах), стоимость (в тысячах рублей). Обычно исходят из опыта прошлых разработок. Если новый проект похож на предыдущий, вполне вероятно, что потребуются примерно такие же ресурсы.
Оценка стоимости разработки ПО
При планировании программного проекта надо оценить людские ресурсы (в человеко-месяцах), продолжительность (в календарных датах), стоимость (в тысячах рублей). Обычно исходят из опыта прошлых разработок. Если новый проект похож на предыдущий, вполне вероятно, что потребуются примерно такие же ресурсы.
Размерно-ориентированные метрики
Размерно-ориентированные
метрики прямо измеряют программный
продукт и процесс его
Таблица 1- Исходные данные для расчета LOC-метрик | ||||||
Проект |
Затраты, чел.-мес |
Стоимость, тыс. руб |
KLOC, тыс.LOC |
Прогр. док-ты, страниц |
Ошибки |
Люди |
ааа01 bbb02 сссОЗ |
24 62 43 |
168 440 314 |
12,1 27,2 20,2 |
365 1224 1050 |
29 86 64 |
3 5 6 |
Таблица содержит данные о ранее выполненных проектах.
На основе таблицы
вычисляются размерно-
Достоинства
размерно-ориентированных
1) широко распространены;
2) просты и легко вычисляются.
Недостатки
размерно-ориентированных
1) зависимы от языка программирования;
2) требуют исходных данных, которые трудно получить на начальной стадии проекта;
3) не приспособлены
к непроцедурным языкам
Функционально-ориентированные метрики
Функционально-ориентированные
метрики косвенно измеряют программный
продукт и процесс его
Используется 5 информационных характеристик:
Каждой из выявленных характеристик ставится в соответствие сложность. Для этого характеристике назначается низкий, средний или высокий ранг, а затем формируется числовая оценка ранга. Для транзакций ранжирование основано на количестве ссылок на файлы и количестве типов элементов данных. Для файлов ранжирование основано на количестве типов элементов-записей и типов элементов данных, входящих в файл.
Тип элемента-записи - подгруппа элементов данных, распознаваемая пользователем в пределах файла.
Тип элемента данных - уникальное не рекурсивное (неповторяемое) поле, распознаваемое пользователем.
Данные для определения ранга и оценки сложности транзакций и файлов приведены в таблицах 2-6.
Таблица 2 - Ранг и оценка сложности внешних вводов | |||
Ссылки на файлы |
Элементы данных
| ||
1-4 |
5-15 |
>15 | |
0-1 2 >2 |
Низкий Низкий Средний |
Низкий Средний Высокий |
Средний Высокий Высокий |
Таблица 3 - Ранг и оценка сложности внешних выводов
Ссылки на файлы |
Элементы данных
| ||
1-4 |
5-19 |
>19 | |
0-1 2-3 >3 |
Низкий Низкий Средний |
Низкий Средний Высокий |
Средний Высокий Высокий |
Таблица 3 - Ранг и оценка сложности внешних запросов | |||
Ссылки на файлы |
Элементы данных
| ||
1-4 |
5-19 |
>19 | |
0-1 2 -3 >3 |
Низкий Низкий Средний |
Низкий Средний Высокий |
Средний Высокий Высокий |
Таблица 4 - Ранг и оценка сложности внутренних логических файлов | |||
Типы элементов-записей |
Элементы данных
| ||
1-19 |
20-50 |
>50 | |
1 2-5 >5 |
Низкий Низкий Средний |
Низкий Средний Высокий |
Средний Высокий Высокий |
Таблица 5 - Ранг и оценка сложности внешних интерфейсных файлов | |||
Типы элементов-записей |
Элементы данных
| ||
1-19 |
20-50 |
>50 | |
1 2-5 >5 |
Низкий Низкий Средний |
Низкий Средний Высокий |
Средний Высокий Высокий |
Отметим, что если во внешнем запросе ссылка на файл используется как на этапе ввода, так и на этапе вывода, она учитывается только один раз. Такое же правило распространяется и на элемент данных (однократный учет).
После сбора всей необходимой информации приступают к расчету метрики - количества функциональных указателей FP (Function Points). Автором этой метрики является А. Албрехт (1979).
Исходные данные для расчета сводятся в таблице 6
Таблица 6 - Исходные данные для расчета FP-метрик | ||||
Имя характеристики |
Ранг, сложность, количество
| |||
Низкий |
Средний |
Высокий |
Итого | |
Внешние вводы Внешние выводы Внешние запросы Внутренние логические файлы Внешние интерфейсные файлы |
_ ● 3= _ _ ● 4= _ _ ● 3= _ _ ● 7= _ _ ● 5= _ |
_ ● 4=_ _ ● 5=_ _ ● 4=_ _ ● 10=_ _ ● 7=_ |
_ ● 6= _ _ ● 7= _ _ ● 6= _ _ ● 15= _ _ ● 10= _ |
= _ = _ = _ = _ = _ |
Общее количество |
= _ |
В таблицу заносится количественное значение характеристики каждого вида (по всем уровням сложности). Места подстановки значений отмечены чертой (черта играет роль метки-заполнителя). Количественные значения характеристик умножаются на числовые оценки сложности. Полученные в каждой строке значения суммируются, давая полное значение для данной характеристики. Эти полные значения затем суммируются по вертикали, формируя общее количество.
Количество функциональных указателей вычисляется по формуле
В этой формуле коэффициенты Fi оценивают системные параметры приложения. Каждый коэффициент может принимать следующие значения: 0 - нет влияния, 1 - случайное, 2 - небольшое, 3 - среднее, 4 - важное, 5 - основное. Оцениваемые параметры приведены в таблице 7.
Таблица 7 - Определение системных параметров приложения | ||
№ |
Системный параметр |
Описание |
1 |
Передачи данных |
Сколько средств связи требуется для передачи или обмена информацией с приложением или системой? |
2 |
Распределенная обработка данных |
Как обрабатываются распределенные данные и функции обработки? |
3 |
Производительность |
Нуждается ли пользователь в фиксации времени ответа или производительности? |
4 |
Распространенность используемой конфигурации |
Насколько распространена текущая аппаратная платформа, на которой будет выполняться приложение? |
5 |
Скорость транзакций |
Как часто выполняются транзакции? (каждый день, каждую неделю, каждый месяц) |
6 |
Оперативный ввод данных |
Какой процент информации надо вводить в режиме онлайн? |
7 |
Эффективность работы конечного пользователя |
Приложение проектировалось для обеспечения эффективной работы конечного пользователя? |
8 |
Оперативное обновление |
Как много внутренних файлов обновляется в онлайновой транзакции? |
9 |
Сложность обработки |
Выполняет ли приложение интенсивную логическую или математическую обработку? |
10 |
Повторная используемость |
Приложение разрабатывалось для удовлетворения требований одного или многих пользователей? |
11 |
Легкость инсталляции |
Насколько трудны преобразование и инсталляция приложения? |
12 |
Легкость эксплуатации |
Насколько эффективны и/или автоматизированы процедуры запуска, резервирования и восстановления? |
13 |
Разнообразные условия размещения |
Была ли спроектирована, разработана и поддержана возможность инсталляции приложения в разных местах для различных организаций? |
14 |
Простота изменений |
Была ли спроектирована, разработана и поддержана в приложении простота изменений? |
После вычисления FP на его основе формируются метрики производительности, качества и т.д.:
Достоинства функционально-ориентированных метрик:
Недостаток
функционально-ориентированных
результаты основаны на субъективных данных, используются не прямые, а косвенные измерения.
FP-оценки легко пересчитать в LOC-оценки. Как показано в таблице 8, результаты пересчета зависят от используемого языка программирования.
Таблица 8 - Пересчет FP-оценок в LOC-оценки | |
Язык программирования |
Количество операторов на один FP |
Ассемблер С Паскаль C++ Java Visual Basic Visual C++ Delphi Smalltalk Perl |
320 128 90 64 53 32 34 29 22 21 |
Выполнение оценки проекта на основе LOC- и FP-метрик
Цель этой деятельности - сформировать предварительные оценки, которые позволят:
При выполнении оценки возможны два варианта использования LOC- и FP-данных:
Выполняются следующие действия.
f1,f2,…fn