划分DFD的方法技巧
划分DFD的方法技巧
需求分析,也就是对系统功能的识别和划分,并把这种识别及划分用DFD这个模型表示出来,最后用数据字典对DFD中的数据和加工进行描述,记录和约定。
本文记录的是在学习和实践系统功能划分的过程中所遇到的问题。
1。划分的原则
功能划分的基本思想当然应该是“自顶向下,逐步细化”,这恐怕已经成为了软件工程中无孔不入的至理经典。从环境图(Context Diagram)开始,逐步细分为一级流图,二级流图,等等等等,直到细分的加工(Process)(泡泡)执行一个可以很容易实现为程序组成部分的功能为止(注1)。不同层次的数据流图是对系统整体或部分功能的一个覆盖,越处在上层的DFD中每个加工的覆盖片越大,
注1:原文见《软件工程——实践者的研究方法第5版》P236。
在细分或精化的过程中需要注意的是要保持不同细分层次间数据流的连续性。即不管对一个加工怎样细分,细分到多少层,细分前后流入和流出该加工的数据流应该保持一致。
顺便说一句,“一致性”是分析人员在需求分析过程中应该始终注意保持的一种习惯。包括前面的不同层次间数据流的一致性,DFD与数据字典的一致性等等。这需要在对模型中的某个内容进行修改时同步地对其他相关方面也进行相应的修改。