1、软件工程A试卷软件工程期末试卷A一、选择题(48分)1. (5分)从供选择的答案中选出正确的答案填入下列叙述中的() 内。模块内聚性用于衡量模块内部各成份之间彼此结合的紧密程度。(1)一组语句在程序中多处出现,为了节省内存空间把这些语句放在一个模块中,该模块的内聚性是( A )的。(2)将几个逻辑上相似的成分放在同一个模块中,通过模块入口处的一个判断决定执行哪一个功能。该模块的内聚性是( B )的。(3)模块中所有成分引用共同的数据,该模块的内聚性是( C )的。(4) 模块内的某成份的输出是另一些成分的输入,该模块的内聚性是( D )的。(5)模块中所有成份结合起来完全一项任务,该模块的内聚
2、性是( E )的。它具有简明的外部界面,由它构成的软件易于理解、测试和维护。供选择的答案:AE:功能内聚信息内聚通信内聚过程内聚巧合内聚时间内聚逻辑内聚2. (5分)从供选择的答案中选出应该填入下列关于软件设计的叙述的( )内的正确答案。在众多的设计方法中,SD方法是最受人注意的,也是最广泛应用的一种,这种方法可以同分析阶段的( A )方法及编程阶段的( B )方法前后衔接,SD方法是考虑如何建立一个结构良好的程序结构,它提出了评价模块结构质量的两个具体标准块间联系和块内联系。SD方法的最终目标是( C ),用于表示模块间调用关系的图叫( D )。另一种比较著名的设计方法是以信息隐蔽为原则划分
3、模块,这种方法叫( E )方法。供选择的答案:AB:JacksonSASCParnasSPC:块间联系大,块内联系大块间联系大,块内联系小块间联系小,块内联系大块间联系小,块内联系小D:PAD HCP SCSADTHIPONSE:JacksonParnasTuringWirthDijkstra3. (5分)从供选择的答案中选出应该填入下列关于软件设计的叙述的( )内的正确答案。在完成软件概要设计,并编写出相关文档之后,应当组织对概要设计工作的评审。评审的内容包括:分析该软件的系统结构、子系统结构,确认该软件设计是否覆盖了所有已确定的软件需求,软件每一成分是否可( A )到某一项需求。分析软件各
4、部分之间的联系,确认该软件的内部接口与外部接口是否已经明确定义。模块是否满足( B )和( C )的要求。模块( D )是否在其( E )之内。供选择的答案A:覆盖 演化 追溯等同 连接 B:多功能 高内聚高耦合高效率 可读性C:多入口 低内聚低耦合低复杂度 低强度DE:作用范围 高内聚低内聚取值范围 控制范围4. (2分)类库是一种预先定义的程序库,它以程序模块的形式,按照( )把一组类的定义和实现组织在一起:( )对类库的建设提供了强有力的支持。A.类的功能 B.类层次结构 C.实例之间的调用关系 D.类的类型 A.引用 B.重置 C.类属类 D.封装 5. (4分)在UML中,对象行为是
5、通过交互来实现的,是对象间为完成某一目的而进行的一系列消息交换。消息序列可用两种图来表示,强调消息时间次序的图称之为( ),该图的特点是( ),强调参加交互的对象的组织图称之为( ),这两种图是( )。A.活动图(activity diagram) B.状态图(statechart diagram) C.序列图(sequence diagram) D.协作图(collaboration diagram) A.有生命线及控制焦点,重点在消息的时间顺序上 B.有路径有顺序号,为了一个消息的时间顺序给消息加数字前缀 C.是对系统、子系统或类的行为建模 D.本质上是一个流程图,显示从活动到活动的信息流
6、 A.活动图(activity diagram) B.状态图(statechart diagram) C.序列图(sequence diagram)D.协作图(collaboration diagram) A.同构的,所以可以互相转换 B.异构的,所以不可以互相转换 C.强调对象行为的事件顺序,常用于对反应式系统建模 D.专注于系统的动态视图,状态无法确定,所以不可以互相转换 6. (6分)从供选择的答案中选出应该填入下面 ( ) 中的正确答案。A. 允许用户建立、修改、存储正文的计算机程序是 ( )。 BOOtstrap Editor Loader TextformatterB. 程序语言的
7、编译系统和解释系统相比,从用户程序的运行效率来看 ( )。 前者运行效率高 两者大致相同 后者运行效率高 不能确定C. FORTRAN语言的源程序是 ( ) 结构。 块状 分程序嵌套 既是块状,又是嵌套 既不是块状,又不是嵌套的D. 国际上最广泛使用的商用及行政管理语言是 ( )。 COBOL BASIC FORTRAN PL/1E. 国际上最流行的数值计算的程序设计语言是 ( )。 BASIC ALGOL FORTRAN CF. 美国国防部主持开发了高级程序设计语言Ada,在它研制开始时,经反复比较,确定以高级语言 ( ) 作为Ada研究的出发点。 LISP ALGOL ALGOL68 PL
8、/17. (6分)测试过程需要三类输入.( A )、( B )和( C )。请选择正确的答案填入下图中以完成测试信息处理的全过程。供选择的答案:AC. 接口选择 软件配置 硬件配置 测试配置 测试环境 测试工具 DF. 排错 可靠性分析 结果分析 数据分类8. (5分)请从供选择的答案中选出应填入下列()中的字句。程序的三种基本控制结构是( A )。它们的共同点是( B )。结构化程序设计的一种基本方法是( C )。软件测试的目的是( D )。软件调试的目的是( E )。供选择的答案:A. 过程,子程序,分程序 顺序,条件,循环 递归,堆栈,队列 调用,返回,转移B. 不能嵌套使用 只能用来写
9、简单的程序 已经用硬件实现 只有一个入口和一个出口C. 筛选法 递归法 归纳法 逐步求精法D. 证明程序中没有错误 发现程序中的错误 测量程序的动态特性 检查程序中的语法错误E. 找出错误所在并改正之 排除存在错误的可能性 对错误性质进行分类 统计出错的次数 9. (5分)从供选择的答案中选出应该填入下列关于软件测试的叙述的( )内的正确答案。软件测试中常用的静态分析方法是( A )和( B )。( B )用于检查模块或子程序间的调用是否正确。分析方法(白盒方法)中常用的方法是( C )方法。非分析方法(黑盒方法)中常用的方法是( D )方法和( E )方法。( E )方法根据输出对输入的依赖
10、关系设计测试用例。供选择的答案:AB. 引用分析 算法分析 可靠性分析 效率分析 接口分析 操作分析CE. 路径测试 等价类 因果图 归纳测试 综合测试 追踪 深度优先 调试 相对图10. (5分)软件可移植性是用来衡量软件的( A )的重要尺度之一。为了提高软件的可移植性,应注意提高软件的( B )。采用( C )有助于提高( B )。为了提高可移植性,还应( D )。使用( E )语言开发的系统软件具有较好的可移植性。供选择的答案:A. 通用性 效率 质量 人机界面B. 使用的方便性 简洁性 可靠性 设备独立性C. 优化算法 专用设备 表格驱动方式 树型文件目录D. 有完备的文件资料 选择好的宿主计算机 减少输入输出次数 选择好的操作系统E. COBOL APL C SQL二、解答题(52分)1. (10分)写出“家庭保安系统”中“门窗监测”的场景。2. (13分)什么是变换流和事务流?3. (20分)面向数据流的体系结构设计时,如何运用变换映射进行转换?4. (9分)面向数据流设计中的启发式设计策略是什么?