Затраты на обеспечение функциональной пригодности зависят, в первом приближении, от сложности алгоритмов, объема комплекса программ и баз данных, которые определяют затраты труда и длительность полного цикла их разработки. Основные затраты идут на овеществленный, преимущественно интеллектуальный, труд специалистов различных категорий. Поэтому для их измерения наиболее универсальной единицей стали трудозатраты специалистов в человеко-днях или человеко-месяцах, которые обычно достаточно просто могут преобразовываться в стоимость процесса разработки.
Для учета классов крупномасштабных ПС с позиции затрат на их разработку проведено ранжирование экспериментальных данных и выделены классы (см. ISO 12182), наиболее сильно отличающиеся затратами на функциональную пригодность, при одном и том же общем размере полностью новых программ и информации баз данных, которые характеризуются (см. лекцию 5):
максимальной трудоемкостью — ПС систем управления динамическими объектами или процессами в реальном времени (СРВ);
средней трудоемкостью — ПС административных, организационных и информационно-поисковых систем (ИПС);
минимальной трудоемкостью создания — пакеты автономных расчетных прикладных программ (ППП).
Все остальные типы ПС могут быть упорядочены между выделенными классами и для них получены оценки изменения трудоемкости (стоимости) относительно максимальной для ПС реального времени. Малые проекты, создаваемые небольшими коллективами специалистов, характеризуются большим коэффициентом вариации — разбросом значений предполагаемой трудоемкости, вследствие высокой роли индивидуальных способностей отдельных специалистов. Трудоемкость разработки крупномасштабных ПС объемом свыше 100 тысяч строк отражается более определенными закономерностями и стабильными значениями, что обусловлено усреднением творческих возможностей специалистов и условий их труда в больших коллективах, а также возрастанием доли затрат и роли руководящего и вспомогательного персонала в ЖЦ ПС.
Основные составляющие дополнительных затрат, обеспечивающие требуемые характеристики качества ПС, целесообразно структурировать в соответствии с их номенклатурой в стандарте ISO 9126 (см. лекцию И). Однако желательно эти затраты связать с процессами ЖЦ ПС. Важнейшее значение имеют установление и формализация исходных требований к характеристикам ПС. Поэтому целесообразно выделять значительные ресурсы на системный анализ и проектирование требований ко всему комплексу характеристик и их атрибуты на начальных этапах проекта ПС (см. рис. 9.1). На этих этапах неопределенность оценки влияния факторов наибольшая, тем не менее даже приблизительный их учет позволяет избегать грубых ошибок (в несколько раз) при оценке затрат на разработку, которые делаются экспертами без детального анализа влияния различных факторов на требуемое качество ПС. Подобный анализ может быть базой для рационального, первичного распределения ограниченных ресурсов разработки и для управления их использованием по мере развития проекта. Учет возможного изменения затрат в зависимости от основных параметров проекта способствует упорядочению процесса разработки ПС и концентрации усилий на тех факторах и затратах, которые могут дать максимальный эффект в повышении качества, при конкретных условиях создания программ и реальных ограничениях ресурсов.
После проведения системного проектирования, а также предварительного распределения ресурсов возможна ошибка в оценке совокупных затрат на разработку ПС с требуемым качеством, приблизительно в полтора-два раза. Разработка архитектуры комплекса программ на основе прототипов и подготовка к программированию готовых апробированных алгоритмов позволяет ее уменьшить до 20—30%. Такую достоверность можно получить, конечно, только при подробном анализе и оценке влияния важнейших факторов и требований к качеству конкретного ПС (см. лекцию 5).
Крупные затраты, достигающие 30% от полных затрат на разработку сложных ПС, могут приходиться на верификацию и тестирование программных компонентов, что должно обеспечивать корректность и надежность ПС в целом. Хотя эти характеристики и их атрибуты принципиально различаются, ресурсы на их реализацию полностью разделить невозможно. Поэтому оценивание и выделение ресурсов на решение этих задач целесообразно анализировать совместно.
Do'stlaringiz bilan baham: |