自考“软件工程”复习大纲及试验指导(2)

2019-08-30 18:29

数据流图中所有的图形元素必须根据它们的用法规则正确使用,每个数据流和数据存储都要在数据字典中有定义,数据字典将包括各层数据流图中数据元素的定义,数据字典中的定义使用合法的逻辑构造符号,数据流图中最底层的加工必须在小说明中有定义,父图和子图必须平衡,小说明和数据流图的图形表示必须一致。 (6)建立系统模型控制复杂性的一些规则:

上层数据流可以打包,上、下层数据流的对应关系用数据字典描述,同层的数据流也可以编号对应,包内流的性质(输入/输出)必须一致,为了便于人的理解,把一幅图中的图元个数控制在7±2以内,检查同每个加工相关的数据流,并寻找是否有其他可降低界面复杂性的划分方法,分析数据内容,确定是否所有的输入信息都用于产生输出信息,相应的,有一个加工产生的所有信息是否都能由进入该加工的信息导出。 (7)结构化分析的基本步骤:

通过对现实系统的了解和分析,或基于需求陈述,建立该系统的数据流图,基于得到的数据流图,建立该系统的数据字典,基于得到的数据流图,对最底层的加工给出其控制结构描述,依据需求陈述,建立人机接口和其他性能描述,通过分析和验证,建立系统完整的需求规约。

10.需求验证及其内容:

需求验证就是对软件需求规格说明书(SRS)加以验证,需要从以下方面进行,正确性,无二义性,完整性,可验证性,一致性,可理解性,可修改性,可被跟踪性,可跟踪性,设计无关性,注释。

11.需求分析规格说明书及其作用:

需求分析规格说明书是需求分析阶段产生的一份最重要的文档,它以一种一致的、无二义的方式准确的表达用户的需求,它起到三方面的作用,作为软件开发机构和用户之间一份事实上的技术合同书,作为软件开发机构下一步进行设计和编码的基础,作为测试和验收目标系统的依据。

12.用符号“+”、“|”、“{}”表达的完备的数据结构:

根据Jackson理论,所有数据结构分为三类,顺序、选择、循环,以上三种符号恰好对应了三种数据结构。

13.系统需求规格说明书的基本结构:

引言、概述、数据流图与数据字典、接口、性能需求、属性、其他需求。

本章设计题为DFD建模,为笔试和试验的必考题型,非常重要,考生可参考辅导第264页“建模题”,其中面向对象部分将在后面文章中提及,首先应把重点放在DFD的建立以及定义DD和小说明上。 第三章 结构化设计

1. 软件设计阶段的主要任务、方法、阶段:

需求分析阶段的主要任务是确定系统必须“做什么”,形成软件的需求规格说明书,软件设计阶段的主要任务是确定系统“怎么做”,从软件需求规格说明书出发,形

成软件的具体设计方案,软件设计可以采用多种方法,如结构化设计方法、面向数据结构的设计方法、面向对象的设计方法等,结构化软件设计可以分为总体设计和详细设计两个阶段。

2. 总体设计阶段的主要任务及其内容:

总体设计阶段的主要任务是把系统的

功能需求分配给软件结构,形成软件的模块结构图(MSD),在结构图中矩形表示功能单元,称为“模块”,连接上下层模块的线段表示它们之间的调用关系,在总体设计阶段,每个模块还处于黑盒子级,模块通过外部特征标识,名字、输入、输出。 3. 总体设计的表示形式及其内容(层次图、HIPO图、结构图):

层次图是软件总体设计阶段最常使用的表示形式之一,用来描绘软件的层次结构,图中的每个方框代表一个模块,方框间的连线表示模块的调用关系,层次图很适合于在自顶向下设计软件的过程中使用;

HIPO图是由美国IBM公司发明的“层次图+输入/处理/输出图”的英文缩写,HIPO图实际上由H图和IPO图两部分组成,H图就是上面提到的层次图,为了能使HIPO图具有可跟踪性,在H图里除了最顶层的方框之外,每个方框都加了编号;

结构图和层次图类似,图中每个方框代表一个模块,方框之间的箭头(或直线)表示模块的调用关系,在结构图中通常还用带注释的箭头表示模块调用过程中来回传递的信息,尾部是空心圆表示传递的是数据,实心圆表示传递的是控制信息。 4. 模块及其组成:

模块是执行一个特殊任务或实现一个特殊的抽象数据类型的一组例程和数据结构,模块由两部分组成,接口和实现模块功能的执行机制。 5. 面向数据流的设计方法(综合应用):

面向数据流的设计方法把数据流图映射成为软件结构,数据流图的类型决定了映射的方法,数据流图可以分为变换型数据流图和事务型数据流图,具有较明显的输入、变换(或称主加工)和输出界面的数据流图称为变换型数据流图,数据沿输入通路到达一个处理模块,这个处理模块根据输入数据的类型在若干动作序列中选出一个来执行,这类数据流图称为事务型数据流图,并且称这个模块为事务中心,它完成如下任务,接收输入数据、分析数据并确定数据类型、根据数据类型选取一条活动通路。

6. 评价软件设计质量的主要准则(模块化、抽象、耦合、内聚)及详细内容: 模块化是好的软件设计的一个基本准则;

抽象就是抽出事务的本质特性而暂时不考虑它们的细节,模块是按照不同的抽象级别安排的,高层抽象模块向读者隐藏了功能实现的细节,这就是信息隐蔽,模块之间相互隐藏自身的实现细节对一个好的设计来说是至关重要的;

耦合是对不同模块之间相互依赖程度的度量,紧密耦合是指两个模块之间存在着很强的依赖关系,松散耦合是指两个模块之间存在一些依赖关系,但他们之间的连接比较弱,无耦合是指模块之间根本没有任何连接;

耦合的强度依赖于以下四个因素,一个模块对另一个模块的引用,一个模块向另一个模块传递的数据量,一个模块施加到另一个模块的控制的数量,模块之间接口的复杂程度; 从强到弱的几种常见的耦合类型,内容耦合,一个模块直接修改或操作另一个模块的数据;公共耦合,两个以上的模块共同引用一个全局数据项;控制耦合,一个模块在界面上传递一个信号控制另一个模块,接收信号的模块的动作根据信号值进行调整,称为控制耦合;标记耦合,若两个模块至少有一个通过界面传递的公共参数包含内部结构;数据耦合,模块间通过参数传递基本类型的数据,数据耦合是最简单的耦合形式,系统中至少必须存在这种

类型的耦合;

内聚度量的是一个模块内部各成分之间相互关联的强度,如果一个模块的所有成分都直接参与并且对于完成同一功能来说都是最基本的,则该模块是高内聚的;

从低到高的几种常见的内聚类型,偶然内聚,一个模块的各个成分之间毫无关系;逻辑内聚,几个逻辑上相关的功能被放在同一模块中;时间内聚,一个模块完成的功能必须在同一时间内执行,但这些功能只是因为时间因素关联在一起;过程内聚,一个模块内部的处理成分是相关的,而且这些处理必须以特定的次序执行;通信内聚,一个模块的所有成分都操作同一数据集或生成同一数据集;顺序内聚,一个模块的各个成分和同一个功能密切相关,而且一个成分的输出作为另一个的成分;功能内聚,最理想的内聚是功能内聚,模块的所有成分对于完成单一的功能都是基本的;

内聚和耦合是密切相关的,在进行软件设计时,应力争做到强内聚、弱耦合。 7. 结构化设计的启发式规则:

改进软件结构提高模块独立性,模块规模应该适中,深度、宽度、扇入和扇出应适中,模块的作用域应该在控制域之内,力争降低模块接口的复杂性,模块功能应该可以预测; 模块的作用域定义为受该模块内一个判定影响的所有模块的集合,模块的控制域是这个模块本身以及所有直接或间接从属于它的模块的集合。 8. 结构化分析与结构化设计的区别:

结构化分析得到数据流图、数据字典等,属于逻辑模型,结构化设计得到模块结构图,属于程序模型。

9. 详细设计阶段的目标、表现、内容:

详细设计阶段的根本目标是确定怎样具体的实现所要求的系统,详细设计以总体设计阶段的工作为基础,但又不同于总体设计,主要表现在,在总体设计阶段,数据项和数据结构以比较抽象的方式描述,详细设计要提供关于算法的更多细节;

详细设计的模块包含实现对应的总体设计的模块所需要的处理逻辑,主要有,详细的算法,数据表示和数据结构,实施的功能和使用的数据之间的关系。 10.结构化程序的三种基本结构,结构化设计的目标:

结构化程序设计技术采用自顶向下逐步求精的设计方法和单入口单出口的控制结构,并且只包含顺序、选择和循环三种结构,结构化程序设计的目标之一是使程序的控制流程线性化,即程序的动态执行顺序符合静态书写结构,结构化程序设计的观点是要求设计好结构的程序。

11.详细设计的任务,详细设计的工具及其内容特点:

详细设计的任务是给出软件模块结构中各个模块的内部过程描述,也就是模块内部的算法设计,详细设计的工具可以分为图形、表格、语言三种,包括程序流程图、盒图(N-S图)、PAD图、类程序设计语言(PDL);

程序流程图中使用的主要符号包括顺序、选择、循环结构,它的主要缺点如下,程序流程图本质上不是逐步求精的好工具,它诱使程序员过早的考虑程序的控制流程,而不去考虑程序的全局结构,程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制,程序流程图不易表示数据结构;

PAD是问题分析图的英文缩写,它用二维树形结构的图表示程序的控制流,PAD图的主要优点如下,使用表示结构化控制结构的PAD符号所设计出来的程序必然是结构化程序,PAD图所描述的程序结构十分清晰,用PAD图表现程序逻辑,易读、易懂、易记,很容易将PAD图转换成高级语言源程序,既可用于表示程序逻辑,也可用于描述数据结构,PAD图的符号支持自顶向下逐步求精的使用,PAD图是面向高级程序设计语言的;

类程序设计语言也称为伪码,它是用正文形式表示数据结构和处理过程的设计工具,PDL具有以下特点,关键字的固定语法,提供了结构化控制结构、数据说明和模块化的手段,自然语言的自由语法,用于描述处理过程和判定条件,数据说明的手段,既包括简单的数据结构,又包括复杂的数据结构,模块定义和调用的技术,提供各种接口描述模式;

PDL作为一种设计工具有如下一些优点,可以作为注释直接插在源程序中间,可以使用普通的正文编辑程序或文字处理系统,很方面的完成PDL的书写和编辑工作,已经有自动处理程序存在,而且可以自动由PDL生成程序代码,PDL的缺点是不如图形工具形象直观,描述复杂的条件组合与动作间的对应关系时,不如判定表或判定树清晰简单。

本章设计题为DFD到模块结构图的转换和详细设计工具的具体应用,为笔试和试验的必考题型,非常重要,请考生参考辅导第256页(1)~(7)题,务必每一种题型都熟练掌握。 本章与上一章的设计题是软件工程科目的重点,大约占笔试的35%,占试验的70%,并且前面四章的所有内容大约占笔试的60%,希望读者重点掌握。


自考“软件工程”复习大纲及试验指导(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:苏宁电器资产负债表分析

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: