结构化分析
概念
SA方法的基本思想是自顶向下,逐层分解,把一个大问题分解成若干个小问题,每个小问题再分解成若干个更小的问题。经过逐层分解,每个最底层的问题都是足够简单、容易解决的。
分析模型
SA方法分析模型的核心是数据字典,围绕这个核心,又三个层次的模型,分别是数据模型、功能模型、行为模型(状态模型)。
在实际工作中一般使用E-R图表示数据模型,用DFD图表示功能模型,用状态转换图(STD)表示行为模型。三个模型有着密切的关系,它们的建立不存在严格的时序性,而是一个迭代的过程。
数据流图
DFD是SA方法中的重要工具,是表达系统内数据的流动并通过数据流描述系统功能的一种方法;
系统分析阶段:建立系统的功能模型,完成需求分析
系统设计阶段:为模块划分与模块之间的接口设计提供依据
-
DFD中的基本符号
-
数据流
-
具有名字和流向的数据,在DFD中以标有名字的箭头表示
-
数据流是数据在系统内传播的路径,由一组成分固定的数据组成
-
-
加工(数据处理)
-
对数据流的变换,一般用圆圈表示
-
加工是对数据流进行处理的单元,它接受输入,对其进行加工,并产生输出
-
-
数据存储
-
可访问的存储信息,一般用直线段表示
-
表示信息的静态存储,可以是文件、数据库等
-
-
外部实体
-
被建模系统的系统之外的信息生产者或消费者。用标有名字的方框表示
-
代表系统之外的元素,可以是人、物或其他系统
-
-
-
DFD的层次
SA方法的思路是依赖于DFD进行自上而下的分析,DFD可以表示系统的高层和底层概念,通过先绘制高层DFD,再对其中的加工进行逐步分解,直至系统被清晰描述。
-
顶层图
- 顶层图是描述系统最高层结构的DFD,它的特点是将整个待开发的系统表示为一个加工,将所有的外部实体和进出系统的数据流都画在一张图中。
-
逐层分解
-
当完成了顶层图的建模后,就可以在此基础上进行进一步的分解。
-
-
数据流图的平衡原则
- 父图(上层数据流图)与子图(下层数据流图)平衡。
- 个数一致:两层数据流图的数据流个数一致
- 方向一致:两层数据流图的数据流方向一致
- 子图内部的平衡
- 黑洞:加工只有输入没有输出
- 奇迹:加工只有输出没有输入
- 灰洞:加工中输入的内容不足以产生输出
- 父图(上层数据流图)与子图(下层数据流图)平衡。
状态转换图
状态转换图是一种描述系统对内部或者外部事件响应的行为模型。它描述系统状态、事件和事件引发系统在状态之间的转换,而不是描述系统中数据的流动。这种模型尤其适合用来描述实时系统,这类系统多由外部环境的激励而驱动的。
状态转换图中定义的状态主要有:初态、终态、中间状态
数据字典
数据字典是描述数据信息的集合,是对系统中使用的所有数据元素的定义的集合。数据字典的作用是在系统分析和设计过程中提供数据描述,是数据流图必不可少的辅助资料。
六类条目:数据元素、数据结构、数据流、数据存储、加工逻辑、外部实体
数据字典在分析阶段与设计阶段的作用
是所有人员工作的依据,统一的标准。它可以确保数据在系统中的完整性与一致性。