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

1..6  Пополнить счет имеющимися способами в системе

1..7  Установить ограничение на приобретение групп меню

1..8  Настроить уведомления о совершенных покупках

1..9  Панели управления Школы директорам или представляющим лицом школы должен быть добавлен функционал

1..10  Создать отчет о работе столовой

1..11  Просмотр совершенных покупок: наименование, кол-во и стоимость

1..12  Список полученного льготного питания по классам или по иным фильтрам

1..13  Возможность создавать заявку на создание определенного типа отчетности с обоснованием отчета.

1..14  Для органов местного самоуправления функционал системы дублируется, что и у директоров школ.

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

2.1 Выбор архитектуры и средств разработки

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

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

-  обеспечение доступа к системе не только сотрудникам школы, но и родителям вне зависимости от географического положения;

-  пользователи системы могут использовать различные операционные системы. Создание web-ориентированной системы позволит использовать ее как в Windows ОС, так и в UNIX‑подобных операционных системах;

-  web-ориентированная система не требует установки дополнительного программного обеспечения (необходима любая версия браузера и наличие интернета);

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

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

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

1.  База данных –  набор компьютеров объединённых  в кластер Microsoft Sql Server.

2.  Сервисы синхронизаций. Данный комплекс состоит из сервисов:

a.  Сервис синхронизации пользователей. По уникальному идентификатору контроллеру выдает информацию по доступным классам списку персонала и учеников.

b.  Транзакционный сервис. Суть сервиса в получение транзакций с внешних устройств (турникеты, кассовые аппараты и др. устройства) и постановка их в очередь сообщений, на дальнейшую обработку.

3.  Сервисы обработки смс сообщений.  Основная задача организовать обработку, как входящего, так и исходящего SMS-трафика.

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

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

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

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