1、 第一章一、名称解释1.软件 2.文档 3.软件工程4.软件生存周期 5.软件工程过程 6.软件生存周期模型7.软件开发方法 8.软件工具二、填空题1.构成一个完整计算机系统的两部分是硬件与_。2.程序设计时代的生产方式是_。3.软件工程涉及到几个学科,它是一门_学科。4.软件开发划分的各阶段任务尽可能独立,同一阶段任务性质尽可能_。5.将软件生存周期各个活动规定为依线性顺序联接的若干阶段的模型是_模型。6.喷泉模型是一种以用户需求为动力,以_为驱动的模型。7.结构化方法是一种面向数据流的开发方法。由结构化分析、_、结构化程序设计构成。8.软件工程研究的主要内容是软件开发管理和_两个方面。9.
2、软件工具是支持软件开发人员的开发和维护活动而使用的_。10.一个软件项目的开发中,要采用一种生存周期模型,要按照某种_,使用相应的工具来进行。三、选择题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.软件开发费用只占整个软件系统费用的
3、( )。A.1/2 B.1/3 C.1/4 D.2/37.软件开发中大约要付出( )的工作量进行测试和排错。A.20 B.30 C.40 D.508.准确地解决“软件系统必须做什么”是( )阶段的任务。A.可行性研究 B.需求分析 C.详细设计 D.编码9.软件生存周期中最长的是( )阶段。A.需求分析 B.概要设计 C.测试 D.维护 四、简答题1.软件产品的特性是什么?2.软件生产有几个阶段?各有何特征?3.什么是软件危机?产生的原因是什么?4.软件工程的性质、目标和内容是什么?5.软件工程面临的问题是什么?6.软件工程过程有哪些过程?7.软件生存周期有哪几个阶段?8.软件生存周期模型有哪
4、些主要模型?9.有哪些主要软件开发方法?参考答案二填空题 1.软件 2.个体手工劳动 3.综合性交叉 4.相同 5.瀑布 6.对象 7.结构化设计 8.软件开发技术 9.软件 10.开发方法三、选择题 1.B 2.D 3.A 4.C5.A 6.B 7.C 8.B 9.D第二章一、名称解释1.可行性研究 2.技术可行性 3.经济可行性 4.社会可行性 5.货币时间价值 6.投资回收期 7.纯收入 8.系统流程图二、填空题1.可行性研究的目的是用最小的代价,在尽可能短的时间内,确定_。2.可行性研究在进行简要需求分析和设计时,要在高层次上以_进行。3.系统流程图用图形符号表示系统中各个元素,表达了
5、系统中各个元素之间的_。4.软件工程有两种效益,它们是无形效益和_。5.若年利率为 i,不计复利,n 年后能收入 F 元的现在价值 P=_。6.纯收入是软件生存周期内两项值之差,这两项是_。7.项目开发计划是一种_文档。8.可行性研究具体步骤的最后一步是_。三、选择题1.研究硬软件资源的有效性是进行( )研究的一方面。A.技术可行性 B.经济可行性 C.社会可行性 D.操作可行性2.可行性研究要进行的需求分析和设计应是( )。A.详细的 B.全面的 C.简化、压缩的 D.彻底的3.可行性分析中,系统流程图用于描述( )。A.当前运行系统 B.当前逻辑模型 C.目标系统 D.新系统4.系统流程图
6、是一种工具,它用于描述( )。A.逻辑系统 B.程序系统 C.体系结构 D.物理系统5.年利率为 i,现存入 P 元不计复利,n 年后本金利息为( )。A.P(1+i)n B.P(1in) C.P(1+in) D.P(1+i)n四、简答题1.可行性研究的任务是什么?2.可行性研究有哪些步骤?3.可行性研究的目的。4.可行性研究报告的主要内容。5.怎样计算投资回收期和纯收入?6.项目开发计划有哪些主要内容。参考答案二、填空题1.项目值得开发否 2.较抽象形式 3.信息流动 4.有形效益 5.F/(1+ni) 6.经济效益与投资 7.管理性 8.编写可行性报告。三、选择题1.A 2.C 3.A 4
7、.D 5.C第三章一、名称解释1需求分析 2当前系统 3目标系统 4SA 5DFD二、填空题1需求分析阶段产生的最重要的文档是_。2为解决一个复杂问题,往往采取的策略是_。3SA 方法中使用半形式化的描述方式表达需求,采用的主要描述工具是_。4数据流图中有四种符号元素,它们是_。5数据字典中有四类条目,分别是_。6在 IDEF0 图中,表示系统功能的图形称为_图形。7在画分层的 DFD 时,父图与子图的输入输出数据流要_。8用于描述基本加工的小说明的三种描述工具是_。9IDEF0 是建立系统_模型的有效方法。10在 IDEF0 方法中,被标志为 A0 的图称为系统的_图。三、选择题1分层 DF
8、D 是一种比较严格又易于理解的描述方式,它的顶层图描述了系统的( )。A细节 B输入与输出 C软件的作者 D绘制的时间2需求规格说明书的内容还应包括对( )的描述。A主要功能 B算法的详细过程 C用户界面及运行环境 D软件的性能3需求规格说明书的作用不应包括( )。A软件设计的依据 B用户与开发人员对软件要做什么的共同理解C软件验收的依据 D软件可行性研究的依据4SA 方法用 DFD 描述( )A系统的控制流程 B系统的数据结构C系统的基本加工 D系统的功能5一个局部数据存储只有当它作为( )时,就把它画出来。A某些加工的数据接口 B某个加工的特定输入C某个加工的特定输出 D某些加工的数据接口
9、或某个加工的特定输入/输出6对于分层的 DFD,父图与子图的平衡指子图的输入、输出数据流同父图相应加工的输入、输出数据流( )。A必须一致 B数目必须相等 C名字必须相同 D数目必须不等7需求分析阶段不适用于描述加工逻辑的工具是( )。A结构化语言 B判定表 C判定树 D流程图8SA 方法的分析步骤是首先调查了解当前系统的工作流程,然后( )。A获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型B获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型C获得当前系统的物理模型,建立当前系统的物理模型,抽象出目标系统的逻辑模型D获得当前系统的物理模型,建立当
10、前系统的物理模型,建立目标系统的物理模型9SA 方法的基本思想是( )A自底向上逐步抽象 B自底向上逐步分解C自顶向下逐步分解 D自顶向下逐步抽象 10初步用户手册在( )阶段编写。A.可行性研究 B需求分析 C软件概要设计 D软件详细设计四、简答题 1什么是需求分析?该阶段的基本任务是什么? 2简述结构化分析方法的步骤。 3数据流图与数据字典的作用是什么?画数据流图应注意什么? 4简述 SA 方法的优缺点。 5简述建立 IDEF0 图的步骤。 五、应用题 1某电器集团公司下属一个成套厂(产品组装)和若干零件厂等单位,成套厂下设技术科、生产科、供 应科等基层单位。现要建立一个计算机辅助企业管理
11、系统,其中: 生产科的任务是: (1)根据销售公司转来的内部合同(产品型号、规格、数量、交货日期)制定车间月生产计划;(2)根据车间实际生产日报表、周报表调整月生产计划; (3)以月生产计划为依据,制定产品设计(结构、工艺)及产品组装月计划;(4)将产品的组装计划传达到技术科,将组装月计划分解为周计划,下达给车间。技术科的任务是: (1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划给供应科,并产生产品自制件物料清单; (2)根据组装计划进行产品工艺设计(冲压、喷漆、焊接等),根据产品自制件物料清单产生工艺流程图给零件厂。 供应科的任务是: (1)根据技术科
12、的外购需求计划和仓库的缺货通知单及月盘存表制定采购计划给采购员;(2)对采购来的材料进行库存管理(登录、查询、修改、删除)。 请根据以上文字叙述画出企业管理系统的分层 DFD 图。 2 假设某航空公司规定,乘客可以免费托运行李的重量不超过 30 公斤。当行李的重量超出 30 公斤时 ,对一般舱的国内乘客超重部分每公斤收费 4 元,对头等舱的国内乘客超重部分每公斤收费 6 元。对国外乘客 超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。试画出相应判定表。 参考答案 二、填空题 1需求规格说明书 2自顶向下逐步分解 3数据流图和数据字典 4数据流、加工、数据存储、
13、数据源点和终点 5数据流、数据项、数据存储、基本加工 6活动 7平衡 8结构化语言、判定表、判定树9功能 10内外关系图 三、选择题 1B 2B 3D 4D 5D 6A 7D 8A 9C 10B 五、应用题 12.设乘客托运行李的重量为 W,则判定表如表 3-1 所示。表 3-1 题 2 的判定表W30国内乘客 国外乘客一般舱 头等舱 一般舱 头等舱WO THEN A1 ELSE A2 ENDIF;IF B0 THEN B1;IF C0 THEN C1 ELSE C2 ENDIFELSE B2ENDIF;B3ENDWHILE;参考答案二、填空题1.三种基本控制结构 2.程序流程图 3.易于理解
14、、易于验证 4.表格 5.数据结构 6.模块接口7.清晰易读 8.操作与条件 9.数据结构 10.代码三、选择题 1.A 2.D 3.C 4.A 5.C6.B 7.B 8.C 9.B 10.D五、应用题PAD 图如下图所示。第六章一、名词解释1.编码 2.程序设计风格二、填空题1.程序设计语言的特性主要有_三方面。2.程序设计语言的心理特性在语言中的表现形式为_。3.程序设计语言的工程特性主要表现为_。4.项目的应用领域一般有_几种类型。5.与编码风格有关的因素有数据说明、语句构造、输入输出、效率等,其中还有一个重要的因素是_。三、选择题1.项目的应用领域是选择编程语言关键的因素之一,不适合作
15、为项目应用领域的类型是( )。A.系统软件 B.数据处理与数据库应用C.实时处理 D.UNIX 操作系统2.为了提高易读性,源程序内部应加功能性注释,用于说明( )。A.模块总的功能 B.程序段或语句的功能 C.模块参数的用途 D.数据的用途3.程序设计语言的心理特性在语言中表现不应包括( )。A.歧义性 B.简洁性 C.保密性 D.传统性4.程序设计语言的工程特性其中之一表现在( )。A.软件的可重用性 B.数据结构的描述性C.抽象类型的描述性 D.数据库的易操作性5.程序设计语言的技术特性不应包括( )。A.数据结构的描述性 B.抽象类型的描述性C.数据库的易操作性 D.软件的可移植性四、
16、简答题1.在项目开发时,选择程序设计语言通常考虑哪些因素?2.什么是程序设计风格?应在哪些方面注意培养良好的设计风格?参考答案二、填空题1.心理特性、工程特性、技术特性 2.歧义性、简洁性、局部性、顺序性和传统性3.可移植性、开发工具的可利用性、软件的可重用性、可维护性4.科学工程计算、数据处理与数据库应用、实时处理、系统软件、人工智能5.源程序文档化三、选择题1.D. 2.B. 3.C. 4.A. 5.D.第七章一、名词解释1. 软件测试 2.黑盒法 3.白盒法 4.渐增式测试 5.非渐增式测试 6.调试二、填空题1.软件测试是为了_而执行程序的过程。2.运行被测程序的方法称为_测试。3.动
17、态测试中,主要测试软件功能的方法称为_法。4.选择测试用例,使得被测程序中每个判定的每个分支至少执行一次,这种逻辑覆盖标准称为_。5.要覆盖含有循环结构的所有路径是不可能的,一般通过限制_来测试。6.用等价类划分法设计测试用例时,如果被测程序的某个输入条件规定了取值范围,则可确定一个合理的等价类和_。7.凭经验或直觉推测程序中可能存在的错误而设计测试用例的方法是_。8.集成测试中的具体方法是_。9.确认测试阶段的两项工作是_。10.在单元测试中,测试一个模块时,需要设计_。三、选择题1.测试的关键问题是( )。A.如何组织软件评审 B.如何选择测试用例C.如何验证程序的正确性 D.如何采用综合
18、策略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.错误
19、处理7.软件测试过程中的集成测试主要是为了发现( )阶段的错误。A.需求分析 B.概要分析 C.详细设计 D.编码8.不属于白盒测试的技术是( )。A.路径覆盖 B.判定覆盖 C.循环覆盖 D.边界值分析9.集成测试时,能较早发现高层模块接口错误的测试方法为( )。A.自顶向下渐增式测试 B.自底向上渐增式测试C.非渐增式测试 D.系统测试10.确认测试以( )文档作为测试的基础。A.需求规格说明书 B.设计说明书 C.源程序 D.开发计划四、简答题1.软件测试的目的是什么?软件调试的目的是什么?2.白盒法有哪些逻辑覆盖标准?这些标准有什么关系?3.属于黑盒法的测试用例设计方法有哪几种?试对这
20、些方法作比较。4.软件测试要经过哪几个阶段?各个阶段与什么文档有关?5.渐增式测试与非渐增式测试有哪些区别?用渐增式测试时具体采用什么方法和策略组装模块?五、应用题下图描述了某个子程序的处理流程,根据判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖等五种覆盖标准,从供选择的答案中分别找出满足相应标准的最小的测试数据组。(1) a=5 b=1 (2) a=5 b=-1(3) a=5 b=1 (4) a=5 b=1 a=-5 b=-1 a=0 b=-1(5) a=5 b=-1 (6) a=5 b=1 a=-5 b=1 a=0 b=0 a=-5 b=-1 a=-5 b=-1 (7) a=5
21、 b=1 (8) a=5 b=1 a=0 b=1 a=0 b=-1 a=0 b=-1 a=-5 b=1 a=-5 b=1 a=-5 b=-1 流程图如下: 参考答案二、填空题1.发现错误 2.动态测试 3.黑盒法 4.判定覆盖5.循环次数 6.两个不合理等价类 7.错误推测法 8.渐增式和非渐增式测试方法9.进行确认测试和软件配置审查 10.驱动模块和桩模块三、选择题1.B. 2.C. 3.B. 4.D. 5.D.6.A. 7.B. 8.D. 9.A. 10.A.五、应用题达到判定覆盖为(4);达到条件覆盖为(3);达到判定/条件覆盖为(6);达到条件组合覆盖为(8);达到路径覆盖为(7)。第
22、八章一、名词解释1校正性维护 2适应性维护 3完善性维护4预防性维护 5软件可维护性 6软件维护的副作用二、填空题1维护阶段是软件生存周期中时间最长的阶段,也是花费精力和费用_的阶段。2在软件交付使用后,由于在软件开发过程中产生的错误没有完全彻底在开发阶段发现,必然有一部分隐含错误带到_阶段。3采用手工方法开发软件只有程序而无文档,维护困难,这是一种_维护。4软件维护费用增加的主要原因是维护的_非常低。5软件维护工作的活动分为生产性活动和_活动。6所有软件维护申请报告要按规定方式提出,该报告也称_报告。7有两类维护技术:在开发阶段使用来减少错误,提高软件可维护性的面向维护技术;在维护阶段用来提
23、高维护的效率和质量的_技术。三、选择题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.因修改软件而造成的
24、错误 D.运行时误操作7维护中,因误删除一个标识符而引起的错误是( )副作用。A.文档 B.数据 C.编码 D.设计8可维护性的特性中相互促进的是( )。A.可理解性和可测试性 B.效率和可移植性C.效率和可修改性 D.效率和结构好9可维护性的特性中,相互矛盾的是( )。A.可修改性和可理解性 B.可测试性和可理解性C.效率和可修改性 D.可理解性和可读性四、简答题1软件维护有哪些类型?2软件维护的特点是什么?3软件维护的流程是什么?4软维护的副作用有哪些?5可维护性度量的质量特性有哪些?6提高可维护性有哪些方法?参考答案二、填空题 1最多 2维护 3非结构化 4生产率5非生产性 6软件问题
25、7维护支援三、选择题1D 2B 3C 4B5C 6C 7C 8A 9C第九章一、名词解释1.增量开发 2.增量提交 3.原型 4.软件原型 5.增量构造模型 6.演化提交模型7.快速原型模型 二、填空题1.瀑布模型本质上是一种_模型。2.瀑布模型不适应需求可变的软件开发,只有到开发结束时才能见到_。3.增量模型在开发过程中以一系列增量方式开发系统,忽略某阶段的细节,从而尽早产生_。4.增量构造模型在分析和设计阶段按整体方式开发,按增量方式开发的是_阶段。5.演化提交模型中,项目开发各阶段都是按_开发的。6.软件原型是软件的早期可运行版本,反映最终系统的_。7.用原型过程来代替需求分析,使需求说
26、明完整、一致、准确,该原型是_原型。8.用原型过程来代替全部开发阶段,这种快速原型是_原型。9.若原型不满足需求说明,则根据明确的要求修改_。三、选择题1.瀑布模型的问题是( )。A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求2.增量模型是一种( )模型。A.整体开发 B.非整体开发 C.灵活性差 D.较晚产生工作软件3.用于设计阶段,考核实现方案是否可行的是( )原型。A.探索型 B.演化型 C. 实验型 D.增量型4.用于整个开发阶段,及早提交一个原型系统的是( )原型。A.实验型 B.探索型 C.提交型 D.演化型5.快速原型思想是在研究( )阶段的方法技
27、术中产生的。A.测试 B.设计 C.编码 D.需求分析6.构造原型时,主要考虑( )。A.全部功能 B.原型要体现的特征 C.全部细节 D.全部需求四、简答题1.说明瀑布模型的局限性。2.说明渐增模型有哪些特点。3.说明快速原型模型的基本思想。4.说明快速原型的开发过程。5.说明快速原型有几种?各自的特点是什么?6.说明快速原型的优缺点。参考答案二、填空题 1.线性顺序 2.整个软件系统 3.工作软件 4.编码和测试 5.增量方式 6.重要特性7.探索型 8.演化型 9.原型三、选择题 1.B 2.B 3.C 4.D 5.D 6.B 第十章一、名词解释1.对象 2.类 3.属性 4.操作 5.
28、消息 6.消息传递 7.方法 8.关系9.关联 10.一般具体关系 11.整体部分关系 12.继承 13.单重继承 14.多重继承 15.多态性 16.角色 17.受限关联 18.封装 19.对象模型20.动态模型 21.功能模型 22.事件 23.状态 24.事件追踪25.状态图 26.动作 27.活动 28.处理29.数据流 30.动作对象 31.数据存储对象 32.重用性二、填空题1.对象具有封装性,实现了_的结合。2.类的实例化是_。3.类具有属性,描述类的属性用_。4.类具有操作,它是对象_的抽象。5.对象之间进行通信的构造叫做_。6.子类自动共享父类的属性和操作的机制称为_。7.子
29、类只继承一个父类的属性和操作,这称为_。8.不同应用中信息共享的这种机制和构造是通过_来实现的。9.对象模型的主要元素是类、关联和_。10.受限关联由两个类和一个_组成。三、选择题1.汽车有一个发动机。汽车和发动机之间的关系是( )关系。A.一般具体 B.整体成员 C.分类关系 D.is a2.面向对象程序设计语言不同于其他语言的最主要特点是( )。A.模块性 B.抽象性 C.继承性 D.共享性3.软件部件的内部实现与外部可访问性的分离,是指软件的( )。A.继承性 B.共享性 C.封装性 D.抽象性4.类库这种机制是( )级别的信息共享。 A.同一类 B.不同类 C.同一应用 D.不同应用5
30、.动态模型的描述工具是( )。 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.属性四、简答题1.说明面向对象的特征。
31、2.说明面向对象的要素。3.说明对象的本质。4.说明对象模型的特征。5.说明动态模型的特征。6.说明功能模型的特征。7.说明构造对象模型的各个元素及图形表示。8.说明构造动态模型的各个元素及图形表示。9.说明构造功能模型的各个元素及图形表示。10.说明分析阶段建立的三个模型的关系。11.说明确定类、属性、关联的方法。12.说明确定一般具体关系的方法。13.说明确定整体部分关系的方法。14.说明确定操作的方法。15.说明建立对象模型的过程。16.说明建立动态模型的过程。17.说明建立功能模型的过程。18.说明系统设计的步骤。19.说明对象设计的步骤。20.说明面向对象的实现。五、应用题1.一本书
32、的组成有一个封面,一个目录,一个前言,若干章,每章有若干节,每节有若干段,每段有若干句子,每节有 0 个或多个插图,还有 0 个或多个表格,最后有一个附录。建立该书的对象模型。2.交通工具分为空中、陆上、水上交通工具,空中交通工具分为客机、货机、专用轻型机,陆上交通工具分为火车、汽车;火车汽车又分为客车、货车;水上交通工具分为客轮、货轮、客货混合轮。建立交通工具的对象模型。3.一台微机有一个显示器,一个主机,一个键盘,一个鼠标,汉王笔可有可无。主机包括一个机箱,一个主板,一个电源,存储器等部件。存储器又分为固定存储器、活动存储器,固定存储器又分为内存和硬盘,活动存储器又分为软盘和光盘。建立微机
33、的对象模型。4.一个软件公司有许多部门,分为开发部门和管理部门两种。每个开发部门开发多个软件产品。每个部门由部门名字唯一确定。该公司有许多员工,员工分为经理、工作人员和开发人员。开发部门有经理和开发人员,管理部门有经理和工作人员。每个开发人员可参加多个开发项目,每个开发项目需要多个开发人员,开发人员使用语言开发项目。每位经理可主持多个开发项目。建立该公司的对象模型。5.在温室管理系统中,有一个环境控制器类,当没有种植作物时处于空闲状态。一旦种上作物,就要进行温度控制,定义气候,即在什么时期应达到什么温度。当处于夜晚时,由于温度下降,要调用调节温度过程,以便保持温度;太阳出来时,进入白天状态,由
34、于温度升高,要调用调节温度过程,保持要求的温度。当日落时,进入夜晚状态。当作物收获,终止气候的控制,则进入空闲状态。建立环境控制器类的状态图。参考答案二、填空题1.数据和操作 2.对象 3.数据结构 4.行为 5.消息 6.继承 7.单重继承8.类库 9.关系 10.限定词三、选择题1.B 2.C 3.C 4.D 5.C 6.A 7.B 8.B 9.B 10.A 11.C 五、应用题1.书的对象模型如图 10-1 所示。2.交通工具的对象模型如 10-2 所示。3.微机的对象模型如图 10-3 所示。4.软件公司的对象模型如图 10-4 所示。5.温室管理系统中的环境控制器类的状态图如图 10
35、-5 所示。第十一章一、名词解释1.软件质量 2.软件质量保证 3.可测性 4.可移植性 5.可重用性 6.容错软件7.信息冗余二、填空题1.影响软件质量的因素有可直接度量的因素和_两大类。2.软件质量保证就是向用户及社会提供满意的高质量产品,确保软件产品从诞生到消亡为止的所有阶段的_。3.软件质量保证的任务是_。4.为了作好软件质量评价,必须在开发前定义其_。5.ISO 的软件质量评价模型分为三个层次,其中第一层称为质量特征层;第二层称为质量子特征层;第三层称为_层。6.软件复杂性度量的参数主要有难度、结构、智能度和_。7.软件的规格说明分为外部规格说明和_。8.设计质量的评审是针对需求分析
36、阶段产生的软件需求规格说明书、数据需求规格说明,在软件概要设计阶段产生的_进行的评审。9.程序质量评审通常是从开发者的角度进行评审,直接与开发技术有关。它是着眼于_变更带来的影响而进行的评审活动。10.冗余是指实现系统规定功能是多余的那部分资源,包括硬件、软件、时间和_。11.McCabe 复杂性度量又称_.12.当程序的分支数目或循环数目增加时其复杂度也增加,因此环路的复杂度取决于_的复杂度。13.提高软件质量和可靠性的技术大致可分为两大类,一类是避开错误技术,另一类是_。14.质量保证策略大致分为三个阶段:以检测为重、_和以新产品开发为重。15.软件产品制成后才进行检测,这种检测只能判断产
37、品的质量,不能提高_。16.把质量保证工作重点放在过程管理上,对制造过程的每一环节都进行_。17.软件复杂性主要表现在程序复杂性。程序的复杂性主要指_程序的复制性。18.为了减少软件开发费用,缩短软件开发周期,减少软件内部潜在错误,可以减少程序复杂性,以提高软件的简单性和_。19.在软件的设计中占有极其重要的地位的是软件功能结构,它是联系_跟开发者的规格说明。三、选择题1.软件质量是贯穿软件( )的一个极为重要的问题。A.开发 B.生存期 C.度量 D.测试2.可被用于与其实现功能相关的其他应用问题的程序称为( )。A.可重用性 B.可移植性 C.可互操作性 D.通信共用性3.在软件开发和维护
38、的过程中,为了定量地评价软件质量,必须对软件特性进行( )。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.对软件产品,一般有 4 个方面影响着产品的质量,除了过程质量、人员素质及成本、时间和进
39、度等条件外,其中很重要的是( )。A.概要设计说明 B.需求规格说明 C.详细设计说明 D.开发技术9.质量保证,它是为保证产品和服务充分满足( )要求而进行的有计划、有组织的活动。A.开发者 B.生产者 C.测试者 D.消费者10.软件可靠性是最重要的软件特性,通常用它来衡量在规定的条件和时间内,软件完成( )的能力。A.需求分析 B.规定功能 C.概要设计 D.软件测试11.软件可靠性的定量指标,常借用硬件可靠性的定量度量方法来度量软件的可靠性,其中 MTBF 是( )。A.平均等待时间 B.平均间隔时间C.平均失效等待时间 D.平均失效间隔时间12.提高软件质量和可靠性的技术大致分为两大
40、类:一类是避开错误技术,另一类是( )。A.重用技术 B.避开错误 C.容错技术 D.模块化设计13.软件是不可见的复杂的逻辑实体,它不同于任何其他制造业的产品。使得软件质量难于把握的一个因素是( )。A.软件需求 B.硬件需求 C.软件配置 D.硬件配置14.对白盒测试和黑盒测试补充的一种有效的方法是加强阶段( )工作。A.调试 B.评审 C.维护 D.自测试15.在软件开发和维护的过程中,为了定量地评价软件质量,必须对( )进行度量。A.软件需求 B.软件质量特性 C.软件质量 D.软件特性16.许多产品的质量问题源于新产品的开发设计阶段,因此在产品( )阶段就应采取有力措施来消灭由于设计
41、原因而产生的质量隐患。 A.软件评审 B.软件测试 C.开发设计 D.软件度量17.系统因错误而发生错误时,仍然能在一定程度上完成预期的功能,则把该软件称为( )。A.软件容错 B.系统软件 C.测试软件 D.操作系统四、简答题1.软件质量的含义是什么?2.影响软件质量的因素分为哪两大类?3.Boehm 和 McCall 等人从哪些方面来确定软件质量?他们有什么异同?4.ISO 提出的关于软件质量度量模型由哪三个层次组成?5.软件质量保证的策略可以分为哪几个阶段?各有什么特征?6.软件质量保证的主要任务是什么?7.质量度量模型主要有哪几种?各有什么特征?有什么不同?8.软件复杂度量主要包含哪几
42、方面内容?9.程序复杂性的度量方法有哪些?10.软件可靠性度量模型可以分为哪几类?11.为什么要进行软件评审?软件设计质量评审与程序质量评审都包括哪些内容?12.如何实现容错软件?通常采用哪些方法?13.如果让你开发以下三种不同类型的软件:(1)实时系统; (2)管理信息系统; (3)安全系统。你选择哪些不同的软件质量特性作为不同软件的质量要求,并对每一特性要求做出说明。参考答案二、填空题1只能间接度量的因素 2质量活动 3保证软件质量 4质量需求5度量 6.规模 7内部规格说明 8软件概要设计说明书9软件本身的结构与运行环境的接口 10信息 11环路度量 12程序控制结构13容错技术 14以过程管理为重 15产品质量 16质量控制17模块内 18可理解性 19用户三、选择题1.B 2.A 3.B 4.D 5.A6.A 7.D 8.C 9.D 10.B11.B 12.C 13.C 14.B 15.B16.C 17.A第十二章一、名词解释1.软件项目计划 2.人力资