您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页福建师范大学2020年8月课程考试《软件工程》作业考核试题.doc

福建师范大学2020年8月课程考试《软件工程》作业考核试题.doc

来源:华佗小知识
2020 软件工程期末试卷 A

一、选择题( 51 分)

1. (8 分)从供选择的答案中选出正确的答案填入下面的( )中。 块间联

系和块内联系是评价程序模块结构质量的重要标准。联系的方 式、共用信息的作用、共用信息的数量和接口的(

A③ )等因素决定了块

间联系的大小。在块内联系中, ( B② )的块内联系最强。

SD方法的总的原则是使每个模块执行( C① )功能,模块间传送

( D ① )参数,模块通过( E② )语句调用其他模块,而且模块间传送的参数 应尽量( F ①)。

此外,SD 方法还提出了判定的作用范围和模块的控制范围等概念。

SD 方法认为,( G ①)应该是( H② )的子集。

供选择的答案:

A: ① 友好性 B: ① 巧合内聚 C: ① 一个 D: ① 数据型 E: ① 直接引用 F: ①少

G~① 作用范围 H:

② 健壮性 ② 功能内聚 ② 多个 ② 控制型 ② 标准调用 ②多

③ 简单性 ③ 通信内聚

④ 安全性 ④ 信息内聚

③ 混合型 ③ 中断

④ 宏调用

② 控制范围

2. (5 分)软件需求分析的任务不应包括( A③ )。进行需求分析可使用多

种 工具,但( B③ )是不适用的。在需求分析中,分析员要从用户那里解决 的最重要的问题是( C① )。需求规格说明书的内容不应当包括( D② ) 该文档在软件开发中具有重要的作用,但其作用不应当包括(

供选择的答案:

E④ )。

A:①问题分析 ②信息域分析③ 结构化程序设计

④确定逻辑模型 ④数据词典

B:①数据流图 ②判定表 ③PAD图

D:①对重要功能的描述 ②对算法的详细过程性描述

C:①要让软件做什么

③ 要求软件工作效率如何

D:①对重要功能的描述 ② 要给该软件提供哪些信息

②对算法的详细过程性描述

③软件确认准则

④软件的性能

E:①软件设计的依

② 用户和开发人员对软件要“做什么”的共同理解 ③ 软件验收的依据 ④ 软件可行性分析的依据

3. (5 分) UML 是一种面向对象的统一建模语言。它包含 10 种图,其中,

用 例图展示了外部 actor 与系统所提供的用例之间的连接, UML 中的外部 actor 指( ①D ),用例可以用( ② C )图来描述。状态图指明了对象所有可能 的状态以及状态间的迁移 (transition) 。如果一个并发的状态由 n 个并发的

子状态图组成,那么,该并发状态在某时刻的状③A )个子状态图 中各取一个状态组合而成。协作图描述了协作的④ A )之间的交互和( 链 接(1ink),它画⑤A 图的形式。

) 成(

① A.人员 B.单位 C.人员或单位 D.人员或外部系统

② A.类 ③ A.每一 ④ A.对象 ⑤ A.对象

B.状态 B.任意 一 B.类 B.类

C.活动 C.任意二 C.用例 C.用例

D.协作

D.任意 m (m ≤ n) D.状态 D.状态

4. (5 分)软件详细设计工具可分为三类,即:图示工具、设计语言和表格

工 具。图示工具中,( A② )简单而应用广泛、( B① )表示法中,每一个处 理过程用一个盒子表示,盒子可以嵌套。 ( C④ )可以纵横延伸,图形的空 间效果好。

( D② ) 是一种设计和描述程序的语言,它是一种面向( E① )的语言 供选择的答案:

A~C: ① NS图 D: ① C E: ① 人

② 流程图 ② PDL ② 机器

③ HIPO 图 ③ RPOLOG ③ 数据结构

④ PAD图 ④ PASCAL ④ 对象

5. (4 分)在使用 UML建模时,若需要描述跨越多个用例的单个对象的行为,

使用( ①D )是最为合适的。 UML 结构包括了基本构造块. 公共机制和( ②

A )。UML 中提供了扩展机制,其中,构造型( Stereotype)扩展了 UML 的

( ③ D ),约束( Constraint)扩展了 UML( ④ B )。 ① A.协作图( Collaboration Diagram)

B.序列图( Sequence Diagram)

活动图( Activity Diagram) D.

C.

状态图( Statechart Diagram) ② A.把这些构造块放在一起的规则

B. 图形或文字修饰

C. 类与对象的划分以及接口与实现的分离 D. 描述系统细节的规格说明

③ A.构造块的特性,允许创建详述元素的新信息

B. 构造块的语义,允许增加新的规则或修改现有的规则 C. 语义,允许创建新的构造块 D. 词汇,允许创建新的构造块

④ A.构造块的特性,允许创建详述元素的新信息

B. 构造块的语义,允许增加新的规则或修改现有的规则 C. 语义,允许创建新的构造块 D. 词汇,允许创建新的构造块

6. (5 分)下面有关软件维护的叙述有些是不准确的, 请列举 5 个正确的叙述

供选择的答案:

① 要维护一个软件,必须先理解这个软件。 ② 阅读别人写的程序并不困难。 ③ 如果文档不齐全也可以维护一个软件。 ④ 谁写的软件就得由谁来维护这个软件。 ⑤ 设计软件时就应考虑到将来的可修改性。 ⑥ 维护软件时一件很吸引人的创造性工作。 ⑦ 维护软件就是改正软件中的错误。 ⑧ 维护好一个软件是一件很难的事情。

答:软件维护人员通常不是该软件的开发人员, 这给软件维护带来很大的困 难。特别是有些软件在开发时没有遵循软件开发的准则,没有开发方法

的支持, 维护这样的软件就更困难。下面列举一些与软件维护有关的问题。

(1) 要维护一个软件,首先必须要理解它。而理解一个别人编写的软件通 常是困难的,尤其是对软件配置(指各种相关的文档)不齐全的软件,理解起来 就更加困难。

(2)需要维护的软件往往缺少合格的文档,或者文档资料不齐全,甚至根 本没有文档。在软件维护中,合格的文档十分重要, 它有助于理解被维护的软件。 合格的文档不仅要完整正确地反映开发过程各个阶段的工作成果, 而且应当容易 理解并应与程序源代码一致。而错误的文档对软件的理解引入歧途。

(3)在软件维护时,不要指望得到原来开发该软件的人员的帮助。开发人 员开发完一个软件后, 往往会从事另一软件的开发, 甚至已离开原开发单位。 即 使原来的开发人员还在,也可能时间太久而忘却了实现的细节。

(4)多数软件在设计时没有考虑到将来的修改,这给软件的修改造成了困 难。而且在修改软件时很可能引入新的差错。

(5)软件维护通常不是一件吸引人的工作。从事维护工作常使维护人员缺 乏成就感,这也严重影响维护工作,从而影响了维护质量的提高。

7. (4 分)从供选择的答案中选出应填入下列( )中的字句。

软件测试的目的是( A ② )。为了提高测试的效率,应该( B④ )。使 用白盒测试方法时,确定测试数据应根据( C① )和指定的覆盖标准。与设计 测试数据无关的文档是( D④ )。

供选择的答案:

A.

③ 找出软件中的所有错误

① 评价软件的质量 ② 发现软件的错误 ④ 证明软件是正确的

B. ① 随机地选取测试数据

② 取一切可能的输入数据作为测试数据 ③ 在完成编码以后制定软件的测试计划 ④ 选择发现错误的可能性大的数据作为测试数据

C.

杂程度

③ 使用说明书

① 程序的内部逻辑 ② 程序的复④ 程序的功能

D.

复杂程度

③ 源程序

④ 项目开发计划

① 该软件的设计人员 ② 程序的

8. (5 分)从供选择的答案中选出应该填入下面( )中的正确答案

A. 汇编程序是指 ( ①)。

① 用汇编语言写的程序 ② 符号程序

③ 汇编语言的处理程序

B. 为了实现递归子程序的正确调用,人们必须用(① )来保存( ⑤)及

有 关信息。 ① 堆栈 ⑤ 入口点

② 线性表 ⑥ 返回地址

③ 队列 ⑦ 断点

)书写实现的

④ PASCAL ④树

C. UNIX 操作系统(① )研制它是用程序语言是 的, (⑦

① Bell 实验室 ② DEC 公司 ③ IBM 公司

⑤ 并发 PASCAL ⑥ MODULA ⑦ C

9. (5 分)在软件维护的实施过程中,为了正确、有效地修改,需要经历以

3 个步骤:( A ③ )、( B① )、( C④ )。( A ③ )是决定维护成

败和质量 好坏的关键。( C④ )包括( D② )确认、计算机确认和维护后的 ( E② ) 供选择的答案:

A~C. ① 修改程序 D. ① 动态 E. ① 验证

② 建立目标程序 ③ 分析和理解程序

③ 人工 ③ 检验

④ 自动 ④ 存档

④ 重新验证程序 ⑤ 验收程序

② 静态 ② 验收

10. (5 分)从供选择的答案中选出同下列关于软件测试的各条叙述关系最密

切的字句。

A. 对可靠性要求很高的软件,例如操作系统,由第三者对源代码进行

逐行检查。②

B. 已有的软件被改版时,由于受到变更的影响,改版前正常的功能可

能发生异常,性能也可能下降。因此,对变更的软件进行测试是必 要的。⑩

C. 在意识到被测试模块的内部结构或算法的情况下进行测试。⑨ D. 为了确认用户的需求,先做出系统的主要部分,提交给用户试

用。

E. 在测试具有层次结构的大型软件时, 有一种方法是从上层模块开始,

由上到下进行测试。此时,有必要用一些模块替代尚未测试过的下

层模块。④

供选择的答案:

A~E.① 仿真器

⑤ 驱动器

② 代码审查 ⑥ 域测试

③ 模拟器 ⑦ 黑盒测试

④桩 ⑧ 原型

⑨ 白盒测试 ⑩ 退化测试

二、解答题( 49 分)

1. (12 分)画出“传感器监测”的用例的活动图 答:

2. (15 分)使用面向对象设计方法 进行高层设计 ,以建立系统的体系结构。

这样的结构有哪几种主要的组成部分?每一部分所承担的职责是什么? 答:这个模型有 5 层结构,又被划分成了 4个组成部分:问题论域、用户界 面、任务管理和数据管理。

问题论域部分的职责是: 组合所有的论域中定义的类, 为应用设计适当的类 层次,为适应语言要求简化继承层次, 细化设计以改善性能, 开发与数据管理部 分的接口,做细化时加入低层对象,评审设计并审查对分析模型所做的增补。

人机交互部分的职责是: 定义用户类型, 开发任务场景,设计用户命令层次, 建立原型以细化与用户交互,设计相关的类和类层次,适当时集成 GUI 类。

任务管理部分的职责是: 标识任务的类型 (如事件驱动, 时钟驱动) ,建立优 先级,标识协调者,为每个任务设计适当的类。

数据管理部分的职责是: 设计数据结构和布局, 设计管理数据结构所需的服 务,标识可以协助实现数据管理的工具,设计适当的类和类层次。

3. (22 分)如何理解模块性?用什么指标来衡量模块性? 答:模块

性,是指软件系统中每个模块只涉及软件要求的具体的子功能, 而和软件系统中其它的模块的接口是简单的。一般采用两个指标度量模块 性。即模块间的耦合和模块的内聚。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务