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