网上报名 新手必读 个人空间 成绩查询

Hi!欢迎来到自考室!

领积分换购课程,做试题吧!

学员登入 免费注册
考试提醒
您的当前位置:首页 > 主考院校 > 中南林业科技大学自考

湖南自考本科:软件工程(02333)应考指导(三)

时间:2018-08-21 09:40:36来源:湖南自考网

湖南自考本科:软件工程(02333)应考指导(三)

第二节 结构化设计

分为总体设计和详细设计

1.       总体设计的任务

把系统的功能需求分配到一个特定的软件体系结构中。

2.      表达软件体系结构的工具

(1)模块结构图

(2)层次图

(3)HIPO图

3.    模块结构图    ★

结构图(StructureChart)是对软件总体结构的一种图形描述,它显示了软件的层次结构、组织和通讯。也就是说,在结构图中,显示了软件是由哪些模块组成的,这些模块按照什么样的层次结构组织在一起以及模块之间通过什么接口联系在一起。

结构图也称之为控制结构图、模块结构图或系统结构图。

(1)   模块符号

(2)   模块调用关系

(3)   模块间的数据传递

(4)   模块间的控制信息传递

(5)   循环调用结构

(6)   选择调用结构

(7)   数据存储

4.       层次图

层次图中一个矩形框代表一个模块,框间的连线表示调用关系(位于上方的矩形框所代表的模块调用位于下方的矩形框所代表的模块)。

5.       HIPO图

HIPO图是美国IBM公司发明的“层次图加输入/处理/输出图”的英文缩写。为了使HIPO图具有可追踪性,在H图(即层次图)里除了顶层的方框之外,每个方框都加了编号。

H图+IPO图

6.      总体设计步骤

将DFD图映射为设计层面的模块及模块调用。

(1)   变换流(Transform Flow)。基于变换流的数据流程图是一个线性的顺序结构,由输入臂、输出臂和变换中心三部分组成。其中变换中心使系统数据发生本质的变化,输入臂将物理输入变换成逻辑输入,而输出臂则将逻辑输出变换成物理输出。

(2)   事务流(Transaction Flow)。事务流的数据流程图中有一个事务处理中心,它将输入分为许多相互平行的加工路径,然后根据输入的属性,选择某一加工路径。如下图所示。

业务中心完成以下任务:

Ø⑴接收事务(即输入数据);

Ø⑵分析每个事务并确定它的类型;

Ø⑶根据事务的类型选取一条活动通路。

【例题】控制结构图的绘制

根据数据计算的数据流图:

画出以转换为中心的控制结构图。

【解析】这是一个典型的以“转换为中心”结构的分解,可以转化为:

总结:任何处理都可以划分为两种转换类型之一:以转换为中心的分解和以业务为中心结构的分解。

 

【例题】产生固定资产资料数据流程图如下,做出以业务为中心的模块控制结构图。

 

【解析】

这是以业务为中心的处理,根据模板,可以转化为:

7.    模块

执行一个特殊任务的一个过程以及相关的数据结构。模块通常由两部分组成:模块接口和模块体。

8.    模块化

“分而治之”和“抽象”。

把一个待开发的软件分解成若干个简单的、具有高内聚低耦合的模块,这一过程称为模块化。

模块化是系统设计基本原理/原则之一。

 

9.      内聚(Cohesion)

是指一个模块内部个成分之间相互关联程度的度量。也就是说,凝聚是对模块内各处理动作组合强度的一种度量。很显然,一个模块的内聚越大越好。

(1)偶然凝聚  可维护性最差     

(2)逻辑凝聚

(3)   时间凝聚

(4)过程内聚

(5)通信内聚

(6)顺序凝聚

(7)功能凝聚 可维护性最好 

10.       模块耦合

耦合(coupling)是对两个模块之间联接程度的一种度量。模块间的依赖程度越大,则其耦合程度也就越大;反之,模块间的依赖程度越小,则其耦合程度也就越小。

很显然,为了使软件具有较好的可维护性和可修改性,模块间的关联程度即耦合程度应越小越好。因为耦合程度越小,表明模块间的独立程度越大,这样在修改一个模块时,对其它模块的影响程度就越小,从而使模块的修改工作局限于一个最小范围之内。

(1)内容耦合

(2)公共耦合

(3)数据耦合

(4)控制耦合

(5)标记耦合

原则是:尽量用数据耦合,少用控制耦合,限制公共耦合的范围,避免使用内容耦合。

11.启发式规则

高内聚、低耦合。

(1)  改进软件结构,提高软件独立性。模块分解

(2)  模块规模适中

(3)  力求深度、宽度、扇出、扇入适中。

深度:表示其控制的层数。

宽度:同一层次上模块总数的最大值。

扇出:一个模块直接控制的下级模块的数目。

扇入:有多少个上级模块直接调用它。

原则:顶层模块扇出比较大,中间层模块扇出较小,底层模块具有较大的扇入。

(4)  尽量使模块的作用域在其控制域内。

模块的控制域:这个模块本身以及所有直接或间接从属它的模块的集合。

模块的作用域:受该模块内一个判断所影响的所有模块的集合。

(5)  尽力降低模块接口的复杂度

(6)  力求模块功能可以预测

12.    详细设计

具体描述模块结构图中的每一模块,即给出实现模块功能的实施机制,包括一组例程和数据结构。

13.       结构化程序设计方法

一种基于结构的编程方法,即采用顺序结构、选择结构和重复结构进行编程,其中每一结构只允许一个入口和一个出口。

三种基本的控制结构:

(a) 顺序结构,先执行A再执行B;

(b) IF-THEN-ELSE型选择(分支)结构;

(c)DO-WHILE型循环结构


上一篇:湖南自考本科:软件工程(02333)应考指导(二)

下一篇:湖南自考Java语言程序设计(一)真题-2013年10月全国卷

报名咨询 专业咨询 院校咨询 历年真题 资料下载 咨询热线0731-8206-3569