Расчет сложности программного продукта методом функциональных точек

ТЕХНИЧЕСКИЕ НАУКИ

РАСЧЕТ СЛОЖНОСТИ ПРОГРАММНОГО ПРОДУКТА МЕТОДОМ ФУНКЦИОНАЛЬНЫХ ТОЧЕК

1 2 3

Найханова Л.В. , Дамбаева С.В. , Пыкин М.А.

1Найханова Лариса Владимировна - доктор технических наук, профессор;

2Дамбаева Сэсэгма Викторовна - кандидат технических наук, доцент;

3Пыкин Михаил Алексеевич - бакалавр, кафедра системы информатики, Восточно-Сибирский государственный университет технологий и управления,

г. Улан-Удэ

Аннотация: в статье описано выполнение оценки сложности программного обеспечения методом функциональных точек.

Ключевые слова: модель функциональных точек, сложность программного продукта, расчет сложности.

Введение

Метод функциональных точек [1] - представляет собой стандартный метод измерения размера программного продукта с точки зрения пользователей системы. С помощью данного метода можно оценить сложность программного обеспечения на основе логической модели данных, а также на основе количества функционала, требуемого заказчиком и поставляемого разработчиком. Достоинством метода является независимость измерения от технологической платформы, на которой будет разрабатываться продукт, и единообразный подход к оценке проектов в компании.

1. Оценка сложности программного обеспечения методом функциональных точек

Определение типа оценки

1.2. Типом объекта оценки является проект разработки информационной системы.

Определение области оценки

1.3. Область оценки включает все разрабатываемые функции программного обеспечения.

Определение границ продукта

Границы продукта в методе функциональных точек

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

К логическим данным системы относятся:

- внутренние логические файлы (ILFs) — группы данных связанные логически или блоки управляющей информации, которые поддерживаются внутри продукта;

внешние интерфейсные файлы (БГРб) — группы данных связанные логически или блоки управляющей информации, на которые ссылается продукт, и которые поддерживаются иными системами вне продукта.

Количество внутренних логических файлов (ШР8) - 19. Количество этих файлов соответствует количеству сущностей в модели данных.

Количество внешних интерфейсных файлов (Е^) - 18.

Подсчет функциональных точек, связанных с данными

Для каждого выявленного функционального типа и Е^ определяется его сложность: низкая, средняя или высокая. Сложность зависит от количества связанных

с этим функциональным типом неповторяемых уникальных полей данных - DET и логических групп данных - RET. Оценка количества не выровненных функциональных точек определяется на основании матрицы сложности, представленной таблице 1.

Таблица 1. Матрица сложности данных

Показатель 1-19 DET 20-50 DET 50+ DET

1 RET Low Low Average

2-5 RET Low Average High

6+ RET Average High High

Рассматриваемый программный продукт в общей сложности имеет 19 сущностей и 68 атрибутов. На этих данных можно сделать вывод, что уровень сложности данных проектируемого программного обеспечения - high.

Оценка данных в не выровненных функциональных точках (UFP) Оценка данных в не выровненных функциональных точках (UFP) подсчитывается по-разному для внутренних логических файлов (ILFs) и для внешних интерфейсных файлов (EIFs) в зависимости от их сложности, представленной в таблице 2.

Таблица 2. Оценка данных UFP для ILFs и EIFs

Сложность данных Количество UFP

Low 7 5

Average 10 7

High 15 10

Теперь, если оцениваемый объект относится к внутренним логическим файлам, то согласно данным о количестве сущностей и атрибутов его сложность будет равна 15 не выровненных функциональных точек (UPF). Если же объект является внешним интерфейсным файлом, то его сложность составит 10 UPF.

1.4. Подсчет функциональных точек, связанных с транзакциями

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

Транзакция - это неделимый элементарный процесс, совершаемый с данными, который переводит продукт из одного консистентного состояния в другое.

В методе различаются следующие типы транзакций [2]:

EI (external inputs) — внешние входные транзакции, элементарная операция по обработке данных или управляющей информации, поступающих в систему извне;

EO (external outputs) — внешние выходные транзакции, элементарная операция по генерации данных или управляющей информации, которые выходят за пределы системы. Предполагает определенную логику обработки или вычислений информации из одного или более ILF;

EQ (external inquiries) — внешние запросы, элементарная операция, которая в ответ на внешний запрос извлекает данные или управляющую информацию из ILF или EIF.

Отличия между типами транзакций представлены в таблице 3. Их функции: основная (О), дополнительная (Д) и не применимая (NA).

Функция Тип транзакции

EI EO EQ

Изменяет поведение системы О Д NA

Поддержка одного или более ILF О Д NA

Для каждого выявленного функционального типа (EI, ЕО или EQ) определяется его сложность: низкая, средняя или высокая. Сложность транзакции зависит от следующих её характеристик:

FTR (file type referenced) — позволяет подсчитать количество различных файлов (информационных объектов) типа ILF и/или EIF модифицируемых или считываемых в транзакции.

DET (data element type) — неповторяемое уникальное поле данных, такие как -поле ввода, кнопка (EI), поле данных отчета, сообщение об ошибке (EO): поле ввода для поиска, поле вывода результата поиска (EQ).

Был произведен подсчет количества DET и RET, а также FTR для каждого окна прототипа пользовательского интерфейса. Количество окон соответствует количеству внешних интерфейсных файлов (EIF) - 18.

Исходя из данных матриц сложности транзакций, которые представлены в таблице 4 и в таблице 5, была оценена сложность транзакции для каждого окна.

Таблица 4. Матрица сложности внешних входных транзакций

EI 1-4 DET 5-15 DET 16+ DET

0-1 FTR Low Low Average

2 FTR Low Average High

3+ FTR Average High High

Таблица 5. Матрица сложности внешних выходных транзакций и внешних запросов

EO & EQ 1-5 DET 6-19 DET 20+ DET

0-1 FTR Low Low Average

2-3 FTR Low Average High

4+ FTR Average High High

Оценка транзакций в не выровненных функциональных точках (UFP) была выполнена на основе матрицы, представленной в таблице 6.

Таблица 6. Сложность транзакций в не выровненных функциональных точках

Сложность транзакций Количество UFP

Low 3 4

Average 4 5

High 6 7

Затем, было найдено соответствие уровней сложности входных EI транзакций, внешних выходных транзакций и внешних запросов (EO & EQ) количеству не выровненных функциональных точек (UFP).

1.5. Определение суммарного количества не выровненных функциональных точек

Общий объем продукта в не выровненных функциональных точках (UFP) определяется суммированием по всем информационным объектам (ILF, EIF) и элементарным операциям (транзакциям EI, EO, EQ).

U F Р = £ , lf и F Р i + £ Е LF и F Р i + £ Е , и F Р; + £ Е 0 U F Р; + £ Е Q U F Р;

По формуле (1) был подсчитан общий объем продукта в не выровненных функциональных точках:

UFP = 15 + 10 + 77 + 85 = 187

1.6. Определение значения фактора выравнивания

Помимо функциональных требований на продукт накладываются общесистемные требования, которые ограничивают разработчиков в выборе решения и увеличивают сложность разработки. Для учета этой сложности применяется фактор выравнивания (VAF). Значение фактора VAF зависит от 14 параметров, которые определяют следующие системные характеристики продукта:

- обмен данными - 1;

- распределенная обработка данных - 1;

- производительность - 1;

- ограничения по аппаратным ресурсам - 2;

- транзакционная нагрузка - 1;

- интенсивность взаимодействия с пользователем - 5;

- эргономика - 2;

- интенсивность изменения данных (ILF) пользователями - 5;

- сложность обработки - 3;

- повторное использование - 1;

- удобство инсталляции - 0;

- удобство администрирования - 0;

- портируемость - 1;

- гибкость - 3.

Значение фактора выравнивания было найдено по формуле (2):

TDI = 26 - сумма FAV

VAF =

VAF = (26*0.01) + 0.65 = 0.91

1.7. Расчет количества выровненных функциональных точек

Оценка в выровненных функциональных точках зависит от типа оценки. Начальная оценка количества выровненных функциональных точек для программного приложения определяется по формуле (3):

AFP = UFP * VAF

AFP = 187*0.91 = 170.17

Данная формула учитывает только новую функциональность, которая реализуется в продукте. Проект разработки продукта оценивается в DFP (development functional point) по формуле (4):

DFP =

где CFP (conversion functional point) — функциональные точки, подсчитанные для дополнительной функциональности, которая потребуется при установке продукта. В данном случае такая функциональность не требуется, поэтому CFP равно 0.

DFP = (187 + 0) * 0.91 = 170.17

Размер программного обеспечения в строках кода находится как произведение количества выровненных функциональных точек и оценки количества строк кода, необходимого на реализации одной не выровненной функциональной точки:

R = 170.17 * 53 = 9019.01 по LOC.

9019.01 / 1000 = 9.019 по KLOC.

Трудоемкость: T = 2.4 * 9. 019 1 05 = 24.2 чел/мес.

Длительность разработки проекта:

D = 2.5 * 2 4.2 0 3 8 = 8.4 месяца.

Число разработчиков: K = 24.2 / 8.4 = 2.88 ~ 3 человека необходимо для разработки данной системы. Заключение

Таким образом, для проектирования, реализации и тестирования данного программного обеспечения необходимо 8.4 месяца и 3 разработчика.

Список литературы

1. Архипенков С. Оценка трудоемкости и сроков разработки ПО. Обзор метода функциональных точек. [Электронный ресурс]. Режим доступа: http://www.pmi.ru/profes/05052009_Arkhipenkov.pdf/ (дата обращения: 26.10.2016).

2. Архипенков С. Лекции по управлению программными проектами. Обзор метода функциональных точек, 2009. [Электронный ресурс]. Режим доступа: http://citforum.ru/SE/proj ect/arkhipenkov_lectures/12. shtml/ (дата обращения: 26.10.2016).

ПРОЯВЛЕНИЕ БЕДНОСТИ В КЫРГЫЗСКОЙ РЕСПУБЛИКЕ

Укуева А.А.

Укуева Айнагуль Абдылдабековна - доцент, заведующая кафедрой, кафедра мировой экономики, Бишкекский гуманитарный университет им. К. Карасаева, г. Бишкек, Кыргызская Республика

Аннотация: проблема бедности в Кыргызстане превращается из экономической проблемы переходного периода в социальную. Наиболее незащищенными признаются инвалиды, люди пожилого возраста, молодежь и женщины. В настоящее время глобальной социальной опасностью является угроза обнищания населения. Уровень бедности в Кыргызской Республике остается одной из самых острых социальных проблем, является одним из главных препятствий для устойчивого поступательного развития страны. Экономическая ситуация, порождающая высокий уровень безработицы и отсутствие возможностей, главным образом в сельских районах, является ключевым элементом влияния на внешне направленную миграцию. Ключевые слова: бедность, экономический рост, сокращение бедности, инвестиции, доходы населения.

УДК 330.564.2

На фоне ухудшения экономической ситуации, роста общей безработицы одним из надежных и значимых источников поддержания доходов населения, особенно в сельской местности, где проживает бедное и крайне бедное население, стали частные трансферты трудовых мигрантов, объем которых за период 2014 - 2016 гг. вырос почти вдвое, с $1 млрд в 2014 году до $1998,3 млрд в 2016 году

При этом было отмечено, что уровень крайней бедности в стране составлял 4.4 процента, что меньше сравнению с предыдущим годом на 0.2 процента. Стоит отметить, что в сельской местности уровень крайней бедности снизился сразу на 1.2 процента, притом, что в городах она напротив, увеличилась на 1.7 процентов. Что касается таких показателей, как глубина и острота бедности, то они несколько выросли по сравнению с 2012 годом, составив соответственно 7.7 и 2.4 процента.

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