1试卷(一)一、单项选择题1、在结构化设计(SD)方法中全面指导模块划分的最重要的原则是()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、PascalB、CC、FortranD、Prolog10、研究开发所需要的成本和资源是属于可行性研究中的()研究的一方面。A.技术可行性B.经济可行性C.社会可行性D.法律可行性11、中级结构性成本模型COCOMO是一个()A、静态单变量模型B、动态单变量模型C、静态多变量模型D、动态多变量模型12、PAD图为()提供了有力的工具。A、系统分析B、软件的自动化生成C、自动分析数据D、测试软件213、下列关于JSP方法不正确的说法是()A、JSP方法主要用于规模不大的数据处理系统B、JSP方法不明确的划分软件概要设计和详细设计的两个阶段C、JSP方法适用于输入数据和输出数据之间有对应关系的问题求解D、JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。因此它只适用于详细设计阶段14、在详细设计阶段,经常采用的工具有()A、PADB、SAC、SCD、DFD15、确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于()A、集成测试B、恢复测试C、验收测试D、单元测试16、盒图(N-S图)为()提供了有力的工具。A、系统分析B、软件的自动化生成C、自动分析数据D、测试软件17、()是比较理想的可重用软构件。A.子程序库B.源代码包含文件C.对象D.类18、需求分析阶段的任务是确定()A、软件开发方法B、软件开发工具C、软件开发费D、软件系统的功能19、下列文档与维护人员有关的有()A、软件需求说明书B、项目开发计划C、概要设计说明书D、操作手册20、程序的三种基本控制结构是()A、过程、子程序和分程序B、顺序、选择和重复C、递归、堆栈和队列D、调用、返回和转移21、软件生存周期中时间最长的是()阶段。A、总体设计B、需求分析C、软件测试D、软件维护22、为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以()的编制是很重要的。A、需求说明B、概要说明C、软件文档D、测试计划23、软件部件的内部实现与外部可访问性的分离,是指软件的()。3A、继承性B、共享性C、封装性D、抽象性24、单元测试是发现编码错误,集成测试是发现模块的接口错误,确认测试是为了发现功能错误,那么系统测试是为了发现()的错误。A、接口错误B、编码错误C、性能、质量不合要求D、功能错误25、软件工程管理对软件项目的开发管理,即对整个软件()的一切活动的管理。A、软件项目B、生存期C、软件开发计划D、软件开发二、名词解释1、数据流图2、软件维护3、软件测试4、程序的可维护性5、软件生存周期三、简答题1、简述软件结构设计的启发式原则。2、简述结构化程序设计方法的基本要点3、简述需求分析的原则。4、简述软件生命周期开发方法的基本过程及每个阶段的任务。四、论述题1、你认为“软件就是程序”这一个观点正确吗?如果不正确,请批驳之。2、试论软件界面友好设计的重要性。3、试述软件开发工具对软件开发的影响。五、应用设计题1、某图书出版公司希望每月定期向固定客户邮寄最近一个月的图书分类目录。客户可在其收到的目录上圈定自己要买的书。出版公司按照客户的反馈信息邮寄图书。要求为出版公司设计软件,以实现以下功能:4(1)自动生成图书分类目录;(2)自动处理客户反馈信息。试用面向数据流的方法给出系统的数据流图,并设计出软件结构图。2、现为某银行开发一个计算机储蓄管理系统。要求系统能够完成:将储户填写的存款单或取款单输入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,同时要求储户输入口令,并打印出存款单给储户;如果是取款,则系统首先要求储户输入口令,储户身份确认后,系统计算结算清单给储户,结算清单中的信息包括本息金额和利息金额。试根据要求画出该系统的数据流程图。5试卷(二)一、单项选择题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、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是()A、条件覆盖法B、等价分类法C、边界值分析法D、错误推测法8、软件详细设计主要采用的方法是()A、模块设计B、结构化设计C、PDL语言D、结构化程序设计9、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做()A.软件工程B.软件周期C.软件危机D.软件产生10、按软件生命周期方法设计软件的过程中,画数据流图属于下面哪个阶段的工作()A、需求分析B、概要设计C、详细设计D、软件维护11、在快速原型模型的开发过程中,仅作为需求说明的补充形式的原型是()A、探索型模型B、演化型模型C、实验型模型D、提交型模型612、程序设计语言的工程特性之一为()A、软件的可重用性B、数据结构的描述性C、抽象类型的描述性D、数据库的易操作性13、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为()A.可用性B.可靠性C.正确性D.完整性14、模块设计中,最不希望的内聚是()A、功能内聚B、通信内聚C、过程内聚D、偶然内聚15、实施快速原型模型方法开发软件的关键在于()A、CASE工具的支持B、如何开发演化型模型C、项目主管的支持D、开发人员的素质16、程序流程图(框图)中的箭头代表()。A.数据流B.控制流C.调用关系D.组成关系17、一个只有顺序结构的程序,其环形复杂度是()。A.0B.1C.3D.不确定的18、可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因此必须给出什么样的回答。()A.确定B.行或不行C.正确D.无二义19、结构化程序设计主要强调的是()A、程序的规模B、程序的效率C、程序设计语言的先进性D、程序易读性20、对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。A、结合B、隐藏C、封装D、抽象21、软件概要设计结束后得到()A、初始化的软件结构图B、优化后的软件结构图C、模块的接口图和详细算法D、程序编码22、软件需求是度量软件质量的基础,不符合需求的软件就不具备()A、软件的特点B、质量C、软件产品D、功能23、软件特性中,程序能够满足规格说明和完成用户业务目标的程度,称作()A、正确性B、移植性C、可靠性D、完整性724、为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以()的编制是很重要的。A、需求说明B、概要说明C、软件文档D、测试计划25、系统因错误而发生故障时,仍然能在一定程度上完成预期的功能,则把该软件称为()。A、软件容错B、系统软件C、测试软件D、恢复测试二、名词解释1、程序的可维护性2、容错技术3、结构化维护4、软件生存周期5、模块独立性三、简答题1、简述软件测试的任务、目的与类型。2、简述软件工程目标和面临的主要问题。3、简述软件开发过程、每个里程碑的提交物。4、简述软件工程的七条基本原理。四、论述题1、试论面向对象方法较之结构化方法的先进性。2、试述软件开发工具对软件开发的影响。3、试论文档在软件开发过程中的重要性。五、应用设计题1、一个软件公司有许多部门,分为开发部门和管理部门两种。每个开发部门开发多个软件产品。每个部门由部门名字唯一确定。该公司有许多员工,员工分为经理、工作人员和开发人员。开发部门有经理和开发人员,管理部门有经理和工作人员。每个开发人员可参加多个开发项目,8每个开发项目需要多个开发人员,开发人员使用语言开发项目。每位经理可主持多个开发项目。请建立该软件公司的对象模型。2、某考务中心准备开发一个成人自学考试系统考务管理系统,经过调研,该系统有如下的功能:(1)对考生填写的报名单进行审查,对合格的考生,编好准考证发给考生,汇总后的报名单送给阅卷站;(2)给合格的考生制作考试通知单,将考试科目、时间、地点安排告诉考生;(3)对阅卷站送来的成绩进行登记,按当年标准审查单科合格者,并发成绩单,对所考专业各科成绩全部合格者发给大专毕业证书;(4)对成绩进行分类(按地区、年龄、职业、专业、科目等分类)产生相应统计表;(5)查询:考生可按准考证号随时查询自己的各科成绩。试根据要求画出该系统的数据流程图。9试卷(一)参考答案一、1.d2.c3.a4.c5.c6.b7.c8.c9.d10.B11.a12.b13.B14.a15.c16.b17.d18.d19.c20.b21.d22.c23.c24.c25.b二、1.数据流图:是描述数据处理过程的工具。它从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。2.软件维护是软件生命周期的最后一个阶段,是在软件已经交付给用户使用之后,为了改正软件错误或满足新的需要而修改软件的过程。它包括四种类型的维护活动:改正型维护、适应型维护、预防型维护和完善型维护。3.软件测试是一个为了寻找软件错误而运行程序的过程。目的就是为了发现软件中的错误。一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例。一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。4.程序的可维护性:为满足用户新的需求,或当环境发生了变化,或运行中发现了新的错误时,对一个已投入运行的软件进行相应诊断和修改所需工作量的大小。5.软件生存周期是指从提出软件开发要求开始,直到该软件报废不用为止的整个时期。这个时期又分为若干个阶段,对软件生产的管理和进度控制有重要作用,使软件的开发有相应的模式、流程、工序和步骤。三、1.(1)改进软件结构提高模块独立性;(2)模块规模要适中;(3)深度、宽度、扇出和扇入都应适当;(4)模块的作用域应该在控制域内;(5)力争降低模块接口的复杂度;(6)设计单入口单出口的模块;(8)模块功能应该可以预测。2.(1)采用自顶向下,逐步求精的程序设计方法。(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环(3)采用主程序员组的组织形式。(4)采用单入口单出口的模块形式。3.需求分析阶段的基本过程包括四个方面:对问题的识别,分析与综合,制定规格说明以及评审。(1)问题识别,系统分析人员要研究计划阶段产生的可行性分析报告和软件项目实施计10划。然后进行功能需求、性能需求、环境需求、可靠性需求安全保密需求、用户界面需求、资源使用需求等方面的工作。(2)分析与综合,分析员需从数据流和数据结构出发,逐步细化所有的软件功