Применение модели COCOMO II для оценки разработки программного обеспечения в Windows проектах
Автор: Садовский И.Д.
Журнал: Экономика и бизнес: теория и практика @economyandbusiness
Статья в выпуске: 10 (20), 2016 года.
Бесплатный доступ
Раскрывается суть метода оценки разработки программного обеспечения COCOMO-II на примере программы для ЭВМ по нематериальному стимулированию труда - «Стимул». Данное программное обеспечение нацелено на руководящий состав коммерческих и некоммерческих организаций, сотрудников кадровых служб. Программа позволит эффективнее применять на практике методы и приемы нематериального стимулирования труда персонала: - своевременно поздравлять сотрудников с различными праздниками; - получать доступ к информации о достижениях сотрудника; - следить за этапами горизонтального и вертикального карьерного роста; - иметь доступ к информации о сбоях в работе, нарушений правил компании сотрудниками.
Программное обеспечение, программа для эвм, it-проект, оценка эффективности, экономическая эффективность, нематериальное стимулирование труда
Короткий адрес: https://sciup.org/170180036
IDR: 170180036
Текст научной статьи Применение модели COCOMO II для оценки разработки программного обеспечения в Windows проектах
Возможность оценить трудозатраты, а также временной промежуток разработки нового программного обеспечения – задача весьма сложная, но при этом необходимая. Она позволяет спланировать расходы на время выполнения проекта, определить оптимальные сроки выполнения, что важно, так как слишком малый срок может повлиять как на снижение качества продукта, так и на физическую и психологическую усталость разработчиков [3-4].
Существует достаточно много моделей оценки создания ПО, активно применяемых на практике, но, к сожалению, большинство из них уже достаточно устаревшие и доказавшие свою несостоятельность [5-8]. Примером может служить метод линейного подхода, в котором применяется простейшая формула: С = Т × Ц, где Т -количественная мер трудозатрат, а Ц – удельная стоимость. Под мерой трудозатрат в основном понимается количество строк кода и временная производительность, другие аспекты не учитываются. Абсурдность данного метода можно доказать тем, что с опытом программист начинает писать более сжато и лаконично, что является плюсом для последующей отладки, доработке или изменения программы, но данный метод абсолютно не стимулирует программиста к таким действиям. Данный пример говорит об актуальности данной темы. При стремлении к повышению качества ПО, средства его оценки должны быть адекватны. В данное время нет идеального подхода к разрешению данной проблемы, однако, рассматривая модель COCOMO-II, по нашему мнению, наиболее полно и адекватно учитывает все аспекты разработки, не даром она стала одной из самых популярных.
Модель COCOMO-II является наследником первоначальной модели COCOMO, которая к данному времени уже достаточно устарела, так как была представлена в 1981 г. В данной статье предпринята попытка оценить стоимость IT-проекта на начальном этапе. По окончании разработки будет возможна оценка по другим, расширенным критериям. Модель
COCOMO-II предоставляет такую возможность. Как было сказано, в COCOMO-II различаю две стадии оценки: предварительная оценка на начальном этапе и детальная оценка после проработки архитектуры [1]. В данной статье рассматривается предварительная оценка.
Формула для оценивания трудоемкости в чел Х мес имеет вид:
PM = FFF х А х SIZ Ее , где......(1)
Е = S + 0.01 x £ j= i SFj ( 2)
-
1. В = 0,91; А = 2,94 предварительная оценка; А = 2,45 детальная.
-
2. SF j - фактор масштаба (Scale Factors) (табл. 1-2). Для данного проекта выбранные коэффициенты выделены в таблице 2.
-
3. SIZA - объем программного продукта в тысячах строк исходного текста (KSLOC – Kilo of Source Line of Code)
-
4. EMj - множители трудоемкости (Effort Multiplier). n=7 – для предварительной оценки, n=17 – для детальной оценки (табл. 3). Для данного проекта выбранные коэффициенты выделены в таблице 3.
-
5. AFF (Effort Adjustment Factor) - произведение выбранных множителей трудоемкости: AFF = П к=i MMk
Таблица 1. Описание уровней значимости факторов масштаба
SFj |
Описание |
Уровень значимости фактора |
|||||
Очень низкий |
Низкий |
Средний |
Высокий |
Очень высокий |
Критический |
||
PREC |
Прецедент-ность, наличие опыта аналогичных разработок |
опыт в продукте и платформе отсутствует |
продукт и платформа немного зна комы |
некоторый опыт в продукте и платформе присутствует |
продукт и платформа в основном известны |
продукт и платформа в большой степени знакомы |
продукт и платформ а полностью знакомы |
FLEX |
Гибкость процесса разработки |
процесс строго предопределен |
допускаются некоторые компромиссы |
значительная жесткость процесса |
относительная жесткость процесса |
незначительная жесткость процесса |
определены только общие цели |
RESL |
Архитектура и разрешение рисков |
риски известны/ проанализированы на 20% |
—″— На 40% |
—″— На 60% |
—″— На 75% |
—″— На 90% |
—″— На 100% |
TEAM |
Сработанность команды |
формальные взаимодействия |
тяжелое взаимодействие до некоторой степени |
чаще всего коллективная работа |
в основном коллективная работа |
высокая степень взаимодействия |
полное доверие, взаимозаменяемость и взаимопомощь |
PMAT |
Зрелость процессов |
СММ Уровень 1 ниже среднего |
СММ Уровень 1 выше среднего |
СММ Уровень 2 |
СММ Уровень 3 |
СММ Уровень 4 |
СММ Уровень 5 |
СММ (Capability Maturity Model) — пя- женная SEI (Software Engineering Institute, тиуровневая модель зрелости возможно- США).
стей компании-разработчика ПО, предло-
Таблица 1. Значение фактора масштаба
SFj |
Оценка уровня фактора |
|||||
Очень низкий |
Низкий |
Средний |
Высокий |
Очень высокий |
Критический |
|
PREC |
6.20 |
4.96 |
3.72 |
2.48 |
1.24 |
0.00 |
FLEX |
5.07 |
4.05 |
3.04 |
2.03 |
1.01 |
0.00 |
RESL |
7.07 |
5.65 |
4.24 |
2.83 |
1.41 |
0.00 |
TEAM |
5.48 |
4.38 |
3.29 |
2.19 |
1.10 |
0.00 |
PMAT |
7.80 |
6.24 |
4.68 |
3.12 |
1.56 |
0.00 |
Данные факторы применяются на обеих стадиях оценки проекта.
Рассмотрим множители трудоемкости. Для предварительной и детальной стадии оценки, множители трудоемкости имеют отличия. В данном случает для предварительной оценки выделяют семь множителей трудоемкости.
– PERS квалификация персонала.
– PREX опыт персонала.
– RCPX сложность и надежность продукта.
– RUSE разработка для повторного использования.
– PDIF сложность платформы разработки.
– FCIL оборудование (инструменты простейшие/интегрированные средства поддержки жизненного цикла).
– SCED требуемое выполнение графика работ.
Значения множителей приведены в табл. 3 Главной особенностью метода является наличие информации о размере ко-да(SIZE). Размер продукта может быть оценен экспертами с помощью метода PERT или с помощью анализа продукта методом функциональных точек. Во втором случае размер может быть рассчитан с помощью таблицы 4.
Таблица 3. Значения множителей трудоемкости
№ |
Множитель трудоемкости, EMj |
Описание |
Оценка уровня множителя трудоемкости |
||||||
Супер низкий |
Очень низкий |
Низкий |
Нормальный |
Высокий |
Очень высокий |
Супер высокий |
|||
1 |
PERS |
квалификация персонала |
2.12 |
1.62 |
1.26 |
1.00 |
0.83 |
0.63 |
0.50 |
2 |
PREX |
опыт персонала |
1.59 |
1.33 |
1.22 |
1.00 |
0.87 |
0.74 |
0.62 |
3 |
RCPX |
сложность и надежность продукта |
0.49 |
0.60 |
0.83 |
1.00 |
1.33 |
1.91 |
2.72 |
4 |
RUSE |
разработка для повторного использования |
n/a |
n/a |
0.95 |
1.00 |
1.07 |
1.15 |
1.24 |
5 |
PDIF |
сложность платформы разработки |
n/a |
n/a |
0.87 |
1.00 |
1.29 |
1.81 |
2.61 |
6 |
FCIL |
оборудование |
1.43 |
1.30 |
1.10 |
1.00 |
0.87 |
0.73 |
0.62 |
7 |
CSED |
требуемое выполнение графика работ |
n/a |
1.43 |
1.14 |
1.00 |
1.00 |
n/a |
n/a |
Примечание: n/a – соответствующий уровень не оценивается
Таблица 4. Количества строк, необходимых на реализацию одной не выровненной функциональной точки
Язык |
Количество строк кода одной функциональной точки |
||
Вероятная |
Оптимистичная |
Пессимистичная |
|
Assembler |
172 |
86 |
320 |
C |
148 |
9 |
704 |
C++ |
60 |
29 |
178 |
C# |
59 |
51 |
66 |
JavaScript |
56 |
44 |
65 |
Visual Basic |
50 |
14 |
276 |
Итак, программа «Стимул», с помощью метода функциональных точек была оценена в 10 KSLOC. По формулам (1) и (2) имеем:
Е = 0.91 + 0.01 х (3.72 + 2.03 + 2.83 + 2.19 + 4.68) = 1.0644
Пример (100 KSLOC):
E = 0,91 + 0,01 х 0,00;
PM = 2,94 х (100)0,91 = 194 челхмес;
EAF = 1.26 х 1.33 х 1.00 х 1.1 х 1 = 1.84338
РМ = 1.84338 х 2.94 х 10 1 -° 644 « 62,85 чел х мес
E = 0,91 + 0,01 х31,6;
PM = 2,94х (100)1,226 = 832;
Число 62.85 челхмес говорит о том, что данный проект может быть выполнен за 62.85 месяце – одним человеком или, например, чуть больше чем за год группой из 5 человек (62.85/5 = 12.57).
Для расчета цены в рублях или в другой валюте, данной число умножается на удельную цену, которая оговаривается с заказчиком проекта.
Рассмотрим влияние факторов масштаба, которые могут менять трудоемкость в 4.3 раза.
Не стоит недооценивать предварительную экономическую оценку программного продукта, которая может позволить спокойно, продуктивно и качественно выполнить задачу, поставленную перед командой разработчиков. Одна из наиболее популярных моделей оценки COCOMO-II была продемонстрирована в данной статье на конкретном программном продукте.
Список литературы Применение модели COCOMO II для оценки разработки программного обеспечения в Windows проектах
- Barry Boehm, et al. «Software cost estimation with COCOMO II». Englewood Cliffs, NJ:Prentice-Hall, 2000.
- Евдокимов И.В. Аспекты внедрения информационных технологий на предприятиях г. Братска // Труды Братского государственного университета, Серия: Экономика и управление. - 2006. - Т.1. - С. 144-148.
- Евдокимов И.В. Кадровое обеспечение внедрения SCADA-систем на предприятиях // Труды Братского государственного университета. Серия: Экономика и управление. - 2005. - Т.1. - С. 116-119.
- Прокопенко А.В., Русаков М.А., Царев Р.Ю. Синтез систем реального времени с гарантированной доступностью программно-информационных ресурсов // Сибирский федеральный университет, Институт космических и информационных технологий. Красноярск, 2013. - 91 с.
- Евдокимов И.В. Математическое и программное обеспечение идентификации нелинейных динамических объектов при использовании суммы гармонических сигналов: Дис.. канд. техн. наук / Евдокимов Иван Валерьевич; Братский государственный университет. - Братск., 2006. - 135 с.
- Буштрук Т.Н., Буштрук А.Д., Евдокимов И.В. Метод идентификации моделей фильтр Заде // Современные информационные технологии. - 2004. - № 1. C. 122-125.
- Евдокимов И.В. Математическое и программное обеспечение идентификации нелинейных динамических объектов при использовании суммы гармонических сигналов: Автореф.. дис. канд. техн. наук. - Братск: БрГУ, 2006. - 17 с.
- Евдокимов И.В. Сумма гармонических сигналов с постоянной составляющей как тестирующее воздействие в одном методе активной идентификации // Труды Братского государственного университета. Серия: Естественные и инженерные науки. - 2005. - Т.1. - С. 39-41.