软件工程导论考试试题及答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

软件工程试题一、简述题(4*10=40)1简述生命周期方法学及其特点。2什么是软件过程?简述RUP及其特点。3简述面向对象的基本思想。4简述控制软件复杂性的基本方法。二、判断题(判断命题正确与否,如错误,请改正)(10*2=20)1()在建立了设计模型之后,就可以开始制定测试计划。2()耦合是指一个模块内各个元素彼此结合的紧密程度。3()数据流程图是描绘物理系统的传统工具。4()软件工程标准有5个不同的级别层次:国际标准、国家标准、行业标准、企业规范、项目规范。5()软件重用是指在软件开发过程中重复使用相同或相似软件元素的过程。6()模块的独立程度可以由两个定性标准度量,这两个标准分别称为内聚和耦合。7()如果测试数据满足条件覆盖,则必然满足判定覆盖。8()软件开发模型是跨越整个软件生命周期的系统开发、运作、维护所实施的全部工作和任务的结构框架。9()能力成熟度模型是评价程序员程序设计能力的一种全面而客观的评审依据。10()好的测试具有较高的发现错误的可能性。三、选择题(将正确的答案代号填入括号中,每小题2分,共20分)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.层次关系四、填空题(每小题10分,共20分)1.信息系统是一个复杂的人机系统,系统内外环境以及各种人为的、机器的因素都在不断地变化。为了使系统能够适应这种变化,充分发挥软件的作用,产生良好的社会效益和经济效益,就要进行系统的维护工作。系统的维护对于延长系统的生命周期具有决定意义,请列出系统开发中能够提高系统可维护性的要求。①②③④⑤2.软件质量是软件与明确地叙述的功能和性能需求、文档中明确描述的开发标准以及任何专业开发的软件产品都应该具有的隐含特征相一致的程度。请列出软件开发过程中软件质量保证的主要措施。①②③软件工程试题参考答案一、简述题(4*10=40)1简述生命周期方法学及其特点。生命周期方法学把软件生命周期的全过程依次划分为若干个阶段,然后顺序地完成每个阶段的任务。采用这种方法学开发软件的时候,从对问题的抽象逻辑分析开始,一个阶段一个阶段地进行开发。前一阶段任务的完成是开始进行后一阶段工作的前提和基础,而后一阶段任务的完成通常是使前一阶段提出的解法更进一步具体化,加进了更多的实现细节。每一阶段的开始和结束都有严格的标准,对于任何两个相邻的阶段而言,前一阶段的结束标准就是后一阶段的开始标准。在每一阶段结束之前都必须进行正式严格的技术审查和管理复审,从技术和管理两方面对这一阶段的开发成果进行检查,通过之后这个阶段才算结束;如果没通过检查,则必须进行必要的返工,而且返工之后还要进行审查。审查的一条主要标准就是每个阶段都应该交出高质量的文档资料,从而保证在软件开发工程结束时有一个完整准确的软件配置交付使用。文档是通信的工具,它们清楚准确地说明了到这个时候为止,关于该项目已经知道了什么,同时奠定了下一步工作的基础。此外文档也起到了备忘录的作用,如果文档不完整,那么一定是某些工作忘记做了,在进入生命周期的下一阶段之前,必须补足这些遗漏的细节。把软件生命周期划分成若干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发工作的困难程度;在软件生命周期的每个阶段都采用科学的管理技术和良好的技术方法,而且在每个阶段结束之前都从技术和管理两个角度进行严格的审查,合格之后才开始下一阶段的工作,这就使软件开发工作的全过程以一种有条不紊的方式进行,保证了软件的质量,特别是提高了软件的可维护性。总之,采用生命周期方法学可以大大提高软件开发的成功率,软件开发的生产率也能明显提高。2什么是软件过程?简述RUP及其特点。软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。过程定义了运用方法的顺序、应该交付的文档资料、为保证软件质量和协调变化所需要采取的管理措施,以及标志软件开发各阶段任务完成的里程碑。RUP(RationalUnifinedProcess)是一种软件过程,其开发模型呈二维架构,横轴代表时间的流逝(时间轴),分成4个阶段:初始阶段、细化阶段、构建阶段和移交阶段;纵轴按内容组织(过程组件轴),有9个核心工作流,其中前6个为核心过程工作流、后3个为核心支持工作流;其特点是:用例驱动;以体系架构为中心;增量式迭代开发;3简述面向对象的基本思想。面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也就是使描述问题的问题空间(也称问题域)与实现解法的解空间(也称求解域)在结构上尽可能一致。也就是说,面向对象方法是从现实世界中客观存在的事物出发来构造软件,并在系统构造过程中尽可能运用人类自然的思维方式。面向对象的基本思想可以概括为以下几个方面。(1)(1)认为客观世界是由各种对象组成的,任何事物都是对象,复杂的对象可以由比较简单的对象以某种方式组合而成。面向对象的软件系统也是由对象组成的。因此,从问题域中客观存在的事物出发来构造软件,用对象作为对客观事物的抽象表示,并以此作为系统的基本构造单位。(2).事物的静态特征用对象的属性来表示,事物的动态特征用对象的操作来表示。具有相同属性和相同操作的对象归为一类,对象是类的一个实例。(3).通过在不同程度上运用抽象原则,可以得到较一般的类和较特殊的类。特殊类继承一般类的属性和操作,(4).对象之间通过消息进行通信,以实现对象之间的动态联系。通过关联表达对象之间的静态关系。综合以上几点,面向对象就是既使用对象又使用类和继承等机制,而且对象之间仅能通过消息传递实现通信。面向对象强调以问题域中的事物为中心来思考问题、认识问题,并根据这些事物的本质特征,把它抽象地表示为系统中的对象,作为系统的基本构成单位。面向对象方法可以使系统直接地映射问题域,保持问题域中事物及其相互关系的本来面貌。4简述控制软件复杂性的基本方法。随着计算机应用领域的拓展,问题域的规模和复杂度急剧增长,开发人员为了便于理解、描述系统,遵循以下分析、设计原则,达到有效控制复杂性的目的。1)抽象2)分解分治,逐步求精3)推迟实现4)信息隐蔽、信息局部化5)模块化二、判断题(判断命题正确与否,如错误,请改正)(10*2=20)1(错)在建立了需求模型之后,就可以开始制定测试计划。2(错)内聚是指一个模块内各个元素彼此结合的紧密程度。3(错)系统流程图是描绘物理系统的传统工具。4()软件工程标准有5个不同的级别层次:国际标准、国家标准、行业标准、企业规范、项目规范。5()软件重用是指在软件开发过程中重复使用相同或相似软件元素的过程。6()模块的独立程度可以由两个定性标准度量,这两个标准分别称为内聚和耦合。7(错)如果测试数据满足条件覆盖,不一定满足判定覆盖,反之已然。8()软件开发模型是跨越整个软件生命周期的系统开发、运作、维护所实施的全部工作和任务的结构框架。9(错)能力成熟度模型是评价软件开发组织达到不同的过程能力和成熟度水平,用来预测其所开发的系统和软件工程能力。10()好的测试具有较高的发现错误的可能性。三、选择题(将正确的答案代号填入括号中,每小题2分,共20分)1.需求分析阶段最重要的技术文档是(B)A.设计说明书B.需求规格说明书C.可行性分析报告D.用户手册2.所谓软件过程的里程碑,通常是指(C)。A.一定的时间间隔B.每个项目活动C.基线D.开发项目月报3.耦合度最高的是(B)耦合。A.环境B.内容C.控制D.数据4.软件工程学中除重视软件开发的研究外,另一个重要的组成内容是软件的(B)。A.成本核算B.项目管理C.工具开发D.人员培训5.下列不属于软件工程方法学三要素的是(D)。A.方法B.工具C.过程D.操作6.(A)分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。A.增量模型B.喷泉模型C.变换模型D.螺旋模型7.软件测试方法中的(A)属于静态测试方法。A.人工检测B.路径覆盖C.黑盒法D.边界值法8.在数据流程图中,符号“□”用来表示(D)。A.处理B.外部实体C.数据存储D.数据源点9.(C)是基于形式化规格说明语言及程序变换的软件开发模型。A.增量模型B.喷泉模型C.变换模型D.螺旋模型10.对象类之间的归纳关系就是(A)关系。A.一般-特殊B.整体-部分C.相互依赖D.层次关系四、填空题(每小题10分,共20分)1.信息系统是一个复杂的人机系统,系统内外环境以及各种人为的、机器的因素都在不断地变化。为了使系统能够适应这种变化,充分发挥软件的作用,产生良好的社会效益和经济效益,就要进行系统的维护工作。系统的维护对于延长系统的生命周期具有决定意义,请列出系统开发中能够提高系统可维护性的要求。①建立明确的软件质量目标和优先级②使用提高软件质量的技术和工具③进行明确的质量保证审查④选择可维护的程序设计语言⑤系统的文档2.软件质量是软件与明确地叙述的功能和性能需求、文档中明确描述的开发标准以及任何专业开发的软件产品都应该具有的隐含特征相一致的程度。请列出软件开发过程中软件质量保证的主要措施。①基于非执行的测试②基于执行的测试③程序正确性证明

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功