《软件工程》复习大纲及试验指导(三)

文章作者 100test 发表时间 2007:03:16 22:49:36
来源 100Test.Com百考试题网


第三章 结构化设计
  1. 软件设计阶段的主要任务、方法、阶段:
  需求分析阶段的主要任务是确定系统必须“做什么”,形成软件的需求规格说明书,软件设计阶段的主要任务是确定系统“怎么做”,从软件需求规格说明书出发,形成软件的具体设计方案,软件设计可以采用多种方法,如结构化设计方法、面向数据结构的设计方法、面向对象的设计方法等,结构化软件设计可以分为总体设计和详细设计两个阶段。
  2. 总体设计阶段的主要任务及其内容:
  总体设计阶段的主要任务是把系统的功能需求分配给软件结构,形成软件的模块结构图(MSD),在结构图中矩形表示功能单元,称为“模块”,连接上下层模块的线段表示它们之间的调用关系,在总体设计阶段,每个模块还处于黑盒子级,模块通过外部特征标识,名字、输入、输出。
  3. 总体设计的表示形式及其内容(层次图、HIPO图、结构图):
  层次图是软件总体设计阶段最常使用的表示形式之一,用来描绘软件的层次结构,图中的每个方框代表一个模块,方框间的连线表示模块的调用关系,层次图很适合于在自顶向下设计软件的过程中使用;
  HIPO图是由美国IBM公司发明的“层次图 输入/处理/输出图”的英文缩写,HIPO图实际上由H图和IPO图两部分组成,H图就是上面提到的层次图,为了能使HIPO图具有可跟踪性,在H图里除了最顶层的方框之外,每个方框都加了编号;
  结构图和层次图类似,图中每个方框代表一个模块,方框之间的箭头(或直线)表示模块的调用关系,在结构图中通常还用带注释的箭头表示模块调用过程中来回传递的信息,尾部是空心圆表示传递的是数据,实心圆表示传递的是控制信息。
  4. 模块及其组成:
  模块是执行一个特殊任务或实现一个特殊的抽象数据类型的一组例程和数据结构,模块由两部分组成,接口和实现模块功能的执行机制。
  5. 面向数据流的设计方法(综合应用):
  面向数据流的设计方法把数据流图映射成为软件结构,数据流图的类型决定了映射的方法,数据流图可以分为变换型数据流图和事务型数据流图,具有较明显的输入、变换(或称主加工)和输出界面的数据流图称为变换型数据流图,数据沿输入通路到达一个处理模块,这个处理模块根据输入数据的类型在若干动作序列中选出一个来执行,这类数据流图称为事务型数据流图,并且称这个模块为事务中心,它完成如下任务,接收输入数据、分析数据并确定数据类型、根据数据类型选取一条活动通路。
  6. 评价软件设计质量的主要准则(模块化、抽象、耦合、内聚)及详细内容:
  模块化是好的软件设计的一个基本准则;
  抽象就是抽出事务的本质特性而暂时不考虑它们的细节,模块是按照不同的抽象级别安排的,高层抽象模块向读者隐藏了功能实现的细节,这就是信息隐蔽,模块之间相互隐藏自身的实现细节对一个好的设计来说是至关重要的;
  耦合是对不同模块之间相互依赖程度的度量,紧密耦合是指两个模块之间存在着很强的依赖关系,松散耦合是指两个模块之间存在一些依赖关系,但他们之间的连接比较弱,无耦合是指模块之间根本没有任何连接;
  耦合的强度依赖于以下四个因素,一个模块对另一个模块的引用,一个模块向另一个模块传递的数据量,一个模块施加到另一个模块的控制的数量,模块之间接口的复杂程度;
  从强到弱的几种常见的耦合类型,内容耦合,一个模块直接修改或操作另一个模块的数据;公共耦合,两个以上的模块共同引用一个全局数据项;控制耦合,一个模块在界面上传递一个信号控制另一个模块,接收信号的模块的动作根据信号值进行调整,称为控制耦合;标记耦合,若两个模块至少有一个通过界面传递的公共参数包含内部结构;数据耦合,模块间通过参数传递基本类型的数据,数据耦合是最简单的耦合形式,系统中至少必须存在这种类型的耦合;
  内聚度量的是一个模块内部各成分之间相互关联的强度,如果一个模块的所有成分都直接参与并且对于完成同一功能来说都是最基本的,则该模块是高内聚的;
  从低到高的几种常见的内聚类型,偶然内聚,一个模块的各个成分之间毫无关系;逻辑内聚,几个逻辑上相关的功能被放在同一模块中;时间内聚,一个模块完成的功能必须在同一时间内执行,但这些功能只是因为时间因素关联在一起;过程内聚,一个模块内部的处理成分是相关的,而且这些处理必须以特定的次序执行;通信内聚,一个模块的所有成分都操作同一数据集或生成同一数据集;顺序内聚,一个模块的各个成分和同一个功能密切相关,而且一个成分的输出作为另一个的成分;功能内聚,最理想的内聚是功能内聚,模块的所有成分对于完成单一的功能都是基本的;
内聚和耦合是密切相关的,在进行软件设计时,应力争做到强内聚、弱耦合。
  7. 结构化设计的启发式规则:
  改进软件结构提高模块独立性,模块规模应该适中,深度、宽度、扇入和扇出应适中,模块的作用域应该在控制域之内,力争降低模块接口的复杂性,模块功能应该可以预测;

相关文章


适合自己才是硬道理再谈自考与成考孰优孰劣
BEC证书“一箭双雕”为自考减负为就业加分
《软件工程》复习大纲及试验指导(二)
自考民校车站“抢人”介绍校情避重就轻
《软件工程》复习大纲及试验指导(三)
代办文凭也能上网查?假教育网以假乱真
《软件工程》复习大纲及试验指导(四)
民办高校毕业生4出路自考升本形式灵活
辨析成考与自考的五大区别助你正确选择
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛