
- •Методические указания по выполнению курсовой работы по дисциплине «моделирование систем»
- •Функциональная архитектура
- •2. Разработка описания программного продукта
- •Разработка функциональной модели программы
- •4. Диаграммы потоков данных (dfd)
- •5. Разработка спецификаций программных компонентов
- •6. Оценка размера программного продукта на основе функциональных точек
- •7. Рекомендуемая литература
- •8. Нормативные документы
- •1. Общие положения
- •2. Требования к содержанию документов
- •2.1. Пояснительная записка к проекту
- •2.2. Общее описание асу
- •2.3. Смета затрат
- •2.4. Расчет экономической эффективности
- •2.5. План мероприятий по подготовке объекта к вводу асу в эксплуатацию
- •2.6. Ведомость документов технического проекта
- •2.11. Ведомость держателей подлинников
- •1. Общие положения
- •2. Требования к содержанию документа
- •1. Общие положения
- •2. Требования к содержанию документов
- •1. Общие положения
- •2. Стадии и этапы создания ас
- •Содержание работ
- •Перечень организаций, участвующих в работах по созданию ас.
- •1. Общие положения.
- •2. Состав и содержание тэо асу.
- •1. Общие положения
- •2. Общие требования
- •Форма спецификации
- •1. Правила выполнения схем
- •2. Правила применения символов
- •1. Перечень, наименование, обозначение символов и отображаемые ими функции
- •2. Соотношение геометрических элементов символов
- •Символы, выполненные с помощью печатающих устройств
6. Оценка размера программного продукта на основе функциональных точек
Функциональные точки (function points) были предложены сотрудником IBM Аланом Альбрехтом в 1979г.
Достоинством метода, основанного на использовании функциональных точек, является то, что он может использоваться на ранних стадиях проекта («в начале потока»). Для поддержки и развития метода в 1986г. Была создана Международная группа пользователей функционального измерения (IFPUG – International Function Points User Group).
Ядром метода является подсчет количества функциональных точек на основе анализа структуры программного продукта и схемы потоков данных. В качестве функциональных точек при этом выступают:
Внешние входы. Различают только те входы, которые по-разному влияют на функцию.
Внешние выходы. Различными считаются выходы для различных алгоритмов. Например, если функция выдает сообщение – текстовое описание выбранного метода, и вызывает другую функцию, реализующую выбранный алгоритм сортировки, то считается, что она имеет два выхода.
Внешние запросы;
Внутренние логические файлы – группа данных, которая создается или поддерживается функцией, считается за единицу.
Внешние логические файлы – пользовательские данные, находящиеся во внешних по отношению к данной функции файлах. Каждая группа данных принимается за единицу.
Далее полученные значения умножаются на коэффициенты сложности для каждого фактора (по данным IFPUG) и суммируются для получения полного размера программного продукта. Значения этих коэффициентов приведены в таблице2.
Таблица 2 Значения коэффициентов сложности
Параметр |
Просто (количество) |
Средне (количество) |
Сложно (количество) |
Внешние входы |
1 |
0 |
0 |
Внешние выходы |
1 |
1 |
0 |
Внешние запросы |
0 |
0 |
0 |
Внутренние логические файлы |
1 |
0 |
0 |
Внешние логические файлы |
0 |
1 |
0 |
Параметр |
Просто |
Средне |
Сложно |
Внешние входы |
3 |
4 |
6 |
Внешние выходы |
4 |
5 |
7 |
Внешние запросы |
3 |
4 |
6 |
Внутренние логические файлы |
7 |
10 |
15 |
Внешние логические файлы |
5 |
7 |
10 |
Пусть, например, в результате анализа структуры программной компоненты и схем информационных потоков сформирована таблица3.
Таблица 3. Исходные данные для расчета размера функции
Параметр |
Просто (количество) |
Средне (количество) |
Сложно (количество) |
Внешние входы |
1 |
0 |
0 |
Внешние выходы |
1 |
1 |
0 |
Внешние запросы |
0 |
0 |
0 |
Внутренние логические файлы |
1 |
0 |
0 |
Внешние логические файлы |
0 |
1 |
0 |
Для приведенной таблицы размер V функции составит:
V= 1*3+1*4+1*5+1*7+1*7=26
Это число является предварительной оценкой и нуждается в уточнении.
Следующим шагом в определении программного проекта методом функциональных точек является присвоение веса (от 0 до 5) каждой характеристике проекта. Перечислим эти характеристики:
Требуется ли резервное копирование данных?
Требуется обмен данными?
Используются распределенные вычисления?
Важна ли производительность?
Программа выполняется на сильно загруженном оборудовании?
Требуется ли оперативный ввод данных?
Используется много форм для ввода данных?
Поля базы данных обновляются оперативно?
Ввод, вывод, запросы являются сложными?
Внутренние вычисления сложны?
Код предназначен для повторного использования?
Требуется преобразование данных и установка программы?
Требуется много установок в различных организациях?
Требуется поддерживать возможность настройки и простоту использования?
Значения для данных характеристик определяются следующим образом:
0 – никогда;
1 – иногда;
2 – редко;
3 – средне;
4 – часто;
5 – всегда.
Продолжив описание примера, предположим, что значениям этих характеристик соответствуют данные, представленные в табл. 4.
Таблица 4. Пример характеристик функции
-
Характеристика
Значение
в примере
Характеристика
Значение
В примере
1
3
8
0
2
1
9
3
3
0
10
4
4
4
11
5
5
2
12
0
6
1
13
0
7
3
14
3
Определяется S – сумма всех весов.
И, наконец, уточненный функциональный размер вычисляется по формуле
УФР=ФР*(0,65+0.01*S)
Для рассматриваемого примера уточненный функциональный размер составит
УФР=26*(0,65+0,01*29)=17,19.