Оценка трудоемкости разработки программного обеспечения. Учебное пособие
.pdf1.Определение границ ПС.
2.Идентификацияиоценкафункциональностиданных(ILF,EIF).
3.Идентификация и оценка функциональности транзакций
(EI, EO, EQ).
4.Определение значения нормирующего фактора (VAF).
5.Подсчетнормированногоколичествафункциональныхточек. Напрактикепоследовательностьшаговсовторогопочетвертый
неимеетзначения.Длявыполненияпятогошаганужнаинформация, полученная на предыдущих шагах.
Длявыполнениявсехшаговиспользуютследующиеисточники информации [6]:
– общая спецификация ПС (техническое задание, ТЗ), включающаявсебяфункциональнуюспецификациюиспецификацию качества.
|
|
|
|
|
|
Таблица 13 |
|
Коэффициенты трудоемкости |
|
|
|
||
|
|
|
|
|
|
|
Коэф- |
|
|
|
Значение |
|
|
фици- |
Характеристика |
Низкий |
|
Средний |
|
Высокий |
ент |
|
уровень |
|
уровень |
|
уровень |
МТ1 |
Требуемая надежность |
0,9 |
|
1,0 |
|
1,1 |
|
информационной системы |
|
|
|
|
|
МТ2 |
Размер тестовой базы |
0,9 |
|
1,0 |
|
1,1 |
|
данных |
|
|
|
|
|
МТ3 |
Интеграция с внешними |
0,9 |
|
1,0 |
|
1,1 |
|
системами |
|
|
|
|
|
МТ4 |
Сложность информацион- |
0,9 |
|
1,0 |
|
1,1 |
|
ной системы |
|
|
|
|
|
МТ5 |
Размещение компонентов |
0,9 |
|
1,0 |
|
1,1 |
|
на мобильных устройствах |
|
|
|
|
|
МТ6 |
Частота обновления плат- |
0,9 |
|
1,0 |
|
1,1 |
|
формы |
|
|
|
|
|
МТ7 |
Новизна информационной |
0,9 |
|
1,0 |
|
1,1 |
|
системы |
|
|
|
|
|
71
–Use Case документ;
–имеющаясянамоментоценкидокументациянаинтерфейсы;
–имеющаяся на момент оценки документация разработчика;
–отчеты о метриках ПС;
–общение с пользователем;
–предварительное руководство пользователя;
–результаты функционального моделирования;
–логическая модель данных;
–результатысистемногоанализа,полученныесиспользованием различных методик, например таблицы решений, сети Петри, диаграммы UML и т. п.
Пример 13.Оценкатрудоемкостиразработкисистемызаказабилетов
спомощью методики Function Points
Идентификацияиоценкафункциональностиданных(ILFиEIF)(табл.14).
Всистеме надо хранить следующую информацию:
–ILF-пользователи: ID пользователя; статус пользователя, имя; фамилия; день рождения; пол; телефон; e-mail; имя пользователя (логин); пароль; вопрос, который будет задан, в случае если пользователь забыл пароль; ответ на вопрос. Число типов элементов записей (RET) может быть равно 1 (только символьная информация). Число типов элементов данных (DET) 11. Уровень сложности низкий (Low);
–ILF-заявки: номер заказа, статус заказа, ID пользователя, тип билета, дата, количество билетов, место получения билетов, контактная информация. Число типов элементов записей (RET) может быть равно 2 (символьная информация и целое число (количество билетов)). Число типов элементов данных (DET) 8. Уровень сложности низкий (Low);
–EIF. Оператор проводит резервирование мест во внешней системе. О количестве DET и RET в этом файле на начальном этапе выполнения проекта мы не имеем полной информации и поэтому будем считать его
сложность средней.
Идентификацияиоценкафункциональноститранзакций(EI,EO,EQ). Уровеньсложностидлявнешнихвводов,внешнихвыводовивнешнихзапросов
Уровеньсложностивнешнихвводов(EI) (табл. 15).Внешнийввод«Ре-
гистрацияпользователя»ссылаетсянаодинвнутреннийлогическийфайл иимеет10элементовданных(поля«Логин»,«Пароль»,«Подтверждение пароля»,«Фамилия»,«Имя»;деньрождения;пол;е-mail;телефон;кноп- ки«Зарегистрироваться»,«Отменазаказа»,«Забылпароль»;сообщение,
72
|
|
|
|
|
|
|
Таблица 14 |
Оценка функциональности данных |
|
|
|
||||
|
|
|
|
|
|
|
|
Логические файлы |
|
Количество файлов |
Вес |
Всего |
|||
Внутренние |
|
2 |
|
7 |
|
14 |
|
Внешние |
|
1 |
|
7 |
|
7 |
|
И т о г о |
|
|
|
|
|
|
21 |
Уровень сложности внешних вводов |
|
|
Таблица 15 |
||||
|
|
|
|||||
|
|
|
|
|
|
|
|
Оценка внешних вводов |
|
Количество |
|
Вес |
|
Всего |
|
|
вводов |
|
|
||||
|
|
|
|
|
|
|
|
Регистрация |
|
1 |
|
3 |
|
3 |
|
Аутентификация |
|
1 |
|
3 |
|
3 |
|
Добавление нового пользователя |
|
1 |
|
3 |
|
3 |
|
Заказ билетов |
|
1 |
|
4 |
|
4 |
|
И т о г о |
|
|
|
|
|
13 |
|
подтверждающее факт регистрации). Уровень сложности этого ввода низкий (Low).
Регистрация пользователя – 13 DET, 1 FTR Low. Аутентификация – 4 DET, 1 FTR Low.
Добавление нового пользователя – 10 DET, 1 FTR Low.
Заказ билета – 9 DET, 2 FTR. Средний уровень сложности (Average).
Уровеньсложностивнешнихвыводов(EO)(табл.16).Получениеотчетов
(статистики о работе системы) – 25 DET, 2 FTR. Низкий уровень слож-
ности (High).
Уровень сложности внешних запросов (EQ) (табл. 17)
Внешний запрос «Получение справочной информации» – ссылается на один внутренний логический файл и имеет четыре входных элемента данных (тип билета; дата; кнопки «Справка», «Отмена») и один элемент выходныхданных(количествобилетов).Уровеньсложностиэтогозапроса низкий (Low).
Получение справочной информации – 5 DET, 1 FTR Low. Внешний запрос «Забыл пароль» – 2 DET, 1 FTR. Низкий уровень
сложности.
Внешний запрос «Мониторинг исполнения заказа» – 5 DET, 2 FTR. Низкий уровень сложности.
73
|
|
|
|
|
|
|
Таблица 16 |
|
Уровень сложности внешних выводов |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
Оценка внешних вводов |
|
Количество |
|
Вес |
|
Всего |
||
|
|
выводов |
|
|
||||
|
|
|
|
|
|
|
||
Получение отчетов |
|
|
1 |
|
7 |
7 |
||
И т о г о |
|
|
|
|
|
|
7 |
|
|
|
|
|
|
|
|
Таблица 17 |
|
Уровень сложности внешних запросов |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
Оценка внешних вводов |
|
|
Количество |
Вес |
|
Всего |
||
|
|
запросов |
|
|||||
|
|
|
|
|
|
|
||
Получение справочной информации |
|
1 |
|
3 |
|
3 |
||
Забыл пароль |
|
|
1 |
|
3 |
|
3 |
|
Мониторинг исполнения заказа |
|
|
1 |
|
3 |
|
3 |
|
Отмена заказа |
|
|
1 |
|
4 |
|
4 |
|
Оформление заказа |
|
|
1 |
|
3 |
|
3 |
|
Учет проданных билетов |
|
|
1 |
|
3 |
|
3 |
|
Удаление клиента из «черного списка» |
|
1 |
|
3 |
|
3 |
||
Редактирование пользователя |
|
|
1 |
|
3 |
|
3 |
|
Удаление пользователя |
|
|
1 |
|
3 |
|
3 |
|
|
|
|
|
|
|
|
|
|
И т о г о |
|
|
|
|
|
|
28 |
|
|
|
|
|
|
|
|
|
|
Внешний запрос «Отмена заказа» – 11 DET, 2 FTR. Средний уровень сложности.
Внешний запрос «Оформление заказа» – 15 DET, 1 FTR. Низкий уровень сложности.
Внешний запрос «Учет проданных билетов» – 5 DET, 1 FTR. Низкий уровень сложности.
Внешний запрос «Удаление клиента из "черного списка" – 5 DET, 1 FTR. Низкий уровень сложности.
Внешний запрос «Редактирование пользователя» – 16 DET, 1 FTR. Низкий уровень сложности.
Внешний запрос «Удаление пользователя» – 6 DET, 1 FTR. Низкий уровень сложности.
Подсчетобщегоколичестваненормированныхфункциональныхточек представлен в табл. 18.
74
Итого: UFP = 69.
РасчетзначенияфакторавыравниванияпроизводитсяпоформулеVAF=
=(TDI·0,01) + 0,65, где TDI – сумма параметров для системы заказов.
Втабл. 19 представлены параметры для системы заказов.
|
|
|
|
|
|
|
|
|
Таблица 18 |
|
Расчет количества ненормированных Function Points |
|
|||||||
|
|
|
|
|
|
|
|
|
|
Функциональность |
|
|
Уровень |
|
|
Итого |
|||
|
низкий |
средний |
|
высокий |
|
||||
|
|
|
|
|
|
|
|||
ILF |
|
|
|
7·2 |
– |
|
– |
|
14 |
EIF |
|
|
|
– |
7·1 |
|
– |
|
7 |
EI |
|
|
|
3·3 |
4·1 |
|
– |
|
13 |
EO |
|
|
|
– |
– |
|
1·7 |
|
7 |
EQ |
|
|
|
3·8 |
4·1 |
|
– |
|
28 |
И т о г о |
|
|
|
47 |
15 |
|
7 |
|
69 |
|
|
Параметры для фактора выравнивания |
Таблица 19 |
||||||
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
Системный |
|
|
|
Характеристика |
|
|
Значение |
||
параметр |
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
DI1 |
|
Обмен данными |
|
|
|
|
1 |
||
DI2 |
|
Распределенная обработка данных |
|
|
1 |
||||
DI3 |
|
Производительность |
|
|
|
|
1 |
||
DI4 |
|
Ограничения аппаратных ресурсов |
|
|
0 |
||||
DI5 |
|
Транзакционная нагрузка |
|
|
1 |
||||
DI6 |
|
Интенсивностьвзаимодействияспользователем |
|
2 |
|||||
DI7 |
|
Эргономика |
|
|
|
|
|
1 |
|
DI8 |
|
Интенсивность изменения данных |
|
|
1 |
||||
DI9 |
|
Сложность обработки |
|
|
|
|
1 |
||
DI10 |
|
Повторное использование |
|
|
0 |
||||
DI11 |
|
Удобство инсталляции |
|
|
|
|
1 |
||
DI12 |
|
Удобство администрирования |
|
|
2 |
||||
DI13 |
|
Портируемость |
|
|
|
|
1 |
||
DI14 |
|
Гибкость |
|
|
|
|
|
1 |
|
TDI |
|
|
|
|
|
|
|
|
14 |
75
Итак, TDI = 14. В этом случае фактор выравнивания VAF = (14·0,01) + + 0,65 = 0,79.
Дляпрограммногоприложенияоценкаколичествавыровненныхфункцио-
нальных точек AFP = UFP·VAF = 69·0,79 = 54,5.
РазмерразрабатываемогоПОрассчитываемпоформулеРР=AFP·Кп/1000. При реализации системы заказов на С++ коэффициент Кп = 50; РР =
= 54,5·50/1000 = 2,7.
Трудозатраты определяют по формуле OTp= A PPB П7i=1MTi.
ДлявсехMTi установимсреднийуровеньравным1;А = 5,17; В=0,94.Тогда ОТр = 5,17·2,7·0,94·1 = 13,1 чел.-мес.
Получившаяся по методике функциональных точек оценка трудоемкости13,1чел.-меснемногобольше,чемоценкапомето- дикеUseCasePoints(10,8чел.-мес).Однакообеоценкивыполне- ны на самом раннем этапе реализации проекта и такая разница допустима.
ЗАКЛЮЧЕНИЕ
В пособии рассмотрен подход к формированию требований к программномуобеспечениюикоценкетрудоемкостиразработки,
основанныйнаметодикахUseCasePointsиFunctionPoints.Приве-
денпримерформированиятребованийввидеUseCaseдокумента для системы заказа билетов и пример определения трудоемкости разработки для этой системы по двум методикам.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1.Коберн А. Современные методы описания функциональных требований к системам / А. Коберн. – М. : Изд. дом «Лори», 2002. – 263 с.
2.Вигерс К. Разработка требований к программному обеспечению / К. Вигерс. – М. : Изд.-торг. дом «Русская редакция», 2004. – 576 с.
3.МацяшекЛ.Анализтребованийипроектированиесистем.Разработ- каинформационныхсистемсиспользованиемUML/Л.Мацяшек.–М.: Изд. дом «Вильямс», 2002. – 432 с.
76
4.ЛеффингуелД.Принципыработыстребованиямикпрограммному обеспечению. Унифицированный подход / Д. Леффингуел, Д. Уидриг. – М. : Изд. дом «Вильямс», 2000. – 431 с.
5.ОсобенностипримененияметодаUseCasePointsсоткрытымисходным кодом / И. В. Евдокимов [и др.] // Проблемы социально-экономи- ческого развития Сибири. – 2017. – № 4. – С. 36–42.
6.https://infopedia.su/ [Электронный ресурс]. 2021. URL: https:// infopedia.su/18x7736.html (дата обращения: 31.08.2023).
|
Приложение |
ОСНОВНЫЕ СИСТЕМНЫЕ ПАРАМЕТРЫ |
|
Параметр |
Описание |
Обмен дан- |
Степень необходимости обмена данными для ПС, |
ными (Data |
его коммуникационные возможности: |
Сommwiications) |
0 – ПС реализовано как единый пакет на автоном- |
|
ном компьютере; |
|
1–ПСреализованокакединыйпакет,ноимеетуда- |
|
ленныйвводданныхилиудаленныйвывод(печать); |
|
2 – ПС реализовано как единый пакет, но имеет |
|
удаленный ввод данных и удаленный вывод (пе- |
|
чать); |
|
3 – ПС включает в себя отдельный интерфейсный |
|
блок или клиентскую часть, предназначенную для |
|
сбора или удаленной обработки данных в режиме |
|
реального времени (online); |
|
4–вПСвполномобъемеиспользованыклиент-сер- |
|
верныетехнологии,ноподдерживаетсятолькоодин |
|
тип телекоммуникационного протокола; |
|
5–вПСвполномобъемеиспользованы клиент-сер- |
|
верные технологии и поддерживается более одного |
|
типа телекоммуникационного протокола |
Распределенные |
НаличиевПСфункцийподдержкираспределенной |
функции |
обработки данных: |
(Distributed |
0 – данные между компонентами ПС и системы не |
Functions) |
передаются; |
|
1 – ПС готовит данные для конечной обработки |
|
другими средствами, например электронными таб- |
лицами или СУБД; 2 – ПС готовит данные, которые затем передаются
для обработки (но не для конечной) другому компоненту системы; 3 – ПС поддерживает распределенную обработку
и передачу данных в режиме реального времени (online), но только в одном направлении;
4 – ПС поддерживает распределенную обработку и передачу данных в режиме реального времени (online) в обоих направлениях;
78
|
Продолжение |
Параметр |
Описание |
|
5 – функции обработки данных динамически вы- |
|
полняются на наиболее подходящем компоненте |
|
системы |
Производи- |
Степенькритичиоститребованийкпроизводитель- |
тельность |
ности ПС: |
(Performance) |
0–никакихспециальныхтребованийкпроизводи- |
|
тельности ПС пользователем не установлено; |
|
1 – требования к производительности и проекти- |
|
рованию ПС были установлены и рассмотрены, но, |
|
чтобы их удовлетворить, никаких специальных мер |
|
не требуется; |
|
2–времяоткликаилипропускнаяспособностьПС |
|
критичнывопределенныепиковыепериоды,однако |
|
проектированиеПСсучетомзагрузкицентрального |
|
процессора не требуется; |
|
3–времяоткликаилипропускнаяспособностьПС |
|
критичнывтечениевсегорабочегопериода,однако |
|
проектированиеПСсучетомзагрузкицентрального |
|
процессора не требуется; |
|
4 – в дополнение: требования к производительно- |
|
сти ПС, установленные пользователем, жесткие, |
|
поэтомунаэтапепроектированиятребуетсяанализ |
|
производительности; |
|
5–вдополнение:длятогочтобыдостичьтребований |
|
пользователя,наэтапахпроектированияиреализа- |
|
ции необходим анализ производительности |
Интенсивно |
Интенсивностьиспользованияоборудования,нако- |
используемая |
тором будет установлено ПС: |
конфигурация |
0–явныхилинеявныхограниченийиспользования |
(Heavily Used |
ресурсов оборудования не установлено; |
Сonfiguration) |
1–операционныеограничениясуществуют,ноони |
|
меньше, чем у типичного приложения, и поэтому |
|
специальных усилий для их выполнения не требу- |
|
ется; |
|
2–присутствуютнекоторыетребованиякбезопас- |
|
ности и времени, вызванные функционированием |
|
других ПС; |
79
Продолжение
Параметр |
Описание |
|
3 – присутствуют связанные с работой отдельных |
|
частей ПС требования к процессору; |
|
4 – установленные операционные ограничения |
|
требуют лимитированного использования ПС |
|
центрального или удаленного процессора; |
|
5 – в дополнение: существуют специальные огра- |
|
ничения, накладываемые на ПС, в распределен- |
|
ных компонентах системы |
Интенсивность |
Мера интенсивности транзакций: |
транзакций |
0 – пиковые периоды транзакций не ожидаются; |
(Transaction Rate) |
1–пиковыепериодытранзакцийожидаютсяежегод- |
|
но, ежесезонно, ежеквартально, ежемесячно; |
|
2 – пиковые периоды транзакций ожидаются еже- |
|
недельно; |
|
3 – пиковые периоды транзакций ожидаются еже- |
|
дневно; |
|
4–интенсивностьтранзакций,установленнаяполь- |
|
зователем в требованиях к ПС или в соглашениях |
|
обуровнеобслуживания,достаточновысокая,что- |
|
бытребоватьанализапроизводительностинаэтапе |
|
проектировання; |
|
5–интенсивностьтранзакций,установленнаяполь- |
|
зователемвтребованияхкПСиливсоглашенияхоб |
|
уровне обслуживания, достаточно высокая, чтобы |
|
требоватьанализапроизводительностисиспользо- |
|
ванием специальных инструментов на этапах про- |
|
ектирования, реализации и внедрения |
Диалоговый ввод |
Сложность диалоговых транзакций с учетом числа |
данных |
экранов и функций: |
(Online Data |
0 – все транзакции обрабатываются в пакетном ре- |
Entry) |
жиме; |
|
1–от1до7%транзакцийявляютсяинтерактивным |
|
вводом данных; |
|
2–от8до15%транзакцийявляютсяинтерактивным |
|
вводом данных; |
|
3 – от 16 до 23 % транзакций являются интерактив- |
|
ным вводом данных; |
80
- #
- #07.09.20261 Мб0Оценка теплового состояния режущего инструмента в условиях лезвийной обработки резанием. Учебное пособие.pdf
- #
- #07.09.20261 Мб0Оценка токсичности осадков городских сточных вод после обработки аминокислотными композициями. Монография.pdf
- #
- #
- #
- #07.09.20261 Мб0Оценка уровня развития кинестетических координационных способностей у футболистов на этапе спортивного совершенствования. Учебное пособие.pdf
- #
- #
- #
