Оценка трудоемкости разработки программного обеспечения. Учебное пособие
.pdfТаблица 2
Весовые коэффициенты вариантов использования
Тип варианта использования |
Описание |
Вес |
Простой |
Три или менее транзакций |
5 |
Средний |
От четырех до семи транзакций |
10 |
Сложный |
Более семи транзакций |
15 |
действий,котораялибовыполняетсяполностью,либоотменяется. При правильно написанном варианте использования количество Use Case транзакций равно сумме шагов в основном сценарии и в расширениях (в альтернативных сценариях). Общее количество вариантовиспользованиякаждоготипаумножаетсянасоответствующий весовой коэффициент, затем вычисляется общий весовой показатель (табл. 2).
П р и м е р 10. Определение весовых показателей вариантов исполь-
зования системы заказа билетов. Вариант использования «Регистрация» содержит восемь Use Case транзакций в основном сценарии (каждый пункт сценария представляет собой Use Case транзакцию) и по одной Use Case транзакции в каждом из расширений. Каждое расширение содержитописаниеситуации,котораяприводиткрасширению,иописание действий,выполняемыхвэтойситуации.ВкачествеUseCaseтранзакций выступают только действия.
Итого: вариант использования «Регистрация» содержит 11 Use Case транзакций, что определяет его тип как сложный и вес 15.
Вариантиспользования«Аутентификация»содержитчетыреUseCase транзакции в основном сценарии и семь Use Case транзакций в расширениях.
Итого:вариантиспользования«Аутентификация»содержит11UseCase транзакций, что определяет его тип как сложный и вес 15.
4.Определениенеурегулированныхвесовыхпоказателейвариантов использования (Unadjusted Use Case Weight, UUCW). Общее количе-
ство вариантов использования каждого типа умножается на соответствующий весовой коэффициент, затем полученные значения суммируются.
41
5.Определение неурегулированного общего показателя Total UUCP (UnadjustedUseCasePoints). TotalUUCP=TotalUAW+TotalUUCW.
6.Определение технической сложности проекта (Technical ComplexityFactor,TCF).ФакторTCFвычисляетсяспомощьюпоказателейтехническойсложности.Каждомупоказателютехнической
сложности Тi (табл. 3) присваивается значение в диапазоне 0–5 (0–отсутствиевлиянияпоказателядляданногопроекта;1–незна- чительное влияние; 2 – умеренное влияние; 3 – среднее влияние; 4 – значительное влияние; 5 – сильное влияние).
Значение TCF вычисляется по формуле
TCF =0,6+ |
|
0,01 |
13 |
(Bec |
T ) . |
|
|
|
∑ |
i |
i |
|
|
|
|
|
i=1 |
|
|
|
|
|
|
Таблица 3 |
|
Показатели технической сложности проекта TCF |
||
|
|
|
|
Пока- |
Технический фактор |
Вес |
Вопросы для определения сте- |
затель |
|
|
пени технической сложности |
Т1 |
Распределенность |
2 |
Система имеет распределен- |
|
системы |
|
ную или централизованную |
|
|
|
архитектуру? |
Т2 |
Высокая производи- |
1 |
Нуждаетсяликлиентвтом,что- |
|
тельность (пропуск- |
|
бысистемаработалабыстро? |
|
ная способность) |
|
Является ли время ответа важ- |
|
|
|
ным критерием? |
|
|
|
|
T3 |
Ориентация на эф- |
1 |
Спроектировано ли приложение |
|
фективность конеч- |
|
сориентациейнаэффективность |
|
ных пользователей |
|
работыконечногопользователя? |
Т4 |
Сложная обработка |
1 |
Является ли бизнес-процесс |
|
данных |
|
очень сложным? |
Т5 |
Повторное использо- |
1 |
Есть ли намерение разработать |
|
вание кода |
|
повторно используемый код? |
Т6 |
Простота установки |
0,5 |
Важна ли для клиента простота |
|
|
|
инсталляции системы? |
Т7 |
Простота использо- |
0,5 |
Является ли простота исполь- |
|
вания |
|
зования важным приоритетом |
|
|
|
пользователя? |
42
|
|
|
Окончание табл. 3 |
|
|
|
|
Пока- |
Технический фактор |
Вес |
Вопросы для определения сте- |
затель |
|
|
пени технической сложности |
Т8 |
Переносимость |
2 |
Собирается ли заказчик ис- |
|
|
|
пользовать систему на разных |
|
|
|
платформах? |
Т9 |
Простота внесения |
1 |
Собирается ли заказчик про- |
|
изменений |
|
водить серьезную доработку |
|
|
|
программного обеспечения? |
T10 |
Параллельная работа |
1 |
Будет ли с системой одновре- |
|
|
|
менно работать несколько |
|
|
|
пользователей? |
T11 |
Специальные требо- |
1 |
Есть ли необходимость при- |
|
вания к безопасности |
|
менения специальных средств |
|
|
|
обеспечения безопасности? |
T12 |
Непосредственный |
1 |
Есть ли необходимость контро- |
|
доступ к системе |
|
ля за работой системы со сто- |
|
со стороны внешних |
|
роны внешних организаций? |
|
организаций |
|
|
T13 |
Специальные тре- |
1 |
Требуется ли тренинг для по- |
|
бования к обучению |
|
нимания системы? |
|
пользователей |
|
|
Рассмотрим более подробно технические факторы Т1–Т13:
Значение |
Описание |
|
Фактор Т1. Распределенная система |
0Приложение никуда данные не передает, вся обработка выполняется непосредственно приложением
1Приложениеподготавливаетданныедляследующегопроцесса обработки другим компонентом системы, ориентированным на конечного пользователя (например, для табличного процессора)
2Приложениеподготавливаетданныедляследующегопроцесса обработки другим компонентом системы, не ориентированным на конечного пользователя
3Распределенная обработка, данные перемещаются на лету, но только в одном направлении
43
Окончание
Значение |
Описание |
4Распределенная обработка, данные перемещаются на лету online в обоих направлениях
5Функцииобработкидинамическираспределяютсядлявыполнения наиболее подходящим компонентом системы
Фактор Т2. Производительность
0Нет специальных требований к производительности
1Требованиякпроизводительностиустановлены,описаны,но никаких действий для соответствия им проводить не нужно
2Времяответаилипроизводительностькритичнытольковчасы пик.Никакихспециальныхподходовкувеличениюпроизводительности не требуется
3Время ответа или производительность критичны в течение всего времени работы приложения. Во время работы необходимо взаимодействовать с другой системой
4Дополнениекзначению3:установленныетребованиякпроизводительностивызываютнеобходимостьсерьезногоанализа на стадии проектирования
5Дополнение к значению 3: требуется использовать средства анализа производительности на всех этапах разработки приложения
ДлявыявлениязначимостифактораТ3 «Ориентациянаэффективностьконечныхпользователей»определимэлементы,характеризующие эффективность конечных пользователей:
1.Навигационные средства (функциональные клавиши, контекстные меню и т. д.).
2.Меню.
3.Online help и документация.
4.Автоматизированное перемещение курсора.
5.Скроллинг.
6.Удаленная печать.
7.Предопределенные функциональные клавиши.
8.Пакетная обработка online-транзакций.
9.Выбор данных с помощью курсора.
10.Выделения, подчеркивания и другие индикаторы.
11.Формирование твердых копий для online-транзакций.
44
12.Работа с помощью мыши.
13.Использование всплывающих окон.
14.Минимальное количество используемых экранов при выполнении основных бизнес-функций.
15.Поддержкаработысдвумяязыками(приопределениифактора Т3 этот пункт считается за четыре элемента).
16.Мультиязыковая поддержка (при определении фактора Т3 этот пункт считается за шесть элементов).
На основании использования этих элементов определяется фактор ориентации на эффективность конечных пользователей (фактор Т3):
Значение |
Описание |
0Не используется ни один из перечисленных элементов
1Используется от одного до трех элементов
2Используется от четырех до пяти элементов
3Используетсяшестьиболееэлементов,нонетспециальных требований к обеспечению эффективности пользователей
4Используется шесть и более элементов и есть специальные требования о повышении эффективности пользователей и снижении воздействия человеческого фактора (широкое применение умолчаний, шаблонов и т. д.)
5Используется шесть и более элементов и есть не только специальныетребованияоповышенииэффективностипользователей, но и инструментальные средства для демонстрации того, что цель повышения эффективности достигнута
ДлявыявлениязначимостифактораТ4 «Сложнаяобработкаданных»определимэлементы,характеризующиесложностьобработки:
1.Точное,базирующеесянадополнительнойобработкеуправление,специальнаяобработкаинформации(например,отслеживание действий пользователя в целях повышения безопасности).
2.Большой объем логической обработки.
3.Большой объем математической обработки.
4.Большой объем обработки исключительных ситуаций.
5.Комплексная обработка составных входов-выходов.
45
Наоснованиииспользованияэтихэлементовопределяетсяфактор сложности обработки (фактор Т4):
Значение |
Описание |
0Не используется ни один из элементов
1Используется один элемент
2Используются два элемента
3Используются три элемента
4Используются четыре элемента
5 |
Используются все элементы |
Рассмотрим более подробно факторы Т5–Т13:
Значение |
Описание |
Фактор Т5. Повторное использование кода
0Нет повторно используемого кода
1Повторно используемый код применяется только внутри приложения
2Менее 10 %
310%илиболеекодаприложенияориентированонаповторное использование в других приложениях
4Приложение спроектировано с ориентацией на повторное использование и может адаптироваться пользователем на уровне исходных кодов
5Приложение спроектировано с ориентацией на повторное использованиеиможетадаптироватьсяпользователемспомощьюспециальновыделенныхпараметровисредствподдержки
Фактор Т6. Простота установки
0Нет описания процесса установки и средств инсталляции
1Нетописанияпроцессаустановки,ноестьсредстваинсталляции
2Требованиякпроцедуреинсталляцииипроцедурепреобразованияданныхопределены,руководствапоэтимпроцедурам разработаны
3Требованиякпроцедуреинсталляцииипроцедурепреобразованияданныхопределены,руководствапоэтимпроцедурам разработаны
46
Продолжение
Значение |
Описание |
4Требованиякпроцедуреинсталляцииипроцедурепреобразования данных определены, руководства по этим процедурам,автоматизированныесредстваинсталляцииипреобразования данных разработаны
5Требованиякпроцедуреинсталляцииипроцедурепреобразования данных определены, руководства по этим процедурам,автоматизированныесредстваинсталляцииипреобразования данных разработаны
Фактор Т7. Простота использования
0Нет специальных требований к простоте использования
1Наличие хотя бы одной из специальных процедур (типа
«Startup»,«Backup»,«Recovery»,управлениепечатью),нотре-
буется вмешательство оператора
2Наличиедвухспециальныхпроцедур(типа«Startup»,«Backup», «Recovery»,управлениепечатью),нотребуетсявмешательство оператора
3Наличие трех специальных процедур (типа «Startup», «Backup», «Recovery», управление печатью), но требуется вмешательство оператора
4Наличие четырех специальных процедур (типа «Startup», «Backup»,«Recovery»,управлениепечатью),нотребуетсявмешательство оператора
5Наличие четырех специальных процедур (типа «Startup», «Backup», «Recovery», управление печатью), выполняемых автоматически (без вмешательства оператора)
Фактор Т8. Переносимость
0Приложение ориентировано на работу на одной операционной системе
1Приложение ориентировано на работу на одном семействе операционных систем
2Приложениеориентированонаработукакминимумнадвух разных семействах операционных систем
3Приложение ориентировано на работу на трех семействах операционных систем
4Приложениеориентированонаработуначетырехсемействах операционных систем
47
Продолжение
Значение |
Описание |
5Приложение ориентировано на работу на пяти семействах операционных систем
Фактор Т9. Простота внесения изменений
0Приразработкеприложениянепредпринималосьспециальныхмер,ориентированныхнапростотувнесенияизменений
1Приложениеимеетвозможностьопределениязапросовспростойлогикой(например,использованиелогическихфункций только для одной таблицы)
2Приложениеимеетвозможностьопределениязапросовсредней сложности
3Приложениеимеетвозможностьопределениясложныхзапросов 4 Управляющая информация, связанная с действиями пользователя, может сохраняться и доступна пользователю для
работы в offline-режиме
5Управляющая информация, связанная с действиями пользователя, может сохраняться и доступна пользователю для работы в online-режиме
Фактор Т10. Параллельная работа
0Не требуется конкурентного использования данных
1Требуется конкурентное использование 10 % данных
2Требуется конкурентное использование 30 % данных
3Требуется конкурентное использование 50 % данных 4 Требуется конкурентное использование 70 % данных 5 Требуется конкурентное использование 100 % данных
Фактор Т11. Специальные требования к безопасности
0Нет специальных требований к безопасности
1Забота об обеспечении безопасности возлагается на внешнюю систему
2Дляобеспечениябезопасностидостаточноиспользоватьстороннюю библиотеку с хорошо известным на рынке API
3Дляобеспечениябезопасностидостаточноиспользоватьстороннюю библиотеку. API библиотеки мало известен, требуется обучение
4Приложение является комбинацией API внешней системы и собственных средств безопасности
48
Окончание
Значение |
Описание |
5Все средства обеспечения безопасности приложения реализуются собственными силами
Фактор Т12. Непосредственный доступ к системе со стороны внешних организаций
0Не требуется доступа со стороны внешней системы
15%функциональноститребуетдоступасосторонывнешней системы
210%функциональноститребуетдоступасосторонывнешней системы
320%функциональноститребуетдоступасосторонывнешней
системы
450%функциональноститребуетдоступасосторонывнешней
системы
5100 % функциональности требует доступа со стороны внешней системы
Фактор Т13. Специальные требования к обучению пользователей
0Обучение не требуется
1Для понимания системы нужны простые инструкции
2Приложение имеет справочную систему, к которой и будут обращаться пользователи в процессе работы
3Кромесправочнойсистемытребуетсяопределенноеначаль-
ное обучение
4Для понимания системы необходим специальный тренинг
5Требуетсяспециальныйтренингисертификация.Сертификат подтверждаетспособностьпользователя применятьпродукт
Пр и м е р 11. Определение показателя Т2 «Производительность для си-
стемызаказабилетов».Приформированиитребованийсформулированы следующие требования к производительности:
1.Прирегистрациипользователявремяответанедолжнопревышать2с.
2.При аутентификации пользователя время ответа не должно превышать 2 с.
3.Системадолжнапозволятьработатьодновременно100пользователям. Кромеэтогоизвестно,чтовпроцессеработысистемавзаимодействуетс
другойсистемой.Этопозволяетотнеститребованиякпроизводительности системы заказа билетов к следующему типу: время ответа или производительностькритичнывтечениевсеговремениработыприложения.При работе необходимо взаимодействовать с другой системой.
Это описание соответствует значению Т2 = 3.
49
7. Определение влияния условий разработки. Фактор влияния ус-
ловийразработкиучитываетуровеньквалификацииразработчиков идругиефакторы,влияющиенаразработку(EnvironmentalFactor, EF). Фактор EF вычисляется с учетом определенных показателей
(табл. 4).
|
|
|
Таблица 4 |
|
|
Фактор EF. Показатели влияния условий разработки |
|||
|
|
|
|
|
Пока- |
Фактор |
Вес |
Вопросы для определения уровня |
|
затель |
влияния условий разработки |
|||
|
|
|||
F1 |
Уровень знакомства |
1,5 |
Имеют ли разработчики опыт |
|
|
с проектом |
|
работы в аналогичных проектах? |
|
F2 |
Опыт разработки |
0,5 |
Имеют ли разработчики опыт |
|
|
приложений |
|
создания других приложений? |
|
F3 |
Опытиспользования |
1 |
Имеют ли разработчики опыт |
|
|
объектно-ориенти- |
|
использования объектно-ориен- |
|
|
рованного подхода |
|
тированного подхода? |
|
F4 |
Наличие ведущего |
0,5 |
Имеется ли ведущий аналитик |
|
|
аналитика |
|
с опытом работы в проектах для |
|
|
|
|
этой предметной области? |
|
F5 |
Мотивация |
1 |
Имеют ли разработчики мотива- |
|
|
|
|
цию для выполнения проекта? |
|
F6 |
Стабильность требо- |
2 |
Являются ли требования к систе- |
|
|
ваний |
|
ме стабильными? |
|
F7 |
Частичная занятость |
–1 |
Работают ли в проекте разра- |
|
|
|
|
ботчики на условиях частичной |
|
|
|
|
занятости? |
|
F8 |
Сложные языки |
–1 |
Какова сложность языков про- |
|
|
программирования |
|
граммирования, используемых |
|
|
|
|
в проекте? |
|
Каждомупоказателюприсваиваетсязначениевдиапазоне0–5. Для показателей F1–F4 0 означает отсутствие влияния, 3 – средний уровень, 5 – высокий уровень влияния; для показателя F5 0 – отсутствие мотивации, 3 – средний уровень, 5 – высокий уровеньмотивации;дляF6 0–низкуюстабильностьтребований, 3 – среднюю, 5 – стабильные требования; для F7 0 – отсутствие
50
