Файл: 7 ТЕХНИКО-ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 16.04.2020

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

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

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

7 ТЕХНИКО-ЭКОНОМИЧЕСКОЕ Обоснование разработки пп

В этой главе произведен расчет затрат на разработку программного обеспечения для устройства сопряжения синтезатора магнитного поля с ЭВМ.

7.1 Организация создания и применения программного обеспечения

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

Эффективность инженерного программирования функ­ций АС, то есть создания ПО АС, при выполнении условия необходимости-достаточности определяется эффективно­стью создания программных изделий, составляющих ПО АС. Эффективность каждого программного изделия определяется его качеством и эффективностью процесса разработки и сопровождения. Качество программного из­делия определяется тремя составляющими: с точки зре­ния специалиста-пользователя данного программного из­делия (в АС это специалист по выполнению функций системы с использованием данной программы); с позиции использования ресурсов и их оценки; по выполнению тре­бований на программное изделие.

Программное изделие должно быть так разработано, чтобы оно выполняло свои функции без лишних затрат ресурсов (оперативной памяти ЭВМ, машинного времени, пропускной способности каналов передачи данных – на стадии функционирования; времени разработки и денежных ресурсов – на стадии создания про­граммного изделия). Кроме того, программное изделие должно иметь контрольно-измерительные средства для измерения его характеристик, сбора статистических дан­ных, учета изменений.

Как и при обеспечении необходимого качества про­граммного изделия, достижение эффективности процесса его разработки и сопровождения требует согласования целей с человеческими факторами (поощрение успешной работы, повышение квалификации.); с управлением ресурсами (сокращение затрат на разработку и сопро­вождение), а также с особенностями программотехники (разработка четкой и обоснованной спецификации требо­ваний, четкая проверка проекта программного изделия). В процессе разработки ПО АС необходимо так уп­равлять занятыми в процессе сотрудниками, чтобы удовле­творялись их запросы и реализовывался их творческий потенциал.

С позиций управления ресурсами должен быть обес­печен тщательный анализ затрат и ресурсов для всех возможных вариантов проектирования при выборе опти­мального проекта программного изделия. Планируемость и контролируемость предполагают составление и конт­роль графиков выполнения проекта и планов координа­ции ресурсов. Как правило, основные сложности в про­цессе создания программного изделия возникают прежде всего из-за плохого планирования (50 %) и недостаточно­го контроля проекта (34 %), а не по техническим причинам (всего 15 %).

Важное значение для организации эффективных про­цессов создания и использования программных средств АС имеет понятие жизненного цикла программного обес­печения системы (ЖЦПО). Для каждой создаваемой АС необходимо определить состояние программного обеспе­чения в целом и отдельных программных изделий на каж­дой стадии жизненного цикла ПО АС. Данное положе­ние обусловлено требованием создания актуальной и гибкой системы, которая могла бы развиваться с наи­меньшими затратами на внесение изменений в систему по мере ее освоения и старения. Кроме того, необходимо прогнозировать эффективный срок замены функциони­рующей и развивающейся системы на принципиально новую. ЖЦПО охватывает весь процесс разработки и функционирования ПО – начиная от исследования осу­ществимости программного изделия и кончая прекращением его использования или исключения из инженерного программирования.


Процесс программирования не­обходимо планировать, контролировать и завершать в заданные сроки. Кроме того, работу программистов нуж­но оплачивать по результатам их труда: его качеству, количеству и интенсивности выполнения работ; стимули­ровать высокие результаты труда. Для всех перечислен­ных целей нужны нормы труда и нормативы, чтобы сравнивать и оценивать плани-

руемые и фактические ре­зультаты.

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

Более обоснованным является метод оценки трудо­емкости и сроков создания программного изделия на ос­нове системы моделей с различной точностью оценки, за единицу нормирования в которых принято число ис­ходных команд программного изделия. Под исходной командой понимается физически представимая строка на бланке программы, на экране дисплея, на распечатке программы. Нормирование труда программистов на базе исходной команды представляется более пред­почтительным по сравнению с использованием понятия машинной команды, так как последняя не является не­посредственным результатом труда программиста. Коли­чество машинных команд, в которое преобразуется ис­ходная программа, составленная программистом, зави­сит от аппаратурно-программных средств конкретной ЭВМ. Другое дело – оценка эффективности рабочей программы, которая должна характеризоваться именно чис­лом машинных команд, определяющим объем оператив­ной памяти, емкость внешних накопителей, время обра­щения к программе и ее работы.

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

С этих позиций представляет интерес конструктивная модель стоимости программного изделия, разработанная Б. У. Боэмом на основе системного анализа большого статистического материала по конкретным разработкам программ в виде готовых к применению изделий. Следует отметить, что практическая проверка работоспособности моделей на проведенных разработках программ для АС подтвердила приемлемость описанного аппарата для оценки и нормирования процесса разработки ПО АС. К тому же система рейтингов, включаемая в уточненные модели, хорошо согласуется с понятием научно-техниче­ского уровня АС и позволяет оценивать эффективность программного изделия и системы в целом с учетом этого уровня, а при функционировании – качества системы и ее элементов.


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

7.2 Описание продукта (программы) и маркетинговые исследования

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

Существует аналог данного автоматизированного комплекса, состоящий из микроконтроллера, в котором жестко прошивается программа управления (посредством программатора) и самого синтезатора.

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

7.3 Определение трудоемкости

Анализ различных подходов к нормированию процесса программирования

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

Он в основном определяет трудоемкость разработки программы программного изделия t, а также длительность разработки T и затраты на ее проведение Кa. Для быстрой приближенной оценки трудоемкости и длительности разработки программного изделия может использоваться базовая модель /13/.

Эта модель состоит из двух простейших формул. Затраты труда (или трудоемкости разработки программного изделия t):

t=3,6(nт.и.к.)1,2, (63)

где nт.и.к. - число тысяч исходных команд.

t=3,6(1,2)1,2 = 4,48 (чел-мес.).

Продолжительность разработки программного изделия:

Т=2,5t0,32 , (64)

T = 2,5 · 4,48 0,32 = 4,04 (мес)

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

Пр = 1000 nт.и.к. / t , (65)

Пр = 1000 · 1,2 / 4,48 = 267,86 (исходных команд / чел-мес).

Среднее число исполнителей Чи рассчитывается исходя из определенных или заданных характеристик трудоемкости и длительности разработки программного изделия:

Чи = t /T = 4,48 / 4,04 = 1,1 ≈ 1 (чел.).

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


лия при заданной численности исполнителей.

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

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

В уточненной модели используется понятие номинальной трудоемкости:

tн = 2,8 (nт.и.к.) 1,2 .

tн = 2,8 · 1,2 1,2 = 3,48 (чел-мес).

Рисунок 20 – Структура затрат времени на разработку ПП

Рисунок 21 – Распределение трудоемкости

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

7.3.1 Определение затрат на создание программного продукта. Затраты на создание программного продукта складываются из расходов по оплате труда разработчика программы и расходов по оплате машинного времени при отладке программы:

Зспп = Ззпспп + Змвспп + Зобщ , (66)

где Зспп - затраты на создание программного продукта;

Ззпспп - затраты на оплату труда разработчика программы;

Змвспп - затраты на оплату машинного времени;

Зобщ - общие затраты.

Расходы на оплату труда разработчика программы определяются путем умножения трудоёмкости создания программного продукта на среднюю часовую оплату программиста (с учётом коэффициента отчислений на социальные нужды):

Ззпспп = t · Tчас. (67)

Трудоемкость разработки программного обеспечения решения задачи можно определить следующим образом:

t = t о+ tа + tб + tп + tд + tот , (68)

где tо - затраты труда на подготовку описания задачи;

tа - затраты труда на разработку алгоритма решения задачи;

tб - затраты труда на разработку блок-схемы алгоритма решения задачи;

tп - затраты труда на составление программы по готовой блок-схеме;


tд - затраты труда на подготовку документации задачи;

tот - затраты труда на отладку программы на ЭВМ при комплексной

отладке задачи.

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

Условное число операторов:

Q = q · с · (1+р), (69)

где q – предполагаемое число операторов;

с – коэффициент сложности программы, характеризует относительную

сложность программ задачи по отношению к так называемой типовой

задаче, сложность которой принята равной единице;

р – коэффициент коррекции программы в ходе ее разработки, характеризу-

ет увеличение объема работ за счет внесения изменений в алгоритм или

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

описания.

q = 1000, с = 1,75, p=0,08.

Q = 1000 · 1,75 · (1+ 0,08) = 1890.

Оценим затраты труда на изучение описания задачи с учётом уточнения описания и квалификации программиста:

tо = Q · B /(75...85 · K), (70)

где B – коэффициент увеличения затрат труда вследствие недостаточного или

некачественного описания задачи, уточнений и некоторой недоработки,

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

ки программы, B = 1,2…5, В = 4;

K – коэффициент квалификации разработчика алгоритмов и программ, ха-

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

ему работе, для работающих до 2 лет К=0,8.

Таким образом, получим:

tо = 1890 · 4 / (80 · 0,8) = 118,13 (чел-час).

Затраты труда на разработку алгоритма решения задачи:

tа = Q / (20...25 · K) = 1890 / (22·0,8) = 107,39 (чел-час).

Затраты труда на разработку блок-схемы алгоритма решения задачи вычислим следующим образом:

tб = Q / (20...25 · K) = 1890 / (22·0,8) = 107,39 (чел-час).

Затраты труда на составление программы по готовой блок-схеме вычислим по формуле:

tп = Q / (20...25 · K) = 1890 / (22·0,8) = 107,39 (чел-час).

Затраты труда на отладку программы на ЭВМ при комплексной отладке задачи:

tот = 1,5 · tAот , (71)

где tAот – затраты труда на отладку программы на ЭВМ при автономной отлад-

ке одной задачи.

tAот = Q / (4...5· K) = 1890 / (4,5·0,8) = 525 (чел-час).

Отсюда:

tот = 1,5·525 = 787,5(чел-час).

Затраты труда на подготовку документации по задаче определяются:

tд = tдр + tдо , (72)

где tдр – затраты труда на подготовку материалов в рукописи;

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

tдр = Q / (15...20 · K) = 1890 / (17·0,8) = 138,97 (чел-час);

tдо = 0,75 · tдр = 0,75·138,97 = 104,22 (чел-час);