Uploaded by Иван Пешехонов

Определение трудозатрат на разработку

advertisement
Министерство образования и науки РФ
Федеральное государственное автономное
образовательное учреждение высшего профессионального
образования
«НИТУ МИСиС»
Институт ИТАСУ
Отчет по лабораторной работе №2
по дисциплине
«Технология программирования»
на тему «Определение трудозатрат на разработку»
Выполнил:
студент гр. БИСТ-17-1
Иоффе В.А.
Проверил:
ст. преп. Карпишук А.В.
Цель работы: получение практических навыков в оценке трудозатрат на разработку
приложения.
Теоретическое введение:
Функционально-ориентированное метрики косвенно измеряют сложность программы,
опираясь не на ее объем, а на функциональность.
В основе методики оценки трудозатрат лежит расчет количества функциональных
указателей Functional Point (FP).
Первым этапом в расчетах является вычисление функциональных элементов (ФЭ).
Существует 5 видов функциональных элементов:
A Класс функциональных элементов «Транзакции»
1) Внешний ввод – элементы, перемещающие данные из внешней среды в
программу. Источником данных может быть пользователь или другая программа.
2) Внешний вывод – элементы, перемещающие данные из программы во внешнюю
среду.
3) Внешний запрос – диалоговый ввод, приводящий к немедленному программному
ответу в форме диалогового выбора, не требующему вычислений.
B Класс функциональных элементов «Файлы»
4) Внутренний логический файл – распознаваемая пользователем группа логически
связанных данных, которая располагается внутри программы и обслуживается
через внешние вводы.
5) Внешний интерфейсный файл – группа логически связанных данных, которая
располагается внутри другого приложения.
Второй этап – подсчёт элементов данных (ЭД). В зависимости от их числа и типа ФЭ, к
каждому функциональному элементу присваивается ранг сложности: низкий, средний или
высокий.
Затем, для каждого функционального элемента в зависимости от его ранга и типа
определяются весовые коэффициенты сложности. Дальше все ФЭ необходимо с учётом их
коэффициентов сложности сложить в S – сумму транзакций и файлов.
Дальше можно посчитать FP по формуле:
14
𝐹𝑃 = 𝑆 ∗ (0,65 + 0,01 ∑ 𝐹𝑖 )
𝑖=1
где Fi – коэффициент регулировки сложности
Коэффициенту регулировки сложности присваивается одно из значений:
0 – нет влияния
1 – случайное
2 – небольшое
3 – среднее
4 – важное
5 – основное
После получения FP его нужно пересчитать в оценочную величину SLOC для конкретного
языка программирования.
Ход работы
В качестве программы для оценки трудозатрат возьмем стандартное приложение
«WordPad» для ОС Windows.
Шаг 1: Подсчет элементов данных и функциональных элементов
Главный экран будем считать, как внешний ввод, т.к. почти все пространство экрана
занимает место для ввода текста пользователем. Это место будем считать элементом
данных. Пункты меню тоже посчитаем как элементы данных этого внешнего ввода.
Как элементы данных этого внешнего ввода также посчитаем содержимое пункта «Файл»:
«Открыть», «Создать», «Сохранить», «Сохранить как», «Отправить по электронной
почте» и «Выход» - эти элементы выводят на дисплей встроенные в операционную
систему окна выбора директории для открытия и сохранения файлов.
Итого функциональный элемент внешний ввод включает в себя 2+3+4+6+1=16 элементов
данных.
Следующим разберем функциональный элемент внешний ввод «Печать», который
вызывается посредством элемента пункта меню «Файл» - «Печать».
Внешний ввод «Печать» содержит в себе 17 элементов. Элемент, отвечающий за выбор
принтера также ссылается на внешний интерфейсный файл для получения информации о
доступных для системы принтеров. Следовательно, данный функциональный элемент
содержит 1 ссылку на файл.
Функциональный элемент внешний вывод, вызывающийся кнопкой «Печать», состоит
всего из одного элемента (самой кнопки) и содержит одну ссылку на внешний
интерфейсный файл, отвечающий за работу печати.
Следующим разберём функциональный элемент внешний ввод «Параметры страницы»,
который вызывается посредством элемента пункта меню «Файл» - «Параметры
страницы».
Таким образом, функциональный элемент «Параметры страницы» содержит в себе 19+1 =
20 элемента данных. У данного файла также будет доступ к внутреннему логическому
файлу (базе данных с выбранными настройками), следовательно, существует одна ссылка
на файл.
Функциональный элемент внешний ввод верхняя панель, вызывающаяся стрелочкой в
правом верхнем углу экрана, содержит 36+10+2+1=49 элементов данных и 1 ссылку на
внутренний логический файл с настройками.
Функциональный элемент внешний ввод «Цвет шрифта», открывающийся по нажатии на
кнопку «Изменение текста шрифта», содержит 24+1=25 элементов и 1 ссылку на
внутренний логический файл с настройками.
Функциональный элемент внешний запрос «О программе», вызывается через пункт меню
«Файл» - «О программе».
Итого, внешний запрос «Справка» состоит из 10 элементов данных и не содержит ссылок
на внешние файлы.
Еще один внешний запрос доступный по нажатию кнопки с вопросом отправляет
пользователя на официальный сайт поддержки Microsoft https://support.microsoft.com/ruru/hub/4338813/windows-help?os=windows-10 и состоит из единственного элемента – самой
кнопки.
Внешний вывод вызывающийся кнопками «Сохранить» и «Сохранить как» вызывается из
пункта меню «Файл». При его активации открывается встроенное в операционную
систему окно выбора директории для сохранения файла. Данный функциональный
элемент состоит из двух элементов данных (кнопок меню) и имеет одну ссылку на
внешний интерфейсный файл.
Шаг 2: Присваивание функциональным элементам ранга и веса
Файл
Внешний ввод
Внешний ввод
«Печать»
Внешний вывод
кнопка «Печать
Внешний ввод
«Параметры
страницы»
Внешний ввод
Верхняя панель
Внешний ввод Цвет
шрифта
Кол-во ЭД
16
17
Кол-во ссылок
0
1
Ранг/Вес
Средний/4
Средний/4
1
1
Низкий/4
20
1
Средний/4
49
1
Средний/4
25
1
Средний/4
Внешний запрос «О
программе»
Внешний запрос
«Просмотреть
справку
Внешний вывод
«Сохранить»
10
0
Низкий/3
1
0
Низкий/3
2
1
Низкий/4
Файл
ВЛФ «Настройки»
ВИФ «Печать»
ВИФ «Печать»
ВИФ «Сохранить»
Кол-во типов
6
3
4
3
Кол-во полей
28
7
4
5
Ранг/Вес
Высокий/15
Низкий/5
Низкий/5
Низкий/5
𝑆 = 7 ∗ 4 + 2 ∗ 3 + 3 ∗ 5 + 15 = 64
Шаг 3: Установка коэффициентов регулировки сложности и подсчет суммы
коэффициентов регулировки сложности
№
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Системный параметр
Передача данных
Распределённая обработка данных
Производительность
Распространённость используемой конфигурации
Скорость транзакций
Оперативный ввод данных
Эффективность работы конечного пользователя
Оперативное обновление
Сложность обработки
Повторная используемость
Легкость инсталляции
Легкость эксплуатации
Разнообразные условия размещения
Простота изменений
Описание
0
0
1
1
0
0
2
0
0
1
2
2
1
0
14
∑ 𝐹𝑖 = 1 + 1 + 2 + 1 + 2 + 2 + 1 = 10
𝑖=1
Шаг 4: Подсчёт Functional Points (FP)
14
𝐹𝑃 = 𝑆 ∗ (0,65 + 0,01 ∑ 𝐹𝑖 ) = 64 ∗ (0,65 + 0,01 ∗ 10) = 48
Шаг 5: Подсчёт SLOC
𝑖=1
Для реализации данной программы на языке C# коэффициент перевода FP в SLOC – 54.
𝑆𝐿𝑂𝐶 = 𝐹𝑃 ∗ 34 = 48 ∗ 54 = 2592
Шаг 6: Подсчёт сроков разработки
Взяв производительность из работы №1, можно вычислить сроки разработки по формуле
𝑆𝐿𝑂𝐶
Время = Производительность =
2592 строк
строк
)
час
32 (
= 81 час
Вывод:
Взяв в качестве программы для исследования и оценки трудозатрат Windows WordPad,
выделив в ней набор функциональных элементов и посчитав в них количество элементов
данных и ссылок на другие файлы, вычислили сумму весовых коэффициентов S равную
64 и, предварительно определив величину 14 коэффициентов регулировки сложности,
посчитали их сумму – 10. Подставив полученные величины в формулу для вычисления FP
получили значение 48, что свидетельствует о том, что данная программа является
относительно небольшой с точки зрения трудоёмкости. Для реализации на языке C# был
подсчитан SLOC (2592) и выведены примерные сроки разработки (81 час) при
производительности 32 строк/час.
Download