文档内容
第一章 概述
一、名词解释
1、计算机软件:与计算机系统操作有关的程序、规程、规则及任何与之有关的
文档和数据。
2、软件危机:指在计算机软件开发、使用与维护过程中遇到的一系列严重问题
和困难。
3、软件工程:用工程、科学和数学的原则与方法开发、维护计算机软件的有关
技术和管理方法。
4、软件生存周期:软件从形成概念开始,经过开发、使用和维护,直到最终退
役的全过程称为软件生存周期。
5、瀑布模型:严格按照软件生存周期各个阶段来进行开发,上一阶段的输出即
是下一阶段的输入,并强调每一阶段的严格性。它规定了各阶段的任务和应提
交的成果及文档,每一阶段的任务完成后,都必须对其阶段性产品(主要是文
档)进行评审,通过后才能开始下一阶段的工作。
二、单项选择题
1、下面不属于软件工程的3个要素的是( D )。
A、工具 B、过程 C、方法 D、环境
2、软件开发的结构化生命周期方法将软件生命周期划分成( A )。
A、计划阶段、开发阶段、运行阶段。 B、计划阶段、编程阶段、测试阶段。
C、总体设计、详细设计、编程调试。 D、需求分析、功能定义、系统设计。
3、( D )引入了“风险驱动”的思想,适用于大规模的内部开发项目。
A.增量模型 B.喷泉模型 C.原型模型 D.螺旋模型
4、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于( A
)系统。
A、需求不确定的 B、需求确定的 C、管理信息 D、决策支持
5、软件是一种( C )
A、程序 B、数据 C、逻辑产品 D、物理产品
6、瀑布模型的关键不足在于(B)
A、过于简单 B、不能适应需求的动态变更
C、过于灵活 D、各个阶段需要进行评审
7、具有风险分析的软件生存周期模型是( C )。
A、瀑布模型 B、喷泉模型 C、螺旋模型 D、增量模型
8、以下哪一项不是软件危机的表现形式 ( C )
A、成本高 B、生产率低
C、技术发展快 D、质量得不到保证9、软件是一种( B )性工业产品。
A、理论 B、知识 C、消耗 D、体力
10、软件定义期间的问题定义阶段涉及的人员有( D )。
A、用户、使用部门负责人
B、软件开发人员、用户、使用部门负责人
C、系统分析员、软件开发人员
D、系统分析员、软件开发人员、用户与使用部门负责人
11、(A )是软件生存期中的一系列相关软件工程活动的集合,它由软件规格
说明、软件设计与开发、软件确认、软件改进等活动组成。
A 软件过程 B、软件工具 C、质量保证 D、软件工程
12. 分析员是( B) 。
A、用户中系统的直接使用者 B、用户和软件人员的中间人
C、软件的编程人员 D、用户和软件人员的领导
13 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作(
B) 。
A、软件投机 B、软件危机 C、软件工程 D、软件产生
14、文档是软件开发人员、软件管理人员、维护人员、用户以及计算机之间的
(B) ,软件开发人员在各个阶段以文档作为前段工作成果的 (E) 和后段工
作的(F) 。
A、接口 B、桥梁 C、科学 D、继续 E、体现 F、基础
15、软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的
是(B) 。
A、引入新技术提高空间利用率 B、用较少的投资获得高质量的软件
C、缩短研制周期扩大软件功能 D、硬软件结合使系统面向应用
16. 软件危机出现于(C) ① ,为了解决软件危机,人们提出了用(B) ②
的原理来设计软件,这就是软件工程诞生的基础。①A、50年代末 B、60年代
初 C、60年代末 D、70年代初
②A、运筹学 B、工程学 C、软件学 D、数字
17、软件工程学的目的是以(B) 的成本,研制 (A) 质量的软件。
A、较高 B、较低 C、可靠 D、优秀
18、瀑布模型把软件生存周期划分为软件定义、软件开发和( C ) 三个阶
段,而每一阶段又可细分为若干更小的阶段。
A、详细设计 B、可行性分析 C、运行及维护 D、测试与排错
19、软件生存周期是指( D) 阶段。
A、软件开始使用到用户要求修改为止
B、软件开始使用到被淘汰为止 C、从开始编写程序到不能再使用为止D、从立项制定计划,进行需求分析到不能再使用为止
20、件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测
试、维护等几个阶段。( A)
A、需求分析 B、需求调查 C、 可行性分析 D、 问题定义
三、填空题
1、软件工程的3个要素的是工具、过程和方法
2、软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题
和困难。
3、在软件开发过程中必须遵循的软件工程原则有抽象、信息隐藏、模块化、局
部化和一致性等。
4、软件开发的结构化生命周期方法将软件生命周期划分成定义阶段、开发阶段
和运行阶段。
5、螺旋模型综合了瀑布模型和原型模型的优点,即将两者结合,并加入了风险
分析机制
四、判断题
1、文档是软件产品的一部分,没有文档的软件就不称其为软件(对)。
2、在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花
费的代价就会降低。( ×)
3、螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。[√]
4、快速原型模型可以有效地适应用户需求的动态变化。[√]
5、软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,
软件开发实际上就是编写程序代码[×]。
五、问答题
1、产生软件危机的主要原因有哪些?缓解软件危机的途径是什么
答:(1)主要原因:
1)需求描述不精确。
2)对需求的理解有偏差,导致软件与需求不一致。
3)缺乏处理大型软件项目的开发和管理经验。
4)开发大型软件易产生疏漏和错误。
5)缺乏有力的方法学的指导和有效的开发工具的支持。
6)解决供求矛盾将是一个永恒的主题。
(2)缓解软件危机的途径:用软件工程的思想指导软件的开发
2、瀑布模型有哪些优点和缺点?适用于哪些场合?答:(1)优点: 提供了软件开发的基本框架,有利于大型软件开发过程中人
员的组织、管理,有利于软件开发方法和工具的研究与使用。
(2)缺点:
1)在开发初期就要求做出正确、全面、完整的需求分析是极其困难的。
2)在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完
整。
3)由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,只
有在最终产品运行时才能暴露出来,从而使产品难以维护。
(3)瀑布模型适用场合:一般适用于功能、性能明确、完整、无重大变化的
软件系统的开发。
3、什么是软件工程?它的目标和内容是什么?
答:(1)软件工程:用工程、科学和数学的原则与方法开发、维护计算机软
件的有关技术和管理方法。
(2)目标是:在给定成本、进度的前提下,开发出具有可修改性、有效性、
可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和
可互操作性并满足用户需求的软件产品。
第二章 项目管理
一、单选题
1、软件复杂性度量的参数,不包括( D )
A、规模 B、难度 C、智能度 D、成本
2、在软件开发的各种资源中,(D )是最重要的资源。
A、开发工具 B、方法 C、硬件环境 D、人员
3、( D )是以追求更高的效益和效率为目标的持续性活动。
A、质量策划 B、质量控制 C、质量保证 D、质量改进
4、下列模型属于成本估算方法的有( A )。
A、COCOMO模型 B、McCall模型
C、McCabe度量法 D、CMM模型
5、软件项目计划一般不包括以下哪项内容(D)
A、培训计划 B、人员安排
C、进度安排 D、软件开发标准的选择和制定
6、软件按照设计的要求,在规定的时间和条件下达到不出故障、持续运行要求
的质量特性称为( A )
A、可靠性 B、可用性 C、正确性 D、完整性
7、软件复杂性主要体现在( C )。
A、数据的复杂性 B、程序的复杂性C、控制的复杂性 D、问题的复杂性
8、在McCALL软件质量度量模型中,( A )属于面向软件产品操作的质量因素
A、可用性 B、可维护性 C、适用性 D、互操作性
9、软件复杂性度量的参数包括( B )
A.效率 B.规模 C.完整性 D.容错性
10、( C )是指在规定的条件下和规定期间内,实现所指定功能的概率。
A、可测试性 B、可理解性 C、可靠性 D、可移植性
11、在软件工程中,当前用于保证软件质量的主要技术手段还是 ( B)。
A、正确性证明 B、测试 C、自动程序设计 D、符号证明
12、在软件工程中,高质量的文档标准是完整性、一致性和 ( C )。
A、统一性 B、安全性 C、无二义性 D、组合性
13、软件的可移植性是衡量软件质量的重要标准之一。它指的是 ( D )。
A、一个软件版本升级的容易程度
B、一个软件与其他软件交换信息的容易程度
C、一个软件对软硬件环境要求得到满足的容易程度
D、一个软件从一个计算机系统或环境转移到另一个计算机系统或环境的容易程
度
14、Putnam成本估算模型是一个( D )模型。
A.静态单变量 B.动态单变量 C.静态多变量 D.动态多变
量
15、在McCall软件质量度量模型中,( C )属于面向软件产品修改。
A.可靠性 B.可重用性 C.适应性 D.可移植
性
二、填空题
1、软件项目管理的对象:主要包括产品、过程和资源
2、McCall等人提出的三层次度量模型由软件质量要素、评价准则、定量度量
三个层次组成的。
3、风险按影响的范围可分为项目风险、技术风险和商业风险三类。
4、McCall提出的软件质量模型包括 1 1 个软件质量特性。
三、名词解释
1、软件质量:软件产品满足规定的和隐含的与需求能力有关的全部特征和特性。
2、风险分析:贯穿在软件工程上的一系列风险管理步骤,中包括风险识别、风
险估计、风险管理策略、风险解决和风险监督等。
3、软件可靠性:在某个给定时间间隔内,程序按照规格说明成功运行的概率。四、应用题
1、已知有一个国外典型的软件项目的记录,开发人员 M=6 人,其代码行数
L=20.2KLOC,工作量 E=43PM,成本 S=314000 美元,错误数 N=64,文档页数
Pd=1050页。试计算开发该软件项目的生产率 P、平均成本C、代码出错率EQR
和文档率D。
解:根据给出的已知数据,可得:
P = L / E =20.2 KLOC /43 PM = 0.47 KLOC / PM
= 470 LOC / PM
C = S / L = 314000美元 / 20.2 KLOC
= 15.54 美元 / LOC
EQR = N / L = 64个 / 20.2KLOC = 3.17 个 / KLOC
D = Pd / L = 1050 页 / 20.2 KLOC = 51.98 页 / KLOC
2、已知某软件项目的特征为:用户输入数为30,用户输出数为60,用户查询
数为 24,共有8个文件,有 2个外部界面。如果每个信息量的加权因子都取
“一般”值,所有的技术复杂性调节因子都取“普通”值,
(1)用功能点度量方法计算该软件项目的功能点。
(2)其代码行数=20.2KLOC,工作量 E=43PM,成本 S=314000 美元,错误数
N=64,文档页数Pd=1050页。试计算开发该软件项目的生产率 P、平均成本C、
代码出错率EQR和文档率D
解:(1)基本功能点CT为:
CT =用户输入数× 4+用户输出数×5+
+用户查询数×4+文件数×10+外部接口数×7
=30×4+60×5+24×4+8×10+2×7
=610
FP = CT×TCF = CT [0.65 + 0.01∑F i ]
= 610 × [0.65 + 0.01 ×3 ×14]
= 652.7功能点
答:该软件项目共有652.7功能点。
(2)解:
1)生产率P(平均每人月开发的功能点数,以功能点/ PM为单位):
P = FP / E=652.7/43
2)平均成本C(以美元/功能点或元/功能点为单位):
C = S / FP =314000/652.7
3)代码出错率EQR(即每功能点的平均错误 数,以个/功能点为单位)
为:
EQR = N / FP=64/652.74)软件的文档率D(即平均每功能点的文档 页数,以页/功能点为单
位)为:
D = Pd / FP=105/652.7
五、判断题
1、当软件开发项目的进度有可能拖延时,增加开发人员并不一定能加快进度。
(√ )
第三章 可行性分析
一、单选题
1、软件可行性研究一般不考虑 (D )
A、是否有足够的人员和相关的技术来支持系统开发
B、是否有足够的工具和相关的技术来支持系统开发
C、待开发软件是否有市场、经济上是否合算
D、待开发的软件是否会有质量问题
2、可行性研究要进行一次( C )需求分析。
A、详细的 B、全面的 C、简化的、压缩的 D.彻底的
设计
3、经济可行性研究的范围包括( C )。
A、资源有效性 B、管理制度 C、效益分析 D、开发风险
4、在可行性研究阶段,对系统所要求的功能、性能以及限制条件进行分析,确
定是否能够构成一个满足要求的系统,这称为( B) 可行性。
A. 经济可行性 B. 技术可行性 C. 社会可行性 D. 法律可行性
5、为保证软件质量,在软件生存周期的每个阶段结束之前,都需要进行(C)
工作。
A、制定计划 B、测试 C、审查 D、交接
6、研究开发所需要的成本和资源是属于可行性研究中的( B )研究的一方面。
A. 技术可行性 B. 经济可行性 C. 社会可行性 D. 法律可行性
二、填空题
1、可行性研究的目的是用最小的代价,在最短的时间内确定问题是否可能解决
和值得去解决,主要从经济可行性、技术可行性和社会可行性等方面研究。
2、整个生存周期系统的累计收入的折现值PT 与总成本折现值ST之差称为纯收
入,把资金投入到项目中与把资金存入银行比较,其中投入到项目中可获得的
年利率就称为项目的投资回收率
三、判断题1、软件可行性研究一般不考虑待开发软件是否有市场、经济上是否合算(
×)
四、问答题
1、可行性分析的主要任务是什么?
答:可行性研究的主要任务是:了解客户的要求及现实环境,从技术、经济和
社会因素等三方面研究并论证本软件项目的可行性,编写可行性研究报告,制
定初步项目开发计划。
1)经济可行性研究:度量系统解决方案的性能价格比。估算开发成本和利
润,进行成本效益分析。
2)技术可行性研究:度量一个特定技术信息系统解决方案的实用性及技
术资源的可用性。
3)运行、操作可行性研究:用户使用可能性;时间进度可行性;组织和
文化上的可行性
4)法律可行性研究:开发项目是否会在社会上、法律上或政治上引起侵
权、破坏或其它责任问题。
5)开发方案的选择
第四章 需求分析
一、单选题
1、 在各种不同的软件需求中,(D )描述了用户使用产品必须要完成的任
务,可以在用例模型或方案脚本中予以说明。
A、业务需求 B、功能需求 C、非功能需求 D、用户需求
2、需求分析最终结果是产生( B )
A、项目开发计划 B、需求规格说明书
C、设计说明书 D、可行性分析报告
3、需求分析阶段的主要任务是( A )。
A、确定软件系统的功能 B、确定软件开发方法
C、确定软件开发费 D、确定软件开发工具
4、在结构化分析方法中,用以表达系统内数据流的流向的工具是( A )。
A. 数据流图 B. 数据词典 C. 结构化英语 D. 判定表与判定树
5、 时序图反映对象之间发送消息的时间顺序,它与( D )是同构的。
A、用例图 B、类图 C、活动图 D、协作图
6、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,( C )是从各个角度对系统的
约束和限制,反映了应用对软件系统质量和特性的额外要求。
A、业务需求 B、功能要求 C、非功能需求 D、用户需求
7、( A )意味着一个操作在不同的类中可以有不同的实现方式。
A、多态性 B、多继承 C、类的复用 D、封装
8、( D )工具在软件详细设计过程中不采用。
A、判定表 B、IPO图 C、PDL D、DFD图
9、在面向对象软件开发方法中,类与类之间主要有以下结构关系 (B)
A、继承和聚集 B、继承和一般
C、聚集和消息传递 D、继承和方法调用
10、结构化程序设计主要强调的是( D )。
A、程序的规模 B、程序的效率 C、程序设计语言的先进性 D、程序易读
性
11、以下哪一项不是面向对象的特征 (D)
A、多态性 B、继承性 C、封装性 D、过程调用
12、面向对象模型主要由以下哪些模型组成 (A)
A、对象模型、动态模型、功能模型 B、对象模型、数据模型、功能模型
C、数据模型、动态模型、功能模型 D、对象模型、动态模型、数据模型
13、以下哪种属于精确的用户需求描述( A )
A、系统的响应时间不能超过3秒 B、系统必须用菜单驱动
C、在数据录入界面,应该有10个按钮 D、电梯应平稳运行
14、在数据流图中,椭圆代表( C )
A、源点 B、终点 C、加工 D、模块
15、下列( B )不是软件需求说明书性能描述包含的内容。
A、预期的软件响应 B、测试种类 C、设计的限制 D、性能参数
16、软件定义期间的问题定义阶段涉及的人员有( D )。
A、用户、使用部门负责人
B、软件开发人员、用户、使用部门负责人
C、系统分析员、软件开发人员
D、系统分析员、软件开发人员、用户与使用部门负责人
17、不适于作为数据流图处理(加工)框名称的是( B )。
A、人工校核工资数据 B、工资支票数据
C、打印工资支票 D、计算职工工资
18、SA方法在描述方式上的特点,是尽量采用( C )。
A、自然语言 B、形式语言 C、图形表示 D、表格
19、OOA模型规定了一组对象如何协同才能完成软件系统所指定的工作。这种协同在模型中是以表明对象通信方式的一组( A )连接来表示的。
A、消息 B、记录 C、数据 D、属性
20、进行需求分析可使用多种工具,但( B )是不适用的。
A、数据流图 B、判定表 C、PAD图 D、数据词典
21、对象类之间的聚集关系就是( B )关系。
A、一般特殊 B、整体-部分 C、相互依赖 D、层次构造
22、用于描述对象模型的工具是( D )。
A、数据流图 B、结构图 C、状态图 D、对象图
23、结构化程序设计主要强调的是( D )。
A、程序的规模 B、程序的效率 C、程序设计语言的先进性 D、程序易读
性
24、对象类之间的聚集关系就是( B )关系。
A、一般特殊 B、整体-部分 C、相互依赖 D、层次构造
25、结构化分析SA是软件开发需求分析阶段所使用的方法,( B ) 不
是SA所使用的工具。
A、DFD图 B、PAD图 C、结构化英语 D、判定表
26、数据流图中,当数据流向或流自文件时,( B ) 。
A、数据流要命名,文件不必命名
B、数据流不必命名,有文件名就足够了
C、数据流和文件均要命名,因为流出和流进数据流是不同的
D、数据流和文件均不要命名,通过加工可自然反映出
27、需求分析是由分析员经了解用户的要求,认真细致地调研、分析,最终应
建立目标系统的逻辑模型并写出 ( B )。
A、模块说明书 B、需求分析说明书 C、项目开发计划 D、合同文档
28 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系
统的 ( A )。
A、总貌 B、细节 C、抽象 D、软件的作者
29、需求分析中开发人员要从用户那里了解( A )
A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规
模
30、对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。
A.结合 B.隐藏 C.封装 D.抽象
31、软件需求规格说明的内容不应包括(B )。
A. 主要功能 B. 算法的详细描述
C. 用户界面及运行环境 D. 软件的性能
32. 结构化分析方法以数据流图、( D ) 和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。
A、DFD图 B、PAD图 C、IPO图 D、数据字典
33、分层的数据流图中,父图与子图的平衡是指(D) 的平衡。
A、处理 B、数据存储 C、外部项 D、数据流
34、数据流图中,当数据流向或流自数据存储时,(B) 。
A、数据流要命名,数据存储不必命名
B、数据流不必命名,数据存储要命名
C、数据流和数据存储均应命名,因流进和流出的数据流可能不同
D、数据流和数据存储都不必命名,因为从处理上可自然反映出来
35、数据流图是一种描述数据及其变换的图形表示,在数据流图上不允许出现
( B )。
A、数据流 B、控制流 C、文件 D、加工
36. 数据字典是软件需求分析阶段的重要工具之一,它的基本功能是(A) 。
A、数据定义 B、数据维护 C、数据通讯 D、数据库设计
37、系统需求分析阶段的任务是分析系统的(D) 。
A、数据要求 B、功能要求 C、性能要求 D、A,B,C三方面
38、结构化分析SA是软件开发需求分析阶段所使用的方法 不是SA所使用的
工具。B
A、DFD图 B、PAD图 C、结构化英语 D、判定表
39、结构化分析方法以数据流图、 和加工说明等描述工具,即用直观的图和
简洁的语言来描述软件系统模型。D
A、DFD图 B、PAD图 C、IPO图 D、数据字典
40、某模块的输入数据为某工厂中一个车间的生产产量表,通过该模块可以计
算出车间中生产工人的平均产量、统计产量前10名的人员名单,从内聚度来
看,该模块属于 (C)。
A、逻辑内聚 B、通信内聚 C、顺序内聚 D、功能内聚
41. 分层的数据流图中,父图与子图的平衡是指( D ) 的平衡。
A、处理 B、数据存储 C、外部项 D、数据流
42. 数据流图中,当数据流向或流自数据存储时, (B )。
A、数据流要命名,数据存储不必命名
B、数据流不必命名,数据存储要命名
C、数据流和数据存储均应命名,因流进和流出的数据流可能不同
D、数据流和数据存储都不必命名,因为从处理上可自然反映出来
44. 数据字典是软件需求分析阶段的重要工具之一,它的基本功能是 (A)。
A、数据定义 B、数据维护 C、数据通讯 D、数据库设计45 数据字典是对数据流图中出现的组成元素定义的集合,它不包括( A ) 条
目。
A、文件 B、数据流 C、加工 D、I/O参数
46. 软件需求分析的内容是 ( A )。
A、确定开发的软件应有哪些功能,应达到什么性能
B、确定软件的开发成本 C、制定软件开发的进度表
D、确定软件的总体结构
47 数据流图的小说明中描述的最基本部分是( B) 。
A、激发条件 B、加工逻辑 C、优先级 D、执行频率
48.不适于作为数据流图处理(加工)框名称的是( B) 。
A、人工校核工资数据 B、工资支票数据
C、打印工资支票 D、计算职工工资
49.系统需求分析阶段的任务是分析系统的( D) 。
A、数据要求 B、功能要求 C、性能要求 D、以上三方面
50.系统开发的需求分析阶段的重要工作之一是 ( A)。
A、数据定义 B、数据库设计 C、数据维护 D、数据结构实现
51.需求分析说明书不能作为 ( A)。
A、可行性研究的依据 B、用户和开发人员之间的合同
C、系统概要设计的依据 D、软件验收测试的依据
52、结构化系统分析中,处理逻辑可用( B) 描述。
A、数据字典 B、数据流图 C、结构图 D、结构化语言
53.、经调查,系统分析员给出有关问题的初略陈述,其中部分描述如下:某
商场的采购部门要求每天开出定购清单,交采购员;仓库管理员将此要求输入
系统,经库存业务(进贷或出贷)处理后输出。从这段描述可知该部分数据流
图中的外部项为( A) 。
A、采购员、仓库管理员 B、定购清单、库存业务
C、库存业务 D、定购清单、采购员
54、下列叙述中,( B ) 不属于数据字典的作用。
A、作为编码阶段的描述工具 B、为用户与开发人员之间统一认识
C、作为概要设计的依据 D、为需求分析阶段定义各类条目
55、在面向对象软件方法中,“类”是( D ) 。
A、具有同类数据的对象的集合 B、具有相同操作的对象的集合
C、具有同类数据的对象的定义 D、具有同类数据和相同操作的对象的定义
56、数据流图所描述的是实际系统的(A) 。
A、逻辑模型 B、物理模型 C、程序流程 D、数据结构
57、面向对象分析时,所标识的对象为( D ) 是错误的。A、与目标系统有关的物理实体 B、与目标系统发生作用的人或组织的角色
C、目标系统运行中需记忆的事件 D、目标系统中环境场所的状态
58、.结构化系统分析主要是通过( D ) 进行分析的。
A、算法分解 B、控制结构分解
C、数据结构分解 D、处理功能分解
59、需求分析中开发人员要从用户那里了解( A )
A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的
规模
60、在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功
能的阶段是( D )
A、概要设计 B、详细设计 C、可行性分析 D、需求分析
二、填空题
1、软件需求是指用户对目标软件系统在功能、性能、行为、设计约束等方面
的期望。
2、需求分析阶段的任务是确定待开发的软件系统“做什么”。该阶段的主要
成果有主要成果有 软件需求规格说明书(或 SR S )
3、初步需求获取技术的方法:访谈与会议、观察用户工作流程、分析人员和
用户组成联合小组
4、参加需求评审的人员应当有用户、系统分析员、系统设计人员等
5、DFD图中,用方框表示外部实体、用椭圆表示转换、用箭头表示数据流、
用双线表示数据源
6、数据流图是目标系统中各个子功能及它们之间的数据流动的图形表示。
7、按照信息的流向、结构、和内容三个方面可以将现有的需求分析建模方法
划分为:面向信息流的分析、面向信息结构的分析和面向信息内容的分析三种。
8、包之间存在两种关系:依赖和构成;
9、用例图从用户角度描述系统功能。静态图表示系统的静态结构。行为图描
述系统的动态模型和组成对象间的交互关系。实现图用于描述系统的物理实现。
10、对象是现实世界中个体或事物的抽象表示,
11、对象之间通过消息进行通信
12、用例与用例之间存在两种关系:使用和扩展关系
13、类之间的关系:继承、聚集、关联和依赖
14、面向对象的特征主要有多态性、继承性 和封装性
15、在需求分析中,可从有关问题的简述中提取组成数据流图的基本成分。通
常问题简述中的动词短语将成为数据流图中的加工(或处理) 成分。
三、判断题1、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件
提供哪些信息(×)。
2、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性
分析的依据 (× )。
3、面向对象的分析是面向计算机系统建立软件系统的对象模型(错)。
4、在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所
花费的代价就会降低。( ×)
5、在需求分析中,分析员要从用户那里解决的最重要的问题是明确软件做什
么。(√)
6、模型是对现实的简化,建模是为了更好地理解所开发的系统。(√ )
7、用例图定义了系统的功能需求,它是从系统的外部看系统功能,并不描述
系统内部对功能的具体实现(√ )
8、数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进
行详细定义。[×]
9、快速原型模型可以有效地适应用户需求的动态变化。[√]
10、在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的
实例,对象是生成类的模板。 [×]
12、某加工的输入是一个数据流,该加工的输出也必定是一个数据流(错)
13、在进行需求分析时同时考虑维护问题。(对)
14、尽可能在软件开发过程中保证各阶段文档的正确性。(对)
15、判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。
(错)
四、问答题
1、什么是需求分析,其任务是什么?
答:需求分析:通过对应用问题及其环境的分析与理解,采用一系列的分析方
法和技术,将用户的需求逐步精确化、完全化、一致化,最终形成需求规格说
明文档的过程。
(2)需求分析的任务就是准确地定义未来系统的目标,确定为了满足用户的
需求系统必须做什么。用 <需求规格说明书> 规范的形式准确地表达用户的需
求。
2、什么叫数据流图?它有哪些组成部分?
答:(1)数据流图:是用来刻画数据流和转换的信息系统建模技术。它用简
单的图形记号分别表示数据流、转换、数据源以及外部实体。
(2)组成部分:
外部实体:位于软件系统边界之外的信息生产者或消费者,用方框表示
转换:转换数据流的处理过程,用椭圆表示数据流:在转换之间有向流动的数据项或数据项集合,用箭头表示
数据源:为一个或多个转换提供数据源或数据存储服务的缓冲区、文件或
数据库,用双线表示。
3、简述SA方法的优缺点。
答:(1)优点:SA方法是软件需求分析中公认的、有成效的、技术成熟、使
用广泛的一种方法,该方法利用图形等半形式化工具表达需求,简明、易读,
也易于使用,为后一阶段的设计、测试、评价提供了有利的条件。
(2)SA方法的缺点:
A:它没有反映处理的顺序,即控制流程。因此,不适合描述实时控制系统。
B:SA方法使用DFD在分析与描述“数据要求”方面是有限的。
C:DFD不是和描述人机界面系统的需求,对这一部分需用自然语言作补充。
4、创建数据流模型应遵循哪些规则?
答:应遵循的原则:
(1)首先建立顶级数据流图,其中只含有一个代表目标软件系统整体处理功
能的转换。
(2)对用户需求的文字描述进行语法分析,其中的名词和名词短语构成潜在
的外部实体、数据源或数据流,动词构成潜在的处理功能。
(3)采用通常的功能分解方法,按照“强内聚、松耦合”的原则逐个对处理
功能进行精化;与此同时逐步完成对数据流的精化,并针对被精化的处理功能
生成下一级数据流图。
(4)精化过程中必须维持各级数据流图之间的数据流平衡。
(5)精化过程应适可而止,避免涉及软件设计细节。
5、用例图、状态图、协作图、活动图、顺序图在面向对象方法各起什么作用?
答:(1)用例图:从外部用户角度描述系统功能,并指出各功能的操作者。
(2)状态图:描述类的对象的动态行为。
(3)协作图:描述相互合作的对象间的交互关系,它描述的交互关系是对象
间的消息连接关系
(4)活动图:描述系统为完成某项功能执行的操作序列。着重描述操作实现
中完成的工作以及用例实例或对象中的活动。
(5)顺序图:主要描述对象之间的动态合作以及合作过程中的行为次序,常
用来描述一个用例的行为。
五、名词解释
1、软件需求:是指用户对目标软件系统在功能、性能、行为、设计约束等方
面的期望。2、需求分析:通过对应用问题及其环境的分析与理解,采用一系列的分析方
法和技术,将用户的需求逐步精确化、完全化、一致化,最终形成需求规格说
明文档的过程。
3、抽象:是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同的
特征而暂不考虑它的细节,不考虑其它因素。
4、数据流图:是用来刻画数据流和转换的信息系统建模技术。它用简单的图
形记号分别表示数据流、转换、数据源以及外部实体。
5、用例:从外部用户的角度看,是执行者与目标软件系统之间的一次典型的
交互作用。
六、应用题
1、为开发一个铁路自动售票系统(该系统预计从2004年使用到2014年),
请从供选择的答案中选出A、B、C、D和E的内容来完成下面的数据流图(每
空1分,共5分)
(1)A~E的供选择答案如下:
①车次表;②接受;③售票记录;④购票请求;⑤拒绝。
A、 B、 C、 D、 E、
A、购票请求 B、接受 C、拒绝 D、车次表 E、售票记录
2、某银行的计算机储蓄系统功能是:将储户填写的存款单或取款单输入系统,
如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,
并打印出存款单给储户,如果是取款,系统计算清单给储户。画出其中一层
DFD。
答:
账号
存款凭证
无余拒付 存/取款信息 存折处理
储
储
户
取款单 核 登
户
查 录
存款单 付
付款信息
款 结算单
处
计时器 时间
理3、数据字典举例:某高校可用的电话号码有以下几类:校内电话号码由 4位
数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨
校外电话需先拨 0,如果是本市电话再接着拨 8 位电话号码(第 1 位不是
0),如果是外地电话则先拨区码(3~5位数字),再拨当地电话号码(7或8
位数字,第1位不是0)。
请定义上述的电话号码(描述其数据字内典)。
答:电话号码=「校内号码 | 校外号码]
校内号码=非零数字+3{数字}3
校外号码=[本市号码 | 外地号码])
本市号码=0+非零数字+7{数字}7
外地号码=0+区码+当地号码
非零数字=[1|2|3|4|5|6|7|8|9]
区码=3{数字}5
当地号码=非零数字十6{数字}7
数字=[0|1|2|3|4|5|6|7|8|9]
第五章 软件设计
一、选择题
1. 结构设计是一种应用最广泛的系统设计方法,是以( B) 为基础、自顶向
下、逐步求精和模块化的过程。
A、数据流 B、数据流图 C、数据库 D、数据结构
2. 概要设计的结果是提供一份 。( A )
A、模块说明书 B、框图 C、程序 D、数据结构
3. 变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作
处理,然后将结果送出是属于 ( A )。
A、变换型 B、事务型
4、 PAD(Problem Analysis Diagram)图是一种( B ) 工具。
A、系统描述 B、详细设计 C、测试 D、编程辅助
5. 在软件开发中,有利于发挥集体智慧的一种做法是 ( A)。
A、设计评审 B、模块化 C、主程序员制 D、进度控制6. 在结构化程序设计思想提出以前,在程序设计中曾强调程序的 ① 。现在,
与程序的 ① 相比,人们更重视程序的 ② 。( F、E)
①②A、安全性 B、专用性 C、一致性 D、合理性E、可理解性 F、效率
7、下列有关系统结构图的叙述中正确的是( D)。
A、 系统结构图中反映的是程序中数据流的情况。
B、系统结构图是精确表达程序结构的图形表示法。因此,有时也可将系统
结构当作程序流程图使用。
C、 一个模块的多个下属模块在系统结构图中所处的左右位置是无关紧要
的。
D、 在系统结构图中,上级模块与其下属模块之间的调用关系用有向线段
表示。这时,使用斜的线段和水平、垂直的线段具有相同的含义。
8、确定测试计划是在( A )阶段制定的.
A.总体设计 B.详细设计 C.编码 D.测试
9. 在开发软件时,( A)可用来提高程序员的工作效率。
A、程序开发环境 B、操作系统的作业管理功能
C、编译程序的优化功能 D、并行运算的大型计算机
10、 1960年Dijkstra提倡的 (D) 是一种有效的提高程序设计效率的方法。
A、标准化程序设计 B、模块化程序设计
C、多道程序设计 D、结构化程序设计
11、内聚程度最低的是( A )内聚
A.偶然 B.过程 C.顺序 D.时间
12、概要设计的任务是决定系统中各个模块的外部特性,即其( D)
A、功能结构 B、输入输出数据 C、算法和使用数据 D、 A和B
13、详细设计的任务是决定每个模块的(C)
A、外部特性 B、内部特性C、算法和使用数据 D、功能和输入输出数据
14、软件的(A) 设计又称为总体结构设计,其主要任务是建立软件系统的总
体结构。
A、概要 B、抽象 C、逻辑 D、规划
15. 模块本身的内聚是模块独立性的重要度量因素之一,在七类内聚中,具
有最强内聚的一类是(D ) 。
A、顺序性内聚 B、过程性内聚 C、逻辑性内聚 D、功能性内聚
16、 Jackson设计方法是由英国的M.Jackson提出的,它是一种面向(
C ) 的设计方法。
A、对象 B、数据流 C、数据结构 D、控制结构
17 结构化程序设计思想的核心是要求程序只由顺序、循环和(A) 三种结构
组成。A、分支 B、单入口 C、单出口 D、有规则GOTO
18、 在软件研究过程中,CASE是( D) 。
A、指计算机辅助系统工程 B、CAD和CAM技术的发展动力
C、正在实验室用的工具 D、指计算机辅助软件工程
19、 软件(结构)设计阶段文档是 ( D)。
A、系统模型说明书 B、程序流程图
C、系统功能说明书 D、模块结构图和模块说明书
20、 结构化系统设计阶段的目的是 (A)。
A、获得良好的软件结构 B、获得可读性好的程序
C、获得满足用户需求的数据流图 D、获得高效的算法
21、要减少两模块之间的联系,则( B) 。
A、两模块之间的调用次数要尽量少
B、两模块之间直接传递的信息要尽量少
C、两模块应使用尽可能相同的全局变量
D、两模块应尽量共享相同的数据结构
22、事务型结构数据流图的特点是,将某一个加工的输入分解成并行的数据流,
通过( B) 执行后面的加工。
A、变换 B、选择 C、合并 D、联接
23、 如果一个模块要调用另一个模块,在下列几种方式中,采用( B) 方式
的块间联系小。
A、过程调用,传递控制参数 B、过程调用,传递数据参数
C、直接引用,共用控制信息 D、直接引用,共用数据信息
24. 软件的结构化设计方法是以(C) 为依据的模块结构设计方法。
A、系统数据要求 B、数据结构
C、数据流图 D、数据流
25、结构化设计(SD)是软件开发中常用的方法,使用 SD 方法可以得到(
D) 。
A、程序流程图 B、编程语言的源程序 C、分层数据流图和数据字典 D、模块
结构图
26、模块内部联系最大的是(D) 。
A、顺序内聚 B、功能内聚 C、通信内聚 D、时间内聚
27、 将以下3种耦合性由弱到强的顺序排列,正确的是(D) 。
A、控制耦合 数据耦合 公共耦合 B、数据耦合 公共耦合 控制耦合
C、公共耦合 数据耦合 控制耦合 D、数据耦合 控制耦合 公共耦合
28、在软件的设计阶段应提供的文档是(A) 。
A、软件需求规格说明书B、概要设计规格说明书和详细设计规格说明书
C、数据字典及数据流图 D、源程序以及源程序的说明书
28、.某模块的功能是打印录取通知书或不录取通知书,调用模块可通过向此模
块传递布尔标志信息决定本次调用执行哪种通知书的打印。这种模块间的耦合
称为 ( D )。
A、数据耦合 B、混合耦合 C、公共耦合 D、控制耦合
29、程序编写(实现)阶段完成的文档有( B) 。
A、详细设计说明书、模块开发宗卷 B、详细设计说明书、用户手册
C、模块开发宗卷、操作手册 D、用户手册、操作手册
30软件的( A ) 设计又称为总体结构设计,其主要任务是建立软件系统的
总体结构。
A、概要 B、抽象 C、逻辑 D、规划
31、模块本身的内聚是模块独立性的重要度量因素之一,在七类内聚中,(
D )具有最强内聚的一类是 。
A、顺序性内聚 B、过程性内聚 C、逻辑性内聚 D、功能性内聚
32、结构化系统设计阶段的目的是( A ) 。
A、获得良好的软件结构 B、获得可读性好的程序
C、获得满足用户需求的数据流图 D、获得高效的算法
33、一个模块直接引用另一个模块中的数据,则两个模块之间可能的耦合是(
D )
A、 公共耦合 B 、数据耦合 C、 逻辑耦合 D、内容耦合
34、一个模块通过公共数据结构把数据传送给另一个模块,则两个模块之间可
能的耦合是( A )
A、 公共耦合 B 、数据耦合 C、 逻辑耦合 D、内容耦合
35、在详细设计阶段,经常采用的工具有( A )
A.PAD B.SA C.SC D.DFD
36、结构化程序设计主要强调的是( D )
A.程序的规模 B.程序的效率 C.程序设计语言的先进性 D. 程序易读性
37、源程序的版面文档要求应有变量说明、适当注释和( B) 。
A、框图 B、统一书写格式 C、修改记录 D、编程日期
38、( A )意味着一个操作在不同的类中可以有不同的实现方式。
A、多态性 B、多继承 C、类的可复用 D、信息隐蔽
39、 时序图反映对象之间发送消息的时间顺序,它与( D )是同构的。
A、用例图 B、类图 C、活动图 D、协作图
40、( A )意味着一个操作在不同的类中可以有不同的实现方式。
A、多态性 B、多继承 C、类的复用 D、封装41、为了提高模块的独立性,模块内部最好是( C )
A、逻辑内聚 B、时间内聚 C、功能内聚 D、通信内聚
42、SD方法设计的结果是( D )。
A、源代码 B、伪代码 C、模块 D、模块结构图
43、( D )工具在软件详细设计过程中不采用。
A、判定表 B、IPO图 C、PDL D、DFD图
44、在面向对象软件开发方法中,类与类之间主要有以下结构关系 (B)
A、继承和聚集 B、继承和一般
C、聚集和消息传递 D、继承和方法调用
45、结构化程序设计主要强调的是( D )。
A、程序的规模 B、程序的效率 C、程序设计语言的先进性 D、程序易读
性
46、以下哪一项不是面向对象的特征 (D)
A、多态性 B、继承性 C、封装性 D、过程调用
47、软件详细设计的主要任务是确定每个模块的( A )
A、算法和使用的数据结构 B、外部接口 C、功能 D、编程
48、软件结构图的形态特征能反映程序重用率的是( C )
A、深度 B、宽度 C、扇入 D、扇出
49、为了提高模块的独立性,模块内部最好是( C )
A、逻辑内聚 B、时间内聚 C、功能内聚 D、通信内聚
50、软件结构图中,模块框之间若有直线连接,表示它们之间存在( A )
A、调用关系 B、组成关系 C、链接关系 D、顺序执行关系
51、模块内聚度越高,说明模块内各成份彼此结合的程度越( B )。
A、松散 B、紧密 C、相等 D、无法判断
52、软件设计阶段的输出主要是(D)。
A、程序 B、模块 C、伪代码 D、设计规格说明书
53、SD方法设计的结果是( D )。
A、源代码 B、伪代码 C、模块 D、模块结构图
54、在软件开发和维护的过程中,为了定量地评价软件质量,必须对软件特性
进行( B )。
A、测试 B、度量 C、评审 D、维护
55、面向对象程序设计中,基于父类创建的子类具有父类的所有特性(属性和
方法),这一特点称为类的( C )。
A、多态性 B、封装性 C、继承性 D、重用性
56、从工程管理的角度来看。软件设计分两步完成( D )
A、①系统分析②模块设计 B.①详细设计②总体设计。C.①模块设计②详细设计 D.①总体设计②详细设计
58、OOA模型规定了一组对象如何协同才能完成软件系统所指定的工作。这种
协同在模型中是以表明对象通信方式的一组( A )连接来表示的。
A、消息 B、记录 C、数据 D、属性
59、用于描述对象模型的工具是( D )。
A、数据流图 B、结构图 C、状态图 D、对象图
60、内聚是从功能角度来度量模块内的联系。一个子程序中,两个操作只是使
用相同数据,而不存在其它任何联系时的内聚关系为( B )。
A、 逻辑内聚 B、 通信内聚 C、过程内聚 D、顺序内聚
61、( C )不属于概要设计所解决的问题范围。
A、确定模块的层次结构 B、全程数据结构的设计
C、描述系统的功能与性能 D、修改用户手册
62、变换型数据流图通常是( A )形态。
A、线性 B、层次 C、网状 D、无规则
63、JSP方法是一种面向( D )的设计方法。
A、对象 B、数据流 C、控制结构 D、数据结构
64、结构化程序设计主要强调的是( D )。
A、程序的规模 B、程序的效率 C、程序设计语言的先进性 D、程序易读
性
66、软件(结构)设计阶段文档是( D) 。
A、系统模型说明书 B、程序流程图
C、系统功能说明书 D、模块结构图和模块说明书
67、事务型结构数据流图的特点是,将某一个加工的输入分解成并行的数据流,
通过(B) 执行后面的加工。
A、变换 B、选择 C、合并 D、联接
68、如果一个模块要调用另一个模块,在下列几种方式中,采用( B) 方式
的块间联系小。
A、过程调用,传递控制参数 B、过程调用,传递数据参数
C、直接引用,共用控制信息 D、直接引用,共用数据信息
69、软件的结构化设计方法是以( C ) 为依据的模块结构设计方法。
A、系统数据要求 B、数据结构 C、数据流图 D、数据流
70、在结构化方法中,软件功能分解属于下列软件开发中的阶段是( C)
A、详细设计 B、需求分析 C、总体设计 D、编程调试
二、填空题
1、软件设计过程是以需求分析阶段的成果为前提和基础,对程序结构、数据结构和过程细节逐步求精、复审并编制文档的过程
2、系统设计阶段的任务是确定待开发的软件系统“怎么做”。
3、模块独立性设计的标准是:模块化、抽象、信息隐藏和逐步求精
4、从技术上看,不论采用何种软件设计方法都将产生:系统的总体结构设计、
系统的数据设计和系统的过程设计
5、从工程管理的角度看,软件设计可分为概要设计和详细设计两大步骤。
6、信息流分为变换流、事务流两种。相应的结构化设计也分为变换分析设计和
事务分析设计。
7、变换分析是一个顺序结构,由输入、变换和输出三部分组成
8、良好的软件结构通常应该是:顶层扇出较高,中层扇出较低,底层高扇入到
公共的实用模块中(填高或低)
9、当数据流具有明显的事务特征时,即能找到一个事务和一个事务中心,采用
事务分析法更为适宜。
10、面向数据流的设计是以需求分析阶段产生的数据流图为基础,按一定的步
骤映射成软件结构图。
11、软件结构是以 模块 为基础而组成的一种控制层次结构。
12、耦合性和内聚性是衡量模块独立性 的两个定性的标准
三、判断题
1、在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花
费的代价就会降低。( ×)
2、进行总体设计时加强模块间的联系。( × )
3、用例图定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系
统内部对功能的具体实现(√ )
4当软件开发项目的进度有可能拖延时,增加开发人员并不一定能加快进度。
(√ )
5、软件模块之间的耦合性越弱越好。[√]
6、模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低
耦合度的软件产品。[√]
7、在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个
数。( × )
8、只要模块之间的接口关系不变,各模块内部实现细节的修改将不会影响别的
模块。( √)
9、在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实
例,对象是生成类的模板。(×)
10、软件需求分析的任务是建立软件模块结构图。( × )11、模块之间的接口叫做数据文件。( × )
12、尽可能在软件开发过程中保证各阶段文档的正确性。(√)
13、进行概要设计时尽量加强模块间的联系。(×)
14、判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。
(×)
15、信息隐蔽原则有利于提高模块的内聚性。(√)
四、简答题
1、什么是软件概要设计?该阶段的基本任务是什么?
答:软件概要设计:在需求分析的基础上通过抽象和分解将系统分解成模块,确定系统功
能是实现,即把软件需求转换为软件包表示的过程。
基本任务:
(1)设计软件系统结构(简称软件结构)
(2)数据结构及数据库设计
(3)编写概要设计文档(文档主要有:概要设计说明书、数据库设计说明书、用户
手册、修订测试计划)
(4)评审
2、衡量模块独立性的两个标准是什么?它们各表示什么含义?
答:两个定性的度量标准:耦合与内聚性
耦合性:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块
之间联系越紧密,其耦合性就越强,模块的独立性则越差。
内聚性:也称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的
紧密程度的度量。模块内元素联系越紧密,内聚性越高。
3、.什么是模块的影响范围?什么是模块的控制范围?它们之间应该建立什么关系?
答: 模块的影响范围:受该模块内的一个判定影响的所有模块的集合。
模块的控制范围:模块本身及其所有下属模块(直接或间接从属于它的模块)的
集合。 一个模块的影响范围应在其控制范围之内,且判定所在的模块应与受其影
响的模块在层次上尽量靠近。
4、软件概要设计阶段的基本任务是什么?
答:(1)设计软件系统结构:将一个复杂的系统按功能划分成模块。确定每
个模块的功能、模块之间的调用关系、模块之间传递的信息,评价模块结构的
质量。
(2)数据结构及数据库设计,汉数据结构的设计及数据库的设计。
(3)编写概要设计文档。主要有:概要设计说明书;数据库设计说明书;用
户手册;修订测试计划。)
(4)评审。
5、详细设计的基本任务是什么?
答:(1)详细设计是软件设计的第二阶段,其基本任务有:为每个模块进行
详细的算法设计;为模块内的数据结构进行设计;对数据库进行物理设计,即
确定数据库的物理结构;其它设计,根据软件系统类型,还可能要进行代码设
计、输入/输出格式设计、人机对话设计;编写详细设计说明书;评审。6、简述SD方法将数据流图转换为软件结构的一般步骤
答:(1) 确定信息流的类型;
(2) 划定流界;
(3) 将数据流图映射为程序结构(涉及信息流的类型,信息流分为变换流和
事务流);
(4) 提取层次控制结构;
(5) 通过设计复审和使用启发式策略进一步精化所得到的结构。
7、什么是模块的影响范围?什么是模块的控制范围?他们之间应该建立什么
关系?
一个模块的作用范围(或称影响范围)指受该模块内一个判定影响的所有模块
的集合。一个模块的控制范围指模块本身以及其所有下属模块(直接或间接从
属于它的模块)的集合。一个模块的作用范围应在其控制范围之内,且判定所
在的模块应在其影响的模块在层次上尽量靠近。如果再设计过程中,发现模块
作用范围不在其控制范围之内,可以用“上移判点”或“下移受判断影响的模
块,将它下移到判断所在模块的控制范围内”的方法加以改进。
8、什么是“类”? “类”与传统的数据类型有什么关系?有什么区别?
答:把具有相同特征和行为的对象归在一起就形成了类。类成为某些对象的模
板,抽象地描述了属于该类的全部对象的属性和操作。属于某个类的对象叫做
该类的实例。对象的状态则包含在它的实例变量,即实例的属性中。类定义了
各个实例所共有的结构,类的每一个实例都可以使用类中定义的操作。实例的
当前状态是由实例所执行的操作定义的。
类,就它是一个数据值的聚合的意义上来看,与 Pascal中的记录或C中的
结构类似,但又有差别。类扩展了通常的记录语义,可提供各种级别的可访问
性。也就是说,记录的某些成份可能是不可访问的,而这些成份对于本记录型
来说具有可访问性。类不同于记录,因为它们包括了操作的定义,这些操作与
类中声明的数据值有相同的地位。
五、名词解释
1、模块独立性:指软件系统中每个模块完成一个相对独立的特定功能, 而和软
件系统中其它模块之间的关系(接口)很简单的特性。
2、结构化设计:面向数据流的设计是以需求分析阶段产生的数据流图为基础,
按一定的步骤映射成软件结构,因此又称结构化设计(SD)。
3、模块:又称构件,是能够单独命名并独立地完成一定功能的程序语句的集合。
4、内聚度:内聚度是模块独立性的衡量标准之一,它是指模块的功能强度的度
量,即一个模块内部各个元素彼此结合的紧密程度的度量。
5、耦合度:对软件结构中模块间关联程度的一种度量。6、模块的控制:模块本身及其所有的从属模块。
7、模块的作用域:模块内一个判定的作用范围,凡是受这个判定影响的所有模
块都属于这个判定的作用域。
六、综合应用题
1、某厂对部分职工重断分配工作的政策是:年龄在20岁以下者,初中文化程
度脱产学习,高中文化程度当电工。20岁至40岁之间,中学文化程度男性当钳
工,女性当车工,大学文化程度都当技术员。年龄在 40岁以上者,中学文化程
度当材料员,大学文化程度当技术员。请用判定树描述上述问题的加工逻辑。
答:
2、航空公司规定:乘客可以免费携带重量不超过 20公斤的行李。重量超过20
公斤时,对超运部分收费,收费标准为:头等舱国内乘客收 4元/公斤;其它舱
位国内乘客收6元/公斤;外国乘客收费为国内乘客的2倍;残疾乘客的收费为
正常乘客的1/2。请用判定树对行李费用计算进行描述。(9分)
3、某单位住房分配方案如下:所有住户50平方米以内每平方米1000元,超过
50平方米后,在本人住房标准面积以内每平方米1500元,其中住房标准为:教
授 105 平方米,副教授 90 平方米,讲师 75 平方米,标准面积以外每平方米
4000元,请用判定树表示各条件组合与费用之间的关系。S<=50:M=1000*S
S<=105 : M=1000*50+ ( S-50 )
教授 *1500
S>105 : M=1000*50+ ( 105-50 ) *1500+
住房分配方案
(S-105)*4000
S<=90:M=1000*50+(S-50)*1500
s>50 副教授
S>90:M=1000*50+(90-50)*1500+(S-90)*4000
S<=75:M=1000*50+(S-50)*1500
讲师
S>75:M=1000*50+(75-50)*1500+(S-75)*4000
4、根据模块的作用范围与控制范围的原则,请判定a、b两图中哪一个是合理
的结构图(阴影表示作作
范围)。
答:显然,图(a)不满
足作用范围与控制范围的
原则,因为模块 F 的作用
范围不在控制范围之内。
5、根据模块的作用范围与控制范围的原则,请判定a、b两图中哪一个是合理
的结构图(阴影表示作
作范围)。
(a) (b)
答:显然,图(a)不
满足作用范围与控制范围的原则,因为模块F的作用范围不在控制范围之内。
6、将下面的DFD图转换为程序结构图。
A B
E F G H
C D解:
主控模块
输入流控制模块 E G
B D F H
A C
7、将下面的DFD图转换为程序结构图
d f
a b c
e g
解:
主控模块
c
b 输出控制
a
d e
f g
第六章编码
一、选择题1. 结构设计是一种应用最广泛的系统设计方法,是以( B) 为基础、自顶向
下、逐步求精和模块化的过程。
A、数据流 B、数据流图 C、数据库 D、数据结构
2. 概要设计的结果是提供一份 。( A )
A、模块说明书 B、框图 C、程序 D、数据结构
3. 变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作
处理,然后将结果送出是属于 ( A )。
A、变换型 B、事务型
4、 PAD(Problem Analysis Diagram)图是一种( B ) 工具。
A、系统描述 B、详细设计 C、测试 D、编程辅助
5. 在软件开发中,有利于发挥集体智慧的一种做法是 ( A)。
A、设计评审 B、模块化 C、主程序员制 D、进度控制
6. 在结构化程序设计思想提出以前,在程序设计中曾强调程序的 ① 。现在,
与程序的 ① 相比,人们更重视程序的 ② 。( F、E)
①②A、安全性 B、专用性 C、一致性 D、合理性E、可理解性 F、效率
7、 注释是提高程序可读性的有效手段,好的程序注释占到程序总量的( D )
。
A、1/6 B、1/5 C、1/4 D、1/3
9. 在开发软件时,( A)可用来提高程序员的工作效率。
A、程序开发环境 B、操作系统的作业管理功能
C、编译程序的优化功能 D、并行运算的大型计算机
10、软件设计阶段可划分为 ( ① )设计阶段和( ② )设计阶段,用结构
化设计方法的最终目的是使( ③ ),用于表示模块间调用关系的图叫
( ④) (F,D,C,C )
①②A、逻辑 B、程序 C、特殊 D、详细E、物理 F、概要
③A、块间联系大,块内联系大 B、块间联系大,块内联系小
C、块间联系小,块内联系大 D、块间联系小,块内联系小
④A、PAD B、HCP C、SC D、SADT E、HIPO F、NS
11、概要设计的任务是决定系统中各个模块的( A,),即其(. D)
A、外部特性 B、内部特性 C、算法和使用数据
D、功能和输入输出数据
12、下列叙述中( B )不符合程序设计风格指导原则。
A、嵌套的重数应加以限制 B、尽量多使用临时变量
C、使用有意义的变量名 D、程序的格式应有助于读者理解程序
三、判断题1、开发软件就是编写程序。( × )
2、编程序时应尽可能利用硬件特点以提高程序效率. ( × )
3、尽可能使用高级语言编写程序( √ )
4、编码时尽量多用全局变量. ( × )
5、用CASE环境或程序自动生成工具来自动生成一部分程序. ( √ )
6、GOTO语句概念简单,使用方便,在某些情况下,保留 GOTO语句反能使写出
的程序更加简洁。( √)
7、程序效率的提高主要应通过选择高效的算法来实现。( √)
8、 程序设计比较方便,但比较难以维护。( × )
9、 便于由多个人分工编制大型程序。( √)
10、允许使用二义性语句的语言在可理解性和可修改性上都要差一些。( √)
第七章 测试
一、选择题
1、为了把握软件开发各个环节的正确性和协调性,人们需要进行( A )和
( B )工作。( A )的目的是想证实在一给定的外部环境中软件的逻辑
正确性。它包括( C )和( D ),( B )则试图证明在软件生存期各
个阶段,以及阶段间的逻辑( E )、( F )和正确性。
供选择的答案:
A, B. ① 操作 ② 确认 ③ 验证 ④ 测试 ⑤ 调试
C, D. ① 用户的确认 ② 需求规格说明的确认
③ 程序的确认 ④ 测试的确认
E, F. ① 可靠性 ② 独立性 ③ 协调性 ④ 完备性
⑤ 扩充性
答案:A. ② B. ③ C. ② D. ③ E. ③ F. ④
2、软件测试的目的是( B )
A、 评价软件的质量 B、 发现软件的错误
C、 找出软件中的所有错误 D、证明软件是正确的
3、使用白盒测试方法时,确定测试数据应根据( A )和指定的覆盖标准。
A 、程序的内部逻辑 B、 程序的复杂程度
C、 使用说明书 D、 程序的功能
4、软件的集成测试工作最好由( D )承担,以提高集成测试的效果。
供选择的答案:
A、 该软件的设计人员 B、 该软件开发组的负责人
C、 该软件的编程人员 D、不属于该软件开发组的软件设计人员
5、提高测试的有效性非常重要,成功的测试是指( D )A.证明了被测试程序正确无误 B. 说明了被测试程序符合相应的要求
C.未发现被测程序的错误 D.发现了至今为止尚未发现的错误
6、若有一个计算类型的程序,它的输入量只有一个 X,其范围是[-1.0,
1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这
组测试用例的方法是( C )
A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法
7、为了提高测试的效率,应该 ( D )
A、随机地选取测试数据
B、取一切可能的输入数据作为测试数据
C、在完成编码后制定软件的测试计划
D、选择发现错误可能性大的数据作为测试数据
8、 以下哪种测试方法不属于白盒测试技术( B )
A、基本路径测试 B、边界值分析测试
C、循环覆盖测试 D、逻辑覆盖测试
9、在下述哪一种测试中,测试人员必须接触到源程序( C )
Ⅰ功能测试 Ⅱ结构测试
A、均不需 B、只有Ⅰ C、只有Ⅱ D、Ⅰ和Ⅱ
10、月收入<=1400元者免税,现用输入数1399、1400元和1401元测试程序,
则采用的是( D )方法。
A、条件覆盖 B、等价类 C、错误推测 D、边缘值分析
11、软件测试计划开始于需求分析阶段,完成于( D)阶段。
A、需求分析 B、软件设计 C、软件实现 D、软件测试
12、为了提高测试的效率,应该( D )。
A、随机地选取测试数据
B、取一切可能的输入数据作为测试数据库
C、在完成编码后制定软件的测试计划
D、选择发现错误可能性大的数据作为测试数据
13、在验收测试时,测试所依据的文档是( B) 。
A、可行性报告 B、系统(需求)说明书
C、模块说明书 D、用户手册
14、软件测试方法中的静态测试方法之一为( A )
A.计算机辅助静态分析 B.黑盒法
C.路径覆盖 D.边界值分析
15、单元测试的测试用例主要根据( D )的结果来设计。
A、需求分析 B、源程序 C、概要设计 D、详细设计
16、若有一个计算类型的程序,它的输入量只有一个 X,其范围是-
1.0≤X≤1.0。现从输入角度考虑设计了一组测试该程序的测试用例为-1.0001,-1.0,1.0,1.0001。设计这组测试用例的方法是 ( C)。
A、条件复盖法 B、等价分类法 C、边介值分析法 D、错误推测法
17、在集成(联合)测试中,测试的主要目的是发现( C ) 阶段的错误。
A、软件计划 B、需求分析 C、设计 D、编码
18、 与设计测试数据无关的文档是 。( D )
A、需求说明书 B、设计说明书 C、源程序 D、项目开发设计
19. 排错一般是在测试发现错误后进行,其中找到错误位置占排错总工作量的
( A ) 。
A、95% B、5% C、50% D、20%
20. 软件测试中设计测试实例主要由输入数据和( C) 两部分组成。
A、测试规则 B、测试计划 C、预期输出结果 D、以往测试记录分析
21. 结构化程序设计主要强调程序的 ( C)。
A、效率 B、速度 C、可读性 D、大小
22. 成功的测试是指 ( B)。
A、运行测试实例后未发现错误项 B、发现程序的错误
C、证明程序正确 D、改正程序的错误
23、软件测试中设计测试用例主要由输入数据和( C )两部分组成。
A.测试规则 B.测试计划
C.预期输出结果 D.以往测试记录分析
24、单元测试是发现编码错误,集成测试是发现模块的接口错误,确认测试是
为了发现功能错误,那么系统测试是为了发现( C )的错误。
A、接口错误 B、编码错误 C、性能、质量不合要求 D、功能错误
25、确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于(
C)
A、集成测试 B、恢复测试 C、验收测试 D、单元测试
26、在软件工程中,软件测试的目的是( B) 。
A、试验性运行软件 B、发现软件错误
C、证明软件是正确的 D、找出软件中全部错误
27、软件工程中,只根据程序的功能说明而不关心程序内部逻辑的测试方法,
称为( C)测试。
A、白盒法 B、灰盒法 C、黑盒法 D、综合法
28、若有一个计算类型的程序,它的输入量只有一个 X,其范围是-
1.0≤X≤1.0。现从输入角度考虑设计了一组测试该程序的测试用例为-
1.0001,-1.0,1.0,1.0001。设计这组测试用例的方法是(C) 。
A、条件复盖法 B、等价分类法 C、边缘值分析法 D、错误推测法
29、在集成(联合)测试中,测试的主要目的是发现( D ) 阶段的错误。A、软件计划 B、需求分析 C、设计 D、编码
30. 在验收测试时,测试所依据的文档是( B) 。
A、可行性报告 B、系统(需求)说明书 C、模块说明书 D、用户手册
31、在测试层次结构的大型软件时,有一种方法是从上层模块开始,自顶向下
进行测试,此时有必要用( B) 替代尚未测试过的下层模块。
A、主模块 B、桩模块 C、驱动模块 D、输出模块
32、联合(集成)测试可以由 (C)两种方式进行。
A、模块测试、系统测试 B、条件测试、非条件测试
C、渐增式测试、非渐增式测试 D、分析测试、验收测试
33、软件测试时,正确的测试次序是 ( A )。
A、单元测试,组装测试,确认测试 B、单元测试,确认测试,组装测试
C、组装测试,单元测试,确认测试 D、确认测试,单元测试,组装测试
34、.采用黑盒法测试程序是根据(B) 。
A、程序的逻辑 B、程序的功能说明 C、程序中的语句 D、程序中的数据
35、采用白盒法测试模块(程序),应根据 ( A)。
A、内部逻辑结构 B、算法复杂度 C、外部功能特性 D、支撑环境
二、填空题
1、测试的输入流有软件配置和测试配置。软件配置由需求规格说明、设计说明、
源代码等组成;测试配置包括测试计划、测试用例和预期的结果、测试工具等
组成。
2、软件测试的目的是发现错误,通常把动态测试方法分为黑金测试和白盒测试
两大类。
3、组装测试的主要任务是测试系统各模块间的连接是否正确,系统或子系统的
正确处理能力、容错能力、输入/输出处理是否达到要求。验收测试(确认测
试)的主要任务按照验收测试计划和准则对软件系统进行测试,看其是否达到
需求规格说明中定义的全部功能和性能等方面的需求。
4、用来模拟被测模块的上级调用模块称为驱动模块,用来代替被测模块所调用
的子模块的模块称为桩模块。
5、由底向上渐增式是在测试层次结构的大型软件时常用的一种方法。用由底向
上渐增式方法对软件进行测试时,需要为每个模块准备一个驱动模块,它的作
用是调用被测的模块。
6、现有一个计算类型的程序,它的输入只有一个 Y,其范围是-50≤Y≤50。
现采用黑盒法进行测试,设计了一组测试用例:-100,100,0。设计这组测试
用例的方法是 等价分类 。
7、采用增量测试法进行集成测试时,有自顶向下集成和自底向上集成两种测度方法,其中,前者不需要编写驱动模块。
三、判断题
1、用黑盒法测试时,测试用例是根据程序内部逻辑设计的。( ×)
2、 测试是为了验证该软件已正确地实现了用户的要求。( ×)
3、尽量采用复合的条件测试,以避免嵌套的分支结构。( √)
4、GOTO语句概念简单,使用方便,在某些情况下,保留 GOTO语句反能使写出
的程序更加简洁。( √ )
5、发现错误多的程序模块,残留在模块中的错误也多。( √ )
6、 黑盒测试方法中最有效的是因果图法。( ×)
7、 在做程序的单元测试时,桩(存根)模块比驱动模块容易编写。( ×)
8、 程序效率的提高主要应通过选择高效的算法来实现。( √ )
9、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。
(√)
10、边界值分析方法是取输入/输出等价类的边界值作为测试用例。(√)
11、好的测试用例应能证明软件是正确的。 (× )
12、白盒测试仅与程序的内部结构有关,不考虑程序的功能要求。 ( √)
13、集成测试主要由用户来完成。[×]
14、白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能
即可。[×]
15、如果通过软件测试没有发现错误,则说明软件是正确的。 [×]
四、简答题
1、采用黑盒技术时,有哪几种方法设计测试用例?这些方法各有什么特点?
答:(1)、等价类划分:等价类划分是将输入数据域按有效的或无效的划分成
若干个等价类,测试每个等价类的代表值就等于对该类其它值的测试。
(2)、边界值分析:该方法是将测试边界情况作为重点目标,选取正好等于,
刚刚大于或刚刚小于边界值的情况,根据这些情况选择测试用例。
(3)、错误推测法:错误推测法没有确定的步骤,凭经验进行。
2、软件测试主要包括哪些步骤?每个步骤的测试对象是什么?
答:(1)单元测试,测试对象对单元模块
(2)集成测试,测试对象为组装后的程序模块
(3)确认测试,测试对象为可运行的目标软件系统
(4)系统测试,测试对象为目标软件系统及其所运行的环境
3、在任何情况下单元测试都是可能的吗?都是需要的吗?
答:单元测试又称模块测试,是针对软件设计的最小单位─程序模块,进行正
确性检验的测试工作。其目的在于发现各模块内部可能存在的各种差错。单元
测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。单元测试是在编码阶段完成的,每编写出一个程序模块,就开始做
这个模块的单元测试,所以只要采用模块化方法开发软件,单元测试都是必需
的。它可由编写程序的人来完成。因为它需要根据程序的内部结构设计测试用
例,对于那些不了解程序内部细节的人,这种测试无法进行。
五、名词解释
1、集成测试:是指在单元测试的基础上,将所有模块按照设计要求组装成一个
完整的系统进行的测试,故也称组装测试或联合测试。
2、黑盒测试法:该方法把被测试对象看成一个黑盒子,测试人员完全不考虑程
序的内部结构和处理过程,只在软件接口处进行测试,依照需求规格说明书,
检查程序是否满足功能要求。
3、白盒法:测试人员须了解程序的内部结构和处理过程,以检查处理过程的细
节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部控制结构和数据
结构是否有错、实际的运行状态与预期的状态是否一致。
4、测试用例:为了进行有效的测试而设计的输入数据和预期的输出结果。
5、动态测试:指事先设计好一组测试用例,然后通过运行程序来发现错误。
六、综合应用题
1、对上题(判断三角形的类型)采用等价类法进行测试,为其划分等价类,并
为每一等价类设计测试用例。
答:(1)划分等价类如下表
输入条件 合理等价类 不合理等价类
是否为三角形 (1)任意两边之和大于第 (2)任意两边之和小于第三边
三边
(3)任意两边之和等于第三边
输入数据 (4)三个正整数 (5)多于三个正整数
(6)少于三个正整数
(7)含有负数
(8)含有非数字字符
判断三角形 (9)等边三角形
(10)等腰三角形
(11)一般三角形
(2)设计测试用例
测试数据 测试范围(等价类) 期望结果
(1)3,4,5 (1)(4)(11) 有效数据
(2)3,3,3 (1)(4)(9) 有效数据
(3)3,3,5 (1)(4)(10) 有效数据
(4)2,4,7 (2) 无效数据(5)2,4,6 (3) 无效数据
(6)2,4,7,8 (5) 无效数据
(7)2,4 (6) 无效数据
(8)2,-3,-4 (7) 无效数据
(9)A,C,6 (8) 无效数据
2、变量的命名规则一般规定如下:变量名的长度不多于40个字符,第一个字
符必须为英文字母,其他字母可以是英文、数字以及下划线的任意组合。请划
分其等价类法并为每一等价类设计测试用例
答:(1)划分等价类如下表
输入条件 合理等价类 不合理等价类
长度 (1)小于等于40个字符 (5)大于40个字符
第一个字 (3)英文字母 (6)非英文字母
母
其他字母 (4)英文字母、数字或 (7)空格(8)标点符号(9)运算符
下划线的任意组合 号
(10)其他可显示符号
(2)设计测试用例
测试数据 测试范围(等价 期望结果
类)
(1)sname (1)(3)(4) 有效
snam45124877dfgdfgdfgfd20fg124412021_sddfds_1 (5) 无效
(4)1sname (6) 无效
(5)a name (7) 无效
(6)a!name (8) 无效
(7)a+name (9) 无效
(8)a@name (10) 无效
3、根据下列条件,使用等价划分法设计测试用例。
某16位微机,其十六进制常数定义为:以Ox或OX开头的数是十六进制整
数,其值的范围是-7fff~7fff(表示十六进制的大小写字母不加区别)。
解:(1)划分等价类并编号:
表1、等价类划分的结果
输入等价类 有效等价类 无效等价类
以ox或OX开头 ①以ox开头 ③不以ox或OX开头
②以OX开头
值的范围 ④值的范围在-Oxffff~ ⑤小于- Ox 7fff
Ox ffff之间
⑥大于Ox 7fff
字长 ⑦双字节16位 ⑧0位
⑨大于双字节16位(2)设计测试用例,以便覆盖所有的有效等价类:
在表1中列出了3个有效等价类,编号分别为①、②、④、⑦,设计的测
试用例如下:
测试数据 期望结果 覆盖的有效等价类
ox6A8D 输入有效 ①、④、⑦
OX4C7E 输入有效 ②、④、⑦
(3)为每一个无效等价类设计一个测试用例,设计结果如下:
测试数据 期望结果 覆盖的无效等价类
R8VW48 无效输入 ③不以Ox或OX开头
- Ox9C80 无效输入 ⑤小于- Ox7fff
Ox 8000 无效输入 ⑥大于Ox7fff
Ox 无效输入 ⑧0位
Oxffff1 无效输入 ⑨大于双字节16位
4、单元测试有哪些内容?测试中采用什么方法?
答:单元测试主要针对模块的以下五个基本特征进行测试:
(1)模块接口
(2)局部数据结构
(3)重要的执行路径
(4)错误处理
(5)边界条件
5、测试过程需要三类输入:( A )、( B )和( C )。请选择正确
的答案填入下图中以完成测试信息处理的全过程。
E
D
A
B
F
C
供选择的答案:
A C. ① 接口选择 ② 软件配置 ③ 硬件配置
④ 测试配置 ⑤ 测试环境 ⑥ 测试工具
D F. ① 排错 ② 可靠性分析 ③ 结果分析 ④ 数据分类
答案:A. ② B. ④ C. ⑥ D. ③ E. ① F. ②6、已知被测试模块程序流程图如下所示,采用“判定(分支)覆盖”法进行白
盒测试,请在表格中填入满足要求的测试数据及其覆盖的分支。
开始
a
T1
(x>2) AND (y=1) b 语句段1
F1
c
T2 d
(x=2) OR (z>1) 语句段2
F2
e
结束
输入数据 覆盖路径 覆盖分支
x=3,y=1,z=1 abce T1,F2
x=2,y=1,z=3 acde F1,T2
第八章 软件维护
一、选择题
1、软件维护的副作用主要有以下哪几种( C )
A、编码副作用、数据副作用、测试副作用
B、编码副作用、数据副作用、调试副作用
C、编码副作用、数据副作用、文档副作用
D、编码副作用、文档副作用、测试副作用
2、软件结构图的形态特征能反映程序重用率的是( C )
A、深度 B、宽度 C、扇入 D、扇出
3、软件维护阶段是软件生存周期中持续时间最长的阶段,它从( C )时算
起。
A、产生可执行程序 B组装测试通过
C、软件交付使用 D、用户提出第一份维护报告
4、软件的维护指的是( A) 。
A、对软件的改进、适应和完善 B、维护正常运行C、配置新软件 D、软件开发期的一个阶段
5、(B) 阶段是软件生命期中花费最多,持续时间最长的阶段。
A、需求分析 B、维护 C、设计 D、测试
6、在软件生存期的维护阶段,继续诊断和修正错误的过程称为 。
A、完善性维护 B、适应性维护 C、预防性维护 D纠错性维护
7、由于更新了操作系统而对软件进行的修改工作属于( B) 。
A、纠错性维护 B、适应性维护 C、完善性维护 D、预防性维护
8、在软件维护阶段,若用户要求在程序中增加一个原来没有的联机帮助功能是
属于( C) 。
A、改正维护 B、适应性维护
C、完善性维护 D、改正并适应性维护
9、软件生存周期中时间最长的是( D )阶段。
A、总体设计 B、需求分析 C、软件测试 D、软件维护
101、下列属于维护阶段的文档是( C )
A、软件规格说明 B、用户操作手册
C、
二、填空题
1、软件维护的类型有改善性维护、纠错性维护、适应性维护、预防性维护四种。
2、软件维护的副作用可分三类:代码副作用、数据副作用和文档副作用
三、判断题
1、数据库设计说明书是一个软件配置项(对)
2、改善性维护主要是针对用户提出的新的软件需求或修改原有的软件需求而
进行的维护。(对)
3、软件的配置对维护工作没有影响。(错)
4、软件的可维护性差是软件维护工作量和费用激增的直接原因。(对)
5、由于更新了操作系统而对软件进行的修改工作属于纠错性维护。(错)