软件工程试题及答案[5].docx
《软件工程试题及答案[5].docx》由会员分享,可在线阅读,更多相关《软件工程试题及答案[5].docx(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程试题及答案1. 软件生命期各阶段的任务是什么? 答:软件生命期分为7个阶段: 1、问题定义:要解决的问题是什么2、可行性探讨:确定问题是否值得解,技术可行性、经济可行性、操作可行性3、需求分析:系统必需做什么4、总体设计:系统如何实现,包括系统设计和构造设计5、具体设计:具体实现设计的系统6、实现:编码和测试7、运行维护:保证软件正常运行。 2、软件重用的效益是什么? 答:1、软件重用可以显著地改善软件的质量和牢靠性。2、软件重用可以极大地进步软件开发的效率。3、节约软件开发的本钱,避开不必要的重复劳动和人力、财力的奢侈。 3、 自顶而下渐增测试与自底而上渐增测试各有何优、缺点? 答:
2、 自顶而下渐增测试 优点:不须要测试驱动程序,可以在测试阶段的早期实现并验证系统的主要功能,而且可以尽早觉察上层模块的接口错误。 缺点:须要存根程序,底层错误觉察较晚。 自底而上渐增测试 优点与缺点和自顶而下渐增测试相反。 4 、 进步可维护性的方法有哪些? 答:在软件工程的每一阶段都应当努力进步系统的可维护性,在每个阶段完毕前的审查和复审中,应着重对可维护性进展复审。 在需求分析阶段的复审中,应对将来要扩大和修改的局部加以注明。在探讨软件可移植性问题时,要考虑可能要影响软件维护的系统界面。 在软件设计的复审中,因从便于修改、模块化和功能独立的目的动身,评价软件的构造和过程,还应对将来可能修改
3、的局部预先做打算。 在软件代码复审中,应强调编码风格和内部说明这两个影响可维护性的因素。 在软件系统交付运用前的每一测试步骤中都应给出须要进展预防性维护局部的提示。 在完成每项维护工作后,都应对软件维护本身进展细致细致的复审。 为了从根本上进步软件系统的可维护性,人们正试图通过干脆维护软件规格说明来维护软件 ,同时也在大力开展软件重用技术。简述软件测试要经过哪几个步骤,每个步骤与什么文档有关。【解答】测试过程按 4 个步骤进展,即单元测试(模块测试)、集成测试(子系统测试和系统测试)、确认测试(验收测试)和平行运行。单元测试集中对用源代码实现的每一个程序单元进展测试,与其相关的文档是单元测试支
4、配和具体设计说明书。集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系构造的构造进展测试。与其相关的文档是集成测试支配和软件需求说明书。确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以和软件配置是否完全、正确。与其相关的文档是确认测试支配和软件需求说明书。平行运行把已经经过确认的软件纳入实际运行环境中,与其他系统成份组合在一起进展测试。与其相关的文档:用户指南、运用手册等。36简述容错技术的四种主要手段,并说明。构造冗余:包括静态冗余、动态冗余和混合冗余。信息冗余:为检测或订正信息在运算或传输中的错误,须外加一局部信息。时间冗余:指重复执行指令或程序来消退瞬
5、时错误带来的影响。冗余附加技术:指为实现上述冗余技术所需的资源和技术。36可行性报告的主要内容有哪些解:一个可行性探讨报告的主要内容如下:(1)引言:说明编写本文档的目的;工程的名称、背景;本文档用到的特地术语和参考资料。(2)可行性探讨前提:说明开发工程的功能、性能和根本要求;到达的目的;各种限制条件;可行性探讨方法和确定可行性的主要因素。(3)对现有系统的分析:说明现有系统的处理流程和数据流程;工作负荷;各项费用支出;所须要各类专业技术人员的数量;所须要各种设备;现有系统存在什么问题。(4)所建议系统的技术可行性分析:所建议系统的简要说明;处理流程和数据流程;与现有的系统比拟的优越性;承受
6、所建议系统对用户的影响;对各种设备、现有软件、开发环境、运行环境的影响;对经费支出的影响;对技术可行性的评价。(5)所建议系统的经济可行性分析:说明所建议系统的各种支出,各种效益;收益投资比;投资回收周期。(6)社会因素可行性分析:说明法律因素,对合同责任、侵扰专利权、侵扰版权等问题的分析;说明用户运用可行性,是否满足用户行政管理、工作制度、人员素养的要求。(7)其他可供选择方案:逐一说明其他可供选择的方案,并说明未被举荐的理由。(8)结论意见:说明工程是否能开发;还须要什么条件才能开发;对工程目的有什么变动等。解析做软件的可行性探讨的目的就是用最小的代价在尽可能短的时间内确定该软件工程是否可
7、以开发,是否值得去开发,其中的问题能否解决,报告共分为八个根本内容。37系统设计的内容是什么?解:系统设计阶段先从高层入手,然后细化。系统设计要确定整个构造和风格,这种构造为后面设计阶段的更具体策略的设计供给了根底。(1)系统分解。系统中主要的组成局部称为子系统,子系统既不是一个对象也不是一个功能,而是类、关联、操作、时间和约束的集合。每次分解的各子系统数目不能太多,最底层子系统称为模块。(2)确定并发性。分析模型、现实世界和硬件中不少对象均是并发的。系统设计的一个重要目的就是确定哪些是必需同时动作的对象,哪些不是同时动作的对象。后者可以放在一起,而综合成单个限制线或任务。(3)处理器和任务支
8、配。各并发子系统必需支配给单个硬件单元,要么是一个一般的处理器,要么是一个具体的功能单元,必需完成下面的工作:估计性能要求和资源需求,选择实现子系统的硬软件,将软件子系统支配给各处理器以满足性能要求和微小化处理器之间的通信,确定实现各子系统的各物理单元的连接。(4)数据存储管理。系统中的内部数据和外部数据的存储管理是一项重要的任务。通常各数据存储可以将数据构造、文件、数据库组合在一起,不同数据存储要在费用、访问时间、容量以和牢靠性之间做折中考虑。(5)全局资源的处理。必需确定全局资源,并且制定访问全局资源的策略。全局资源包括:物理资源,如处理器、驱动器等;空间,如盘空间、工作站屏等;逻辑名字,
9、如对象标识符、类名、文件名等。假设资源是物理对象,则可以通过建立协议实现对并发系统的访问,以到达自身限制;假设资源是逻辑实体,如对象标识符,那么在共享环境中有冲突访问的可能,如独立的事务可能同时运用同一个对象标识符,则各个全局资源都必需有一个疼惜对象,由疼惜对象来限制对该资源的访问。(6)选择软件限制机制。分析模型中全部交互行为都表示为对象之间的事务。系统设计必需从多种方法中选择某种方法来实现软件的限制。(7)人机交互接口设计。设计中的大局部工作都与稳定的状态行为有关,但必需考虑用户运用系统的交互接口。38什么是软件危机?软件危机的表现是什么?其产生的缘由是什么?解:软件开展第二阶段的末期,由
10、于计算机硬件技术的进步,计算机运行速度、容量、牢靠性有显著的进步,消费本钱显著下降,这为计算机的广泛应用创立了条件。一些困难的、大型的软件开发工程提出来了,但是,软件开发技术的进步始终未能满足开展的须要。在软件开发中遇到的问题找不到解决方法,使问题积累起来,形成了锋利的冲突,因此导致了软件危机。软件危机表如今以下四个方面:(1)经费预算常常打破,完成时间一再拖延。由于缺乏软件开发的阅历和软件开发数据的积累,使得开发工作的支配很难制定。主观盲目制定支配,执行起来与实际状况有很大差距,使得开发经费一再打破。由于对工作量估计缺乏,对开发难度估计缺乏,进度支配无法按时完成,开发时间一再拖延。(2)开发
11、的软件不能满足用户要求。开发初期对用户的要求理解不够明确,未能得到明确的表达。开发工作开场后,软件人员和用户又未能和时交换意见,使得一些问题不能和时解决,导致开发的软件不能满足用户的要求,因此导致开发失败。(3)开发的软件可维护性差。开发过程中没有同意的、公认的标准,软件开发人员按各自的风格工作,各行其是,开发过程无完好、标准的文档,觉察问题后进展杂乱无章的修改。程序构造不好,运行时觉察错误也很难修改,导致维护性差。(4)开发的软件牢靠性差。由于在开发过程中,没有确保软件质量的体系和措施,在软件测试时,又没有严格的、充分的、完全的测试,提交给用户的软件质量差,在运行中暴露出大量的问题。造成软件
12、危机的缘由是:(1)软件的规模越来越大,构造越来越困难。(2)软件开发管理困难而困难。(3)软件开发费用不断增加。(4)软件开发技术落后。(5)消费方式落后。6)开发工具落后,消费率进步缓慢。39软件质量保证应做好哪几方面的工作?解:软件质量保证是软件工程管理的重要内容,软件质量保证应做好以下几方面的工作:(1)承受技术手段和工具。质量保证活动要贯彻开发过程始终,必需承受技术手段和工具,尤其是运用软件开发环境来进展软件开发。(2)组织正式技术评审。在软件开发的每一个阶段完毕时,都要组织正式的技术评审。国家标准要求单位必需承受审查、文档评审、设计评审、审计和测试等具体手段来保证质量。(3)加强软
13、件测试。软件测试是质量保证的重要手段,因为测试可觉察软件中大多数潜在错误。(4)推行软件工程标准(标准)。用户可以自己制定软件工程标准(标准),但标准一旦确认就应贯彻执行。(5)对软件的变更进展限制。软件的修改和变更常常会引起潜藏的错误,因此必需严格限制软件的修改和变更。(6)对软件质量进展度量。即对软件质量进展跟踪,和时记录和报告软件质量状况。解析软件的质量保证是向用户和社会供给满足的高质量的产品,确保软件产品从诞生到消亡为止的全部阶段的质量的活动,是软件工程管理中的重要内容。40请运用PAD图和PDL语言描绘在数组A(1)A(10)中找最大数的算法。解:PDL语言:N=1WHILE N=1
14、0 DOIF A(N)=A(N+1) MAX =A(N+1);ELSE MAX =A(N) ENDIF;N=N+1;ENDWHILE;PAD图:解析人工查找时,是从第一个元素开场查找,用当前元素与下一个元素比拟,将较大者作为当前元素又与下一元素比拟,如此循环,直到数组末尾。四、应用题(每题8分,共40分)42某电器集团公司下属的厂包括技术科、消费科等基层单位。如今想建立一个计算机扶植企业管理系统,其中:消费科的任务是:(1)依据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月消费支配。(2)依据车间实际消费日报表、周报表调整月消费支配3)以月消费支配为以和,制定产品设计(构造
15、、工艺)和产品组装月支配。(4)将产品的组装支配传到达各科,将组装月支配分解为周支配,下达给车间技术科的任务是:(1)依据消费科转来的组装支配进展产品构造设计,产消费品装配图给消费科,产生外购需求支配给供给科,并产消费品自制物料清单。(2)依据组装支配进展产品工艺设计,依据产品自制物料清单产生工艺流程图给零件厂。 试写出以上系统中消费科和技术科处理的软件构造图。解:画诞消费科图的给6分,画出技术科的给4分。 解析软件构造图是软件系统的模块层次构造,反映了整个系统的功能实现,即将来程序的限制层次体系,软件构造往往用树状或网状构造的图形来表示,其主要内容有模块和模块的限制关系,依据题意,可绘制诞消
16、费科和技术科的软件构造图,其中消费科的构造图深度和宽度均为4,技术科的构造图的深度和宽度均为3。1、 假设一家工厂的选购部每天须要一张定货报表,报表按零件编号排序,表中列出全部须要再次定货的零件。对于每个须要再次定货的零件应当列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供给者,次要供给者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应当再次定货。要求:画出系统的数据流图。 答: 2、 将下面给出的伪码转换为N-S图和PAD图。void root ( float root1, float root2 ) i = 1
17、; j = 0; while ( i = 10 ) 输入一元二次方程的系数a, b, c;p = b*b 4*a*c;if ( p 0 ) 求出根并输出;if ( p = 0 ) 求出重根并输出; j = j + 1;i = i +1; 输出重根的方程的个数j;【解答】(1)N-S图i = 1; j = 0;while ( i = 10 )输入a, b, c; 计算 p = b2 - 4ac; p 0 p = 0 求出重根并输出; j = j + 1;i = i + 1;输出重根的方程个数iTTTFFF(2)PAD图i = 1; j = 0;输出重根的方程个数iwhile ( i 0 p CA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 试题 答案
限制150内