Стоимость разработки базы данных

Стоимость разработки базы данных

Компания «Арбор Прайм» предоставляет услуги по разработке баз данных. Мы создаем базы данных на заказ для обеспечения работы с информацией различного назначения.

В настоящее время в современном мире электронных технологий практически невозможно представить компанию (фирму или организацию), в которой не требуется обработка некоторого объёма информации. Информацию требуется где-то хранить. Информация может динамически изменяться и накапливаться в больших объемах. Регулярно требуется выборка данных по определённым критериям из всего массива. Работа с Excel-документами может сильно затормаживать процесс обработки, в то время как работа с базами данных избавит Вас от обработки огромных Excel-файлов, заполнения большого количества лишних бумаг, что позволит экономить время и деньги на выполнение различных задач.

База данных или программа?

Меня часто спрашивают, а сколько стоит создать базу данных? Сразу возникает встречный вопрос, а что вы понимаете под базой данных? И что нужно в каждом конкретном случае: база данных или все-таки программа? Многие ответят, на секунду задумавшись, что в первую очередь — программа.

И будут не совсем правы. Можно с уверенностью сказать, что по большому счету заказчику не нужно ни то, ни другое. Ему нужно решение своих проблем, которые он может решить с помощью программы или, возможно, каким-нибудь другим способом, скажем, наняв еще одного человека, который будет делать нужный директору отчет. Итак, для решения своих задач заказчику нужна помощь? Эту помощь может оказать компьютер, конечно снабженный определенным программным обеспечением.

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

Из чего складывается стоимость заказной разработки

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

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

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

Читайте также:  Panasonic hc v770 отзывы профессионалов

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

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

Ох уж эти человеко-часы

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

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

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

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

Стоит ли столько платить?

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

Читайте также:  Что такое сетевой кабель не подключен ростелеком

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

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

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

Так сколько же это стоит?

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

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

Стоимость проекта около 1500-2000$ — кроме базовых возможностей есть поле для создания новых учетных единиц в пределах 30-40 часов работ. Типичные решения, которые позволяет включать в себя , несколько форм ввода, итоговые отчеты.

Стоимость проекта около 2000-3000$ — базовые возможности плюс порядка 80 часов доработок. Здесь уже можно создать решение с расчетными задачами, сложной структурой связей и бизнес-логикой, с большим количеством отчетов и форм ввода.

Комплексная автоматизация — это проекты стоимостью более 3000 долларов. Такие проекты целесообразно разделять на отдельные этапы и рассчитывать каждый этап отдельно.

Заключение

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

Читайте также:  Error code 0xc0000001 windows 10 как исправить

Этот вопрос нам задают первым после осознания необходимости разработки базы данных.

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

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

Рассмотрим эти критерии подробнее:

Сложность

Сложность базы данных

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

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

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

Стоимость разработки баз данных, внедрения и поддержки решений может отличаться в порядки.

Тех. задание

Техническое Задание на разработку базы данных

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

Уникальность

Уникальность базы данных

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

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

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

Производительность

Требования к производительности

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

Роли и сценарии

Роли и сценарии работы с базой данных

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

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

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

Это требует дополнительного обсуждения и реализации.

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

Web доступ

Удаленный доступ к базе данных

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

В системах обработки заявок, например, это преимущество часто оказывается решающим.

Обмен данными

Интеграция с другими информационными системами

Все создаваемые нами базы данных имеют базовые механизмы для загрузки (импорт) и выгрузки (экспорт) данных в XML формате (например, в Excel или OpenOffice), доступные пользователям без квалификации программистов.

Это существенно расширяет ваши возможности в части интеграции с другими учетными системами.

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

Ссылка на основную публикацию
Adblock detector