Записи

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

  • Заказное ПО. Продукт разра­ботки предна­зна­чается опреде­ленному заказчику, который финан­сирует процесс разра­ботки и определяет требо­вания к программному продукту. По испол­нении заказа все права на продукт переходят к заказчику, который в будущем для совер­шен­ство­вания данного программного продукта может привлечь либо прежнего, либо любого другого исполнителя.
  • Инвести­ци­онное ПО. Отличается от заказного отсут­ствием конкретного заказчика (хотя разра­ботка может вестись и на средства, выделенные внешним инвестором). Обычно в этом случае права на программный код сохраняет испол­нитель. Благодаря этому создаются условия для работы по посто­янному совер­шен­ство­ванию данного ПО, выпуска его новых версий и обнов­лений для действующих. Вероятна и органи­зация непре­рывно работающей службы техни­ческой поддержки. Коммер­ческий эффект дости­гается обычно путем продажи программного продукта заинте­ре­со­ванным пользо­ва­телям. Почти все программные продукты, представ­ленные на свободном рынке относятся к данному типу ПО.
  • Игровое ПО. Это условное название, поскольку большинство компью­терных игр можно отнести скорее к инвести­ци­онному типу ПО. Но в целом данный тип ПО харак­те­ри­зуется тем, что в процессе его разра­ботки отсут­ствует (или до минимума ограничена по сроку) фаза сопро­вож­дения, что сильно влияет на экономику процесса разра­ботки и его организацию.
  • Встро­енное ПО. Это прикладное ПО, созда­ваемое под конкретные техни­ческие изделия и постав­ляемое вместе с ними. Сопро­вож­дению, как правило, не подлежит, но харак­те­ри­зуется повышенными требо­ва­ниями к качеству, надеж­ности и безот­каз­ности. Объяс­няется это тем, что отзыв партии изделий произ­во­ди­телем – ситуация очень непри­ятная, несущая серьезные прямые коммер­ческие и репута­ци­онные потери для произ­во­дителя изделий.

Этапы разра­ботки ПО

Любой процесс, в том числе и разра­ботка ПО состоит из какого-то количества опреде­ленных этапов. Процесс разра­ботки ПО отличается тем, что обычно к работам над следующим этапом приступают, когда уровень готов­ности преды­дущего достигает около 80–90%. В наибольшей степени данное обсто­я­тельство относится к разра­ботке требо­ваний, поскольку именно в них какой-то уровень неопре­де­лен­ности иногда сохра­няется практи­чески до завер­шения проекта. Этот момент является серьезным фактором риска, и должен непре­рывно контролироваться.

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

  1. Подго­товка. Опреде­ление общей концепции системы, востре­бо­ван­ности, реали­зу­е­мости и т.д.
  2. Разра­ботка конкретных требо­ваний к программному продукту.
  3. Разра­ботка архитектуры. Целью данного этапа является создание физической и логической архитектуры верхнего уровня, способной выполнить все требо­вания к разра­ба­ты­ва­емому программному продукту. На данном этапе возможна коррекция концепции, перво­на­чального техни­че­ского решения и требо­ваний. По его завер­шении, возможно начало парал­лельных работ над созданием следующей версии данного программного продукта.
  4. Этап поставки. Может включать несколько проме­жу­точных этапов, в зависи­мости от масштаб­ности проекта. На данной стадии проект приоб­ретает форму относи­тельно готового программного продукта.
  5. Опытная эксплу­а­тация. Продол­жи­тель­ность данного этапа также зависит от масштаб­ности проекта. На этом этапе выявляются и устра­няются недочеты, баги, уязви­мости и т.д. Прове­ряется качество работы ПО в различных условиях эксплу­а­тации, совме­сти­мость с другими программными продуктами и т.д. Данный этап можно также назвать этапом основной отладки и оптими­зации программного продукта.
  6. Этап коммер­ческой реали­зации, промыш­ленной эксплу­а­тации и т.д. Сопро­вож­дение и техни­ческая поддержка.
  7. Вывод из эксплу­а­тации. Прекра­щение техни­ческой поддержки и выпуска обновлений.
  8. Завер­шение работ.

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

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