Страница 2 из 9
Основная задача СКУД.
Для решения любой задачи необходимо эту задачу формализовать.
Для СКУД задача ставится следующим образом:
- есть точки прохода. Их отличительное свойство - точка прохода может пропустить или не пропустить пользователя.
- есть пользователи.
- есть некий набор правил прохода, в соответствии с которым пользователь имеет или не имеет право ходить через точки прохода.
- необходимо техническими средствами обеспечить реализацию набора правил прохода.
Анализ задачи выявляет несколько любопытных вопросов:
- что подразумевается под терминами "пропустить" или "не пропустить"? Совсем не очевидно, что речь идет именно о физическом ограничении прохода.
- что есть пользователь? Некое очевидное понимание, что это "человек", вызывает, в свою очередь, ряд других вопросов (а если это не человек, а автомобиль?).
Можно ли попытаться формализовать задачу СКУД, не зная ответов на поставленные вопросы?
Успех решения задачи зависит от правильности выбранных переменных.
Автор предлагает следующие ответы на поставленные вопросы:
- под точкой прохода надо понимать логическую сущность, которая может выполнять 2 действия: пропускать или не пропускать. Что физически скрывается за терминами Пропускать или НЕ пропускать не влияет на процесс формализации и решения задачи. Система должна принять решение Пропустить или НЕ пропустить, а что будет реализовано на практике (загорится ли светофор, откроется ли шлагбаум, или только лампочка моргнет) - не существенно.
- вместо пользователем необходимо понимать некий набор данных, однозначно связанный с этим пользователем. Какой именно это будет набор данных - не существенно. Далее, для определенности, этот набор данных будет именоваться как код карты.
Т.о., в задаче СКУД появились термины:
Точка прохода - абстрактное устройство, которое может выполнять 2 действия: пускать или не пускать.
Код карты - набор данных, который однозначно характеризует пользователя.
В рамках выбранных терминов задачу СКУД можно выразить в форме таблицы:
Табличное представление задачи СКУД. Правила прохода.
| Door0 | Door1 | ... | DoorN |
Key1 |
+ |
+ |
|
+ |
Key2 |
+ |
- |
|
-
|
Key3 |
+ |
+ |
|
- |
... |
|
|
|
|
KeyN |
+ |
- |
|
+ |
Здесь:
Door0, Door1 и т.д. - названия точек прохода.
Key1, Key2 и т.д. - коды карт.
+ означает разрешение на проход через точку прохода.
- означает запрет на проход через точку прохода.
Под разрешением прохода следует понимать реализацию мер, позволяющих коду карты пройти в указанную дверь.
В табличной форме отражена вся задача СКУД, и практическая её реализация является задачей разработчиков СКУД.
Обеспечить проход карт пользователей в соответствии с таблицей правил прохода есть основная задача СКУД!
Второстепенные задачи СКУД. Журнал событий.
Обеспечив решение основной задачи СКУД разработчик столкнется с очевидными требованиями:
- должна быть система контроля за работой СКУД.
- должен быть журнал событий СКУД.
- должны быть какие-либо сервисы, связанные с работой СКУД.
Тут необходимо сделать однозначное ограничение: второстепенные задачи СКУД могут входить в общее решение СКУД, но не обязательно.
Резюме:
- Основная задача СКУД - пускать или не пускать - однозначно описывается таблице прав прохода.
- Есть большое количество второстепенных задач СКУД, которые не входя в основную задачу. Решение этих задач может, но не обязано входить в основной пакет программного обеспечения.
|