Смекни!
smekni.com

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

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

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

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

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

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

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

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

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

Трудоемкость разработки программных средств наиболее сильно зависит от размера — масштаба программ, выраженного числом операторов на ассемблере или строк на языке программи­рования высокого уровня. В п. 4 обсуждался вопрос о способах и единицах измерения размера разрабатываемых программ и обосно­вана целесообразность проводить эти оценки в числе операторов (команд) на языке ассемблера. Реальное изменение создаваемых в настоящее время сложных ПС от 104 до 107 строк (LОС) определяет диапазон трудоемкости разработки таких программ от человеко-года до десятков тысяч человеко-лет. Широкий диапазон изменения раз­мера создаваемых программ в наибольшей степени определяет значения суммарной трудоемкости их разработки. Подтверждена по большому числу проектов высокая статистическая корреляция между размером комплексов программ в операторах на ассемблере и трудоемкостью их разработки. С другой стороны, отсутствуют какие либо данные о значительном преимуществе других мер размера и сложности при прогнозировании затрат на разработку сложных и сверхсложных ПС. Объем программ в числе операторов на ассемб­лере характеризуется простотой и экономичностью определения, а также удобством для расчетов и прогнозирования.

Опыт подсказывает, что по мере увеличения размера комплекса программ возрастают не только абсолютные, но и относительные затраты на разработку каждой строки текста в программе. Вследст­вие этого затраты труда при разработке одной строки текста в программах разного объема могут различаться в несколько раз. Согласно материалам М.Х. Холстеда («Начала науки о программах»), трудоемкость разработки программного модуля пропорциональна квадрату размера программы. Модульно-иерархическое построение крупных ПС позволяет замедлить квадратичный рост сложности и соответствующей ей трудоемкости разработки при увеличении размера программ. Суммарную трудоемкость разра­ботки сложного ПС можно представить двумя сомножителями. Первый сомножитель является доминирующим, он прямо пропор­ционален размеру программ П и отражает практически линейное возрастание трудоемкости создания любых программ при увеличе­нии их размера.

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

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

Хотя размеры базы данных для сложных ПС по числу типов имен переменных изменяются в очень широких пределах, приблизи­тельно от 103 до 108 , их непосредственное влияние на трудо­емкость разработки строки в программе даже при числе перемен­ных, в десятки раз превышающем размер программы, оценивается на уровне 10%. При этом степень этого влияния трудно форма­лизовать, так как большую роль играет структура базы данных и ее функциональное назначение. Поэтому далее этот фактор отдельно не учитывается и только для очень больших и сложных структур баз данных рекомендуется увеличивать трудоемкость на десяток про­центов.

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