还剩31页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
软件工程作业题简答题
1、什么叫软件?软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合
2、什么叫软件危机?软件危机包含哪两点?软件危机产生的原因是什么?软件危机是指在计算机软件开发与维护过程中所遇到的一系列严重问题包括两点
(1)如何开发软件,以满足对软件日益增长的需求;
(2)如何维护数量不断膨胀的已有软件软件开发和维护过程中存在的许多严重问题,一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关具体表现如下
(1)软件是逻辑部件而不是物理部件
(2)软件的规模越来越大,复杂性越来越大
(3)轻视需求分析的重要性,轻视软件维护的错误观点和方法
3、什么叫软件工程?1968年在第一届NATO会议上的早期定义“建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法”1993年IEEE的定义“
①软件工程是把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;
②进而研究
①实现的途径”我们国家最近定义软件工程是指导计算机软件开发和维护的工程学科它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来
4、两种软件工程方法学开发软件时要建立哪些模型?软件工程方法学包括传统方法学和面向对象方法学常用的开发模型有瀑布模型(需求稳定,而且可以预先指定)原型模型(需求模糊或者随时间变化)增量模型(分析员先作出需求分析和概要设计,用户参与逐步完善)螺旋模型(将瀑布模型与原型化模型结合起来并加入了风险分析)喷泉模型(使开发过程具有迭代性和无间隙性)
5、软件过程模型有哪些?简述它们的特点过程模型分为五大类
1.管理过程模型
2.瀑布模型(又称为生命周期模型)
3.增量过程模型包括增量模型RAD模型
4.烟花过程模型包括原型开发模型,螺旋模型,协同开发模型
5.专用过程模型包括机遇构建的开发模型,形式化方法模型,面向方面的软件开发模型
6、什么是软件生命周期?一个软件从定义,开发,使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长时期称为生命周期
7、软件生命周期有哪几个阶段和步骤?三个阶段定义、开发、维护八个步骤问题定义、可行性研究、需求分析;总体设计、详细设计、编码与单元测试、综合测试;运行维护
8、计算机软件的开发经过哪三个大阶段?三个阶段定义、开发、维护
9、软件开发的各阶段的任务是什么?定义阶段问题定义--任务关于规模和目标的报告书;可行性研究--任务系统的高层逻辑模型数据流图,成本/效益分析;需求分析--任务系统的逻辑模型数据流图,数据字典,算法描述开发阶段总体设计--任务系统流程图,成本/效益分析,推荐的系统结构层次图/结构图;详细设计--任务HIPO图或PDL图;编码和单元测试--任务源程序清单,单元测试方案和结果;综合测试--任务综合测试方案,结果集成测试,验收测试,完整一致的软件配置维护阶段软件维护--任务维护记录以及改正性维护,适应性维护,完整性维护和预防性维护
10、软件设计分哪两个阶段?总体设计的两个阶段分别是什么?分为总体设计和详细设计两个阶段
11、总体设计包括系统设计(划分出组成系统的程序、文件、数据库、人工过程和文档等物理元素)和结构设计(确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系,不涉及模块内部算法流程)
12、软件与硬件的区别是什么?软件是一种逻辑部件,而不是具体的物理部件软件在开发、生产、使用、维护等方面与硬件相比有明显差异软件是开发,硬件是制造软件是自定的,硬件是组装的软件不会磨损,硬件存在机械磨损问题
13、软件需求分析的任务是什么?需求分析的任务是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求一般说来,需求分析的任务包括下述几方面
1.确定对系统的综合要求(主要有功能需求、性能需求、运行需求、将来可能提出的需求)
2.分析系统的数据要求
3.导出系统的逻辑模型数据流图、实体-联系图、状态转换图、数据字典、算法流程等
4.修正系统开发计划
14、瀑布模型与原型模型分别适用于开发哪些软件?瀑布模型与原型模型分别适用于开发哪些软件瀑布模型适合于需求稳定,而且可以预先指定的大型系统工程项目原型模型适合于需求模糊或者随时间变化的中小型项目
15、数据流图的作用是什么?如何画数据流图简称DFDDataFlowDiagram图,它是以特定的图形符号描述系统逻辑模型的工数据流图具;它从数据传送和加工的角度抽象的描述信息在系统中的流动和数据处理的过程;它是开发人员与用户之间交流信息的通信工具;它也是系统分析与系统设计的工具数据流图画法总结
1.先找出数据源点和汇点它们是外部实体,由它们确定系统与外界的接口
2.找出外部实体的输出数据流与输入数据流画出顶层数据流图
3.从顶层加工出发,逐步细化,画出所需子图
4.分析系统的主要处理功能,把每一个处理功能作为一个加工,并且确定它们之间的数据流入、流出关系,画出第一层数据流图
5.对流图中的每个加工进行细化,画出所需的子图,直到加工不需再分解为止
6.按照前面给出原则检查和修改每一层数据流图和子图
16、什么叫数据字典?如何写数据字典?数据字典是描述数据流图中数据的信息的集合(描述内容包括数据流图、状态转换图、数据字典E-R图中的数据信息(数据流、数据存储、外部实体)、控制信息(事件)等,不包括处理)如何写?数据元素的组合方式顺序即以确定的次序连接两个或多个分量例A+B选择即从两个或多个可能的元素中选取一个例[A|B]重复即把指定的分量重复零次或多次例1{A}5可选即一个分量是可有可无的(重复零次或一次)
17、软件设计的原则有哪些?模块化,抽象化与逐步求精,信息隐藏与局部化,模块独立
18、耦合与内聚分别有哪些?如何定义?如何区分?耦合衡量不同模块彼此间互相依赖连接的紧密程度内聚衡量一个模块内部各个元素彼此结合的紧密程度耦合的种类:数据耦合如果两个模块间的通讯信息是若干参数,其中每一个参数都是一个数据元素,称数据耦合这种耦合为数据耦合这是模块之间影响最小的耦合关系标记耦合当把整个数据结构作为参数传递而被调用模块只需要使用其中一部分数据元素标记耦合时,这种情况称为标记耦合控制耦合那么A和B之间控制耦合如果模块A向模块B所传递的信息控制了模块B的内部逻辑,的耦合称为控制耦合公共耦合如果两个或多个模块都和同一个公共数据域有关,则称为公共耦合公共耦合公共耦合是一种不良的耦合关系,它给模块的维护和修改带来困难如果两个模块共享的数据很多,都通过参数传递很不方便时,可以利用公共耦合内容耦合如果一个模块和另一个模块的内部属性(即运行程序和内部数据)有关,则称为内容耦合功能内聚如果一个模块内部的各组成部分的处理动作全都为执行同一个功能而存在,并且功能内聚只执行一个功能,则称为功能内聚判断一个模块是不是功能内聚,只要看这个模块是“做什么”是完成一个具体的任务,还是完成多任务顺序内聚如果一个模块内部的各个组成部分执行的几个处理动作有这样的特征前一个处顺序内聚理动作所产生的输出数据是后一个处理动作的输入数据,称为顺序内聚顺序内聚维护起来不如功能内聚方便,要修改模块中的一个功能,会影响到同一个模块中的其他功能通讯内聚如果一个模块内各组成部分的处理动作都使用相同的输入数据或产生相同的输通讯内聚出数据,称为通讯内聚过程内聚如果一个模块内部的各个组成部分的处理动作各不相同,彼此也没有联系,但他们都受同一个控制流支配,决定他们的执行次序,称为过程内聚暂时内聚(时间内聚)如果一个模块内的各组成部分的处理动作和时间有关,则称为暂时内聚暂时内聚模块的处理动作必须在特定的时间内完成-----指在一个特定的时间范围内完成,但完成次序不重要例如程序设计中的模块的初始化逻辑内聚如果一个模块内部的各组成部分的处理动作在逻辑上相似,但功能都彼此不同或逻辑内聚无关,则称为逻辑内聚一个逻辑内聚模块往往包括若干个逻辑相似的动作,使用时可以选用一个或几个功能例如把编辑各种输入数据的功能放在一个模块中机械内聚(偶然内聚)如果一个模块的内部各组成部分的处理动作彼此没有任何联系,则称为机械内聚
19、详细设计阶段用到了哪些图形工具?程序流程图(PFD盒图(N-S图)问题分析图(PAD)判定表/判定树(其他非图形工具有过程设计语言(PDL)
20、软件工程的启发式规则有哪些?A.当模块过大时就应该分解它一般按功能分解到成为一个小的功能单一的模块为止一般一个模块内包含的语句在30-50条左右较好(指高级语言)分解后不应该降低模块的独立性B.深度、宽度、扇出和扇入都应适当好的设计结构通常是顶层扇出比较高,中层扇出比较少,底层扇入到公共的实用模块中去(底层模块有高扇入)模块的独立性是贯穿始终的标准,不能为了追求其它目标而违背独立性标准C.对于任何一个内部存在判断调用的模块,它的判断作用的范围应该是其控制范围的一个子集存在判断调用的模块,所在层次不要与那些属于判断作用范围的模块所在的层次相隔太远----越近越好D.力争降低模块接口的复杂程度模块接口复杂是软件发生错误的一个主要原因应该仔细设计模块接口,使得信息传递简单并且和模块的功能一致接口复杂或不一致(即看起来传递的数据之间没有联系),是紧耦合或低内聚的征兆,应该重新分析这个模块的独立性E.设计单入口单出口的模块防止出现内容耦合---多入口(多种处理功能)意味着内容耦合F.模块功能应该可以预测-----模块是黑合子,输入相同则输出相同,其内部数据结构和接口受到限制模块的功能应该能够预测,但也要防止模块功能过分局限过分局限将导致模块灵活性太差,会出现使用现场的修改
21、模块的作用域与控制域分别指什么?模块的控制域本身及其所有下级模块(包括直接和间接下级模块)模块的作用域受该模块内一个判定影响的所有模块的集合
22、模块的扇入、扇出、深度、宽度分别是什么意思?深度表示软件结构中控制的层数----粗略的标志一个系统的大小和复杂程度宽度是软件结构同一层次上的模块总数的最大值----宽度越大系统越复杂模块的扇出指一个模块拥有的直属下级模块的个数,一般扇出数控制在7以内,平均为3模块的扇出或4模块的扇入是指一个模块的直接上级模块的个数
23、软件测试的目的是什么?软件测试是为了发现错误而执行程序的过程;测试是程序的执行过程,目的在于发现错误;软件测试中需要数据即为测试而精心设计的测试用例利用测试用例去运行程序帮助发现程序错误;一个好的测试用例在于能发现至今未发现的错误;一个成功的测试是发现了至今未发现的错误的测试软件测试绝对不是要证明程序的正确性也证明不了程序的正确性.
24、单元测试有那些内容?将每一个模块作为一个单独的测试单元,保证每个模块作为一个单元能正确运行单元测试主要针对模块的以下五个基本特征进行测试
1.模块接口
2.局部数据结构
3.重要的执行路径
4.错误处理
5.边界条件
25、什么是集成测试?非渐增式和渐增式有什么区别?渐增式如何组装模块?将模块组合起来成为一个完整的系统对其进行测试叫做集成测试不论是子系统测试还是系统测试,都兼有检测和组装两重含义,通常称为集成测试非渐增式是将模块先进行单元测试然后组装在一起进行测试渐增式是逐个将未测试的模块组装到已经测试过的模块上去进行集成测试,每加入一个就测试一次非渐增式需要桩模块和驱动模块、非渐增式开始可以并行测试、渐增式可以及时的发现接口错误,非渐增式很难发现接口发现错误、渐增式开始不能并行测试、渐增式测试比较彻底渐增式组装模块有自顶向下和自底向上两种组装方式
26、什么是确认测试?该阶段有那些工作?按照需求规格说明书中的确定指标对系统进行功能与性能的测试该阶段进行明确测试(对照需求规格说明书用黑盒法进行测试),软件配置测试(文档的完整性,发现遗漏错误及时补充和修改)
27、什么叫流图?如何画出流图?流图的环形复杂度如何计算?流图是抽象化的程序流图突出表现控制流.符号○为流图的一个结点,表示一个或多个无分支语句箭头为边,表示控制流的方向在分支结构中,分支的汇聚处应有一个汇聚结点.每一条边必须终止于一个结点如果判断中的条件表达式是由一个或多个逻辑运算符ORANDNANDNOR连接的复合条件表达式,则需要改为一系列只有单个条件的嵌套的判断根据程序内单条件分支数或循环个数来度量环形复杂度即程序的复杂度.环形复杂度即程序的复杂度根据程序内单条件分支数或循环个数来度量环形复杂度即程序的复杂度VG=流图区域数VG=边数-结点数+2VG=单条件判定数+
128、白盒测试与黑盒测试分别有哪些测试方法?如何对具体问题测试?白盒测试对程序模块的所有的执行路径至少测试一次;对所有的逻辑判定,取“真”与取“假”白盒测试的两种情况都至少测试一次;白盒测试也叫逻辑覆盖法包括语句覆盖,判定覆盖,条件覆盖黑盒测试发现程序中的错误,必须在所有可能的输入条件和输出条件中确定测试数据,来检查程序是否都能产生正确的输出黑盒测试有等价类法和边界值分析法
29、软件测试的步骤有哪些?每个测试阶段的测试依据是什么?分别有谁来测试?步骤测试内容时间单元测试:将每一个模块作为一个单独的测试单元,保证每个模块作为一个单元能正确运行编码测试阶段子系测试系统:将经过单元测试的模块放在一起形成一个子系统来测试,以测试模块间的接口正确性作为主要任务集中测试阶段系统测试:将经过测试的子系统装配成一个完整的系统来测试,检验系统是否确实能实现需求规格说明书中的功能,以及系统的动态特征是否符合预定要求阶段系统测试是指整个计算机系统包括软硬件的测试可与系统的安装和验收相结合进行集中测试阶段验收测试:在用户的参与下,把软件系统作为单一的实体进行测试,使软件系统能满足用户的需要测试内容与系统测试基本相同验收阶段平行测试:新旧两个系统同时运行进行比较,避免风险的同时给用户对新系统一段熟悉的时间运行阶段
30、什么叫维护?维护的类型有哪些?软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程软件维护类型有
1、改正性维护对程序使用期间发现的程序错误进行诊断和改正的过程;占维护工作量17-21%
2、适应性维护配合变化了的环境进行修改软件的活动;占维护工作量18-25%
3、完善性维护满足用户在使用过程中提出增加新的功能或修改已有功能的建议而进行的改进工作;占维护工作量50-66%
4、预防性维护为了改善未来的可维护性或可靠性而修改软件的工作;占维护工作量4%左右
31、UML中活动图、状态图、顺序图都分别描述什么?活动图强调的是从活动到活动的控制流,是一种表述过程基理、业务过程以及工作流的技术活动图它可以用来对业务过程、工作流建模,也可以对用例实现甚至是程序实现来建模状态机图常用来描述业务或软件系统中的对象在外部事件的作用下,对象的状态从一种状态状态机图到另一种状态的控制流顺序图描述的是对象之间的消息发送关系,而不是类之间的关系
32、UML中的事物有哪些?结构事物UML中的名词,它是模型的静态部分,描述概念或物理元素行为事物UML中的动词,它是模型中的动态部分,是一种跨越时间、空间的行为分组事物UML中的容器,用来组织模型,使模型更加的结构化注释事务UML中的解释部分,和代码中的注释语句一样,是用来描述模型的
33、面向对象的基本概念类、对象、封装、继承等定义是什么?类(Class)是具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分对象(Object)是系统中描述客观事物的一个实体,它是构成系统的一个基本单位,由一组属性和对这组属性进行操作的一组服务组成,是类的一个实例封装(Encapsulation)是把对象的属性和服务结合成一个独立的系统单位,并尽可能隐藏对象的内部细节继承性:如果一个类A继承自另一个类B,就把这个A称为B的子类,而把B称为A的父类继承使得相似对象可以共享程序代码和数据结构,大大减少程序中的冗余信息;继承可以把已有的一般性的类具体化来提高软件的可重用性多态性(Polymorphism)是指在父类中定义的属性或服务被子类继承后,可以具有不同的数据类型或表现出不同的行为
34、用例图的作用是什么?用例图是外部参与者所能观察到的系统功能的模型图由一组用例、参与者及它们之间的关系组成主要用于对系统、子系统或类的功能行为进行建模参与者是与系统交互的外部实体,可以是人,也可以是其它系统用例是从用户的角度描述系统的行为(功能)它将系统的功能描述成一系列事件,这些事件最终对参与者产生可观察结果
35、UML中的关系有哪些?关系有六种依赖,类属,关联,实现,聚合和组合
36、UML中实现关系、依赖关系、泛化关系等符号?实现关系---------------依赖关系----------------泛化关系
37、用例、活动、状态、节点等图形符号分别是什么?填空面向对象=对象+类+继承+通信
1、画出UML中依赖关系的图形符号----------------
2、在UML
2.0中定义了四种交互图,其中强调对象调用顺序的是程序图
3、UML中实现关系的图形符号是
4、软件生命周期可划分为8个阶段,它们是什么?问题定义、可行性研究、需求分析;总体设计、详细设计、编码与单元测试、综合测试;运行维护
5、软件测试的目的是发现错误,通常把测试方法按功能划分为墨盒测试和白盒测试两大类因为通常不可能做到穷尽测试,所以精心设计测试方案是保证达到测试目的所必须的
6、计算机软件的开发经过三个阶段分别为定义、设计和运行
7、软件维护的活动包括四种改正性维护、适应性维护、完善性维护和预防性维护
8、在软件测试过程的4个步骤中,测试依据是需求规格说明的是验收测试选择题
1、以下哪个不是详细设计中常用的图形描述工具A、数据流图B、程序流图C、盒图(N-S图)D、问题分析图(PAD)
2、耦合是对软件结构中各个不同模块之间互相关联程度的度量一个模块直接访问另一个模块的内部信息应属于方式A、控制耦合B、内容耦合C、数据耦合D、外部耦合
3、在七种内聚中属于最强的是功能内聚,最弱的是偶然内聚
4、软件工程的原则包括模块化、抽象与逐步求精、信息隐藏与局部化、模块独立模块耦合程度低,则说明模块的独立性越强A.耦合越强B、扇入数越高C、扇入数越低D、耦合越弱
5、软件设计包括两个阶段A、接口设计和结构设计B、数据设计和概要设计C、结构设计和过程设计D、概要设计和详细设计
6、现有一个计算类型的程序,它的输入只有一个Y,其范围是—50≤Y≤50现从输入的角度考虑设计了一组测试用例—100,100,0设计这组测试用例的方法是A、条件覆盖法B、边缘值分析法C、错误推测法D、等价划分法
7、系统设计分为两个阶段分别为设计方案与选择方案
8、对于变换型的数据流图,按照软件设计思想,要将一个大型复杂的软件进行分解,要确定数据流图的输入边界,输出边界和变换中心
9、自顶向下结合的渐增式测试法,在组合模块时有两种组合策略深度优先策略和宽度优先策略
10、在用面向对象观点建立起的3种模型中,是最基本、最重要、最核心的A、动态模型B、对象模型C、功能模型D、状态模型
11、在软件结构图的有关术语中,用于表示软件结构中控制的层数的是A、扇出B、扇入C、深度D、宽度
12、指出PDL是哪种语言过程设计语言
13、在进行软件测试时,首先应当进行单元测试,然后再进行组装测试,最后再进行有效性测试
14、结构化设计方法是面向的设计A.数据编码B.数据流C.数据库D.数据结构
15、软件工程的过程模型中,瀑布是经典的传统模型
16、模块定义为受该模块内一个判断影响的所有模块集合A.控制域B、作用域C、宽度D、接口
17、在软件生命周期中,能准确确定软件系统的体系结构的功能阶段是A、概要设计B、详细设计C、需求分析D、可行性分析
18、下面不属于软件工程的基本原则的是____A、模块化B、抽象C、局部化D、自顶向上
19、在数据流图中,用圆或者椭圆来表示A、数据流 B、数据源点或终点C、数据存储D、加工
20、软件是计算机系统中与硬件相互依存的部分,它是包括(A)、(B)、及(C)的完整集合其中,(A)是按事先设计的功能和性能要求执行的指令序列,(B)是使程序员能够正确操纵信息的数据结构,(C)是与程序开发、维护和使用有关的图文材料
①软件
②程序
③代码
④硬件
⑤文档
⑥外设
⑦数据
⑧图表
21、开发软件时,对于提高软件开发人员工作效率至关重要的是(A)软件工程中描述软件生存周期的瀑布类型一般包括计划、(B)、设计、编码、测试、维护等几个阶段其中,设计阶段在管理上可以依次分成(C)和(D)两个步骤A
①程序开发环境
②操作系统的资源管理功能
③开发程序人员数量
④计算机的并行处理能力B
①需求分析
②需求调查
③可行性分析
④问题定义C、D
①方案设计
②代码设计
③概要设计
④数据设计
⑤运行设计
⑥详细设计
⑦故障处理设计
⑧软件体系结构设计22.在结构化的分析方法中,用以表达系统内数据的运行情况的工具有A数据流图 B数据词典 C结构化英语 D判定表与判定树23.在结构化的分析方法中,用实体关系图表达系统中的对象及其关系,在实体关系图中,表达对象的实例关系之间的关联有三种类型一对一联系, 联系,多对多联系A一对多 B多对多24.软件需求分析的任务,不应包括A,进行需求分析可使用多种工具,但B是不适用的,在需求分析中,分析员要从用户那里解决的最重要的问题是C规格说明书的内容不应当包括D,该文档在开发中具有重要的作用,但其作用不应包括EA1问题分析 2信息域分析 3结构化程序设计 4确定逻辑模型B1数据流图 2判定表 3PAD图 4数据词典C1要让软件做什么 2要对该软件提供哪些信息 3要求软件工作效率如何 4让软件具有什么结构D1对重要功能的描述 2对算法的详细过程性描述3软件确认准则 4软件的性能E1软件设计的依据 2用户和开发人员对软件要”做什么”的共同理解3软件验收的依据 4软件可行性分析的依据25.原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于A系统,它从用户界面的开发入手,首先形成B,用户C,并就D提出意见A1需求不确定性高的 2需求确定的 3管理信息 4决策支持B1用户界面使用手册 2用户界面需求分析说明书 3系统界面原型 4完善的用户界面C1改进用户界面的设计 2阅读文档资料 3模拟用户界面的运行 4运行用户界面原型D1同意什么和不同意什么 2使用和不使用哪一种编程语言 3程序的结构 4执行速度是否满足要求
26.从下列有关系统结构图的描述中选出正确的叙述
①系统结构图中反映的是程序中数据流的情况
②系统结构图是精确表达程序结构的图形表示法因此有时也可将系统结构图当作程序流程图使用
③一个模块的多个下属模块在系统结构图中所处的左右位置是无关紧要的
④在系统结构图中,上级模块与其下属模块之间的调用关系用有向线段表示这时使用斜的线段和水平、垂直的线段具有相同的含义
27.选出正确答案
①一组语句在程序中多处出现,为了节省内存空间,把这些语句放在一个模块中,该模块的内聚性是A的
②将几个逻辑上相似的成份,放在同一个模块中,通过模块入口的一个判断决定执行哪一个功能,该模块的内聚性是B的
③模块中所有成份引用共同的数据,该模块的内聚性是C的
④模块内的某成份的输出是另一些成份的输入,该模块的内聚性是D的
⑤模块中所有成份结合起来完成一项任务,该模块的内聚性是E的A—E
①偶然内聚
②时间内聚
③功能内聚
④通信内聚
⑤逻辑内聚
⑥信息内聚
⑦过程内聚28.关于模块化程序设计的说法正确的五项( )1程序设计比较方便但难于维护2便于由多人分工编制大型程序3软件功能易于扩充4易于理解,也便于排错5在主存储器能够容纳的前提下,并使模块尽可能大,以减少模块的个数6模块间的接口叫做数据文件7只要模块之间的接口关系不变,模块内部实现细节的修改将不会影响别的模块8模块间的单向调用关系叫做模块的层次结构9模块越小,模块化的优点越明显,一般来说模块的大小都在10行以下29.从下列叙述中选出五条符合程序设计风格指导原则的叙述1嵌套的重数应加以限制2尽量少使用全局变量3不滥用语言特色4不用可以省略的括号5使用有意义的变量名6尽可能把程序编的短些7把常见的局部优化工作留给编译程序去做8注解越少越好9程序的格式应有助于读者理解程序10应尽可能多用goto语句
31.测试过程需要三类输入A、B、CA、B、C
①接口选择
②软件配置
③硬件配置
④测试配置
⑤软件环境
⑥测试工具
32.测试的费用已超过A的30%以上,高产的测试是指B,单元测试是在C阶段完成的,集成测试的计划是在D阶段制定的,确认测试的计划是在E决定制定的A
①软件开发费用
②软件维护费用
③软件开发和维护费用
④软件研制费用
⑤软件生存期全部B
①用适量的测试用例运行程序,证明被测试程序正确无误
②用适量的测试用例运行程序,证明被测试程序符合相应的要求
③用少量的测试用例运行程序发现被测试程序尽可能多的错误
④用少量的测试用例运行程序,纠正被测程尽可能多的错误C、D、E
①可行性研究和计划
②需求分析
③概要设计
④详细设计
⑤实现
⑥集成测试
⑦确认测试
⑧使用和维护
33.软件测试的目的是A为了提高测试的效率,应该B使用白盒测试方法时,确定测试数据应根据C和指定的附带标准与设计测试无关的文档是D软件的集成测试工作最好由E承担,以提高集成测试的结果A
①评价软件的质量
②发现软件的错误
③找出软件中的所有错误
④证明软件是正确的B
①随机的选取测试数据
②取一切可能的输入数据作为测试数据
③在完成编码后,制定软件的测试计划
④选择发现错误的可能性大的数据作为测试数据C
①程序的内部逻辑
②程序的复杂程度
③使用说明书
④程序的功能D
①该软件的设计人员
②程序的复杂程度
③源程序
④项目开发计划E
①该软件的设计人员
②该软件开发组的负责人
③该软件的编程人员
④不属于该软件开发组的软件设计人员
34.软件调试的目的是AA
①找出错误所在,并改正之
②排除存在错误的可能性
③对错误性质进行分类
④统计出错的次数1.选择题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.1/6B1/5C1/4D1/37.变换型和事务型是程序结构的标准形式从某处获得数据,再对这些数据作处理,然后将结果送出是属于____A.变换型B事务型8.PAD(ProblemAnalysisDiagram)图是一种____工具A.系统描述B详细设计C测试D编程辅助9.排错一般是在测试发现错误后进行,其中找到错误位置占排错总工作量的____A.95%B.5%C.50%D.20%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.软件测试中设计测试实例(testcase)主要由输入数据和____两部分组成A.测试规则B.测试计划C.预期输出结果D.以往测试记录分析16.结构化程序设计主要强调程序的____A.效率B.速度C.可读性D.大小17.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____A.软件投机B.软件危机C.软件工程D.软件产生18.成功的测试是指______A.运行测试实例后未发现错误项B.发现程序的错误C.证明程序正确D.改正程序的错误19.系统开发的需求分析阶段的重要工作之一是____A.数据定义B.数据库设计C.数据维护D.数据结构实现20.文档是软件开发人员.维护人员.用户以及计算机之间的____软件开发人员在各个阶段以文档作为前段工作成果的_____和后段工作的_____A.接口B.桥梁C.科学D.继续E.体现F.基础21.单独测试一个模块时有时需要一个_____程序驱动被测试的模块.有时还要有一个或几个_____模块模拟由被测试模块调用的模块
1.A.理解B.驱动C.管理D.传递
2.A.子SubB.仿真InitationC.栈SsackD.桩Ssub22.在结构化程序设计思想提出以前,在程序设计中曾强调程序的____现在,与程序的____相比,人们更重视程序的____12A安全性B专用性C一致性D合理性E可理解性F效率23.软件测试中,白箱方法是通过分析程序的____来设计测试实例的方法,除了测试程序外,还适用于对____阶段的软件文档进行测试黑箱方法是根据程序的____来设计测试实例的方法,除了测试程序外,它适用于____阶段的软件文档进行测试
1、3A.应用范围B.内部逻辑C.功能D.输入数据
2、4A.编码B.软件详细设计C.软件概要设计D.需求分析24.
(1)在软件生命期周期中,_____阶段所需工作量最大,约占70%;
(2)结构化分析方法产生的系统说明书由一套____,一本数据字典和一组小说明及补充材料组成;
(3)软件的____一般由两次故障平均间隔时间和故障平均恢复时间来度量;
(4)采用____且编写程序,可提高程序的可移植性;
(5)仅依据规格说明书描述的程序功能来设计测试实例的方法称为____1.A.分析B.设计C编码D测试E维护2.A.因果B分层数据流图CPAD图D程序流程图3.A.可维护性B可靠性C效率D互理解性4.A.机器语言B宏指令C汇编语言D高级语言5.A.白箱法B表态分析法C黑箱法D人工分析法25.____是以发现错误为目的的,而____是以定位,分析和改正错误为目的的A.测试B.排错(调试)C.维护D.开发26.请按顺序写出软件生命期的几个阶段____,____,____,____,____,____A.维护B.测试C.详细设计D.概要设计E.编码F.需求分析27.软件发展过程中,第一阶段(50年代)称为“程序设计原始时期”,这时既没有1____也没有__2__,程序员只能用汇编语言编写程序第二阶段(50年代末——60年代末)称为“基本软件期”,出现了1____并渐普及,随之2____编译技术也有较大发展第三阶段(60年代——70年代中)称为“程序设计方法的时代”与硬件费用下降相反,软件开发费急剧上升人们提出了3____和4____等到程序设计方法,设法降低软件开发的费用第四代阶段(70年代中至今)称为“软件工程时期”,软件开发技术不再仅仅是程序设计技术,而是同软件开发的各阶段(5____,6____,编码,测试,7____)及整体和管理有关
①②③④A.汇编语言B.操作系统C.虚拟存储器概念D.高级语言E.结构化程序设计数据库概念F.固件G.模块化程序设计
⑤⑥⑦A.使用和维护B.兼容性的确认C.完整性的确定D.设计E需求定义F图像处理28.软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础A.50年代末B.60年代初C.60年代末D.70年代初A.运筹学B.工程学C.软件学D.软件学E.数字29.瀑布模型把软件生存周期划分为软件定义、软件开发和____三个阶段,而每一阶段又可细分为若干个更小的阶段A.详细设计B.可行性分析C.运行及维护D.测试与排错30.软件的____设计又称为总体设计,其主要任务是建立软件系统的总体结构A.概要B.抽象C.逻辑D.规划31.结构化分析SA是软件开发需求分析阶段所使用的方法,____不是SA所使用的工具A.DFD图B.PAD图C.结构化英语D.判定表32.结构化分析方法以数据流图、____和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型A.DFD图B.PAD图C.IPO图D.数据字典33.模块本身的内聚是模块独立性的重要度量因素之一,在七类内聚中,具有最强内聚的一类是____A.顺序性内聚B.过程性内聚C.逻辑性内聚D.功能性内聚34.Jackson设计方法由英国的M.Jackson提出的,它是一种面向____的设计方法A.对象B.数据流C.数据结构D.控制结构35.结构化设计思想的核心是要求程序只由顺序、循环和____三种结构组成A.分支B.单入口C.单出口D.有规则GOTO36.源程序的版面文档要求应有变量说明、适当注释和____A.框图B.统一书写格式C.修改记录D.编程日期37.在软件工程中,软件测试的目的是____A.试验性运行软件B.发现软件错误C.证明软件是正确的D.找出软件中的全部错误38.在软件工程中,当前用于保证软件质量的主要技术手段还是____A.正确性证明B.测试C.自动程序设计D.符号证明39.在软件工程中,高质量的文档标准是完整性、一致性和____A.统一性B.安全性C.无二义性D.组合性40.在软件研究过程中,CASE是____A.指计算机辅助系统工程B.CAD和CAM技术的发展动力C.正在实验室用的工具D.指计算机辅助软件工程41.软件(结构)设计阶段(概要设计)的文档是____A.系统模型说明书B.程序流程图C.系统功能说明书D.模块结构图和说明书42.软件的维护是指____A.对软件的改进、适应和完善B.维护正常运行C.配置新软件D.软件开发期的一个阶段43.逆向工程在软件工程中主要用于____阶段A.分析B.设计C.编码D.维护44.软件工程中,只根据程序的功能说明而不关心程序内部的逻辑结构的测试方法,称为____测试A.白盒法B.灰盒法C.黑盒法D.综合法45.模块内聚联系最大的是____A.顺序内聚B.功能内聚C.通信内聚D.时间内聚46.在软件的设计阶段应提供的文档是____A.软件需求规格说明书B.概要设计规格说明书和详细设计规格说明书C.数据字典及流程图D.源程序以及源程序的说明书47.程序流程图、N-S图和PAD图是____使用的算法表达工具A.设计阶段的概要设计B.设计阶段的详细设计C.编码阶段D.测试阶段48.软件的可维护性是指____A.软件的可理解程度,程序修改的难易程度B.软件文档修改的难易程度C.程序修改的难易程度D.使用维护工具进行维护的难易程度49.月收入=800元者免税,现用输入数800元和801元测试程序,则采用的是____方法A.边缘值分析B.条件覆盖C.错误推测D.等价类50.采用黑盒法测试程序是根据____A.程序的逻辑B.程序的功能说明C.程序中的语句D.程序中的数据51.数据流图的小说明中描述的最基本部分是____A.激发条件B.加工逻辑C.优先级D.执行频率52.系统的健壮性是指____A.系统能够正确地完成预期的功能B.系统能有效地使用计算机资源C.在有干扰或输入数据不合理等意外情况下,系统仍能进行适当地工作D.在任何情况下,系统均具有错误自修复功能53.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是____A.引入新技术提高空间利用率B.用较少的投资获得高质量的软件C.缩短研制周期扩大软件功能D.硬软件结合使系统面向应用54.不适于作为数据流图处理(加工)框名称的是____A.人工校核工资数据B.工资支票数据C.打印工资支票D.计算职工工资55.如果模块中所有成分引用共同的数据,该模块内的联系类型是____A.顺序内聚B.功能内聚C.通信内聚D.过程内聚56.某模块的功能是打印录取通知书或不录取通知书,调用模块可通过向此模块传递布尔标志信息决定本次调用哪种通知书的打印,这种模块之间的耦合称为____A.数据耦合B.混合耦合C.公共耦合D.控制耦合57.适应性维护的含义是____所进行的维护A.为使软件在改变了的环境下仍能使用B.为改正在开发时期产生、测试阶段没有发现、运行时出现的错误C.为改善系统性能、扩充功能D.为软件的正常执行58.采用白盒法测试模块(程序),应根据____A.内部逻辑结构B.算法复杂度C.外部功能特性D.支撑环境59.下列关于软件工程方面的叙述中,正确的说法是____A.软件的质量标准中,某些因素是不可兼得的B.数据字典包括数据流、文件、模块调用关系等三种条目C.测试过程即调试D.白盒法测试用例中,满足条件覆盖的一定满足判定覆盖60.程序编写(实现)阶段完成的文档有____A.详细设计说明书B.详细设计说明书、用户手册C.模块开发宗卷、操作手册D.用户手册、操作手册61.软件总体结构的内容应在____文档中阐明A.软件需求规格说明书B.概要设计规格说明书C.详细设计规格说明书D.数据要求规格说明书62.使用结构化分析方法时,采用的基本手段是____A.分解和抽象B.分解和综合C.归纳与推导D.试探与回溯63.决定软件可维护性的主要因素可概括为____A.可测试性、可理解性、可修改性B.一致性、结构性、自我描述性C.可计测性、可访问性、可通讯性D.可扩充性、简洁性、结构性64.要减少两个模块之间的耦合,则必须____A.两个模块间的调用次数要少B.模块间传递的参数要少C.模块间传递的参数要少且布传递开关型参数D.模块间传递的参数要少且不传递开关型参数以及两模块不引用同样的全局变量65.软件开发中系统分析阶段产生的文档是____A.数据流图B.系统说明书C.模块结构图和模块说明书D.数据字典66.初始化模块和结束模块从块内联系看,被称为____模块A.过程内聚B.功能内聚C.时间内聚D.逻辑内聚67.结构化设计方法采用变换分析和事务分析技术实现____A.从数据结构导出程序结构B.从模块结构导出程序结构C.从模块结构导出数据结构D.从数据流图导出初始化结构图68.在软件测试中,确认(验收)测试主要用于发现____阶段的错误A.软件计划B.需求分析C.软件设计D.编码69.结构化系统分析主要是通过____进行分析的A.算法分解B.控制结构分解C.数据结构分解D.处理功能分解70.结构化设计方法是面向____的设计方法A.过程B.对象C.数据流D.数据结构71.在维护请求且进行的维护过程中,应先____,然后对维护要求进行评估并分别处理A、确定维护类型B、安排维护先次序C、组织人员维护D、分析软件错误的严重程序72.划分软件生存周期的阶段时所应遵循的基本原则是_____A、各阶段的任务尽可能相关性B、各阶段的任务尽可能相对独立C、各阶段的任务在时间上连续D、各阶段的任务在时间上相对独立73.OOA模型规定了一组对象如何协同才能完成软件系统所指定的工作这种协同在模型中是以表明对象通信方式的一组_____连接来表示的A、消息B、记录C、数据D、属性74.用黑盒法设计测试用例时采用的方法包括______A、判定覆盖法B、条件覆盖法C、因果图法D、路径分析法75.软件维护过程中,______将会引起维护副作用A、修改代码或数据后未作测试B、进行改正性维护时错误未全部改正C、进行完善性、适应性或预防性维护时考虑因素不全面D、维护过程中发生系统运行错误76.Jackson程序设计方法是一种面向_____的设计方法A、数据结构B、数据流图C、IPO图D、系统流程图77.下面所列的性质中,_____不属于面向对象程序设计的特性A、继承性B、重用性C、封装性D、可视化78.一般来说,在管理软件中,软件生存周期各个阶段的工作量以______所占的比例最大A、需求分析与设计阶段B、编码实现阶段C、测试阶段D、维护阶段79.系统开发人员使用系统流程图或其他工具描述系统,估计每种方案的成本和效益的工作是在______阶段进行的A、需求分析B、总体设计C、详细设计D、编码阶段80.结构化设计方法采用变换分析和事务分析技术实现______A、从数据结构导出程序结构B、从数据流图导出初始结构图C、从模块结构导出数据结构D、从模块结构导程序结构81.设一模块内部的处理动作为成分A的输出是成分B的输入,则该模块的聚合性称为______A、顺序内聚B、功能内聚C、过程内聚D、通信内聚82.某个模块的作用域是指______A、被该模块调用的所用模块B、调用该模块的所有模块C、与该模块相关联的所有模块D、受该模块内的判定所影响的所有模块83.在软件测试中,确认(验收)测试主要用于发现______阶段的错误A、软件计划C、需求分析B、软件设计D、编码84.如果按用户要求增加新功能或修改已有的功能而进行的维护工作,称为_____A、完善性维护B、适应性维护C、预防性维护D、改正性维护85.软件维护阶段是软件生存周期中持续时间最长的阶段,它从______时算起A、产生可执行程序B组装测试通过C、软件交付使用D、用户提出第一份维护报告86.软件质量因素中,______是指软件产品能准确执行需求规格说明中所规定的任务A、健壮性B、正确性C、可扩充性D、精确性87.下列是面向对象设计方法中有关对象的叙述,其中______是正确的A、对象在内存中没有它的存储区B、对象的属性集合是它的特征表示C、对象的定义与程序中类型概念相当D对象之间不能相互通信88.软件生存周期中,开发期间包括______阶段A、软件计划、结构设计、测试和运行维护B、需求分析、概要设计、详细设计和编码C、结构设计、编码、测试和运行维护D、需求分析、结构设计、详细设计、编码和测试89.结构化系统分析主要是通过______进行分析的A、算法分解B、控制结构分解C、数据结构分解D、处理功能分解90.下列_____不是模块化设计的目的A、可采用结构化设计方法B、降低复杂度C、有利于信息隐蔽D、描述系统的功能与性能91.下面_____不属于结构化设计需解决的问题范围A、确定系统应由哪些系统和模块组成B、模块什么方式联结,接口如何C、如何编写结构程序D、如何以恰当方式表达系统的软件结构92.结构化设计方法是面向______的设计方法A、过程B、对象C、数据流D数据结构93.下列耦合度表示中,最弱的耦合形式是______A、特征耦合B、公共耦合C、数据耦合D、数据结构94.在结构化系统分析中,判定表和判定树常用于表达数据流图中的_____A、加工B、数据流C、数据存储D、外部项95.用由底向上渐增式方式对软件进行测试时,需要为每个模块准备一个_____它的作用是调用被测的模块A、主模块B、桩模块C、驱动模块D、输入模块96.全局数据结构的错误通常在______中检查A、单元测试B、有效性测试C、集成(系统)测试D、确认测试97.现有一个计算类型的程序,它的输入只有一个Y,其范围是—50≤Y≤50现从输入的角度考虑设计了一组测试用例—100,100,0设计这组测试用例的方法是_____A、条件覆盖法B、等价分类法C、边缘值分析法D、错误推测法98.为软件系统今后改进和发展打好基础而进行的维护工作称为______A、改正性维护B、适应性维护C、完善性维护D、预防性维护99.下列系统设计工具中,______不属于详细设计工具A、N—S图B、数据流图C、程序流程图D、PAD100.软件生存周期中,运行期的主要任务_____A、软件开发B、软件维护C、版本更换D、功能扩充101.系统开发的需求分析阶段的重要工作之一是______A、数据定义B、数据库设计C、数据维护D、数据结构实现102.经调查,系统分析员给出有问题的初略陈述,其中部分描述如下某商场的采购部门要求每天开出定购清单,交采购员;仓库管理员将此要还应输入系统,经库存业务(进贷或出贷)处理后输出从这段描述可知该部分数据流图中的外部项为A、采购员、仓库管理员B、定购清单、库存业务C、库存业务D、定购清单、采购员103.下列叙述中,_______不属于数据字典的作用A、作为编码阶段的描述工具B、为用户与开发人员之间统一认识C、作为概要设计的依据D、为需求分析阶段定义各类条目104.一个模块直接控制(调用)的下层模块的数目称为模块的_______A、扇入数B、扇出数C、宽度D、作用域105.模块内部的算法设计在结构化方法的______阶段进行A、系统分析B、概要设计C、详细设计D编码(实现)106.在面向对象软件方法中,“类”是_______A、具有同类数据的对象的集合B、具有相同操作的对象的集合C、具有同类数据的对象的定义D、具有同类数据和相同操作的对象的定义107.编码(实现)阶段得到的程序段应该是_______A、编辑完成的源程序B、编译(或汇编)通过的可装配程序C、可交付使用的程序D、可运行程序108.下列所述的测试原则中,错误的是_______A、应设计非法输入的测试用例B、测试用例要给出测试的预期结果C、因维护修改程序后需回归测试D、开发小组与测试小组合并109.如果某个程序的输入数据的可能值划分为n个合理等价类,m个不合理等价类,这些等价类均为数轴上的一个有限区间范围,则采用边缘值测试方法至少需要______个测试用例A、m+nB、2m+nC、2n+mD、2m+n
110、某应用系统为今后的发展将单用户系统改为多用户系统,并形成新的应用软件,由此进行的维护工作称为______A、改正性维护和预防性维护B、适应性维护和完善性维护C、完善性维护和改正性维护D、预防性维护和适应性维护111.可维护性是软件的重要质量标准下列______措施与提高可维护性无关A、提高程序效率B、强调程序设计风格化C、采用模块化程序设计方法D、采用结构化程序设计方法或面向对象方法112.产生软件危机的原因有如下几点,除了______A、软件开发过程未经审查B、软件开发不分阶段,开发人员没有明确的分工C、所开发的软件,除了程序清单外,没有其他文档D、采用工程设计的方法开发软件,不符合软件本身的特点113.需求分析说明书不能作为______A、可行性研究的依据B、用户和开发人员之间的合同C、系统概要设计的依据D、软件验收测试的依据114.在自顶向下设计分层数据流图时,设计顶层数据流图主要分析_____A、源、汇、(终)点和输入、输出数据流B、源、汇(终)点和处理功能C、数据存储和输入、输出数据流D、处理功能和输入、输出数据流115.模块结构图是要软件工程的_______阶段中有采用的描述工具A、需求分析B、概要设计C、详细设计D、编码(实现)116.如果_____,则称该模块具有功能内聚A、模块包括单一功能B、模块包括若干功能,但所有功能相互紧密相关C、每个模块有单入口、单出口D、模块中每个处理成分对应一个功能,它们紧密结合117.变换型数据流图通常是_____形态A、线性B、层次C、网状D、无规则118.结构化设计采用模块化方法的主要出发点是______A、增加内聚性B、减少耦合度C、提高有效性D、降低复杂度119.面向对象程序设计中,基于父类创建的子类具有父类的所有特性(属性和方法),这地特点称为类的______A、多态性B、封装性C、继承性D、重用性120.如果一个排序程序所设定的测试用例为
(1)表空
(2)表中只有一个元素
(3)表中均有相同的关键字值
(4)元素已排序则此测试方法称为____________A、等价分类法B、边缘值分析法C、因果图法D、错误推测法121.维护机构接受维护申请后,接下的工作是______A、回归测试B、评价申请C、执行维护D、组织复审122.软件工程中______不属于用户文档的内容A、功能描述B、安装手册C、系统设计D、使用手册123.防错性程序设计对具有潜在危险性的操作进行检查,并给出出错信息采用这种程序设计方法可提高系统的______A、正确性B、有效性C、健壮性D、精确性124.数据流图所描述的是实际系统的______A、逻辑模型B、物理模型C、程序流程D、数据结核125.由变换型数据流图转换成模块结构图,其中包括变换模块,则______A、变换模块就是主模块B、变换模块的功能是将逻辑输入变换为逻辑输出C、变换模块没有下层模块D、变换模块没有只能有一个输入量、一个输出量126.面向对象分析时,所标识的对象为______是错误的A、与目标系统有关的物理实体B、与目标系统发生作用和人或组织的角色C、目标系统运行中需记忆的事件D、目标系统中环境场所的状态127.面向对象设计OOD模型的主要部件中,通常不包括_____A、通信部件B、人机交互部件C、任务管理D、数据管理128.软件测试的基本目标是______A、确定白盒法或黑盒法B、确定单元测试或集成测试C、确定测试范围和路径D、确定一组测试数据以尽可能多地发现错误129.在维护请求后进行的维护过程中,应先______,然后对维护要求进行评估并分别处理A、确定维护类型B、安排维护优先次序C、组织人员维护D、分析软件错误的严重程度130.下列各项中,_____不是增加软件维护工作量的因素A、用户数量的增加B、使用结构化技术或面向对象技术C、软件功能扩充D、应用环境变化131.一个软件项目是否进行开发的结论是在______文档中作出的A、软件开发计划B、可行性报告C、需求分析说明书D、测试报告132.某教学设备销售部门制定一项销售优惠政策,一次购买100台或100台以上者按八五折优惠,购买者是教师、学生按九折优惠设C1表示购买的台数,C2为
1、
2、0分别表示教师、学生和其他人员,则符合九折优惠判定条件为______A、(C1100)ANDNOT(C2=0)B、(C1100)ANDNOT(C20)C、NOT(C1100)AND(C2=0)D、NOT(C1100)AND(C20)133.数据流是数据流图的基本成分,下列关于数据流的叙述中,______是正确的A、某加工的输入是一个数据流,该加工的输出也必定是一个数据流B、多个不同的数据流可以流向一个加工,也可从一个加工中流出C、数据流只能从加工流向文件,但不能从文件流向加工D、一个数据流可以从一个文件流向另一个文件134.银行计算机储蓄管理信息系统中,根据客户提出的要求(如存款、取款、查询、挂失、咨询等)进行相应的业务处理的该层数据流图是______A、变换型B、事务型C、既不是A也不是BD、不一定135.某模块的输入数据为某工厂中一个车间的生产产量表,通过该模块可以计算出车间中生产工人的平均产量、统计产量前10名的人员名单,从内聚度来看,该模块属于____A、逻辑内聚B、通信内聚C、顺序内聚D、功能内聚136._____不属于概要设计所解决的问题范围A、确定模块的层次结构B、全程数据结构的设计C、描述系统的功能与性能D、修改用户手册137.面向对象设计时,对象信息的隐藏主要是通过______实现的A、对象的封装性B、子类的继承性C、系统模块化D、模块的可重用138.在有集成(组装)测试的叙述中,______是正确的A、测试底层模块时不需要桩模块B、驱动模块的作用是模拟被调模块C、自顶向下测试方法易于设计测试结果D、自底向上测试方法有有利于提前预计测试结果139.下述各种因素中_____对软件维护有影响a.人员因素b.技术因素c.程序自身的因素d.管理因素、A.abcB、bcdC、abdD、abcd140.软件维护过程中,______将会引起维护副作用A、修改代码或数据后未作测试B、进行改正性维护时错误未全部改正C、进行完善性、适应性或预防性维护时考虑因素不全面D、维护过程中发生系统运行错误141.下列四个软件可靠性定义中正确的是_____A、软件可靠性是指软件在给定的时间隔内,按用户工求成功运行的概率B、软件可靠性是指软件在给定的时间间隔内,按设计要求成功运行的概率C、软件可靠性是指软件在正式投入运行内,按规定说明书的规定成功运行的概率D、软件可靠性是指软件在给定时间间隔内,按规格说明书的规定成功运行的概率142.软件规模可按源程序行数的多少进行分类,所谓大型软件,通常是指源程序行数为______A、5——50KB、50——100KC、1MD、1——10M143.在软件生命期中,占工作量比例最大的是______A、可行性研究B、建立系统的结构C、编写程序D、维护144.用SA方法获得的需求说明书有四部分,用于描述系统由哪些部分组成、各部分间有何联系等,是在______A、一套分层的数据流图B、一本数据词典C、一组小说明D、补充材料145.SA方法在描述方式上的特点,是尽量采用_____A、自然语言B、形式语言C、图形表示D、表格146.决定软件系统中各个模块的外部特性,即其输入输出和功能是_____的任务A、需求分析B、概要设计C、详细设计D、编程阶段147.用于概要设计所采用的描述手段是______A、DFDB、SC图(系统结构图)C、框图D、数据结构图148.一个模块传送给另一模块的参数是由单个数据项组成的数组,它属于______耦合A、数据型B、复合型C、内容型D、公共型149.在概要设计的设计文档中,对每个模块的描述内容包括______A、功能、界面、输入、输出B、界面、输入、输出、过程C、界面、过程、限制和约束D、功能、界面、过程、注释150.根据SP方法的要点规定,程序最后要由_____审定A、专家B、谁编谁审C、主程序员D、资料员151.结构化流程图(FC)中的箭头是用于表示_____A、控制流B、数据流C、数据/控制D、调用关系152.结构化程序之所以有可能验证其正确性是由于_____A、只有三种基本结构B、有限制地使用GOTO语句C、程序内部有“内部文档”D、选择良好数据结构和算法153.提高程序可读性的有力手段是______A、选好一种程序设计语言B、显式说明一切变量C、使用三种标准控制语句D、给程序加注释154.通过对软件的测试,可以证明_____A、程序正确性B、错误不存在C、错误存在D、不含有隐患155.某程序功能说明中列出“规定每个运动员参赛项目为1——3项”,应用黑盒法中的等价分类法确定等价类是______A、1=项目数=3B、项目数1C、项目数3D、以上都是156.程序功能说明中指出由三个输入数据表示一个三角形的三条边长根据黑盒法中的边缘值分析法设计测试用例,应选_____A、a=3b=4c=5B、a=1b=2c=4C、上述A、B项目都应选上D、a=1b=2c=3157.软件维护,可按不同的维护目的而分类,为了适应硬件环境或软件环境的变更对软件作修改是_____A、纠正性维护B、适应性维护C、完善性维护D、预防性维护158.决定软件工程方法论所有步骤的关键目标是提高软件的______A、可移植性B、可靠性C、可维护性D、效率159.数据库设计全过程中的关键是______A、分析用户要求B、建立概念性数据模型C、逻辑设计D、物理设计160.作为面向对象分析的基础、由问题领域中的对象所组成、用ER图来描述是____A、消息模型B、处理模型C、状态模型D、瀑布模块161.在下列软件工具中,可用于支持概要设计的工具是______A、PSL/PSA系统B、SDL/PAD系统C、AIDES系统D、Tektronix工具箱大题
1、数据流图及软件结构图的画法
2、判定表、判定树的画法
3、数据字典及数据的表示
4、等价类及边缘测试方法
5、白盒测试中各种覆盖路径的寻找分析题
1、假设要求你开发一个软件,该软件的功能是把读入的浮点数开平方,所得的的结果应该精确到小数点后4位一旦实现并测试完之后,改产品将被抛弃你打算选用哪种软件生命周期模型?请说明你做出选择的理由答对这个软件的需求很明确,实现开方功能的算法也很成熟,因此,既无须通过原型来分析需求也无须用原型来验证设计方案此外,一旦实现并测试完之后,该产品将被抛弃,因此也无须使用有助于提高软件可维护性的增量模型或螺旋模型来开发该软件综上所述,为了开发这个简单的软件,使用大多数人所熟悉的瀑布模型就可以了
2、假设你被任命为一家软件公司的项目负责人,你的工作是管理该公司已被广泛应用的字处理软件的新版本开发由于市场竞争激烈,公司规定了严格的完成期限并且已对外公布你打算采用哪种软件生命周期模型?为什么?对这个项目的一个重要要求是,严格按照已对外公布了的日期完成产品开发工作,因此,选择生命周期模型时应该着重考虑哪种模型有助于加快产品开发的进度使用增量模型开发软件时可以并行完成开发工作,因此能够加快开发进度这个项目是开发该公司已被广泛使用的字处理软件的新版本,从上述事实至少可以得出3点结论第一,旧版本相当于一个原型,通过收集用户对旧版本的反映,较容易确定对新版本的需求,没必要再专门建立一个原型系统来分析用户的需求;第二,该公司的软件工程师对字处理软件很熟悉,有开发字处理软件的丰富经验,具有采用增量模型开发新版字处理软件所需要的技术水平;第三,该软件受到广大用户的喜爱,今后很可能还要开发更新的版本,因此,应该把该软件的体系结构设计成开放式的,以利于今后的改进和扩充综上所述,采用增量模型来完成这个项目比较恰当画图题
1、录入统计计算某班学生成绩画出数据流图(DFD)学生成绩表数据结构如下学号|高数|物理|英语|计算机|法律常识|总分|平均分|不及格门数|升留补|需求功能如下
(1)录入全班学生各课的考分,生成成绩表;
(2)检查各课成绩,修改错误,补充未录入成绩,删除非法成绩;
(3)计算总分,平均分;
(4)统计不及格门数,然后再写入升级、补考、留级;
(5)打印成绩通知单,交家长
2、一家工厂的采购部每天需要一张订货报表,报表按零件编号排序,表中列出所有需要再次定货的零件对于需要再次订货的零件应该列出编号、名称、数量、价格、主要供应商等内容零件的出入库称为事务,通过放在库房的CRT终端把事务报告给订货系统当某种零件的库存量少于库存临界值时就应该再次订货
3、办公室复印机的工作过程大致如下未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现缺纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接受复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员排除故障,故障排除后回到闲置状态
4、某厂对部分职工重新分配工作的政策是年龄在伙岁以下者,初中文化程度脱产学习高中文化程度当电工;年龄在20岁到40岁之间者,中学中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员年龄在40岁以上者,中学文化程度当材料员,大学文化程序当技术员请用判定表或判定树描述上述问题的加工逻辑判定表1234567891011年龄CCDDDDDEEE文化GHHGGHIGHI性别----MMFF--------脱产学习√电工√钳工√√车工√√技术员√√材料员√√条件取值表条件名取值符号取值数年龄=20CM1=320,40D=40E文化程度中学GM2=3高中H大学I性别男MM3=2女F
5、某报表处理系统要求用户输入处理报表的日期,日期限制在2003年1月至2008年12月,即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入错误信息系统日期规定由年、月的6位数字字符组成,前四位代表年,后两位代表月现要求用黑盒测试法中的边界值法写出测试用例答输入条件测试用例说明测试数据报表日期的1个数字字符5类型及长度5个数字字符200357个数字字符2003005有1个非数字字符
2003.5全部是非数字字符MAY---6个数字字符200305日期范围在有效范围200301边界上选取200812数据200300200813月份范围月份为1月200301月份为12月200312月份1200300月份
122003136、一家工厂的采购部每天需要一张订货报表,报表按零件编号排序,表中列出所有需要再次定货的零件对于需要再次订货的零件应该列出编号、名称、数量、价格、主要供应商等内容零件的出入库称为事务,通过放在库房的CRT终端把事务报告给订货系统当某种零件的库存量少于库存临界值时就应该再次订货画出仓库管理系统的顶层、一层和底层数据流图(见课件)
7、行李托运费的算法为例说明判定表的组织方法假设某航空公司规定,乘客可以免费托运重量不超过30kg的行李当行李重量超过30kg时,对头等舱的国内乘客超重部分每公斤收费4元,对其他舱的国内乘客超重部分每公斤收费6元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半用判定表可以清楚地表示与上述每种条件组合相对应的计算行李费的算法,如表所示 123456789国内乘客 TTTTFFFF头等舱 TFTFTFTF残疾乘客 FFTTFFTT行李重量W≦30kgTFFFFFFFF免费√ w-30*2 √ w-30*3 √ w-30*4 √ √ w-30*6 √ √w-30*8 √ w-30*12 √
8、画出银行储蓄系统的数据流图(课本作业)
9、画出患者监护系统的数据流图(课本作业)
10.练习题用N-S图、PAD图表示普调工资用N-S图(上图只有女性普调工资的PAD图,男性普调工资的PAD图类似)
11.用六种逻辑覆盖技术对下面的流程图所表示的程序进行测试
(1).语句覆盖X=85Y=85路径A-E);X=95Y=50路径B-C-E);X=75Y=75路径B-D-E);
(2)判断覆盖X=85Y=85判断1成立,判断2不成立A-E;X=95Y=50判断1不成立,判断2成立B-C-E;X=75Y=75判断
1、判断2都不成立B-D-E;
(3)条件覆盖X=85Y=85判断1两条件成立)A-E;X=95Y=50判断2中条件
3、条件4成立)B-C-E;X=50Y=90判断2中条件
3、条件5成立)B-C-E;X=60Y=60(判断
1、判断2各个条件都不成立)B-D-E;
(4)判断/条件覆盖X=85Y=85判断1为Y且两条件成立)A-E;X=95Y=50判断2为Y且条件
3、条件4成立)B-C-E;X=50Y=95判断2为Y且条件
3、条件5成立)B-C-E;X=60Y=60(判断
1、判断2为N且各个条件都不成立)B-D-E;X=90Y=9015X=50Y=9027X=90Y=5036X=70Y=7048X=40Y=90211X=90Y=40310X=40Y=40412第9个条件本身自相矛盾,所以不能测试条件
(1)与条件
(9)
(10)
(11)
(12)矛盾,所以也不能测试
(6)路径覆盖判断/条件覆盖已经覆盖了全部路径
12.根据下图按六种覆盖方法,设计测试用例路径ace——L1abd——L2abe——L3acd——L4对于第一个判断条件A>1取真为T1,取假为条件B=0取真为T2,取假为对于第二个判断条件A=2取真为T3,取假为条件X>1取真为T4,取假为1语句覆盖设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次在图例中,正好所有的可执行语句都在路径L1上,所以选择路径L1设计测试用例【204】注204即A=2B=0X=4下同2判定覆盖设计若干个测试用例,运行被测程序,不仅每个语句至少执行一次,而且每个判定的每种可能的结果都应该至少执行一次对于图例,如果选择路径L3和L4,就可得满足要求的测试用例:【211】覆盖【L3】【303】覆盖【L4】3条件覆盖设计若干测试用例,运行被测程序,不仅每个语句至少执行一次,而且使判定表达式中的每个条件都取到各种可能的结果测试用例覆盖分支条件取值【204】L1【111】L2需要注意的是,条件覆盖不一定满足判定覆盖,如测试用例覆盖分支条件取值【201】L1【112】L34判定/条件覆盖设计足够的测试用例,使得判断表达式中的每个条件都取到各种可能的值,而且每个判断表达式也都取到各种可能结果测试用例覆盖分支条件取值【204】L1【111】L25条件组合覆盖设计足够的测试用例,运行被测程序,使得所有可能的条件取值组合至少执行一次记
①A>1B=0作
②A>1B≠0作
③A≯1B=0作
④A≯1B≠0作
⑤A=2X>1作
⑥A=2X≯1作
⑦A≠2X>1作
⑧A≠2X≯1作测试用例覆盖分支覆盖条件覆盖组合【204】L1
①⑤【211】L3
②⑥【103】L3
③⑦【111】L2
④⑧6路径覆盖就是设计足够的测试用例,覆盖程序中所有可能的路径测试用例通过路径覆盖条件【204】L1【111】L2【112】L3【301】L
413.某工厂公开招工,规定报名者的年龄应在16周岁至35周岁之间(到2005年3月30日止)即出生年月不在上述范围内,将拒绝接受,并显示“年龄不合格”等出错信息假定出生年月由6位数字字符表示,前4位代表年,后2位代表月1利用等价类法设计测试用例.2利用边界值分析法设计测试用例等价类表如下:依据等价类法设计测试用例如下表依据边界值分析法设计测试用例如下表
14、图为开发一个铁路自动售票系统(该系统预计从2004年使用到2014年),请完成下面的数据流图(见下图)和数据字典,即从供选择的答案中选出A、B、C、D、E的内容,并给出F、G和H的内容,填在答案栏中(20分)
(1)数据流图[供选择的答案]A~E1车次表2接受3售票记录4购票请求5拒绝2数据字典购票请求=F乘车日期=G到站=4{字母}20字母=[“A”..”Z”|”a”..”z”]车次=”001”..”999”拒绝=[无车次|无票]无车次=”notrain”无票=”noticket”接受=”tosale”已收款=”yes”车次表={起站+止站+车次}起站=止站=到站售票记录={乘车日期+起站+止站+车次+座号}座号=车厢号+座位号车厢号=”01”..”20”座位号=H注
(1)”01”..”20”表示数字范围从01到20;
(2)乘车日期应给出年、月、日,例如,2004/06/21;
(3)假设每个车厢有100个座位答案A购票请求B接受C拒绝D车次表E售票记录F{乘车日期+到站+车次}G”2004”..”2014”+”/”+”01”..”12”+”/”+”01”..”31”H:“001”..”100”参与者、用例间的关系类型关系类型说明表示符号关联参与者和用例间的关系泛化参与者之间或用例之间的关系包含用例之间的关系include扩展用例之间的关系extend仓库管理员
1.1接收事务采购员(部)事务订货报表库存清单(信息)2产生报表订货信息订货信息订货信息事务
1.2更新库存清单库存信息
1.3产生订货复印机的状态转换图闲置复印do/复印卡纸do/警告缺纸do/警告复印命令完成命令装满纸卡纸故障缺纸故障排除了卡纸故障采购员(部)订货报表库存清单(信息)2产生报表订货信息订货信息订货信息入库事务
1.2入库事务更新库存信息
1.4产生订货
1.3出库事务更新
1.1接收、识别事务出库事务事务储户存款单记录存款信息1存款信息打印存款单2存款存单储户D1存款信息核对密码3存款信息计算利息4取款单利息值打印利息清单5利息清单开始Y取下一部门打开职工工资表取下一职工性别年龄职务?处科员+50+45+35写入工资表55=55女N=年龄-55工资*
1.05N=0N-1年龄职务?处科员+50+40+30写入工资表65=65N=年龄-65工资*
1.04N=0N-1下一职工?下一部门?结束NNY附注女退休后每年工资加5%男退休后每年工资加4%例普调工资男打开部门工资表性别女男年龄年龄55=5565=65职务N=年龄-65处科员+50+45+35处科员+50+40+30工资=工资+增资写入工资表写入工资表工资=工资+增资职务N=年龄-55工资*
1.05工资*
1.04N=N-1N=N-1写入工资表写入工资表下一部门?下一职工?普调工资的N-S图TaTaFaFaeadacabaaA1andB=0A=2orX1X=X/AX=X+1T1T2T3T4第一个判断第二个判断输入条件有效等价类无效等价类出生年月对应数值月份对应数值
①6位数字字符
②有非数字字符
③少于6个数字符
④多于6个数字符
⑤在197003---198903之间
⑧在1—12之间
⑥197003
⑦198903
⑨等于0⑩12测试数据期望结果覆盖等价类197311MAY7219725输入有效
①⑤⑧输入无效197622
②输入无效
③1983011输入无效
④195512输入无效输入无效输入无效输入无效
⑥199510
⑦197300
⑨⑩测试数据期望结果5个数字字符7个数字字符有1个非法字符全是非法字符6个数字字符输入有效输入无效输入无效输入有效输入有效输入无效刚好35周岁刚好16周岁刚好35刚好16月份为1月月份为12月月份刚好1月份刚好12出生年月对应数值应数值月份对测试数据输入条件19745198301119705AAUGUST197003197003198903197002198904198901197012197100198513铁路自动售票系统数据流图乘客受理收款登记AC车费B已收款车票DE。