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

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

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

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

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

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

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

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

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

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

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

Этапы работ

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

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

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

Проведение встречи с заказчиком.

Описание функционала разделов сайта.

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

Описание технических требований к сайту.

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

Описание API проекта, если есть интеграция с внешними системами (1С, Яндекс.Маркет и другие).

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

Определение стека технологий проекта.

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

Интеграции

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

Существуют разные параметры обмена данными между системами.

  • направления:
    1. односторонняя выгрузка/загрузка: сайт → (или ←) внешняя система;

    2. двусторонний обмен: сайт ↔ внешняя система;

  • частота:
    1. периодический обмен;

    2. обмен в режиме реального времени;

  • полнота:
    1. всегда полный,

    2. обмен только изменениями.

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

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

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

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

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

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

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

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

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

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

  • Обычно формат передачи данных JSON;

  • Обязательно описание протокола интеграции до разработки;

  • Сложно рассчитать точную стоимость интеграции из-за непредсказуемости самописной системы;

  • Интеграция происходит при тесном сотрудничестве с программистами самописной системы.

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

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

  • Яндекс.Касса;

  • email и sms-рассылка Unisender;

  • карты Яндекс.карты и Google Maps;

  • онлайн-маркет Яндекс.Маркет;

  • социальные сети Facebook, «Вконтакте», Instagram;

  • коробочное решение 1С-Битрикс — 1С.

Это значит, что интеграция сайта с этими сервисами будет для вас дешевле и быстрее.

Как проходит проектирование интеграции сайта с внешними системами

Заполнение брифа на интеграцию заказчиком.

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

Проведение встречи с заказчиком.

На встрече помимо менеджера должен присутствовать 1С-программист (если мы интегрируем с 1С). Так мы не теряем время всех участников проекта. Пример из практики: разработчики сайта и менеджер заказчика договорились и все согласовали, а программист 1С потом говорит, что это сделать невозможно.

Составление схемы интеграции.

Описание работ со стороны программистов заказчика.

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

Описание протокола взаимодействия сайта и внешней системы (API).

Разработка API на стороне сервера сайта: запросы и ответы сервера с примерами, представлены в виде таблиц. Описание API на стороне внешней системы: запросы и ответы сервера с примерами, представлены в виде таблиц.

Описание порядка взаимодействия сайта с внешней системой.

Перечислены этапы взаимодействия.

Описание требований к безопасности.

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

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

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

*итоговая стоимость рассчитывается на основе брифа

Клиенты

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

Другие услуги

  1. Проектирование интерфейсов
    Проектируем интерфейсы сайтов и мобильных приложений. Прорабатываем навигацию, обосновываем расположение каждого блока.
  2. Сбор данных и исследования
    Исследования — фундаментальная часть проектирования, они дают понимание того, чего хотят люди. На основе полученных данных определяются цели и KPI, структура и сценарии использования, контент и рекламная стратегия.
  3. Разработка сайтов
    К нам редко обращаются «просто за сайтом». Мы увеличиваем продажи, оптимизируем бизнес-процессы. Сайт — один из инструментов решения таких задач
  4. 3D-графика
    Трехмерная компьютерная графика — это лучший способ визуализировать сложные механизмы и процессы. 3D-модели незаменимы для презентаций оборудования и машин, а также в визуализации сооружений, зданий, интерьеров.
  5. Разработка фирменного стиля
    Бренд — это система ценностей компании в сознании клиента. Мы создаем и перезапускаем бренды, разрабатываем корпоративную айдентику и логотипы
  6. Разработка медицинских сайтов
    Умеем и любим работать с медицинскими брендами: пишем профессиональные, но понятные тексты об услугах, создаем сайты, разрабатываем рекламу соответствующую законодательству.
  7. Разработка веб-сервисов
    Разработка веб-сервисов и аутсорсинг. Разрабатываем ИТ-стартапы с 2012 года.
  8. Видеопродакшн
    Видео — это диалог со зрителями через их чувства. Мы умеем делать понятные истории, которые цепляют и доносят важное о бизнесе.
  9. Продвижение в YouTube
    В России охват YouTube — 82% населения. Он уступает только Первому каналу, а среди сайтов вышел на третье место, потеснив ВКонтакте (по данным Mediascope, Web Index, март 2018).
  10. Техническая поддержка сайта
    Современный сайт сложная, требующая постоянного обслуживания система. Мы предоставляем услуги по эффективной эксплуатации.
  11. SMM продвижение
    Комплексный подход позволяет видеть картину в целом. Мы предлагаем не точечные меры, а систему изменений, которая приведет ваш проект к долгосрочному успеху.
  12. Разработка государственных сайтов
    Разрабатываем на цифровой дизайн-системе России по стандартам Минкомсвязи.
  13. Настройка контекстной рекламы
    Профессионально настраиваем контекстную рекламу Яндекс.Директ и Google Ads. Увеличиваем количество звонков и заявок, с помощью анализа больших данных.
  14. SEO продвижение
    Настраиваем сайты под требования поисковых систем Яндекс и Google. Дорабатываем страницы, пишем и размещаем контент