Проектирование
информационных систем

(далее ИС)

Быстрый переход

Что представляет из себя ИС

Информационная система (ИС) представляет собой комплекс взаимосвязанных компонентов, разработанных для сбора, обработки, анализа, хранения и передачи информации.
Схематично систему можно представить следующим образом:
Основное назначение Открытой части - привлечение новых клиентов, публикация общедоступной информации, «визитная карточка» компании. Как правило, она является «точкой входа» в Закрытую часть системы.

Открытая часть может быть как составляющей Закрытой части, так и самостоятельной системой с собственной базой данных, администрированием и т.д.

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

модули, обеспечивающие работу основных процессов системы

модуль учетных данных пользователей/организаций

модуль финансов

модуль почтовых уведомлений

модули интеграционного взаимодействия

модуль безопасности и т.д

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

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

И последний блок – Внешние системы. К ним относятся банки, информационные системы других организаций, государственные системы, такие как ЕИС, ГИС Торги, Федеральное казначейство, ФНС и т.д.
Внешние системы, конечно же, не относятся непосредственно к организации. Но при тесном взаимодействии оказывают значительное влияние работу ее информационной системы.
Исходя из понимания сложности и разнообразия возможных вариантов архитектуры системы, самым важным и ответственным этапом является ее проектирование.

Основные задачи в проектировании

1
Система должна содержать все необходимые бизнес-процессы.
2
Выдерживать предполагаемую нагрузку, иметь возможность оперативно расширяться при ее повышении.
3
Быть устойчивой с точки зрения безопасности.
4
Быть доступной для дальнейшего развития (чтобы малейшие доработки системы не требовали масштабного рефакторинга).
5
Иметь запас «срока годности» выбранного инструментария разработки (версии баз данных, фреймворков и т.д. должны быть достаточно современным, чтобы обеспечить системе развитие хотя бы на несколько лет)
6
Иметь оптимальную структуру с точки зрения соотношения функциональности и финансовых затрат на разработку и необходимое оборудование.

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

  1. Анализ бизнес-требований: определение потребностей и целей заказчика, векторов возможного дальнейшего развития.
  2. Если есть возможность, подбор «стартовой системы» для дальнейшего развития и кастомизации.
  3. Если разработка ведется «с нуля», то выбор технологий, определение основных компонентов будущей системы, необходимого оборудования и мощностей для устойчивой работы.
  4. Подробное обследование и детализация бизнес-процессов, которые должны быть перенесены в систему. Установление связей между ними, при необходимости определение контрольных точек (для проверки корректности работы процесса).
  5. Определение возможных «узких мест», которые могут сильно повышать нагрузку системы (иногда проще сразу создать отдельный сервис для экономии ресурсов основной системы)
  6. Построение архитектуры системы:
- ядро (безопасность, доступ к системе, базовая функциональность);
- необходимые объекты, участвующие в цепочках бизнес-процессов;
- система логирования информации для осуществления поддержки и контроля;
- административная часть системы;
- необходимый набор вспомогательных сервисов и их примерная детализация;
7. Разработка дизайна системы.
8. Построение сборочной инфраструктуры системы (хранение кода, тестовые и «боевые» стенды, автоматическая сборка для обновления кода и миграции данных и т.д.)
9. Создание демо-макета системы.
10. Анализ сроков, и трудозатрат, требуемых на разработку.

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


Иногда небольшой «задел на будущее», пусть и чуть более дорогой, может в дальнейшем сэкономить в десятки раз больше денег.
Система через некоторое время будет требовать развития


Поэтому не стоит экономить на проектировании и доверяться лучше специалистам.

рекомендации тем, кто планирует заказывать разработку системы

Как мы работаем

1
Заявка на услуги
2
Обсуждение требований
«Семь простых шагов, и работа сделана»
3
Составление ТЗ
4
Оценка и согласование трудозатрат
5
Заключение договора
6
Проектирование и разработка ПО
7
Сдача результата заказчику и оплата работ

Подход к разработке

/

Гибкость и открытость к любым изменениям.

//

Минимизация рисков и ошибок.

///

Устойчивость к сдвигу сроков.

////

Большая вовлеченность команды.

/////

Высокая скорость реакции на проблемы.

//////

Минимум рутины — больше качественного кода.

Стоимость работ

Цена проекта рассчитывается исходя из оценки ТЗ и почасовых ставок специалистов (Пример: программист Senior — 3900 руб./час). Для более точной оценки проекта заполните форму ниже и пришлите файл с техническим заданием.

Модели сотрудничества

OUTSOURCE

Проекты с фиксированными параметрами (цена-сроки)

OUTSTAFF

Выделение команды сотрудников с почасовой оплатой

Статьи по теме

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

    Проектирование баз данных
    Проектирование баз данных
    веб-Разработка
    веб-Разработка
    Настройка интеграций
    Настройка интеграций