软件工程自考复习资料-全

二、 结构化方法描述工具 1. 数据流图(DFD图),以图形方式描绘数据在系统中的流动和处理过程,只反映系统必须完成的逻辑 功能,是一种功能模型。体现系统“做什么”的功能,通过功能分解可完成对其细化,描述系统的分解。基本元素有: 数据流:是数据的流动,具有名字和方向。 加工:又称数据处理,是数据的变换单位,接受输入的数据内容或数据结构 ,进行处理并产生输出,必须有名字。 数据存储:是数据的静态结构,也叫文件,指暂时保存的数据,是数据库文件或任何形式的数据组织,必须用名词或名词短语命名。 数据源:是数据流的起点,必须有名字; 数据潭:是数据流的归宿地,不能作为计算机处理的成分,必须有名字,和数据源统称外部实体。 “数据流”表示 “加工”表示 “数据存储”表示 “数据源”和“数据潭”表示 使用这些基本元素应注意的问题:①数据流起到连接其它实体的作用;在应用中,数据流和数据存储一般需要给出标识,但对流入或流出数据存储的数据流,在语义比较清晰的情况下可省略;②加工之间可以有多个数据流,这些数据流可以没有直接关系,数据流图也不表明他们的先后次序。 2. 数据字典(DD)是用来定义数据流图各个成分的具体含义,以准确、无二义性的说明 13 方式为系统的分 析、设计、维护提供有关因素的一致的定义和详细的描述。 建立形式有:手工建立、利用计算机辅助建立并维护。它和数据流图共同构成系统的逻辑模型,是需求说明书重要组成部分。 四类基本条目:数据流、数据项、数据存储、基本加工条目。 数据字典定义数据流或数据存储组成时使用的符号: = 被定义为 + 与 {|}或 {}重复 m{}n重复 ()可选 “”数据元素 ..连接符 3. 加工逻辑是只指对数据流图中的数据处理进行逻辑上的说明,详细描述数据流图中不能再分解的每一个加工,采用三种工具: 结构化语言:介于自然语言和形式化语言间的一种半形式语言。非为外层(采用顺序、选择、重复三种基本结构,描述控制结构)和内层。 判定表:构成如下: 条件类别 操作 条件组合 操作执行 判定树:是判定表的变形,更直观易懂。与判定表主要用于描述存在多个条件复杂组合的判断问题。 4. 另外还有结构化英语等工具。 三、 数据流图的绘制 1. 绘图方法有:自顶向下、分层绘制、初步求精等。 2. 步骤:(1)先画出系统的输入输出,即先画顶层数据流图。顶层数据流图包括一个加工 14

以表示被开发

的系统。

(2)画系统内部,即画下层数据流图。将层号从0号开始编号,采用自顶向下、

由外向内德原则。画更下层数据流图时,则分解上层图中的加工,一般沿输入流方向,凡数据流的组成或值发生变化的地方则设置一个加工,一直进行到输出流。如果加工的内部还有数据流则继续分解,直到每个加工足够简单,不能分解为止。不能分解的加工叫基本加工。

3. 注意问题:(1)命名:不能使用缺乏具体含义的名字,加工名应能反映处理的功能。 (2)画数据流而不是控制流:数据流名称只能是名词或名词短语,整个图

中不反映加工的执行顺序。一般不画物质流。

(3)每个加工至少有一个输入数据流和一个输出数据流,反映出此加工的

来源和结果。

(4)编号:某个加工分解成一张数据流图时,上层图为父图,下层图为子

图。子图和其上的所有加工应编号,子图编号和父图编号相对应。

(5)父图和子图的平衡。子图的输入输出数据流同父图加工的输入输出数

据流必须一致。

(6)当局部数据存储作为某些加工的数据接口或某些加工特定的输入输出

时,就把它画下来,有助于实现信息隐蔽性。

(7)提高数据流图的易理解性。

四、 数据流图的基本类型

1. 数据流图一般分为变换型数据流图和事务型数据流图。两者的区别在于前者具有明显

15

变换特征的数据

流图,后者适用于具明显事物特征的数据流图。

2. 变换型数据流图是一个顺序结构,由输入、变换、输出三部分组成。工作过程分为:

取得数据、变换

数据、给出数据。

事务型数据流图是将它的输入流分离成许多发散的数据流,形成许多加工路径,并根

据输入的值选择

其中一个路径来执行。

3. 变换型数据流图设计步骤:(1)确定DFD的变换中心、逻辑输入和逻辑输出。(2)设

计软件结构的顶层和第一层:变换结构。(3)设计中、下层模块。(4)设计的优化。 4. 事务型数据流图设计步骤:(1)确定DFD的事务中心和加工路径。(2)设计软件结构

的顶层和第一层:事务结构。(3)设计中、下层模块、优化等工作,与变换型流程图设计一致。

五、 结构化设计和总体设计

1. 软件设计是应用各种各样的技术和原理,定义一个系统或部件的框架、组成、接口或

其他特征的过程或“该过程的结果”,是将软件需求变换成软件表示的过程。 2. 模块在程序中是数据说明、可执行语句等程序对象的集合,或是单独命名和编址的元

素,在软件体系结构中,模块是可组合、分解和更换的单元。基本属性有接口、功能、逻辑(反映内部特性)、状态。 5. 软件设计基本原理是:

抽象:即抽出事物本质的共同特性而暂不考虑细节和其它因素,能确定组成软件的过

16

联系客服:779662525#qq.com(#替换为@)