ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 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 (чел-час);