Мера производительности
Измерение производительности в программировании — цель, исключительно обманчивая из-за трудностей оценки качества программ. Большинство результатов измерения производительности, приведенных в табл. 1.13, опирается на характеристику «число программных строк на одного программиста в месяц» и не учитывает разницу между строками программ с высоким и низким качеством. Неизвестно даже, связано ли вообще зна-
Таблица 1.13. Некоторые результаты оценки производительности программистов
„ Литературный
Результаты экспериментов источник
Результаты работы бригад программистов, которым указаны конкретные цели работы (минимум требуемой памяти, удобочитаемость выводимых данных, удобочитаемость программы, минимальное число операторов в исходном тексте, минимальное время работы), превосходят в достижении этих целей результаты работы других бригад [87J
R=L/ST, где R — число строк исходного текста на одного программиста в месяц, L — число строк кода в конечном программном изделии, S—уровень укомплектованности штатами, Т — плановый календарный срок в месяцах [92] Данные о производительности труда в 60 проектах хорошо аппроксимируются по методу наименьших квадратов равенством число человеко-месяцев = 5,2 X число тысяч строк кода Наивысшая производительность достигается в том случае, когда исходный текст программы не надо делать повторно используемым [85] Производительность снижается, если разработка рассредоточена по нескольким местам
Производительность программистов может быть предсказана по девяти характеристикам программы и по пяти характеристикам программиста [15] Организованная бригада программистов работает быстрее и допускает меньшее количество ошибок, чем группа, составленная из программистов, работающих в одиночку [5] Случайная величина, распределенная по логарифмически-нормальному закону, является хорошей моделью для Прогнози рования потребностей в ресурсах центрального процессора и числа пробных прогонов при разработке программного обеспечения студентами [49]
Чение этого показателя с качеством программы. Разд. 1.6 содержит ряд предложений по оценке и управлению качеством.
Возможно, наиболее важные результаты по оценке производительности получены авторами работы [81], которые установили, что программисты эффективно работают в любом направлении, которое было им представлено как исключительно важное. Поэтому тщательное инструктирование программистов весьма существенно.