福建师范大学2020年2月课程考试《软件工程》作业考核试题(答案)
软件工程期末试卷A
一、选择题(48分)
1. (5分)从供选择的答案中选出正确的答案填入下列叙述中的( ) 内。# q9 W" s. w6 D1 T
模块内聚性用于衡量模块内部各成份之间彼此结合的紧密程度。" o2 v6 Y7 DG! z0 ~( Q
(1)一组语句在程序中多处出现,为了节省内存空间把这些语句放在一个模块中,该模块的内聚性是( A )的。
(2)将几个逻辑上相似的成分放在同一个模块中,通过模块入口处的一个判断决定执行哪一个功能。该模块的内聚性是( B )的。
(3)模块中所有成分引用共同的数据,该模块的内聚性是( C )的。
(4) 模块内的某成份的输出是另一些成分的输入,该模块的内聚性是( D )的。
(5)模块中所有成份结合起来完全一项任务,该模块的内聚性是( E )的。它具有简明的外部界面,由它构成的软件易于理解、测试和维护。+ W! f, h% }4 s+ e( s
供选择的答案:0 Y4 |; n- v+ U; d# X" g
A~E: ①功能内聚 ②信息内聚 ③通信内聚 ④过程内聚
⑤巧合内聚 ⑥时间内聚 ⑦逻辑内聚2 W( v. V" |3 y( b
, _- U' r0 A8 P% _9 c5 V; w: g& D
2. (5分)从供选择的答案中选出应该填入下列关于软件设计的叙述的( )内的正确答案。% I: d, \3 F7 ^/ a) s+ e3 `3 n% ~
在众多的设计方法中,SD方法是最受人注意的,也是最广泛应用的一种,这种方法可以同分析阶段的( A )方法及编程阶段的( B )方法前后衔接,SD方法是考虑如何建立一个结构良好的程序结构,它提出了评价模块结构质量的两个具体标准——块间联系和块内联系。SD方法的最终目标是( C ),用于表示模块间调用关系的图叫( D )。- ]! D+ ^* Y4 z; A, \, E) |- Q& E" q
另一种比较著名的设计方法是以信息隐蔽为原则划分模块,这种方法叫( E )方法。2 p) x+ A. g) o5 o: z
供选择的答案:
A~B:①Jackson ②SA ③SC ④Parnas ⑤SP1 N; X) S$ a7 V# Q5 `) H
C: ①块间联系大,块内联系大 ②块间联系大,块内联系小
③块间联系小,块内联系大 ④块间联系小,块内联系小2 H, I' v$ k: N$ Y$ o! }
D: ①PAD ②HCP ③SC ④SADT ⑤HIPO ⑥NS8 GD# E. @- W/ T( L5 @6 {
E: ①Jackson ②Parnas ③Turing ④Wirth ⑤Dijkstra
0 Y. A( u. \8 q0 T, p
3. (5分)从供选择的答案中选出应该填入下列关于软件设计的叙述的( )内的正确答案。" s, }8 {6 T; t% ]8 l5 ?& y
在完成软件概要设计,并编写出相关文档之后,应当组织对概要设计工作的评审。评审的内容包括:7 M9 u, h, n. s6 D1 Q, d" j
分析该软件的系统结构、子系统结构,确认该软件设计是否覆盖了所有已确定的软件需求,软件每一成分是否可( A )到某一项需求。分析软件各部分之间的联系,确认该软件的内部接口与外部接口是否已经明确定义。模块是否满足( B )和( C )的要求。模块( D )是否在其( E )之内。
供选择的答案! If3 t5 h& u1 u& j
A: ①覆盖 ② 演化 ③ 追溯 ④等同 ⑤连接
B: ①多功能 ②高内聚 ③高耦合 ④高效率 ⑤可读性
C: ①多入口 ②低内聚 ③低耦合 ④低复杂度 ⑤低强度
D~E:①作用范围 ②高内聚 ③低内聚 ④取值范围 ⑤控制范围
4. (2分)类库是一种预先定义的程序库,它以程序模块的形式,按照( ① )把一组类的定义和实现组织在一起:( ② )对类库的建设提供了强有力的支持。; c( ~) @5 K7 i8 P' K
① A.类的功能 B.类层次结构
C.实例之间的调用关系 D.类的类型. O+ `8 K4 p1 f
② A.引用 B.重置 C.类属类 D.封装: n1 r0 o: v3 y2 n4 N
5. (4分)在UML中,对象行为是通过交互来实现的,是对象间为完成某一目的而进行的一系列消息交换。消息序列可用两种图来表示,强调消息时间次序的图称之为( ① ),该图的特点是( ② ),强调参加交互的对象的组织图称之为( ③ ),这两种图是( ④ )。
① A.活动图(activity diagram) B.状态图(statechart diagram)
C.序列图(sequence diagram) D.协作图(collaboration diagram)
② A.有生命线及控制焦点,重点在消息的时间顺序上
B.有路径有顺序号,为了一个消息的时间顺序给消息加数字前缀
C.是对系统、子系统或类的行为建模. M; E! b+ }+ G2 N4 ~) k4 Y1 Y% S# \
D.本质上是一个流程图,显示从活动到活动的信息流
③ A.活动图(activity diagram) B.状态图(statechart diagram)
C.序列图(sequence diagram) D.协作图(collaboration diagram)2 U, o/ s2 E* t5 [: _& i" `' N; @
④ A.同构的,所以可以互相转换
B.异构的,所以不可以互相转换
C.强调对象行为的事件顺序,常用于对反应式系统建模
D.专注于系统的动态视图,状态无法确定,所以不可以互相转换
; D+ q0 T2 l3 F8 Q* q9 c5 P' C9 l
6. (6分)从供选择的答案中选出应该填入下面 ( ) 中的正确答案。: t, i7 q' J/ V8 Z2 }0 Y2 j
A. 允许用户建立、修改、存储正文的计算机程序是 ( )。- k{. W- p$ I) f
① BOOtstrap ② Editor ③ Loader ④ Textformatter
B. 程序语言的编译系统和解释系统相比,从用户程序的运行效率来看 ( )。( ^; q" J5 g* a8 h- }
① 前者运行效率高 ② 两者大致相同. d( X3 _6 V; |2 ]+ e5 H
③ 后者运行效率高 ④ 不能确定
C. FORTRAN语言的源程序是 ( ) 结构。
① 块状 ② 分程序嵌套 0 U! ]. W. {( ]& Z
③ 既是块状,又是嵌套 ④ 既不是块状,又不是嵌套的
D. 国际上最广泛使用的商用及行政管理语言是 ( )。1 ^6 [& g- z8 u1 l9 z) s. Y, ^+ Y
① COBOL ② BASIC ③ FORTRAN ④ PL/1! U% c% D) a8 A2 |, m
# E+ g6 ?' ?' c3 V5 ^% R" }
E. 国际上最流行的数值计算的程序设计语言是 ( )。
① BASIC ② ALGOL ③ FORTRAN ④ C
F. 美国国防部主持开发了高级程序设计语言Ada,在它研制开始时,经反复比较,确定以高级语言 ( ) 作为Ada研究的出发点。6 e" Z: L2 p) Z/ v: R) h" H7 S; r
① LISP ② ALGOL ③ ALGOL68 ④ PL/1! O" T: v" H: a; c4 |
7. (6分)测试过程需要三类输入.( A )、( B )和( C )。请选择正确的答案填入下图中以完成测试信息处理的全过程。
" U. _M3 ?0 L5 U6 |
供选择的答案:( `/ e4 O3 x, O! ru2 O! o
A~C. ① 接口选择 ② 软件配置 ③ 硬件配置2 j: V& I- t7 j( Q% U3 @Q
④ 测试配置 ⑤ 测试环境 ⑥ 测试工具
D~F. ① 排错 ② 可靠性分析 ③ 结果分析 ④ 数据分类3 C+ K: L. x, ~$ J' l8 t& H5 N% L
8. (5分)请从供选择的答案中选出应填入下列( )中的字句。/ X- S$ m) N, l5 s
程序的三种基本控制结构是( A )。它们的共同点是( B )。结构化程序设计的一种基本方法是( C )。软件测试的目的是( D )。软件调试的目的是( E )。4 S1 i! |) I8 A0 o
; A$ x, u$ Y5 i/ N2 m1 R: A2 S
供选择的答案:3 I, i5 K" n2 C7 ^
A.① 过程,子程序,分程序 ② 顺序,条件,循环
③ 递归,堆栈,队列 ④ 调用,返回,转移
B.① 不能嵌套使用 ② 只能用来写简单的程序
③ 已经用硬件实现 ④ 只有一个入口和一个出口( Z: M# R8 Q! }7 A0 O
C.① 筛选法 ② 递归法 ③ 归纳法 ④ 逐步求精法
D.① 证明程序中没有错误 ② 发现程序中的错误
③ 测量程序的动态特性 ④ 检查程序中的语法错误
E.① 找出错误所在并改正之 ② 排除存在错误的可能性
③ 对错误性质进行分类 ④ 统计出错的次数
+ m" E8 X* S1 U* j
9. (5分)从供选择的答案中选出应该填入下列关于软件测试的叙述的( )内的正确答案。
软件测试中常用的静态分析方法是( A )和( B )。( B )用于检查模块或子程序间的调用是否正确。分析方法(白盒方法)中常用的方法是( C )方法。非分析方法(黑盒方法)中常用的方法是( D )方法和( E )方法。( E )方法根据输出对输入的依赖关系设计测试用例。
供选择的答案:0 B. j8 w1 l% H6 H2 b9 r
A~B. ① 引用分析 ② 算法分析 ③ 可靠性分析
④ 效率分析 ⑤ 接口分析 ⑥ 操作分析
C~E. ① 路径测试 ② 等价类 ③ 因果图 & `( j$ C: D* S' z
④ 归纳测试 ⑤ 综合测试 ⑥ 追踪
⑦ 深度优先 ⑧ 调试 ⑨ 相对图
10. (5分)软件可移植性是用来衡量软件的( A )的重要尺度之一。为了提高软件的可移植性,应注意提高软件的( B )。采用( C )有助于提高( B )。为了提高可移植性,还应( D )。使用( E )语言开发的系统软件具有较好的可移植性。! |% o( u8 I( jz
供选择的答案:; Y8 }2 E2 N! a% {' L4 [. A
A. ① 通用性 ② 效率 ③ 质量 ④ 人机界面. T. K7 B. r- ]9 e! J7 C
B. ① 使用的方便性 ② 简洁性
③ 可靠性 ④ 设备独立性
C. ① 优化算法 ② 专用设备 - H9 Y" A! c7 J: \9 S) L* z' ~, ^) U6 A
③ 表格驱动方式 ④ 树型文件目录
D. ① 有完备的文件资料 ② 选择好的宿主计算机 " M; z$ _$ z. _: |' R8 d+ n
③ 减少输入输出次数 ④ 选择好的操作系统
E. ① COBOL ② APL ③ C ④ SQL
# N0 `K7 n) B5 i% t9 h5 G
! a6 }# i+ P9 \6 }; Y5 O
, `3 Su% B6 ?1 F' v- ^1 ~, |
二、解答题(52分)! M9 b5 h6 S5 SS
1. (10分)写出“家庭保安系统”中“门窗监测”的场景。
2. (13分)什么是变换流和事务流?) u; P' O( m* Q7 c5 U, x
3. (20分)面向数据流的体系结构设计时,如何运用变换映射进行转换?3 i: [6 i5 it. E2 P2 T
4. (9分)面向数据流设计中的启发式设计策略是什么?
页:
[1]