Рис. 3.12. Диаграмма пакетов
Рис.3.13 Диаграмма развертывания на одной машине
4.1. Описание задачи
Себестоимость — это величина расходов данного предприятия, приходящаяся на единицу продукции. Уровень себестоимости зависит от многих факторов: технического прогресса, объема выпускаемой продукции, производительности труда, норм расхода рабочей силы, материалов, топлива, энергии. Для определения себестоимости продукции могут использоваться различные методы: метод приведения к базовому узлу, метод удельных весов, метод учета затрат на единицу веса изделия, расчет себестоимости по статьям затрат.
В данном проекте приводится расчет себестоимости разработки автоматизированной системы управления торговым предприятием. (АСУТП). АСУТП служит для ведения учета торговой деятельности в Интернет и на аукционе EBay. Из основных преимуществ перед конкурентами стоит выделить удобство использования, кросплатформенность, низкая цена для продукта такого класса. АСУТП создана в первую очередь для рынка США, Англии, Германии, что позволяет производить импорт данных с филиалов аукциона EBay для этих стран, оперировать валютами USD И EUR. Целевой сегмент потребителей данного ПО — это индивидуальные предприниматели , владельцы интернет-магазинов, торгующих в розницу, а также все, кто часто покупает что-либо для себя посредством Интернета и хочет быть в курсе своих расходов.
Покупатель приобретающий данное ПО , перед совершением оплаты может бесплатно пользоваться АСУТП в течении 30 дней, использовать все функции АСУТП без ограничения, а после решить для себя — нужно ли ему данное ПО. АСУТП отличается простотой использования, что позволяет быстро приступить к работе и не требует знания специальных бухгалтерских терминов и операций. На сегодняшний день создаваемая АСУТП имеет наилучшее сочетание цены — качества среди такого класса программ и поэтому имеет все шансы на успех у потребителя.
4.2. Расчет времени на создание программного продукта
Общее время на создание программы складывается из различных компонентов. Структура общего времени на создание программного продукта представлена в табл. 4.1.
Таблица 4.1
№ этапа | Обозначение времени данного этапа | Содержание этапа |
1 | Tпо | Подготовка описания задачи. |
2 | Tо | Описание задачи. |
3 | Tа | Разработка алгоритма. |
4 | Tбс | Разработка блок-схемы алгоритма. |
5 | Tн | Написание программы |
6 | Tнп | Набивка программы. |
7 | Tот | Отладка и тестирование программы. |
8 | Tд | Оформление документации. |
Время рассчитывается в человеко-часах, причем Тпо берется по фактически отработанному времени, а время остальных этапов определяется расчетно по условному числу команд
.Условное число команд
определяется по формуле: , (4.1)где
– коэффициент, учитывающий условное число команд в зависимости от типа задачи, для данной задачи коэффициент принимается = 1450; - коэффициент, учитывающий новизну и сложность программы.Выбрать значение коэффициента
можно из табл. 4.2.Таблица 4.2
Определение коэффициента, учитывающего условное число команд
Тип задачи | Пределы изменений коэффициента |
Задачи учета | от 1400 до 1500 |
Задачи оперативного управления | от 1500 до 1700 |
Задачи планирования | от 3000 до 3500 |
Многовариантные задачи | от 4500 до 5000 |
Комплексные задачи | от 5000 до 5500 |
Программные продукты по степени новизны могут быть отнесены к одной из 4-х групп:
группа А — разработка принципиально новых задач;
группа Б — разработка оригинальных программ;
группа В — разработка программ с использованием типовых решений;
группа Г — разовая типовая задача.
Для данной задачи степень новизны — Б
По степени сложности программные продукты могут быть отнесены к одной из 3-х групп:
1) 1 — алгоритмы оптимизации и моделирования систем;
2) 2 — задачи учета, отчетности и статистики;
3) 3 — стандартные алгоритмы.
Данная задача может быть отнесена к 1 группе сложности.
Коэффициент
определяется из табл. 4.3 на пересечении групп сложности и степени новизны.Таблица 4.3
Определение коэффициента, учитывающего группу сложности и степень новизны
Язык программирования | Группа сложности | Степень новизны | |||
А | Б | В | Г | ||
высокого | 1 | 1,38 | 1,26 | 1,15 | 0,69 |
2 | 1,30 | 1,19 | 1,08 | 0,65 | |
уровня | 3 | 1,20 | 1,10 | 1,00 | 0,60 |
низкого | 1 | 1,58 | 1,45 | 1,32 | 0,79 |
2 | 1,49 | 1,37 | 1,24 | 0,74 | |
уровня | 3 | 1,38 | 1,26 | 1,15 | 0,69 |
Для данной задачи коэффициент
= 1,26Теперь, исходя из формулы (4.1) можно определить условное число команд
(4.2)Определяем время, затраченное на каждый этап создания программного продукта:
1) Tпо (время на подготовку описания задачи), берется по факту и составляет:
Tпо =
(4.3)2) Tо ( время на описание задачи ) определяется по формуле:
Tо =
, (4.4)где
— коэффициент учета изменений задачи, коэффициент в зависимости от сложности задачи и числа изменений выбирается в интервале от 1,2 до 1,5.Для данной задачи = 1,4; — коэффициент, учитывающий квалификацию программиста. Для стажа программирования от двух до трех лет значение коэффициента =1.Таблица 4.4
Определение коэффициента, учитывающего квалификацию программиста
Стаж программиста | Значение коэффициента К |
до 2-х лет | 0,8 |
от 2 до 3 лет | 1,0 |
от 3 до 5 лет | 1,1 — 1,2 |
от 5 до 10 лет | 1,2 — 1,3 |
свыше 10 лет | 1,3 — 1,5 |
Применяя формулу (4.4) подсчитаем время на описание задачи:
Tо =
(4.5)3) Tа (время на разработку алгоритма) рассчитываем по формуле:
Tа =
(4.6)Применяя формулу (4.6) подсчитываем время на разработку алгоритма.
Tа =
(4.7)4) Tбc (время на разработку блок-схемы) определяется аналогично Tа по формуле (5.6) и составляет
Tб =
(4.8)5) Tн (время написания программы на языке программирования) определяется по формуле:
Tн =
(4.9)Применяя формулу (4.9), подсчитываем время написания программы на языке программирования:
Tн =
(4.10)6) Tнп (время набивки программы ) определяется по формуле :
Tнп =
(4.11)Применяя формулу (4.11) подсчитываем время набивки программы:
Tнп =
(4.12) (5.12)7) Tот (время отладки и тестирования программы) определяется по формуле:
Tот =
(4.13)Подставляем значения в формулу и получаем:
Tот =
(4.14)