Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ильин Антон(ПОВТ-07)_new.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
7.3 Mб
Скачать
    1. Определение трудоемкости разработки программного продукта

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

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

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

Зависимость затрат труда в человеко-месяцах от численного, выраженного в тысячах исходных команд (КЧИК) размера программного изделия, и скорректированная рядом поправочных коэффициентов, представляется следующим образом:

,

(8)

где  – число исходных команда в тысячах;

 – коэффициенты изменения трудоемкости.

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

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

  1. Атрибуты создаваемого программного продукта:

    1. ТНПП – требуемая надежность программного продукта;

    2. СПП – сложность программного продукта;

    3. МК – мобильность (переносимость) использования компонент программного продукта для других разработок;

  1. Атрибуты исполнителей:

    1. КА – квалификация аналитика;

    2. КП – квалификация программиста;

    3. КЗ – квалификация заказчика;

  2. Атрибуты проекта:

    1. ПСМ – применение современных методов разработки программного продукта;

    2. ИИС – использование инструментальных средств;

    3. ОСР – ограничение сроков разработки.

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

  • требуемая надежность программного продукта (ТНПП). Является наиболее важным фактором, отражающим качество программного продукта. Зависимость C11 от Тн можно вычислить по формуле.

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

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

  • квалификация аналитика (КА). На сегодняшний день отсутствуют апробированные методы надежного измерения квалификации специалистов. Данный фактор приближенно может оцениваться продолжительностью работы аналитика по данной тематике, однако это не учитывает его индивидуальных особенностей. При наличии опыта работы в данной области от 1 до 15 лет производительность труда может повышаться в 1,5-3 раза. Численное значение стоимостного коэффициента определяется с помощью шкалы рейтингов (таблица 4).

  • квалификация программиста (КП). При создании программных продуктов опыт применения методов, средств и всего технологического процесса отражает квалификация программиста. После 2-3 лет работы в наибольшей степени проявляются индивидуальные особенности программистов, их творческие способности, тщательность в работе, рациональное использование средств автоматизации. Для опытных специалистов переход на новый язык программирования обычно не требует особых усилий и успешно проходит за несколько месяцев. Численное значение стоимостного коэффициента определяется с помощью шкалы рейтингов (таблица 4 и таблица 5).

  • квалификация заказчика (КЗ). При испытаниях программного продукта заказчик зачастую обнаруживает, что решаются не те задачи и не так как нужно, вследствие чего необходима переработка готовых программ. Даже весьма квалифицированные заказчики вынуждены иногда корректировать техническое задание на любых этапах разработки, что влияет в среднем на снижение производительности труда разработчиков на 10-20 %. В предельных случаях неоднократное корректирование задания может привести к увеличению затрат даже в 3-5 раз.

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

  • использование инструментальных средств (ИИС). Численное значение стоимостного коэффициента определяется с помощью шкалы рейтингов.

  • ограничение сроков разработки (ОСР). В конструктивной модели стоимости срок разработки оценивается по следующей формуле:

, (9)

где ЧМ – трудоемкость проекта в человеко-месяцах.

Уменьшение сроков разработки проекта ведет к увеличению трудоемкости разработки примерно на 10-20%. Также и увеличение этих сроков ведет к увеличению трудоемкости из-за простоев аппаратных и программных средств разработки, а также из-за неэффективной работы разработчиков. Численное значение стоимостного коэффициента определяется с помощью шкалы рейтингов.

Таблица 4 - Численные значения стоимостных коэффициентов

Коэф-фициент

Фактор трудоем-кости

Коэффициент для рейтингов

очень низкий

низкий

номи-нальный

высокий

очень высокий

C11

ТНПП

0,75

0,88

1

1,15

1,4

C12

СПП

0,43

0,87

1

1,69

2-3

C13

РБД

-

0,94

1

1,08

1,16

C14

МК

-

-

1

1,15

1,53

C21

ОБД

-

-

1

1,67

3,33

C22

ОП

-

-

1

1,67

3,33

C31

КА

1,46

1,19

1

0,86

0,71

C32

КП

1,42

1,17

1

0,86

0,7

C33

КЗ

1,23

1,11

1

0,91

0,85

C41

ПСМ

1,24

1,1

1

0,91

0,82

C42

ИИС

1,24

1,1

1

0,91

0,83

C43

ОСР

1,23

1,08

1

1,04

1,1

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

Используя коэффициенты затрат труда, определим полные затраты труда на разработку подсистемы:

Таблица 5 - Оценка факторов трудоемкости

Фактор трудоемкости

Характеристика условий разработки

Рейтинг

Коэффициент затрат труда

ТНПП

Вся информация, вводимая с помощью подсистемы сохраняется в файле с расширением .dt, то есть при потере информацию можно восстановить

Низкий

0,88

СПП

Объем кода подсистемы 1,1 КЧИК

Очень низкий

0,43

МК

Используются dll

Номи-нальный

1

ОБД

Использование около 50% быстродействия процессора

Номи-нальный

1

ОП

Использование до 50% имеющейся оперативной памяти (350-400Mb из 1024Mb)

Очень высокий

1

КА

Опыт работы в предметной области 12 мес

Низкий

1

КП

Опыт работы 12 мес

Номинальный

0,7

КЗ

Есть некоторый опыт заказов, знаком с предметной областью

Высокий

0,85

ПСМ

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

Номи-

нальный

0,91

ИИС

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

Номи-

нальный

0,83

ОСР

Номинальный срок разработки

Номи-нальный

1

Таким образом, затраты труда на разработку данной подсистемы составили 3,09 человеко-месяца. Затраты денежных средств на разработку:

рублей.

Оценим следующие характеристики проекта:

  • Срок разработки:

месяцев.

  • Производительность труда:

.

  • Средние штаты для разработки:

человек.