Оценка стоимости разработки ПО

Автор работы: Пользователь скрыл имя, 10 Января 2013 в 15:24, реферат

Описание работы

При планировании программного проекта надо оценить людские ресурсы (в человеко-месяцах), продолжительность (в календарных датах), стоимость (в тысячах рублей). Обычно исходят из опыта прошлых разработок. Если новый проект похож на предыдущий, вполне вероятно, что потребуются примерно такие же ресурсы.

Файлы: 1 файл

Оценка стоимости_раздатка.doc

— 146.50 Кб (Скачать файл)


Оценка стоимости  разработки ПО

 

При планировании программного проекта надо оценить людские  ресурсы (в человеко-месяцах), продолжительность (в календарных датах), стоимость (в тысячах рублей). Обычно исходят  из опыта прошлых разработок. Если новый проект похож на предыдущий, вполне вероятно, что потребуются примерно такие же ресурсы.

Размерно-ориентированные  метрики

Размерно-ориентированные  метрики прямо измеряют программный  продукт и процесс его разработки. Они основываются на LOC-оценках (Lines Of Code). LOC-оценка - это количество строк в программном продукте. Исходные данные для расчета этих метрик сводятся в таблицу (таблица1).

Таблица 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) не приспособлены  к непроцедурным языкам программирования.

Функционально-ориентированные  метрики

Функционально-ориентированные  метрики косвенно измеряют программный  продукт и процесс его разработки. Вместо подсчета LOC-оценки при этом рассматривается не размер, а функциональность или полезность продукта.

Используется 5 информационных характеристик:

    1. Количество внешних вводов. Внешний ввод - элементарный процесс, перемещающий данные из внешней среды в приложение. Подсчитываются все вводы пользователя, по которым поступают разные прикладные данные. Вводы должны быть отделены от запросов, которые подсчитываются отдельно.
    2. Количество внешних выводов. Внешний вывод - элементарный процесс, перемещающий данные, вычисленные в приложении, во внешнюю среду. Подсчитываются все выводы, по которым к пользователю поступают результаты, вычисленные программным приложением. В этом контексте выводы означают отчеты, экраны, распечатки, сообщения об ошибках. Индивидуальные единицы данных внутри отчета отдельно не подсчитываются.
    3. Количество внешних запросов. Внешний запрос - элементарный процесс, работающий как с вводимыми, так и с выводимыми данными. Его результат - данные, возвращаемые из внутренних логических файлов и внешних интерфейсных файлов. Под запросом понимается диалоговый ввод, который приводит к немедленному программному ответу в форме диалогового вывода. При этом диалоговый ввод в приложении не сохраняется, а диалоговый вывод не требует выполнения вычислений. Подсчитываются все запросы - каждый учитывается отдельно.
    4. Количество внутренних логических файлов. Внутренний логический файл - распознаваемая пользователем группа логически связанных данных, которая размещена внутри приложения и обслуживается через внешние вводы. Подсчитываются все логические файлы (то есть логические группы данных, которые могут быть частью базы данных или отдельным файлом).
    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-данных:

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

Выполняются следующие  действия.

  1. Область назначения проектируемого продукта разбивается па ряд функций, каждую из которых можно оценить индивидуально:

f1,f2,…fn

  1. Для каждой функции fi1; планировщик формирует лучшую , худшую и вероятную оценку . Используются опытные данные (из метрического базиса) или интуиция. Диапазон значения оценок соответствует степени предусмотренной неопределенности.
  2. Для каждой функции/, в соответствии с -распределением вычисляется ожидаемое значение LOC- (или FP-) оценки:

Информация о работе Оценка стоимости разработки ПО