1.什么叫模型?我觉得它的关键字:抽象 重要特征 降低复杂度。
2.软件设计的方法
分类:面向功能~,面向对象的设计。
面向数据流的方法是在结构化分析中提到的。 哦~
3.面向数据流的结构化分析
特点:自顶而下(整体到局部),逐层分解。
它涉及数据流图(DFD)
#DFD是什么?描述数据 各逻辑功能模块之间的流动和处理过程。
#DFD的构成及符号:数据流(名词或名词短语),加工处理(动词短语,多有编号),数据存储(多为名词),外部实体(非系统成员,多为名词短语)。
#DFD的层次性
数据流图分为顶层数据流图、中层数据流图和底层数据流图。
顶层DFD:关联图,表示外部实体与系统的关系,有输入与输,编号为0,它的缺点是不能反映数据的先后顺序。注意!数据存储不能放在顶层。
0层DFD:将顶层DFD的系统分解为若干个子系统,编号为1,2......n。
底层DFD:针对0层DFD中的每一个子系统进行分解得到细化的加工,最底层的DFD中的加工称为“基本加工”,编号1层:1.1,1.2......,2层:1.1.1,1.1,2......;1.2.1,1.2.2......;......
范围图是系统最抽象的数据流代表,它将整个系统表示为一个单一的气泡,也被称作0级DFD。(哦哦~清楚了)
详细讲解可见:http://blog.chinaunix.net/uid-21411227-id-1826829.html
http://www.educity.cn/zk/rjgc/200608311656531370.htm
#DFD有数据平衡原则,即无论在任何层次上,总的输入和输出是不会变化的。
#画流程图的步骤
1、理解问题描述。
2、分析问题描述,提取数据流图的4种成分。
3、画顶层数据流图,即系统的基本模型。
4、把基本模型细化,画各级明细数据流图。
5、数据平衡原则:检查分层细化时是否保持信息的连续性,即当把一个处理分解为一系列处理时,分解前和分解后的输入输出数据流必须相同。
我应注意的地方:数据流不能在外部实体之间流动!
加工通过数据存储进行通讯,应避免从一个加工过程直接流到另一个加工过程。
#能看懂步骤,但是实践还存在问题。