|
福建师范大学网络与继续教育学院
# s* N, W" h+ Y' f D/ D* \; ~《软件工程》期末考试卷 开卷
" J8 r# |% i9 H3 J! p! T
0 j" K+ V- K% S9 \& S6 ~, b. i/ X姓名: p! E# B! ]3 ?# U
专业:
' y; ~; o, l, i- x# x学号: . S2 j/ C5 U% T K: v8 [
学习中心:3 [+ E" P- s5 [ F
一、单项选择题(每小题1分,共8分) `0 w" y8 C2 Y( }' O
1 2 3 4 5 6 7 8 $ x5 q' A% O# ~
2 ]: a M& F- M8 q- _1. 软件需求分析阶段的工作,可以分为以下4个方面:对问题的识别、分析与综合、编写需求分析文档以及( )。
- v' [( Z4 f. E& O ?A.总结 B.阶段性报告 " T5 [5 l% N$ R: o
C.需求分析评审 D.以上资料都不正确
8 M5 Y2 M- w, C1 \8 j2. 在结构化分析方法中,用以表达系统内数据的运动情况的工具有( )。
. T$ x* m) k8 ZA.数据流图 B.数据词典 0 X2 h$ F0 k8 b6 ?; G9 L: V! U
C.结构化英语 D.判定表与判定树
1 }% o: }) u$ u0 x m3. 软件需求分析的任务不应包括( )。
8 ?' K$ ~3 |8 |' K) gA.问题分析 B.信息域分析
[: o5 f. e9 rC.结构化程序设计 D.确定逻辑模型
& c8 E2 a X9 r4. 进行需求分析可使用多种工具,但( )是不适用的。 @4 b4 \% w( w# m2 T/ a- d
A.数据流图 B.判定表 C.PAD图 D.数据词典
! i# u8 t7 d4 i5. 在需求分析中,分析员要从用户那里解决的最重要的问题是( )。
6 w8 X9 D8 W8 a5 fA.要让软件做什么 # Z# n$ a% h0 Y+ F- x4 J# ^9 y
B.要给该软件提供哪些信息
& W# C, i* I: U! |! dC.要求软件工作效率如何
6 v8 n0 ]* b/ w$ k; q2 qD.要让软件具有什么样的结构 / M% {* |& }( \
6. 需求规格说明书的内容不应当包括( )。, d) e0 T6 ~- Y+ u! `) |
A.对重要功能的描述
: K9 o2 O3 Y* ]& fB.对算法的详细过程性描述 + W3 M; q; U; @3 o. V5 {6 Q
C.软件确认准则
$ r2 {- t8 c5 Z) [, F) F+ o: c' QD.软件的性能
% s4 ^! N' C5 R- _6 [( v7. 需求规格说明书在软件开发中具有重要的作用,但其作用不应当包括( )。8 J, |6 Y+ h6 L/ \4 J
A.软件设计的依据
: j$ `0 [* E7 B6 t BB.用户和开发人员对软件要“做什么”的共同理解 ; P8 n7 L1 u6 [( l/ g
C.软件验收的依据
3 W: J8 g* K' t, R9 |7 C5 oD.软件可行性分析的依据 ) A5 j7 f. j' S2 ^0 W+ f/ `+ I
8. 在结构化分析方法中用状态―迁移图表达系统或对象的行为。在状态―迁移图中,由一个状态和一个事件所决定的下一状态可能会有( )个。5 G3 q% Z8 |2 s
A.1个 B.2个 C.多个 D.不确定 1 i1 z$ X9 k. j# K9 w) g& x
; ?% ~" f- s5 C* p3 X
二、多项选择题(共20分)$ y8 r) M. N4 O; }) x4 ~0 h5 l
1 2 3 4 5 ! p( q/ D# e% H3 B6 G) f( R
: d6 G1 ?; b' \# Y* U2 q1. (1分)在结构化分析方法中用实体—关系图表达系统中的对象及其关系。在实体―关系图中,表达对象的实例之间的关联有三种类型:( )。
" o' j' @# J1 O3 E7 i# HA.多对一联系 B.一对一联系 5 [ R' I, r; o% @
C.一对多联系 D.多对多联系- D, K4 N' ?, b9 m
2. (3分)软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。其中,( A )是按事先设计的功能和性能要求执行的指令序列。( B )是使程序能够正确操纵信息的数据结构。( C )是与程序开发、维护和使用有关的图文材料。
( Q# A* h2 J4 g) Z# e' o W& o m 供选择的资料: i7 a( ^ O/ X9 ~5 M
A~C:① 软件 ② 程序 ③ 代码 ④ 硬件. o( _7 m, S/ p, x
⑤ 文档 ⑥ 外设 ⑦ 数据 ⑧ 图表+ v6 I4 j9 k9 H+ Y& c' G* h
3. (4分)开发软件时对提高软件开发人员工作效率至关重要的是( A )。软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。 + l% X3 ^/ o: @& B6 P
供选择的资料:
/ ]/ t, Z% W$ u) Q A.① 程序开发环境 ② 操作系统的资源管理功能
3 n! |. a5 ~0 K4 x8 o* ` ③ 程序人员数量 ④ 计算机的并行处理能力1 _: Z( F4 ^2 o
B.① 需求分析 ② 需求调查
; }- x% ~8 A1 p+ l- ] ③ 可行性分析 ④ 问题定义) j+ O; a" z4 P8 l
C、D. ① 方案设计 ② 代码设计 ③ 概要设计
3 R/ L7 @8 m3 U" { v ④ 数据设计 ⑤ 运行设计 ⑥ 详细设计
4 A9 D) O" A7 v8 H/ L/ B: Y( Y4 @ ⑦ 故障处理设计 ⑧ 软件体系结构设计1 o) w3 V8 X# A, e3 e1 V
4. (7分)从供选择的资料中选出适当字句填入下列关于软件发展过程的叙述中的( )内。- G7 k+ R: G3 I' u9 R
有人将软件的发展过程划分为4个阶段:5 k, X4 O& M3 D/ x! N
第一阶段(1950~20世纪50年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。: p6 g# C/ q0 i, s9 m
第二阶段(20世纪50年代末~20世纪60年代末)称为“基本软件期”。出现了( A ),并逐渐普及。随着( B )的发展,编译技术也有较大的发展。' Y+ ]* v. o9 U- b* k0 @
第三阶段(20世纪60年代末~20世纪70年代中期)称为“程序设计方法时代”。这一时期,与硬件费用下降相反,软件开发费急剧上升。人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。2 S# d" @5 ?/ [" |$ f3 [
第四阶段(20世纪70年代中期~现在)称为“软件工程时期”。软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、( G )及其整体有关的各种管理技术。( {9 ~- K0 c' j8 n8 I$ G8 [# I
供选择的资料:7 n- G3 B2 N9 l, U3 h
A~D:① 汇编语言 ② 操作系统 ③ 虚拟存储器概念 ; W# y4 r; Q: Q
④ 高级语言 ⑤ 结构式程序设计 ⑥ 数据库概念+ \3 Z ?2 F; Q/ B
⑦ 固件 ⑧ 模块化程序设计
* }% A- o! U1 e) p/ G9 F& I8 j E~G:① 使用和维护 ② 兼容性的确认 ③ 完整性的确认
/ f; f- q, z2 C; ^ ④ 设计 ⑤ 需求定义 ⑥ 图象处理
$ ?# z& ^/ c; f( s7 n# }
- L$ c7 a+ Q! m5. (5分)原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于( ① )系统。它从用户界面的开发入手,首先形成( ② ),用户( ③ ),并就( ④ )提出意见,它是一种( ⑤ )型的设计过程。8 `+ R1 ?, Y7 |. t
① A.需求不确定性高的 B.需求确定的
$ _: l9 c$ N! Q% ^$ O/ Q$ @9 uC.管理信息 D.决策支持
5 B' c I7 ?% B7 G$ [( d ② A.用户界面使用手册 B.用户界面需求分析说明书 * E& G; d; Z2 \4 U6 W8 W) `2 _" ^
C.系统界面原型 D.完善的用户界面
5 @& f% G0 m. ^! N; Y# [: u; a ③ A.改进用户界面的设计 B.阅读文档资料 . k( ]& j7 V( n- o
C.模拟用户界面的运行 D.运行用户界面原型
2 C2 B& o* M2 o. H3 [- r④ A.同意什么和不同意什么
4 D# f: v! l3 B/ R& Y B.使用和不使用哪一种编程语言 & x/ R! A" X/ O9 B
C.程序的结构 ( l) n" O) K3 Q% {0 C
D.执行速度是否满足要求
: x# S0 ?: U; F⑤ A.自外向内 B.自顶向下 8 y f/ q+ U$ j; _9 V
C.自内向外 D.自底向上
' E4 ?* E9 N0 S
" ]$ b; p( R. m& @4 f! Q% b& P) a7 X8 f三、简答题(27分)
7 ?9 X& |7 Z) e u8 t" r& I' h1 2 3 4 5 6 7 8 9 10 11- w" F9 C9 l! O# B
) f3 l6 c: X. `7 Z
1. (1分)可行性研究的应从哪几个方面进行研究?
4 M! Z4 |, h5 r2. (1分)可行性研究的目的是什么?
- `# f0 h: s% X; g+ u( q3. (1分)可行性研究报告的目的是什么?
7 i0 u1 W0 x5 E7 v9 |3 d4 W5 }2 r4. (1分)项目计划书的目的是什么?
- R! d3 s; b, L" i5. (2分)画出图书馆的借书的系统流图。
+ j0 L4 j/ z6 e- J5 [- e: t" d* R* j6. (2分)软件工程过程有哪几个基本过程活动?试说明之。
' ]$ k$ w' E% y4 T7. (2分)在软件需求分析时,首先建立当前系统的物理模型,再根据物理模型建立当前系统的逻辑模型。试问:什么是当前系统?当前系统的物理模型与逻辑模型有什么差别?
9 h& v! p8 |/ m; D- T8. (4分)试论述瀑布模型软件开发方法的基本过程。* B! N$ U' k! e2 F; Z) F
9. (4分)软件需求分析是软件工程过程中交换意见最频繁的步骤。为什么交换意见的途径会经常阻塞? 3 X4 T r' F7 e: e
10. (4分)数据流图的作用是什么?它有哪些基本成份? 1 n- u$ h* y! }; z5 u, s4 @
11. (5分)数据词典的作用是什么?它有哪些基本词条?
$ t; K3 l: N. Y& p& W四、论述题(32分)
0 ]( s R+ I" Y" Q- O1. (6分)试说明“软件生存周期”的概念。
0 ^' j( i7 |2 R& \2. (6分)软件工程是开发、运行、维护和修复软件的系统化方法,它包含哪些要素?试说明之。, }6 s) q/ D* i6 i5 r
3. (6分)软件工程学的基本原则有哪些?试说明之。
, X- |# R; K \9 U1 O9 K4. (6分)你认为一个系统分析员的理想训练和基础知识是什么?请说明理由。+ O7 i: {4 T8 x5 X/ D
5. (8分)软件需求分析说明书主要包括哪些内容?& G5 f5 }' K6 F" t. ?
! a9 H. V' E8 O4 c五、分析题(13分)7 Z9 k/ d# z- M2 d$ q
1. (6分)考务处理系统的分层数据流图如下图所示。
! O! B: j7 n' r4 U+ \0 ^
0 b; d. }+ N6 b* \& v6 B(a)顶层数据流图$ f7 E; L3 R. G9 I5 | e$ B+ _
# h& {2 O3 _9 U# f+ M
(b)第1层数据流图
+ @; f7 N) K( d4 C6 c1 [& F. t
C/ g- C: ~7 m* c(c)加工1的子图
/ {3 K/ J) Z6 n
$ a5 ~+ f& R5 K1 S# l; E(d)加工2的子图$ h5 M( ?" z* u. Y
该考务处理系统有如下功能:
. F1 d* k) }- k ①对考生送来的报名表进行检查;
. J4 @# h6 e/ z+ ? ②对合格的报名表编好准考证号码后将准考证送给考生,并将汇总后的考生名单送给阅卷站;
7 l3 g0 g( N2 K- a& F ③对阅卷站送来的成绩表进行检查,并根据考试中心指定的合格标准审定合格者;: W E2 f9 J! t
④填写考生通知单(内容包含考试成绩及合格∕不合格标志),送给考生;
8 C8 Q6 p9 ~% o' C7 D' ?3 p⑤按地区、年龄、文化程度、职业、考试级别等进行成绩分类统计及试题难度分析,产生统计分析表。( p) F: @4 \7 W0 v% V* ~# R
(1)图(c)中,加工1.1的输入数据流是( A ),输出数据流是( B ),图 (b) 中 ,加工2的输出数据流是( C ) ,它是由( D )和( E )组成。
$ V& l& z8 S' d+ ~ 供选择的资料:% ~. P C" i+ f. l+ z
A~E:① 统计分析表 ② 报名表 ③ 准考证
/ |( P+ d' t' t+ k+ V( h+ v ④ 考生通知单 ⑤ 合格报名表 ⑥ 难度分析表
& f X4 k( U3 @2 B8 S6 O# Z ⑦ 错误成绩表 ⑧ 分类统计表1 x. y; T# v/ p2 h6 s4 ~$ I7 Z; a
(2) 图(d)中的文件“试题得分表”是否在图(b)中漏掉了? 回答是( F )。/ Z. g1 M6 {+ z+ h
供选择的资料:
7 W# v L. e/ U: u0 j. O- k2 u F: ① “试题得分表”没有在图(b)中画出,是错误的。
9 c7 k- M5 }, i; R( x9 z ② “试题得分表”是图(b)中加工的内部文件,不必在图(b)中画出。0 V" {" T) V1 y( y- F9 ]& [
③ “试题得分表”是多余的。4 ]& N5 s7 u' f+ c C; a
2. (7分)阅读下列关于开发人事管理系统的交互式工作方式的叙述,再回答问题。
$ t. e4 d* k# T+ T# B# i 某大企业最近决定采用高性能微机开发人事管理系统,将4台联机终端分置于人事处的3个科室。该系统可供操作员和程序员使用,也可供人事处负责人和主管人事的副厂长等查询人事信息用。人事管理系统通过录入人事数据和修改、删除等操作,产生和更新各类人事文件,通过搜索这些文件进行各类人事信息的查询。+ _2 v) j; Z" k
该企业有3000多个工人 、干部和技术人员 ,大体可分成机关科室、生产车间、后勤服务和开发研制部门等几类部门。厂领导决定由计算机应用科来负责协调和开发应用系统。计算机应用科科长指示系统工程师张某负责进行系统分析。
L3 Q* s6 ~2 L; W6 o- ?4 o5 w 考虑到人事处有大量的查询信息要求、频繁的人事信息修改和文件存档、查阅等特点,计算机应用科决定认真设计人机交互界面,首先设计好在终端上的交互式会话的方式。
/ D3 Z h* ~; C P1 N 系统工程师张某通过调查收集到如下10条意见:' M0 I5 V$ a* G# b- }" q4 P
(1) 某程序员认为:系统在屏幕格式、编码等方面应具有一致性和清晰性,否则会影响操作人员的工作效率。
9 ~( P* a& _: f6 q0 u (2) 某操作人员认为:在交互式会话过程中,操作人员可能会忘记或记错某些事情,系统应当提供HELP功能。) A; O9 T6 i2 l, N
(3) 某操作人员认为:既然是交互式会话,那么对所有的输入都应当作出响应,不应出现击键后计算机没有任何反应的情况。
+ F5 _+ _0 m4 T4 D) a1 G4 J (4) 某操作人员认为:在出错的时候,交互式会话系统应当给出出错信息,并且尽可能告诉我们出错的性质和错在什么地方。
# g5 Q" b5 S/ b (5) 某程序员认为:终端会话也应当符合程序员编制程序时的习惯,这样可以更高效地维护人事管理系统。' {, Y5 V* e0 v3 g3 U
(6) 教育科干部甲认为:应当对操作员进行一些必要的培训,让他们掌握交互式会话系统的设计技巧,有助于提高系统的使用效率。
0 u# O1 x9 H0 Y+ I6 r (7) 教育科干部乙认为:尽管操作人员的指法已经强化训练但在交互式会话时应尽可能缩短和减少操作员输入的信息,以降低出错概率。1 g2 ~1 o8 H Z5 w6 s; h; K5 u
(8) 某程序员认为:由于本企业中有很多较大的文件,文件的查找很费时间,交互式会话系统在响应时间较长时应给予使用者以提示信息。
3 Z' x1 a& W" \+ H+ f* `6 ] (9) 人事处干部丙认为:我们企业的人事资料相当复杂,格式非常之多,希望交互式系统使用十分清晰的格式,并容易对输入数据中的错误进行修改。
& e9 n# A2 D3 V) o* h6 T+ T (10)人事处干部丁认为:人事管理系统应当具有相当的保密性和数据安全性 ,因此在屏幕上显示出的信息应该含混一些 ,以免泄密。
r5 D7 h# a1 n% w6 V系统工程师张某对上述调查情况和其他要求作了分析后,发现收集到的10条意见中有3条意见是不能接受的 ,写出编号并各用40字以内字数叙述理由。
1 e: M5 B9 M* N* r# v( a7 c- n: G L( n5 n
; ~. k. R, q: n! U
/ _) u# W" J; b0 s/ P- c( u; J
: E( g9 F* m6 p+ i; l2 }0 c( j
9 ^4 q7 Y& J$ V
; |4 q. \- p3 N+ O0 a$ q3 S$ Q8 j P
; e; y+ S P7 _( |9 p9 A& E
2 \& f) j4 A8 Y2 t E, b/ r$ K; b4 A# w0 l8 s3 }- j
# b( q; I5 K0 K5 g# S0 }
! i R4 o; ^5 t2 Q, }; G
$ ]0 K' n4 k/ ^) K* S! Z+ W) y
, R/ q% s3 F7 y* \* \- ]* v: c: z: S9 X/ C V5 t# C
2 \% K" t3 g4 i- f
+ I: {; J) Z( l {2 ]4 h7 q7 A' H: o' P( n9 p* m* L0 d
+ b# s* t/ Y2 k8 U$ B8 |
- {' ?& q5 Y: r$ h3 e4 f0 @- v
O) N6 ~2 h8 |; G
4 ]1 z; b, W' S/ l- {! K$ [6 [
|
|