哈师大软件工程期末考试题_第1页
哈师大软件工程期末考试题_第2页
哈师大软件工程期末考试题_第3页
哈师大软件工程期末考试题_第4页
哈师大软件工程期末考试题_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

哈师大软件工程期末考试题选择题1.下面哪项不属于软件工程方法学的要素(B)A、方法B、模型C、工具D、过程(知识点)软件工程三要素:方法、工具、过程2.面向对象方法学具有(D)个要点。A、1B、2C、3D、4(知识点)面向对象要点:对象,类,继承,封装3.(B)是软件开发过程中普遍存在的一种内在现象。A、综合B、迭代C、建模D、归纳4.数据流图具有(D)种最基本的符号。A、1B、2C、3D、4(知识点)“→”箭头,表示数据流;〇:圆或椭圆,表示加工;=:双杠(带一边开口,一边闭合),表示数据存储;□:方框,表示数据的源点或终点。5.(C)是软件定义时期的最后一个阶段。A、问题定义B、总体设计C、需求分析D、可行性研究(知识点)软件定义时期:问题定义、可行性研究(可行性研究报告)、需求分析(软件需求规格说明书)、概要设计、详细设计、编码和单元测试、综合测试、运行维护6.下列哪项不属于应用形式化方法的准则(C)。A、应该估算成本B、应该建立详细的文档C、可以放弃质量标准D、应该重用(知识点)(1)应该选用适当的表示方法。(2)应该形式化,但不要过分形式化。(3)应该估算成本。(4)应该有形式化方法顾问随时提供咨询。(5)不应该放弃传统的开发方法。(6)应该建立详尽的文档。(7)不应该放弃质量标准。(8)不应该盲目依赖形式化方法。(9)应该测试、测试再测试。(10)应该重用。下列哪项不是模块独立性很重要的理由(B)。A、比较容易开发软件B、能够增强耦合程度C、比较容易测试和维护D、功能容易扩充8.下列哪项不属于描绘软件结构的图形工具(A)。A、层次方框图B、层次图C、HIPO图D、结构图(知识点)层次方框图用来描绘数据结构9.下列哪项不属于三种基本控制结构(C)。A、顺序B、选择C、调用D、循环10.用户界面设计是一个(A)的过程。A、迭代B、循环C、顺序D、变化11.当算法中包含多重嵌套的条件选择时,最好使用(C)。A、程序流程图B、盒图C、判定表D、PAD图12.(B)图既能表达数据结构,也能表达程序结构。A、数据流B、JacksonC、层次方框D、IPO(知识点)Jackson方法是一种面向数据结构的设计方法。13.环形复杂度等于(C)是模块规模的一个更科学更精确的上限。A、12B、11C、10D、914.软件可靠性模型使用故障率数据,估计软件将来出现故障的情况并预测软件的(B)。A、可维护性B、可靠性C、可修改性D、可移植性15.子系统测试和系统测试又称为(C)测试。A、单元B、验收C、集成D、计算机(知识点)集成测试针对的是模块之间的关系.子系统测试主要测试模块间的相互协作和通信.系统测试=集成测试16.通常边覆盖和(B)标准一致。A、语句覆盖B、判定覆盖C、条件覆盖D、组合覆盖(知识点)与判定覆盖区别17.通常可以通过描述软件交付使用后可能进行的活动有(D)项。A、1B、2C、3D、4(知识点)改正性维护、适应性维护、完善性维护和预防性维护18.软件工程学的主要目的是提高软件的(C),降低维护的代价。A、可测试性B、可理解性C、可维护性D、可设计性19.对象={ID,MS,DS,MI},其中DS指的是(C)。A、对象的名字B、操作集合C、对象的数据结构D、消息名集合(知识点)ID:对象标识或名字MS:操作集合DS:对象的数据结构MI:对象受理的消息名集合(即对外接口)20.一个消息由3部分组成,下列哪项不属于消息的组成成分(C)。A、接收消息的对象B、消息选择符C、实现代码D、零个或多个变元21.用面向对象的方法开发软件,通常需要建立3种形式的模型,下列哪一种不属于需要建立的模型(C)。A、对象模型B、动态模型C、ER模型D、功能模型(知识点)ER模型是实体联系图,主要用于数据22.一幅用例图不包括(B)。A、系统B、数据流C、行为者D、用例(知识点)用例,角色,关系,系统边界.数据流应该在数据流图里.23.UML是(A)批准的基于面向对象技术的标准建模语言。A、OMGB、BICC、BODDD、OMA24.复杂系统的对象模型通常由5个层次组成下列不属于其中的组成部分是(B)。A、主题层B、逻辑层C、属性层D、服务层(知识点)1.主题层2.类与对象层3.结构层4.属性层5.服务层25.筛选正确的类与对象时,哪项不需要我们考虑(D)。A、无关B、操作C、实现D、结构26.完整、正确的脚本为建立(B)模型奠定了必要的基础。A、对象B、动态C、功能D、用例27.(C)模型表明了系统中数据之间的依赖关系,以及有关的数据处理功能。A、对象B、动态C、功能D、用例28.大型、复杂系统的对象模型通常由(C)个层次组成。A、3B、4C、5D、61.主题层2.类与对象层3.结构层4.属性层5.服务层29.(B)特别适用于用户需求未改变,但系统体系结构发生了根本变化的场合。A、代码重用B、分析结果重用C、设计结果重用D、测试结果重用结构发生变化代码,设计结果,测试结果都已经改变.30.下列哪项不属于类构件的重用方式(D)。A、实例重用B、继承重用C、多态重用D、消息重用实例重用、继承重用、多态重用31.VisualC++语言提供了(A)类库。A、MFCB、MCLC、CFCD、BMF32.(B)是分析并发性的主要依据。A、对象模型B、动态模型C、功能模型D、用例模型33.文件系统中为每个第(A)范式表定义一个文件。A、一B、二C、三D、四34.随着时间的推移,软件开发组织不能重用(C)结果。A、OOAB、OODC、OOCD、OOP面向对象分析(OOA),面向对象设计(OOD),面向对象编程(OOP).35.下列哪项不属于测试单个类的方法(C)。A、随机测试B、划分测试C、分类测试D、基于故障的测试36.软件项目的开发时间最多可以减少到正常开发时间的(C)。A、25%B、50%C、75%D、90%37.主程序员组的核心成员不包括(B)。A、主程序员B、测试员C、后备程序D、编程秘书38.(云班)下述过程属于基本过程的是(ABCD)A.获取过程B.开发过程C.运行过程D.供应过程39.(云班)下列关于软件开发过程说法正确的是(BC)A.软件生存周期过程就是软件开发过程B.软件开发过程是软件开发者所从事的一系列活动C.软件开发过程中还包括了系统需求分析、系统结构设计等系统层面的活动D.软件开发过程包含了软件升级和演化等活动40.(云班)获取正确软件的关键是(A)A.开发逻辑B.开发逻辑C.人员素质D.明确需求41.(云班)软件开发中实现映射的基本手段是(D)A.抽象B.分层C.隔离D.建模42.(云班)下列属于软件模型的是(BC)A.概念模型B.设计模型C.实现模型D.部署模型43.(云班)与软件工程不同,(A)石玺彤工程所追求的目标A.最优化B.系统化C.一体化D.情境化44.(云班)下面不属于需求的基本性质是(D)A.必要性B.无歧义性C.可测性D.可扩展性45.(云班)下列哪些陈述可以作为软件需求(BD)A.系统应支持大规模并发用户访问B.用户需凭用户名和密码登陆之后才可使用系统C.系统界面要美观大方D.当用户失败时,应弹窗提示失败原因46.(云班)下列需求属于设计约束的是(B)A.响应时间B.运行平台C.错误处理D.可维护47.(云班)下列需求数与外部接口需求的是(A)A.第三方插件B.安全隐私C.编程语言D.字体字号48.(云班)下列需求属于性能需求的是(A)A.并发访问数B.网络协议C.异常响应D.用户友好49.(云班)针对对象之间的动态联系,以下说法正确的是(A)A.对象之间只能通过消息进行通信B.一个对象可以直接使用另一个对象的属性C.对象相互之间不允许进行联系50.(云班)UML是一种(A)语言A.形式化B.半形式化C.非形式化51.(云班)以下哪一项描述了UML的作用(D)A.弥补一个用系统和运行平台之间的“距离”B.建立不同抽象层次的术语空间和模型表达工具C.支持多视角地建立系统模型D.以上选项都正确52.(云班)UML不具备以下那个结构(D)A.静态对象结构B.动态行为C.系统部署D.功能结构53.(云班)(B)是描述类的所有对象的共同特征的一个数据项A.实例属性B.类属性C.方法属性D.对象属性54.(云班)在类的属性定义中引入可见性,主要是为了支持(B)这一软件设计原则A.抽象B.信息隐蔽C.模块化D.自底向上55.(云班)以下UML术语体现并发行为抽象的是(C)A.接口B.协作C.主动类D.用况56.(云班)以下哪些不属于UML描述客观世界实体得基本术语(BD)A.类B.信号C.协作D.参与者57.(云班)下列关于软件开发过程说法正确的是(BC)A.软件生存周期过程就是软件开发过程B.软件开发过程是软件开发者所从事的一系列活动C.软件开发过程中还包括了系统需求分析、系统结构设计等系统层面的活动D.软件开发过程包含了软件升级和演化等活动58.(云班)下属过程属于基本过程的是(ABCD)A.获取过程B.开发过程C.运行过程D.供应过程59.(云班)按照(),可以将软件生存周期过程分为基本过程、支持过程和组织过程。A.软件开发活动的层次关系B.软件开发工作的主体C.软件开发项目的结构D.软件开发任务的重要程度60.(云班)下列关于瀑布模型的说法正确的是(BD)A.瀑布模型仅能依次经过需求、设计、编码、测试、集成和维护这一路径进行项目开发,不能从后一阶段返回到前面的阶段。B.瀑布模型在每一阶段都会生成相应的文档。C.瀑布模型只有在需求阶段和运行阶段才能有获取方和用户参与,其余阶段只能开发团队参加。D.瀑布模型要求需求在最初阶段就要完整和明确。61.(云班)下列关于增量模型的说法正确的是(AD)A.增量模型要求需求在最初阶段就要完整和明确。B.相比于瀑布模型,采用增量模型开发的项目所需的成本和时间要少。C.采用增量模型时,每一增量必须按照既定顺序依次开发,不能更改。D.增量模型能够更早的向用户交付第一个版本的系统。62.(云班)下列关于演化模型的说法正确的是(CD)A.演化模型要求需求在最初阶段就要完整和明确。B.演化模型可以弱化需求和设计文档的编写,以提高开发效率。C.演化模型在每一次迭代过程中可以采用瀑布模型。D.相比瀑布模型,演化模型需要获取方和用户更多的参与。63.(云班)下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是©A.演化模型B.瀑布模型C.喷泉模型D.增量模型64.(云班)实例连接又称为链,他表达了对象之间的(A)A.静态关系B.动态关系C.连接关系D.无关系65.(云班)再用UML对关系进行建模时,以下策略错误的是(A)A.在考虑到建模的复杂性,可以引入循环的泛化关系B.仅当关系是“is-a-kind-of”关系时,才使用泛化C.应保持泛化关系的平衡,继承的层次不要过深,不要过宽D.仅当要建模的关系不是结构关系时,才使用依赖66.(云班)以下表达类目之间的关系的术语中,其正确的表示方法是无箭头实线线段的是(A)A.关联B.泛化C.细化D.依赖67.(云班)Jack在Google工作,是公司市场组的一名成员。那么描述Jack的类目Employee和描述Google的类目Company之间是(A)关系。A.关联B.泛化C.细化(实现)D.依赖68.(云班)以下不属于UML静态建模工具的是(B)A.类图B.通信图C.对象图D.制品图69.(云班)描述UML需求模型的是(C)A.状态图B.顺序图C.用况图D.类图70.(云班)以下不属于UML动态建模的是(B)A.活动图B.部署图C.用况图D.状态图71.(云班)可视化地表达系统的静态结构模型的是(D)A.状态图B.顺序图C.用况图D.类图72.(云班)在面向对象分析阶段,对于继承关系的简化以下说法正确的是(D)A.取消没有特殊性的特殊类B.增加属性简化继承关系C.取消用途单一的一般类D.以上说法均正确73.(云班)以下哪项不属于类范围的操作(A)A.创建类的某个对象B.读取对象的属性值C.通过计算后修改对象的属性值D.监控对象的属性值74.(云班)以下说法错误的是(B)A.吸尘器和电子琴同时作为商品销售,所以可以通过抽象合并为同一类。B.轿车和货车都是车,所以可以直接以一个类”车”代替两个类。C.轿车和货车都是车,所以可以提取出一个一般类“车”作为他们的父类。D.班主任只有一个属性姓名,所以可以取消该类,将属性”班主任姓名”添加至相关的其他类。Q75.(云班)从OOA到OOD的过程以下描述最恰当的是(C)A.转换B.扩展和完善C.调整和增补D.细化76.(云班)需求是不断变化的,为了加强可维护性在设计上需要适应不可预见的变化。以下术语的易变性最低的是(A)A.类B.服务C.接口D.属性77.(云班)以下实现条件对OOD模型问题域部分影响最大的是(A)A.编程语言B.硬件、操作系统及网络设施C.复用支持D.数据管理系统78.(云班)相同操作明仔同一类中可以被定义多次按参数的个数、种类或次序等的不同对他们进行区分,这种现象在面向对象方法中被称为(B)A.多态B.重栽C.泛化D.分类79.(云班)以下属于进行问题域部分的设计需要考虑的方面有(D)A.提高性能B.考虑复用C.编程语言D.永久存储第一章软件工程概述1、软件是(A)A、设计开发的B、软件项目组制造的C、程序员编写代码实现的D、项目经理组织实施的2、与硬件产品相比(B)A、软件会磨损B、软件会退化C、软件失效遵守盆形曲线D、软件可以用备用部件替换3、软件工程是一种层次化的技术,支持软件工程的根基在于(C)A、软件工程过程模型B、软件生命周期模型C、质量关注点D、软件工程工具4、“软件危机”是指(D)A、计算机病毒的出现B、利用计算机系统进行经济犯罪C、人们过分迷恋计算机系统D、软件开发和软件维护中出现的一系列问题5、下列那种做法符合软件工程师的职业道德?(C)A、把公司项目中完全由自己开发的模块封装为小软件,发布到网络牟利。B、过于夸大自己的技术水平,从而得到一份超出自己能力范围的工作。C、不在私人电脑上编辑公司的项目源代码和文档。D、在客户现场进行技术维护休息期间,在客户的电脑上打游戏。6、软件工程实践的一个重要原则是存在价值,是指(D)A、软件正常开发B、软件能够稳定运行C、软件具有足够的可靠性D、软件能够给用户提供价值7、构成软件工程基础的是(A)A、过程B、方法C、工具D、设计8、对软件的描述正确的是(C)A、软件是没有附加价值的产品。B、软件质量依赖于程序员的个人水平。C、具有技术和文化的双重属性。D、软件测试是一项比较简单的工作。9、下列哪一项不是软件危机产生的原因(D)A、客观原因,软件本身特点是逻辑部件,且规模日趋庞大。B、主观上忽视需求分析。C、错误认为:软件开发=程序编写。D、过分重视软件维护。10、下列哪一项不属于软件工程的发展阶段(B)A、对象工程B、作坊式工程C、过程工程D、构件工程11、软件工程与计算机科学的区别错误的描述是(C)A、软件工程关注如何为用户实现价值。B、计算机理论关注的是软件本身运行的原理,比如时间复杂度,空间复杂度,和算法的正确性。C、软件工程对于某一种特定问题的正确解决方法将永远不会改变。D、随着技术和用户需求的不断变化,软件开发人员必须时刻调整自己的开发以适应当前的需求。同时软件工程本身也处于不断的发展中。12、下列对软件的描述错误的是(A)A、软件交付的形式为可执行软件。B、能够完成预定的功能和性能,并对相应数据进行加工的程序,及描述程序、操作的文档。C、软件=程序+数据+文档,为了突出其功能和性能,可扩展为:软件=知识+程序+数据+文档D、软件的文档是用于记录软件的活动和中间制品,如需求规约、源程序等。第二章软件过程模型1、软件过程模型中定义的框架活动是(B)A、必须执行的B、可以迭代的C、团队每个成员必须参与的D、必须符合标准2、瀑布模型也称为经典生命周期模型(C)A、是迭代的模型B、是增量的模型C、是顺序的模型D、强调设计的模型3、关于螺旋模型,以下说法错误的是(C)A、把开发活动和风险管理结合起来控制风险B、适用于大型复杂的软件项目C、开发过程分成若干次迭代,每次迭代产生一个软件发布D、原型的进化贯穿整个软件生存周期,具有原型模型的特点4、统一过程(UP)(B)A、适用于所有软件工程B、是迭代和增量式模型C、是不强调文档的D、不追求架构的稳定5、过程是多种多样的,下面不属于过程共同活动的是(C)A、计划B、部署C、分析D、建模6、下面选项不属于瀑布模型特点的是(A)A、高效性B、顺序性C、依赖性D、推迟实现7、有关增量模型,下面说法正确的是(D)A、适用于技术成熟的项目B、每个增量的开发是嵌套式增量方式C、是一种整体开发的模型D、在前面增量的基础上开发后面的增量,采用迭代的方式8、关于原型模型,下面说法正确的是(B)A、适用于小而可用的项目B、容易让设计者在质量和原型间有所折中,让客户意识不到一些质量问题C、快速应用开发模型(RAD)是一个原型过程模型D、原型模型里没有迭代方式9、下面选项中,不属于软件过程模型的是(B)A、敏捷模型B、迭代模型C、原型模型D、瀑布模型10、关于敏捷模型,下面说法错误的是(A)A、是一种严谨正式的方法。B、需要开发者和客户之间积极持续的交流。C、强调客户满意度和较早的软件增量交付D、包括新型软件开发方法,如主极限编程(XP)、自适应软件开发(ASD)、动态系统开发方法(DSDM)等。11、瀑布模型是软件过程中最经典的模型,下面选项不属于瀑布模型活动的是(D)A、需求分析B、软件设计C、测试与维护D、软件构造12、如果软件开发中使用增量模型,第一个增量(BC)A、必须正确B、往往是核心产品C、满足基本需求D、不能变动13、构件是软件技术中的重要内容,基于构件的开发(ABD)A、可以实现复用B、可以减少开发费用C、可以提高软件性能D、可以缩短开发周期14、敏捷开发认为(AD)A、有能力的个体和良好的交互胜过现代软件过程和先进工具B、软件开发的目标是可工作的软件,因此应该不需要写文档C、客户和开发方应该严格按照既定合同进行软件开发D、采用增量式开发和短周期交付,以便及时响应变化15、关于模型选择说法正确的是(BC)A、同一个软件组织应该采用一种软件过程模型,以便于管理B、需求不稳定的情况下,尽量采用增量式开发C、全新系统的开发应该在总体设计完成后再开始增量或并行D、敏捷模型能够快速响应变化,即使编码人员经验较少,仍应该采用敏捷开发方式第三章需求分析1、需求分析阶段最重要的技术文档是(B)A、设计说明书B、需求规格说明书C、可行性分析报告D、用户手册2、以下关于数据流图的说法错误的是(C)A、数据流图舍去了具体的物质,只剩下数据的流动、加工处理和存储B、数据流图是用作结构化分析的一种工具C、传统的数据流图中主要由加工、数据源点/终点、数据流、控制流、数据存储组成D、数据流图的绘制采用自上向下、逐层分解的方法3、数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是(C)A、数据库设计B、数据通信C、数据定义D、数据维护4、软件需求分析阶段的工作,可以分成以下四个方面:对问题的识别,分析与综合,制定规格说明以及(B)A、实践性报告B、需求分析评审C、以上答案都不正确D、总结5、软件需求分析的任务不应包括(C)。A、问题分析B、信息域分析C、结构化程序设计D、确定逻辑模型6、在数据流图中,有名字及方向的成份是(C)。A、控制流B、信息流C、数据流D、信号流7、在数据流图中,不能由计算机处理的成份是(D)。A、控制流B、节点C、数据流D、数据源/终点8、结构化分析方法就是面向(B)自顶向下逐步求精进行需求分析的方法。A、目标B、数据流C、功能D、对象9、到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是( D  ) 的出现和广泛使用,使面向对象方法成为了软件开发的主流方法。A、OMTB、OOSEC、C++D、UML10、( D  )是从用户使用系统的角度描述系统功能的图形表达方法。A、序列图B、协作图C、类图D、用例图11、需求分析阶段开发人员要从用户那里了解(A)A、软件要做什么B、用户使用界面C、输入的信息D、软件的规模12、需求分析的四个步骤中,撰写《需求规格说明书》是在(C)阶段。A、需求获取B、需求提炼C、需求描述D、需求验证13、下列需求描述中,不属于飞机订票系统功能性需求的是(A)A、必须使用某排序算法根据离开时间对航班排序B、什么信息要出现在机票和报告中C、什么信息必须存储在旅行社和其他人访问的数据库中D、如何输入有关航班、乘客及订票信息14、不需要在需求分析阶段建立的模型是(D)A、数据流图B、用例图C、E-R图D、程序流程图15、在需求分析阶段不属于数据模型的是(C)A、E-R图B、数据字典C、数据流图D、类图16、数据流图中的每个数据加工至少有(B)A、一个输出流B、一个输入流和一个输出流C、一个输入流D、一个输入流或一个输出流17、0层数据流图有(B)个数据加工A、0B、1C、2D、多18、数据流图的主图上的数据流必须封闭在(A)之间。A、外部实体B、数据加工C、数据存储D、数据流19、下列说法最适合用来命名一条数据流的是(D)A、选择账单管理功能B、管理账单C、账单管理D、账单20、以下数据流图的元素中,不适宜作为数据存储的是(B)A、数据库B、用户C、数据表D、文件21、在数据流图中,下列数据流中可以不给出命名的是(C)A、从外部实体输出的数据流B、向外部实体输入的数据流C、从数据存储输出的数据流D、从数据加工输出的数据流22、在用例之间,会有三种不同的关系,下列哪个不是他们之间可能的关系(D)A、包含B、扩展C、泛化D、关联23、下列哪一个用例的命名符合规范(D)A、用户管理B、系统配置C、基本信息维护D、查找书籍24、下列实体中不能作为系统用例图中的参与者的是(C)A、用户B、管理员C、服务器D、打印机25、下列对系统功能的描述中,适合划分为一个用例的是(D)A、输入个人信息B、计算统计数据C、返回查询结果D、转账26、下列各组用例之间存在包含关系的是(C)A、管理用户与添加用户B、预订机票与网上预订机票C、ATM提款与登录D、购买商品与查找商品27、下列各组用例之间存在扩展关系的是(D)。A、借书与还书B、预订机票与网上预订机票C、ATM提款与登录D、购买商品与查找商品28、下列各组用例之间存在泛化关系的是(B)。A、借书与还书B、预订机票与网上预订机票C、ATM提款与登录D、购买商品与查找商品29、用例图中的参与者也可以是一种分析类,它应当归为(A)A、实体类B、控制类C、边界类D、父类30、不属于用例规约组成部分的是(D)A、主要参与者B、前置条件C、场景D、输入参数第四章系统设计1、模块内聚度越高,说明模块内各成分彼此结合的程度越(B)A、松散B、紧密C、无法判断D、相等2、软件的结构化设计方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是对(D)进行设计。A、软件结构B、软件接口C、软件模型D、软件模块3、程序的三种基本控制结构是(B)A、过程、子程序和分程序B、顺序、分支和循环C、递归、堆栈和队列D、调用、返回和转移4、结构化设计是一种应用最广泛的系统设计方法,是以(B)为基础,自顶向下,求精和模块化的过程。A、数据流B、数据流图C、数据库D、数据结构5、程序流程图(框图)中的箭头代表(B)A、数据流B、控制流C、调用关系D、组成关系6、软件设计的重要性可以被概括成(D)A、精确B、复杂C、高效开发D、对质量的追求7、下列哪种设计相当于一个房屋中每个房间的内部详图?(B)A、体系结构设计B、构件级设计C、接口设计D、数据设计8、结构化软件工程方法中,(B)阶段主要是要建立软件结构。A、需求分析B、概要设计C、详细设计D、可行性研究9、(D)是一张二维图。其纵向代表时间轴,时间沿垂直方向向下延伸;其横向由多个参与交互的对象构成。A、对象图B、活动图C、交互图D、顺序图10、下列(C)不是MVC的组成部分?A、模型B、视图C、接口D、控制器11、类之间的关系不包括(D)A、依赖关系B、泛化关系C、实现关系D、分解关系12、模块间的耦合度越低,说明模块之间的关系越(A)。A、松散B、紧密C、无法判断D、相等13、软件体系结构设计属于(A)。A、概要设计阶段B、详细设计阶段C、需求分析阶段D、初步开发阶段14、结构化程序设计的基本结构不包括(D)。A、循环B、分支C、顺序D、并发15、下列哪种设计相当于一个房屋中每个房间的门窗详图(以及规格说明)(C)。A、体系结构设计B、构件级设计C、接口设计D、数据设计16、(B)可以用来描述对象之间整体与部分的关系。A、关联B、聚合C、集成D、依赖17、在顺序图中哪类消息使用带箭头的虚线表示?(C)。A、简单消息B、反身消息C、返回消息D、异步消息18、对体系结构的建模不使用(D)。A、构件图B、部署图C、包图D、用例图19、数据流图里的数据流包括(A)类型。A、变换型和事务型B、变换型和调度型C、调度型和事务型D、数据型和控制型20、构件级设计的基本原则不包括(B)。A、开闭原则B、并发原则C、接口分离原则D、依赖倒置原则第五章程序实现1、程序设计语言的基本成分不包含下列哪个选项:CA、数据成分B、控制成分C、功能成分D、传输成分2、结构化程序设计的原则不包含下列哪个选项:DA、简单结构B、块机制C、一致性D、充分联动3、程序的效率的影响因素不包含下列哪个选项:BA、存储B、尽量使用多维数组C、算法D、输入/输出4、编码规范的意义不包含下列哪个选项:AA、易于提高编程效率B、使开发人员有据可依C、代码易读D、易于定位错误、变更管理第六章质量保证1、软件质量成本不包含下列哪个选项:DA、预防成本B、失效成本C、评估成本D、运维成本2、软件测试V模型中的对应关系下列哪个选项是错误的:AA、验收测试的主要目的是从开发者的角度检查系统是否满足合同中定义的需求B、单元测试的主要目的是验证软件模块是否按详细设计的规格说明正确运行C、系统测试的主要目的是验证整个系统是否满足需求规格说明D、集成测试的主要目的是检查多个模块间是否按概要设计说明的方式协同工作3、下列关于单元测试说法错误的是AA、单元测试主要目的是检查多个模块间是否按概要设计说明的方式协同工作B、模块接口测试是属于单元测试的内容C、单元测试的主要目的是验证软件模块是否按详细设计的规格说明正确运行D、单元测试完成以后才能进行集成测试4、自底向上的集成测试方法需要开发(B)构建测试环境?A、桩模块B、驱动模块C、底层接口D、0层模块5、下列不属于系统测试内容的是(D)。A、功能性测试B、性能测试C、压力测试D、局部数据结构测试6、关于验收测试说法错误的是(D)A、部署软件之前的最后一个测试操作B、验收测试形式通常有α测试、β测试等C、β测试时,开发者通常不在测试现场,在开发者无法控制的环境下进行的软件现场应用。D、验收测试会对模块的内部逻辑的正确性进行白盒测试。7、下面哪一种情况不是软件缺陷(B)。A、软件未实现产品说明书要求的功能。B、软件开发未按期完成。C、软件难以理解、不易使用、运行缓慢或者——从测试员的角度看——最终用户会认为不好。D、软件实现了产品说明书未提到的功能。8、白盒测试中的逻辑覆盖技术不包含下列哪种方法(D)A、语句覆盖B、分支覆盖C、条件覆盖D、基础路径覆盖9、下图为一个程序流程图的示意图,如采用控制流图覆盖测试,则其程序的环路复杂性为(B)A、2B、3C、4D、510、下属哪一个选项不属于黑盒测试的检查范围(C)?A、在接口上,输入能否正确地接受?能否输出正确的结果?B、性能上是否能够满足要求?C、程序是否容易被理解D、是否有数据结构错误或外部信息访问错误?11、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是(C)A、条件覆盖法B、等价分类法C、边界值分析法D、错误推测法12、黑盒测试不能发现以下类型的错误(D)A、不正确或遗漏的功能B、接口错误C、行为或性能错误D、内部代码的具体错误13、软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试(D)。A、结构合理性B、软件外部功能C、程序正确性D、程序内部逻辑14、以下说法错误的是(A)。A、成功的测试是指发现程序的所有错误B、测试不能证明程序是正确的C、测试不能证明程序中没有错误D、测试是为了发现程序中的错误15、下列不属于单元测试内容的选项是(D)。A、边界条件测试B、模块接口测试C、重要执行路径测试D、压力测试16、下列说法错误的是(A)。A、桩模块用于模拟主程序功能,用于向被测模块传递数据,接收、打印从被测模块返回的数据B、系统测试是从用户使用的角度来进行的测试,主要工作是将完成了集成测试的系统放在真实的运行环境下进行测试,用于功能确认和验证C、系统测试基本上使用黑盒测试方法D、系统测试的依据主要是软件需求规格说明书17、在软件测试中,首先对每个模块分别进行单元测试,再把所有的模块按照设计要求组装在一起,称为(D)。A、确认测试B、系统测试C、黑盒测试D、集成测试18、用白盒测试设计测试用例的方法包括(C)A、错误推测B、状态测试C、基本路径测试D、边界值分析19、关于软件测试基本概念描述错误的是(D)。A、软件测试方法分为静态分析法和动态测试法B、软件测试通常很难用“穷举法”进行测试C、软件测试的基本步骤的顺序依次为:单元测试、集成测试、系统测试、验收测试。D、白盒法是一种静态分析方法,可尽可能早的发现缺陷,主要用于模块测试20、下列不属于静态分析方法的是(D)。A、桌面检查B、代码会审C、走查D、白盒法21、白盒法中的覆盖标准描述不正确的是(C)。A、语句覆盖是指选择足够的测试用例,使得程序中每个语句至少都能被执行一次B、判断覆盖是指执行足够的测试用例,使每个判定至少都获得一次“真”值和“假”值C、条件覆盖是指执行足够的例子,使得每个判定中条件的各种可能组合都至少出现一次D、判定/条件覆盖是指执行足够的测试用例,使得判定中每个条件取到各种可能的值,并使每个判定取到各种可能的结果22、下列说法错误的是(A)。A、等价类划分法属于白盒测试法B、边界值分析法属于黑盒测试法C、条件覆盖属于白盒测试法D、分支覆盖属于白盒测试法23、若有一个程序,它的输入文件可有1-255个记录,则设计用例:文件的记录数为0个、1个、255个、256个。设计这组测试用例的方法是(C)。A、条件覆盖法B、等价分类法C、边界值分析法D、错误推测法24、以下针对V模型的描述不正确的是(D)。A、单元测试对应的开发活动是详细设计B、集成测试对应的开发阶段是概要设计C、系统测试对应的开发活动是需求分析D、验收测试对应的开发活动是详细设计25、下列说法错误的是(A)。A、验收测试是从开发者的角度检查系统是否满足需求分析规格说明书B、在等价分类法中,一个测试用例只能覆盖一个无效等价类C、单元测试的主要目的是验证软件模块是否按详细设计的规格说明正确运行D、集成测试的主要目的是检查多个模块间是否按概要设计说明的方式协同工作26、关于回归测试说法不正确的是(A)。A、在修正发现的软件缺陷后,只要认真设计修改,不需要对变化的部分再进行测试B、回归测试是指有选择地重新测试系统或其组件,以验证对软件的修改没有导致不希望出现的影响C、回归测试需要测试所有新集成的程序D、回归测试需要测试所有修改或者修正过的程序27、关于集成测试说法不正确的是(D)。A、集成测试以黑盒法为主B、集成测试在单元测试完成以后进行C、自顶而下增量集成的优点是能够尽早发现系统主控方面的问题D、自底而上增量集成的优点是能够尽早发现系统主控方面的问题28、由软件预发行的最终客户们在一个或多个客户场所对软件进行的测试,称为(A)。A、β测试B、集成测试C、平行运行D、α测试填空题软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。(软件过程)是为了获得高质量软件所需要完成的一系列任务的框架。系统流程图实质上是(物理)数据流图。ER模型可以作为(用户)与分析员之间有效的交流工具。第二范式满足第一范式条件,而且每个非关键字属性都由整个关键字决定。并发系统中遇到的一个主要问题是(定时)问题。形式化的规格说明消除了(二义性),从而可以减少差错。需求分析阶段得出的(数据流图)是总体设计的极好的出发点。软件工程师应该在需求分析阶段所确定的系统数据需求的基础上,进一步设计(数据库)。面向数据流的设计方法是把信息流映射成(软件结构)程序的质量和GOTO语句的数量成(反比)。(易变性)指系统响应时间相对于平均响应时间的偏差。人机界面设计是(接口)设计的一个重要组成部分。通常把(编码)和测试统称为实现。(黑盒)测试法把程序看做是一个黑盒子,完全不考虑程序的内部结构和处理过程(验收)测试也称为确认测试。集成测试主要目标是发现与(接口)有关的问题。通常(白盒)测试在测试过程的早期阶段进行。软件(可靠性)是程序在给定的时间间隔内,按照规格说明书的规定成功运行的概率通常把诊断和改正错误的过程称为(改正)性维护。传统的软件开发方法以算法为核心,开发过程基于功能分析和(功能分解)。面向对象的软件技术在利用(可重用)的软件成分构造新的软件系统时,有很大的灵活性。在C++中,多态性是通过(虚函数)来实现的。如果在聚集关系中处于部分方的对象可以同时参与多个处于整体方对象的构成,则该聚集称为(共享)聚集。与多重继承相反的是(不相交)继承。面向对象方法学认为,客观世界由(对象)组成。在用面向对象观点建立起的3种模型中,(对象模型)是最基本,最重要,最核心的。(主题)是指导读者理解大型、复杂模型的一种机制。确定了类中应该定义的属性之后,就可以利用(继承)机制共享公共性质。对于仅存储静态数据的系统来说,(动态)模型并没有什么意义,但它在开发交互式系统时却起着很重要的作用。我们可以把面向对象设计分为系统设计和(对象)设计由于类的封装性,使用者无须了解实现细节就可以使用适当的(构造)函数,按照需要创建类的实例。把子系统组织成完整的系统时,有水平层次组织和(垂直块)组织两种方案可供选择在面向对象设计过程中,应该对系统的人机(交互)子系统进行详细设计关系数据库管理系统的理论基础是(关系代数)。面向对象分析得出的对象模型,通常并不详细描述类中的(服务)。如果关联的重数是多元的,则需要用一个(指针集合)实现关联。可以通过增加(冗余)关联提高访问效率。仅当存在真实的一般-特殊关系时,利用(继承)机制实现行为共享才是合理的。更完整的类库通常还提供了独立于具体设备的(接口)类。所谓(参数)类,就是使用一个或多个类型去参数化一个类的机制。测试面向对象的软件时,应该把操作作为(类)的一部分来测试。开始集成面向对象系统以后,必须对(类间协作)进行测试。(软件项目管理)先于任何技术开始之前开始,并且贯穿于软件的整个生命周期之中。如果把项目(持续时间)延长一些,则可降低完成项目所需的工作量。(云班)按照(软件开发工作的主体),可以将软件生存周期过程分为基本过程、支持过程和组织过程。判断题软件开发和维护过程中存在很多严重问题,这与软件的规模有关。(×)导出软件结构属于典型的可行性研究过程(×)(知识点)(1)确定项目规模和目标(2)研究正在运行的系统(3)建立新系统的逻辑模型(4)导出和评价各种方案(5)推荐可行性方案(6)编写可行性研究报告(7)递交可行性研究报告面对复杂的系统时,一个比较好的方法是分层次地描绘这个系统。(√)数据字典是开发数据库的第一步,而且是很有价值的一步。(√)层次方框图不能代表完整的数据结构。(×)不需要验证需求的现实性(×)所谓形式化方法,是描述系统性质的基于数学的技术。(√)总体设计过程通常由两个主要阶段组成,其中系统设计阶段确定软件结构(×)简单地说,理想的内聚模块只做一件事情。(√)一个模块的扇出表明有多少个上级模块直接调用它。(×)层次图方框间的连线表达的是组成关系。(×)结构图中箭头尾部是实心圆表示传递的是控制信息。(√)面向数据结构的设计方法的目标是给出设计软件结构的一个系统化的途径。(×)优化是先使它快起来,再使它工作起来。任何流图的环形复杂度都等于判定节点的数目加1。(×)软件测试的目的是发现并改正错误。(×)调试的目标是充分暴露程序当中的错误。(×)所有测试都应该追溯到用户的需求(√)白盒测试又称为功能测试。(×)(知识点)白盒测试也称为结构测试,主要用于检测软件编码过程中的错误。黑盒测试又称为功能测试,主要检测软件的每一个功能是否能够正常使用。如果一个人是程序的设计者又是编写者,或是程序的编写者又是测试者,则审查小组应该再增加一个程序员。(√)Alpha测试由软件的最终用户们在一个或多个客户场所进行。(×)类中定义的方法,是允许施加于该类对象上的操作。(√)对面向对象的软件进行维护,主要通过从已有类派生出一些新类来实现。(√)对象本质上具有并行性。(√)在C++中,函数重载是通过动态联编来实现的。(×)细化关系描述了两个模型元素之间的语义连接关系。(×)实际上,用面向对象方法开发软件时,阶段的划分是十分模糊的。(√)系统分析员必须把需求与实现策略区分开(√)需求陈诉应该阐明怎么做而不是做什么。(×).在建立对象模型的过程中,服务一定要确定下来。(×)事件追踪图中箭头线之间的距离表示两个事件之间的精确时间差。(×)我们应该降低继承耦合的强度(×)(知识点)与交互耦合相反,继承的耦合程度要高。紧密的继承耦合与高度的一般-特殊内聚是不一致的。(×)使用面向对象方法开发软件时,在分析和设计之间并没有明确的分界线。(√)在提高可扩充性的过程中,应该用一种方法遍历多条关联链。(×)面向对象系统的确认测试是面向白盒的。(×)正确性证明过程本身也可能发生错误。(√)(云班)支持过程是指那些与软件生产组织有关的活动集。(×)(云班)软件生存周期的含义是表明软件的演化和发展具有周期性,每过一段时间就需要更新。(×)(云班)当软件的一个版本被淘汰时,则该软件的生存周期就结束了(×)(云班)软件生存周期过程表示软件生存周期内的一个过程。(×)(云班)软件生存周期模型是对软件生存周期中过程、活动和任务的组织。(×)(云班)软件开发模型是软件开发过程的活动和任务的结构框架。(×)(云班)软件生存周期模型必须要将所有类型的过程、活动和任务考虑在内,形成满足每个软件项目需要的模型。(×)(云班)模型一定是在某种特定意图下,从某种特定的角度物理环境的抽象(√)(云班)软件开发中分层的基本动机时空之开发的复杂性(√)(云班)相比硬件而言,软件更容易被修改,而且更容易被正确的进行修改(×)(云班)采用瀑布模式的开发过程是一种自顶向下的开发方法,而软件构件复用的开发过程是一种自底向上的开发方法(√)(云班)任何软件开发过程必须从软件需求入手(√)(云班)软件需求时代开发产品或系统的功能描述(×)(云班)质量属性必须要给出量化的测量指标(√)(云班)非功能需求必须依附于功能需求而存在(√)(云班)面向对象就是一种使用面向对象程序设计语言的程序开发方法(×)(云班)一个类中可以有多个操作,也可以没有操作(√)(云班)所有的类都必须与客观事物相对应,都必须有具体的实例(×)(云班)接口之间没有关联、泛化、实现和依赖,也不能参与泛化、实现和依赖关系(×)(云班)接口不仅可以描述类的外部可见操作,而且可以描述其内部结构(×)(云班)软件开发中分层的基本动机是控制开发的复杂性(√)(云班)支持过程是指那些与软件生产组织有关的活动集(×)(云班)软件生存周期模型是对软件生存周期中过程、活动和任务的组织(√)(云班)包间的依赖通常隐含了各包种元素之间存在的一个或多个依赖(√)(云班)包可以包含其他种类的模型元素,但本身不能嵌套在其他包中(×)(云班)对于关联另一端的类的每个对象,本端的类只可能会有一个对象出现(×)(云班)在类的一个关联中,可以显示地命名该角色(√)(云班)在关联关系中,聚合是组合的一种特殊形式(×)(云班)对于每一个关联关系都需要说明其多重性,如果不说名,则默认是(√)(云班)注解和约束不是类图的一部分(×)(云班)类图主要使用“类”来抽象系统中各个组成部分,不包括系统环境(×)(云班)OOA过程中建立模型规约可以集中进行,也可以分散在各个活动中(√)(云班)OOA的最终目的是产生一个只能直接反映问题域的OOA模型(×)(云班)如果一个交互是由系统外的参与者发起的,第一个处理该监护的对象是主动对象(√)(云班)与实现条件有关的对象是OOA阶段需要重点关注的对象(×)(云班)在对象分类过程中,对于属性及操作相似的类需要考虑能够抽出一个一般类或部分类(√)(云班)依赖关系是一种使用关系,如果被使用的类发生变化,那么另一个类的操作也会受到影响(√)(云班)在OOA过程中,不需要考虑任何主动对象和主动操作(×)(云班)一个类的属性必须适合这个类和他的全部特殊类的所有对象,同时,一个类中的操作也应适合这个类及其所有特殊类的每一个对象实例(√)(云班)OOA过程中,为了提高操作的执行速度,可以考虑增加一些属性来保持操作的阶段性执行结果(×)(云班)依赖关系是一种使用关系,如果被使用的类发生变化,那么另一个类的操作也会受到影响(√)(云班)在初步建立类之间的关系时,可以暂时使用关联。在最终的类图中,若能用其他关系明确地指明类之间关系的含义,就不要适用关联(×)(云班)关联关系可用动词或动宾结构来命名,关联的命名不可缺省(×)(云班)两个对象之间的关联关系只能有一个(×)Q(云班)与结构化的分析和设计类似,面向对象的分析和设计之间也存在一定的鸿沟(×)(云班)OOD模型的四个部分均采用与OOA一致的概念、表示法、活动及策略(×)(云班)所有的实现因素都能通过一些在OOD中新定义的独立组成部分而实行有效的隔离(×)(云班)在OOA中未完成的细节定义需要在OOD完成,所以OOD的主要任务是对OOA的细化(×)(云班)OOA强调如实地反映问题域,OOD考虑实现问题,当所用语言不支持多继承和多态,此时需要按编程语言调整多继承和多态。(×)(云班)人机交互的设计需要重点考虑比例最大的适用人群的情况,并适当的兼顾其他人(√)(云班)人机交互是OOD阶段的任务,在OOA阶段不需要考虑(×)(云班)人机交互的交互内容需求不仅与系统的功能需求有关,而且与人的主观意识也有很大的关系(×)(云班)人机交互部分的设计可以从usecase抽取人机交互内容及过程,在抽取过程中需要删除所有与输入输出无关语句。(√)简答题软件重用可以分为哪几个层次?(1)知识重用(2)方法和标准重(3)软件成分重用软件过程的输出信息可分为?(1)计算机程序(2)描迹计算机程序的有关文档(3)数据3.什么是多重继承指的是一个类别可以同时从多于一个父类继承行为与特征的功能。与单一继承相对什么是软件工程?软件工程是一门指导软件系统开发的工程学科,它以计算机理论及其他相关学科的理论为指导,采用工程化的概念、原理、技术和方法进行软件的开发和维护,把经实践证明的科学的管理措施与最先进的技术方法结合起来,软件工程研究的目标是“以较少的投资获取高质量的软件(1)把系统的,规范的,可度量的途径应用于软件开发.运行和维护过程,也就是把工程应用于软件.(2)研究上面所述途径5.什么是软件危机?如何解决?指在计算机软件开发和维护过程中所遇到的一系列严重问题(1)吸取和借鉴人类长期以来从事各种工程项目的积累,特别是经验教训(2)研究探索更好的方法,尽快消除一些错误概念和做法(3)采取严密的管理,做好各类文档的一致性完整性6.至少可以从哪些方面研究每种解法的可行性(1)技术可行性(2)经济可行性(3)操作可行性7.应从哪些方面验证需求的正确性?(1)一致性(2)完整性(3)现实性(4)有效性(5)精确性8.什么是形式化方法?基于数学描述系统性质的技术.形式化=有坚实的数学基础9.总体设计阶段,完成的文档有哪几种?(1)系统说明(2)用户手册(3)测试计划(4)详细的实现计划(5)数据库设计结果10.代码省查比计算机测试的优越性表现?(1)减少工作量,提高效率.计算机测试发现错误后,需改正错误才能继续测试,错误是一个个发现并改正,但省查一次就可以查很多错误.11.有哪几种维护活动?(1)改正性维护(2)适应性维护(3)完善性维护(4)预防性维护12.面向对象方法学有哪些优点?(1)与人类习惯的思维一致(2)稳定性好(3)可重用性好(4)较易开发大型软件产品13.类与类之间有那几种联系?(1)关联(2)继承(3)依赖(4)细化14.大型系统对象模型层次组成?(1)主题层(2)类与对象层(3)结构层(4)属性层(5)服务层15.测试单个类的方法有哪些?(1)随机测试(2)划分测试(3)基于故障的测试16.能力成熟度的5个等级?(1)初始级(2)可重复级(3)已定义级(4)已管理级(5)优化级17.(云班)与计算机硬件相比,计算机软件有哪些特点?(1)具有抽象性(2)没有明显的制造过程(3)存在退化问题(4)对计算机系统有着不同程度的依赖性(5)尚未完全摆脱人工的开发方式(6)软件本身是复杂的(7)软件成本相当昂贵(8)相当多的软件工作涉及社会因素18.(云班)软件工程的基本原则?(1)达到要求的软件功能。(2)取得较好的软件性能。(3)开发出高质量的软件。(4)付出较低的开发成本(5)需要较低的维护费用(6)能按时完成开发工作,及时交付使用。19.(云班)软件工程研究的内容?软件工程的研究内容主要包括以下两个部分:软件开发技术。主要研究软件开发方法、软件开发过程、软件开发工具和环境。软件开发过程管理。主要研究软件工程经济学和软件管理学。(云班)软件工程的三要素?(1)方法。(2)工具。(3)过程(云班)软件工程的目标?(1)达到要求的软件功能。(2)取得较好的软件性能。(3)开发出高质量的软件。(4)付出较低的开发成本。(5)需要较低的维护费用。(6)能按时完成开发工作,及时交付使用。22.(云班)软件开发方法有哪几种?(1)结构化方法。(2)面向数据结构方法。(3)面向对象方法。(4)形式化方法。23.(云班)什么是软件过程模型?有哪些主要模型?(1)软件过程模型是软件开发全部过程、活动和任务的结构框架,直观表达软件开发全过程,明确规定要完成的主要活动、任务和开发策略。(2)软件过程主要模型:瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型、统一过程弄醒、基于构件的模型、敏捷开发模型等。24.(云班)为什么增量式开发适合商务软件?它适合实时控制系统吗?(1)增量式开发适合商务软件的原因:能够及早投入市场;产品逐步交付能够较好地适应需求变化;开发中能够看到软件中间产品,提出改进意见,减少返工,降低开发风险;开放式体系结构便于维护(2)增量式开发不适合实时控制系统,原因:实时控制系统通常需求明确且稳定,技术相对成熟,对软件质量要求高,要求严格的工程管理。Q(课堂)多态和重载的区别?重载是指相同的操作名在同一个类中可以被定义多次,按参数的个数、种类或次序等的不同对他们进行区分多态是指在继承结构中,具有相同的属性和操作,在不同的类中可以具有不同的类型和行为。(课堂)结构化分析方法?(1)数据流图指出当数据在软件系统中移动识被怎样变换,以及描绘变换数据流的功能和子功能,用于功能建模。(2)实体—关系图(E-R图)庙会数据对象之间的关系,用于数据建模(3)状态转换图指明了作为外部事件结果的系统行为,用于行为建模(课堂)软件生命周期的阶段?(1)可行性研究(2)需求分析(3)软件设计(4)编码(5)软件测试(6)软件维护第一章作业1、什么是软件工程?参考答案:(1)将系统化的、规范的、可量化的方法应用于软件的开发、运行和维护,即将工程化方法应用于软件。(2)在(1)中所述方法的研究。第二章作业1、什么是软件过程模型?有哪些主要模型(回答4种以上)?参考答案:(1)软件过程模型是软件开发全部过程、活动和任务的结构框架,直观表达软件开发全过程,明确规定要完成的主要活动、任务和开发策略。(2)软件过程主要模型:瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型、统一过程弄醒、基于构件的模型、敏捷开发模型等。2、为什么增量式开发适合商务软件?它适合实时控制系统吗?参考答案:(1)增量式开发适合商务软件的原因:能够及早投入市场;产品逐步交付能够较好地适应需求变化;开发中能够看到软件中间产品,提出改进意见,减少返工,降低开发风险;开放式体系结构便于维护;(2)增量式开发不适合实时控制系统,原因:实时控制系统通常需求明确且稳定,技术相对成熟,对软件质量要求高,要求严格的工程管理。第三章作业1、什么是结构化分析方法?该方法使用什么描述工具?参考答案:结构化分析(StructuredAnalysis,简称SA),是面向数据流进行需求分析的方法。结构化分析的主要思想是采取自顶向下逐层分解的分析策略,即面对一个复杂的问题,分析人员不可能一开始就考虑到问题的所有方面以及全部细节,采取的策略往往是分解,把一个复杂的问题划分成若干小问题,然后再分别解决,将问题的复杂性降低到人可以掌握的程度。分解可分层进行,先考虑问题最本质的方面,忽略细节,形成问题的高层概念,然后再逐层添加细节,即在分层过程中采用不同程度的“抽象”级别,最高层的问题最抽象,而低层的较为具体。结构化分析(SA)方法的描述工具有:数据流图,数据字典,描述加工逻辑的结构化语言、判定表、判定树等。从功能模型、数据模型、行为模型三方面的描述工具来作答。2、什么是数椐字典?其作用是什么?它有哪些条目?参考答案:数据字典(DataDictionary,简称DD)是用来定义数据流图中的各个成分的具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。数据流图仅描述了系统的“分解”,系统由哪几部分组成,各部分之间的联系,并没有对各个数据流、加工、数据存储进行详细说明,如数据流、数据存储的名字并不能反映其中的数据成分、数据项目内容和数据特性,在加工中不能反映处理过程等等。数据字典有以下四类条目:数据流、数据项、文件、基本加工。3、什么是面向对象方法?面向对象的解决问题的思路是什么? 参考答案:面向对象方法是一种运用对象、类、继承、封装、聚合、关联、消息、多态性等概念来构造系统的软件开发方法。 面向对象方法的解决问题的思路是从现实世界中的客观对象(如人和事物)入手,尽量运用人类的自然思维方式来构造软件系统,这与传统的结构化方法从功能入手和信息工程化方法从信息入手是不一样的。4、现有一个医院病人监护系统,病症监视器负责病人的病症监控,实时采集病人的病症信号,并将病症信号格式化后传回到中央监护系统,中央监护系统将病症信号存储在中央数据库中,并将病症信号与标准信号进行比较,当病症出现异常时自动报警。请给出此系统的用例图,并描述出用例之间的include与extend关系。参考答案:评分标准:正确给出2个参与者,得2分,1个参与者1分;正确给出至少6个正确用例,每个1分,最多6分;正确给出至少1个include关系,得1分,最多1分;正确给出extend关系,得1分。5、现有一个图书订购系统:顾客填写订单并交给书店,书店首先依据订单的图书书目对订单检查,对合格订单进行录入系统处理,并存储在订单库中。每天下班前对当日订单进行汇总,并将汇总结果发送给出版社。请画出此系统的第0层与第1层数据流图,正确表达出外部项、数据加工、数据存储及三者之间的关系。参考答案:评分标准:正确给出第0层数据流图得3分,1个外部项1分、1个数据加工得1分;正确给出第1层数据流图得7分,1个外部项1分,不超过2分、1个数据加工得1分,不超过3分、1个数据存储得1分,不超过2分。第四章作业1、衡量模块独立性的两个标准是什么?它们各表示什么含义?它们之间有什么关系?参考答案:内聚性和耦合性。内聚性是指模块内部各个元素之间的紧密程度。耦合性是指模块之间的相互依赖。内聚性强,则耦合性弱,反之亦然。2、什么是软件体系结构?请举出两个软件体系结构的例子。参考答案:软件体系结构是系统的一个或多个结构,它包括软件构件、构件的外部可见属性、以及它们之间的相互关系。两个例子,如分层、管道过滤器或数据为中心等并加以阐述,一个例子1分。3、请创建下列描述的顺序图。(1)借阅者希望通过图书管理员借阅某本图书;(2)借阅者将图书证和图书交给图书管理员;(3)图书管理员将读者图书证编号和图书编号录入借阅图书界面LendBookWindow;(4)借阅图书界面LendBookWindow根据图书编号向Book类对象请求加载图书信息;(5)Book类对象返回图书信息给借阅图书界面LendBookWindow;(6)借阅图书界面LendBookWindow请求将图书信息和借阅者编号添加到Loan类对象中;(7)Loan类对象添加借阅信息,返回借阅成功给借阅图书界面LendBookWindow;(8)借阅图书界面LendBookWindow显示借阅完成;(9)图书管理员将图书证和图书归还给借阅者。参考答案:评分标准:答对一条请求消息1分,答对一个角色1分4、输入一个数X,求使得1+2+…+i<=X成立的i的最大值,画出求解的程序流程图。参考答案:评分标准:流程图符号错误一个扣1分,解题逻辑正确得5分。参考答案如下:第六章作业1、在11月11日购物节期间,购物金额大于500,按照8折给予优惠,其他给予9折优惠,现已给出程序流程图和对应代码,要求采用逻辑覆盖的白盒测试方法进行测试。(1)设计一组测试用例实现语句覆盖;(2)设计一组测试用例实现分支覆盖;(3)设计一组测试用例实现条件覆盖。inputa,bc=aifb=11-11thenifa≤300thenc=0.9aelsec=0.8aendifendifoutputc参考答案:(1)语句覆盖两组:a≤300,b=11-11;a>300,b=11-11(2)分支覆盖三条分支:a≤300,b=11-11;a>300,b=11-11;b≠11-11(3)条件覆盖第一个判断:b=11-11取真为T1,取假为T1,第一个判断:a≤300取真为T2,取假为T2。每个每个条件的可能取值至少执行一次2、设有一个排课系统,输入的数据结构为{课程编号,课程类别,周次,实验课排课},并要求如下:课程编号为字母和数字的字符串组合,必须以字母开头,课程类别为{必修课、选修课}两种,排课周次要求在1~16周,课程的实验课排课要求为布尔量:是或者否。请用等价类划分法设计测试用例,来测试系统的输入功能。等价类表输入条件有效等价类无效等价类参考答案:(1)划分等价类(等价每个等价类或无效等价类0.5分)(2)设计测试用例(每个测试用例1分)覆盖有效等价类,用最少的测试用例覆盖尽可能多的有效等价类覆盖无效等价类,用一个测试用例覆盖一个无效等价类软件工程试题+画图题一、选择题1.瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和-。©A详细计划B.可行性分析C运行阶段D测试与排错2.在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试年勺系统测试阶段的目(A)A需求分析阶段B详细设计阶段C.概要设计阶段D可行性研究阶段,3.软件工程的出现主要是由于©,A程序设计方法学的影响B.其它工程科学的影响C.软件危机的出现D.计算机的发展4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C)A.硬件环境B.软件开发的环境C.软件开发工具和软件开发的环境D.开发人员的素质5.软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为(B)A.相互排斥B相互补充C独立使用D交替使用6.UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法©A.基于瀑布模型的结构化方法B.基于需求动态定义的原型化方法C.基于对象的面向对象的方法D.基于数据的数据流开发方法7.在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B)A.结构化方法B原型化方法C面向对象的方法D控制流方法8.结构化分析方法是一个预先严格定义需求的方法,它在实施时强调的是分析对象的(B)A.控制流B.数据流C程序流D.指令流9.软件开发的结构化

温馨提示

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

评论

0/150

提交评论