我必须开发一个CRUD应用程序,该应用程序将在PHP中进行编码。

我有3位主要参与者(用户,管理员和医生 - 这是针对假设的医院),每个医院都已经定义了不同的用例。

尽管我觉得用例远足以成功模拟类图,但我被专门要求将数据流图包括在项目的文档中。

我一直在阅读有关数据流程图的信息,看来您通常首先拥有0级数据流图,他们称之为上下文图。

由于这基本上是一个具有3个不同参与者的3层应用程序,我应该如何建模上下文图?

由于上下文图应该只告诉我们系统中发生了什么和什么,我无法想象比以下图更有趣/描述的内容:

alt text

这应该是这样的,还是我完全错过了重点?此PHP页面将连接到Oracle数据库,但是我想如果这个想法是在上下文图中考虑整个系统,我应该在上图中“隐藏”该事实。

我应该从这里去哪里?我知道我应该将系统过程“缩小”到更详细的内容。也许下一步是在数据流程图中描绘每个用户案例?我已经包含数据存储库吗?例如,一个用于用户,另一个用于医生,另一个用于管理员?

谢谢

有帮助吗?

解决方案

您确定该系统没有其他交互吗?例如诊断输入等?

如果不是,那么您的上下文诊断基本上还可以 - 尽管我可能会显示每个实体一次并使用双头箭头。我同意您的DB的理由 - 它是系统的一部分,而不是外部的 - 因此不要在CD上显示。

至于下一步,您再次在正确的行上。尝试将每种用例的流量建模为DFD。 DFD对于说明处理密集型应用程序非常有用。很难知道这是否与您的问题相匹配。

您会发现DFD对于驱动和验证类图也很有用。实际上,这是他们的优势之一:DFD上的数据存储应该与类图的内容相关(虽然不一定是一个类别的一个类)。因此,在您通过过程中工作时,请包括数据存储。您会发现它不仅仅是演员。

Hth。

其他提示

一些评论:

您的DFD并没有告诉我太多,除了用户,管理员和医生使用它,但它不知道他们从系统中获得的内容(“输出数据”除外)。上下文图没有给我一个丝毫想法,系统什么 .

诚然,如果系统很大,那么很难用几句话来描述数据流,但是几乎任何东西都比“数据”更好。

该系统是一个较高的架构的事实与DFD无关。这是一个实现细节。 DFD是一种分析工具。您描述了想要系统做的事情,而不是如何实现。

我发现专注于传出流程特别有用。当用户,管理员和医生向系统提供意见,但这很可能是什么都没有的 去做。这是他们 为了获取所需的输出。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top