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