Ответы пользователя по тегу Справочники
  • Что такое справочник в ИС и какой доступ необходимо организовывать к ним?

    @rPman
    Справочник - это понятие относительное, определяет вид отношений одного типа данных к другим.

    Для человека справочником будет например его пол, адрес (если он не в виде строки а полноценная многоуровневая структура) и т.п.

    Но в то же время для другой объект, например статья, использует человека как справочник (автор).

    Отсюда вытекают и бизнеспроцессы, при редактировании объекта возможно давать доступ на редактирование справочника - плохая идея. НО! реалии таковы что информация о реальном мире в базе данных почти всегда не полна, и часто принимают решение при разработке системы о постепенном ее наполнении в процессе жизни системы.

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

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

    На практике, реценденты должны иметь инструменты, облегчающие им к примеру объединение дублирующих данных, а для принятия решения операторы должны предоставлять всю необходимую информацию по теме.
    Ответ написан
    Комментировать