软件工程试题库及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件⼯程试题库及答案
⼀、选择题
软件(2)
1.在软件开发的各种资源中,( D )是最重要的资源。
A 开发⼯具
B ⽅法
C 硬件环境
D ⼈员
2.软件的复杂性是( A ),它引起⼈员通信困难、开发费⽤超⽀、开发时间超时等问题。
A 固有的
B ⼈为的
C 可消除的
D 不可降低的
3.3:软件是计算机系统中与硬件相互依存的另⼀部分,它的组成部分是( D )。
A.程序、数据 B.程序、⽂档 C.程序 D. 程序、数据、⽂档
4.软件是⼀种( B )产品。
A、有形
B、逻辑
C、物质
D、消耗
软件危机(1)
5.1:开发软件所需⾼成本和产品的低质量之间有着尖锐的⽭盾,这种现象称做( C )
A.软件⼯程
B.软件周期
C.软件危机
D.软件产⽣
6.2:在软件⽣产的程序系统时代由于软件规模扩⼤和软件复杂性提⾼等原因导致了( A )A.软件危机B.软件⼯程 C.程序设计⾰命D.结构化程序设计
7.3:以下哪⼀项不是软件危机的表现形式( C )
(A)成本⾼(B)⽣产率低
(C) 技术发展快(D)质量得不到保证
8.4:“软件危机”产⽣的主要原因是( A )。
A.软件⽇益庞⼤
B.开发⽅法不当
C.开发⼈员编写程序能⼒差
D.没有维护好软件
9.5:软件危机是指在软件开发和( C )过程中遇到的⼀系列严重问题。
A 开发
B 使⽤ C维护D更新
软件⼯程(2)
10.1:为了解决软件危机⼈们提出了⽤(B )的原理来设计软件,这就是软件⼯程诞⽣的基础。
(A) 运筹学(B) ⼯程学 (C) 软件学(D) 数学
11.2.在软件⼯程时期,决定软件质量的主要因素是( A )
A.管理⽔平 B.个⼈程序技术 C.⼩组技术⽔平 D.硬件的发展
12.3. 软件管理⼯作涉及到的直接对象不包括( B )。
A.软件开发⼈员 B.硬件设备 C.项⽬经费 D.软件项⽬
13.4. 软件⼯程⽅法学有三个要素,它们是( A )
A.⽅法、⼯具和过程
B.质量、进度和成本
C.顺序、分⽀和循环
D.⼊⼝、过程、出⼝⽣命周期及模型(5)
14.1:软件⼯程中描述⽣命周期的瀑布模型⼀般包括计划、( A )、设计、编码、测试、维护等⼏个阶段。
A.需求分析 B.需求调查 C.可⾏性分析 D.问题定义
15.2.瀑布模型把软件⽣存周期划分为软件计划、软件开发与( C )三个阶段,⽽每⼀阶段⼜可分为若⼲更⼩的阶段。
A. 详细设计
B. 可⾏性分析
C. 运⾏与维护
D. 测试与排错
16.3:下列哪个模型没有采⽤迭代的思想( A )
A.瀑布模型 B.渐增模型 C.螺旋模型 D.RUP模型
17.4:下列关于瀑布模型的描述正确的是( D )。
A.利⽤瀑布模型,如果发现问题修改的代价很低
B.瀑布模型的核⼼是按照软件开发的时间顺序将问题简化
C.瀑布模型具有良好的灵活性
D.瀑布模型采⽤结构化的分析与设计⽅法,将逻辑实现与物理实现分开
18.5:瀑布模型本质上是⼀种( A )模型。
A.线性顺序
B.顺序迭代
C.线性迭代
D.早期产品
19.6. 快速原型模型的主要特点之⼀是( D )
A.开发完毕才见到产品
B.及早提供全部完整的软件产品
C.开发完毕后才见到⼯作软件
D.及早提供⼯作软件
20.7:瀑布模型的关键不⾜在于( B )
(A)过于简单(B)不能适应需求的动态变更
(C)过于灵活(D)各个阶段需要进⾏评审
21.8:瀑布模型存在的问题是( D )。
A.⽤户容易参与开发 B.缺乏灵活性C.⽤户与开发者易沟通 D.适⽤可变需求问题定义(1)
22.1、软件定义的⽬的主要是( A )
A.明确系统的⽬标
B.明确系统具体该做什么
C.明确系统该如何做 D、系统值不值得做。
可⾏性研究(2)
23.1:研究开发所需要的成本和资源是属于可⾏性研究中的( B )研究的⼀⽅⾯。
A.技术可⾏性
B.经济可⾏性
C.社会可⾏性
D.法律可⾏性
24.2:⼀个项⽬是否开发,从经济上来说是否可⾏,归根结底是取决于对 ( A ) A.成本的估算B.项⽬计划
C.⼯程管理D.⼯程⽹络图
25.3:可⾏性研究的⽬标是 ( B ) 。
A. 开发项⽬
B. 项⽬值得开发否
C. 规划项⽬
D. 维护项⽬
26.4:软件可⾏性研究⼀般不考虑( D )
(A)是否有⾜够的⼈员和相关的技术来⽀持系统开发
(B)是否有⾜够的⼯具和相关的技术来⽀持系统开发
(C)待开发软件是否有市场、经济上是否合算
(D)待开发的软件是否会有质量问题
软件项⽬计划(1)
27.1:软件项⽬计划⼀般不包括以下哪项内容( D )
(A)培训计划(B)⼈员安排
(C)进度安排(D)软件开发标准的选择和制定
需求分析(5)//zhr
28.1:软件需求分析的任务不应包括( C )。
A 问题分析
B 信息域分析
C 结构化程序设计
D 确定逻辑模型
29.2:在需求分析中,分析员要从⽤户那⾥解决的最重要的问题是( A )。
A 要让软件做什么
B 要给该软件提供哪些信息
C 要求软件⼯作效率如何
D 要让软件具有什么样的结构
30.3. 软件需求分析应确定的是⽤户对软件的( A ) 。
A. 功能需求和⾮功能需求
B. 性能需求
C. ⾮功能需求
D. 功能需求
31.4.结构化分析⽅法(SA)是⼀种⾯向( C )的需求分析⽅法。
A.对象 B.数据结构 C.数据流 D.控制流
32.3:进⾏需求分析可使⽤多种⼯具,但( B )是不适⽤的。
A 数据流图
B PAD图
C E-R图
D 数据字典
33.4:在结构化分析⽅法中,⽤以表达系统内数据的运动情况的⼯具有( A )。
A 数据流图
B 数据词典
C 结构化英语
D 判定表与判定树
34.5:需求规格说明书在软件开发中具有重要的作⽤,但其作⽤不应当包括( D )。
A 软件设计的依据
B ⽤户和开发⼈员对软件要“做什么”的共同理解
C 软件验收的依据
D 软件可⾏性分析的依据
35.6:软件需求规格说明书的内容不应当包括( B )。
A 对重要功能的描述
B 对算法的详细过程性描述
C 软件确认准则
D 软件的性能
36.7:需求分析是由分析员经过了解⽤户的要求,认真细致地调研、分析,最终应建⽴⽬标系统的逻辑模型,并写出( B )。
(A) 模块说明书(B) 软件规格说明书 (C) 项⽬开发计划(D) 合同⽂档
37.下列⼯具哪⼀个是需求分析阶段常⽤⼯具?( D )
A、PAD
B、PDL
C、盒图
D、数据流图
38.进⾏需求分析可以使⽤多种⼯具,但( B )是不适⽤的。
A、数据流程图
B、判定表
C、状态转换图
D、数据字典
概要设计(3)
39.在SD⽅法中全⾯指导模块划分的最重要的原则是( D )
A.程序模块化
B.模块⾼内聚
C.模块低耦合
D.模块独⽴性
40.模块( C ),则说明模块的独⽴性越强。
A.耦合越强 B.扇⼊数越⾼
C.耦合越弱 D.扇⼈数越低
41.以下各种耦合按从强到弱排列正确的是( C ) :
(A). 内容耦合,控制耦合,数据耦合,公共环境耦合。
(B). 内容耦合,数据耦合,控制耦合,公共环境耦合。
(C). 内容耦合,公共环境耦合,控制耦合,数据耦合。
(D). 控制耦合,内容耦合,数据耦合,公共环境耦合。
42.模块的内聚性最⾼的是( D )
A.逻辑内聚
B.时间内聚
C.偶然内聚
D.功能内聚
43.以下各种内聚按从强到弱排列正确的是( D ) :
A.偶然内聚,逻辑内聚,时间内聚,顺序内聚,功能内聚
B.偶然内聚,顺序内聚,逻辑内聚,时间内聚,功能内聚
C.逻辑内聚,时间内聚,顺序内聚,功能内聚,偶然内聚
D.功能内聚,顺序内聚,时间内聚,逻辑内聚,偶然内聚
44.模块( A ),则说明模块的独⽴性越强。
A.内聚越强 B.扇⼊数越⾼
C.内聚越弱 D.扇⼈数越低
45.在SD中,概要设计的结果是提供⼀份( A )。
A. 模块说明书
B. 框图
C. 程序
D. 数据流图
46.结构化设计在软件开发中⽤于( B )。
A、测试设计
B、概要设计
C、程序设计
D、详细设计
详细设计(3)
47.PDL是⼀种过程设计语⾔,⼜叫( C )
(A)系统流程图(B)盒图
(C)伪码(D)功能图
48.在详细设计算法⼯具中,( C )能够清楚地表现程序的层次结构
(A)系统流程图(B)层次图
(C)PAD图(D)功能图
49.详细设计算法⼯具中,( A )图是⼀种历史悠久的图,直观地描述了程序的控制流程。
(A)程序流程图(B)系统流程图(C)PAD图(D)盒图
50.下列哪⼀个不是详细设计时使⽤的⼯具。
(A)
(A)系统流程图(B)盒图
(C)PAD图(D)判定树
51.详细设计的⽅法不包括( D )
A.Jackson数据结构⽅法 B.结构化设计⽅法 C.⾯向对象设计法D.程序流程图52.⼀般来说,详细设计的⽅法包括结构化设计⽅法、( C)和Jackson⽅法。
A.PAD 图B.判定树 C.⾯向对象设计法 D.程序流程图
53.结构化程序设计主要强调的是( C)。
A、程序的效率
B、程序的执⾏速度
C、程序的易读性
D、程序的规模
54.详细设计的任务是确定每个模块的(A )。
A、算法
B、功能
C、调⽤关系
D、输⼊输出数据
55.在软件详细设计过程中不采⽤的描述⼯具是( D )。
A、判定表
B、流程图
C、PAD图
D、DFD图
56.在详细设计阶段,⼀种⼆维树型结构并可⾃动⽣成程序代码的描述⼯具是( A )。
A、PAD
B、PDL
C、IPO
D、判定树
57.结构化程序设计的⼀种基本⽅法是( D )。
A、筛选法
B、递归法
C、迭代法
D、逐步求精法
58.PDL是软件开发过程中⽤于( C )阶段的描述⼯具。
A、需求分析
B、概要设计
C、详细设计
D、编程
59.程序的三种基本控制结构是( B )。
A、过程、⼦程序和分程序
B、顺序、选择和重复
C、递归、堆栈和队列
D、调⽤、返回和转移
60.程序的三种基本控制结构的共同特点是(D )。
A、不能嵌套使⽤
B、只能⽤来写简单程序
C、已经⽤硬件实现
D、只有⼀个⼊⼝和⼀个出⼝
61.软件详细设计主要采⽤的⽅法是( C )
A、结构程序设计
B、模型设计
C、结构化设计
D、流程图设计
62.指出PDL是下列哪种语⾔?(B )
A、⾼级程序设计语⾔
B、伪码式
C、中级程序设计语⾔
D、低级程序设计语⾔
软件实现(2)
63.软件的三种结构是()
(A) 过程、⼦程序、分程序(B)顺序、条件、循环
(C) 递归、堆栈、队列 (D) 调⽤、返回、转移
64.⽬前要开发⼀个⼈事⼯资数据库应⽤系统,⼀般情况下不选⽤的开发语⾔是( D )
(A)JAVA语⾔(B)C#语⾔(C)DELPHI语⾔ (D)汇编语⾔
65.编程风格⼜叫程序设计风格,其中最重要的因素是(A )
A. 逻辑简明清晰,易读易懂
B. 逻辑复杂,以免别⼈读懂
C. 算法复杂,保护⾃⼰的编程技术
D. 逻辑简明清晰,但不容易读懂
66.在编程时,要使源程序⽂档化,其中不包括( D )
A. 标识符的命名规范,能正确代表实体
B. 做必要的有意义的注释
C. 程序清单布局呈阶梯状分布
D. 程序不需要写任何注释
67.程序中,语句构造应当简单直接,为提⾼效率,不应该(C )
A. 尽量避免使⽤逻辑‘⾮’运算
B. 尽量避免使⽤复杂的表件组合表达式
C. 为节省空间把多个语句写在同⼀⾏
D. 使⽤括号使逻辑表达式的运算次序清晰直观
68.程序算法复杂性,不能度量的是(B )
A. 模块内部的复杂性
B. 软件效益的多少
C. 开发周期及内部潜伏错误的多少
D. 软件开发费⽤的多少
软件实施维护(3)
69.1.( D ) 这种维护性活动数量较⼤,占整个维护活动的 50% 。
A.改正性维护
B. 适应性维护
C. 预防性维护
D. 完善性维护
70.2. 因计算机硬件和软件环境的变化⽽作出的修改软件的过程称为( B )
A.改正性维护
B.适应性维护
C.完善性维护
D.预防性维护
71.3.影响软件可维护的因素中,(A)描述不正确。
(A)系统功能强⼤(B)系统结构合理
(C)系统所选⽤的程序语⾔合适(D)有充分的经过版本控制的⽂档
72.4. 软件可维护性,主要表现在(D)
(A)软件容易使⽤(B)软件⽂档丰富
(C)软件功能强⼤(D)软件的可理解性、可测试性、可修改性、可移植性
73.5.软件按照设计的要求,在规定时间和条件下达到不出故障,持续运⾏的要求的质量特性称为( B )
A.可⽤性
B.可靠性
C.正确性
D.完整性
74.6.根据是否按照⼯程化原则实⾏来划分,软件维护分为( B )
A.改正性维护、适应性维护、完善性维护 B.⾮结构化维护和结构化维护
C.预防性维护和⾮预防性维护 D.正确维护和错误维护
⼆、名词解释
1.软件⽣存周期:
⼀个软件从提出开发要求开始直到该软件报废为⽌的整个时期。
包括:可⾏性分析和项⽬开发、计划、需求分析、概要设计、详细设计、编码、测试、维护(是软件⽣存周期中最长的阶段)等。
2.数据字典:
简称DD,就是⽤来定义数据流图中的各个成分具体含义的,它以⼀种准确的、⽆⼆义性的说明⽅式为系统的分析、设计及维护提供了有关元素的⼀致的定义和详细的描
述。
四类条⽬:数据流、数据项、数据存储、数据加⼯
3.软件测试
软件测试是根据软件开发各阶段的规格说明和程序的内部结构⽽精⼼设计
⼀批测试⽤例(包括输⼊数据与预期输出结果),并利⽤这些测试⽤例运⾏软件,以发现软件错误的过程。
4.数据流图:
简称DFD,是SA(结构化分析)⽅法中⽤于表⽰系统逻辑模型的⼀种⼯具,它以图形的⽅式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是⼀种功能模型。
5.模块的独⽴性:
指每个模块只完成系统要求的独⽴的⼦功能,并且与其他模块的联系最少且接⼝简单。
6.⽩盒测试
⽩盒测试把测试对象看作⼀个打开的盒⼦,分析程序的内部逻辑结构,注意选择适当的覆盖标准,设计测试⽤例,对主要路径进⾏尽可能多的测试。
7.⿊盒测试
⿊盒测试⼜称为功能测试或数据驱动测试。
该⽅法把被测试对象看成⼀个⿊盒⼦,测试⼈员完全不考虑程序内部逻辑结构和特性,只依照规格说明书检查程序的功能是否能正常使⽤。
8.软件
完成特定功能的程序+数据结构+⽂档
9.软件危
指计算机软件的开发和维护过程中所遇到的⼀系列严重问题
10.软件⼯程
指导计算机软件开发和维护的⼀门⼯程学
11.软件维护
是软件已经交付使⽤后,为了改正错误或满⾜新的需要⽽修改的软件的过程。
12.编码
就是把软件设计结果翻译成⽤某种程序设计语⾔书写的程序
三、简答题
1.需求分析的任务是什么?
答:需求分析阶段的基本任务是要准确的定义新系统的⽬标,为了满⾜⽤户需要,回答系统必须“做什么”的问题。
本阶段要进⾏以下⼏⽅⾯的⼯作:㈠问题识别。
双⽅确定对问题的综合需求,这些需求包括:功能需求、性能需求、环境需求、⽤户界⾯
需求,另外还有可靠性、安全性、保密性、可移植性、可维护性等⽅⾯的需求。
㈡分析与综合,导出软件的逻辑模型。
分析⼈员对获取的需求,进⾏⼀致性的分析检查,在分析、综合中逐步细化软件功能,划分成各个⼦功能。
这⾥也包括对数据域进⾏分解,并分配到各个⼦功能上,以确定系统的构成及主要成份,并⽤图⽂结合的形式,建⽴起新系统的逻辑模型。
㈢编写⽂档。
编写“需求规格说明书”、编写初步⽤户使⽤⼿册、编写确认测试计划、修改完善软件开发计划。
2.在成本估算中,分解任务的作⽤是什么?
答:分解任务的作⽤是将系统分解为⼩的可以估算的功能点,并对这些功能点的⼯时进⾏估算,最终形成⼀个⽐较可靠的报价。
3.⽢特图的优点有哪些?
答:⽢特图的优点有:
1)图形化概要,通⽤技术,易于理解;
2)中⼩型项⽬⼀般不超过30项活动;
3)有专业软件⽀持,⽆须担⼼复杂计算和分析。
4.根据下图找出关键路路径,并计算各项任务的最早开始时刻,最晚开始时刻和机动时
间。
答:关键路径:T1-T2-T3-T6-T9
5.软件的⽣命周期⼀般包含哪些阶段?
答:软件的⽣命周期⼀般包含:有问题定义、可⾏性分析、总体描述、系统设计、编码、调试和测试、验收与运⾏、维护升级到废弃等阶段
6.常⽤的需求分析的⽅法有哪些?
答:常⽤的需求分析的⽅法有:原型化⽅法,⽤例法,结构化⽅法。
7.需求规格说明书的作⽤是什么?
答:软件需求说明书的编制是为了使⽤户和软件开发者双⽅对该软件的初始规定有⼀个共同的理解,使之成为整个开发⼯作的基础。
8.详细设计的基本任务是什么,有哪⼏种描述⽅法?
答:详细设计的基本任务包括:
1)为每个模块进⾏详细的算法设计
2)为模块内的数据结构进⾏设计
3)对数据库进⾏物理设计
其他设计
4)编写详细设计说明书
5)评审
详细设计的描述⽅法有图形、表格和语⾔,其中图形常⽤结构化程序流程图、盒图和问题分析图(PAD)为描述⼯具,语⾔常⽤过程设计语⾔(PDL)来作为⼯具。
四、论述题
1.重庆正⼤软件职业技术学院需要新开发⼀个⼈事⼯资管理系统供其内部使⽤,现在
委托⼀个学⽣项⽬组开发该项⽬。
假如你是项⽬经理,请结合该系统的业务、所学
的软件⼯程知识,论述你开发该项⽬的过程,要求不少于500字。
2.重庆正⼤软件职业技术学院需要新开发⼀个课程管理系统供教务处使⽤,现在委托
⼀个学⽣项⽬组开发该项⽬。
假如你是项⽬经理,请结合该系统的业务、所学的软
件⼯程知识,论述你开发该项⽬的过程,要求不少于500字。
3.重庆朝天门服装批发公司需要新开发⼀个进销存管理系统供其公司内部使⽤,现在
委托⼀个学⽣项⽬组开发该项⽬。
假如你是项⽬经理,请结合该系统的业务、所学
的软件⼯程知识,论述你开发该项⽬的过程,要求不少于500字。
4.重庆正⼤软件职业技术学院需要新开发⼀个⽕车票订票管理系统供其内部使⽤,现
在委托⼀个学⽣项⽬组开发该项⽬。
假如你是项⽬经理,请结合该系统的业务、所
学的软件⼯程知识,论述你开发该项⽬的过程,要求不少于500字。
评分标准:
第⼀部分:项⽬基本开发情况(15分)
能够结合项⽬基本情况,根据软件⼯程的三要素:⽅法、⼯具和过程。
论述该项⽬使⽤的⽅
法(结构化⽅法、⾯向对象⽅法)、过程(瀑布⽣命周期模型、RUP模型)、⼯具(软件开发各类⼯具,如开发平台、数据库平台、测试⼯具、配置⼯具等)
评分标准:1、作为项⽬经理,运⽤的⽅法、⼯具和过程基本描述正确的可得9分,能够结合项⽬、团队现状基本描述正确为什么这样使⽤的可得12分。
2、作为项⽬经理,运⽤的⽅法、⼯具和过程,错误⼀个⽅⾯的扣3分;不能够结合项⽬、团队现状描述或错误的扣3分;其他情况酌情扣分
第⼆部分:软件开发阶段(35分)
能够按问题定义、可⾏性分析、项⽬开发计划、需求分析、概要设计、详细设计、编码与测试(或者是实现)、实施与维护分阶段描述每个阶段的⽬标及主要任务
评分标准:1、缺少⼀个阶段扣3.5分,⼀个阶段基本⽬标和任务描述正确的得2.5,能够结合项⽬展开论述的得3.5分。
其他情况酌情扣分
整体字数要求:(2分)
评分标准:少于500字的,每少于50字扣1分;达到500字数不给予扣分。