【问题标题】:Can 2 entities use same process in Data Flow Diagram (DFD)?2 个实体可以在数据流图 (DFD) 中使用相同的流程吗?
【发布时间】:2017-02-23 07:29:38
【问题描述】:

我正在学习如何为系统设计数据流图 (DFD)。我有一个我自己无法回答的问题。让我给一个场景:-

在一个系统中,培训师想要查看他/她自己的个人资料信息,而受训者也想查看他/她自己的个人资料信息。

两个实体都可以使用该过程(检索配置文件信息)吗:-

或者必须分开,因为它们查看的数据不同:-

那么,哪个是正确的?

【问题讨论】:

    标签: dataflow-diagram


    【解决方案1】:

    凯达林,

    据我了解,您定义的关键在于“和”一词。 您还可以看到受训者和培训师查看的数据不同...

    如果流程涉及多个实体,这些实体提供要处理的不同信息以获得共同的输出,则更有可能应用单个流程。

    享受设计,

    安德烈斯

    【讨论】:

      【解决方案2】:

      第二种模型更灵活,因为流程具有更高的内聚性,并且由于耦合度较低,因此可以更好地重用。

      建议不仅要查看流程的功能,还要查看可重用性和维护性。在第二种解决方案中,如果 Trainee 对象的数据结构发生变化,您不必测试检索 Trainer 配置文件的过程。

      【讨论】:

        【解决方案3】:

        这个问题的问题是数据存储和实体被称为特定实例:

        • 培训师 A 查看培训师 A 文件中的个人资料
        • 实习生 B 查看实习生 B 文件中的个人资料
        • 但是培训师 C 会发生什么?他/她还会看到培训师 A 的个人资料吗?还是只是培训师 C 的个人资料?

        作为第一步,您需要澄清数据存储:如果每个培训师都有自己的文件,请调用数据存储Individual trainer file 以澄清存在一对一映射。如果这些文件集中存储在某处或可由多个人访问,请调用数据存储Trainer profile storeTrainer repository 以澄清该进程可以同时访问多个文件(并且需要选择正确的一)。最后,如果培训师和学员档案包含相同的数据,但只是它们属于不同的人,则合并两个数据存储(例如,如果它是一个组合所有档案的数据库表)。

        另一个问题是叙述只呈现了一个特定的场景:在给定的时刻,Trainer 想要查看培训师资料,Trainee 想要查看学员资料。但是该过程一般允许什么? Trainer 是否应该只能查看培训师资料,或者如果他/她想要也可以查看学员资料?一个只有他/她的学员还是所有学员?

        要绘制正确的图表,您必须概括您的场景和实体并提供上述答案。

        取决于结果:

        • 如果流程只允许某个类别的实体查看某种数据,请选择选项 2。
        • 如果流程允许某些实体查阅多种数据,请选择选项 1。流程规范需要明确谁有权访问什么。
        • 如果配置文件数据属于同一类型,并且只是所有者更改,则选择选项 3:一个数据存储,一个流程,但不同的实体,流程规范明确哪些实体可以访问哪些配置文件。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-09-19
          • 1970-01-01
          • 1970-01-01
          • 2012-08-07
          • 1970-01-01
          • 2011-04-07
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多