软件工程复习题参考答案内容摘要:

个成分的输入 ⑺ 功能内聚:模块内的所有成分属于一个整体,完成单一的功能。 (内聚最高) 6.什么是软件结构。 简述软件结构设计的优化准则。 ⑴ 改进软件结构,提高模块独立性 首先设计出软件初始结构,评价该结构,通过模块分解或合并,力求降低耦合提高内聚。 ⑵ 模块的规模应该适中 ⑶ 模块结构的深度、宽度、扇出和 扇入应适中 深度:软件结构中控制的层数 宽度:软件结构中同一层次上最大模块总数 扇入:某一模块有多少直接调用它的上级模块数目(越大越好) 扇出:一个模块直接控制(调用)下级模块的数目。 (越少越好, 3, 4 个为宜,不超过 9 个, 顶层扇出较高,中间扇出较少,底层模块高扇入多 ⑷ 一个模块的作用域(范围),应处在这个模块的控制域(范围)之内 模块的作用域:受该模块内一个判定影响的所有模块的集合 模块的控制域:这个模块本身以及所有直接或间接从属于它的模块的集合 7.什么样是 事物流。 什么是 变换 流。 试将相应形式的数据流图转换为软件结构图 数据流图( DFD)一般可分为 变换流 , 事物流 两种。 变换流 :由输入﹑输出﹑变换(或称处理)三部分组成,是一顺序结构。 事物流 :它的某个加工,分离成许多发散的数据流,形成许多加工路径,并且根据输入值选择其中一个路径来执行。 (这人加工称为事务处理中心) , (a),(b)分别是同一模块 A的两个不同设计方案,你认为哪一个设计方案较好 ?请陈述理由。 答:我认为 (b)方案较好。 要评价一个软件结构设计,主要看模块的独立性, 要从软件结构的耦合性和内聚性两个方面来衡量。 对于 (a)方案,模块 A与模块 B之间形成了控制耦合,因此独立性不高,而在 B模块内部,有两个不同的功能被放在一起,形成的是逻辑内聚,内聚性不高。 对于 (b)方案,模块 A 与 B1和 B2之间是数据耦合,独立性较强,在 B1 和 B2 内部,只完成单一的功能,是功能内聚,因此内聚性高,可维护性好,因此相比而言 (b)方案比 (a)方案更好些。 416 的 DFD 转换为软件结构图。 (注:图中 ⊕ 表示或者 ) 解:我们可以看出主图是变换型 DFD,而子图是事务型 DFD。 根据结构设计的 方法,得到的结构图如下: 3章习题中的第 8 题、第 9题设计成相应的软件结构图( SC)和 HIPO图。 某银行的计算机储蓄系统功能是:将储户的存户填写的存款单或存款单输入系统,如果是存款,系统记录存款人姓名﹑住址﹑存款类型﹑存款日期﹑利率等信息,并打印出存款单给储户;如果是取款,系统计算清单给储户。 某图书管理系统有以下功能: ⑴ 借书:输入读者借书证。 系统首先检查借书证是否有效,若有效,对于第一次借书的读者,在借书证上建立档案。 否则,查阅借书文件,检查该读者所借图书是否超过 10 本,若已达 10,拒借,末达 10本,办理借书(检查库存,修改库存目录并将读者借书情况录入借书文件。 ) ⑵ 还书:从借书文件中读出与读者有关的记录,查阅所借日期,如超期( 3个月)作罚款处理。 否则,修改库存目录与借书文件。 (3)查询:通过借书文件,库存目录文件查询读者情况﹑图书借阅及库存情况,打印统计表。 把上面数据流程图转换为软件结构图和 IPO 图 第 5 章 详细设计的基本任务是什么,有哪几种描述方法 ? 答:详细设计的基本任务包括: 为每个模块进行详细的算法设计 为模块 内的数据结构进行设计 对数据库进行物理设计 其他设计 编写详细设计说明书 评审 详细设计的描述方法有图形、表格和语言,其中图形常用结构化程序流程图、盒图和 PAD(问题分析图 )为描述工具,语言常用过程设计语言 (PDL)来作为工具。 结构化程序设计的基本要点是什么 ? 答 :主要有三个: 采用自顶向下、逐步求精的程序设计方法 使用三种基本控制结构构造程序。 任何程序都可以由顺序、选择、重复 (循环 )三种基本控制结构构造,这三种基本结构的共同点是单入口、单出口。 主程序员组 的组织形式。 简述 Jackson 方法的设计步骤。 答: Jackson 方法的设计步骤如下: (1)分析并确定输入数据和输出数据的逻辑结构,并用 Jackson 结构图表示这些数据结构。 (2)找出输入数据结构和输出数据结构中有对应关系的数据单元。 (3)按一定的规则由输入、输出的数据结构导出程序结构。 (4)列出基本操作与条件,并把它们分配到程序结构图的适当位置。 (5)用伪码写出程序。 请使用流程图、 PAD 图和 PDL 语言描述下列程序的算法。 (1)在数据 A(1)~ A(10)中求最大数和次大数。 解:如图所示: PDL 语言描述: GET(a[1],a[2],...a[10]) max=a[1]。 max2=a[2]。 FOR i=2 TO 10 IF a[i]max max2=max。 max=a[i]。 ELSE IF a[i]max2 max2=a[i]。 ENDIF ENDIF ENDFOR PUT(max,max2) END (2)输入三个正整数作为边 长,判断该三条边构成的三角形是等边、等腰还是一般三角形。 解:如图: PDL 语言描述如下: GET(a,b,c) IF (a+bc and b+ca and c+ab) IF (a=b) IF (a=c) PUT(等边三角形 ) ELSE PUT(等腰三角形 ) ENDIF ELSE IF(a=c) PUT(等腰三角形 ) ELSE IF (b=c) PUT(等腰三角形 ) ELSE PUT(一般三角形 ) ENDIF ENDIF ENDIF ELSE PUT (这不是一个三角形 ) ENDIF 用 PAD 图描述下面问题的控制结构。 有一个表 A(1)、 A(2)、 ...A(n),按递增顺序排列。 给定一个 Key 值,在表中用折半法查找。 若找到,将表位置 i 送入 x,否则将零送到 x,同时将 key 值插入表中。 算法: (1)置初值 H=1(表头 ), T=N(表尾 )。 (2)置 i=[(H+T)/2](取整 )。 (3)若 Key=A(i),则找到 ,i 送到 x。 若 KeyA(i),则 Key 在表的后半部分,i+1 送入 H。 若 KeyA(i),则 Key 在表的前半部分, i1送入 T,重复第 2 步查找直到 HT 为止。 (4)查不到时,将 A(i),...A(N)移到 A(i+1)...A(N+1),Key 值送入 A(i)中。 解:如图所示: 一个正文文件由若干记录组成,每个记录是一个字符串,要求统计每个记录中空格字符的个数及文件中空格字符的总个数。 要求输出数据格式是每复制一行字符串后,另起一行打印出这个字符串中的空格数,最后 打印出文件空格的总个数,用 Jackson 方法设计该程序结构。 第 6 章 在项目开发时选择程序设计语言通常考虑哪些因素 ? 答:通常要考虑的因素有: 项目的应用领域、软件开发的方法、软件执行的环境、算法和数据结构的复杂性以及软件开发人员的知识等。 举例说明各种程序设计语言的特点及适用范围 ? 答:以常见的一些编程语言为例: FORTRAN 语言,它不仅面向科学计算,数据处理能力也极强。 适用于科学工程计算 Pascal 语言,具有很强的数据和过程结构化能力,它语言简明,数据类型丰富,程序结构严谨。 它是第一个 体现结构化编程思想的语言。 用于描述结构化算法和科学计算 ,操作系统的编写 C语言:功能强大,支持复杂的数据结构,可大量运用指针,具有丰富灵活的操作运算符及数据处理操作符,它还具有汇编语言的某些特征,使程序运行效率高。 可用于许多领域,特别是在操作系统等方面有较大优势。 Coble 语言,它具有极强的数据定义能力,程序说明与硬件环境说明分开、数据描述与算法描述分开。 结构严谨层次分明,广泛用于商业数据处理。 SQL:结构化查询语言,用于对数据库进行存取管理。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。