Могут ли 2 объекта использовать один и тот же процесс в диаграмме потока данных (DFD)?

Я учусь проектировать диаграмму потока данных (DFD) для системы. У меня есть вопрос, на который я не могу ответить сам. Позвольте мне привести сценарий:

В системе Тренер хотел просмотреть информацию о своем профиле, а стажер также хотел просмотреть информацию о своем профиле.

Может ли процесс (получить информацию о профиле) использоваться обеими сторонами:

DFD 2 Entities 1 Процесс

Или должны быть отделены, поскольку они не просматривают одни и те же данные:-

DFD 2 Entities 2 Процессы

Итак, какой из них прав?

3 ответа

Проблема в этом вопросе заключается в том, что хранилище данных и сущности упоминаются, как если бы они были конкретными экземплярами:

  • Тренер A просматривает профиль в файле трейнера A
  • Стажер B просматривает профиль в файле Стажер B
  • Но что происходит с трейнером C? Будет ли он / она также видеть профиль тренера А? Или просто профиль Trainer C?

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

Другая проблема заключается в том, что в повествовании представлен только конкретный сценарий: в определенный момент времени он хочет увидеть профиль тренера и хочет увидеть профиль стажера. Но что вообще может позволить процесс? Если иметь возможность просматривать только профиль тренера или также профили стажера, если он / она хотел? Только его / ее стажеры или все стажеры?

Чтобы нарисовать правильную диаграмму, вы должны обобщить свои сценарии и сущности и предоставить ответы выше.

В зависимости от результата:

  • если процесс позволяет только категории объектов просматривать какие-либо данные, перейдите к варианту 2.
  • если процесс позволяет некоторым объектам обращаться к разным видам данных, выберите вариант 1. В спецификации процесса необходимо указать, кто к чему имеет доступ.
  • если данные профиля относятся к одному типу и меняется только владелец, выберите вариант 3: одно хранилище данных, один процесс, но разные сущности, причем в спецификации процесса уточняется, какая сущность и к каким профилям имеет доступ.

Кайдарин,

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

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

Наслаждайтесь дизайном,

Андрес

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

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

Другие вопросы по тегам