Применение модели СОСОМО в экономике программной инженерии
Методы для анализа и оценки качества программных продуктов, автоматизирующих расчёты ресурсов и экономическую эффективность проекта. Характеристика режимов и уровней модели конструктивных затрат. Определение трудоёмкости и времени разработки программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 24.07.2020 |
Размер файла | 45,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://allbest.ru
Сибирский федеральный университет
Применение модели СОСОМО в экономике программной инженерии
Д.И. Битковский, студент
А.В. Моторко, студент
Россия, г. Красноярск
Одним из важнейших критериев при разработке программного продукта является экономическая составляющая. Существует много методов для анализа и оценки времени, ресурсов и качества программных продуктов, которые в свою очередь автоматизируют расчёты этих затрат и оценки экономической эффективности проекта. Примером могут быть методы из работы [1].
Наиболее известной и широко используемой предприятиями является модель конструктивных затрат (Constructive COst Model или COCOMO). СОСОМО - это алгоритмическая модель оценки стоимости, разработанная в начале 80-ых годов прошлого столетия Барри Боэмом [2]. Модель использует 3 режима, на каждом из которых проекты разбиваются ещё на три типа. Эти три типа классифицируют сложность системы и среду разработки: органический тип (organic projects); сблокированный тип (semidetached projects); внедрённый тип (embedded projects) [2]. Более подробно про внедрение SCADA-систем и информационных технологий на предприятиях можно узнать в работах Евдокимова И.В. [3, 4].
Органический тип обуславливается небольшой командой разработчиков, имеющих опыт в создании проектов, и относительно невысокой сложностью проекта.
Внедрённый тип характеризуется большой командой разработчиков, большим объёмом требуемых инноваций, а также жесткими ограничениями и сроками сдачи. Внедрённый проект требует больших затрат на изменения и исправления.
Сблокированный тип находится между органическим и внедрённым типами - это проекты средней сложности. Исполнители знакомы не со всеми характеристиками создаваемой системы, имеют средний опыт работы с подобными изделиями, а проект обладает элементом новизны. В основном, разработчики имею свободу выбора, лишь некоторые требования к проекту жестко фиксируются.
Рассмотрим уровни модели COCOMO. Первый уровень - базовый, он подходит для выполнения быстрых и приближенных оценок, так как не учитывается множество важных факторов, таких как: квалификация персонала; характеристики оборудования; опыт современных методов разработки программного обеспечения и др. Ниже приведены уравнения базового уровня.
,
,
где ТР - трудоёмкость (чел.*мес.), ВР - время разработки (мес.), размер - объём программного продукта (тыс. строк). Коэффициенты a(i), b(i), c(i) и d(i) выбираются из таблицы 1.
Таблица 1. Значение коэффициентов базового уровня в зависимости от типа проекта
Тип проекта |
a |
b |
c |
d |
|
Органический |
2,4 |
1,05 |
2,5 |
0,38 |
|
Сблокированный |
3,0 |
1,12 |
2,5 |
0,35 |
|
Внедрённый |
3,6 |
1,2 |
2,5 |
0,32 |
Следующий уровень - промежуточный. На данном этапе происходит определение необходимых затрат, связанных с размером, режимом и 15 дополнительными переменными, приведенными в таблице 2. Они имеют название «драйвера затрат» и относятся непосредственно к характеристике продукта, персоналу, аппаратному обеспечению и проекту. Перемножив все драйвера затрат, мы получим корректировочный множитель среды (КМС).
Таблица 2. Факторы стоимости и их значения в зависимости от уровня
Атрибуты стоимости |
Рейтинг |
||||||
Очень низкий |
Низкий |
Средний |
Высокий |
Очень высокий |
Критический |
||
Характеристики продукта |
|||||||
1.Требуемая надежность ПО |
0,75 |
0,88 |
1,00 |
1,15 |
1,40 |
n/a |
|
2.Размер БД приложения |
n/a |
0,94 |
1,00 |
1,08 |
1,16 |
n/a |
|
3.Сложность продукта |
0,70 |
0,85 |
1,00 |
1,15 |
1,30 |
1,65 |
|
Характеристики аппаратного обеспечения |
|||||||
4.Ограничения быстродействия при выполнении программы |
n/a |
n/a |
1,00 |
1,11 |
1,30 |
1,66 |
|
5.Ограничения памяти |
n/a |
n/a |
1,00 |
1,06 |
1,21 |
1,56 |
|
6.Неустойчивость окружения виртуальной машины |
n/a |
0,87 |
1,00 |
1,15 |
1,30 |
n/a |
|
7.Требуемое время восстановления |
n/a |
0,87 |
1,00 |
1,07 |
1,15 |
n/a |
|
Характеристики персонала |
|||||||
8.Аналитические способности |
1,46 |
1,19 |
1,00 |
0,86 |
0,71 |
n/a |
|
9. Опыт разработки |
1,29 |
1,13 |
1,00 |
0,91 |
0,82 |
n/a |
|
10.Способности к разработке ПО |
1,42 |
1,17 |
1,00 |
0,86 |
0,70 |
n/a |
|
11.Опыт использования виртуальных машин |
1,21 |
1,10 |
1,00 |
0,90 |
n/a |
n/a |
|
12. Опыт разработки на языках программирования |
1,14 |
1,07 |
1,00 |
0,95 |
n/a |
n/a |
|
Характеристики проекта |
|||||||
13.Применение методов разработки ПО |
1,24 |
1,10 |
1,00 |
0,91 |
0,82 |
n/a |
|
14.Использование инструментария разработки ПО |
1,24 |
1,10 |
1,00 |
0,91 |
0,83 |
n/a |
|
15.Требования соблюдения графика разработки |
1,23 |
1,08 |
1,00 |
1,04 |
1,10 |
n/a |
Формула для расчёта промежуточного уровня модели выглядит так:
ТР = КМС ? ???? ? (размер)????(3)
где КМС - произведение выбранных драйверов затрат, коэффициенты a(i), b(i) выбираются из таблицы 3. Время разработки определяется формулой базового уровня.
Таблица 3. Значение коэффициентов промежуточного уровня модели СОСОМО в зависимости от типа проекта
Тип проекта |
a |
b |
|
Органический |
3,2 |
1,05 |
|
Сблокированный |
3,0 |
1,12 |
|
Внедрённый |
2,8 |
1,2 |
Рассмотрим работу промежуточного уровня модели СОСОМО на примере нашей программы для ЭВМ «СОСОМО - калькулятор».
Для начала необходимо определить факторы стоимости и найти их произведение.
Далее нам необходимо оценить возможный размер нашей программы. Для этого воспользуемся методом функциональных точек.
Таблица 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 |
Мы планируем писать нашу программу на языке C#. С помощью данного метода она была оценена в 1,5 тысячи строк кода. Также нами было определено, что мы будем работать с данными сблокированного типа.
Применяя формулы (2) и (3) проведём оценку трудоёмкости и времени разработки программы:
; ; ;
Также существует и третий последний уровень - детализированный. Мы не будем рассматривать его здесь, но он включает в себя дополнительные множители трудозатрат, зависящих от иерархии ПС и фазы, надстраивается на промежуточном уровне СОСОМО модели.
Данную модель используют не только опытные разработчики, но и студенты в ходе выполнения курсовых проектов. О внедрении информационных технологий в образовательный процесс наиболее подробно написано в работе [5].
Таким образом, осуществляется анализ данных с помощью модели СОСОМО, что актуально, в том числе для принятия управленческих решений и управления развитием системы обработки экспертной аналитики [6, 7]. программа экономический ресурс трудоёмкость
В настоящее время СОСОМО модель нигде не применяется. Но она стала основой для разработки модели СОСОМО 2, которая включает в себя более полную поддержку современных методов разработки ПС и построена на обновленной базе проектов.
Библиографический список
1. Евдокимов И.В. Менеджмент качества и управление развитием системы обработки экспертной аналитики // Труды Братского государственного университета. Серия: Экономика и управление. 2015. Т. 1. С. 212-219.
2. Миньков С.Л. Программная инженерия. Лабораторный практикум. Часть 2: учебное пособие - Томск: ТУСУР. 2014.
3. Евдокимов И.В. Кадровое обеспечение внедрения SCADA-систем на предприятиях // Труды Братского государственного университета. Серия: Экономика и управление. 2005. Т. 1. С. 116-119.
4. Евдокимов И.В. Аспекты внедрения информационных технологий на предприятиях г. Братска // Труды Братского государственного университета, Серия: Экономика и управление, 2006. Т. 1. С. 144-148.
5. Евдокимов И.В. Информационные технологии учета методического обеспечения образовательного процесса//Проблемы социально-экономического развития Сибири. - 2012. - №4 (10). - С. 9-14.
6. Евдокимов И.В. Адаптация стандартов программных средств к проектам в области информационных технологий // Труды Братского государственного университета. Серия: Экономика и управление. 2010. Т.2. С. 97-101.
7. Евдокимов И.В. Процедура идентификации как этап создания систем управления и принятия решений // Проблемы социально-экономического развития Сибири. 2012. №4. С. 14-18.
Аннотация
Применение модели СОСОМО в экономике программной инженерии. Д.И. Битковский, студент А.В. Моторко, студент. Сибирский федеральный университет. (Россия, г. Красноярск)
В статье рассматривается экономическая составляющая разработки программных средств, в частности модель конструктивных затрат COCOMO. Её типы и уровни, а также применение в разработке программных средств. Также показывается работа данной модели на примере программы для ЭВМ на эту же тематику «СОСОМО - калькулятор». Программа будет производить необходимые вычисления, используя параметры, заданные пользователем.
Ключевые слова: COCOMO, программа для ЭВМ, IT-проект, программное обеспечение, оценка эффективности, экономическая эффективность.
Размещено на Allbest.ru
...Подобные документы
Модель этапа пост-архитектуры. Предварительная оценка программного проекта на основе LOC-метрик. Расчет затрат на разработку ПО. Стоимость, длительность разработки проекта на основе модели этапа пост-архитектуры конструктивной модели стоимости СОСОМО II.
курсовая работа [89,9 K], добавлен 29.09.2009Понятие программной инженерии как применения определенного систематического измеримого подхода при разработке, эксплуатации и поддержке программного обеспечения. Модели процесса разработки программного обеспечения. Управление программными проектами.
презентация [870,6 K], добавлен 12.11.2014Этапы разработки программных продуктов. Основные понятия и методы программирования. Разработка обучающей программы по технике безопасности при работе на ПК. Постановка и разработка модели задачи. Проектирование. Отладка и тестирование программы.
курсовая работа [3,8 M], добавлен 04.10.2008Стадии разработки программного средства. Средства, методологии и методы его разработки. Оценка надежности и качества проекта. Обоснование необходимости разработки программы. Тестирование как процесс выполнения тестовой программы с намерением найти ошибки.
презентация [57,0 K], добавлен 27.12.2013Влияние качества программных продуктов на экономические характеристики производства, управление ими. Стандартизированные характеристики качества сложных программных продуктов. Гипотетические примеры определения требований к характеристикам качества.
контрольная работа [22,4 K], добавлен 13.12.2014Базовые основы разработки программного обеспечения: его классический жизненный цикл, макетирование, стратегии конструирования, модели качества процессов разработки. Применение параллельных алгоритмов и CASE-системы, критерии оценки их эффективности.
курсовая работа [179,5 K], добавлен 07.04.2015Анализ методов оценки надежности программных средств на всех этапах жизненного цикла, их классификация и типы, предъявляемые требования. Мультиверсионное программное обеспечение. Современные модели и алгоритмы анализа надежности программных средств.
дипломная работа [280,5 K], добавлен 03.11.2013Содержание термина "планирование эксперимента". Сущность метода наименьших квадратов. Разработка программы анализа статистической оценки качества проектируемой системы: составление и графическое представление алгоритма решения, листинг программы.
курсовая работа [4,1 M], добавлен 16.09.2011Особенности документирования программных средств, стадии разработки продуктов. Классификация обеспечивающего пакета документов. Сущность и основные недостатки Единой системы программной документации. Классификация стандартов, Гост 19.102-77 ЕСПД.
презентация [64,8 K], добавлен 22.03.2014Обоснование необходимости разработки АОС "Информационная безопасность". Построение модели деятельности "Как есть" (AS-IS) и "Как должно быть" (TO-BE). Анализ программных продуктов. Создание модели предметной области. Разработка информационной системы.
отчет по практике [5,3 M], добавлен 31.05.2015Эффективность и оптимизация программ. Разработка программных продуктов. Обеспечение качества программного продукта. Назначение, область применения, требование к программному продукту. Требования к функциональным характеристикам, надежности, совместимости.
курсовая работа [46,8 K], добавлен 05.04.2009Этапы технологического процесса разработки программных продуктов, их жизненный цикл. Общая характеристика языков программирования. Виды ошибок и принципы тестирования программ. Установление прав собственности на продукт посредством лицензий и контрактов.
презентация [1,9 M], добавлен 01.05.2011Описание математической модели, таблицы истинности. Разработка программы, реализация защитного программирования. Отладка и тестирование программы, инструкция пользователя. Расчет затрат на разработку и коммерческой эффективности проекта от реализации.
дипломная работа [3,2 M], добавлен 18.06.2012Интегрированная среда разработки Lazarus. Среда программных продуктов Lazarus, объекты программных компонентов. Палитра компонентов Standard, Additional. Разработка справочной системы: структура проекта, интерфейс программы, компоненты приложения.
курсовая работа [695,2 K], добавлен 08.01.2023Анализ обучающих программ, систем для создания обучающих дисков, оценки качества обучающих систем, информационных технологий, состояния в области проектирования программных продуктов. Описание диаграммных методик. Разработка математической модели.
дипломная работа [1,7 M], добавлен 17.07.2009Формализация задачи и применение численных методов. Классификация программных продуктов для моделирования технических устройств. Программный комплекс MatLab with simulink. Создание интерфейса модели электрогидравлического вихревого регулирующего элемента.
дипломная работа [694,9 K], добавлен 25.07.2012Моделирование процесса обработки 500 сигналов, поступающих с датчиков. Определение среднего времени задержки сигналов в канале и линии-ЭВМ и вероятности переполнения входных накопителей. Разработка и описание алгоритма функционирования программной модели.
курсовая работа [140,7 K], добавлен 09.04.2013Использование моделирования в программной инженерии в процессе разработки программного обеспечения. Основные этапы процесса разработки программного обеспечения, их характеристика. Моделирование процессов, их определение фазами и видами деятельности.
реферат [2,2 M], добавлен 25.12.2017Проблемы современных проектов разработки ПО. Причины неудач программных проектов. Ошибки требований и стоимость переделок. Основная фундаментальная идея программной инженерии. Типы нефункциональных и эксплуатационных требований к программному обеспечению.
презентация [3,2 M], добавлен 19.09.2016Ошибки, которые воздействуют на программное обеспечение и методы прогнозирования программных отказов. Анализ моделей надежности программного обеспечения и методика оценки ее надежности. Экспоненциальное распределение. Методика оценки безотказности.
курсовая работа [71,5 K], добавлен 15.12.2013