
软件工程模家试愿3 一、填空是 (在括号内填写正确的答案。每空1分,共25分) L.款件的发展经历了( )、程序系统阶段、( )和第四阶 段。 2载件工程的基本原则包括( ).( )、一致性和确定性: 3在可行性研究中,最难决断和最关键的是( 2 4优秀的设计通常是从现有的物理系饶出发,导出现有系饶的( 点需求分析的基本任务是( . 6在数据流图中,加工以( )或( )作为加工对象。 7.数据字具的内容包括〔 ).( 入( ),数据存储、 处理逐辑和外部实体。 8PD图既可用于表示《程序逻制),也可用于猫绘( . 9.结构程序设计是一种设计程序的技术,它采用( )、( )的拉制结 构 10,榄块鞋立的概念是( )( )、信息隐蓝和( 》概之 的直接结果。 11,面向对象方法是一种运用( ),( ).( 、聚合、 消息传送、多态性等假念来构迹系统的软件开发方法。 12,实现容错的主要手段是( )和防错程序设计。 13.软件测试的步骤主要包括( )、集成测试、确认测试知《 二、单项选择题 (将一个正确的答案代码填入括号中,每小题2分,共10分) 1.下列( )不是需求分析结束后需要提交的文档中包含的内容。 人简的算法描述 B数据字典 C数据流图 D程序代码 2下列描述正确的是(
软件工程模拟试题 3 一、填空题 (在括号内填写正确的答案,每空 1 分,共 25 分) 1. 软件的发展经历了( )、程序系统阶段、( )和第四阶 段。 2. 软件工程的基本原则包括( )、( )、一致性和确定性。 3. 在可行性研究中,最难决断和最关键的是( )。 4. 优秀的设计通常是从现有的物理系统出发,导出现有系统的( )。 5. 需求分析的基本任务是( )。 6. 在数据流图中,加工以( )或( )作为加工对象。 7. 数据字典的内容包括( )、( )、( )、数据存储、 处理逻辑和外部实体。 8. PAD 图既可用于表示( 程序逻辑 ),也可用于描绘( )。 9. 结构程序设计是一种设计程序的技术,它采用( )、( )的控制结 构。 10. 模块独立的概念是( )、( )、信息隐蔽和( )概念 的直接结果。 11. 面向对象方法是一种运用( )、( )、( )、聚合、 消息传送、多态性等概念来构造系统的软件开发方法。 12. 实现容错的主要手段是( )和防错程序设计。 13. 软件测试的步骤主要包括( )、集成测试、确认测试和( )。 二、单项选择题 (将一个正确的答案代码填入括号中,每小题 2 分,共 10 分) 1. 下列( )不是需求分析结束后需要提交的文档中包含的内容。 A. 简明的算法描述 B. 数据字典 C. 数据流图 D. 程序代码 2. 下列描述正确的是( )

A.数据流图和程序流程图均可包含物流和资金流 B。数据流图不反映处理的先后,程序瓷程图反晚时间顺序 C.数据流图不反映控制关系,程序结构图反映控制关系 D.数据流图和程序流程图均反映调用关系 3糯合的强霜不取决于( A.模块间接口的复杂程皮 B.调用模块的方式 C,通过找口的信息 D.模块内部各个元素彼此之间的紧密结合程度 4.程序测试是指 A,找出编码中错误的代码执行话动 B.对软件计划。款件设计,软件编码进行查罐的话动 C.对软件计划。款件设计,钛件编码进行纠错的活动 D,纠正编码中的错误的代码执行活动 5下列( )操作产生的剧作用属于数据剧作用。 A.修改子程序 B.局部变量的再定义 C.剩障标识符 D.修改对编辑条件的测试 三、多项选择思 (弗一个以上正确的答案代再填入括号中,每小题2分,共10分)】 1,利用特尔菲(elhi)法进行成本评估包括( )步骤, A. 肥系统定义文件或规格说明发给各位专家 B. 专家分组开会取得各组意见 C. 由协调人镶合意见 D. 专家组重新开会进行反复评估 2关千软件测试,正确的搞述包括( A,测试前要认定按测试的软件有错 B.要尽量避免测试自己编写的程序 C.测试要兼顾合理输入与不合理输入数据
A. 数据流图和程序流程图均可包含物流和资金流 B. 数据流图不反映处理的先后,程序流程图反映时间顺序 C. 数据流图不反映控制关系,程序结构图反映控制关系 D. 数据流图和程序流程图均反映调用关系 3. 耦合的强弱不取决于( )。 A. 模块间接口的复杂程度 B. 调用模块的方式 C. 通过接口的信息 D. 模块内部各个元素彼此之间的紧密结合程度 4. 程序测试是指( )。 A. 找出编码中错误的代码执行活动 B. 对软件计划,软件设计,软件编码进行查错的活动 C. 对软件计划,软件设计,软件编码进行纠错的活动 D. 纠正编码中的错误的代码执行活动 5. 下列( )操作产生的副作用属于数据副作用。 A. 修改子程序 B. 局部变量的再定义 C. 删除标识符 D. 修改对编辑条件的测试 三、多项选择题 (将一个以上正确的答案代码填入括号中,每小题 2 分,共 10 分) 1. 利用特尔菲(Delphi)法进行成本评估包括( )步骤。 A. 把系统定义文件或规格说明发给各位专家 B. 专家分组开会取得各组意见 C. 由协调人综合意见 D. 专家组重新开会进行反复评估 2. 关于软件测试,正确的描述包括( )。 A. 测试前要认定被测试的软件有错 B. 要尽量避免测试自己编写的程序 C. 测试要兼顾合理输入与不合理输入数据

D,测试是相对的,不能穷尽所有的测试,要据人力物力安排测试,选择好测试用例与 测试方法 3在载件设计申,( )得合应尽量避免。 A,控刺 B.数据 C,内容 D.标记 4.下列摇述正确的是( A,该结构的深度为3 B。该结构的宽度为3 C,横块A的扇出为4 D.模块1的扇入为2 5.软件管理工作湾及到的直接对象包括( A.软件开发人员 B,硬件设备 C.项目经费 D.软件项目 四、判断题 (正确的在括号内打上“√,情误的打上X”。每小题2分。共10分》 1.软件隆护阶段的花费银少,因此不需要太重视。() 2过大的横块可能是由于分解不充分造成的,。即使降低核块独立性也必须继续分解
D. 测试是相对的,不能穷尽所有的测试,要据人力物力安排测试,选择好测试用例与 测试方法 3. 在软件设计中,( )耦合应尽量避免。 A. 控制 B. 数据 C. 内容 D. 标记 4. 下列描述正确的是( )。 A. 该结构的深度为 3 B. 该结构的宽度为 3 C. 模块 A 的扇出为 4 D. 模块 t 的扇入为 2 5.软件管理工作涉及到的直接对象包括( )。 A. 软件开发人员 B. 硬件设备 C. 项目经费 D. 软件项目 四、判断题 (正确的在括号内打上“√”,错误的打上“╳”。每小题 2 分,共 10 分) 1. 软件维护阶段的花费很少,因此不需要太重视。( ) 2. 过大的模块可能是由于分解不充分造成的,即使降低模块独立性也必须继续分解。 ( ) A B C D m n t

3软件开发的成本主要是人的劳动消耗。《》 4.L贝能应用于软件系统模型的建立。() 及程序设计语言中应绝对禁止使用GOT⑩语句。( 五、月答愿(共28分) L.什么是款件危机,软件危机有摩几种表现T 2什么是数据流图?为什么数据流图要分层? 3简述详细设计的任务。 4简述什么是静态分新技术,什么是动态测试技术, 六、分析题(共17分) L.用Jaks00图表示下图所示的二维表格: 产品记录 编 产品 表头 生产厂 型号 号 名称 家 44 44444d 4044 44044 表体 该学生名册由表头和表体两部分组成,其中表头又顺序包括表名和字段名,表体可由任 意行组成,每行包括产品的编号、产品名称、生产厂家和型号。 1,指出下列程序段存在的问盟。并进行合理的修政。 程序段目的:打印AB,C三数中最小者。 if(A《B)ot0120 if(B《C)oto1l0: 100rite(C): zot0140: 110r1te(B) 010140:
3. 软件开发的成本主要是人的劳动消耗。( ) 4. UML 只能应用于软件系统模型的建立。( ) 5. 程序设计语言中应绝对禁止使用 GOTO 语句。( ) 五、问答题(共 28 分) 1. 什么是软件危机,软件危机有哪几种表现? 2. 什么是数据流图?为什么数据流图要分层? 3. 简述详细设计的任务。 4. 简述什么是静态分析技术,什么是动态测试技术。 六、 分析题 (共 17 分) 1. 用 Jackson 图表示下图所示的二维表格: 产品记录 编 号 产品 名称 生产厂 家 型号 … … …… …… …… 该学生名册由表头和表体两部分组成。其中表头又顺序包括表名和字段名。表体可由任 意行组成,每行包括产品的编号、产品名称、生产厂家和型号。 1. 指出下列程序段存在的问题,并进行合理的修改。 程序段目的:打印 A, B, C 三数中最小者。 if ( A < B ) goto 120; if ( B < C ) goto 110; 100 write ( C ); goto 140; 110 write ( B ); goto 140; 表头 表体

120if(A《C)oto130: 20ot0100: 130 write (A ) 140 end
120 if ( A < C ) goto 130; goto 100; 130 write ( A ); 140 end

参考答案及评分标准 一、填空耀〔每空1分,共25分》 1,程序设计阶段、软件工程阶段 2分解,独立性 及技术可行性 4高层逻排核型 5滑确的回答“系统必须做什么“ 6数据结构、数据内容 T,数据流、数据项、数据结构 8程序逐辑、数据结构 9.单入口、单出口 1Q,柄块化、抽象、同部化 1山.对象、类、封装 2.沉余 13,单元测试,系饶测试 二、单项选择思(每小题2分,共10分) I.D 2.B 3.D 4A 5.B 三、多项选择题(每小题2分,共10分) 1.A.C 2A.B、C,D 3.C.D 4.B,D 5A.C、D 四、判断愿(每小题2分,共10分) 1.X 2X
参考答案及评分标准 一、填空题(每空 1 分,共 25 分) 1. 程序设计阶段、软件工程阶段 2. 分解、独立性 3. 技术可行性 4. 高层逻辑模型 5. 准确的回答“系统必须做什么” 6. 数据结构、数据内容 7. 数据流、数据项、数据结构 8. 程序逻辑、数据结构 9. 单入口、单出口 10. 模块化、抽象、局部化 11. 对象、类、封装 12. 冗余 13. 单元测试、系统测试 二、单项选择题(每小题 2 分,共 10 分) 1. D 2. B 3. D 4. A 5. B 三、多项选择题(每小题 2 分,共 10 分) 1. A、C 2. A、B、C、D 3. C、D 4. B、D 5. A、C、D 四、判断题(每小题 2 分,共 10 分) 1. ╳ 2. ╳

4.X 5.X 五、月答愿(每小题7分,共29分) 1.答:软件开发和维护的过程中所遇到的一系列严重的月题。具体表现在: (1)产品不能符合用户的实际需求: (2)软件开发的效率较低: (3)软件产品的质量差: 《4)软件开发成本和进度的估算不准确: (5)软件可维护性差: (6)软件开发文档资料不完整也不合格: (7)软件的价格品贵。 2答: 数据流图从数据传递和加工的角度,以图形的方式描述数据流从输入到输出的传输变换 过程,数据流图是结构化系统分析的主要工具,它表示了系统内部信息的流向,并表示了系 统的逻辑处理的功能。 为了表达数据处理过程的数据加工情况,用一个数据流图是不够的。为表达精为复杂的 实际刊恩,需要按围间思的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。 描述一个复杂的系统。不可能一下子引进太多的细节。否测用一张数据流图西出所有的数据 流和处理迎铜,这张图将及其大、复桑,难以绘制,难以理解。因此数据流图需要进行分 解,用几个数据流图米表示。 3答: 为每个模块确定采用的算法,选邦某种适当的工具表达算法的过程,写出棱块的详细过 程性排逃: 确定每一模块使用的数据结构: 确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其它模块的接口, 以及核块输入数据,输出数据及局都数据的全部细节, 要为每一个模块设计出一组测试用例,以便在编码阶段对模块代码《即程序)速行预定 的测试,模块的测试用例通常应包括输入数据,期望输出等内容。 4答
3. √ 4. ╳ 5. ╳ 五、问答题(每小题 7 分,共 28 分) 1. 答:软件开发和维护的过程中所遇到的一系列严重的问题。具体表现在: (1)产品不能符合用户的实际需求; (2)软件开发的效率较低; (3)软件产品的质量差; (4)软件开发成本和进度的估算不准确; (5)软件可维护性差; (6)软件开发文档资料不完整也不合格; (7)软件的价格昂贵。 2. 答: 数据流图从数据传递和加工的角度,以图形的方式描述数据流从输入到输出的传输变换 过程。数据流图是结构化系统分析的主要工具,它表示了系统内部信息的流向,并表示了系 统的逻辑处理的功能。 为了表达数据处理过程的数据加工情况,用一个数据流图是不够的。为表达稍为复杂的 实际问题,需要按照问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。 描述一个复杂的系统,不可能一下子引进太多的细节。否则用一张数据流图画出所有的数据 流和处理逻辑,这张图将及其庞大、复杂,难以绘制,难以理解。因此数据流图需要进行分 解,用几个数据流图来表示。 3. 答: 为每个模块确定采用的算法,选择某种适当的工具表达算法的过程,写出模块的详细过 程性描述; 确定每一模块使用的数据结构; 确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其它模块的接口, 以及模块输入数据、输出数据及局部数据的全部细节; 要为每一个模块设计出一组测试用例,以便在编码阶段对模块代码(即程序)进行预定 的测试,模块的测试用例通常应包括输入数据,期望输出等内容。 4. 答:

静态分析技术:不执行被测软件,可对需求分析说明节、软件授计说明书、源程序做结 构检查、流程分析、符号执行来找出款件错误。 动态测试技术:当把程序作为一个函数,输入的全体称为函数的定义城,输出的全体称 为函数的值域,函数则描述了输入的定义域与输出值域的关系。 六、分析愿(第一小题10分,第二小题7分,共17分) 1.答: 产品记录 表头 表体 表名 学段名 行 编号 产品 生产 型号 名称 厂家 2答: 存在的主要问题包括 1,大量使用T0语句,导致程序的流程混乱, 2、程序编写不注意格式。可读性差。修改如下 if(A《B)ad(A《C)then vrite (A else if(A>B)amd(B《C)then vrite(B】 else r1te(C) endif endif
静态分析技术:不执行被测软件,可对需求分析说明书、软件设计说明书、源程序做结 构检查、流程分析、符号执行来找出软件错误。 动态测试技术:当把程序作为一个函数,输入的全体称为函数的定义域,输出的全体称 为函数的值域,函数则描述了输入的定义域与输出值域的关系。 六、 分析题 (第一小题 10 分,第二小题 7 分,共 17 分) 1. 答: 2. 答: 存在的主要问题包括 1、大量使用 GOTO 语句,导致程序的流程混乱。 2、程序编写不注意格式,可读性差。修改如下: if ( A B ) and ( B < C ) then write ( B ) else write ( C ) endif endif 产品记录 表头 表体 表名 字段名 行* 编号 产品 名称 生产 厂家 型号