结构化分析

概念

SA方法的基本思想是自顶向下,逐层分解,把一个大问题分解成若干个小问题,每个小问题再分解成若干个更小的问题。经过逐层分解,每个最底层的问题都是足够简单、容易解决的。

分析模型

image-20241020142052863

SA方法分析模型的核心是数据字典,围绕这个核心,又三个层次的模型,分别是数据模型、功能模型、行为模型(状态模型)

在实际工作中一般使用E-R图表示数据模型,用DFD图表示功能模型,用状态转换图(STD)表示行为模型。三个模型有着密切的关系,它们的建立不存在严格的时序性,而是一个迭代的过程。

数据流图

DFD是SA方法中的重要工具,是表达系统内数据的流动并通过数据流描述系统功能的一种方法;

系统分析阶段:建立系统的功能模型,完成需求分析
系统设计阶段:为模块划分与模块之间的接口设计提供依据
  • DFD中的基本符号
    • 数据流

      • 具有名字和流向的数据,在DFD中以标有名字的箭头表示

      • 数据流是数据在系统内传播的路径,由一组成分固定的数据组成
    • 加工(数据处理)

      • 对数据流的变换,一般用圆圈表示

      • 加工是对数据流进行处理的单元,它接受输入,对其进行加工,并产生输出
    • 数据存储

      • 可访问的存储信息,一般用直线段表示

      • 表示信息的静态存储,可以是文件、数据库等
    • 外部实体

      • 被建模系统的系统之外的信息生产者或消费者。用标有名字的方框表示

      • 代表系统之外的元素,可以是人、物或其他系统
  • DFD的层次

    SA方法的思路是依赖于DFD进行自上而下的分析,DFD可以表示系统的高层和底层概念,通过先绘制高层DFD,再对其中的加工进行逐步分解,直至系统被清晰描述。

    • 顶层图

      • 顶层图是描述系统最高层结构的DFD,它的特点是将整个待开发的系统表示为一个加工,将所有的外部实体和进出系统的数据流都画在一张图中。
    • 逐层分解

    • 当完成了顶层图的建模后,就可以在此基础上进行进一步的分解。

  • 数据流图的平衡原则
    • 父图(上层数据流图)与子图(下层数据流图)平衡。
      • 个数一致:两层数据流图的数据流个数一致
      • 方向一致:两层数据流图的数据流方向一致
    • 子图内部的平衡
      • 黑洞:加工只有输入没有输出
      • 奇迹:加工只有输出没有输入
      • 灰洞:加工中输入的内容不足以产生输出

状态转换图

状态转换图是一种描述系统对内部或者外部事件响应的行为模型。它描述系统状态、事件和事件引发系统在状态之间的转换,而不是描述系统中数据的流动。这种模型尤其适合用来描述实时系统,这类系统多由外部环境的激励而驱动的。

状态转换图中定义的状态主要有:初态、终态、中间状态

数据字典

数据字典是描述数据信息的集合,是对系统中使用的所有数据元素的定义的集合。数据字典的作用是在系统分析和设计过程中提供数据描述,是数据流图必不可少的辅助资料。

六类条目:数据元素、数据结构、数据流、数据存储、加工逻辑、外部实体
数据字典在分析阶段与设计阶段的作用

是所有人员工作的依据,统一的标准。它可以确保数据在系统中的完整性与一致性。