东北农业大学网络教育学院软件工程作业题(一)一、填空题(共20分每题2分)1.软件危机具有下列表现()I、对软件开发成本估计不准确II、软件产品的质量往往不可靠III、软件常常不可维护IV、软件成本逐年上升A.I、II和IIIB.I、III和IVC.II、III和IVD.以上都正确2.系统定义明确之后,应对系统的可行性进行研究。可行性研究应包括()。A.软件环境可行性、技术可行性、经济可行性、社会可行性B.经济可行性、技术可行性、操作可行性C.经济可行性、社会可行性、系统可行性D.经济可行性、实用性、社会可行性3.在进行软件测试时,首先应当进行(),然后再进行集成测试,最后再进行有效性测试。A.单元测试B.集成测试C.确认测试D.组合测试4.结构化程序设计思想的核心是要求程序只由顺序、循环和()三种结构组成。A.选择B.单入口C.单出口D.有规则GOTO5.划分模块时,一个模块的()。A.作用范围应在其控制范围之外B.作用范围应在其控制范围之内C.作用范围与其控制范围互不包容D.作用范围与其控制范围不受限制6.()分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。A.增量模型B.喷泉模型C.原型模型D.螺旋模型7.在对数据流的分析中,主要是找到中心变换,这是从()导出结构图的关键。A.数据结构B.实体关系C.E-R图D.数据流图8.测试的关键问题是()A.如何组织对软件的评审B.如何验证程序的正确性C.如何采用综合策略D.如何选择测试用例9.模块(),则说明模块的独立性越强。A.耦合越强B.扇入数越高C.耦合越弱D.扇入数越低10.使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准.A.程序的内部逻辑B.程序的复杂程度C.使用说明书D.程序的功能二、判断下列叙述的正确性,将结果(√正确,×错误)填入()中,并改正错误的说法。(本大题共5小题,每小题3分,共15分)1.()在软件的开发过程中,工作量最大的一个阶段就是编写程序。2.()当验收测试通过,软件开发就完成了。3.()好的测试用例应能证明软件是正确的。4.()在程序调试时,找出错误的位置和性质比改正该错误更难。5.()模块独立要求高耦合低内聚。三、简答题(每题8分,共40分)1.结构化程序设计的思想是什么?2.一个程序能够既正确又不可靠吗?请加以解释。3.软件测试包括哪些类型的测试?这些测试之间的区别是什么?4.可行性研究的目的是什么?5.根据瀑布模型为下列任务排序。验收测试、项目计划、单元测试、需求复审、成本估计、总体设计、设计复审、市场调研、详细设计、系统测试、实现、编制需求规格说明书。四、应用题(共25分)1、已知有一段程序的含义如下,首先输入任意三个数A,B,C;如果(A1)AND(B=0)则C=C/A,否则(A=2)OR(C1)则C=C+1;1)请画出流程图并转化为程序图(5分)2)设计判定条件覆盖和路径覆盖的测试用例。(10分)2、.某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱产学习,高中文化程度当电工;年龄在20岁至40岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员;年龄在40岁以上者,中学文化程度当材料员,大学文化程度当技术员。请用判定表或判定树描述上述问题。(10分)软件工程作业题(二)一、填空题(共20分每空2分)1.产生软件危机的原因可能有()I、用户需求描述不精确、不准确II、对大型软件项目的开发缺乏有力的组织与管理III、缺乏有力的方法学和工具的支持IV、软件产品的特殊性和人类智力的局限性A.I和IIB.I、II和IVC.II、III和IVD.以上都正确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.可用性7.通信内聚、逻辑内聚、顺序内聚和时间内聚的内聚性从高到低顺序是()A.通信、逻辑、顺序、时间B.通信、时间、顺序、逻辑C.顺序、通信、时间、逻辑D.顺序、通信、逻辑、时间8.程序的三种基本控制结构的共同特点是()。A.只能用来描述简单程序B.不能嵌套使用C.单入口,单出口D.仅用于自动控制系统9.设年利率为i,若不计复利,n年后可得钱数为F,则这些钱现在的价值是()A.F*(1+i*n)B.(1+n*i)/FC.F/(1+n*i)D.F/(1+n/i)10.当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为()A.数据耦合B.公共耦合C.标记耦合D.内容耦合二、判断下列叙述的正确性,将结果(√正确,×错误)填入()中,并改正错误的说法。(本大题共5小题,每小题3分,共15分)1.()用黑盒法测试时,测试用例是根据程序内部逻辑设计的。2.()完成测试作业后,为了缩短源程序的长度应删除程序中的注解。3.()软件维护就是改正软件中的错误。4.()实体--关系图中的数据对象之间的关系也可能有属性。5.()测试是为了验证软件已正确地实现了用户的要求。三、简答题(每题8分,共40分)1.DFD和DD的主要作用是什么?两者的关系?2.自顶向下和由底向上设计的含义以及主要区别是什么?3.模块间的耦合性有哪几种?4.当沿着螺旋模型的过程流路径向外移时,你认为正在开发或维护的软件发生了什么变化?5.说明控制域和作用域规则及相互关系,举例说明。四、应用题(共25分)1、根据下列条件使用边界值分析法设计测试用例。(15分)某一8位微机,其八进制常数定义为:以零开头的数是八进制整数,其值的范围-177~177。如05,0127,-0652、移动通信公司为促进业务的发展发行优惠卡,具体规则如下:(10分)从未发生过话费拖欠,每月通话费300元以上可获金卡,每月通话费150元以上可获银卡,每月通话费低于150元以上可获普通卡;发生过话费拖欠的,能在规定时间内补清欠款,每月通话费300元以上可获银卡,每月通话费150元以上可获普通卡;发生过拖欠话费,并未能在规定时间内补清欠款,不能获得优惠卡。请用判定表描述上述问题的加工逻辑。软件工程作业题(三)一、填空题(共20分每题2分)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.过于灵活D.各个阶段需要进行评审7.检查软件产品是否符合需求定义的过程称为()。A.确认测试B.集成测试C.验收测试D.验证测试8.软件复审时,其主要的复审对象是()。A.文档B.程序C.数据D.软件配置项9.软件生存周期中时间最长的阶段是()A.需求分析阶段B.概要设计阶段C.详细设计阶段D.维护阶段10.在考察系统的一些涉及时序和改变的状态时,要用动态模型来表示。动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是()。A.状态图B.数据流图C.系统结构图D.时序图二、判断下列叙述的正确性,将结果(√正确,×错误)填入()中,并改正错误的说法。(本大题共5小题,每小题2分,共10分)(1)()一般况来,模块的内聚程度越高,它们之间的耦合程度也就越高。(2)()程序测试不仅能证明错误的存在,也能证明错误的不存在。(3)()维护是生存周期中花钱最多,延续时间最长的活动。(4)()在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。(5)()螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。三、简答题(每题8分,共40分)1、请说明软件文档的作用?软件开发项目生存期各阶段都包含哪些文档。2、快速原型模型有几种?各有何特点?3、解释深度、宽度、扇出、扇入对软件的影响。4、简述渐增式测试方法与非渐增式测试方法的优劣。5、软件的可维护性与哪些因素有关?在软件开发过程中应采取哪些措施才能提高软件产品的可维护性?四、应用题(共30分)1、具体问题(如:输入A,B,C三个数要求输出其中最小者),画出程序流程图,并计算其复杂度。(15分)2.某公司为本科以上学历的人重新分配工作,分配原则如下:1)如果年龄不满18岁,学历是本科,男性要求报考研究生,女性则担任行政工作;2)如果年龄满18岁不满50岁,学历本科,不分男女,任中层领导职务,学历是硕士不分男女,任课题组组长;3)如果年龄满50岁,学历本科,男性任科研人员,女性则担任资料员,学历是硕士不分男女,任课题组组长。要求:画出判定表或判定树。(15分)软件工程作业题(四)一、填空题(共20分每题2分)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.调用关系设计D.输入/输出设计7.在下述哪一种测试中,测试人员必须接触到源程序()。Ⅰ功能测试Ⅱ结构测试A.均不需B.只有ⅠC.只有ⅡD.Ⅰ和Ⅱ8.结构化方法是一种()的软件开发方法。A.面向用户B.面向数据结构C.面向对象D.面向数据流9.()是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。A.多态性B.继承C.封装D.消息10.在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,()是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。A.业务需求B.功能要求C.非功能需求D.用户需求二、判断下列叙述的正确性,将结果(√正确,×错误)填入()中,并改正错误的说法。(本大题共5小题,每小题3分,共15分)1.()在需求分析中,分析员要从用户那里解决的最重要的问题是明确软件做什么。2.()数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。3.()软件技术复审是由用户和测试人员实施的一种质量保证活动。4.()模型是对现实的简化,建模是为了更好地理解所开发的系统。5.()模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。三、简答题(每题8分,共40分)1.软件工程的基本目标是什么?2.原型化方法主要用于解决什么问题?试说明这种方法的主要优缺点。3.什么是桩模块?什么是驱动模块?二种渐增式集成测试如何组装模块?4.试说明软件生存周期的概念。5.采用黑盒技