Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Оценка трудоемкости разработки программного обеспечения. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
09.08.2026
Размер:
457 Кб
Скачать

специалистовсчастичнойзанятостью,3–среднийуровеньвли- яния, 5 – все специалисты с частичной занятостью; для показателя F8 0 – простой язык программирования, 3 – язык программирования средней сложности, 5 – высокую сложность языка программирования.

Рассмотрим более подробно технические факторы F1–F8:

Значение

Описание

 

Фактор F1. Уровень знакомства с проектом

0Знакомство с проектом отсутствует

1Проект знаком на 20 %

2Проект знаком на 40 %

3Проект знаком на 60 %

4 Проект знаком на 80 %

5Проект знаком на 100 %

Фактор F2. Опыт разработки приложений

0Опыт разработки приложений отсутствует

1Опыт разработки приложений может быть оценен в 20 %

2Опыт разработки приложений может быть оценен в 40 %

3Опыт разработки приложений может быть оценен в 60 % 4 Опыт разработки приложений может быть оценен в 80 %

5Экспертный уровень. Опыт разработки приложений может быть оценен в 100 %

Фактор F3. Опыт использования объектно-ориентированного подхода

0Опыт использования объектно-ориентированного подхода отсутствует

1Есть только теоретические знания в объектно-ориентиро- ванном подходе

22 года опыта использования объектно-ориентированного подхода

34 года опыта использования объектно-ориентированного подхода

410 лет опыта использования объектно-ориентированного подхода

515 лет опыта использования объектно-ориентированного подхода

51

Продолжение

Значение

Описание

Фактор F4. Наличие ведущего аналитика

0Нет ведущего аналитика в проекте

1Ведущий аналитик проекта имеет 3-летний опыт работы

впроектах для этой предметной области

2Ведущий аналитик проекта имеет 5-летний опыт работы

впроектах для этой предметной области

3Ведущий аналитик проекта имеет 8-летний опыт работы

впроектах для этой предметной области

4Ведущий аналитик проекта имеет 10-летний опыт работы в проектах для этой предметной области

5Ведущий аналитик проекта имеет 15-летний опыт работы в проектах для этой предметной области

Фактор F5. Мотивация

0Нет мотивации

1Низкаямотивация.Командаработаеттолькоподуправлением.Нетпроявленийинициативысосторонычленовкоманды

25%командыимеютвысокуюмотивациюипроявляютинициативу.Остальнаякомандаработаеттолькоподуправлением.Нет проявленийинициативысостороныэтойчастичленовкоманды

320%командыимеютвысокуюмотивациюипроявляютинициативу. Остальная команда работает только под управлением. Нет проявлений инициативы со стороны этой части членов команды

450%командыимеютвысокуюмотивациюипроявляютинициативу. Остальная команда работает только под управлением. Нет проявлений инициативы со стороны этой части членов команды

5100 % команды имеют высокую мотивацию и проявляют инициативу

Фактор F6. Стабильность требований

0Нетстабильноститребований.Каждоесовещаниесзаказчиком приводит к изменению 80 % требований

1Каждоесовещаниесзаказчикомприводиткизменению60% требований

2Каждоесовещаниесзаказчикомприводиткизменению40% требований

52

Окончание

Значение

Описание

3Каждоесовещаниесзаказчикомприводиткизменению20% требований

4Каждое совещание с заказчиком приводит к изменению 5 % требований

5Требования стабильны

Фактор F7. Частичная занятость

0Всечленыкомандыработаютнаусловияхполнойзанятости

110 % членов команды работают на условиях частичной занятости

230 % членов команды работают на условиях частичной занятости

350 % членов команды работают на условиях частичной занятости

480 % членов команды работают на условиях частичной занятости

5100 % членов команды работают на условиях частичной занятости

Фактор F8. Сложные языки программирования

0Длязнакомствасязыкомпрограммированиятребуетсяодна неделя

1Для знакомства с языком программирования требуется две недели

2Для знакомства с языком программирования требуется по крайней мере месяц

3Для знакомства с языком программирования требуется специальный тренинг

4Для знакомства с языком программирования требуется специальный тренинг и помощь в процессе выполнения проекта

5Сложность языка такова, что работать могут только специалисты, имеющие опыт использования этого языка

Значение EF вычисляется по формуле

EF =1,4+

 

0,03

8

(Bec

F ) .

 

 

 

i

i

 

 

 

 

i=1

 

 

 

53

8.Окончательное значение UCP (Use Case Points). Вычисляется следующим образом: UCP = UUCP · TCF · EF.

9.Оценка трудоемкости проекта. В качестве начального значе-

нияпредлагаетсяиспользовать20чел.-чнаоднуUCP.Этозначение можетуточнятьсясучетомопытаразработчиков.Приведемпример уточнения.

Рассмотрим показатели F1–F8 и определим, сколько показателей F1–F6 имеют значение менее 3 и сколько показателей F7–F8 имеют значение более 3. Если общее количество равно 0, следует использовать15чел.-чнаоднуUCP,если1или2–20чел.-чнаодну UCP,если3или4–28чел.-чнаоднуUCP.Еслиобщееколичество равно5илиболее,следуетвнестиизменениявпроект,впротивном случае риск провала проекта слишком велик.

П р и м е р 12. Применение методики Use Case Points. Для проведения оценки трудоемкости разработки системы заказа билетов с помощью методики Use Case Points необходимо выполнить следующие действия.

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

Системапродажибилетов–действующеелицо,взаимодействующеес системойчерезпрограммныйинтерфейс,т.е.действующеелицопростого типа с весовым коэффициентом 1.

2.Вычислениенеурегулированноговесовогопоказателядействующихлиц:

UAW = 3ˑ3 + 1 = 10.

3.Определение весовых показателей вариантов использования. Весовые показатели вычисляются для всех сценариев вариантов использования

(табл. 5).

 

 

Таблица 5

Весовые показатели вариантов использования

 

 

 

 

 

 

Вариант использования

Количество Use Case

 

Вес

транзакций

 

 

 

 

Получение справочной информации

7

 

10

Регистрация пользователя

11

 

15

Заказ билета

14

 

15

54

 

 

 

 

 

 

Окончание табл. 5

 

 

 

 

 

 

 

 

 

Вариант использования

 

Количество Use Case

 

 

Вес

 

 

транзакций

 

 

 

 

 

 

 

 

 

Аутентификация

 

 

 

11

 

 

 

15

Отмена заказа

 

 

 

11

 

 

 

15

Мониторинг состояния заказа

 

 

 

5

 

 

 

10

Оформление билета

 

 

 

6

 

 

 

10

Учет проданных билетов

 

 

 

6

 

 

 

10

Удаление клиента из «черного списка»

 

 

 

4

 

 

 

10

Добавление нового пользователя

 

 

 

9

 

 

 

15

Редактирование пользователя

 

 

 

9

 

 

 

15

Удаление пользователя

 

 

 

8

 

 

 

15

Получение отчетов

 

 

 

9

 

 

 

15

И т о г о

 

 

 

 

 

 

 

 

170

 

Показатель технической сложности TCF

Таблица 6

 

 

 

 

 

 

 

 

 

 

 

 

Показатель

Технический фактор

 

 

Вес

Значение

 

Весi·Тi

Т1

Распределенность системы

 

 

2,0

4

 

6,0

Т

Высокая производительность (про-

 

1,0

3

 

3,0

2

пускная способность)

 

 

 

 

 

 

 

T3

Ориентация на эффективность

 

 

1,0

3

 

3,0

конечных пользователей

 

 

 

Т4

Сложная обработка данных

 

 

1,0

0

 

0

Т5

Повторное использование кода

 

 

1,0

0

 

0

Т6

Простота установки

 

 

0,5

0

 

0

Т7

Простота использования

 

 

0,5

1

 

0,5

Т8

Переносимость

 

 

2,0

1

 

2,0

Т9

Простота внесения изменений

 

 

1,0

1

 

1,0

T10

Параллельная работа

 

 

1,0

3

 

3,0

T11

Специальные требования к безопас-

1,0

2

 

2,0

 

ности

 

 

 

 

 

 

 

T12

Непосредственный доступ к системе

1,0

2

 

2,0

 

со стороны внешних организаций

 

 

 

 

 

 

T13

Специальныетребованиякобучению

1,0

0

 

0,0

 

пользователей

 

 

 

 

 

 

 

И т о г о

 

 

 

 

 

 

 

22,5

55

 

Показатель влияния условий разработки EF

Таблица 7

 

 

 

 

 

 

 

Показатель

Фактор

Вес

Значение

Весi · Fi

F1

Знакомство с проектом

1,5

2

3,0

F2

Опыт разработки приложений

0,5

4

2,0

F3

Опыт использования объектно-

1,0

3

3,0

 

ориентированного подхода

 

 

 

F4

Наличие ведущего аналитика

0,5

3

1,5

F5

Мотивация

1,0

4

4,0

F6

Стабильность требований

2,0

3

6,0

F7

Частичная занятость

–1,0

0

0,0

F8

Сложныеязыкипрограммирования

–1,0

0

0,0

И т о г о

 

 

 

19,5

4.Определениенеурегулированныхвесовыхпоказателейвариантовисполь-

зования. В соответствии с табл. 5 UUCW = 170.

5.Определение неурегулированного общего показателя Total UUCP: Total UUCP = Total UAW + Total UUCW = 10 + 170 = 180.

6.Определениетехническойсложностипроекта.Всоответствиистабл.6

рассчитаем показатель технической сложности TCF:

TCF =0,6+

 

0,01

13

(Bec

T )

=0,6+0,01 22,5=0,825.

 

 

i

i

 

 

 

 

 

i=1

 

 

 

 

7. Определение влияния условий разработки. В соответствии с табл. 7

рассчитаем показатель влияния условий разработки EF:

EF =1,4+

 

−0,03

8

(Bec F )

=0,815.

 

 

 

i i

 

 

 

 

 

i=1

 

 

 

8.Расчет UCP: UCP = UUCP · TCF · EF = 180 · 0,825 · 0,815 = 121.

9.Оценкатрудоемкостипроекта.ТаккакколичествопоказателейF1– F6, имеющих значение менее 3, и показателей F7–F8, имеющих значение более3,равно0,примемпроизводительность15чел.-чнаоднуUCP.Тогда трудозатраты на проект составят 1815 ч.

10.Оценка срока выполнения проекта. Количество человеко-часов на выполнениепроектаравно1815.При40-часовойрабочейнеделеэточуть больше 45 недель, или 10,8 месяца.

56

2.2. Методика Function Points

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

(ПС).

Функциональныеточки–мерафункциональности,т.е.полез- ностипрограммнойсистемыспозициипользователя.Общаяфункциональность определяется и измеряется в процессе анализа [6]:

логическихгруппданных,которыеиспользуются,поддерживаются ПС и характеризуют по сути функциональность данных;

вводимойивыводимойпользователеминформации,т.е.функциональности совершаемых транзакций.

Такимобразом,общаяфункциональностьявляетсясуммойдвух составляющих (рис. 9): Функциональность = Функциональность данных + Функциональность транзакций.

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

ОпределениеграницПС. ГраницыПСмогутбытьустановлены на ранних этапах жизненного цикла продукта. Например, если ПС разрабатывается в рамках замещающего проекта, то его границы,очевидно,должныбытьподобны(авозможно,исовпадать) границам ранее существовавшего ПС. Если ПС принципиально новая, то, чтобы правильно определить ее границы, необходимо установить границы других ПС, работающих совместно с рассматриваемым.

Для приложений Internet/Intranet-границы определяются так же, как и для обычных ПС: границы формируются относительно непользовательскогоинтерфейсаилинесколькихэкранов,авсего приложения. Часто Internet/Intranet приложение разрабатывается

вкачестве замены или расширения существующего ПС. В этом случае,очевидно,некорректнорассматриватьInternet/Intranet-при- ложение как принципиально новое ПС.

В приложениях клиент–сервер границы должны формироваться и для клиента, и для сервера. Причина заключается в том,

57

Ввод

Вывод

Запрос

Пользователь

Программное средство

Запись

Данные

Чтение

ЛогикаПС

 

Запись

Данные

Чтение

 

Рис. 9. Функциональность ПС

чтониклиент,нисерверневыполняютвотдельноститребования пользователя.Тоестьпоотдельностионинеявляютсязавершенным ПС.

Обычнофункциональностьданныхпредставляетсобойфайлы, таблицыбазданных,объектыидругиеединицыхраненияинформации.Прианализепометодуфункциональныхточекрассматриваются два вида групп данных.

1.Внутренний логический файл (Internal Logical File, ILF) –

логическисвязаннаягруппаданных,определяемаяпользователем

инаходящаяся внутри границ ПС (рис. 10, а).

2.Внешнийинтерфейсный файл(ExternalInterface File,EIF) –

логическисвязаннаягруппаданных,обеспечивающаяПСинформацией, но лежащая за его пределами и поддерживаемая другим ПС (рис. 10, б).

Транзакции – это элементарные процессы, т. е. наименьшие единицы активности, имеющие определенное значение дляпользователя,происходящиевнутриПСипорождаемыевходнойивыходнойинформацией.Прианализе,основанномнаметоде функциональных точек, выделяют три вида транзакций.

1.Внешний ввод (External Input, EI) – процесс ввода данных и управляющейинформациивПС(рис.11,а).Управляющаяинформациянеобходимадляобработкиданных.ПоступающиенавходПС

58

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

2.Внешнийвывод(ExternalOutput,EO)–процесс,генерирую- щийданныеилиуправляющуюинформацию,которыепоступают на выход ПС (рис. 11, б). Обычно процесс вида EO представляет собой способ формирования экранов, отчетов, сообщений.

3.Внешний запрос (External Inquiry, EQ) – диалоговый ввод, которыйприводиткнемедленномуответуПСвформедиалогового вывода (рис. 11, в). Диалоговый ввод в самом ПС не сохраняется,

адиалоговый вывод не требует выполнения вычислений. В этом заключается главное отличие EQ от EI и EO.

КаждойизхарактеристикфункциональностиПС(EI,EO,EQ,ILF илиEIF)ставитсявсоответствиенизкий,среднийиливысокийуровеньсложности,азатемвыноситсяопределеннаячисловаяоценка.

Длявнешнихивнутреннихфайлов(ILFиEIF)сложностьопределяется и ранжируется с помощью количества типов элементов записей(RecordElementTypes,RET)иколичестватиповэлементов данных (Data Element Types, DET), входящих в соответствующие логические группы данных.

Уровнисложностидлявнутреннихивнешнихфайлов(ILFиEIF) в зависимости от количества RET и DET представлены в табл. 8.

а)

 

б)

 

 

ПС

 

ILF

Процесс

 

 

EIF

ПС

Процесс

Рис. 10. Функциональность данных ПС: а – внутренние логические файлы; б – внешние интерфейсные файлы

59

а)

 

б)

 

в)

ПС

Данные

ПС

Данные

ПС

ILF

EI

 

EO

ILF

 

ILF

 

Управ-

 

Управ-

 

 

 

 

ляющая

 

ляющая

 

 

инфор-

 

инфор-

 

 

мация

 

мация

 

EQ

Входные

данные

Выходные данные

Рис. 11. Функциональность транзакций ПС: а – внешний ввод; б – внешний вывод; в – внешний запрос

 

 

 

Таблица 8

Уровни сложности для внутренних и внешних файлов

 

 

 

 

Количество

 

Количество DET

 

RET

1–19

20–30

31 и более

1

Низкий

Низкий

Средний

2–5

Низкий

Средний

Высокий

6 и более

Средний

Высокий

Высокий

Идентификацияиоценкафункциональностиданных(ILFиEIF).

Как отмечалось ранее, ILF и EIF являются логически связанными группами данных (файлами, таблицами баз данных и т. п.), определяемыми пользователем и необходимыми для работы ПС. Оба эти типа файлов могут использоваться ПС при генерации внешних выводов (EO), а также при обслуживании внешних запросов (EQ). Разница между ними состоит лишь в том, что ILF поддерживаются самим ПС с помощью внешних вводов (EI), а EIF – любым другим ПС.

Функциональность логических файлов (ILF и EIF) оценивается в результате подсчета количества типов элементов записей (RET) и количества типов элементов данных (DET), входящих в соответствующие логические группы данных. Под количеством RET обычно понимают количество логических подгрупп данных, выделяемыхвфайлесточкизренияпользователя,иликоличество используемых форматов записей, а под количеством DET – количество элементарных полей в этих записях.

60

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]