软件工程作业题参考答案

上传人:第** 文档编号:32897733 上传时间:2018-02-13 格式:DOC 页数:12 大小:196.50KB
返回 下载 相关 举报
软件工程作业题参考答案_第1页
第1页 / 共12页
软件工程作业题参考答案_第2页
第2页 / 共12页
软件工程作业题参考答案_第3页
第3页 / 共12页
软件工程作业题参考答案_第4页
第4页 / 共12页
软件工程作业题参考答案_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《软件工程作业题参考答案》由会员分享,可在线阅读,更多相关《软件工程作业题参考答案(12页珍藏版)》请在金锄头文库上搜索。

1、东北农业大学网络教育学院软件工程作业题参考答案作业题一参考答案一、1、D 2、B 3、A 4、A 5、B6、A 7、D 8、D 9、C 10、A二、1、工作量最大为维护阶段2、当验收测试通过,软件开发并没有完成还应该有维护。3、好的测试用例不能证明软件是正确的。4、5、模块独立要求高内聚低耦合。三、1、自上而下(自顶向下) ,逐步求精2、软件的功能正确并不代表软件是可靠的。可靠性是指在一定的环境下,在给定的时间内系统不发生故障的概率。由于无法对软件进行彻底的测试,因此即使软件的某个功能是正确的,软件中潜在的错误也可能导致其不可靠,如2000年问题就是如此。3、软件测试包括单元测试、集成测试、确

2、认测试和系统测试等。单元测试集中于单个模块的功能和结构的检验;集成测试集中于模块组合的功能和软件结构检验;确认测试主要检查软件是否符合合同要求,包括需求规格说明、设计规格说明和用户手册等;系统测试集中检验系统所有元素之间协作是否合适,整个系统的性能和功能是否达到。4、软件可行性研究的目的是用最小的代价在尽可能短的时间内确定该软件项目是否值得去开发。可行性研究的目的不是去开发一个软件项目,而是研究这个项目是否值得开发,其中的问题如何解决,主要包括时间、资金、技术等方面的内容。5、市场调研 项目计划、成本故机、编制需求规格说明书(可同时进行) 需求复审 总体设计 详细设计 设计复审 实现 单元测试

3、 验收测试 系统测试四、1、程序图: 12374586判定覆盖a点 A1,A0b点 A=2,A2,X1,X1,A0b点 A=2,A2,X1,X=300 =150 =300 =150发卡类型 金卡 银卡 普通卡 银卡 普通卡 无作业三答案:一 选择题D C B B CB A A D A二 判断题(1).() 改正:内聚越高,耦合越低 (2).()改正:仅能证明错误存在(3).() (4).()代价越高(5).() 三 简答题1、DFD 是软件系统逻辑模型的一种图形表示(Graphic representation)。主要作用是指明系统中数据是如何流动和变换的,以及描述数据流进行变换的功能,在 D

4、FD中出现的每个功能的描述则写在加工说明(PSPEC)中,他们一起构成软件的功能模型数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。只有数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明。2、根据原型的不同作用,有三类原型模型:探索型原型。这种类型的原型模型是把原型用于开发的需求分析阶段,目的是要弄清用户的需求,确定所期望的特性,并探索各种方案的可行性。它主要针对开发目标模糊,用户与开发着对项目都缺乏经验的情况,通过对原型的开发

5、来明确用户的需求。实验型原型。这种原型主要用于设计阶段,考核实现方案是否合适,能否实现,对于一个大型系统,若对设计方案心中没有把握时,可通过这种原型来证实设计方案的正确性。演化型原型。这种原型主要用于及早向用户提交一个原型系统,该原型系统或者包含系统的框或者包含系统的主要功能。在得到用户的认可后,将原型系统不断扩充演变为最终的软件系统,它将原型的思路扩展到软件开发的全过程。3、深度表示软件结构中控制的层数,它往往能粗略地标志一个系统的大小和复杂程度。 宽度是软件结构内同一个层次上的模块总数的最大值。一般说来,宽度越大系统越复杂。对宽度影响最大的因素是模块的扇出。扇出是一个模块直接控制(调用)的

6、模块数目,扇出过大意味着模块过分复杂,需要控制和协调过多的下级模块;扇出过小(例如总是 1)也不好。经验表明,一个设计得好的典型系统的平均扇出通常是 3或 4(扇出的上限通常是 59)。扇出太大一般是因为缺乏中间层次,应该适当增加中间层次的控制模块。扇出太小时可以把下级模块进一步分解成若干个子功能模块,或者合并到它的上级模块中去。一个模块的扇入表明有多少个上级模块直接调用它,扇入越大则共享该模块的上级模块数目越多,这是有好处的,但是,不能违背模块独立原理单纯追求高扇入。观察大量软件系统后发现,设计得很好的软件结构通常顶层扇出比较高,中层扇出较少,底层扇入到公共的实用模块中去(底层模块有高扇入)

7、。4、非渐增式测试一下子把所有模块放在一起,并把庞大的程序作为一个整体来测试,测试者面对的情况十分复杂。测试时会遇到许许多多的错误,改正错误更是极端困难,因为在庞大的程序中想要诊断定位一个错误是非常困难的。而且一旦改正一个错误之后,马上又会遇到新的错误,这个过程将继续下去,看起来好像永远也没有尽头。渐增式测试与“一步到位”的非渐增式测试相反,它把程序划分成小段来构造和测试,在这个过程中比较容易定位和改正错误;对接口可以进行更彻底的测试;可以使用系统化的测试方法。因此,目前在进行集成测试时普遍采用渐增式测试方法。5、维护就是在软件交付使用后进行的修改,修改之前必须理解待修改的对象,修改之后应该进

8、行必要的测试,以保证所做的修改是正确的。如果是改正性维护,还必须预先进行调试以确定错误的具体位置。因此,决定软件可维护性的因素主要有下述 5 个:1. 可理解性2. 可测试性3. 可修改性4. 可移植性5. 可重用性四 应用题1、开始输入 abcaX18 50X18 X50 X50 X50学历 本科 本科 本科 硕士 本科 本科 硕士性别 男 女 男 女报考研究生 行政工作 中层领导 课题组组长 科研人员 资料员 作业四答案一、1、B 2、A 3、D 4、B 5、A6、A 7、C 8、D 9、C 10、C二、1、2、加工。3、软件技术复审是由用户和测试人员实施的一种质量保证活动。4、5、三、1

9、. 软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软件,其主要目标如下: (1) 合理预算开发成本,付出较低的开发费用;(2) 实现预期的软件功能,达到较好的软件性能,满足用户的需求;(3) 提高所开发软件的可维护性,降低维护费用;(4) 提高软件开发生产率,及时交付使用。2. 建立原型的主要原因是为了解决在产品开发的早期阶段需求不确定的问题,用户、经理和其他非技术项目风险承担者发现在确定和开发产品时,原型可以使他们的想象更具体化。原型在软件开发过程中可以起到以下主要作用:(1) 明确并完善需求 原型作为一种需求工具,它初步实现所理解的系统的一部分。用户对原型的评价可以指出需求中

10、的许多问题,在你开发真正产品之前,可以最低的费用来解决这些问题。(2) 探索设计选择方案 原型作为一种设计工具,用它可以探索不同的用户界面技术,使系统达到最佳的可用性,并且可以评价可能的技术方案。(3) 发展为最终的产品 原型作为一种构造工具,是产品最初子集的完整功能实现,通过一系列小规模的开发循环,你可以完成整个产品的开发。3在单元测试时,需要为被测程序编制若干测试软件,给它的上级模块或下级模块做替身。代替上级模块的称为测试驱动模块(Test Driver),代替下级模块的称为测试桩模块(Test Stub)。(1)自顶向下组合。该方法只需编写桩模块,其步骤是从顶层模块开始,沿被测程序的软件

11、结构图的控制路径逐步向下测试,从而把各个模块都结合起来,(2)自底向上结合。该方法仅需编写驱动模块。其步骤为:把底层模块组合成实现一个个特定子功能的簇。为每一个簇编写一个驱动模块,以协调测试用例的输入和测试结果的输出。对模块簇进行测试。按软件结构图依次向上扩展,用实际模块替换驱动模块,形成一个个更大的簇。重复至步,直至软件系统全部测试完毕。4软件生存周期是指软件产品从考虑其概念开始到该软件产品交付使用,直至最终退役为止的整个过程,一般包括计划、分析、设计、实现、测试、集成、交付、维护等阶段。(1) 计划阶段:确定待开发系统的总体目标和范围,研究系统的可行性和可能的解决方案,对资源、成本及进度进

12、行合理的估算。软件计划的主要内容包括所采用的软件生命周期模型、开发人员的组织、系统解决方案、管理的目标与级别、所用的技术与工具,以及开发的进度、预算和资源分配。 (2) 分析阶段:分析、整理和提炼所收集到的用户需求,建立完整的分析模型,将其编写成软件需求规格说明和初步的用户手册。通过评审需求规格说明,确保对用户需求达到共同的理解与认识。需求规格说明明确地描述了软件的功能,列出软件必须满足的所有约束条件,并定义软件的输入和输出接口。 (3) 设计阶段:设计阶段的目标是决定软件怎么做,设计人员依据软件需求规格说明文档,确定软件的体系结构,进而确定每个模块的实现算法、数据结构和接口等,编写设计说明书

13、,并组织进行设计评审。 (4) 实现阶段:实现阶段是将所设计的各个模块编写成计算机可接受的程序代码,与实现相关的文档就是源程序以及合适的注释。 (5) 测试阶段:在设计测试用例的基础上,测试软件的各个组成模块。然后,将各个模块集成起来,测试整个产品的功能和性能是否满足已有的规格说明。 (6) 维护阶段:一旦产品已交付运行之后,对产品所做的任何修改就是维护。维护是软件过程的一个组成部分,应当在软件的设计和实现阶段充分考虑软件的可维护性。维护阶段需要测试是否正确地实现了所要求的修改,并保证在产品的修改过程中,没有做其他无关的改动。 (1)等价类划分。等价类划分是将输入数据域按有效的或无效的(也称合

14、理的或不合理的)划分成若干个等价类,测试每个等价类的代表值就等于对该类其它值的测试。(2)边界值分析。该方法是将测试边界情况作为重点目标,选取正好等于,刚刚大于或刚刚小于边界值的情况,根据这些情况选择测试用例。(3)错误推测。错误推测法没有确定的步骤,凭检验进行。它的基本思想是列出程序中可能发生错误的情况,根据这些情况选择测试用例。四、1、画出该程序的流程图:(15 分)开始Rj R0?R0 = Rk+1;j = k;Rj+1 = R0Rj+1 = Rj; j-;结束123YN环路复杂度为 2;测试用例设计输 入 数 据 预 期 结 果 覆 盖 路 径循环次数 jRi-2 Ri-1 Ri Ri

15、+1 R0 j Ri-2 Ri-1 Ri Ri+1 约束 路 径0 i- - 1 2 2 i - - 1 2 = 2 i1 3 4 2 2 i-2 1 2 3 4 = 2、 (10 分)1 2 3 4 5 6 7 8 9 10 11 12人数60 T T T T人数80 T T T T教授 T T T副教授 T T T助教 T T T见习 T T T基本课酬金 课酬增 10% 课酬增 20% 课酬减 10% 作业五答案:一填空题(共 20分 每空 2分,答错 0分)1 5: D B C B A 610: C D B C B 二、判断下列叙述的正确性,将结果(正确,错误)填入( )中,并改正错误的说法。(本大题共 5小题,每小题 3分,判断 1分,改正 2分,共 15分)1. ( )软件需求规格说明书在软件开发中具有重要的作用,但软件需求规格说明书的形成是在软件可行性分析之后。2. ( )尽可能推迟程序的物理实现是按照瀑布模型开发软件的一条重要的指导思想。3. ( )模块化程序设计中,模块适中,模块化的优点越明显。一般来说,模块的大小都在 10行以下。4. ( )一般情况下,增加维护人员的数目,并不能加快软件维护作业的进度。5. ( )一般情况下,发现错误多的程序模块,残留在模块中的错误也多。三、简答题(每题

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号