Критерии оценки компьютерных программ и баз данных
Оценка может проводиться по следующим группам критериев:
- количественные, когда для оценки программы используется некоторая количественная характеристика (или набор таких характеристик);
- генетические, т. е. критерии, определяемые той дисциплиной, в рамках которой программа создавалась;
- структурные, позволяющие определить, насколько хорошо программа организована как текст;
- прагматические, которые могут быть применены при сопоставлении программы и ее цели, если эта цель формально усматривается в тексте.
Среди количественных критериев наиболее приемлемыми представляются топологические критерии - оценки сложности управляющего графа программы. Сложность программы (ее фрагмента, процедуры) оценивается по формуле Мак-Кейба цикломатическим числом ее управляющего графа, которое равно: m - n + 2, где m - число дуг; n - число вершин управляющего графа.
Общепризнано, что цикломатическое число не должно превышать 0, в противном случае программа считается переусложненной и трудной для понимания, отладки, модификации и др.
Генетические критерии оценки программы связаны с происхождением программы, с дисциплиной, для которой она создана. С помощью подобных критериев программа может быть оценена экспертами как хорошая или плохая.
Структурные критерии оценки программы связаны с оценкой организации управления в программе и ее отражением в программном тексте. Хорошо структурированная программа имеет ряд достоинств:
- содержит аналогичную приемам построения рассуждений последовательность;
- обеспечивает наглядность, читаемость, понимаемость программы как текста (а значит, и хорошую способность к повторному использованию). В хорошо структурированной программе легко усматривается множество возможных процессов вычислений;
- технологична.
Под прагматическими критериями понимается оценка того, насколько программный текст соответствует цели программы, которая может быть формально обнаружена в программном тексте.
Оценка прагматичности складывается из следующих признаков:
- программа, как правило, в точности решает некоторую задачу, т. е. она не должна быть избыточной по отношению к своей задаче;
- те средства, которые выбраны для выражения алгоритма решения задачи, должны применяться естественным образом;
- результаты программирования не зависят от того, как будут выполняться неопределенные действия.
Метод оценки стоимости программ для ЭВМ, написанных на одном из алгоритмических языков высокого уровня (Фортран, Ада и Си++), основан на сравнении оцениваемой программы с некоторой средней программой, стоимость которой определяется известными способами на основе цен, сложившихся в настоящее время на рынке программных продуктов.
Данный метод предполагает оценку качества, а не интеллектуального уровня программы, поэтому такая важная характеристика, как эффективность, считается при этом свойством алгоритма, а не самой программы. Точно так же качество программы не связывается со степенью ее корректности - предполагается, что корректность достаточно убедительна, иначе оценку программы проводить вообще нецелесообразно.
Стоимость оцениваемой программы складывается из средней стоимости действующих на рынке в момент оценки программ, увеличиваемой (уменьшаемой) в зависимости от суммарного воздействия на нее указанных критериев.
Вернуться на заглавную страницу раздела Оценка компьютерных программ |