WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!

Моделирование жизненного цикла программного продукта

Автореферат кандидатской диссертации по экономике

 

На правах рукописи

ЦЕДИК Дмитрий Владимирович

МОДЕЛИРОВАНИЕ ЖИЗНЕННОГО ЦИКЛА ПРОГРАММНОГО

ПРОДУКТА

Специальность 08.00.13 - Математические и инструментальные

методы экономики

АВТОРЕФЕРАТ

диссертации на соискание ученой степени кандидата экономических наук

Санкт-Петербург

2007


2

Работа выполнена на кафедре исследования операций в экономике

имени профессора Ю.А. Львова

ГОУ ВПО "Санкт-Петербургский государственный инженерно-экономический

университет"

Научный руководитель:                         доктор экономических наук,

профессор

Власов Марк Павлович

Официальные оппоненты:                      доктор экономических наук,

профессор

Соколов Роман Владимирович

кандидат технических наук, доцент Рахманова Ирина Олеговна

Ведущая организация:                           ГОУ ВПО "Санкт-Петербургский

государственный Политехнический университет"

Защита  состоится   «     »   сентября  2007г.   в  ____   ч.   на  заседании

диссертационного совета К 212.219.01 при ГОУ ВПО "Санкт-Петербургский государственный инженерно-экономический университет" по адресу: 191002, Санкт-Петербург, ул. Марата, 27, ауд. 324.

С диссертацией можно ознакомиться в библиотеке ГОУ ВПО "Санкт-Петербургский государственный инженерно-экономический университет" по адресу: 196084, Санкт-Петербург, Московский пр., 103-а.

Автореферат разослан «      » июля 2007 г.

Ученый секретарь

диссертационного совета,

кандидат экономических наук,                                        В.М. Корабельников

профессор


3

Общая характеристика работы

Актуальность исследования

Почти треть проектов информационных систем прекращают свое существование, оставшись незавершенными. По данным, публикуемым компанией Standish Group, в 1996 году 84% проектов информационных систем не были завершены в установленные сроки, в 1998 году их доля сократилась до 74%, однако и в 2000-м общий объем "хронического" незавершенного производства не опустился ниже 50%. Для избежания этой ситуации, необходимо тщательно планировать жизненный цикл программных продуктов, проводить анализ и осуществлять поиск наиболее эффективных решений и методов, позволяющих выпустить готовый продукт, при этом необходимо уложиться в заданные сроки, ограничения по стоимости разработки и при всем при том обеспечить соответствующий уровень качества.

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

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

Степень изученности проблемы

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

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

Предметом исследования являются модели и методы, возникающие при исследовании, управлении и планировании жизненного цикла программного продукта.

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


4

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

В диссертационном исследовании решаются следующие основные задачи:

  1. анализ существующих моделей разработки программных продуктов, выявление сильных и слабых сторон каждой модели, обозначение сферы применения. Построение адаптированных моделей жизненного цикла разработки продукта, где в качестве "каркаса" используются базовые модели разработки;
  2. формулирование задачи определения параметров программного продукта и предложение методов решения;
  3. формализация подходов, используемых при формировании стоимости программного продукта на этапе планирования проекта, при индивидуальной разработке, рассмотрение методологии и подходов, используемых для построения прогнозных оценок;
  4. моделирование процесса замены программного продукта с учетом морального износа;
  5. определение сроков разработки нового программного продукта при замене продукта на новый.

Теоретической и методологической основой исследования послужили работы отечественных и зарубежных ученых и специалистов в области управления программными проектами. Фундаментальными трудами в области управления программными проектами являются работы Майкла Ньюэлла, Фредерика Брукса, Барри Боэма, У. Ройса, Р. Фатрелла, Джосефа Филлипса. Среди работ, в которых рассматривался процесс разработки программных продуктов, можно выделить работы В. Кулямина, Р. Арчибальда, М. Грашиной, М. Разу, В. Богданова, Э. Йордона, В. Липаева, А. Вендрова, Л. Боброва, Р. Томсетта, Г. Ефимова, Д. Яна, Э. Брауде.

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

Научная новизна диссертационного исследования

На основе проведенного анализа жизненного цикла программного продукта, предложен и решен ряд задач имеющих научную новизну:

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

5

разработку программного продукта; технология разработки программного продукта, продолжительность разработки программного продукта, степень адаптации для конкретного пользователя, проектный период эксплуатации у пользователя;

  1. смоделирован процесс замены программного продукта с учетом морального износа, где в качестве базы анализа выступает поток амортизационных отчислений и затраты на модернизацию;
  2. определены сроки разработки нового программного продукта при замене продукта на новый, здесь используется сравнение планового и фактического потока доходов от продажи программного продукта;
  3. определена процедура обновления программного продукта, где обновление может выступать в форме новой версии продукта или в форме нового продукта;
  4. формализованы подходы, используемые при формировании стоимости программного продукта, при индивидуальной разработке на заказ. Данные подходы могут использоваться при установлении договорных отношений по стоимости работ за разработку программного продукта.

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

Апробация результатов диссертационного исследования

Основные результаты исследования, выводы и заключения нашли отражение в публикациях автора, докладывались и обсуждались на научно-практической конференциях студентов и аспирантов: "Менеджмент и экономика в творчестве молодых исследователей ИНЖЭКОН-2005" и "Менеджмент и экономика в творчестве молодых исследователей ИНЖЭКОН-2007".

Научные публикации

Основные положения диссертационного исследования опубликованы в 7 научных статьях общим объемом 1,36 п. л.

Структура диссертации

Диссертация состоит из введения, трех глав, заключения и списка использованной литературы.

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

В первой главе "Анализ концепций жизненного цикла программного продукта" проведен анализ концепций разработки программного продукта, описаны основные процессы используемые в процессе   разработки.    Здесь   же   рассмотрены   стандарты,   используемые


6

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

Во второй главе "Анализ моделей разработки программного продукта и оценка результата разработки" ставится задача определения параметров программного продукта, таких как: стоимость разработки проекта, длительность проекта и трудоемкость. Приведены основные методы, используемые для оценки вышеназванных показателей фирмами, занимающимися разработкой программных проектов. Формализованы подходы, используемые при формировании стоимости программного продукта, при индивидуальной разработке на заказ. Рассмотрены основные модели, используемые в настоящее время для разработки программных продуктов.

В третьей главе "Стоимостная оценка и моделирование процессов замены программного продукта" рассмотрены особенности программных продуктов, в плане стоимостной оценки готового продукта. В связи с моральным устареванием программных продуктов в работе разработаны две модели их замены, в которых в качестве базы для анализа выступают:

  1. амортизационные отчисления;
  2. прирост доходов от продажи программного продукта.

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

В заключении приводятся общие выводы по результатам диссертационного исследования.

Объем диссертационной работы составляет около 170 страниц машинописного текста, включает 33 рисунка, 14 таблиц. Список литературы включает 91 наименование.

Основное содержание диссертационной работы

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


7

отличаются, главным образом, интенсивностью и контролем качества выполнения работ. Как правило, всегда есть возможность выбора среди нескольких "начальных" жизненных циклов разработки. Поэтому в работе проведен анализ наиболее широко употребляемых моделей жизненных циклов, основных принципов выбора соответствующего жизненного цикла, а также принципов, которыми следует руководствоваться при адаптации выбранного цикла к потребностям определенного проекта.

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

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

Наиболее известными и широко используемыми моделями жизненного цикла разработки программного продукта можно назвать следующие: каскадная модель, V-образная, эволюционное ускоренное прототипирование, быстрая разработка приложений (RAD), инкрементная и спиральная модели.

В работе проведен анализ каждой из моделей, рассмотрены преимуще­ства и недостатки, а также приведены примеры модифицированных моделей и руководство по их адаптации.

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

интерфейс, цели и организационная структура); ¦¦¦ необходимый    объем    инвестиций    и    трудозатрат,    требуемый    на

разработку программного продукта; ¦¦¦ технологию разработки программного продукта (выбор технологии на

уровне топологии модели); ¦¦¦ продолжительность разработки программного продукта; ¦¦¦ степень    адаптации    для    конкретного    пользователя    (привязка    к

конкретным бизнес процессам); ¦¦¦ проектный период эксплуатации у пользователя.

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


8

Программные продукты могут создаваться как:

  1. индивидуальная разработка под заказ;
  2. разработка для массового распространения среди пользователей. При      индивидуальной      разработке      фирма-разработчик      создает

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

При разработке для массового распространения фирма-разработчик продает продукт во множестве экземпляров.

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

В работе приведены 2 подхода, использование которых позволяет определить период замены программного продукта на новый:

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

1. Моделирование процесса замены программного продукта с учетом

морального износа

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

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

9

  1. возникновением новых задач, которые всегда появляются в экономической среде и которые часто невозможно решать, используя уже существующий на предприятии программный продукт;
  2. появлением новых возможностей и новых тенденций.

Часто переход на новые программные продукты необходим из-за резкого изменения экономической среды, а также законодательной базы. При переходе на программные продукты других фирм пользователь несет дополнительные затраты, связанные не только с приобретением, но и обучением персонала, а также освоением. Но своевременная замена программных продуктов определяет производительность труда, возможность решения более широкого круга объективно-необходимых задач, расширение необходимого контроля изменений, расширение базы данных и многое другое, что непосредственно влияет на скорость и качество работ, выполняемых посредством ПП.

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

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

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

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

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

Для оценки необходимых затрат на модернизацию в связи с моральным износом программного продукта используется экспоненциальное распределе­ние:

F(x) = ехр(-Дх))                                               (1)

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


10

Пример.   Программный  продукт  состоит  из  двух  подсистем  с  про­должительностью   цикла   эксплуатации   5   и   10   лет   при   сроке   службы программного продукта 15 лет: для первой подсистемы

Жизненный цикл программного продукта можно представить как ряд последовательных этапов, который характеризуется затратами на разработку, выведение на рынок и продажу. Каждый этап можно рассматривать с точки зрения затрат и доходов, которые можно планировать. Таким образом, если


13

задана дискретная последовательность периодов * -{М,-,^-Д}; где t-\ . период начала разработки, а т- период окончания продаж, то каждому ^ приписано:

at - затраты на разработку и выведение на рынок;

"t - доходы от продажи ПП.

В процессе реализации ПП из-за падения объема продаж против запланированного, возникает необходимость обновления продукта, результатом которого является выпуск новых версий. Таким образом, жизненный цикл ПП можно представить в виде "графа - дерева", представленного на рисунке 5.

Рис. 5. "Граф-дерево"развития ПП

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

основной задачей фирмы - разработчика является определение периода t 5 в котором следует начинать разработку.  В  случае ошибочного определения

периода начала разработки t 5 разработчик несет потери.

Процесс получения доходов может планироваться, т.е. можно считать

заданной последовательность величин iA/ , где ^ = ^ ,-Д .

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

ПП. Фактический процесс получения доходов           , где    t — tl,..,T 5 может

существенно отличаться от запланированного, как показано на рисунке 6. Если

в каком-либо периоде ^ фактическая выручка от продажи ct <°t; т.е. существенно меньше запланированной, то появляется необходимость разработки новой версии продукта. Если падение объема продаж весьма существенно, то появляется необходимость вывода нового продукта на рынок.


14

1.2 -i


¦факт ¦план


1     3     5     7     9   11   13  15  17  19 21   23 25 27 29 31   33  35 37 39 41

Время

Рис. 6. Плановая и фактическая динамика продаж ПП

Но когда произошло резкое снижение объема продаж, то становится поздно принимать решение о разработке нового продукта, так как фирма может быть вытеснена с рынка в результате конкурентной борьбы. Поэтому, для разработчика ПП важно определить период, в котором следует начать разработку продукта. Формально периодом начала разработки может быть:

1.  Фактическое падение темпов роста продаж нескольких следующих

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

  1. Затраты на обновление продукта настолько велики, что могут оправдать прирост ожидаемого дохода.
  2. Появление на рынке новых аппаратных средств, увеличивающих производительность ПК, которые дают такие возможности, которые продукт принципиально не может использовать.

Выше перечисленное не определяет всех причин, приводящих к разработке нового продукта. Поэтому можно рассмотреть модель жизненного цикла программного продукта, которая является динамической и целью решения задачи является определение такого периода начала разработки t\ который является минимальным.

= mm{t} ^ ПрИ котором выполняются следующие ограничения: 1) Объем затрат на всем жизненном цикле ограничен

т

Y,at+a'<A(8)

t=\

а

затраты на разработку и выведение на рынок;

я' - затраты на обновление продукта.

Затраты на обновление продукта должны быть учтены заранее, так же как и затраты на разработку.


15

2) Доходы от продажи ПП должны быть не меньше заданных, т.е.

tb^B(9)

t=\

"t - доходы от продажи ПП.

Реальные суммарные доходы, должны быть не меньше, чем запланированные.

Кроме того, следует учесть, что если на протяжении некоторой последовательности периодов падение доходов превосходит заданную величину, то это приводит:

1.                                                с.<кхЬ.(10)

для  V t = {7} cz Т, где *i - коэффициент прироста дохода Это приводит к необходимости обновления продукта, если

Xе* ^1>/                         (и)

для V t = {t} а Т

2.c-t Кk*b-t(12)

для W = {t} d Т, где ^2 - коэффициент прироста дохода

Это приводит к необходимости разработки нового ПП, если

ZC/^I>/                                 (13)

для V t = {t} а Т

Важно отметить, что условием обновления ПП является падение прироста дохода, а не абсолютное падение.

Здесь, можно использовать правило 30 %, в нашем случае это будет означать, что при падении дохода больше чем на 30 %, возникает необходимость поставки нового ПП, в случае же падения дохода менее чем на 30 % - выпуск новой версии, то есть:

ct

<70% _Н0ВЫЙПП                                        п4)

ut

100%>-^>70%                                                     п,-л

и- новая версия                        (15)

При значительном снижении прироста дохода выходом из положения является не "дожимание" системы S1, а выпуск нового более современного и функционального ПП и переход на новую S-кривую, как показано на рисунке 7.


16


1.2 -i


¦S1 S2


1  4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61

Время

Рис. 7. Смена S-кривых

Окончание процесса разработки и вывода нового ПП на рынок определяется точкой насыщения, то есть той точкой, в которой прирост объемов продаж резко падает (точка перегиба).

Основные результаты и выводы

  1. На основе анализа проведена классификация существующих моделей разработки программных продуктов, выявлены сильные и слабые стороны каждой модели, обозначены сферы применения.
  2. Поставлена задача и предложены методы определения основных параметров программного продукта.
  3. Разработана модель замены программного продукта на новый, в которой, в качестве базы для анализа выступают амортизационные отчисления.
  4. Разработана модель замены продукта на новый, основанная на анализе потока доходов, в которой определены сроки разработки нового продукта.
  5. Определена процедура обновления программного продукта, где обновление может выступать в форме новой версии продукта или в форме нового продукта.

17

Публикации по теме диссертационной работы

Статья, опубликованная в рекомендованных ВАК изданиях

1.  Цедик Д.В. Программный продукт как объект стоимостной оценки //

Вестник ИНЖЭКОНа. Сер. Экономика. 2007. Вып. 3 (16), Стр. 314-317

- 0,3 п.л.

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

    • Цедик Д.В. Жизненный цикл программного обеспечения. Менеджмент и экономика в творчестве молодых исследователей. ИНЖЭКОН-2005. VIII науч.-практ. конф. студ. и асп. СПбГИЭУ 19,20 апреля 2005 г.: тез. докл. / редкол.: Б.М. Генкин (отв. ред.) [и др.]. - СПб.: СПбГИЭУ, 2005 - 0,1 п.л.
    • Цедик Д.В. Особенности жизненного цикла программного продукта. Менеджмент и экономика в творчестве молодых исследователей. ИНЖЭКОН-2007. X науч.-практ. конф. студ. и асп. СПБГИЭУ 17, 18 апр. 2007 г.: тез. докл. / редкол.: Б.М. Генкин (отв. ред.) [и др.]. - СПб.: СПбГИЭУ, 2007 - 0,1 п.л.
    • Цедик Д.В. Модели жизненного цикла разработки информационных систем// Современные проблемы экономики и управления народным хозяйством. Сб. науч. ст. асп. СПбГИЭУ. Вып. 14 / Отв. ред. Е.Б. Смирнов и др. - СПб.: СПбГИЭУ, 2005 - 0,21 п.л.
    • Цедик Д.В. Характеристика программного продукта// Современные проблемы экономики и управления народным хозяйством. Сб. науч. ст. асп. СПбГИЭУ. Вып. 15 / Отв. ред. Е.Б. Смирнов и др. - СПб.: СПбГИЭУ, 2006 - 0,22 п.л.
    • Цедик Д.В. Построение модели жизненного цикла разработки программного обеспечения // Современные проблемы экономики, социологии и права. Сб. науч. ст. асп. СПбГИЭУ. Вып. 2 / Отв. ред. Е.Б. Смирнов и др. - СПб.: СПбГИЭУ, 2007 - 0,2 п.л.
    • Цедик Д.В. Авторское право на программный продукт как объект стоимостной оценки // Современные проблемы экономики, социологии и права. Сб. науч. ст. асп. СПбГИЭУ. Вып. 1 / Отв. ред. Е.Б. Смирнов и др. - СПб.: СПбГИЭУ, 2007 - 0,23 п.л.
     



© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.