Оценка затрат на разработку программных систем, страница 5

3.  Определить состав оцениваемых модулей и оценить размер каждого моду­
ля Vm в показателях функционального размера, где m ={ 1,М}- М - количество мо­
дулей в ПС, и конвертировать его в строки кода (SLOC).

4.  Вычислить номинальные трудозатраты каждого модуля Тномm по формуле

(1).

5.  Оценить 17 атрибутов стоимости и экспертным путем определить коррек­
тирующие коэффициенты этих атрибутов Кі для каждого модуля.

6.  Вычислить уточненную трудоемкость Тт каждого модуля по формуле (7):

Т„ = &&&&&тт                                                                                                                             (7)

где Тномm - номинальная трудоемкость модуля, вычисленная по формуле (1).

7. Вычислить требуемую продолжительность разработки модуля в месяцах
Дm подстановкой Тm в формулу (6).

8.6.3. Соотнесение стоимостных атрибутов Предпроектной и Проектной моделей

Стоимостные атрибуты Предпроектной модели являются комбинацией стои­мостных атрибутов Проектной модели (таблица 8.23).

Оценки значений интегрального атрибута вычисляются как субъективно средневзвешенные оценки единичных атрибутов. При этом шкала оценок инте­грального атрибута может быть шире, чем шкала единичных атрибутов. Если оценка стоимостного атрибута попадает между уровнями рейтингов, она должна округляться в сторону номинального рейтинга, например, если рейтинг атрибута попадает между «Очень низкий» и «Низкий» следует выбирать «Низкий».

Для вычисления этих оценок применяется следующий алгоритм.

1.  Каждому рейтингу оценки каждого единичного атрибута присваивается
вес в такой последовательности: оценке «Очень низкий» - 1, «Низкий» - 2, «Номи­
нальный» - 3 и т.д.

2.  Суммируются веса единичных атрибутов и размещаются по шкале инте­
грального атрибута.

3.  Вычисляются усредненные значения коэффициентов интегрального атри­
бута.


Ниже для иллюстрации рассмотрен пример оценки интегрального атрибута ПЕРС.

Интегральный атрибут «Квалификация разработчика»(ПЕРС) является ком­бинацией трех единичных атрибутов, приведенных в таблице. 8.24, каждый из ко­торых имеет масштаб ранжирования от «Очень низкий» до «Очень высокий».

1. Рейтингам единичных атрибутов присваиваются веса (таблица 8.24).

2. Суммируются веса единичных атрибутов и в результате получаются значе­ния от 3 до 15. Эти веса переносятся на масштаб интегрального атрибута таким об­разом: оценка "Номинальный" 9 отвечает сумме весов (3+3+3), а соответствующий им коэффициент равен 1. Оценка "Сверхнизкий" соответствует сумме весов (1+1+1) или (1+1+2), и т.д. (таблица 8.25).

3. Усредненные значения коэффициентов интегрального атрибута (таблица 8.26) вычисляются следующим образом:

а) определяются комбинации всех весов, для которых их сумма составляет от 3 до 4

(1,1,1)  - одна комбинация для веса 3,

(1,1,2)  - три комбинации для веса 4
(2,1,1)

(1,2,1)

и т.д. для всех весов.

b)- вычисляется произведение коэффициентов для этих последовательностей (таблица 8.27):

(1.42* 1.34* 1.29)/ 2=1.23 (1.42* 1.34* 1.12)/ 2=1.06 (1.19*1.34*1.29)/ 2=1.03 (1.42*1.15*1.29)/ 2=1.05


с) вычисляются значения интегрального коэффициента: 1.23+(1.06+1.03+1.05)/ 3=2.5

Для определения всех интегральных коэффициентов шаги а)-с) выполняются для всех оценок.

8.7. Распределение трудозатрат по стадиям разработки

и видам работ

Модель СОСОМО II позволяет выполнить распределение трудозатрат по стадиям разработки по стандартной (каскадной) модели. Это распределение зави­сит от размера ПС, представленного в тысячах строк исходного кода (KSLOC, да­лее К). В таблице 8.28 представлено распределение трудозатрат по стадиям разра­ботки в процентах от общих трудозатрат. Распределение трудозатрат по отдельным модулям выполняется аналогично. Изменение процентного соотношения трудоем­кости на стадиях с ростом размера объясняется тем, что большие ПС требуют больших затрат на интеграцию и тестирование. Если вычисленный размер ПС на­ходится между значениями, представленными в таблице, - соответствующее доле­вое распределение получается путем линейной интерполяции данных из таблицы 8.28 по формуле (8):

У=У0 + [(x-x0 ) / (х1о)]*(у10)                                                                                       (8)

где у - искомое распределение в процентах, х - вычисленный размер,


00) и (х1 у1) - точки таблицы (размер, процент), между которыми находится вы­численный размер.

В таблице 8.29 представлено долевое распределение продолжительности ра­бот (в процентах) по стадиям в зависимости от размера ПС. Если вычисленный размер находится между значениями, указанными в таблице, - соответствующее распределение также вычисляется путем линейной интерполяции.

Ниже в таблицах 8.30 - 8.34 приведено долевое распределение трудозатрат разработки по видам работ, выполняемых на отдельных стадиях (перечень работ соответствует приведенным в модели)4.

4 Это распределение выполняется по формуле Рэлея, поэтому общая сумма процентов по работам не равна 100 [1].








8.8. Корректировкаоценокмодели

Предпроектная и Проектная модели дают скалярные оценки трудозатрат и продолжительности разработки и не являются абсолютно точными.

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

Путем статистического моделирования (применяя распределение Гаусса) бы­ли получены коэффициенты для вычисления граничных оценок интервалов дове­рия (таблица 8.35). Подробную информацию об этом можно получить в [3], а также из Интернет (http://www.sunset.usc.edu/research/COCOMOII).

Эти же коэффициенты рекомендуется использовать для оценки продолжи­тельности разработки.

Литература к главе 8

1.  Боэм Б. У. Инженерное проектирование программного обеспечения. М., Радио и
связь.- 1985. -511 с.

2.  http://www.sunset.usc.edu/research/COCOMOII /cocomo_main.htm

3.  СОСОМО II Model Definition Manual (Version 1.4) //USC - 1997. - P. 78.