Смекни!
smekni.com

Работа По курсу: Предметно-ориентированные экономические информационные системы на тему: «Технико-экономические показатели разработки программных средств и их оценка» (стр. 9 из 13)

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

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

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

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

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

Неопределенность единиц измерения размера комплексов и компонентов программ значительно влияет на численные значения показателей и их разброс в опубликованных работах. Этому также способствует неоднозначность учитываемых этапов разработки про­грамм и категорий специалистов, трудозатраты которых заметно влияют на ТЭП. При одних и тех же процессах измерения объектов разработки и затрат на их создание методики определения количест­венных значений основных показателей пока не формализованы, что вносит дополнительную дисперсию в их значения, приводимые в различных исследованиях. В результате могут делаться различные и даже принципиально неверные выводы, например, об очень высокой эффективности некоторых частных технологических методов или инструментальных систем автоматизации разработки ПС. Для уменьшения этих неопределенностей и возможных методиче­ских ошибок в ТЭП программ необходимо определить основные понятия и единицы измерения: размера или масштаба программ, трудозатрат на их разработку, производительности труда специали­стов и некоторых частных характеристик (см. табл.1).

Оценку размера комплекса программ и трудозатрат приходится выполнять неоднократно во время жизненного цикла, причем после каждого оценивания повышается уровень доверия к полученным ре­зультатам. Точность оценки значительно повышается после форму­лирования начальных требований и спецификаций заказчиков, про­ведения анализа требований, после завершения разработки проекта. Хороший менеджер проекта обязан взять себе за правило оценивать (повторно) размеры ПС, используя результата оценивания в качест­ве выходных критериев для каждого этапа. Известно, что программи­сты весьма плохо справляются с проблемами оценивания результа­тов своего труда. К этому выводу приводит факт, что около 15% программных проектов не доводятся до завершения, так как прогнозы по поводу предполагаемой производительности разработчиков весьма далеки от совершенства. Несоответствие производительности изна­чально предполагаемым показателям, может иметь две следующие причины: плохая работа специалистов или некорректная техника и методы оценки ТЭП. Имеется множество свидетельств плохо вы­полненной оценки, однако практически невозможно доказать, что персонал не трудился усердно над разрешением проблемы, либо не является в достаточной степени компетентным. Разработчиков зачас­тую нельзя призвать к ответственности за такие результаты. Все начинается с прогнозирования размеров ПС, оценивание и досто­верность которых обусловлены следующими факторами:

- проблема может быть недостаточно хорошо понята разра­ботчиками и/или заказчиками из-за того, что некоторые факты были упущены или искажены из-за предвзятого к ним отношения;

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

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

- проектирующая организация не располагает стандартами, с помощью которых можно выполнять процесс оценивания (либо в случае наличия стандартов их никто не придерживается); в резуль­тате наблюдается недостаток совместимости при осуществлении процесса оценивания;

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

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

Исследованию различных единиц измерения, используемых при оценке размеров ПС, посвящены рассмотрению некоторых наиболее часто используемых из них. Выбор этих единиц зависит от конкретного проекта и потребностей организации. За рубежом чаще всего размер ПС определяется в терминах строк кода (Lines of Code - LОС), функциональных точек и точек свойств. Вне зависимости от того, оценивается ли конечный продукт, как в случае с применением показателя LОС, либо некоторая его абст­ракция или модель, в данном случае оценке подвергаете то, чего еще нет в природе. Поэтому оценивание размеров ПС представля­ет значительные трудности.

Размер или масштаб программ в настоящее время приводит­ся в публикациях в различных единицах, что может изменять их численные значения для одних и тех же программ в несколько раз. В качестве таких единиц чаще всего используются чис­ленные значения: строк текста программы на языке программирова­ния, предложений на ассемблере, символов в тексте программы, байт или команд в объектном коде после трансляции (табл.1). Каждая из этих единиц измерения имеет некоторые преимущества при определенных целях исследования. Однако при сравнительном технико-экономическом анализе различных проектов применение в каждом из них отличающихся единиц для характеристики объекта разработки приводит к дополнительному разбросу численных зна­чений размеров и к несопоставимости измеренных технико-экономических показателей.

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