Показать сообщение отдельно
Старый 18.03.2003, 08:53   #16  
Grizzly is offline
Grizzly
Участник
 
85 / 10 (1) +
Регистрация: 30.01.2003
Адрес: Омск
Цитата:
Изначально опубликовано Pavel


Его замечания по "технике" реализации, а не по "логике".



Тогда в чем его несовершенство (отличие от "идеала")?
Если под "логикой" имеется ввиду, то что любому пользователю удобнее иметь систему адаптированную для выполнение его функций, то с этим, я думаю, никто спорить не будет. Вопрос именно в том как это сделать.

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

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

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

Однако, между интерфейсом и правами доступа в системах управления предприятием существует четкая связь - выполняемые пользователем функции. Поэтому, на мой взгляд, в "идеале" настройка для пользователя должна осуществляться в терминах элементарных (неделимых) бизнес функций. Для выполнения каждой функции необходимы некоторые права доступа, которые, например, в Attain благодаря структурированности и типизации его языка легко могут быть определены автоматически. Таким образом, для каждой группы пользователей по выполняемым ей бизнес функциям легко могут быть получены права на доступ к объектам системы. А по этим правам система на основе базового меню, которое разрешает все, должна сгенерировать меню для группы пользователей.

Что касается персонализации меню (и вообще интерфейса) под конкретного пользователя, то этим должен заниматься сам пользователь. В его руки дается система со всеми необходиыми функциями, а как их разместить пусть решается он сам. Для этого ему можно дать возможность на основе стандартных для его группы настроек создавать свои.
Еще, на мой взгляд, полезной для этих целей является функция ведения системой рейтинга выполняемых команд. Самые часто используемые команды помещаются системой в наиболее доступное место. Таким образом система как бы сама подстраивается под особенности работы конкретного пользователя.

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