|
Уровень доступа + функционал. Алгоритмы |
|
|
|
Apr 21 2011, 17:04
|

Профессионал
    
Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215

|
Есть электронный прибор с микропроцессорным управлением. К прибору могут прикладываться самые разные люди, с разной квалификацией и полномочиями. Для этого я ввожу в систему такое понятие как уровень доступа (Level_0, Level_1, Level_2,..Level_Х) Но помимо этого у прибора есть определённый функционал, функции которого обрабатывают например клавиатуру, датчики, ЖПС модуль, элементы индикации, исполнительные ус-ва, реле и т.д. С разных уровней доступа, человек который работает с прибором, может рассчитывать на разный функционал. Другими словами сами логика и правила управления прибором должны учитывать уровень доступа пользователя в системе. Скажите, как правильнее реализовать (запрограммировать) обработку и функционала и уровня доступа? Я говорю о решении ,которое будет удобно тестировать и отлаживать.
У меня есть идея поместить управление всеми элементами индикации, всеми реле и другими исполнительными устройствами в одну фукнцию, а перед всеми входными воздействиями поставить как своего рода фильтр другую функцию. И тогда уже внутри этих функций, в соответствии с уровнем доступа, принимать решения о функционале в соответствующем уровне. Что это даст: а) я пишу функционал так как будто нет никаких уровней доступа (но в тех местах где я что-то получаю либо чем-то управляю из алгоритма, делаю это не напрямую, а через эти функции "пробки") б) я экономлю на объеме кода (оч. актуально в моем случае) в) сопровождать/править/отлаживать легче
Не факт что так правильно, но если че поправьте. Спасибо!
--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
|
|
|
|
|
 |
Ответов
|
Apr 22 2011, 04:46
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(Буратино @ Apr 21 2011, 21:04)  .... у прибора есть определённый функционал, функции которого обрабатывают... Все хорошо, вот только термина "функционал" в родном русском языке - нет!!! А вот здесь он есть: http://iosifk.narod.ru/slovar_feni.pdfПочитайте, может пригодится... Удачи!
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Apr 22 2011, 05:20
|

Профессионал
    
Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215

|
Цитата(iosifk @ Apr 22 2011, 08:46)  Все хорошо, вот только термина "функционал" в родном русском языке - нет!!! А вот здесь он есть: http://iosifk.narod.ru/slovar_feni.pdfПочитайте, может пригодится... Удачи! Мне всегда все эти поползновения борцов за чистоту языка, напоминали усилия Геббельса направленные в русло работы с чистотой нации. Спасибо большое за ссылку, но меня интересовали вопросы функционала и прав доступа в одной системе.
--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
|
|
|
|
|
Apr 22 2011, 07:07
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(Буратино @ Apr 22 2011, 08:20)  интересовали вопросы функционала и прав доступа У меня есть меню, набор элементов в нем зависит от кода доступа. Реализуется это абсолютно очевидно, при входе ставятся соответствующие флаги и все входы заносятся в журнал: Код if (my_pin==se.ServicePin) { OffFlag(factory_flag); AddServiceLog(SERVICE_LOGIN); NEWS(stServiceMenu); return; } if (my_pin==MasterPin) { OffFlag(factory_flag); AddServiceLog(MASTER_LOGIN); NEWS(stServiceMenu); return; } if (my_pin==FactoryPin) { OnFlag(factory_flag); AddServiceLog(FACTORY_LOGIN); NEWS(stServiceMenu); break; } Эти флаги потом тупо и банально анализируются при хождении по меню. Код if (GetFlag(factory_flag)) { if (service_number<stFactoryEnd) service_number++; else service_number=stServiceBegin; } else { if (service_number<stServiceEnd) service_number++; else service_number=stServiceBegin; } Короче, простое и тупое программирование. Успехов
--------------------
Уходя, оставьте свет...
|
|
|
|
Сообщений в этой теме
Буратино Уровень доступа + функционал. Алгоритмы Apr 21 2011, 17:04 ukpyr ЦитатаСкажите, как правильнее реализовать (запрогр... Apr 21 2011, 17:14 Буратино Цитата(ukpyr @ Apr 21 2011, 20:14) ну так... Apr 21 2011, 17:26 ukpyr ЦитатаМы ведь можем просто не пропустить далее по ... Apr 21 2011, 17:36 garlands хм. вся фильтрация осуществляется еще на уровне юз... Apr 21 2011, 17:52 Буратино Цитата(garlands @ Apr 21 2011, 20:52) хм.... Apr 21 2011, 20:19 нечитатель входное воздействие - интерфейс [суть способ преоб... Apr 22 2011, 03:57 Буратино Нет, это не правильный подход как мне кажется. А ч... Apr 22 2011, 07:45 Dog Pawlowa Цитата(Буратино @ Apr 22 2011, 10:45) А ч... Apr 22 2011, 08:29 нечитатель Для настройки кучерявых прав нужен кучерявый челов... Apr 22 2011, 08:57 Буратино Цитата(нечитатель @ Apr 22 2011, 11:57) Д... Apr 22 2011, 11:19  Dog Pawlowa Цитата(Буратино @ Apr 22 2011, 14:19) Одн... Apr 22 2011, 11:47  XVR Цитата(Буратино @ Apr 22 2011, 15:19) И п... Apr 25 2011, 08:07 Буратино Все равно не понимаю какое это отношение имеет к в... Apr 25 2011, 11:30
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|