软件工程期末复习题

复习题
1
(一)填空题
1.软件与物质产品有很大的区别,软件是一种_______产品,不具有具体的物理实体形态特性。
2.开发软件需要付出的高成本和软件产品的低质量之间有着尖锐的矛盾,这种现象叫作_______。
3.软件工程是一门综合性交叉学科,计算机科学着重于理论和原理,软件工程着重于__________。
4.软件工程过程主要包括__________、四个过程。
5.现代软件工程主要指面向对象的软件工程,是面向对象方法学的基本单位。
6.开发软件工具的主要目的是为了提高软件生产率和改善

7.软件开发环境的主要组成成分是

8.是为创造一种产品、服务或者结果而进行的临时性的努力。
9.项目管理的三约束包括

10.配置管理的对象是配置项,文档就是一种最基本的配置项,配置管理对软件系统主要包含的__________、三种文档进行管理。
11.进度管理中估计活动所需时间可以使用三时间估计法,即
和正常时间的加权平均值。
12.制定进度计划时通常使用甘特图和里程碑图作为工具。其中,可以展示各个活动的起止时间、项目的关键路径;可以展示项目的重要时间节点。
13.软件开发项目中最主要的三种风险是

(二)选择题
1.软件按照功能可以划分为系统软件、支撑软件和应用软件三类,win10操作系统属于( )软件。
A、系统软件 B、支撑软件
C、应用软件 D、以上都不是
2.下列所述不是软件的特点的是( )。
A、软件是有形的 B、软件不存在磨损和消耗问题
C、软件开发成本高 D、软件没有明显的制作过程
3.以下( )不是软件危机的表现形式。
A、开发的软件不满足用户需求
B、开发的软件可维护性差
C、开发的软件价格便宜
D、开发的软件可靠性差
4.软件工程的出现主要是由于( )。
A、程序设计方法学的影响
B、其他工程科学的影响
C、软件危机的出现
D、计算机的发展
5.以下关于软件工程基本原理的说法错误的是( )。
A、应将软件生命周期划分为若干个阶段并相应地制定计划
B、应在编程结束后进行质量保证工作
C、软件开发过程中如果需求发生改变,必须评审通过后才能实施修改
D、软件开发人员不是越多越好,而应少而精
6.下面哪个不是软件工程的基本思想( )。
A、抽象 B、分解 C、组合 D、复用
7.现代软件工程主要指的是( )的软件工程。
A、面向过程 B、模块化
C、面向对象 D、面向产品
8.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( )。
A、 硬件环境
B、软件开发的环境
C、软件开发工具和软件开发的环境
D、开发人员的素质
9.在软件开发中,需求分析阶段可以使用的工具是( )。
A、N-S图 B、DFD图(数据流图)
C、PAD图 D、程序设计与数据设计
10.软件开发环境是由软件开发工具集和环境集成机制构成的。前者用于支持软件开发的相关过程、活动和任务;后者为( )和软件的开发、维护和管理提供统一的支持。
A、软件开发 B、软件系统
C、系统工具 D、工具集成
11. UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法( )。
A、基于瀑布模型的结构化方法
B、基于需求动态定义的原型化方法
C、基于对象的面向对象的方法
D、基于数据的数据流开发方法
12.项目管理的对象是( )。
A、项目 B、项目团队
C、项目生命周期 D、项目干系人
13.以下不属于项目管理三约束的是( )。
A、技术 B、时间 C、成本 D、范围
14.( )是项目管理的基石。
A、项目经理 B、项目团队 C、项目发起人 D、客户
15.项目的复杂性和多样性要求项目经理具备( )。
A、冲突解决能力 B、领导能力
C、建设项目团队的能力 D、以上都是
(一)填空题
1.逻辑
2.软件危机
3.构建一个软件系统
4.计划过程,开发过程,运作过程,维护过程
5.对象
6.软件的质量
7.软件工具
8.项目
9.范围,时间,成本
10.开发文档(技术文档),管理文档(项目文档),用户文档
11.乐观时间,悲观时间
12.甘特图,里程碑图
13.质量风险,成本风险,时间风险
(二)选择题
1.A
2.A
3.C
4.C
5.B
6.C
7.C
8.C
9.B
10.D
11.C
12.A
13.A
14.A
15.D
2
(一)填空题
1.软件生存周期一般由
三个时期构成。
2.软件计划时期主要包含两个阶段:问题定义和可行性研究、

3.软件开发时期主要包括
等阶段。
4.最基本、应用广泛、以文档为驱动、适用于开发功能明确的软件项目生存期模型是

5.螺旋模式是一种将瀑布模式与__________结合起来的软件开发模式。
6.螺旋模式的每一个周期都包含__________、四个阶段。
7.增量模型具有迭代的特征,它的每一个增量均发布一个

8.快速应用开发模型的主要流程是:业务建模、、应用生成、测试及反复。
9.软件项目管理的5个过程组是__________、
10.项目启动是由__________主导的项目过程。
11.项目启动一般包含需求识别与建议、项目识别与选择、、项目立项等活动。
12.项目执行工作的成果主要包含工作成果和

13.核查项目计划规定范围内的各项工作或活动是否已经全部完成、可交付成果是否令人满意、记录核查结果的一系列活动叫作__________。
14.项目收尾阶段结束后,项目将进入后续的__________,这一时期也是使项目产生效益的阶段。
15. __________帮助软件企业对其软件过程的改变进行计划、制定及实施。

(二)选择题
1.瀑布模型本质上是一种( )。
A、线性顺序模型
B.顺序迭代模型
C.线性迭代模型
D.及早出软件产品的模型

2.将每个模块的控制结构转换成计算机可接受的程序代码是( )阶段的任务。
A、编码 B、需求分析
C、详细设计 D、测试

3.软件生存周期中时间最长的是( )阶段。
A.需求分析 B.概要设计
C.测试 D.维护

4.从结构化的瀑布模型看,在它的生命周期的若干阶段中,下面的几个选项中哪个环节出错,对软件的影响最大( )。
A、详细设计阶段 B、概要设计阶段
C、需求分析阶段 D、测试和运行阶段

5.下列说法错误的是( )。
A、螺旋模型在设计上有灵活性,可以在项目的各个阶段进行变更
B、瀑布模型适用于需求易于完善定义且不易变更的软件系统
C、螺旋模型适用于小型软件的开发
D、原型模型属于迭代开发的模型

6.以下属于专用过程模型的是( )。
A、形式化方法模型
B、基于构件的开发模型
C、面向方面的软件开发模型
D、以上都是

7.从工程管理角度,软件设计一般分为两步完成,它们是( )。
A、总体设计与详细设计
B、数据设计与接口设计
C、软件结构设计与数据设计
D、过程设计与数据设计

8.以下属于微软过程的基本原则的是( )。
A、制订计划时兼顾未来的不确定因素
B、经常生成过渡版本并进行快速测试来提高产品的稳定性及可预测性
C、将大型项目分解成多个可管理的单元,以便更快地发布产品
D、以上都是

9.可行性研究的目的是决定( )。
A.开发项目 B.项目是否值得开发
C.规划项目 D.维护项目

10.随着项目的推进,分阶段地重估自上而下计划制定过程中所制定的进度和预算的是( )。
A、概念性计划 B、详细计划
C、滚动计划 D、支持计划

11.( )是项目管理的核心和基准,它为项目执行和控制提供了依据。
A、项目经理的决定 B、项目计划
C、项目需求 D、客户的意见

12.软件开发的增量模型( )。
A、最适用于需求被清晰定义的情况
B、是一种能够快速构造可运行产品的好方法
C、最适合于大规模团队开发的项目
D、是一种不适合用于商业产品的创新模型

13.假设某软件公司与客户签订合同开发一个软件系统,系统的功能定义清晰,且客户对交付时间有严格要求,则该系统的开发最适宜采用( )。
A、瀑布模型 B、原型模型
C、增量模型 D、螺旋模型

14.通常在软件的( )活动中无需用户参与。
A、需求分析 B、维护
C、编码 D、测试

15.软件能力成熟度模型中软件过程的成熟度分为( )级。
A、4 B、5 C、6 D、7

16.原型开发中的原型是指( )。
A、设计方案 B、系统早期可运行的一个版本
C、用户要求 D、目标系统
(一)填空题
1.计划,开发,运行
2.需求分析
3.总体设计,详细设计,编码,测试
4.瀑布模型
5.原型模式
6.制订计划,风险分析,实施工程,客户评估
7.可操作产品
8.数据建模,过程建模
9.项目启动,项目计划,项目实施,项目控制,项目收尾
10.客户
11.可行性研究
12.项目变更申请
13.项目验收
14.维护期
15.软件过程改进
(二)选择题
1.A
2.A
3.D
4.C
5.C
6.D
7.A
8.D
9.B
10.C
11.B
12.B
13.A
14.C
15.B
16.B
3
(一)填空题
1.软件策划阶段的技术成果包含__________、和__________等技术文档。
2.可行性研究实质上是进行一次简化、压缩了的

3.可行性研究的四个方面是技术可行性、社会可行性、和操作可行性。
4.可行性研究最后一步是要撰写

5.可行性研究中描述系统高层物理模型的工具是
_______。
6.一个软件项目经过可行性分析后,若认为值得开发,则应制定_________,它是项目组为实现项目目标而科学地预测并确定项目生命周期的行动方案。
7.软件项目管理的所有活动都是以为_________、为中心,又简称为QCD,项目的总体计划也是以QCD为中心。
8.逻辑模型使用_________和数据字典进行描述。
9.制定计划的精髓不在于写出一份好看的文档,而在于运用智慧去应对各种问题和风险并尽可能做出

10.项目的范围计划主要是根据客户提出的要求,确定应该开发的软件对象的
。开发范围计划还包括对开发项目成果物(如设计书、操作手册等)的定义和成果物的管理。
11.将开发项目各个工程阶段的任务分解逐步细化,并用阶层结构形式表现出来,这种方法称之为_________。
12.PERT图采用_________来描述构成项目的任务,表示其前后关系、延迟及影响。
13.在PERT图中,用箭头表示_________;箭头附带数字表示完成任务所需的_________。
14.一般将风险分为3类:
15.软件开发体制一般以_________为中心,由所有与软件开发有关的人员构成。
16.项目的估算不只是做一次,要根据客户的要求进行初期估算和

(二)选择题
1.技术可行性要研究的问题之一是( )。
A、存在侵权否 B、成本效益问题
C、运行方式可行否 D、技术风险问题

2.纯收入是累计效益现在值与投资之( )。
A、和 B、差 C、积 D、商

3.项目开发计划这类文档是一种( )。
A、技术性文档 B、管理性文档
C、需求分析文档 D、设计文档

4.在软件的可行性研究中,可以从不同的角度对软件的可行性进行研究,其中是从软件的功能可行性角度考虑的是( )。
A、经济可行性 B、技术可行性
C、操作可行性 D、法律可行性

5.任何项目都必须精心做好项目管理工作,最常用的计划管理工具是( )。
A、数据流程图 B、程序构造图
C、因果图 D、PERT图

6.以下属于工程资源的是( )。
A、达到项目目标所需的人力资源
B、达到项目目标所需的软件、硬件
C、达到项目目标所需的相关技术
D、以上全是

7.参照过去做过的类似项目进行估算的方法是( )。
A、功能模块法 B、标准任务法
C、概算法 D、积算法

8.用三值时间估算法估算某项工作的工时,预测最短需用时30人天,最长需用时80人天,最可能需用时45人天,则估算出工时约为( )人天。
A、45 B、48 C、55 D、50

9.以下不属于项目总体计划的是( )。
A、开发范围计划 B、开发进度计划
C、开发环境计划 D、阶段实施计划

(一)填空题
1.立项报告,可行性研究报告,软件项目计划书
2.系统分析和设计
3.经济可行性
4.可行性研究报告
5.系统流程图
6.项目开发计划
7.质量,成本,交付期
8.数据流图
9.前瞻性的思考
10.范围和基本功能
11.作业结构分解(WBS)
12.网络图
13.任务或子任务,时间
14.项目风险,技术风险,商业风险
15.工程管理者(Project Manager,PM)
16.阶段性的估算
(二)选择题
1.D
2.B
3.B
4.B
5.D
6.D
7.C
8.B
9.D
10.C
4
(一)填空题
1.软件需求主要包括业务需求、用户需求、等不同的层次。
2.软件需求工程必须采用合理的步骤,才能准确地获取软件的需求,产生符合要求的

3.软件需求工程包括_________、、需求验证、需求管理等几个过程。
4.软件需求获取的准备工作包括确定_________、了解需求的来源,以及需求内容分析。
5.需求获取方法主要有_________、会议讨论法、界面原型法、可运行原型系统法。
6.需求分析方法中的结构化分析方法又称为_________,由数据流图和_________构成并表示。
7.通过评审的_________是整个需求工作阶段的最终输出,将成为软件设计、实现和测试活动的主要依据。
8.需求管理的任务是分析变更影响并_________,主要包括需求变更控制、需求文档版本控制、需求跟踪和需求风险管理等活动。
9.是需求变更的依据。
10.数据建模包括三种互相关联的信息,即
以及
11.是表示数据对象及其关系的图形语言机制。
12.数据流图中的箭头表示
___。
13.数据字典描述的主要内容包括_________、、数据存储、处理功能和外部实体等,其中_________是组成数据流的基本成分。
14.面向对象分析中建造的模型主要有_________、
15.面向对象分析的模型中_________定义“对谁做”,定义“何时做”,定义“做什么”。
16.建立继承关系的两种方式为

(二)选择题
1.需求工作阶段的任务是确定( )。
A、软件开发方法 B、软件开发工具
C、软件开发费 D、软件系统的功能

2.对目标软件系统的响应时间需求属于( )。
A、功能需求 B、业务需求
C、非功能需求 D、用户需求

3.在软件需求工作阶段,分析人员要确定对问题的综合需求,其中最主要的是( )需求。
A、功能 B、性能
C、数据 D、环境

4.分析人员在需求工作阶段产生的最重要的文档之一是(  )。
A、系统规格说明书   B、需求规格说明书
C、概要设计说明书  D、详细设计说明书

5.以下不属于软件需求活动参与者的是( )。
A、来自软件开发方的需求分析师
B、来自软件开发方的编程人员
C、来自委托方或投资方的客户
D、来自使用方的用户

6.结构化分析方法就是面向( )自顶向下逐步求精进行需求分析的方法。
A、目标 B、功能
C、对象 D、数据流

7.在结构化分析中,数据流图反映( )。
A、系统的业务流程
B、系统的信息处理过程
C、用户的信息需求和系统的逻辑功能
D、用户操作使用方面的要求

8.软件需求规格说明书的内容不应该包括( )
A、对重要功能的描述
B、对算法的详细过程描述
C、对数据的要求
D、软件的性能

9.软件需求规格说明书在软件开发中具有重要作用,但其作用不应该包括( )
A、软件设计的依据
B、用户和开发人员对软件要做什么的共同理解
C、软件验收的依据
D、软件可行性分析依据

10.E-R图中,菱形表示( )。
A、实体 B、属性
C、联系 D、以上都不是

11.在数据流图中,椭圆代表( )。
A、数据流 B、数据存储
C、处理过程 D、外部实体

12.数据字典是用来定义( )中的各个成分的具体含义的。
A、流程图 B、功能结构图
C、系统结构图 D、数据流图

13.数据流图处理功能中,最难于用文字和符号表达清楚的是( )。
A、运算功能 B、数据存取功能
C、逻辑判断功能 D、输入输出功能

14.在数据字典中,为了能够表示项目重复出现多次,或重复取值多次,则需要使用的符号是( )。
A、{ } B、[ ] C、( ) D、+

15.在数据字典中,必须准确、规范描述各类条目的内容,符号“( )”(圆括号)表示的意思为( )。
A、括号内各项目至少一项出现
B、括号内所列项目为可选项目,可能出现,也可能不出现
C、括号内项目出现多次或重复取值多次
D、系统的数据流程

16.面向对象分析的第一步是( )。
A、定义服务 B、确定附加的系统约束
C、确定问题域 D、定义类和对象

(一)填空题
1.系统需求,功能需求,非功能需求
2.软件需求规格说明书
3.需求获取,需求分析,需求定义
4.需求参与者
5.问卷调查法
6.数据流法,数据字典
7.需求规格说明书
8.控制变更过程
9.需求基线
10.数据对象,描述对象的属性,描述对象间相互连接的联系
11.实体-联系图(E-R图)
12.数据流
13.数据元素,数据结构,数据流,数据元素
14.对象模型,动态模型,功能模型
15.对象模型,动态模型,功能模型
16.自底向上,自顶向下
(二)选择题
1.D
2.C
3.A
4.B
5.B
6.D
7.C
8.B
9.D
10.C
11.C
12.D
13.C
14.A
15.B
16.C
5
(一)填空题
1.软件设计可以分为_________和_________两个阶段。
2.详细设计的任务是确定每个模块的内部特性,即模块内部的_________、使用的数据。
3.模块的独立性要求模块要_________和_________。
4.一个模块内部各程序段都在同一张表上操作,这个模块的内聚性称为_________。
5.两个模块都是用同一张表,这种耦合称为_________。
6.一个模块把数值作为参数传送给另一个模块,这种耦合方式称为_________。
7.从技术角度来说,软件设计可分为_________、_________、_________和人机交互界面设计四大部分。
8. C/S软件体系结构将应用一分为二,_________负责数据管理,_________完成与用户的交互任务
9.三层C/S软件体系结构将应用功能分成表示层、功能层和_________三个部分。
10.数据库设计应与应用系统设计结合起来,设计过程应把_________和_________结合起来。
11.系统结构图的依据就是在系统需求分析产生的数据流图,数据流图一般有两种典型的结构:
12._________图描述了一组对象之间的交互方式,它表示完成某项行为的对象之间传递消息的时间顺序。
13.可以把描述系统与外界之间的交互,位于系统与外界交界处的类提取为________类;把系统用来调度、协调以及业务处理的类提取为_________类。

(二)选择题
1.总体设计的根本目的是( )。
A、建立文档 B、编码
C、设计软件系统结构 D、弄清数据流动

2.按照软件工程的原则,模块的作用域和模块的控制域之间的关系是( )。
A、模块的作用域应在模块的控制域之内
B、模块的控制域应在模块的作用域之内
C、模块的控制域与模块的作用域互相独立
D、以上说法都不对

3.模块化的目的是( )。
A、增加内聚性 B、降低复杂性
C、提高易读性 D、减少耦合性

4.为了提高模块的独立性,模块内部最好是( )。
A、逻辑内聚 B、时间内聚
C、功能内聚 D、通信内聚

5.如果某种内聚要求一个模块中包含的任务必须在用一段时间内执行,则这种内聚为( )。
A、时间内聚 B、逻辑内聚
C、通信内聚 D、信息内聚

6.下列耦合中,耦合程度最低的是( )。
A.标记耦合 B.控制耦合
C.内容耦合 D.公共耦合

  1. Java数据库连接(JDBC)技术是Java语言编写的访问数据库的接口,以下哪种是它具备的连接数据库的途径?( )
    A、直接连接数据库
    B、使用JDBC驱动程序连接
    C、与ODBC数据源直接连接
    D、以上都是

8.程序流程图中带有箭头的线段表示的是( )。
A、图元关系 B、数据流
C、控制流 D、调用关系

9.( )图描述了对象之间动态的交互关系,还描述了交互的对象之间的静态链接关系,即同时反映系统的动态和静态特征。
A、状态图 B、序列图
C、协作图 D、活动图

10.以下哪种不是顺序图中对象的标识方式( )。
A、对象名:类名 B、对象名
C、类名:对象名 D、:类名
(一)填空题
1.总体设计(概要设计),详细设计
2.算法
3.低耦合,高内聚
4.通信内聚
5.公共耦合
6.数据耦合
7.软件体系结构设计,数据库设计,控制过程设计
8.服务器(后台),客户机(前台)
9.数据层
10.结构(数据)设计,行为(处理)设计
11.变换型结构,事务型结构
12.顺序
13.边界,控制
(二)选择题
1.C
2.A
3.B
4.C
5.A
6.A
7.D
8.C
9.C
10.C
6
(一)填空题
1.面向机器语言包括_________、两种。
2.汇编语言是一种符号语言,它采用了一定的_________来替代机器语言中的指令和数据。
3.C语言是一种过程化语言,Java是一种

4.程序设计风格包括4个方面:和输入/输出。
5.影响程序效率的因素主要为
、影响输入/输出的因素。
6.白盒测试以程序的结构为依据,所以又称为

7.黑盒测试把测试对象看作一个黑盒,测试时完全不考虑程序的内部的逻辑结构与内部特性,只需根据_________,测试_________。
8.是针对程序模块,进行正确性检验的测试,其目的在于发现各模块内部可能存在的各种差错。
9.在单元测试时,需要为被测模块设计

10.面向对象的软件测试分为_________、,其中_________主要针对编程风格和代码进行测试。
11.是在测试发现错误之后诊断并排除错误的过程。
12.测试用例不仅包括测试数据,还包括与之对应的

(二)选择题
1.下列语言中哪个语言是低级语言?( )
A、PASCAL B、Visual Bassic
C、C++ D、汇编语言

2.适合在互联网上编写程序可供不同平台上运行的面向对象程序设计语言是( )。
A、ALGOL B、Java
C、Smalltalk D、BASIC

3.程序设计语言一般简单来说,可划分为低级语言和高级语言两大类,与高级语言相比,用低级语言开发的程序,具有如下哪种特点( )。
A、 运行效率低,开发效率低
B、 运行效率低,开发效率高
C、 运行效率高,开发效率低
D、 运行效率高,开发效率高

4.下面各种说法中,不良好的编程风格是( )。
A、标识符的命名前后一致,中途无变化
B、标识符的命名避免采用程序设计语言的保留字
C、在程序编写过程完成后统一书写注释
D、使用空格、空行和右缩格等改善程序的布局,以取得较好的视觉效果

5.软件测试的目的是( )。
A、评价软件的质量
B、发现软件的错误
C、找出软件的所有错误
D、证明软件是正确的

6.按照程序的逻辑路径(过程)进行测试的方法是( )。
A、白盒法 B、黑盒法
C、路径法 D、逻辑法

7.关于系统测试工作,以下叙述正确的是( )。
A.遵循谁开发谁测试的原则
B.不能用错误的数据测试
C.功能超出设计更好
D.保留存档测试用例

8.下面的逻辑覆盖测试中,覆盖最弱的是( )。
A、条件覆盖 B、条件组合覆盖
C、语句覆盖 D、判定-条件覆盖

9.黑盒测试是根据程序的( )来设计测试用例的。
A、应用范围 B、内部逻辑
C、功能 D、输入数据

10.软件测试的目的是尽可能发现软件中的错误,通常( )是代码编写阶段可进行的测试。
A.系统分析 B.安装测试
C.验收测试 D.单元测试

11.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001,设计这组测试用例的方法是( )。
A、等价分类法 B、边界值分析法
C、错误推测法 D、以上都不是

12.软件调试可以采用以下哪种技术?( )
A、归纳法调试 B增量调试
C、强行排错调试 D、以上都是

13.在某班级管理系统中,班级的班委有班长、副班长、学习委员和生活委员,且学生年龄在15~25岁。若用等价类划分来进行相关测试,则( )不是好的测试用例。
A、(队长,15) B、(班长,20)
C、(班长,15) D、(队长,12)
(一)填空题
1.机器语言,汇编语言
2.助记符
3.面向对象语言
4.源程序文档化,标识符的命名及说明,语句的构造及书写
5.算法的效率,影响存储效率
6.结构测试
7.需求规格说明书,程序的功能或程序的外部特性
8.单元测试
9.驱动模块和桩模块
10.面向对象分析的测试,面向对象设计的测试,面向对象编程的测试,面向对象编程的测试
11.软件调试
12.预期结果
(二)选择题
1.D
2.B
3.C
4.C
5.B
6.A
7.D
8.C
9.C
10.D
11.B
12.D
13.D
7
(一)填空题
1.在交付阶段的文档中,将列出按照协定需要提交的各种交付物及其具体形态,其主要内容包括两大类:
2.维护阶段所花费的人力、物力最多,其花费高达整个软件生命期花费的约_________%。
3.为了识别和纠正运行中产生的错误而进行的维护称为_________维护。
4.为了提高软件的可维护性和可靠性而对软件进行的修改称为_________维护。
5.根据软件维护的实践,维护主要分为_________、、系统障碍的对应维护、意外事故及灾害后的恢复等。
6.在软件维护中,因修改软件而导致出现的错误或其他情况称为
_。
7.可测试性表明论证程序正确性的容易程度,对于程序模块,可用__________来度量可测试性。
8.软件再工程的对象是__________的系统,这些系统一般缺乏良好的设计结构和编码风格,因此使软件的修改费时费力。
9.软件再工程通过对原系统用新的设计思想的重新实现和对原有文档的更新可以进行功能追加和增强,同时通过__________,其模块划分会更合理。
10.再工程主要有3种类别,即__________,

(二)选择题
1.软件生存周期的最后一个阶段是( )。
A、书写软件文档 B、软件维护
C、稳定性测试 D、书写详细用户说明

2.软件生存期中最长的一个阶段是( )。
A、需求分析 B、概要设计
C、测试 D、维护

3.在各类软件维护活动中,( )维护占整个维护工作的比重大。
A、完善性 B、改正性
C、适应性 D、预防性

4.某企业由于外部市场环境和管理需求的变化对现有软件系统提出新的需求,则对该软件系统进行的维护属于( )维护。
A、正确性 B、完善性
C、适应性 D、预防性

  1. 针对应用在运行期的数据特点,修改其排序算法使其更高效,属于( )维护。
    A、正确性 B、适应性
    C、完善性 D、预防性

6.软件系统的可维护性评价指标不包括( )。
A、可理解性   B、可测试性
C、可扩展性   D、可修改性

  1. 软件维护成本在软件成本中占较大比重。为降低维护的难度,可采取的措施有( )。 
    A、设计并实现没有错误的软件
    B、限制可修改的范围
    C、增加维护人员数量
    D、在开发过程中就采取有利于维护的措施,并加强维护管理

8.在软件维护工作中进行的最少的部分是( )。
A、校正性维护 B、适应性维护
C、完善性维护 D、预防性维护

9.软件生存期( )阶段的工作与软件可维护性有密切的关系。
A、编码阶段 B、设计阶段
C、测试阶段 D、每个阶段

10.在软件维护中,为了使那些还有较长寿命,仍能正常工作的系统对将要发生的变化或调整进行维护,称之为( )。
A.纠错性维护 B.适应性维护
C.完善性维护 D.预防性维护

11.在对软件进行维护过程中,增加数据输出的图形方式属于( )。
A.纠错性维护 B.适应性维护
C.完善性维护 D.预防性维护

(一)填空题
1.文档清单(列出所交付的各种文档),软件清单(列出各个软件模块及其大小)
2.70
3.纠错性
4.预防性
5.修正变更维护,版本维护
6.维护的副作用
7.程序复杂性
8.正在使用中
9.再工程和再设计
10.适应性维护的再工程,完善性维护的再工程,预防性维护的再工程
(二)选择题
1.B
2.D
3.A
4.C
5.C
6.C
7.D
8.D
9.D
10.D
11.C

问答题

1.储户在ATM机上进行操作, 需求的规定是先“登录“后,再根据需要选择“存款”“取款”、“账户余额查询”和“转账”这4个操作。请描述图1的这4张图有什么不同。(a)
(b)
©
(d)
正确答案

分析4张图的不同:
图(a):对储户而言,可以直接操作“登录”“存款”“取款”“账户余额查询”和“转账”这5个用例,即使不“登录“也可以执行“存款”“取款”、““账户余额查询”和“转账”用例。这张图的不足之处在于没有反映出用例的先后顺序。根据需求,只有先登录了,才能进行“存款”“取款”“账户余额查询”和“转账”。但可将“存款”“取款”“账户余额查询”和“转账”这4个用例的用例描述中的前置条件设置为“储户已登录ATM机”,就可以弥补这张图的不足。
图(b) :对储户而言, 其在ATM机上需要进行的操作是“存款”“取款99“账户余额查询”和“转账”,在选择功能之后,需要储户来进行“登录“以完成所选操作(这与需求中所说的,要先”要先”登录“再选择这4种操作不符)。而且,如果一个储户有多种需求,如必须先“存款”再“取款”、,他就需要进行两次登录。很明显这张图的画法不合理。
图©:储户先“登录“登录“,”登录登录“之后,可以进行“存款”、“取款”“账户余额查询”和“转账”功能。但是由于“登录“用例与这4个用例的包含关系,在”有登录“之后,用户必须完成“存款”,“取款”,“账户余额查询”和“转账”这4种操作(即使储户没有那么多需求)很明显这张图的画法不合理。
图(d):储户先“登录“登录“,”登录登录“之后,可以选择进行“存款”号“取款”“账户余额查询”和“转账”(这些不一定必须要完成,甚至可以什么都不做),因为“登录“这个用例和这4个用例之间的关系是拓展关系。可以说,这张图比较合理地表达了需求。

2.根据下列描述,画出“注册会员”在线购物的用例图。在一个网上购物系统,当注册会员浏览网站时,他可能临时决定购买商品。当他决定购买商品后,就必须将商品放进购物车,然后下订单。此外,他也可以直接在线购物。
分析:描述关系:对于参与者“注册会员”而言,他可以选择“浏览商品”,在浏览后进行“在线购物”,当然也可以在浏览完商品后什么都不做,所以,用例“浏览商品”和用例“在线购物”之间的关系是拓展关系。他也可以不“浏览商品”直接进行“在线购勺物”在用户进行“在线购物”这一操作时,他必须要做的是“下订单”,所以用例“在线购物”和用例“下订单”之间的关系是包含关系。换句话说如果注册会员没下订单,那么他的行为就不能被称为在线购物。
正确答案

3.根据下列描述,画出学生申请IC借书卡的用例图。学生入学后到图书馆申请IC借书卡,图书馆管理人员根据IC借书卡库存情况分析是否需要购买新的IC借书卡,如需购买,则向IC借书卡提供商购买。各种资金往来通过学校的会计科办理。
分析:在本题中,主要的动作对象是学生、管理人员、会计科以及提供商。首先,根据题目描述可以得出的用例有1)学生申请IC卡;2)管理员经过审核确定是否购卡;3)供货商为学校发货;4)会计科对于申报账目的审核以及放款。在这些用例中,我们注意到用例2中在购卡前必须要先分析IC卡库存情况,即确认是否需要购卡,两者属于包含关系;而在用例3中账目审核又是资金发放所必需的步骤,所以两者属于包含关系;最后我们还需要为管理人员添加一个申报账目的用例,这样才相对比较完善地得到本题的完整用例图。整体的用例图如下图所示。
正确答案
用例1
用例2

用例3
用例4
4.在大学的教学管理系统中涉及下面的类对象:大学、系、教研室、教师、学生班级、学生、本科生、研究生、教学任务、课程。这些类对象之间具有这样的关系:一所大学下设多个系,每个系包含多个教研室和多个学生班级。每位教师只能归属于一个教研室。学生分为本科生和研究生。每位教师可以承担多门课程的教学任务,每个学生可以选修多门课程。请画出此类图。
分析:从问题描述中,可得到大学、系、教研室、学生班级、教师、学生、教学任务、课程、本科生和研究生这10个类。大学与系、系与教研室、学生班级、教研室与教师、学生班级与学生都是聚合关系,也可以看作关联关系。学生同本科生、研究生之间是泛化关系,具体如下图所示。
正确答案

  • 6
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值