我正在学习如何为系统设计数据流图 (DFD)。我有一个我自己无法回答的问题。让我给出一个场景:-
在一个系统中,培训师想要查看他/她自己的个人资料信息,而受训者也想查看他/她自己的个人资料信息。
两个实体是否可以使用该过程(检索配置文件信息):-
或者必须分开,因为他们没有查看相同的数据:-
那么,哪一个是对的?
我正在学习如何为系统设计数据流图 (DFD)。我有一个我自己无法回答的问题。让我给出一个场景:-
在一个系统中,培训师想要查看他/她自己的个人资料信息,而受训者也想查看他/她自己的个人资料信息。
两个实体是否可以使用该过程(检索配置文件信息):-
或者必须分开,因为他们没有查看相同的数据:-
那么,哪一个是对的?
第二种模型更灵活,因为流程具有更高的内聚性,并且由于耦合较低,因此可以更好地重用。
建议不仅要查看流程的功能,还要查看可重用性和维护性。在第二个解决方案中,如果受训对象的数据结构发生变化,您不必测试检索培训师配置文件过程。
这个问题的问题是数据存储和实体被称为好像它们是特定实例:
作为第一步,您需要澄清数据存储:如果每个培训师都有自己的文件,请调用数据存储Individual trainer file
以澄清存在一对一映射。如果这些文件集中存储在某处或可由多个人访问,请调用数据存储Trainer profile store
或Trainer repository
澄清该进程可以同时访问许多文件(并且需要选择正确的文件)。最后,如果培训师和学员档案包含相同的数据,但只是它们属于不同的人,则合并两个数据存储(例如,如果它是一个组合所有档案的数据库表)。
另一个问题是,叙述只呈现了一个特定的场景:在给定的时刻 int 时间,Trainer
想要查看培训师资料,并Trainee
希望查看学员资料。但是该过程一般允许什么?是否应该Trainer
只能查看培训师资料,或者如果他/她想要也可以查看学员资料?只有他/她的学员还是所有学员?
要绘制正确的图表,您必须概括您的场景和实体并提供上面的答案。
根据结果:
凯达林,
据我了解,您定义的关键在于“和”一词。您还可以看到受训者和培训师查看的数据不同...
如果流程涉及多个实体,这些实体提供要处理的不同信息以获得共同的输出,则更有可能应用单个流程。
享受设计,
安德烈斯