Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 8 лет назад пользователемГеоргий Недобров
1 Стоимость ПО Оценивается в человеко-днях (человеко-месяцах и т.д.) Конструктивная модель стоимости(Constructive Cost Model - СОСОМО) предложена Боэмом.
2 Стоимость зависит от типа приложения Органические приложения – это обычные самостоятельные приложения вроде текстовых редакторов ил игр, работающих на изолированном компьютере. Встроенные приложения являют собой интеграцию аппаратного и программного обеспечения (система управления мобильным телефоном). Промежуточные приложения – нечто среднее. Например игры через Интернет.
5 2. Оценка количества строк кода без учета функционального размера. метод снизу вверх - оценка целого получается исходя из оценки составных частей метод сверху вниз - сравнение с данными по отрасли
6 3. Функциональный размер и количество строк кода Метод функционального размера предложен в 1979 году Альбрехтом.
7 Имеются разные методики измерения функционального размера. Если сделать поиск в Интернете, то больше всего найдется ссылок по запросу метод функциональных точек Например
8 ШАГ 1 Вычисление функционального размера Надо идентифицировать функции приложения - рассматривается функциональность на уровне пользователя.
9 Функции программы Постороение с помощью циркуля и линейки 1. Рисование точки; 2. Рисование отрезка; 3. Рисование луча; 4. Рисование прямой; 5. Рисование окружности; 6. Рисование дуги; 7. Стирание любого объекта; 8. Сделать объект невидимым или наоборот; 9. Сделать последний невидимый видимым; 10. Сделать все невидимые видимыми; 11. Обозначить объект или убрать обозначение; Имеется возможность управлять цветом и толщиной линий: 12. Выбор цвета; 13. Выбор толщины; Функции анализа: 14. Сравнение длин двух отрезков (равны или нет); 15. Сравнение величин двух углов (равны или нет); 16. Определение принадлежности; 17. Определение ортогональности; 18. Определение параллельности; Функции общего назначения: 19. Выделение объектов; 20. Подсвечивние объектов; 21. Масштабирование рисунка; 22. Смещения в разных направлениях. 23. Сохранение в файле; 24. Загрузка из файла
10 ШАГ 2 Подсчет числа факторов у функций Внешние запросы. Под внешними запросами будем понимать взаимодействие функции с информационными блоками, которые управляются какой-то внешней системой. Обычно – это запросы к базе данных. Внешние входы - число входов, которые по-разному влияют на выполняемую функцию Внешние выходы - число выходов для существенно различных алгоритмов и нетривиальной функциональности. Внутренние логические файлы – уникальные логические группы пользовательских данных Внешние логические файлы - голосовые, звуковые, видео устройства и пр Файлы. Каждая уникальная логическая группа пользовательских данных, размещенная во внешних по отношению к приложению файлах
11 Факторы шести типов.
12 Внешние входы в примере NФункция Описание входа Количество 1 Рисование точки Точка рисуется по щелчку мыши – на вход подаются экранные координаты мыши 1 2 Рисование отрезка Отрезок рисуется по двум точкам, но это элементы однотипные 1 3 Рисование луча Луч рисуется по 2 точкам 1 4 Рисование прямой Прямая рисуется по 2 точкам 1 5 Рисование окружности Окружность рисуется по точке – центру и радиусу 2 6 Рисование дуги дуга рисуется по центру, радиусу и размеру дуги 3 7 Стирание Стирается любой объект 1 8 Невидимость Любой объект делается невидимым 1 9 Видимость Объект, который сделан невидимым последним, сделать видимым 0 10 Полная видимость Все невидимые объекты сделать видимыми 0 11 Обозначить объект Выделить объект и выбрать для него обозначение Выбор цвета Вызов диалога с палитрой и выбор цвета 0
13 1313 Выбор толщины Сравнение длин отрезков Выделяются два отрезка и делается запрос (нажатием какой-то кнопки) Сравнение углов Выделяются два угла и делается запрос (нажатием какой-то кнопки) Принадлежность Выделяются два объекта и делается запрос (нажатием какой-то кнопки) Ортогональность Выделяются два отрезка, луча, прямые и делается запрос (нажатием какой-то кнопки) Параллельность Выделяются два отрезка, луча, прямые и делается запрос (нажатием какой-то кнопки) 1 19 Выделение объектов Ближайший к указателю мыши объект как то визуально выделяется при нажатии на определенную комбинацию клавиш 1 20 Подсвечивание объектов Ближайший к указателю мыши объект подсвечивается при нажатии на определенную комбинацию клавиш. В зависимости от комбинации светятся или точка или отрезок или прямая и т.д Масштабирование Изменение размеров, вход – команда масштабирования 1 22 Смещения Аналогично 1 23 Сохранение в файле 0 24 Загрузка из файла 0
14 Внешние выходы в примере NФункция Описание выхода Количество 1 Рисование точки точка рисуется по щелчку мыши – выходом служат натуральные координаты, сам рисунок 2 2 Рисование отрезка отрезок рисуется по двум точкам, выходом служат натуральные координаты концов, рисунок 2 3 Рисование луча луч рисуется по 2 точкам, выходом служат их натуральные координаты, рисунок 2 4 Рисование прямой прямая рисуется по 2 точкам, выходом служат их натуральные координаты, рисунок 2 5 Рисование окружности окружность рисуется по точке – центру и радиусу, выходом служат натуральные координаты центра и натуральный радиус, рисунок 2 6 Рисование дуги дуга рисуется по центру, радиусу и размеру дуги, выходом служат натуральные координаты центра и натуральный радиус, два угла, рисунок 4 7 Стирание Стирается любой объект 0 8 Невидимость Любой объект делается невидимым 0 9 Видимость Объект, который сделан невидимым последним, сделать видимым 1 10 Полная видимость Все невидимые объекты сделать видимыми 1 11 Обозначить объект Выделить объект и выбрать для него обозначение Выбор цвета Вызов диалога с палитрой и выбор цвета 1
15 1313 Выбор толщины Сравнение длин отрезков Выделяются два отрезка и делается запрос (нажатием какой-то кнопки) Сравнение углов Выделяются два угла и делается запрос (нажатием какой-то кнопки) Принадлежность Выделяются два объекта и делается запрос (нажатием какой-то кнопки) Ортогональность Выделяются два отрезка, луча, прямые и делается запрос (нажатием какой-то кнопки) Параллельность Выделяются два отрезка, луча, прямые и делается запрос (нажатием какой-то кнопки) 1 19 Выделение объектов 0 20 Подсвечивание объектов 0 21 Масштабирование Изменение размеров, выход – перерисовка картинки 1 22 Смещения Аналогично 1 23 Сохранение в файле 0 24 Загрузка из файла 0
16 Внешние логические файлы в примере - 0 Внутренние логические файлы в примере NФункция Описание выхода Количество 1 Рисование точки После рисования точки функция определяет, каким из построенных объектов это точка принадлежит и сохраняет эту информацию 1 2 Рисование отрезка аналогично 1 3 Рисование луча аналогично 1 4 Рисование прямой аналогично координаты 1 5 Рисование окружности аналогично 1 6 Рисование дуги аналогично 1 7 Стирание Стирается любой объект – пересчет и сохранение информации о принадлежности 1 21 Масштабирование Сохранение ситуации 1 22 Смещения Аналогично 1
17 Файлы в примере 23 Сохранение в файле 1 24 Загрузка из файла 1
18 ШАГ 3 Вычисление приближенного функционального размера Вся собранная информация объединяется в одну в таблицу. Факторы с нулевыми показателями опустим. Остальные делятся на три группы: простые, средние и сложные. Каждому фактору в зависимости от сложности назначается вес и производится общий подсчет.
19 N функции Входы ВыходыВнутренние файлы Внешние файлы Пр Ср Сл Пр Ср Сл Пр Ср Сл Пр Ср Сл
21 Итог шага 3 Сумма Веса Всего
22 ШАГ 4 определение веса для 14 общих характеристик Факторы Вес 1. Требуется резервное копирование (восстановление) данных? 0 2. Требуется обмен данными? 0 3. Используются распределенные вычисления? 0 4. Производительность важна? Выполняется на сильно загруженном оборудовании? 0 6. Требуется оперативный ввод данных? 0 7. Используется много форм для ввода данных? 0 8. Поля базы данных обновляются оперативно? 0 9. Ввод, вывод, запросы сложные? Внутренние вычисления сложные? Код предназначен для повторного использования? Требуется преобразование данных и установка программы? Требуется множество установок в разных организациях? Требуется поддерживать возможность настройки и простоту использования? 0
23 Шаг 5 У точненный функциональный размер [Уточненный функциональный размер] = [Приближенный размер] * [0,65+0,01 * (Сумма общих характеристик)] В примере: 255 * [0,65 + 0,01 * (от 3 до 7)] = 255 * [от 0,68 до 0,72] от 173 до 184. (от 173 до 184) х 53 9,1 - 9,7 тыс. строк на Java.
24 Окончательный итог
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.