软件工程题库及答案.docx
《软件工程题库及答案.docx》由会员分享,可在线阅读,更多相关《软件工程题库及答案.docx(24页珍藏版)》请在冰豆网上搜索。
软件工程题库及答案
一、选择题
软件
(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)
1
0."1:
为了解决软件危机人们提出了用(B)的原理来设计软件,这就是软件工程诞生的基础。
(A)运筹学(B)工程学(C)软件学(D)数学
1
1."
2.在软件工程时期,决定软件质量的主要因素是(A)
A.管理水平
B.个人程序技术
C.小组技术水平
D.硬件的发展
1
2."
3.软件管理工作涉及到的直接对象不包括(B)。
A.软件开发人员
B.硬件设备
C.项目经费
D.软件项目
1
3."
4.软件工程方法学有三个要素,它们是(A)
A.方法、工具和过程
B.质量、进度和成本
C.顺序、分支和循环
D.入口、过程、出口生命周期及模型
(5)
1
4."1:
软件工程中描述生命周期的瀑布模型一般包括计划、(A)、设计、编码、测试、维护等几个阶段。
A.需求分析
B.需求调查
C.可行性分析
D.问题定义
1
5."
2.瀑布模型把软件生存周期划分为软件计划、软件开发与(C)三个阶段,而每一阶段又可分为若干更小的阶段。
A.详细设计
B.可行性分析
C.运行与维护
D.测试与排错
1
6."3:
下列哪个模型没有采用迭代的思想(A)
A.瀑布模型
B.渐增模型
C.螺旋模型
D.RUP模型
1
7."4:
下列关于瀑布模型的描述正确的是(D)。
A.利用瀑布模型,如果发现问题修改的代价很低
B.瀑布模型的核心是按照软件开发的时间顺序将问题简化
C.瀑布模型具有良好的灵活性
D.瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开
1
8."5:
瀑布模型本质上是一种(A)模型。
A.线性顺序
B.顺序迭代
C.线性迭代
D.早期产品
1
9."
6.快速原型模型的主要特点之一是(D)
A.开发完毕才见到产品
B.及早提供全部完整的软件产品
C.开发完毕后才见到工作软件
D.及早提供工作软件
2
0."7:
瀑布模型的关键不足在于(B)
(A)过于简单(B)不能适应需求的动态变更
(C)过于灵活(D)各个阶段需要进行评审
2
1."8:
瀑布模型存在的问题是(D)。
A.用户容易参与开发
B.缺乏灵活性
C.用户与开发者易沟通
D.适用可变需求问题定义
(1)
22."
1、软件定义的目的主要是(A)
A.明确系统的目标
B.明确系统具体该做什么
C.明确系统该如何做
D、系统值不值得做。
可行性研究
(2)
2
3."1:
研究开发所需要的成本和资源是属于可行性研究中的(B)研究的一方面。
A.技术可行性
B.经济可行性
C.社会可行性
D.法律可行性
2
4."2:
一个项目是否开发,从经济上来说是否可行,归根结底是取决于对(A)
A.成本的估算
B.项目计划
C.工程管理
D.工程网络图
2
5."3:
可行性研究的目标是(B)。
A.开发项目
B.项目值得开发否
C.规划项目
D.维护项目
2
6."4:
软件可行性研究一般不考虑(D)
(A)是否有足够的人员和相关的技术来支持系统开发
(B)是否有足够的工具和相关的技术来支持系统开发
(C)待开发软件是否有市场、经济上是否合算
(D)待开发的软件是否会有质量问题
软件项目计划
(1)
2
7."1:
软件项目计划一般不包括以下哪项内容(D)
(A)培训计划(B)人员安排
(C)进度安排(D)软件开发标准的选择和制定
需求分析
(5)//zhr
2
8."1:
软件需求分析的任务不应包括(C)。
A问题分析B信息域分析C结构化程序设计D确定逻辑模型
2
9."2:
在需求分析中,分析员要从用户那里解决的最重要的问题是(A)。
A要让软件做什么B要给该软件提供哪些信息
C要求软件工作效率如何D要让软件具有什么样的结构
3
0."
3.软件需求分析应确定的是用户对软件的(A)。
A.功能需求和非功能需求
B.性能需求
C.非功能需求
D.功能需求
3
1."
4.结构化分析方法(SA)是一种面向(C)的需求分析方法。
A.对象
B.数据结构
C.数据流
D.控制流
3
2."3:
进行需求分析可使用多种工具,但(B)是不适用的。
A数据流图BPAD图CE-R图D数据字典
3
3."4:
在结构化分析方法中,用以表达系统内数据的运动情况的工具有(A)。
A数据流图B数据词典C结构化英语D判定表与判定树
34."5:
需求规格说明书在软件开发中具有重要的作用,但其作用不应当包括(D)。
A软件设计的依据B用户和开发人员对软件要“做什么”的共同理解
C软件验收的依据D软件可行性分析的依据
3
5."6:
软件需求规格说明书的内容不应当包括(B)。
A对重要功能的描述B对算法的详细过程性描述
C软件确认准则D软件的性能
3
6."7:
需求分析是由分析员经过了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型,并写出(B)。
(A)模块说明书(B)软件规格说明书(C)项目开发计划(D)合同文档
37."下列工具哪一个是需求分析阶段常用工具?
(D)
A、P
A
DB、PDL
C、盒图
D、数据流图
3
8."进行需求分析可以使用多种工具,但(B)是不适用的。
A、数据流程图
B、判定表
C、状态转换图
D、数据字典
概要设计
(3)
3
9."在SD方法中全面指导模块划分的最重要的原则是(D)
A.程序模块化
B.模块高内聚
C.模块低耦合
D.模块独立性
4
0."模块(C),则说明模块的独立性越强。
A.耦合越强
B.扇入数越高
C.耦合越弱
D.扇人数越低
4
1."以下各种耦合按从强到弱排列正确的是(C):
(A).内容耦合,控制耦合,数据耦合,公共环境耦合。
(B).内容耦合,数据耦合,控制耦合,公共环境耦合。
(C).内容耦合,公共环境耦合,控制耦合,数据耦合。
(D).控制耦合,内容耦合,数据耦合,公共环境耦合。
4
2."模块的内聚性最高的是(D)
A.逻辑内聚
B.时间内聚
C.偶然内聚
D.功能内聚
4
3."以下各种内聚按从强到弱排列正确的是(D):
A.偶然内聚,逻辑内聚,时间内聚,顺序内聚,功能内聚
B.偶然内聚,顺序内聚,逻辑内聚,时间内聚,功能内聚
C.逻辑内聚,时间内聚,顺序内聚,功能内聚,偶然内聚
D.功能内聚,顺序内聚,时间内聚,逻辑内聚,偶然内聚
4
4."模块(A),则说明模块的独立性越强。
A.内聚越强
B.扇入数越高
C.内聚越弱
D.扇人数越低
4
5."在SD中,概要设计的结果是提供一份(A)。
A.模块说明书
B.框图
C.程序
D.数据流图
4
6."结构化设计在软件开发中用于(B)。
A、测试设计
B、概要设计
C、程序设计
D、详细设计
详细设计
(3)
4
7."PDL是一种过程设计语言,又叫(C)
(A)系统流程图(B)盒图
(C)伪码(D)功能图
4
8."在详细设计算法工具中,(C)能够清楚地表现程序的层次结构
(A)系统流程图(B)层次图
(C)PAD图(D)功能图
4
9."详细设计算法工具中,(A)图是一种历史悠久的图,直观地描述了程序的控制流程。
(A)程序流程图(B)系统流程图
(C)PAD图(D)盒图
5
0."下列哪一个不是详细设计时使用的工具。
(A)
(A)系统流程图(B)盒图
(C)PAD图(D)判定树
5
1."详细设计的方法不包括(D)
A.Jackson数据结构方法
B.结构化设计方法
C.面向对象设计法
D.程序流程图
52."一般来说,详细设计的方法包括结构化设计方法、(C)和Jackson方法。
A.PAD图
B.判定树
C.面向对象设计法
D.程序流程图
5
3."结构化程序设计主要强调的是(C)。
A、程序的效率
B、程序的执行速度
C、程序的易读性
D、程序的规模
54."详细设计的任务是确定每个模块的(A)。
A、算法
B、功能
C、调用关系
D、输入输出数据
5
5."在软件详细设计过程中不采用的描述工具是(D)。
A、判定表
B、流程图
C、PAD图
D、DFD图
5
6."在详细设计阶段,一种二维树型结构并可自动生成程序代码的描述工具是(A)。
A、PAD
B、PDL
C、IPO
D、判定树
5
7."结构化程序设计的一种基本方法是(D)。
A、筛选法
B、递归法
C、迭代法
D、逐步求精法
5
8."PDL是软件开发过程中用于(C)阶段的描述工具。
A、需求分析
B、概要设计
C、详细设计
D、编程
5
9."程序的三种基本控制结构是(B)。
A、过程、子程序和分程序
B、顺序、选择和重复
C、递归、堆栈和队列
D、调用、返回和转移
6
0."程序的三种基本控制结构的共同特点是(D)。
A、不能嵌套使用
B、只能用来写简单程序
C、已经用硬件实现
D、只有一个入口和一个出口
6
1."软件详细设计主要采用的方法是(C)
A、结构程序设计
B、模型设计
C、结构化设计
D、流程图设计
6
2."指出PDL是下列哪种语言?
(B)
A、高级程序设计语言
B、伪码式
C、中级程序设计语言
D、低级程序设计语言
软件实现
(2)
6
3."软件的三种结构是()
(A)过程、子程序、分程序(B)顺序、条件、循环
(C)递归、堆栈、队列(D)调用、返回、转移
6
4."目前要开发一个人事工资数据库应用系统,一般情况下不选用的开发语言是(D(A)JAVA语言(B)C#语言(C)DELPHI语言(D)汇编语言
6
5."编程风格又叫程序设计风格,其中最重要的因素是(A)
A.逻辑简明清晰,易读易懂
B.逻辑复杂,以免别人读懂
C.算法复杂,保护自己的编程技术
D.逻辑简明清晰,但不容易读懂)
66."在编程时,要使源程序文档化,其中不包括(
A.标识符的命名规范,能正确代表实体
B.做必要的有意义的注释
C.程序清单布局呈阶梯状分布
D.程序不需要写任何注释
6
7."程序中,语句构造应当简单直接,为提高效率,不应该(C)
A.尽量避免使用逻辑‘非’运算
B.尽量避免使用复杂的表件组合表达式
C.为节省空间把多个语句写在同一行
D.使用括号使逻辑表达式的运算次序清晰直观
6
8."程序算法复杂性,不能度量的是(B)
A.模块内部的复杂性
B.软件效益的多少
C.开发周期及内部潜伏错误的多少
D.软件开发费用的多少
软件实施维护
(3)
6
9."
1.(D)这种维护性活动数量较大,占整个维护活动的50%。
A.改正性维护
B.适应性维护
C.预防性维护
D.完善性维护
7
0."
2.因计算机硬件和软件环境的变化而作出的修改软件的过程称为(B)
A.改正性维护
B.适应性维护
C.完善性维护
D.预防性维护
7
1."
3.影响软件可维护的因素中,(A)描述不正确。
(A)系统功能强大(B)系统结构合理
(C)系统所选用的程序语言合适(D)有充分的经过版本控制的文档
7
2."
4.软件可维护性,主要表现在(D)
(A)软件容易使用(B)软件文档丰富
(C)软件功能强大(D)软件的可理解性、可测试性、可修改性、可移植性
73."
5.软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为(B)D)
A.可用性
B.可靠性
C.正确性
D.完整性
7
4."
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-T940
T10
0181
8T24
420018T36
T41
9T54
10210T611
111
0T912
12T71
91
8T8
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字数不给予扣分