Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебно-методическое пособие по дисциплине «Экономика программной инженерии»

..pdf
Скачиваний:
11
Добавлен:
05.02.2023
Размер:
372.21 Кб
Скачать

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ

Кафедра автоматизации обработки информации (АОИ)

Ю.П. Ехлаков, Б.А. Рыбалов

ЭКОНОМИКА ПРОГРАММНОЙ ИНЖЕНЕРИИ

Методические указания к лабораторным работам для студентов направления подготовки 231000.62 «Программная инженерия» (бакалавриат)

2013

Корректор: Осипова Е.А.

Ехлаков Ю.П., Рыбалов Б.А.

Экономика программной инженерии : методические указания по выполнению лабораторных работ для студентов направления 231000.62 «Программная инженерия» (бакалавиат). — Томск : Факультет дистанционного обучения, ТУСУР, 2013. — 32 с.

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

Ехлаков Ю.П., Рыбалов Б.А, 2013 Факультет дистанционного

обучения, ТУСУР, 2013

3

ОГЛАВЛЕНИЕ

Введение

................................................................................................4

1Лабораторная работа № 1. Технико-экономическое обоснование договорной цены на разработку прикладного

программного обеспечения.............................................................

6

1.1 Прямой методопределениятехнико-экономическихпоказателей

 

(методэкспертныхоценок)...........................................................

8

1.2

Метод определения ТЭП проекта на основе размерности

 

 

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

9

1.3

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

 

 

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

11

1.4

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

 

 

программной системы.............................................................

15

1.4.1 Определение фонда оплаты труда на разработку

 

 

и комплексные испытания программной системы.........

15

1.4.2 Определение фонда оплаты труда на проведение

 

 

опытной эксплуатации.......................................................

18

1.4.3 Структура договорной цены на программное

 

 

обеспечение.........................................................................

19

Приложение 1. Варианты индивидуальных заданий

 

на проведение лабораторной работы № 1 ..................................

21

2 Лабораторная работа № 2. Определение и анализ рыночной

 

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

23

2.1

Определение и графический анализ точки

 

 

безубыточности........................................................................

25

2.2

Расчет договорной цены тиражируемого программного

 

 

продукта при заданном объеме рынка продаж.....................

27

2.3

Определение дополнительного объема продаж

 

 

при заданном уровне прибыли...............................................

28

2.4

Определение срока окупаемости проекта и количества

 

 

продаж для полного возмещения затрат ...............................

28

Приложение 2. Варианты индивидуальных заданий

 

на проведение лабораторной работы № 2 ..................................

30

Приложение 3. Пример оформления титульного листа

 

лабораторной работы....................................................................

31

Список рекомендуемой литературы...............................................

32

4

ВВЕДЕНИЕ

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

Одним из важнейших критериев прогрессивности создаваемых программных продуктов являются их экономические параметры.

Впервом случае (при заказном проектировании) перед разработчиком стоит задача обоснования перед заказчиком стоимости (договорной цены) программного продукта и согласования вопросов авторского сопровождения разработки.

При рыночном варианте распространения программного продукта имеют место существенные затраты на создание первой версии программной системы и более низкие — на тиражирование и распространение её копий.

Вэтом случае разработчику надо заранее спланировать издержки (себестоимость) первой версии, определить рыночную цену дальнейшей продажи программного продукта.

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

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

Вкаждой работе предусмотрено обязательное выполнение индивидуальных заданий, варианты выполнения которых приведены в Приложении 1 — для первой лабораторной работы и в Приложении 2 — для второй.

Выбор варианта лабораторных работ осуществляется по общим правилам с использованием следующей формулы:

V = (N*K) div 100,

5

где V — искомый номер варианта,

N — общее количество вариантов (N = 21), div — целочисленное деление,

при V= 0 выбирается максимальный вариант,

K — значение 2-х последних цифр пароля.

Лабораторные работы по своей структуре представляют из себя практически готовую форму отчета: студент, последовательно выполняя работу по заданным формулам, нормативным таблицам и техническим параметрам индивидуального задания, получает «на выходе» конечный результирующий файл, результаты выполнения которого сверяются с фактическим (правильным) решением задачи со стороны преподавателя.

Для оформления отчета достаточно оформить титульный лист и скопировать полученный рабочий файл в отчет по лабораторной работе.

Лабораторные работы должны выполняться в порядке их следования, так как конечные результаты первой работы являются «входными» для второй работы.

6

1 ЛАБОРАТОРНАЯ РАБОТА № 1 Технико-экономическое обоснование договорной цены на разработку прикладного программного обеспечения

Цель работы — освоить основные методы расчета техникоэкономических показателей (ТЭП) разработки программных систем (ПС) и определить договорную цену на создание программного продукта.

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

Воснову определения требуемых объемов ресурсов должны быть положены:

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

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

Вкачестве основных показателей оценки стоимости программной системы используются:

– сложность (размеры) программной системы;

– трудозатраты на разработку;

– длительность разработки программной системы в целом и

ееотдельных этапов;

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

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

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

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

В основу определения размеров программной системы положено понятие «сложности», под которой понимается количество элементов программной системы (программных компонент,

7

файлов, входных и выходных документов) и взаимосвязей между ними [1].

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

К первому типу относятся:

комплексные программные системы (КПС) и технологии, отдельные части которых реализованы на различных платформах;

территориально-распределенные программные системы и технологии;

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

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

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

Под термином «трудозатраты» будем понимать суммарный объем труда специалистов для создания программного продукта.

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

Порядок выполнения работы

1.Тремя предложенными методами рассчитать ТЭП разрабатываемой программной системы.

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

8

Исходные данные

Тип системы: информационно-справочная (ИСС). Сложность системы: простая (до 30 тыс. строк кода).

Язык программирования: согласно выбранному варианту (Приложение 1).

Плановый срок разработки системы, установленный заказчиком, — Д (месяцев) — согласно выбранному варианту (Приложение 1).

1.1Прямой методопределениятехнико-экономических показателей (методэкспертных оценок)

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

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

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

Размерность системы, определенная экспертами, — задана согласно индивидуальному заданию — Приложение 1.

Следующим этапом определения ТЭП является оценка трудозатрат, длительности и средней численности разработчиков при реализации проекта. Она основана на согласовании между разработчиком и заказчиком производительности труда программиста — P.

В таблице 1.1 представлены статистические показатели производительности, рекомендуемые в базовой модели издержек разработки программного обеспечения Constructive Cost Model

(COCOMO) [1].

9

Таблица 1.1 — Нормативы трудоемкости разработки программных систем

 

 

 

 

Размеры ПС,

 

Класс

 

 

норматив производительности труда — P

 

сложности ПС

 

 

простая — до 30 тыс.

сложная — до 500

 

 

 

 

строк кода

тыс. строк кода

 

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

 

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

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

 

(комплексные программные

 

 

системы)

 

месяц

месяц

 

 

 

 

 

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

 

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

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

 

(информационно-

 

 

 

месяц

месяц

 

справочные системы)

 

 

 

 

 

Основываясь на нормативах трудоемкости разработки ПС в базовой модели COCOMO для заданного типа системы и класса её сложности выбирается норматив производительности труда программиста — P.

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

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

Т = R / P человеко-месяцев.

При заданной длительности разработки (Д) получаем искомую среднюю численность персонала, необходимого для ее разработки, по формуле:

Z = T / Д чел.

Таким образом, с помощью прямого метода определены основные технико-экономические показатели разработки:

1)трудозатраты на разработку системы составят Т человекомесяцев;

2)необходимые людские ресурсы = Z чел.

1.2Метод определения ТЭП проекта на основе размерности базы данных программной системы

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

10

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

Анализируя предложенную тестовую модель БД, получаем: N — количество таблиц;

K1 — количество взаимосвязей между объектами;

M — количество атрибутов на один объект. Размерность базы данных определяется по формуле:

R= 2 N 5K1 10M (полей БД).

Влабораторном задании основные параметры модели БД

задаются согласно индивидуальному заданию — Приложение 1. При расчете ТЭП вводится понятие «нормализованной величины» — количество формируемых атрибутов, входящих в

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

мативов трудоемкости:

T = 0.01 R θ ,

где θ — норматив трудоемкости разработки программной системы, который выбирается из таблицы 1.2 (исходя из полученной размерности базы данных R) и характеризует собой категорию сложности разрабатываемой системы, в т.ч. размерность базы данных.

Таблица 1.2 — Нормативы трудоемкости разработки программной системы

 

Значение

Категория сложности

норматива θ

 

(чел./месяц)

Размерность базы данных — до 90 тыс. полей

0,00566

 

 

Размерность БД — от 90 тыс. до 200 тыс. полей

0,00808

 

 

Размерность БД — от 200 тыс. до 500 тыс. полей

0,01537

 

 

Средняя численность специалистов определяется по формуле:

Z = T / Д .

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]