ПРИМЕР ОЦЕНКИ ТРУДОЕМКОСТИ
ПРОГРАММНОГО ПРОДУКТА
НА ОСНОВЕ МЕТОДА ВАРИАНТОВ ИСПОЛЬЗОВАНИЯ
Данная методика основана на материалах компании Rational Software.
Для расчета используем диаграмму потоков данных, приведённую на рис. 1.
|
Все действующие лица системы делятся на три типа:
1) простое действующее лицо представляет внешнюю систему с четко определенным программным интерфейсом;
2) среднее действующее лицо представляет либо внешнюю систему, взаимодействующую с данной системой посредством протокола, либо личность, пользующуюся текстовым интерфейсом (например, алфавитно-цифровым терминалом);
3) сложное действующее лицо представляет личность, пользующуюся графическим пользовательским интерфейсом.
Общее количество действующих лиц каждого типа умножается на соответствующий весовой коэффициент, затем вычисляется общий весовой показатель L (табл. 1).
Таблица 1
Весовые коэффициенты действующих лиц
Тип действующего лица | Весовой коэффициент |
Простой | |
Средний | |
Сложный |
Рассмотрим действующих лиц данной системы (табл. 2).
Таблица 2
Типы действующих лиц
Действующее лицо | Тип |
Экономист | Сложный |
Сотрудник ПФО | Сложный |
Справочник «Контрагенты» | Простой |
Накопитель данных о начислениях | Средний |
Накопитель временных данных | Средний |
Накопитель данных об оплате | Средний |
Система регистрации и хранения данных по студентам | Средний |
Используя весовые коэффициенты табл. 1, рассчитаем общий весовой показатель действующих лиц , имеем: 2 сложных, 1 простой и 4 средних типа.
Для определения весовых показателей вариантов использования также применяются три типа: простой, средний и сложный в зависимости от количества транзакций в потоках событий. В данном случае под транзакцией понимается единичная последовательность действий, которая выполняется полностью или отменяется. Общее количество вариантов использования каждого типа умножается на соответствующий весовой коэффициент (табл. 3), определяется общий весовой показатель UC.
Таблица 3
Весовые коэффициенты вариантов использования
Тип варианта использования | Описание | Весовой коэффициент |
Простой | транзакций | |
Средний | от 4 до 7 транзакций | |
Сложный | транзакций |
В результате получаем показатель UUCP (Unadjusted Use Case Points - точки случая нерегулируемого использования) по формуле:
(1)
Рассчитаем сложность вариантов использования, для этого определим тип использования (табл. 4).
Таблица 4
Сложность вариантов использования
Вариант использования | Тип |
Войти в систему | Простой |
Ввести начальную и конечную дату | Простой |
Сформировать бухгалтерские итоги | Средний |
Вывести плановые доходы в итоговую таблицу | Простой |
Вывести плановые и фактические доходы в итоговую таблицу | Простой |
Закрыть систему | Простой |
Используя весовые коэффициенты табл. 3, рассчитаем общий весовой показатель вариантов использования UC. В результате имеем 5 простых типов и 1 средний тип.
Получаем общий показатель по формуле (1):
Оценим техническую сложность проекта (TCF Technical Complexity Factor), которая вычисляется с учетом показателей технической сложности (табл. 5).
Таблица 5
Показатели технической сложности
Показатель | Описание | Сложность | Весовой коэффициент |
Y1 | Распределенная система | ||
Y2 | Высокая производительность (пропускная способность) | ||
Y3 | Работа конечных пользователей в режиме он-лайн | ||
Y4 | Сложная обработка данных | ||
Y5 | Повторное использование кода | ||
Y7 | Простота использования | 0,5 | |
Y8 | Переносимость | ||
Y9 | Простота внесения изменений | ||
Y10 | Параллелизм | ||
Y11 | Специальные требования к безопасности | ||
Y12 | Непосредственный доступ к системе со стороны внешних пользователей | ||
Y13 | Специальные требования к обучению пользователей |
Каждому показателю присваивается значениев диапазоне от 0 до 5 (0 означает отсутствие значимости показателя для данного проекта, 5 - высокую значимость).
Значение TCFвычисляется по следующей формуле:
(2)
Вычислим:
Значение TCFвычисляется по формуле (2):
Далее рассматривается уровень квалификации разработчиков EF (Environmental Factor - фактор влияния окружающей среды), который вычисляется с учётом показателей (табл. 6). Каждому показателю присваивается значение в диапазоне от 0 до 5 (для создания проекта планируется привлечение программиста, опыт работы которого около 3-х лет). Для показателей F1-F4 0 означает отсутствие, 3 - средний уровень, 5 - высокий уровень. Для показателя F5 0 означает отсутствие мотивации, 3 - средний уровень, 5 - высокий уровень мотивации. Для F6 0 означает высокую нестабильность требований, 3 - среднюю, 5 - стабильные требования. Для F7 0 означает отсутствие специалистов с частичной занятостью, 3 - средний уровень, 5 - все специалисты с частичной занятостью. Для показателя F8 0 означает простой язык программирования, 3 - среднюю сложность, 5 - высокую сложность.
Таблица 6
Показатели уровня квалификации разработчиков
Показатель | Описание | Сложность | Весовой коэффициент |
F1 | Знакомство с технологией | 1,5 | |
F2 | Опыт разработки приложений | 0,5 | |
F3 | Опыт использования объектно-ориентированного подхода | ||
F4 | Наличие ведущего аналитика | 0,5 | |
F5 | Мотивация | ||
F6 | Стабильность требований | ||
F7 | Частичная занятость | -1 | |
F8 | Сложные языки программирования | -1 |
Значение EF вычисляется по формуле:
Используя весовые показатели из табл. 6, имеем:
Таким образом, получим:
В результате получаем окончательное значение UCP (Use Case Points - точки случая использования), которое рассчитывается по формуле:
Имеем:
Далее производится оценка трудоемкости проекта в человеко-часах.
В качестве начального значения предлагается использовать 20 человеко-часов на одну UCP. Эта величина может уточняться с учетом опыта разработчиков. Приведем пример возможного уточнения.
Рассмотрим показатели F1-F8 и определим, сколько показателей F1-F6 имеют значение меньше 3 и сколько показателей F7-F8 имеют значение больше 3. Если общее количество меньше или равно 2, следует использовать 20 чел.-ч. на одну UCP, если 3 или 4 - 28 чел.-ч. Если общее количество равно 5 или более, следует внести изменения в сам проект, в противном случае риск провала слишком высок.
По опытным данным компании «Rational Software»,проект среднего размера (приблизительно 10 разработчиков, длительность более чем 6-8 месяцев) может включать приблизительно 30 вариантов использования. Это соответствует тому, что средний вариант использования содержит 12 UCP, и каждая UCP требует 20-30 ч. Это означает общую трудоемкость 240-360 чел.-ч. на вариант использования. Таким образом, 30 вариантов использования потребуют приблизительно 9000 чел.-ч. (10 разработчиков в течение 6 месяцев). Однако прямой пропорции не существует: очень большой проект со 100 разработчиками и сроком 20 месяцев не начнется с 1000 вариантов использования из-за проблем размерности.
Таким образом, трудоемкость данного проекта составляет 438,2 чел.-ч.
Оценим срок исполнения проекта. Над проектом планируется работа двух человек: руководителя и программиста. Рассмотрим примерный план работ над проектом и долю участия руководителя и программиста в разработке (табл. 7).
Таблица 7
Комплекс работ по разработке проекта
Этап | Исполнители | |
руководитель | программист | |
Системный анализ | 30 % | 100 % |
Анализ требований | 30 % | 100 % |
Проектирование | - | 100 % |
Кодирование | - | 100 % |
Тестирование | 10 % | 100 % |
Итого (участие в работе) | 14 % | 100 % |
Таким образом, получаем, что руководитель участвует в проекте на 14 %, а программист – на 100 %. Принимая программиста за единицу приведенного исполнителя, получаем, что руководитель составляет 0,14 приведенного исполнителя, т. е. в разработке проекта участвует 1,14 приведенного человека.
Получаем трудоемкость проекта:
чел.-ч.
При расчете срока исполнения учитываем, что рабочий день составляет 8 ч., и в итоге получаем 48 дней работы над проектом.
По данным компании «Rational Software», в реальности длительность работы над проектом на 20-30 % больше, поэтому за срок разработки можно принять 60 дней.