Оценка на основе распределения Рэлея

В настоящее время некоторые результаты теории надежности аппаратных средств ЭВМ начинают использовать для оценки сроков и затрат при разработке программного обеспечения. Было установлено, что зависимость суммарных затрат от времени при разработке больших систем (свыше 50 че­ло­ве­ко-лет) хорошо отображается следующим уравнением:

где E(t) — суммарные затраты к моменту времени t;

К — общая стоимость системы;

а — характеристика максимальных затрат на единичном отрезке времени.

Такая зависимость, выраженная в дифференциальной форме, отображается кривой Рэлея

где E’(t) — плотность затрат или ежегодные затраты (рис. 3.4).

Рис. 3.4 — Отображение ежегодных затрат кривой Рэлея

Поскольку 60 % затрат производится на этапе сопровождения, нет ничего удивительного, что максимум кривой близок к моменту создания системы, т.е. к тому моменту, когда традиционно считается, что работы завершены.

Пусть P(T > t) вероятность того, что в интервале [0, t] событие не произошло. Тогда в соответствии с законом Пуассона

Поскольку P(T ≤ t) + P(T > t) = 1, вероятность того, что событие произошло в интервале [0, t], можно представить в следующем виде:

Частота событий, или скорость решения задач, выражается как производная функции распределения, т.е.

Допустим, что если событие произошло, p есть вероятность решения задачи (вероятность получения правильного решения). Тогда получим следующие соотношения:

Положим, что вероятность p является функцией времени. В этом случае имеем

Опыт разработки больших программных систем показывает, что зависимость вероятности правильного решения задачи от времени можно выразить в виде

При этом получим

Вводя обозначение a = (λα)/2 и умножая последнюю формулу на общую стоимость системы K, получим приведенную выше формулу для суммарных затрат E(t) к моменту времени t. Таким образом, для ежегодных затрат имеем:

Это уравнение содержит две переменные величины — t и [K – E(t)]. По мере приближения работ к завершению (с возрастанием t) скорость решения задач f(t) увеличивается. Это происходит вследствие эффекта «обучения», поскольку по мере знакомства исполнителей с задачами работа становится более эффективной.

Противоположную тенденцию имеет выражение [K – E(t)], которое определяет незавершенную работу. С приближением работ к завершению сложность системы увеличивается, вследствие чего снижается производительность труда исполнителей. Кривая Рэлея имеет два параметра — K и a. В начале работы K можно оценить, используя величину планируемых затрат, а a можно определить, исходя из состава исполнителей. Дату завершения работ определяют по достижению максимума расходов (максимум кривой Рэлея).