软件工程期末复习——第五章
软件工程期末复习——第五章
一、重要知识点
1. 结构化系统软件开发方法主要包括的3个重要部分
从内容上说,结构化系统软件开发方法主要包括结构化分析(Structured Analysis,SA)、结构化设计(Structured Design,SD)和结构化编程(Structured Programming,SP)三个重要部分。
2. 结构化分析的核心思想
如果采用结构化分析的策略来处理复杂问题的话,那么其核心思想就是“问题分解与抽象”,主要用抽象模型概念,依据待开发软件内部存在的数据传递关系,采用自顶向下、逐步分解的方法,直至找到满足功能需求的可实现软件元素为止。
3. Data Flow Diagram的作用
数据流图描述了输入数据流到输出数据流的变换过程,也即加工过程,能够用于对系统的功能进行建模。
4. 数据流图的主要图形结构
- 外部实体:外部实体表示数据的外部来源和去处,是系统之外的人、物、部门或其它系统,不受本系统的控制。实际上外部实体显示了系统的边界以及系统是怎样和外部世界联系的;
- 加工:加工也可以被称之为数据处理或数据变换,是对数据进行处理的逻辑单元;
- 数据流:表示系统处理的数据对象和数据流动的方向;
- 数据存储:数据存储在数据流图中起到保存数据的作用。
5. 绘制分层数据流图
6. 绘制数据流图的注意事项
- 父图与子图平衡:任何一个数据流子图必须与它上一层父图的某个加工对应,两者的输入数据流和输出数据流必须保持一致,此即父图与子图平衡。
- 局部数据存储:如图5-6所示,虽然子图中的数据存储W并没有在父图中出现,但父图和子图也是平衡的。这是由于对数据存储W的读写完全局限在数据处理3.3之内,在父图中各个数据处理之间的界面上不出现,该数据存储是子图的局部数据存储或为临时数据存储。
-
合理的编号:
- 子图中的编号为父图号和子数据处理的编号组成;
- 子图的父图号就是父图中相应数据处理的编号;
- 数据流图中的所有元素都要编号,因为所有元素都可以分解。
-
尽量简化加工之间的联系:在图5-7(a)中,加工3与其他加工之间的联系比较复杂,输入/输出流多达4个,这样的分解是不合适的;图5-7(b)中对其进行了重新分解,这样的分解才是合适的。
-
分解的程度:
- 分解应自然,概念上要合理、清晰;
- 上层可分解地快一些,而下层应该分解地慢一些;
- 在不影响可读性的前提下,应适当多分解成几部分,以减少分解层数,一个数据处理的分解个数应该在7个左右,上下浮动2个。
-
数据守恒:
- 处理有输入就应该有输出
- 处理有输出就肯定有输入
- 输入的数据应该全部流出该处理
- 输出的所有数据必须曾经流入过该处理
7. 什么是数据字典
在数据流图的基础上,还需对其中的每个数据流、数据存储、数据加工和外部实体加以定义,把这些定义所组成的集合称为数据字典。
系统分析人员应把不便在数据流图上注明但对于系统分析应该获得,对整个系统开发以至将来系统运行与维护是必需的信息尽可能地放到数据字典,如关于数据流与数据处理发生频率、出现时间、高峰期、低谷期、加工的优先次序、加工周期与安全保密等方面的信息。
8. 数据字典的定义符号和编写格式
- 定义符号:在数据字典中,描述数据元素之间的关系时,可以使用自然语言,但为了更加清晰简洁,可以采用如表5-1所示的定义符号。
- 编写格式:数据字典中包括了5类条目:数据项、数据流、加工逻辑、数据存储和外部实体,为了使各个条目的编写、维护和使用更为方便,我们需要对其编写格式加以规范:
9. 绘制判定表
二、次重要知识点
1. 结构化分析过程
2. 结构化分析常用的描述工具
-
数据流图DFD:DFD是一种描绘系统逻辑模型的图形工具,可以清楚地描述系统的组成部分以及各部分之间的联系。通过对系统的逐层分解,可以得到一套自顶向下的分层DFD,进而从整体和局部对系统的处理流程进行了建模;
-
数据字典DD:DFD只描绘了信息在系统中的流动和处理情况,而数据字典是对图中的元素进行定义;
-
结构化英语、判定表和判定树:详细描述DFD中的一些复杂处理的加工逻辑。
3. 数据流的方向的要求
数据流的方向可以是:
- 从一个加工流向另一个加工;
- 从加工刘翔数据存储,或数据存储流向加工;
- 从源点流向加工,或从加工流向终点。
4. 数据流的表示的约定
- 数据流至少有一个端点必须与数据处理符号连接;
- 对流入或流出数据存储的数据流可以不标注名字;
- 同一个加工的输入、输出数据流不允许同名;
- 两个数据处理之间可以有几股不同的数据流;
- 数据流图描述的是数据流而不是控制流。
5. 数据流与加工之间的关系
6. 数据字典中的五类条目
数据字典中包括了5类条目:数据项、数据流、加工逻辑、数据存储和外部实体。