ФСА в программировании. Рубин М.С., 1985 г.
ФСА в программировании.
© М.С.Рубин
Тезисы докладов Всесоюзного научно-технического симпозиума "Функционально-стоимостный анализ в повышении эффективности производства" (г. Рига, 12-14 сентября.1985), Москва 1985 г. стр.143.
Постановка задачи.
ФСА широко применяется для анализа технических, организационных и управленческих систем. Объект применения ФСА должен отвечать следующим требованиям:
- для каждой из полезных функций может быть выделен соответствующий носитель;
- можно определить стоимость каждого из носителей и соответствующей функции;
- одну и ту же функцию можно выполнять разными способами.
Этим требованиям удовлетворяют программы для ЭВМ. Необходимость проведения ФСА для программ связана с тем, что современная технология немыслима без автоматизированных систем и их программного обеспечения. Чаще всего эти программы носят печать процесса их отладки и индивидуальности программиста. Поэтому в эксплуатацию поступают далекие от оптимального варианта программы.
В настоящей работе рассмотрены особенности применения ФСА в программировании.
Программы как объект ФСА.
Программы или их комплексы могут быть написаны на одном из алгоритмических языков или в машинных кодах. В любом случае всегда можно выделить группу операторов или подпрограмм, выполняющих ту или иную функцию. При выполнении этих функций используется память машины и дорогостоящее время ЭВМ, что создает соответствующую стоимость выполнения этих функций. В зависимости от конкретной ситуации выполнение программных функций может быть организовано по-разному. Таким образом, программа обладает всеми признаками объектов ФСА.
Вместе с тем у программ, как объектов ФСА, имеются свои особенности.
1. Стоимость отдельных частей программы или комплекса программ практически невозможно определить в рублях. Она складывается из многих факторов: затрат на программирование, машинного времени при выполнении программ, объема занимаемой оперативной и внешней памяти, времени на трансляцию, редактирование и подготовку исходных данных, удобства и объема вывода на печать результатов…
2. В программировании не имеется такого широкого набора методов решения возникающих в ходе ФСА задач, как для технических систем.
3. При проведении ФСА программ можно использовать возможности самих программ и ЭВМ.
Особенности проведения ФСА в программировании.
Объектами ФСА должны быть дорогостоящие промышленные программы, предназначенные для проектирования и использования в автоматизированных системах управления. Первые попытки применения ФСА показали, что наибольший эффект он дает при анализе комплекса программ, когда имеются широкие возможности в варьировании структуры программы.
При проведении ФСА программы выгодно использовать структурное программирование, получившее в последнее время большое развитие. Одним из основных его принципов является четкое выделение носителей различных функций. Для программистов это имеет такое же значение, как крупноблочное строительство при возведении домов. Сильно сокращаются расходы на программирование. Одновременно это является хорошей подготовкой для проведения ФСА.
Наиболее трудоемкой операцией при проведении ФСА программ является оценка стоимости выполнения программных функций. Можно разработать три способа оценки стоимости программных функций:
а) по исходному тексту программы
б) по результатам трансляции и редактирования
в) по работающей программе.
Каждый из них имеет свои преимущества и недостатки. Общим требованием при создании методики оценки стоимости программных функций должна быть возможность ее программной реализации. Учитывая возможность возникновения неопределенных и непредсказуемых ситуаций, эта программа должна работать в диалоговом режиме со специалистом, проводящим ФСА. При подсчете стоимости необходимо также учитывать, что ценность машинного времени, памяти ЭВМ и других составляющих стоимости программ в каждом конкретном случае может меняться.
Наиболее серьезные трудности появляются на творческом этапе, когда необходимо решать возникшие в ходе ФСА задачи. Для успешного проведения ФСА необходимо проанализировать типичные задачи, возникающие при составлении алгоритмов и программ и разработать типичные приемы их решения.
Выводы.
1. ФСА применим для анализа программ ЭВМ.
2. Наиболее эффективен анализ комплексов программ и систем программного обеспечения АСУ.
3. Для оценки стоимости всех программных функций , необходимо разработать специальную программу, работающая в диалоговом режиме. Желательно, чтобы эта программа имела возможность работать совместно с транслятором и редактором программ.
4. Необходимо разработать типовые приемы решения задач, возникающих в ходе проведения ФСА программ.