软件工程试卷 试题复习资料集锦

上传人:h****8 文档编号:230422219 上传时间:2023-08-24 格式:DOC 页数:23 大小:227.50KB
收藏 版权申诉 举报 下载
软件工程试卷 试题复习资料集锦_第1页
第1页 / 共23页
软件工程试卷 试题复习资料集锦_第2页
第2页 / 共23页
软件工程试卷 试题复习资料集锦_第3页
第3页 / 共23页
资源描述:

《软件工程试卷 试题复习资料集锦》由会员分享,可在线阅读,更多相关《软件工程试卷 试题复习资料集锦(23页珍藏版)》请在装配图网上搜索。

1、第一章 软件工程概述1软件产品的特性是什么?产品特性: 是一种逻辑产品,与物质产品有很大的区分。软件产品的生产主要是研制,生产成本主要在开发和研制,开发研制完成后,通过复制就产生了大量软件产品。软件产品不会用坏,不存在磨损,消耗。 生产主要是脑力劳动,还末完全摆脱手工开发方式,大部分产品是定做的开发软件的费用不断增加,致使生产成本相当昂贵。2软件生产有几个阶段?各有何特征?程序设计时代:这个阶段生产方式是个体劳动,运用的生产工具是机器语言,汇编语言。程序系统时代:这个阶段生产方式是小集团合作生产,运用的生产工具是高级语言,开发方法仍依靠个人技巧,但起先提出结构化方法。软件工程时代:这个阶段生产

2、方式是工程化的生产,运用数据库开发工具开发环境网络分布式面对对象技术来开发软件。3什么是软件危机?主要表现在哪些方面?软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的方法,问题积累起来,形态尖锐的冲突,导致了软件危机。表现方面: (1) 用户对开发出的软件很难满足。(2) 软件产品的质量往往靠不住。 (3) 一般软件很难维护。 (4) 软件生产效率很低。 (5) 软件开发成本越来越大。 (6) 软件成本与开发进度难以估计。(7)软件技术的发展远远满足不了计算机应用的普及与深化的须要。4什么是软件工程?它目标和内容是什么?软件工程:就是用科学的学问工程和技术原理来定义,开

3、发,维护软件的一门学科。软件工程的目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,刚好交付运用;开发的软件牢靠性高。软件工程的内容:探讨内容包括开发技术和开发管理两个方面。开发技术主要探讨:软件开发方法,开发过程,开发工具和环境。开发管理主要探讨:软件管理学,软件经济学,软件心理学。5软件工程面临的问题是什么?软件工程须要解决的问题:软件的费用,牢靠性,可维护性,软件生产率和软件的重用。6什么是软件生存周期?它有哪几个活动?软件生存周期:一个软件从提出开发要求起先直到该软件报废为止的整个时期。包括:可行性分析和项目开发安排,需

4、求分析,概要设计,具体设计,编码,测试,维护。7什么是软件生存周期模型?有哪些主要模型?生存周期模型:描述软件开发过程中各种活动如何执行的模型。对软件开发供应强有力的支持,为开发过程中的活动供应统一的政策保证,为参加开发的人员供应帮助和指导,是软件生存周期模型化技术的基础,也是建立软件开发环境的核心。主要有:瀑布模型,增量模型,螺旋模型,喷泉模型,基于学问的模型,变换模型。8什么是软件开发方法?有哪些主要方法?运用早已定义好的技术集及符号表示习惯来组织软件生产的过程。通过运用胜利的软件开发方法,在规定的投资和时间内,开发出符合用户需求的高质量的软件。软件开发方法是克服软件危机的重要方面之一,对

5、软件工程及软件包产业的发展起了不行估量的作用。主要有:结构化方法,JACKSON方法,维也纳开发方法VDM,面对对象开发方法。9、软件工程方法学包含3个要素分别是什么?分别是:方法、工具和过程。 方法是完成软件开发的各项任务的技术方法,回答“怎样做”的问题; 工具是为运用方法而供应的自动的或半自动的软件工程支撑环境; 过程是为了获得高质量的软件所须要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。10、什么是软件过程?为了获得高质量软件所须要完成的一系列任务的框架,规定了完成各项任务的工作步骤。在完成开发任务时必需进行一些开发活动,并且运用适当的资源,在过程结束时将把输入转化为输出。1

6、1、瀑布模型的特点及优点?特点: (1)各个阶段的依次性和依靠性; (2)划分逻辑设计与物理设计,尽可能推迟程序的物理实现; (3)每个阶段必需完成规定的文档,对其中问题通过复审及早发觉,及早解决。优点: 可强迫开发人员采纳规范的方法(例如,结构化技术); 严格地规定了每个阶段必需提交的文档; 要求每个阶段交出的全部产品都必需经过质量保证小组的细致验证。12、螺旋模型的优点? 对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标; 削减了过多测试(奢侈资金)或测试不足(产品故障多)所带来的风险; 在螺旋模型中维护只是模型的另一个周期,在维护和开发之间并没

7、有本质区分。螺旋模型主要适用于内部开发的大规模软件项目。项目越大,风险也越大,因此,进行风险分析的必要性也越大。此外,只有内部开发的项目,才能在风险过大时便利地中止项目。13、快速原型的分类、特点及运用策略?分类:探究型、试验型、进化型 特点:尽快向用户供应一个可在计算机上运行的目标系统的模型,以便运用户和开发者在目标系统应当“做什么”这个问题上尽可能快地达成共识。 快速原型应当具备的第一个特点是“快速”; 快速原型应当具备的其次个特点是“简洁修改”。原型的“修改试用反馈”过程可能重复多遍。运用策略:废弃策略和追加策略。14、软件工程的目标?付出较低开发成本;达到要求的功能;取得较好的性能;开

8、发的软件易于移植;只需较低的维护费用;能按时完成开发任务,刚好交付运用;开发的软件牢靠性高。15、软件开发技术主要探讨内容?软件开发方法,开发过程,开发工具和环境。16、软件开发管理主要探讨内容?软件管理学,软件经济学,软件心理学。17、快速原型开发的步骤?快速开发、需求、构造原形、原形、运行原形、评价原形、修改看法。18、某计算机系统投入运用后、 5年内每年可节约人民币 2O0O元,假设系统的投资额为5000元,年利率为 12。试计算投资回收期和纯收入。第二章 可行性探讨1、可行性探讨的任务是什么?可行探讨的任务:首先须要进行概要的分析探讨,初步确定项目的规模,目标,约束和限制。分析员再进行

9、简要的需求分析,抽象出项目的逻辑结构,建立逻辑模型。从逻辑模型动身,经过压缩的设计,探究出若干种可供选择的解决方法,对每种解决方法都要探讨它的可行性。主要从四个方面考虑:.技术可行性:一般要考虑的状况包括 开发的风险即设计出的系统能否达到要求的功能和性能;资源的有效性;相关技术的发展是否支持;.经济可行性:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资。.法律可行性:要开发的项目是否存在任何侵权问题。(4).管理可行性:运行方式在用户组织内是否可行,现有管理制度人员素养操作方式是否可行。2、可行性探讨有哪些步骤?.确定项目规模和目标;.探讨正在运行的系统;收集探讨分析现

10、有系统的文档资料,实地考察系统访问有关人员,然后描绘现有系统的高层系统流程图。.建立新系统的高层逻辑模型;运用数据流图和数据字典描述数据在系统中的流淌和处理状况。 .导出和评价各种方案;导出若干较高层次的物理解决方法,依据技术可行性经济可行性社会可行性进行评估,得到可行的解决方法。.举荐可行方案;进行成本效益分析,确定该项目是否值得开发,若值得开发那么解决方案是什么,并且说明该方案可行的缘由和理由。.编写可行性探讨报告;将上述可行性过程的结果写成相应文档,即可行性探讨报告。3、可行性探讨过程包括哪些?1. 复查系统规模和目标2. 探讨目前正在运用的系统3. 导出新系统的高层逻辑模型4. 进一步

11、定义问题5. 导出和评价供选择的解法6. 举荐行动方针7. 草拟开发安排8. 书写文档提交审查4、什么是数据流图?其作用是什么?数据流图(DFD):以图形的方式描述数据在系统中流淌和处理的逻辑过程。只反映系统必需完成的逻辑功能,是一种功能模型。5、什么是数据字典?其作用是什么?共有哪些条目? 数据字典(DD)用来定义数据库流图中的各个成分的具体含义。有以下四类条目:数据流,数据项,数据存储,基本加工。6、成本-效益分析可用哪些指标进行度量?.投资回收率:通常把建立系统若干年后能取得的收益折算成现在的价值和开发系统所需的费用进行比较得出投资回收率。.投资回收期:就是使累计的经济效益等于最初的投资

12、费用所需的时间。.纯收入:整个生存周期之内的累计经济效益(折成现在值)与投资之差。7、某图书管理系统有以下功能: 借书:输入读者借书证。系统首先检查借书证是否有效,若有效,对于第一次借书的读者,在借书证上建立档案。否则,查阅借书文件,检查该读者所借图书是否超过10本,若已达10,拒借,末达10本,办理借书(检查库存,修改库存书目并将读者借书状况录入借书文件。) 还书:从借书文件中读出与读者有关的记录,查阅所借日期,如超期(3个月)作罚款处理。否则,修改库存书目与借书文件。 查询:通过借书文件,库存书目文件查询读者状况图书借阅及库存状况,打印统计表。 解:8、某银行的计算机储蓄系统功能是:将储户

13、的存户填写的存款单或存款单输入系统,假如是存款,系统记录存款人姓名住址存款类型存款日期利率等信息,并打印出存款单给储户;假如是取款,系统计算清单给储户。请用DFD,IDEF0描绘该功能的需求,并建立相应数据字典。 9、一个考务处理系统的要求如下,试画出该系统的数据流图。(1) 对考生送来的报名表进行检查;(2) 对合格的报名表编好准考证号码后将准考证送给考生,并将汇总后的考生名单送给阅卷站;(3) 对阅卷站送来的成果表进行检查,并依据考试中心指定的合格标准审定合格者;(4) 填写考生通知单(内容包含考试成果及合格不合格标记),送给考生;(5) 按地区、年龄、文化程度、职业、考试级别等进行成果分

14、类统计及试题难度分析,产生统计分析表。(1)顶层数据流图 (2) 第1层数据流图(3) 第2层数据流图 加工1子图:加工2子图:10、系统流程图是概括地描绘物理系统的传统工具,表达的是数据在系统各部件之间流淌的状况,11、原型化方法主要用于解决什么问题?试说明这种方法的主要优缺点。原型化方法主要用于解决在产品开发的早期阶段需求不确定的问题,用户、经理和其他非技术项目风险担当者发觉在确定和开发产品时,原型可以使他们的想象更具体化。 这种方法的主要优点如下:(1)明确并完善需求 原型作为一种需求工具,它初步实现所理解的系统的一部分,用户对原型的评价可以指出需求中的很多问题。(2) 探究设计选择方案

15、 原型作为一种设计工具,可以探究不同的用户界面技术,使系统达到最佳的可用性,并且可以评价可能的技术方案。(3)发展为最终的产品 原型作为一种构造工具,是产品最初子集的完整功能实现,通过一系列小规模的开发循环,你可以完成整个产品的开发。(4)这种方法的主要缺点包括:(1) 用户看到一个正在运行的原型便以为产品即将完成,他们会要求不再进行产品重建,而只是对原型进行一些修改就交付。由于原型没有考虑软件的总体质量和可维护性,交付原型往往造成欲速则不达的状况。(2) 开发人员为了快速构造原型,可能会采纳不合适的操作系统或程序设计语言,也可能运用一些效率低的算法。在一段时间的开发之后,他们往往已经习惯了这

16、些选择,于是便在系统中参杂了这些不志向的选择。 第三章 需求分析 1、什么是需求分析?需求分析阶段的基本任务是什么? 需求分析:开发人员精确地理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的需求规格说明的过程。 基本任务: 问题识别:双方确定对问题的综合需求,这些需求包括功能需求,性能需求,环境需求,用户界面需求。 分析与综合,导出软件的逻辑模型 。编写文档:包括编写需求规格说明书,初步用户运用手册,确认测试安排,修改完善软件开发安排 。2、什么是结构分析方法?该方法运用什么描述工具? 结构化分析:简称SA,面对数据流进行数据分析的方法。

17、采纳自顶向下逐层分解的分析策略。顶层抽象地描述整个系统,底层具体地画出系统工程的每个细微环节。中间层则是从抽象到具体的过渡。运用数据流图,数据字典,作为描述工具,运用结构化语言,判定表,判定树描述加工逻辑。3、结构化分析方法通过哪些步骤来实现? 了解当前系统的工作流程,获得当前系统的物理模型。 抽象出当前系统的逻辑模型。 建立目标系统的逻辑模型。 作进一步补充和优化。4、E-R图中包含哪几种种基本成分?实体(即数据对象)、关系和属性5、联系可分为哪几种类型?一对一联系(11),一对多联系(1N),多对多联系(MN)6、为何要进行数据结构规范化?为削减数据冗余,避开出现插入异样或删除异样,简化修

18、改数据的过程。7、第一范式每个属性值都必需是原子值,即仅仅是一个简洁值而不含内部结构。8、其次范式满足第一范式条件,而且每个非关键字属性都由整个关键字确定(而不是由关键字的一部分来确定),消退了非关键字属性对关键字属性的部分依靠。9、第三范式符合其次范式的条件,每个非关键字属性都仅由关键字确定,而且一个非关键字属性不能仅仅是对另一个非关键字属性的进一步描述(即一个非关键字属性值不依靠于另一个非关键字属性值),消退了非关键字属性对关键字属性的传递依靠。10、S-L-C(SNO,SDEPT,SLOC,CNO,G),这里SNO表示学号,SDEPT表示系名,SLOC表示楼号,CNO表示课程号,G表示成

19、果。 函数依靠有: (SNO,CNO)G; SDEPTSLOC; SNOSDEPT,对关系进行规范化,达到三范式要求。(1)SC(SNO,CNO,G)和 (2)S-D(SNO,SDEPT,) (3) S-L(SDEPT ,SLOC)11、状态转换图状态转换图(简称为状态图)通过描绘系统的状态及引起系统状态转换的事务,来表示系统的行为。供应了行为建模机制。12、层次方框图层次方框图用树形结构的一系列多层次的矩形框描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际数据元素(不能再分割的元素)。13、I

20、PO图IPO图是输入、处理、输出图的简称,能够便利地描绘输入数据、对数据的处理和输出数据之间的关系。14、从哪些方面验证软件需求的正确性(1) 一样性全部需求必需是一样的,任何一条需求不能和其他需求相互冲突。(2) 完整性需求必需是完整的,规格说明书应当包括用户须要的每一个功能或性能。(3) 现实性指定的需求应当是用现有的硬件技术和软件技术基本上可以实现的。对硬件技术的进步可以做些预料,对软件技术的进步则很难做出预料,只能从现有技术水平动身推断需求的现实性。(4) 有效性必需证明需求是正确有效的,的确能解决用户面对的问题。第四章 总体设计1、什么是总体设计?总体设计的任务是什么?总体设计又称为

21、概要设计或初步设计。确定系统功能是实现。基本任务是:建立软件系统结构(划分模块、定义模块功能、模块间的调用关系、定义模块的接口、评价模块的质量)、数据结构和数据库的设计(数据结构设计、概念设计、逻辑设计、物理设计)、编写概要设计文档(概要设计说明书、用户手册、数据库设计说明书、修订测试安排)。2、总体设计分为哪两个阶段?系统设计阶段,确定系统的具体实现方案;结构设计阶段,确定软件结构。3、总体设计过程包括几个步骤?1. 设想供选择的方案2. 选取合理的方案3. 举荐最佳方案4. 功能分解5. 设计软件结构6. 设计数据库7. 制定测试安排8. 书写文档9. 审查和复审4、模块化是把程序划分成独

22、立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。5、模块化的优点 (1)模块化使软件简洁测试和调试,因而有助于提高软件的牢靠性。 (2)模块化也有助于软件开发工程的组织管理。6、抽象就是抽出事物的本质特性而短暂不考虑它们的细微环节。7、抽象化包括哪些?过程的抽象 、数据抽象。8、模块的独立程度的定性标准度量是什么?好的模块应满足什么标准?内聚和耦合;高内聚低耦合。9、什么耦合?模块间的耦合有哪些?指衡量不同模块彼此间相互依靠(连接)的紧密程度;有非干脆耦合、标记耦合、数据耦合 、限制耦合 、外部耦合、公共耦合和内容耦合 。10

23、、非干脆耦合假如两个模块之间没有干脆关系,它们之间的联系完全是通过主模块的限制和调用来实现的,这就是非干脆耦合。这种耦合的模块独立性最强。11、标记耦合假如一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一数据结构的子结构,而不是简洁变量。12、数据耦合假如一个模块访问另一个模块时,彼此之间是通过简洁数据参数 (不是限制参数、公共数据结构或外部变量) 来交换输入、输出信息的,则称这种耦合为数据耦合。13、限制耦合假如一个模块通过传送开关、标记、名字等限制信息,明显地限制选择另一模块的功能,就是限制耦合。14、外部耦合一组模块都访问同一全局简洁变量而不是同一全局数据结构,而且不是通过参

24、数表传递该全局变量的信息,则称之为外部耦合。15、公共耦合若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。16、内容耦合假如发生下列情形,两个模块之间就发生了内容耦合 (1) 一个模块干脆访问另一个模块的内部数据; (2) 一个模块不通过正常入口转到另一模块内部; (3) 两个模块有一部分程序代码重迭(只可能出现在汇编语言中); (4) 一个模块有多个入口。17、内聚衡量一个模块内部各个元素彼此结合的紧密程度。功能内聚 ,信息内聚 ,通信内聚 ,过程内聚,时间内聚,逻辑内聚,巧合内聚。19、功能内聚 一个模

25、块中各个部分都是完成某一具体功能必不行少的组成部分,或者说该模块中全部部分都是为了完成一项具体功能而协同工作,紧密联系,不行分割的。则称该模块为功能内聚模块。20、信息内聚 这种模块完成多个功能,各个功能都在同一数据结构上操作,每一项功能有一个唯一的入口点。这个模块将依据不同的要求,确定该执行哪一个功能。由于这个模块的全部功能都是基于同一个数据结构(符号表),因此,它是一个信息内聚的模块。21、通信内聚 假如一个模块内各功能部分都运用了相同的输入数据,或产生了相同的输出数据,则称之为通信内聚模块。通常,通信内聚模块是通过数据流图来定义的。22、过程内聚运用流程图做为工具设计程序时,把流程图中的

26、某一部分划出组成模块,就得到过程内聚模块。例如,把流程图中的循环部分、判定部分、计算部分分成三个模块,这三个模块都是过程内聚模块。23、时间内聚时间内聚又称为经典内聚。这种模块大多为多功能模块,但模块的各个功能的执行与时间有关,通常要求全部功能必需在同一时间段内执行。例如初始化模块和终止模块。24、逻辑内聚这种模块把几种 相关的功能组合在一起,每次被调用时,由传送给模块的判定参 数来确定该模块应执行哪一种功能。25、巧合内聚巧合内聚又称为偶然内聚。当模块内各部分之间没有联系,或者即使有联系,这种联系也很松散,则称这种模块为巧合内聚模块,它是内聚程度最低的模块。26、扇出是一个模块干脆限制(调用

27、)的模块数目。27、扇入一个模块的扇入表明有多少个上级模块干脆调用它。28、模块的作用域定义为受该模块内一个判定影响的全部模块的集合。29、模块的限制域是这个模块本身以及全部干脆或间接从属于它的模块的集合。30、模块化的优点。 模块化使软件简洁测试和调试,因而有助于提高软件的牢靠性,提高软件的可修改性。 模块化也有助于软件开发工程的组织管理。31、逐步求精、分层过程与抽象等概念之间的相互关系如何?“自顶向下,逐步求精”是Niklaus Wirth提出的设计策略:即将软件的体系结构按自顶向下方式,对各个层次的过程细微环节和数据细微环节逐层细化,直到用程序设计语言的语句能够实现为止,从而最终确立完

28、全的体系结构。这样的结构实际就是一个模块的分层结构,即分层的过程。在实施时,采纳抽象化的方法,自顶向下,给出不同的抽象层次。在最高的抽象层次上,可以运用问题所处环境的语言概括地描述问题的解法。而在较低的抽象层次上,则采纳过程化的方法。在描述问题的解法时,我们可以协作运用面对问题的术语和面对现实的术语。但最终在最低的抽象层次上,应运用能够干脆实现的方式来描述这个解法。32、什么是软件结构图?简述软件结构设计优化准则。软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的限制体系。准则:高内聚低耦合、作用范围在限制范围内、软件的深度、宽度、扇入、扇出适当、模块大小适中、接口简洁清楚易懂。3

29、3、什么是模块的限制范围和作用范围?他们的关系如何?限制范围:是模块本身和它的下属模块的集合。作用范围:模块中的一个判定影响的全部模块的集合。作用范围应当在限制范围内。33、什么是变换流?什么是事物流?变换流由输入、变换(或处理)、输出三部分组成。事物流某个加工将它的输入流分别成很多发散的数据流,形成很多加工路径,并依据输入选择其中一个路径来执行。34、试述变换分析事物分析设计步骤。变换分析设计步骤:确定变换中心,逻辑输入和输出。 设计软件结构的顶层和第一层-变换结构:顶层的功能是完成全部模块的限制(名称应是系统名,以体现完成整个系统功能) 第一层至少有三种功能模块:输入输出和变换模块 设计中

30、下层模块,对第一层的模块自顶向下分解。 输入模块由两部分组成:接收数据转换成调用模块所需信息。 输出模块由两部分组成:将数据转换成下属模块所需的形式 发送数据变换模块:对每个基本加工建立一功能模块 设计的优化 :输入部分求精,每个物理输入设置特地模块,以体现系统的外部接口。其它输入模块与转换数据模块都很简洁时,可将它们合并。输出部分求精:每个物理输出设置特地模块,其它也可适当合并。变换部分求精:依据设计准则,对模块适当合并。 事务分析的设计步骤:确定事务中心和加工路径 设计顶层(事务机构)和第一层 顶层模块有两个功能:接收数据和依据事务类型调动相应处理模块。 中下层模块的设计优化工作与变换结构

31、相同。 事务型软件结构包括两部分: 接收分支 发送分支出 通常包括一调度模块,当事务类型不多时,可与主模块合并 。35、请将下图的DFD转换为软件结构图。解:第五章 具体设计1、 具体设计的基本任务是什么?有那几种描述方法?设计模块的数据结构、设计数据库的物理结构、设计模块的具体算法、其它(代码设计、输入/输出格式设计、人机对话设计)、编写具体设计说明书、评审。程序流程图、PAD图、PDL。2、请运用流程图、PAD图和PDL语言描述下列程序的算法。(1)在数据A(1)A(10)中求最大数和次大数。PDL语言描述: GET(a1,a2,.a10) max=a1; max2=a2; FOR i=2

32、 TO 10 IF aimax max2=max; max=ai; ELSE IF aimax2 max2=ai; ENDIF ENDIF ENDFOR PUT(max,max2) END3、输入三个正整数作为边长,推断该三条边构成的三角形是等边、等腰还是一般三角形。运用流程图、PAD图和PDL语言描述。解:如图:PDL语言描述如下: GET(a,b,c) IF (a+bc and b+ca and c+ab) IF (a=b) IF (a=c) PUT(等边三角形) ELSE PUT(等腰三角形) ENDIF ELSE IF(a=c) PUT(等腰三角形) ELSE IF (b=c) PUT

33、(等腰三角形) ELSE PUT(一般三角形) ENDIF ENDIF ENDIF ELSE PUT (这不是一个三角形) ENDIF4、画出下面用PDL写出的程序的PAD图。WHILE P DO IF A O THEN A1 ELSE A2 ENDIF; S1; IF B0 THEN B1; WHILE C DO S2;S3 ENDWHILE; ELSE B2 ENDIF; B3 ENDWHILE;第六章 编码与测试1、软件测试的目的是什么?软件测试中,应留意哪些原则?答:软件测试的目的是为了发觉软件的错误。软件测试中应留意的原则有:(1)测试用例应由输入数据和预期的输出数据两部分组成。这样

34、便 于比照检查,做到有的放矢。 (2)测试且例不仅选用合理输入数据,还要选择不合理的输入数据。这样能更多地发觉错误,提高程序的牢靠性。对于不合理的输入数据,程序应拒绝接受,并给出相应的提示。 (3)除了检查程序是否做了它应当做的事,还应当检查程序是否做了它不应当做的事。 (4)应制定测试安排并严格执行,解除随意性。 (5)长期保留测试用例。 (6)对发觉错误较多的程序段,应进行更深化的测试。 (7)程序员应避开测试自己的程序。测试是一种挑剔性的行为,心理状态是测试自己程序的障碍。 2、什么是白盒测试法?有哪些覆盖标准?试对他们的检错实力进行比较?答:白盒法测试法把测试对象看作一个打开的盒子,测

35、试人员须了解程序内部结构和处理过程,以检查处理过程的细微环节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部限制结构和数据结构是否有错,实际的运行状态与预期的状态是否一样。白盒法有下列几种覆盖标准: 语句覆盖:设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。 判定覆盖:设计若干个测试用例,运行被测程序,使得程序中每个推断的取真分支和取假分支至少经验一次。 条件覆盖:设计若干个测试用例,运行被测程序,使得程序中每个推断的每个条件的可能取值至少执行一次。 判定/条件覆盖:设计足够的测试用例,使得推断中每个条件的全部可能取值至少执行一次,同时每个推断中的每个条件的可能取值至少执

36、行一次。 条件组合覆盖:设计足够的测试用例,运行被测程序,使得每个推断的全部可能的条件取值组合至少执行一次。 路径覆盖:设计足够的测试用例,覆盖程序中全部可能的路径。从上到下的覆盖标准其检错实力也从弱到强,其中条件组合发觉错误的实力较强,凡满足其标准的测试用例,也必定满足前四种覆盖标准。在实际的逻辑测试中,一般以条件组合覆盖为主设计测试用例,然后再补充部分用例来达到路径覆盖的测试标准。3、什么是黑盒测试法?采纳黑盒技术测试用例有哪几种方法?这些方法各有什么特点?答:黑盒测试法把被测试对象看成是一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件接口处进行测试,依据需求规格说明书,检

37、查程序是否满足功能要求。采纳黑盒技术测试用例的方法有:等价类的划分、边界值分析、错误推想和因果图。 等价类的划分:是将输入数据按有效的或无效的(也称合理的或不合理的)划分成若干个等价类,测试每个等价类的代表值就等于对该类其他值的测试。这样就把漫无边迹的随机测试改为有针对性的等价类测试,用少量有代表性的例子代替大量测试目的相同的例子,能有效地提高测试效率。但这个方法的缺点是没有留意选择某些高效的、能够发觉更多错误的测试用例。 边界值分析法:是将测试边界状况作为重点目标,选取正好等于、刚刚大于和刚刚小于边界值的测试数据。(边界状况是指输入等价类和输入等价类边界上的状况。)这种方法可以查出更多的错误

38、,因为在程序中往往在处理边界状况时易发生错误。 错误推想法:是在测试程序时,人们依据阅历或直觉推想程序中可能存在的错误,从而有针对性地编写检查这些错误的测试用例。 因果图:能够有效地检测输入条件的各种组合可能会引起的错误。它的基本原理是通过画因果图,把用自然语言描述的功能说明转换为判定表,最终为判定表的每一列设计一个测试用例。这几种方法都不能供应一组完整的测试用例,在实际测试中应把各种方法结合起来运用。综合策略:就是联合运用上述几种测试方法,尽可能多地发觉程序中的错误。4、软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系?答:软件测试要经过的步骤是:单元测试集成测试确认测试系统测

39、试。 单元测试:对源程序中每一个程序单元进行测试,检查各个模块是否正的确现规定的功能,从而发觉模块在编码中或算法中的错误。该阶段涉及编码和具体设计文档。 集成测试:是为了检查与设计相关的软件体系结构的有关问题,也就是检查概要设计是否合理有效。 确认测试:主要是检查已实现的软件是否满足需求规格说明书中确定了的各种需求。 系统测试:是把已确认的软件与其他系统元素(如硬件、其他支持软件、数据、人工等)结合在一起进行测试。以确定软件是否可以支付运用。5、单元测试有哪些内容?测试中采纳什么方法?答:单元测试主要针对模块的以下五个基本特征进行测试:(1)模块接口 (2)局部数据结构 (3)重要的执行路径

40、(4)错误处理 (5)边界条件 测试的方法是为被测试模块编写驱动模块和桩模块来实现被测试单元的可运行。通过驱动模块来模拟被测试模块的上级调用模块,以上级模块调用被测模块的格式驱动被测模块,接收被测模块的测试结构并输出。桩模块则用来代替被测试模块所调用的模块。它的作用是返回被测模块所需的信息。6、什么是集成测试?非渐增式测试与渐增式测试有什么区分? 渐增式测试如何组装模块?答:集成测试是指在单元测试的基础上,将全部模块依据设计要求组装成一个完整的系统进行的测试。非渐增式测试是指首先对每个模块分别进行单元测试,再把全部模块组装成一个完整的系统进行的测试。而渐增式测试就是逐个把未经测试的模块组装到已

41、经过测试的模块上去进行集成测试,每加入一个新模块进行一次集成测试,重复此过程直到程序组装完毕。渐增式测试有两种不同的组装方法:自顶向下和自底向上结合。两者区分是:(1)非渐增式方法把单元测试和集成测试分成两个不同的阶段,前一阶段完成模块的单元测试,后一阶段完成集成测试。而渐增式测试往往把单元测试和集成测试合在一起,同时完成。(2)非渐增式须要更多的工作量,因为每个模块都须要驱动模块和桩模块,而渐增式利用已测试过的模块作为驱动模块或桩模块,因此工作量少。(3)渐增式可以较早地发觉接口之间的错误,非渐增式最终组装时才发觉。(4)渐增式有利于排错,发生错误往往和最近新加入的模块有关,而非渐增式发觉接

42、口错误推迟到最终,很难推断是哪一部分接口出错。(5)渐增式比较彻底,已测试的模块和新的模块再测试。(6)渐增式点用时间较多,但非渐增式所需更多的驱动模块和桩模块也占用一些时间。(7)非渐增式起先可并行测试全部模块,能充分利用人力,对测试大型软件很有意义。7、什么是确认测试?该阶段有哪些工作?答:确认测试又称有效性测试。它的任务是检查软件的功能与性能是否与需求规格说明书中确定的指标相符合。因而需求说明是确认测试的基础。确认测试阶段有两项工作:进行确认测试与软件配置审查。8、调试的目的是什么?调试有哪些技术手段?答:调试则是在进行了胜利的测试之后才起先的工作。调试的目的是确定错误的缘由和位置,并改

43、正错误,因此调试也称为纠错(Debug)。调试的技术手段有简洁的调试方法、归纳法、演绎法和回溯法等。9、将正确答案的编号填入题目空白处:在白盒测试用例中,有语句覆盖、条件覆盖、判定覆盖、路径覆盖等,其中(A)是最强的覆盖准则。为了对下图所示的程序进行覆盖测试,必需适当地选取测试数据。若X,Y是两个变量,可供选择的测试数据组共有I,II,III,IV四组(如表中给出),则实现语句覆盖至少应采纳的测试数据组是(B);实现条件覆盖至少应采纳的测试数据组是(C);实现路径覆盖至少应采纳的测试数据组是(D)或(E)。可供选择的答案:A:(1)语句覆盖 (2)条件覆盖 (3)判定覆盖 (4)路径覆盖BE:

44、(1)I和II组 (2)II和III级 (3)III和IV组 (4)I和IV组 (5)I、II和III组 (6)II,III和IV组 (7)I,III和IV组 (8)I、II和IV组答:A:(4) B:(1) C:(4) D:(5) E:(8)10、请对“判定三角形类别”程序算法用等价类划分和边界值分析法设计测试用例,并检查逻辑覆盖标准。解:先划分等价类并编号:为合理等价类设计测试用例,对于表中对应的四个合理等价类,用三个测试用例覆盖。为每一个不合理等价类设计一个测试用例:用边界值法设计测试用例:11、某“调整工资”处理模块接受一个“职称”的变量,依据职称的不同(助教,讲师,副教授,教授)作不

45、同的处理,其中若是助教还必需输入工龄,只有工龄超过两年才能调整工资。请用等价类划分法设计测。1.划分等价类: 计测试用例:第七章 软件维护1、软件维护有哪些内容? 答:(1)校正性维护。在软件交付运用后,一些隐含的错误在某些特定的运用环境下会暴露出来。为了识别和订正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。 (2)适应性维护。为了使应用软件适应计算机硬件、软件环境及数据环境的不断发生的改变而修改软件的过程称为适应性维护。 (3)完善性维护。为增加软件功能、增加软件性能、提高软件运行效率而进行的维护活动称为完善性维护。 (4)预防性维护。为了提高软件的可维

46、护性和牢靠性而对软件进行的修改称为预防性维护。 2、 软件维护的特点是什么? 答:主要体现在三个方面: (1) 非结构化维护和结构化维护。软件的开发过程对软件的维护有很大的影响。若不采纳软件工程的方法开发软件,则软件只有程序而无文档,维护工作特别困难,这是一种非结构化的维护。若采纳软件工程的方法开发软件,则各阶段都有相应的文档,简洁进行维护工作,这是一种结构化的维护。 (2) 维护的困难性。软件维护的困难性是由于软件需求分析和开发方法的缺陷。软件生存周期中的开发阶段没有严格而又科学的管理和规划,就会引起软件运行时的维护困难。(3) 软件维护的费用。软件维护的费用在总费用中的比重是在不断增加的,

47、这是软件维护有形的代价。另外还有无形的代价,即要占有更多的资源。软件维护费用增加的占有缘由是软件维护的生产率特别低。 3、 软件维护的流程是什么? 答:软件维护的流程如下:提交维护申请报告、审查申请报告并批准、运行维护并做具体记录、复审。 4、 软件维护的副作用有哪些? 答:维护的副作用有以下三种: (1) 编码副作用。在运用程序设计语言修改源代码时可能引入的错误。 (2) 数据副作用。在修改数据结构时,有可能造成软件设计与数据结构不匹配,因而导致软件错误。数据副作用是修改软件信息结构导致的结果。但它可以通过具体的设计文档加以限制。 (3) 文档副作用。假如对可执行软件的修改没有反映在文档中,就会产生文档副作用。 5、什么是软件可维护性?可维护性度量的特性是什么?答:软件可维护性的定义:软件能够被理解、校正、适应及增加功能的简洁程度。软件的可维护性可用以下七个质量特性来衡量,即可理解性、可测试性、可修改性、牢靠性、可移植性、可运用性和效率。 6、 提高可维护性的方法有哪些? 答:(1)建立明确的软件质量目标。 (2)运用先进的软件开发技术和工具。 (3)建立明确的质量保证。 (4)选择可维护性的程序设计语言。 (5)改进程序的文档。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!