Файл: Методичка по ТЭО проектов.pdf

Добавлен: 23.10.2018

Просмотров: 3668

Скачиваний: 14

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 

−  программная компонента – совокупность программных кодов, реализующих элементарную 

функцию бизнес-процесса. 
 

 

Рис. 2.1. Структура программной системы 

Размеры программной системы определяются в виде количества строк исходного кода в терми-

нах Lines of code-LOC [2].  

При оценке количества строк исходного кода следует учитывать следующие положения: 

− 

строка исходного кода содержит только один оператор; 

− 

определение (описание) исходных данных учитывается один раз; 

− 

не учитываются строки, содержащие комментарии и отладочные операторы; 

− 

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

кода. 

Каждый  из  экспертов  должен  дать  оптимистическую  (о),  пессимистическую  (p)  и  реалистиче-

скую (b) оценки (табл. 2.1).  

Средняя оценка по бета-распределению определяется путем умножения реалистической оценки 

на 4, добавлением оптимистической и пессимистической оценок и делением полученного результата 
на 6 (формула 2.1). 

Таблица 2.1 

Бланк экспертного оценивания размерности программной  

системы  

Оценки 

Состав программной  

системы 

Оптими-

стическая 

Реали-

стиче-

ская 

Пессими-

стическая 

1. Программная система 

 

 

 

1.1. Программный комплекс 

 

 

 

1.1.1. Программная компо-
нента 1 

 

 

 

1.1.2. Программная компо-
нента  2 

 

 

 

…………………… 

 

 

 

6

/

)

4

(

ij

p

ij

b

ij

o

ij

k

r

+

+

=

         (2.1) 

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

вание результатов измерения по принципу «снизу -вверх».  


background image

 

=

=

=

=

i

m

j

j

i

k

n

i

q

k

q

r

R

1

1

1

/

,                      (2.2) 

где

  q

   - 

количество экспертов, 

i

m

количество программных компонент на i -ом уровне, 

n

 - 

число уровней. 

Очевидно, что эффективность оценивания может быть существенно повышена при наличии про-

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

Определение  трудозатрат,  длительности  реализации  проекта  и  средней  численности 

разработчиков 

Оценка трудозатрат, длительности и средней численности разработчиков при реализации проек-

та основывается на согласовании между разработчиком и заказчиком производительности труда про-
граммиста - P

В [4] приводятся следующие среднестатистические оценки производительности труда програм-

миста: 

− 

при разработке программных систем первого класса сложности (КПС) преимущественно на 

языке ассемблер – 60-80 строк/чел.-месяц; 

− 

при  разработке  программных  систем  второго класса  сложности  (ИСС) на языках высокого 

уровня – 250-260 строк/чел.-месяц. 

В таблице 2.2. представлены статистические показатели производительности, рекомендуемые в 

базовой модели Constructive Cost Model [2]. 

CO

nstructive COst MOdel (COCOMO – модель издержек разработки) – это алгоритмическая мо-

дель  оценки  стоимости  разработки  программного  обеспечения,  разработанная  Барри  Боэмом  (Barry 
Boehm). Модель использует простую формулу регрессии с параметрами, определенными из данных, 
собранных по ряду проектов. 

COCOMO была впервые опубликована в 1981 году  в книге Боэма  «Экономика разработки про-

граммного  обеспечения»  в  качестве  модели  для  оценки  трудоемкости,  себестоимости  и  плана-
графика для проектов по разработке ПО.  

Она использовала исследование 63 проектов в аэрокосмической компании TRW, в которой Боэм 

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

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

да  (от  2  до  100  тысяч),  а  также  по  языку  программирования  (от  ассемблеров  до  высокоуровневого 
языка PL/1).  

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

модели и более подходящей для оценивания современных проектов разработки ПО. Она предостав-
ляет более полную поддержку современных процессов разработки ПО и построена на обновленной 
базе проектов. 

В  целом,  COCOMO  состоит  из  иерархии  трех  последовательно  детализируемых  и  уточняемых 

форм.  

Первый уровень – Базовый, хорош для быстрых ранних оценок стоимости разработки ПО, одна-

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

Средний  уровень  COCOMO  учитывает  эти  факторы,  тогда  как  Детальный  уровень  дополни-

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

Средний уровень (COCOMO Model 2: Intermediate) – рассчитывает трудоемкость разработки как 

функцию  от  размера  программы  и  множества  «факторов  стоимости»,  включающих  субъективные 
оценки характеристик продукта, проекта, персонала и аппаратного обеспечения. Детальный уровень 
(COCOMO  Model  3:  Advanced/Detailed)  –  включает  в  себя  все  характеристики  среднего  уровня  с 
оценкой влияния данных характеристик на каждый этап процесса разработки ПО. 

Приведенные ниже нормативы отражают не только трудоемкость непосредственного написания 

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


background image

 

                              

P

R

Т

/

=

                                          (2.3)    

Таблица 2.2 

Нормативы трудоемкости разработки программ 

 

Класс сложности 

ПС 

Размеры и трудоёмкость создания ПС 

 

простые – до 30 

тыс. строк 

сложные – до 500 

тыс. строк 

Первый тип – КПС  

до 140 строк/чел.-

месяц 

до 80 строк/чел.-

месяц 

Второй тип  – ИСС 

до 220 строк/чел.-

месяц 

до 160 строк/чел.-

месяц 

 

Длительность разработки (Д) может быть задана директивно заказчиком, исходя из реальных по-

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

 
                        

Д

/

T

Z

=

                                         (2.4) 

Прямой  метод  целесообразно  использовать  на  ранних  стадиях  проектирования  при  разработке 

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

 

2.3.2. 

Определение технико-экономических показателей программной системы с исполь-

зованием метода функциональных точек

 

 

Метод  функциональных  точек 

(Function  point  –  FP)  основывается  на  том,  что  размеры  про-

граммной  системы  оцениваются  в  терминах  количества  и  сложности  бизнес-процессов  (функций), 
реализуемых в данном программном коде [2]. 

Функциональная точка

 – это комбинация свойств программного обеспечения: 

− 

интенсивности использования ввода и вывода внешних данных; 

− 

взаимодействия системы с пользователем; 

− 

внешних интерфейсов; 

− 

файлов, используемых системой. 

Будущая  система  с  использованием  методологии  структурного  анализа  и  проектирования  опи-

сывается в виде многоуровневой графической модели, представленной в виде совокупности взаимо-
связанных функциональных диаграмм (пользовательских бизнес-процессов). 

Каждый  из  бизнес-процессов  включает  в  себя  входные  и  выходные  данные,  преобразования  и 

внешние интерфейсы.  

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

ских  бизнес-процессов  и  состоит  из  следующей  последовательности  этапов  (ввод,  вывод,  опросы, 
структуры данных, интерфейсы): 

− 

выделение множества бизнес-процессов; 

− 

подсчет количества функциональных точек бизнес-процесса в разрезе каждой категории; 

− 

определение весовых коэффициентов сложности каждой функции; 

− 

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

− 

вычисление интегральных показателей сложности; 

− 

вычисление итогового количества функциональных точек; 

− 

определение размеров программного комплекса в показателях LOC; 

− 

определение размеров программной системы в целом. 

При определении количества функций каждого бизнес-процесса следует руководствоваться сле-

дующими требованиями: 

− 

учитываются только сложные функции, перечисленные в техническом задании; 

− 

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


background image

 

ми. 

Расчет количества функциональных точек по каждому бизнес-процессу рекомендуется сводить в 

следующую таблицу (табл. 2.3) 

Таблица 2.3 

Рабочая таблица определения количества  

функциональных точек 

 

№ 

п.п. 

Категории  

простых  

функций 

Простые 

Средние 

Сложные 

Количест-

во функ-

циональ-

ных точек 

Количест-
во выво-
дов 

11

11

Χ

α

 

12

12

Χ

α

 

13

13

Χ

α

 

1

Χ

 

Количест-
во вводов 

21

21

Χ

α

 

22

22

Χ

α

 

23

23

Χ

α

 

2

Χ

 

Количест-
во опросов   
вывода 

31

31

Χ

α

 

32

32

Χ

α

 

33

33

Χ

α

 

3

Χ

 

Количест-
во опросов   
ввода 

41

41

Χ

α

 

42

42

Χ

α

 

43

43

Χ

α

 

4

Χ

 

Количест-
во файлов 

51

51

Χ

α

 

52

52

Χ

α

 

53

53

Χ

α

 

5

Χ

 

Количест-
во интер-
фейсов 

61

61

Χ

α

 

62

62

Χ

α

 

63

63

Χ

α

 

6

Χ

 

Общее количество функциональных точек 

=

=

Χ

6

1

i

i

i

 

Примечание: 

ij

α

— весовой коэффициент сложности 

i

-й функции 

j

-й категории сложности; 

ij

x

 — количество эле-

ментов данных 

i

-й функции 

j

-й категории сложности. 

Определение количества выводов. Под

 выводами будем понимать следующие единицы инфор-

мации, получаемые на выходе рассматриваемого бизнес-процесса: 

− 

файлы,  продуцируемые  в  данном  бизнес-процессе  для  передачи  другим  бизнес-процессам, 

либо за пределы программной системы; 

− 

единицы деловой информации, предназначенные для конечных пользователей, оформленные 

в виде экранных форм, либо бумажных документов. 

Каждый из выводов, в зависимости от количества файлов, используемых при формировании вы-

ходов, рекомендуется отнести к одной из категорий сложности: простой, средний, сложный. В табл. 
2.4 представлены весовые коэффициенты сложности выводов. 

Таблица 2.4 

Весовые коэффициенты сложности выводов 

               Количество  

                  элементов  
                       данных 

Количество 
     файлов 

от 1 до 5 

от  6  

до 19 

20 и  

более 

4

11

=

α

 

4

12

=

α

 

5

13

=

α

 

2-3 

4

11

=

α

 

5

12

=

α

 

7

13

=

α

 

4 и более 

5

11

=

α

 

7

12

=

α

 

7

13

=

α

 


background image

 

10 

 

Определение  количества  вводов.  Под

  вводами  будем  понимать  следующие  единицы  информа-

ции, поступающие на вход рассматриваемого бизнес-процесса: 

− 

входные файлы, полученные из других бизнес-процессов, либо других программных систем; 

− 

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

По аналогии с выводом все вводы также рекомендуется разделять на простые, средние и слож-

ные (см. табл. 2.5). 

 
 

Таблица 2.5 

Весовые коэффициенты сложности ввода 

               Количество  

                         элементов 

                                 данных 

Количество 
     файлов 

от 1 до 5 

от  6  

до 19 

20 и  

более 

4

21

=

α

 

4

22

=

α

 

5

23

=

α

 

2-3 

4

21

=

α

 

5

22

=

α

 

7

23

=

α

 

4 и более 

5

21

=

α

 

7

22

=

α

 

7

23

=

α

 

 

Определение  количества  опросов  ввода,  вывода.

  Под  опросами  будем  понимать  следующие 

действия, исполняемые программной системой в рассматриваемом бизнес-процессе: 

− 

обращение к внешним процедурам, оформленным в виде специфических команд или запро-

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

− 

выполнение  процедур,  обеспечивающих  непосредственный  доступ  к  базе  данных  и  выпол-

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

Рекомендуется учитывать каждую уникальную единицу опроса, если: 

− 

формат опроса отличается от формата ввода, вывода; 

− 

формат опроса совпадает с форматом ввода, вывода, но требует дополнительной логики обра-

ботки. 

При  определении  количества  опросов  не  следует  учитывать  запросы  к  базам  данных,  исполь-

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

Все опросы также рекомендуется разделять на простые, средние и сложные. В таблицах 2.6 и 2.7 

приведены рекомендации по выбору весовых коэффициентов. 

Таблица 2.6 

 

Весовые коэффициенты сложности опросов вывода 

 

               Количество  

                      элементов 

                            данных 

Количество 
     файлов 

от 1 до 5 

от  6  

до 19 

20 и  

более 

4

31

=

α

 

4

32

=

α

 

5

33

=

α

 

2-3 

4

31

=

α

 

5

32

=

α

 

7

33

=

α

 

4 и более 

5

31

=

α

 

7

32

=

α

 

7

33

=

α