Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
vkr (1).doc
Скачиваний:
3
Добавлен:
31.08.2019
Размер:
940.03 Кб
Скачать
  1. Технико-экономический раздел

3.1 Оценка трудоемкости разработки программного продукта

3.1.1 Общее описание метода

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

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

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

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

Суммирование оценок числа строк кода по всем блокам позволяет определить среднее число строк исходного кода программного продукта.

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

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

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

3.1.2 Декомпозиция системы на функциональные блоки

Далее представлен примерный список модулей составляющих систему:

  • Агент пользователя (тестируемого);

  • Агент преподавателя;

  • Агент-представитель, включает в себя связующие части и алгоритм тестирования.

3.1.3 Расчет трудозатрат и продолжительности разработки программного проекта

В ходе предварительного анализа были определены 3 модуля. Определим приблизительно их размеры в строках исходного кода.

Таблица 18. Список модулей и количество строк исходного кода

Имя процедуры (раздела)

Оценка объема в строках исходного кода

Пессимистическая

Наиболее вероятная

Оптимистическая

Агент пользователя

2500

2000

1500

Агент преподавателя

2000

1500

1200

Агент-представитель

2500

2000

1500

Суммарный объем

7000

5500

4200

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

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

Для оценки трудозатрат и продолжительности разработки разработана Конструктивная модель стоимости (КОМОСТ) [11]. Данная модель представляет собой статическую модель с одной переменной и использует формулы, выведенные опытным путем. В общем виде формула (1) имеет вид:

ресурс=C1*(оцененная характеристика)*C2,

(1)

где ресурсом являются затраты, продолжительность разработки, количество разработчиков, а константы C1 и C2 определяются опытным путем. Оцененная характеристика – это количество строк исходного кода или другие характеристики программного продукта.

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

Для расчета трудозатрат и продолжительности разработки подсистемы используем базовую модель. Расчеты производятся по двум уравнениям (2) и (3) базовой модели:

ТР = a*(РП)b

(2)

ДР = с*(ТР)d

(3)

В этих уравнениях трудоемкость ТР выражается в человеко-месяцах, размер программного продукта РП в тысячах строк исходного кода, а длительность разработки ДР в месяцах. Коэффициенты a,b,c,d определяются из опытных данных. Они зависят от типа проектируемой системы.

Существует три типа программных систем:

  • Распространенный тип. Это относительно небольшие программные проекты (до 50000 строк кода), в разработке которых участвуют небольшие коллективы. Требования к программному изделию и ограничения не являются слишком жесткими, а алгоритмическая сложность относительно невелика.

  • Полунезависимый тип – это проекты, промежуточные по разделу и сложности. Отдельные требования к программному изделию могут быть достаточно жесткими. Примерами таких систем являются СУБД, системы управления производством.

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

Разрабатываемая подсистема может быть отнесена к распространенному типу программных систем вследствие своих небольших размеров. Следовательно, коэффициенты для нее имеют следующие значения: a=1.2, b=0.5.

Среди систем распространенного типа модель КОМОСТ выделяет 4 категории в зависимости от размеров системы: малые (до 2000 строк исходного кода), промежуточные (до 8000 строк исходного кода), средние (до 32000 строк исходного кода) и большие (до 128000 строк исходного кода). Очевидно, что подсистема профориентационного тестирования относится к промежуточным системам.

Используя формулу (2) рассчитаем трудоемкость программирования (в человеко-месяцах) функциональных блоков, перечисленных в таблице 18, используя экспертные оценки (пессимистические, вероятные и оптимистические) их объема и уравнение базовой модели КОМОСТ.

  1. Трпесс.=1.2*(2.5)0.5 =1.9; ТРвер.= 1.2*(2)0.5=1.7; Тропт.=1.2*(1.5)0.5 =1.5;

  2. ТРпесс.= 1.2*(2)0.5=1.7; ТРвер.= 1.2*(1.5)0.5=1.5; ТРопт.= 1.2*(1.2)0.5=1.3;

  3. ТРпесс.= 1.2*(2.5)0.5=1.9; ТРвер.= 1.2*(2)0.5=1.7; ТРопт.= 1.2*(1.5)0.5=1.5;

Суммирование результатов по всем модулям дает следующие результаты:

ТРпрогр.песс.=5.5 месяца или 165 дней,

Трпрогр.вер.=4.9 месяцев или 147 дней

Трпрогр.опт.=4.3 месяца или 129 дня.

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

Таким образом трудоемкость анализа и проектирования для настоящей системы составит:

ТРап песс = 1.4 , ТРап вер = 1.2 , ТРап опт = 1.1.

Трудоемкость испытаний и тестирования составит:

ТРисп песс = 1.6 , ТРисп вер = 1.4 , ТРисп опт = 1.3.

Общая трудоемкость:

ТРобщ.песс.=ТРап песс.+ТРпрогр.песс.+ТРисп.песс.=8.5 мес(255 дней),

ТРобщ.вер.= ТРап вер.+ ТРпрогр.вер.+ Трисп.вер.=7.5 мес(225 дней),

ТРобщ.опт. =ТРап опт.+ ТРпрогр.опт.+ Трисп.опт.=6.7 мес(201 дней)

Таблица 19. Распределение трудозатрат в зависимости от размера проекта.

Поскольку в разработке проекта участвует только один человек, достаточно рассчитать только величину трудоемкости проекта для одного человека.

Перечисленные выше оценки трудозатрат сведены в таблицу 20.

Таблица 20. Оценки трудозатрат.

Этап

Оценки трудозатрат

Пессимистическая оценка

Наиболее вероятностная оценка

Оптимистическая оценка

Проектирование

1.4

1.2

1.1

Программирование

Общее время программирования

5.5

4.9

4.3

Детальная разработка

2

1.9

1.7

Кодирование и тестирование модулей

3.5

3

2.6

Интеграция и тестирование

1.6

1.4

1.3

Общий размер трудозатрат

8.5

7.5

6.7

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