Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник.pdf
Скачиваний:
2
Добавлен:
10.06.2024
Размер:
3.87 Mб
Скачать

человеческого общества!

ПРИЛОЖЕНИЕ А.

ФАКТОРЫ ЗАТРАТ ПОСТАРХИТЕКТУРНОЙ МОДЕЛИ СОСОМО II

Значительную часть времени при использовании модели СОСОМО II занимает работа с факторами затрат. Это приложение содержит описание таблиц Боэма, обеспечивающих оценку факторов затрат.

Факторы продукта

Таблица А.1. Требуемая надежность ПО (Required Software Reliability) RELY

Фактор Очень

Низкий

Номинальный

Высокий

Очень

Сверхвысокий

низкий

 

 

 

высокий

 

RELY Легкое

Низкая, легко

Умеренная, легко

Высокая,

Риск для

 

беспокойство

восстанавливаемые

восстанавливаемые

финансовые

человеческой

 

 

потери

потери

потери

жизни

 

Таблица А.2. Размер базы данных (Data Base Size) DATA

Фактор Очень низкий

Низкий

Номинальный

Высокий

Очень

Сверхвысокий

 

 

 

 

высокий

 

DATA

Байты БД/

10 D/P<100

100 D/P<1000

D/P 1000

 

 

LOCnporp. < 10

 

 

 

 

ПРИМЕЧАНИЕ

Фактор DATA определяется делением размера БД (D) на длину кода программы (Р). Длина программы представляется в LOC-оценках.

Сложность продукта (Product Complexity) CPLX

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

Таблица А.З. Сложность модуля в зависимости от области применения

CPLX

Операции управления

Вычислительные

Операции с приборами

 

 

операции

 

Очень низкий

Последовательный код

Вычисление простых

Простые операторы

 

с небольшим

выражений,

чтения и записи,

 

количеством

например,

использующие простые

 

структурированных

A=B+C*(D-E)

форматы

 

операторов: DO, CASE,

 

 

 

IF-THEN-ELSE.Простая

 

 

 

композиция модулей

 

 

 

с помощью вызовов

 

 

 

процедур и простых

 

 

 

сценариев

 

 

Низкий

Несложная вложенность

Вычисление выражений

Не требуется знание

 

структурированных

средней сложности,

характеристик

 

операторов. В основном

например

конкретного процессора

 

простые предикаты

D=SQRT(B**2-4*A*C)

или устройства ввода-

 

 

 

вывода. Ввод-вывод

 

 

 

выполняется на уровне

 

 

 

GET/PUT

Номинальный

В основном простая

Использование

Обработка ввода-

 

вложенность.

стандартных

вывода, включающая

292

 

Некоторое

математических

выбор устройства,

 

межмодульное

и статистических

проверку состояния

 

управление. Таблицы

подпрограмм.

и обработку ошибок

 

решений. Простые

Базовые матричные /

 

 

обратные вызовы

векторные операции

 

 

(callbacks) или

 

 

 

передачи сообщений,

 

 

 

включение

 

 

 

среднего уровня —

 

 

 

поддержка

 

 

 

распределенной

 

 

 

обработки

 

 

Высокий

Высокая вложенность

Базовый численный

Операции ввода-вывода

 

операторов

анализ:

физического уровня

 

с составными

мультивариантная

(определение адресов

 

предикатами.

интерполяция, обычные

физической памяти;

 

Управление

дифференциальные

поиски, чтения и т. д.).

 

очередями и стеками.

уравнения. Базисное

Оптимизированный

 

Однородная

усечение, учет потерь

совмещенный

 

распределенная

точности

ввод-вывод

 

обработка. Управление

 

 

 

ПО реального времени

 

 

 

на единственном

 

 

 

процессоре

 

 

Очень высокий

Реентерабельное

Сложный, но

Процедуры для

 

и рекурсивное

структурированный

диагностики

 

программирование.

численный анализ:

по прерыванию,

 

Обработка прерываний

уравнения с плохо

обслуживание

 

с фиксированными

обусловленными

и маскирование

.

приоритетами

матрицами, уравнения

прерываний.

 

Синхронизация задач,

в частных производных.

Обслуживание линий

 

сложные обратные

Простой параллелизм

связи.

 

вызовы, гетерогенная

 

Высокопроизводитель-

 

распределенная

 

ные встроенные

 

обработка. Управление

 

системы

 

однопроцессорной

 

 

 

системой в реальном

 

 

 

времени

 

 

Сверхвысокий

Планирование

Сложный

Программирование

 

множественных

и неструктурированный

с учетом временных

 

ресурсов с динамически

численный анализ:

характеристик

 

изменяющимися

высокоточный анализ

приборов,

 

приоритетами.

стохастических данных

микропрограммные

 

Управление на уровне

с большим количеством

операции. Критические

 

микропрограмм.

шумов. Сложный

к производительности

 

Управление

параллелизм

встроенные системы

 

распределенной

 

 

 

аппаратурой в реальном

 

 

 

времени

 

 

Таблица А.4. Сложность модуля в зависимости от области применения

CPLX

Операции управления данными

Операции управления

 

 

пользовательским интерфейсом

 

 

 

Очень низкий

Простые массивы в оперативной памяти. Простые

Простые входные формы,

 

запросы к БД, обновления

генераторы отчетов

Низкий

Использование одного файла без изменения

Использование билдеров для

 

структуры данных, без редактирования и

простых графических интерфейсов

 

промежуточных файлов. Умеренно сложные

 

 

запросы к БД, обновления

 

293

Номинальный

Ввод из нескольких файлов и вывод в один файл.

Простое использование набора

 

Простые структурные изменения, простое

графических объектов (widgets)

 

редактирование. Сложные запросы БД,

 

 

обновления

 

Высокий

Простые триггеры, активизируемые содержимым

Разработка набора графических

 

потока данных. Сложное изменение структуры

объектов, его расширение. Простой

 

данных

голосовой ввод-вывод, мультимедиа

Очень высокий

Координация распределенных БД. Сложные

Умеренно сложная 2D/3D-графика,

 

триггеры. Оптимизация поиска

динамическая графика, мультимедиа

Сверхвысокий

Динамические реляционные и объектные

Сложные мультимедиа, виртуальная

 

структуры с высоким сцеплением. Управление

реальность

 

данными с помощью естественного языка

 

Таблица А.5. Требуемая повторная используемость (Required Reusability) RUSE

Фактор Очень низкий

Низкий

Номинальный

Высокий

Очень высокий

Сверхвысокий

 

 

 

 

 

RUSE

Нет

На уровне

На уровне На уровне

На уровне

 

 

проекта

программы

семейства

нескольких

 

 

 

 

продуктов

семейств продуктов

 

 

 

 

 

 

Таблица А.6. Документирование требований жизненного цикла (Documentation match to life-cycle needs) DOCU

Фактор Очень низкий

Низкий

Номинальный

Высокий

Очень высокий

Сверхвысокий

 

 

 

 

 

 

DOCU Многие

Некоторые

Оптимизированы

Избыточны

по Очень

 

требования

требования

к требованиям

отношению

к избыточны по

 

жизненного

жизненного

жизненного цикла

требованиям

отношению к

 

цикла не

цикла не

 

жизненного

ребованиям

 

учтены

учтены

 

цикла

жизненного

 

 

 

 

 

цикла

 

Факторы платформы (виртуальной машины)

Таблица А.7. Ограничения времени выполнения (Execution Time Constraint) TIME

Фактор Очень низкий Низкий

Номинальный

Высокий

Очень высокий Сверхвысокий

 

 

 

 

 

TIME

Используется ≤

70%

85%

95%

50% возможного времени выполнения

Таблица А.8. Ограничения оперативной памяти (Main Storage Constraint) STOR

Фактор Очень низкий Низкий

Номинальный

Высокий

Очень высокий Сверхвысокий

 

 

 

 

 

STOR

Используется ≤

70%

85%

95%

 

50% доступной

 

 

 

 

памяти

 

 

 

Таблица А.9. Изменчивость платформы (Platform Volatility) PVOL

Фактор Очень низкий

Низкий

 

Номинальный

Высокий

Очень высокий Сверхвысокий

 

 

 

 

 

 

PVOL

Значительные

 

Значительны

Значительны

Значительны

 

изменения

— е

изменения

е изменения — 2

е изменения —

 

каждые

12мес.; каждые 6 мес.;

мес.;

2нед.;

 

незначительные незначительные

незначительные

незначительные

 

каждый —

каждые

2

— 1 неделя

— 2 дня

 

месяц

 

недели

 

 

 

294

Соседние файлы в предмете Технология программирования