Третьей целью анализа являлось обоснование и создание методов и средств снижения совокупных затрат и сроков разработки сложных программных продуктов. При этом возникали задачи:
• эффективного распределения общих трудовых ресурсов, используемых при производстве программ;
• развития и повышения экономической эффективности технологий, применяемых для создания программ различных классов;
• рационального повышения комплексной автоматизации технологий разработки программных продуктов;
• выбора методов и инструментальных средств, в наибольшей степени способствующих снижению длительности создания и совокупных затрат на программные продукты, а также повышению их качества.
Четвертой целью технико-экономического исследования процессов разработки программ являлось создание методических и нормативных документов, как основы планирования промышленной разработки аналогичных программных продуктов. Наличие нормативов могло коренным образом изменить характер разработки и приблизить его к отрасли современного регламентированного промышленного проектирования и производства. В результате появлялась возможность управления затратами на разработку, количеством и качеством создаваемых комплексов и их компонентов на различных этапах.
На практике классы систем при анализе обычно имеют ряд близких по значимости целей применения, и соответствующих им характеристик качества. В результате эффективность технологических решений приходится оценивать одновременно по нескольким показателям. Для этого следует стремиться сформулировать обобщенную скалярную функцию эффекта и затрат или строить нормированный вектор показателей качества. Во многих случаях эффективность сложной новой техники и комплексов программ в процессе проектирования приходилось прогнозировать в условиях неопределенности целей, различных факторов и характеристик. Обычно бывали недостаточно известны перспективы внедрения и эксплуатации объектов разработки – новых программных продуктов. Трудно формализуемыми и оцениваемыми являются размеры (масштабы) и структура систем, взаимодействие основных подсистем, цели, функции и критерии оценки эффективности их функционирования. Значительные неопределенности содержались также в технико-экономических характеристиках технологий, а также инструментальных средств автоматизации проектирования и изготовления программ.
Достаточно обычными в 1970-е – 80-е годы стали комплексы программ размером 100 и более тыс. строк текста. Возникла проблема декомпозиции комплексов программ на компоненты меньшего размера и сложности, а также упорядоченного структурно-иерархического построения таких программ. Известные методы снижения суммарной сложности систем путем декомпозиции, структурирования, локализации функций и упрощения компонентов нашли дальнейшее развитие при создании современных методов разработки сложных программных продуктов. Такие сложные программы в разумные сроки (1–5 лет) могли быть созданы только организованными коллективами специалистов под единым руководством. Размеры коллективов разработчиков и их структура в значительной степени диктуются структурой, функциональными задачами и характеристиками комплексов программ. Коллективность разработки привела к необходимости строгого планирования и формализации процесса разработки аналогично процессу проектирования других сложных промышленных изделий.
Программы реального времени обычно длительно функционируют во многих экземплярах системы. Это приводит к необходимости эффективного использования ограниченных вычислительных ресурсов, памяти и производительности реализующих (объектных) ЭВМ для функциональных программ, которые предназначены для решения основных задач по обработке информации или управлению. Включение комплексов программ в контур управления производством или динамическими объектами приводило к необходимости обеспечения ими высокого качества решения задач, безопасности и надежности их функционирования не ниже, чем у аппаратных компонентов соответствующих систем. Поэтому программы должны были тщательно отлаживаться и проходить контрольные испытания для определения уровня отлаженности, безопасности и надежности их функционирования. Отладка программ на технологических ЭВМ позволяла в ряде случаев значительно сокращать сроки разработки и проводить ее независимо от разработки, реализующей ЭВМ, для которой предназначен комплекс программ. Комплексное использование универсальных ЭВМ в качестве технологических и моделирующих позволяло успешно решать задачу создания надежных отлаженных программ для систем реального времени.
Читать дальше
Конец ознакомительного отрывка
Купить книгу