Контакты
Москва
Серебряническая наб., 29
+7 (495) 108-24-49
Кемерово
Ноградская, 5, офис 404
+7 (3842) 65-04-90
Digital-агентство
Мэйк

Проектирование программной части

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

Для чего проектировать программную часть

Для расчета точной сметы проекта. Рассчитать точную смету сайта без проектирования программной части сродни предсказаниям, которые ни на чем не основаны. Проекты без планирования и проектирования не укладываются сроки (причем сильно), идут со значительным увеличением стоимости, делаются «лишь бы сдать» и часто не доходят до внедрения. Причина тут проста: без понимания того, что нужно делать, невозможно рассчитать сколько человеко-часов займет разработка и сколько она в итоге будет стоить. Проще и дешевле «на берегу» определить, что нужно сделать, описать все работы с программистами и получить железобетонную смету, чем долгие месяцы переписывать одно и тоже, тратя деньги и время.

Для интегарции с внешними сервисами. Даже если на своих сайтах сервисы пишут «У нас есть готовый модуль интеграции с вашим сайтом» на самом деле в 90% случаев требуется помощь разработчиков и долгие переговоры с техподдержкой. Так что и в этих случаях не обойтись без проектирования программной части.

Когда требуется проектировать программную часть

Если вы планируете один из таких модулей:

  • интеграция с внешними сервисами: эквайринг, email и sms рассылки, карты Google Maps, Яндекс.Карты, расчет стоимости доставки, социальные сети, Яндекс.Маркет;
  • интеграция с внутренними системами: CRM-системы, 1С, системы внутреннего документооборота;
  • онлайн-запись, формы заявки, калькуляторы расчета стоимости;
  • каталоги продукции: список товаров и фильтры, карточки товаров, корзина;
  • регистрация, вход, личный кабинет пользователя;
  • формирование отчетов и выгрузка данных в .xls, .csv, uml;
  • любые другие нестандартные разделы сайта.

Этапы проектирования программной части

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

Определяем разделы, где требуется проектирование

Изучаем прототипы и дизайн сайта, обсуждаем проект с менеджером, определяем фронт работ.

Описываем функционал разделов

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

Описываем технические требования

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

Описываем API проекта

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

Определяем стек технологий

Для сервисов и высоконагруженных проектов мы используем Ruby on Rails и Laravel, для корпоративных сайтов 1С-Битрикс. СУБД: PostgreSQL, MySQL.

Интеграция с внешними системами

Интеграция с внешней системой — обмен данными между сайтом или приложением и системой заказчика. Примеры внешних систем: 1С, CRM-система, системы эквайринга, email и sms рассылок, Яндекс.Маркет.

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

Обычно на стороне системы, с которой мы проводим интеграцию (например, 1С), также нужно сделать доработки. Мы не беремся за эти работы. У заказчика должен быть свой программист, который сможет разобраться в задаче и доработать систему.

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

Интеграция с 1С

Существует два типа 1С: стандартная и доработанная. 1С стандартная, если её никто не дописывал под нужды компании. Во всех остальных случаях 1С является доработанной.

Готовые модули интеграции с 1С подходят только для стандартной версии. Например, готовый модуль есть у 1С-Битрикс. Однако, даже в этом случае без описания протокола интеграции и доработок не обойтись, но объём кода будет сильно меньше. Например, не надо писать скрипты старта импорта или экспорта, обработчики полученных пакетов из 1С — всё это уже есть в готовом модуле, но с определёнными ограничениями. В рамках готового решения можно: обмениваться товарами — выгружать их на сайт, выгружать заказы с сайта в систему, синхронизировать статусы заказов. Если этого функционала недостаточно — нужно дописывать как сайт, так и 1С компании.

В большинстве случаев у заказчика есть доработанная 1С и её требуется «связать» с сайтом.

Схема интеграции приложения с 1С в одном из проектов
Схема интеграции приложения с 1С в одном из проектов

Интеграция с самописными системами

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

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

  • Обычно формат передачи данных JSON;
  • Обязательно описание протокола интеграции до разработки;
  • Сложно рассчитать точную стоимость интеграции из-за непредсказуемости самописной системы;
  • Интеграция происходит при тесном сотрудничестве с программистами самописной системы
Схема интеграции сайта с внутренней системой документооборота в одном из проектов
Схема интеграции сайта с внутренней системой документооборота в одном из проектов

 

Интеграция с другими внешними системами

За 10 лет мы интегрировали сайты и приложения с множеством систем: от популярных до самых экзотических.

У нас есть готовые решения интеграции сайта с большинством популярных сервисов:

  • Яндекс.Касса;
  • email и sms-рассылка Unisender;
  • карты Яндекс.карты и Google Maps;
  • онлайн-маркет Яндекс.Маркет;
  • социальные сети Facebook, Вконтакте, Instagram;
  • коробочное решение 1С-Битрикс — 1С.

Интеграция сайта с этими сервисами будет для вас дешевле и быстрее.

Этапы описания протокола интеграции

Заполнение брифа на интеграцию
Чтобы понять оценить фронт работ, у нас с годами сформировался очень подробный бриф на интеграцию. Мы просим заполнить его уже на этапе продажи: указать основные требования и вводные, предоставить пример выгрузки. После заполнения брифа мы рассчитываем стоимость описания протокола интеграции и вилку стоимости программной разработки.
Проведение первой встречи с заказчиком
На встрече со стороны заказчика должны присутствовать менеджер и программист. Так мы не теряем время всех участников проекта. Пример из практики: разработчики сайта и менеджер заказчика договорились и все согласовали, а программист 1С потом говорит, что это сделать невозможно. Тут мы составляем схему интеграции, распределяем задачи, ставим сроки.
Составление схемы интеграции
Помимо самой схемы описываем порядок взаимодействия сайта с внешней системой.
Описание протокола взаимодействия сайта и внешней системы (API)
Разрабатываем API на стороне сервера сайта: запросы и ответы сервера с примерами в виде таблиц. Описываем API на стороне внешней системы: запросы и ответы сервера с примерами в виде таблиц.
Описание требований к безопасности
Если требуется провести интеграцию с внутренними системами заказчика, то описываем способы подключения к его серверам.

Сколько это стоит

 
Срок
Стоимость
Проектирование интеграции сайта с 1С
10 рабочих дней
От 30 000 рублей
Проектирование интеграции сайта с самописной системой
15 рабочих дней
От 75 000 рублей
*итоговая стоимость рассчитывается на основе брифа

Клиенты

Более 100 компаний доверили нам свои коммуникации. Со многими сотрудничаем на протяжении 5-6 лет.

Другие услуги в категории «Аналитика»

  1. Сбор данных и исследования
    Этап аналитики начинаем со сбора данных и проведения исследований. Исследования — фундаментальная часть проектирования, они дают понимание того, чего хотят люди. На основе полученных данных определяем цели и KPI, структуру, контент и рекламную стратегию
  2. Проектирование интерфейсов
    Проектируем интерфейсы сайтов и мобильных приложений. Прорабатываем навигацию, обосновываем расположение каждого блока