软件工程复习题.doc_第1页
软件工程复习题.doc_第2页
软件工程复习题.doc_第3页
软件工程复习题.doc_第4页
软件工程复习题.doc_第5页
免费预览已结束,剩余10页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程复习题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1软件工程的纵向分解是把软件开发分为几个(B)A模块B阶段C子系统D过程2McCall软件质量度量模型中属于面向软件产品操作的是(D)A适应性B可重用性C可测试性D可用性3快速原型模型中,用于及早向用户提交一个原型系统的是(D)A实验型原型B探索型原型C提交型原型D演化型原型4软件维护中,因重新初始化控制标志或指针而引起的错误是以下哪一项的副作用?(B)A文档B数据C编码D设计5软件维护费用高的主要原因是(B)A生产率高B生产率低C人员多D人员少6根据对软件开发机构调查的结果可知,各类维护活动所占的比重是(A)A完善性占50,适应性占25,校正性占21,其他维护占4B完善性占25,适应性占50,校正性占21,其他维护占4C完善性占21,适应性占25,校正性占50,其他维护占4D完善性占21,适应性占50,校正性占25,其他维护占47下列属于用白盒技术设计测试用例的是( B)A错误推测B逻辑覆盖C等价类划分D因果图8有助于培养良好的编程风格并且第一个体现了结构化编程思想的程序设计语言是(A)APASCAL BFORTRAN CDL1 DC9在软件详细设计过程中不采用的工具为(C)A判定表BPDLC数据流图DIPO图10根据输入输出的数据结构产生程序结构的设计方法是(B)APARNAS方法BJACKSON方法CWIRTH方法DDIJKSTRA方法11在软件设计中,为解决一个大而复杂的问题把软件系统划分成一个个完成某一特定的子功能的方法称为(C)A细化B结构化C模块化D抽象化12结构化方法在建立软件系统的结构模块时按照以下哪种方法进行?(B)A由底向上B自顶向下C随机D回归13两个模块之间传递的是同一个数据结构的地址,这种耦合方式称为(C)A控制耦合B公共耦合C标记耦合D数据耦合14结构化设计是以哪个阶段产生的DFD图为基础,按一定的步骤映射成软件结构?(B)A可行性分析B需求分析C概要设计D详细设计15结构化方法的基本原则是功能的分解和(C)A模块化B信息隐蔽C抽象D细化16数据字典和数据流程图共同构成了系统的(B)A物理模型B逻辑模型C原型D目标模型17软件需求不应包括( C)A功能要求B环境需求C标准实现的空间需求D用户界面要求18项目开发计划是什么类型的文档?A设计性B进度表示C需求分析D管理性19瀑布模型是一种什么模型?(B)A风险驱动模型B线性开发模型C增量模型D迭代模型20软件工具一般是为软件人员开发和维护活动而使用的(C)A硬件环境B说明书C软件D程序1. 瀑布模型的存在问题是( ) A用户容易参与开发 B缺乏灵活性 C用户与开发者易沟通 D适用可变需求2. 可将软件生存周期划分为3个过程,可行性研究属于其中的( )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第一个体现结构化编程思想的程序设计语言是( ) AFORTRAN语言 BPascal语言 CC语言 DPL/18. 将软件组装成系统的一种测试技术叫( )A集成测试 B单元测试C集合测试 D系统测试9. 为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础的软件维护称为( )A纠错性维护 B适应性维护C改善性维护 D预防性维护10. 项目管理中成本估算时测算快,误差大,适用于准备开发阶段的估算方法是( )A类比估算法 B. 专家估算法 C. 参数估算法 D. COCOMO方法11面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以有父类,下层可以有子类,这种层次结构系统的一个重要性质是( ),一个类获得其父类的全部描述(数据和操作)。A传递性 B. 继承性 C. 复用性 D. 并行性12软件生命周期中所花费用最多的阶段是( ) A详细设计 B软件编码 C软件测试 D软件维护13在详细设计阶段,经常采用的工具有( ) APAD BSA CSC DDFD14对象实现了数据和操作的结合,使数据和操作( )于对象的统一体中。 A结合 B隐藏 C封装 D抽象15. 统计表明,软件测试工作往往占软件开发总工作量的( )%以上。A20 B40 C60 D80 1软件开发环境按解决的问题分类包含()A程序设计环境B工具箱环境C基于方法的环境D以语言为中心的环境2为了提高软件产品的质量和可靠性,对某些无法避开的差错,使其影响减至最小程度所采用的技术是()A容错技术B避开错误技术C检测技术D排错技术3软件复杂性的常用度量方法包括()ABOEHM度量法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非渐增式测试11源代码的可维护性表现了程序设计语言的()A心理特性B工程特性C技术特性D传统特性12至今已有好几百种不同的高级语言,它们有的是用于数值计算,有的是用于商业管理,有的是用于编写系统软件。以下语言中较适用于数值计算的语言是()ABASICBSQLCLISPDFORTRAN13在JSP方法中解决结构冲突的具体办法是()A引入中间数据结构或中间文件B删除某个输入数据结构C删除某个输出数据结构D增加某个输入或输出数据结构14模块的内聚性可以按照内聚程度的高低进行排序,以下排列中属于从低到高的正确次序是()A偶然内聚,时间内聚,逻辑内聚B通信内聚,时间内聚,逻辑内聚C逻辑内聚,通信内聚,顺序内聚D功能内聚,通信内聚,时间内聚15以下软件生存周期的活动中,要进行软件结构设计的是()A测试用例设计B概要设计C程序设计D详细设计16能够清楚地表示复杂的条件组合与应做的动作之间的对应关系的工具是()A结构化语言BPAD图C判定表D程序流程图17需求分析方法必须能够表达和理解问题的数据域和()A数据流B用户类型C功能域D应用领域18以用户需求为动力,以对象作为驱动的模型是()A瀑布模型B基于知识的模型C喷泉模型D增量模型19把软件生产的全过程人为地划分为若干阶段使得软件人员能根据每一阶段的不同特点更好地组织和管理软件项目的开发,这种概念就是()A软件项目管理B软件工程C软件项目计划D软件生存期20在软件生存期的各个阶段中跨越时间最长的阶段是()A需求分析阶段B设计阶段C测试阶段D维护阶段二、填空题(本大题共10小题,每空2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。1. 可行性研究一般可以从( 经济 )可行性、( 技术 )可行性、运行可行性、法律可行性和开发可行性等方面来研究。2. 现在向银行存款,年利率为i,若希望在n年后从银行得到F元,现在应该存入的钱数为( F/(1+I)N )。3. 数据流图从数据传输和( 加工 )角度,以( 图形 )方式描述数据流从输入到输出的传输变换过程。4. HIPO图是由一组( IPO )图加上一张( HC )图组成。5. 把程序从一个硬件或软件环境中转移到另一种配置环境称为软件的( 可移植性 )。6. 白盒法的具体设计程序测试方法有语句覆盖、( 分支覆盖 )、( 条件覆盖 )、和路径覆盖。7. 标准建模语言UML的主要内容可归纳为( 静态建模机制 )和( 动态建模机制 )两大类。8. 面向对象的软件工程方法包括面向对象的分析、( 面向对象的设计 )、( 面向对象的编程 )、( 面向对象的测试 )和面向对象的软件维护等主要内容。9. 保证软件质量的措施主要有( 审查 )、复查和管理复审、( 测试 )。10. 结构化设计将软件设计工作划分为( 概要设计 )和详细设计两个阶段。 11按数据流的类型,结构化设计方法有两种设计策略,它们是变换分析设计和( 事物分析设计 )。12复杂问题的对象模型由五个层次成:类-&-对象层(或类对象层)、结构层、主题层属性层和服务层。21软件项目计划是_可行性研究_阶段的结果产品。22McCall质量度量模型高层特性包含面向软件产品操作、产品修改和_产品适应_三个方面的11个特性。23在面向对象方法中,继承性是子类共享父类数据结构和方法的机制,体现了类之间的一种关系。24演化提交模型是在_瀑布模型_的基础上,项目开发的各阶段都进行增量开发。25软件编码是将_详细设计_阶段产生的算法,用某种程序设计语言编写成程序的过程。26IDEF0用来描述系统的功能活动及其联系,建立系统的_功能_模型。27两个模块之间把简单的数值作为参数传递,这种耦合方式为数据耦合_。28把在几个模块中都出现的一些毫无联系的处理序列抽出来组成一个新的模块,那么这个模块的内聚性是_偶然内聚_。29成本效益分析的目的是从_经济_角度评价开发一个新的软件项目是否可行。30软件工程的主要思想是在软件生产中用_ 工程化方法_代替传统手工方法。请在每小题的空格中填上正确答案。错填、不填均无分。21软件工具通常由工具、工具接口和_工具用户接口-部分构成。22软件工程管理中的控制包括进度控制、人员控制、经费控制和_质量控制_。23软件开发的原型模型可以分为三类,它们是:探索型原型、实验型原型和_演化型原型。24软件复杂性主要表现在程序的复杂性。程序的复杂性主要指_模块内_程序的复杂性。25白盒法中,_基本路径测试_首先以详细设计或源程序为基础,导出控制流程图的拓扑结构(程序图)。26在软件的详细设计中,根据控制流程从上到下,从左到右展开的设计工具是_ PAD图_。27一个模块通过传递开关、标志对某一模块的多种功能进行选择,则这两个模块之间的耦合方式是_控制耦合_。28结构化分析是面向_数据流_进行需求分析的方法。29有效的模块化是通过定义一组_相互独立_的模块来实现信息隐蔽的,这些模块彼此之间仅交换那些为了完成系统功能所必须的信息。30在软件生产中,_软件工程过程_的作用是规定了获取、供应、开发、操作和维护软件时,要实施的过程、活动和任务。三、名词解释题(本大题共5小题,每小题3分,共15分)31软件工程过程规定了获取、供应、开发、操作和维护时,要实施的工程、活动和任务。32基线是软件生存期中各开发阶段的一个特定点,它的作用是把开发各阶段工作的划分更加确化,使本来连续的工作在这些点上断开,以便检查与肯定阶段结果。33静态测试指被测试程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。34PAD是指问题分析图,是一种算法描述工具,它是一种由左向右展开的二维型树结构。35需求分析是指开发人员要准确理解用户的需求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义。再由需求定义转化为相应的形式功能规约的过程。四、简答题(本大题共4小题,每小题5分,共20分)36软件工程面临的主要问题有哪些?软件费用 软件可靠性 软件可维护 软件生产率 软件重用37软件配置管理的作用及其主要目标是什么?软件配置管理用于整个软件工程过程。其目的是协调整个软件的开发,使得混乱减少到最小程度,使得变更所产生的错误达到最小并最有效地提高生产率;它的主要目标是:标识变更;控制变更;却保变更的正确实现;报告有关变更。38简述SA步骤。1),了解当前系统的工作流程,获得当前系统的物理模型。2)抽象出当前系统的逻辑模型;3)建立目标系统的逻辑模型;4)作进一步补充和优化。39软件复杂性主要体现在哪些方面?减少软件复杂性有哪些优点?软件复杂性主要表现在程序复杂性,而程序的复杂性主要指模块内程序的复杂性。它直接关联到软件开发费用的多少、开发周期长短和软件潜伏错误的多少。减少程序的复杂性,可提高软件的简单性和可理解性,并使软件开发费用减少,开发周期缩短,软件内部潜伏错误减少。五、应用题(本大题共3小题,其中第40小题7分,第41小题8分,第42小题10分,共25分)40学生成绩统计系统。每个学生有数学、英语、物理三门成绩,输入时按学生的学号和单门成绩随机输入,要求输出为以下打印文件,按学生的学号顺序输出各门成绩及平均分。学号数学英语物理平均分1096800958683881096801试用JACKSON的结构图描述问题的输入和输出的数据结构,并说明输入数据结构和输出数据结构之间的对应关系。41根据下列条件使用边界值分析法设计测试用例:某一8位微机,其十进制整数定义为:以非零开头的数是十进制整数,其值的范围是 128127,如123,45,0。42复印机控制系统有如下功能:(1) 命令解释部分对读入的操作员命令进行分析,如果是复印要求,则进入复印管理系统进行处理,若是装纸要求,则转入装纸处理;(2) 复印管理系统启动复印操作,并把复印机的状态随时送给系统状态显示部分;如果复印过程中出现故障,则将故障码报告给出错诊断单元;(3) 装纸系统将供纸情况送给显示单元;(4) 出错诊断将诊断出的错误类别和原因送给显示单元;(5) 系统状态显示单元将收到的复印状态,装纸状态,出错类别和原因汇总成显示信息输出;试根据要求画出该问题的数据流程图,并把其转换为软件结构图。三判断题(每小题分,正确则画,错误则画,共10分)1.缺乏有力的方法学的指导和有效的开发工具的支持, 这往往是产生软件危机的原因之一。2.快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合。3.理想的人机界面应针对具有典型个性的特定的一类用户设计。4.一个好的开发人员应具备的素质和能力包括善于与周围人员团结协作,建立良好的人际关系,善于听取别人的意见。5.测试计划、测试用例、出错统计和有关的分析报告一般不用长期保存。6.软件工程使用的软件工具能够自动或半自动地支持软件的开发、管理和文档的生成。7.为了充分发挥开发人员的潜力、缩短工期,软件工程项目的任务分解与安排 应尽力挖掘可并行开发的部分。8.非结构化维护用于软件的配置中只有源代码维护。9.内聚度标志一个模块内部各成分彼此结合的紧密程度,按其高低程度可分为七级,内聚度越低越好。10.数据流图就是用来刻画数据流和转换的信息系统建模技术。四、简答题(每小题5分,共25分)1. 软件产品特性有哪些?软件产品作为逻辑产品,具有无形性、生产就是开发研究、不会坏不会磨损、成本昂贵、生产主要是脑力劳动。2. 什么是软件结构图?简述软件结构设计优化准则。结构图是软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制体系。准则:高内聚底耦合、作用范围在控制范围内、软件的深度、宽度、扇入、扇出适当、模块大小适中、接口简单清晰易懂。3. 什么是结构化分析方法?用什么工具描述?结构化分析方法是采用自顶向下逐层分解的分析策略把一个复杂的系统分解成若干小问题然后分别解决。描述工具:数据流图、数据字典、结构化语言、判定表、判定树。4. 软件测试的目的是什么?软件测试时,应注意哪些原则?测试是为了发现错误而执行程序的过程。一个好的测试用例能够发现至今尚未发现的错误。一次成功的测试是发现了至今尚未发现的错误的测试。软件测试的原则:设计测试用例时,要给出测试的预期结果。要设计不合理输入的测试用例。除了检查程序是否做了应该做的工作,还要检查程序是否做了不应该做的工作。应制订测试计划并严格执行,排除随意性。长期保存测试用例,为维护提供方便。在对程序进行修改之后,要进行回归测试。充分注意测试中的群集现象5提高可维护性的方法有哪些?使用有可维护性的程序设计语言、及时更新文档、使用先进技术和工具、明确软件质量目标、明确质量保证工作。五、应用题(每小题10分,共30分)1. 请将如下混合型数据流图映射成软件结构图。ab1b2c1db3c3c2bAC1DBC3C2lmkgjfheLKEFGJ2. 一家公司的情况如下,试建立该公司的对象模型。公司有许多部门,部门名唯一确定一个部门;每个部门由一名经理管理,也有的部门没有经理;每个部门生产多种产品,每种产品仅由一个部门生产。该公司有许多名员工为之工作,员工又进一步划分为经理和工人两类。每名工人可参加多个工程项目,每个项目需要多名工人;每位经理可以主持多个项目,每个项目仅有一个主持。3. 下面是某程序的流程图:21368754=9=10=11(1)导出程序流程图的拓扑结构程序图(2)计算程序图的环路复杂性(3)为了完成基本路径测试,求它的一组独立的路径。三、名词解释题(本大题共5小题,每小题3分,共15分)31软件开发环境 指在计算机的基本软件的基础上,为了支持软件的开发而提供的一组工具软件系统。32错误推测法在测试程序时,人们可能根据经验或直觉推荐程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。33黑盒测试法把被测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程34软件质量保证 是向用户及社会提供满意的高质量的产品确保软件产品从诞生到消亡为止的所有阶段的质量的活动,即确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动。35瀑布模型将软件生存周期各个活动规定为依线性顺序连接的若干阶段的一种软件开发模型。它包括可行性分析、项目开发计划、需求分析、概要设计、详细设计、编码、测试和维护。四、简答题(本大题共4小题,每小题5分,共20分)36增量构造模型有什么特点?增量构造模型是部分阶段进行增量开发,即在该模型中,需求分析阶段和设计阶段与瀑布模型一样,按照瀑布模型方式进行开发,(1分)而编码和测试阶段不采用瀑布模型方式,而采用增量方式开发,(1分)即先对部分功能进行编码,进行测试,将这部分功能提交用户,然后再对另一部分功能进行编码,测试提交用户,直到把功能按这种方式开发完毕,(1分)在这种模型中,用户及早看到部分软件功能,及早发现问题,以便在其它软件功能开发时及时解决。(2分)37软件测试要经过哪些步骤?简述这些测试的基本任务。.(1)单元测试,集成测试,确认测试,系统测试。(1分) (2)单元测试:对源程序中的每个程序单元进行

温馨提示

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

评论

0/150

提交评论