Записи

Любая работа, совер­шаемая по требо­ваниям заказчика и отданная на “откуп” испол­нителю, должна начинаться подго­товкой техни­че­ского задания, разра­ботка ПО, то есть программного обеспе­чения, не является исклю­чением. Говоря иначе, начать разра­ботку ПО можно только после подго­товки грамотного и правильного ТЗ, охваты­ва­ющего все техни­ческие аспекты будущего проекта и пожелания заказавшей работу органи­зации или физиче­ского лица. Рассмотрим действия, необхо­димые для состав­ления правильного документа, который станет основой при написании требуемых программных продуктов. Читать далее

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

Причины

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

  • устаре­вание ПО;
  • отсут­ствие поддержки со стороны компании-разработчика;
  • присут­ствие ряда архитек­турных недостатков, снижающих гибкость ПО;
  • необхо­ди­мость усовер­шен­ствовать программу под текущие требо­вания или новую программную оболочку;
  • утрата контроля над содер­жа­щимися в программе данными.

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

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

Задачи модер­ни­зации ПО

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

  • расши­рение функционала;
  • адаптация под новые аппаратные платформы и технологии;
  • перенос и адаптация пользо­ва­тельских данных;
  • оптими­зация производительности;
  • системная интеграция.

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

Где заказать?

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

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

Цель — Средства — Результат

Ключевой целью для любой коммер­ческой органи­зации является извле­чение прибыли, что обуслав­ливает режим работы сотруд­ников и список выпол­няемых ими задач. Совре­менный мир диктует свои условия к инстру­мен­тарию, доступному работ­никам предприятий — подав­ляющее большинство всех произ­вод­ственных мероприятий осуществ­ляется при помощи компьютера, имеющего доступ к сети Интернет. Таким образом средством дости­жения конечной цели для органи­зации, — получения прием­лемого по объему дохода, стано­вится компьютер и должным образом функци­о­ни­рующее программное обеспе­чение. Однако далеко не всегда доступное в магазинах или на интернет-ресурсах ПО способно выполнять постав­ленные перед ним задачи в полном обьёме.

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

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

Работа програм­мистов, обеспе­чи­вающих выпол­нение заказа на разра­ботку ПО, осуществ­ляется с целью получения продукта, макси­мально соответ­ству­ющего предъ­яв­ляемым к нему требо­ваниям со стороны заказчика. Нужно получить данные, основы­ваясь на инфор­мации об отгрузках разбро­санных по всему городу офисов, посред­ством SMS-сообщения на мобильный телефон руково­дителя — не проблема. Требуется получить нетре­бо­ва­тельную к произ­во­ди­тель­ности обору­до­вания программу, помогающую менеджеру быстро оформить заказ непосред­ственно в торговом зале с помощью планшетного устройства — специ­а­листы компании, разра­ба­ты­вающей программное обеспе­чение под заказ, помогут и в этом.

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

Бесплатно — не всегда даром

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

  • Freeware;
  • DemoWare;
  • Trial или TrialWare;
  • ShareWare;
  • AdWare.

Разберем их более подробно. Первый тип лицензии является самым удобным для конечного пользо­вателя — надпись “Freeware’ означает возмож­ность приме­нения программного продукта без каких-либо ограни­чений. При этом весь риск за вероятные послед­ствия от исполь­зо­вания такого ПО на пользо­ва­тельском обору­до­вании ложится на плечи скачавшего программу человека. Принцип DemoWare означает, что результат деятель­ности разра­бот­чиков имеет целью проде­мон­стри­ровать потен­ци­альные возмож­ности полно­ценной программы будущему покупателю, то есть такое ПО весьма серьезно ограничено в функци­онале. Распро­стра­няются подобные продукты исклю­чи­тельно в демон­стра­ци­онных целях, весьма похожих на еще один вид лицензии на ПО — ShareWare. Этот тип лицен­зи­ро­вания имеет условно-бесплатный принцип распро­стра­нения программных решений, обеспе­чи­вающий потре­би­телям возмож­ность исполь­зо­вания части доступных функций с рядом ограни­чений. К последним могут относиться как недоступ­ность ряда функций, так и ограни­ченное число запусков прило­жения или программы, что вынуждает впослед­ствии приоб­ретать за деньги полностью рабочий продукт.

Анало­гичным с упомя­нутым ShareWare видом лицензии на программное обеспе­чение является TrialWare, чаще всего носящий укоро­ченное название — Trial. Наличие подобной надписи в описании программного продукта говорит о похожих ограни­чениях в исполь­зо­вании — либо путем установ­ления ограни­ченного количества доступных запусков прило­жения, либо с помощью лимити­ро­вания срока, в течение которого пользо­ватель сможет ею пользо­ваться. Так называемый “триальный” период может длиться как несколько дней, так и один и более месяцев. AdWare, как следует из расшиф­ровки этого сокра­щения, предпо­лагает бесплатную эксплу­а­тацию ПО, распла­чи­ваться за что придется необхо­ди­мостью просмат­ривать рекламные блоки, интегри­ро­ванные в прило­жение. Такой вариант лицен­зи­ро­вания наиболее популярен для игр для смарт­фонов и планшетов, распро­стра­няемых по бесплатному принципу через интернет-магазины приложений.

Это был перечень наиболее востре­бо­ванных на рынке и популярных среди разра­бот­чиков видов лицензий, исполь­зуемых при распро­стра­нении программного обеспе­чения среди потре­би­телей. Подробно описывать другие существующие варианты лицен­зи­ро­вания — например, DonationWare, PostCardWare, а также Ad-SupportedWare и BeerWare, когда создателю ПО пользо­ватель обязан при встрече налить стаканчик пива, вряд ли стоит. Большинство из них являются факти­чески “умершими”, и крайне редко встре­чаются в совре­менном мире. Разницу составляют только хорошо известные Linux-пользо­ва­телям бесплатные виды лицензий вроде GNU GPL и OpenSource ПО, о существо­вании которых исполь­зующие опера­ци­онную систему Windows потре­бители узнают только от своих знакомых, пересевших на ОС Linux.

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

С чем “едят” OpenSource

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

Так зачем и для чего создается OpenSource программное обеспе­чение. Чтобы ответить на этот вопрос, доста­точно обратиться к наиболее известным предста­ви­телям “армии открытого кода”. Ими являются посте­пенно набирающая популяр­ность, в том числе и в России, опера­ци­онная система Linux, к созданию которой “приложили руку” сотни, а может и тысячи програм­мистов со всего мира. Другим известным продуктом является интернет-браузер Mozilla Firefox, код которого разра­ботчики предо­ставляют по первому требо­ванию желающих. Основы­ваясь на этой инфор­мации, можно попытаться охарак­те­ри­зовать, для чего програм­мисты вообще создают программные продукты с открытым кодом.

OpenSource — зачем и почему

Итак, программное обеспе­чение с открытым кодом, то есть разра­бо­танное по принципу OpenSource, создается по следующим причинам:

  • недоста­точ­ность челове­ческих ресурсов;
  • популя­ри­зация компании-разработчика;
  • потреб­ность в создании “народного продукта”.

Второй по счету причиной, которая привела к “народ­ности” опера­ци­онной системы Linux, стало отсут­ствие доста­точного количества програм­мистов, готовых работать над усовер­шен­ство­ванием ПО. Первой, если верить заявлению основателя Linux Линусу Торвальдсу, стала потреб­ность в разра­ботке по-насто­ящему “народной” ОС, доступной любому пользо­вателю стаци­о­нарного или мобильного компьютера. Несмотря на “вложенные” в программу челове­ческие ресурсы, добиться конку­ренции со всемирно известной ОС Windows Linux все же не удалось.

Следующей по востре­бо­ван­ности причиной создания OpenSource программного обеспе­чения является, по мнению экспертов, потреб­ность в популя­ри­зации молодой команды разра­бот­чиков, плани­рующих покорить рынок. Если удается выпустить действи­тельно стоящий продукт, востре­бо­ванный среди много­чис­ленных потре­би­телей, после­дующие программы или прило­жения молодой команды програм­мистов будут очень оптими­стично восприняты пользо­ва­телями, даже если они будут распро­стра­няться по платному принципу. Именно так обычно и проис­ходит в совре­менном мире больших денег. Ну и, наконец, последней в списке причин находится попытка создания “народного продукта”, актуального для конкретной или сразу нескольких сфер деятель­ности человека. Среди успешных проектов, где целью являлось именно это, назвать сегодня можно разве что упомя­нутые ОС Linux и браузер Mozilla Firefox, количество “клонов” которого сегодня попросту “зашка­ливает”,

Есть еще одна причина для разра­ботки ПО с открытым кодом — попытка объединить талант­ливых програм­мистов под крылом какой-нибудь общественной органи­зации, но это тема отдельного материала.

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

Читать далее