还剩10页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
《软件工程》考试大纲
一、单项选择题.软件需求分析阶段的工作,可以分为以下4个方面对问题的识别、分析与综合、编写需求分析文档以及()A.总结B.阶段性报告C.需求分析评审D.以上答案都不正确参考答案:C.在结构化分析方法中,用以表达系统内数据的运动情况的工具有()oA.数据流图B.数据词典C.结构化英语D.判定表与判定树参考答案:A.软件需求分析的任务不应包括()A.问题分析B.信息域分析C.结构化程序设计D.确定逻辑模型参考答案:C.进行需求分析可使用多种工具,但()是不适用的A.数据流图B.判定表C.PAD图D.数据词典参考答案:C.在需求分析中,分析员要从用户那里解决的最重要的问题是()A.要让软件做什么B.要给该软件提供哪些信息C.要求软件工作效率如何D.要让软件具有什么样的结构解在需求分析中,分析员要从用户那里解决的最重要的问题是
6.需求规格说明书的内容不应当包括()A.对重要功能的描述B.对算法的详细过程性描述C.软件确认准则D.软件的性能解需求规格说明书的内容.需求规格说明书在软件开发中具有重要的作用,但其作用不应当包括()A.软件设计的依据.用户和开发人员对软件要“做什么”的共同理解C.软件验收的依据D软件可行性分析的依据解需求规格说明书在软件开发中具有重要的作用,但其作用不应当包括
8.在结构化分析方法中用状态一迁移图表达系统或对象的行为在状态一迁移图中,由一个状态和一个事件所决定的下一状态可能会有()个“自顶向下,逐步求精”是NiklausWirth提出的设计策略即将软件的体系结构按自顶向下方式,对各个层次的过程细节和数据细节逐层细化,直到用程序设计语言的语句能够实现为止,从而最后确立整个的体系结构这样的结构实际就是一个模块的分层结构,即分层的过程在实施时,采用抽象化的方法,自顶向下,给出不同的抽象层次在最高的抽象层次上,可以使用问题所处环境的语言概括地描述问题的解法而在较低的抽象层次上,则采用过程化的方法在描述问题的解法时,我们可以配合使用面向问题的术语和面向现实的术语但最后在最低的抽象层次上,我们应使用能够直接实现的方式来描述这个解法温馨提示照抄答案,没有加入自己的答案,一律不给分
6.面向数据流的体系结构设计时,如何运用变换映射进行转换?答变换映射是体系结构设计的一种策略运用变换映射方法建立初始的变换型系统结构图然后对它做进一步的改进,最后得到系统的最终结构图设计的步骤如下步骤1复审基本系统模型(0层数据流图和支持信息)评估系统规格说明和软件需求规格说明步骤2复审和细化软件的数据流图重画数据流图时,可以从物理输入到物理输出,或者相反.还可以从顶层加工框开始,逐层向下步骤3确定数据流图中含有变换流特征还是含有事务流特征通常,系统的信息流总能表示为变换型,但其中也可能遇到明显的事务流特征,这时可采用变换型为主,在局部范围采用事务型的设计方法步骤4区分输入流、输出流和中心变换部分,即标明流的边界不同的设计人员可能选择不同的流边界,这将导致不同的系统结构图温馨提示照抄答案,没有加入自己的答案,一律不给分
7.面向数据流设计中的启发式设计策略是什么?答
①模块功能的完善化一个完整的功能模块,不仅应能完成指定的功能,而且还应当能够告诉使用者完成任务的状态,以及不能完成的原因
②消除重复功能,改善软件结构在系统的初始结构图得出之后,应当审查分析这个结构图如果发现几个模块的功能有相似之处,可以加以改进
③模块的作用范围应在控制范围之内模块的控制范围包括它本身及其所有的从属模块模块的作用范围是指模块内一个判定的作用范围,凡是受这个判定影响的所有模块都属于这个判定的作用范围如果一个判定的作用范围包含在这个判定所在模块的控制范围之内,则这种结构是简单的,否则,它的结构是不简单的
④尽可能减少高扇出结构,经验证明,一个设计得很好的软件模块结构,通常上层扇出比较高,中层扇出较少,底层扇入到有高扇入的公用模块中(温馨提示照抄答案,没有加入自己的答案,一律不给分)A.1个B.2个C.多个D.不确定解在结构化分析方法中用状态一迁移图表达系统或对象的行
9.一组语句在程序中多处出现,为了节省内存空间把这些语句放在一个模块中,该模块的内聚性是()的A巧合内聚B功能内聚C逻辑内聚D时间内聚参考答案:A10将几个逻辑上相似的成分放在同一个模块中,通过模块入口处的一个判断决定执行哪一个功能该模块的内聚性是()的A巧合内聚B功能内聚C逻辑内聚D时间内聚参考答案:C.模块中所有成分引用共同的数据,该模块的内聚性是()的A通信内聚B功能内聚C逻辑内聚D时间内聚参考答案:A.模块内的某成份的输出是另一些成分的输入,该模块的内聚性是()的A通信内聚B功能内聚C逻辑内聚D过程内聚参考答案:D.模块中所有成份结合起来完全一项任务,该模块的内聚性是()的它具有简明的外部界面,由它构成的软件易于理解、测试和维护A通信内聚B功能内聚C逻辑内聚D过程内聚参考答案:B
二、多项选择题
1.对象是面向对象范型的(A)每个对象可用它自己的一组(B)和它可以执行的一组(C)来表征应用执行对象的(C)可以改变该对象的(B)它的应用必须通过(D)的传递可以认为,这种(D)的传递大致等价于过程性范型中的函数调用某些语言提供了特殊功能,允许对象引用自己若一个对象没有显式地被引用,则可让该对象(E)供选择的答案.A
①基本单位
②最小单位
③最大单位
④语法单位B〜C
①行为
②功能
③操作
④数据
⑤属性
②消息
③信息
④操作
②歇着
③缺省
④隐式引用C.
③,D.
②,E.
③型事实上,类是单个的(B)语义单元类的用户能够操纵的操作叫做类的(C)类定义的其余部分给出数据定义和辅助功能定义,包括类的实现类的实现常常包括了其它类的实例,这些实例(D)被其它对象存取,包括同一个类的其它实例类的实现可能还包括某些私有方法,实现它们的类可以使用,而其它任何对象都不能使用类,就它是一个数据值的聚合的意义上来看,与Pascal中的记录或C中的结构类似但又有差别类扩展了通常的记录语义,可提供各种级别的(E)类不同于记录,因为它们包括了操作的定义,这些操作与类中声明的数据值有相同的地位供选择的答案..由RumBaugh等人提出的一种面向对象方法叫做对象模型化技术(OMT)即三视点技术它要求把分析时收集的信息建立在三个模型中第一个模型是(A)它的作用是描述系统的静态结构,包括构成系统的对象和类,它们的属性和操作,以及它们之间的联系第二个模型是(B)它描述系统的控制逻辑,主要涉及系统中各个对象和类的时序及变化状况(B)包括两种图,即(C)和(D)(C)描述每一类对象的行为(D)描述发生于系统执行过程中的某一特定场景第三个模型是(E)它着重于描述系统内部数据的传送与处理,它由多个数据流图组成.在面向对象软件设计过程中,应按如下要求进行类的设计.只有类的共有界面的成员才能成为使用类的操作,这就是软件设计的(A)原则当且仅当一个操作对类的实例的用户有用时,它才是类公共界面的一个成员,这是软件设计的(B)原则由同属一个类的操作负担存取或加工类的数据,这是软件设计的(C)原则两个类之间的交互应当仅涉及参数表,这是软件设计的(D)原则每个派生类应该当做基类的特殊化来开发而基类所具有的公共界面成为派生类的共有界面的一个子集,这是软件设计的(E)原则供选择的答案.C
①数据抽象
②低内聚
③高内聚
④低复杂度
⑤低强度D
①显式信息传递
②高内聚
③低内聚
④相互操作性
⑤连接性E
①动态联编
②异质表
③信息隐蔽
④多态性
⑤继承性答A.
③,B.
②,C.
③,D.
①,E.
⑤.从下列有关系统结构图的叙述中选出正确的叙述o
(1)系统结构图中反映的是程序中数据流的情况
(2)系统结构图是精确表达程序结构的图形表示法因此,有时也可将系统结构当作程序流程图使用一个模块的多个下属模块在系统结构图中所处的左右位置是无关紧要的
(4)在系统结构图中,上级模块与其下属模块之间的调用关系用有向线段表示这时,使用斜的线段和水平、垂直的线段具有相同的含义答
(4).软件的开发工作经过需求分析阶段,进入(A)以后,就开始着手解决“怎么做”的问题常用的软件设计方法有(B)、(C)、(D)和(E)等方法供选择的答案:答A.
②,B.
⑤,C.
①,D.
①,E.
③其中,D与E的答案可互换.请将下述有关模块独立性的各种模块之间的耦合,按其耦合度从低到高排列起来
⑤内容耦合
②控制耦合
③非直接耦合
④标记耦合
⑤数据耦合
⑥外部耦合
⑦公共耦合答
③、
⑤、
④、
②、
⑥、
⑦、
①.请将下述有关模块独立性的各种模块内聚,按其内聚度(强度)从高到低排列起来
⑤巧合内聚
②时间内聚
③功能内聚
④通信内聚
⑤逻辑内聚
⑥信息内聚
⑦过程内聚答
③、
⑥、
④、
⑦、
②、
⑤、
①.从供选择的答案中选出应该填入下列关于软件设计的叙述的()内的正确答案在众多的设计方法中,SD方法是最受人注意的,也是最广泛应用的一种,这种方法可以同分析阶段的(A)方法及编程阶段的(B)方法前后衔接,SD方法是考虑如何建立一个结构良好的程序结构,它提出了评价模块结构质量的两个具体标准一一块间联系和块内联系SD方法的最终目标是(C),用于表示模块间调用关系的图叫(D)0另一种比较著名的设计方法是以信息隐蔽为原则划分模块,这种方法叫(E)方法供选择的答案:E
①Jackson
②Parnas
③Turing©Wirth
⑤Dijkstra答A.
②,B.
⑤,C.
③,D.
③,E.
②.从供选择的答案中选出应该填入下列关于软件设计的叙述的()内的正确答案在完成软件概要设计■,并编写出相关文档之后,应当组织对概要设计工作的评审评审的内容包括分析该软件的系统结构、子系统结构,确认该软件设计是否覆盖了所有已确定的软件需求,软件每一成分是否可(A)到某一项需求分析软件各部分之间的联系,确认该软件的内部接口与外部接口是否己经明确定义模块是否满足(B)和(C)的要求模块(D)是否在其(E)之内供选择的答案答A.
③,B.@C.
③,D.
①,E.©.类库是一种预先定义的程序库,它以程序模块的形式,按照(
①)把一组类的定义和实现组织在一起(
②)对类库的建设提供了强有力的支持
①A.类的功能B.类层次结构C.实例之间的调用关系D.类的类型
②A.引用B.重置C.类属类D.封装答
①B
②D.在UML中,对象行为是通过交互来实现的,是对象间为完成某一目的而进行的一系列消息交换消息序列可用两种图来表示,强调消息时间次序的图称之为(
①),该图的特点是(
②),强调参加交互的对象的组织图称之为(
③),这两种图是(
④)
①A.活动图(activitydiagram)B.状态图(statechartdiagram)C.序列图(sequencediagram)D.协作图(collaborationdiagram)
②A.有生命线及控制焦点,重点在消息的时间顺序上B.有路径有顺序号,为了一个消息的时间顺序给消息加数字前缀C.是对系统、子系统或类的行为建模D.本质上是一个流程图,显示从活动到活动的信息流
③A.活动图(activitydiagram)B.状态图(statechartdiagram)C.序列图(sequencediagram)D.协作|S(collaborationdiagram)
④A.同构的,所以可以互相转换B.异构的,所以不可以互相转换C.强调对象行为的事件顺序,常用于对反应式系统建模D.专注于系统的动态视图,状态无法确定,所以不可以互相转换答
①C
②A
③D
④A
13.从供选择的答案中选出应该填入下面()中的正确答案A.允许用户建立、修改、存储正文的计算机程序是()
①Bootstrap
②Editor
③Loader
④TextformatterB.程序语言的编译系统和解释系统相比,从用户程序的运行效率来看()
①前者运行效率高
②两者大致相同
③后者运行效率高
④不能确定C.FORTRAN语言的源程序是()结构
①块状
②分程序嵌套
③既是块状,又是嵌套
④既不是块状,又不是嵌套的D.国际上最广泛使用的商用及行政管理语言是()
①COBOL
②BASIC
③FORTRAN
④PL/1E.国际上最流行的数值计算的程序设计语言是()
①BASIC
②ALGOL
③FORTRAN
④CF.美国国防部主持开发了高级程序设计语言Ada在它研制开始时,经反复比较,确定以高级语言()作为Ada研究的出发点
①LISP
②ALGOL
(3)ALGOL68
④PL/1答A.
②,B.
①,C.
①,D.
①,E.
③,F.
②
14、(6分)测试过程需耍三类输入.(A)、(B)和(C)请选择正确的答案填入下图中以完成测试信息处理的全过程供选择的答案A〜C.
①接口选择
④测试配置D〜F.
①排错
②可靠性分析
③结果分析
④数据分类
15、(5分)请从供选择的答案中选出应填入下列()中的字句程序的三种基本控制结构是(A)它们的共同点是(B)结构化程序设计的一种基本方法是(C)软件测试的目的是(D)软件调试的目的是(E)
16、(5分)从供选择的答案中选出应该填入下列关于软件测试的叙述的()内的正确答案软件测试中常用的静态分析方法是(A)和(B)(B)用于检查模块或子程序间的调用是否正确分析方法(白盒方法)中常用的方法是(C)方法非分析方法(黑盒方法)中常用的方法是(D)方法和(E)方法(E)方法根据输出对输入的依赖关系设计测试用例供选择的答案A〜B.
①引用分析
④效率分析C〜E.
①路径测试
④归纳测试
⑥深度优先
⑧调试
⑨相对图
17、(5分)软件可移植性是用来衡量软件的(A)的重要尺度之一为了提高软件的可移植性,应注意提高软件的(B)采用(C)有助于提高(B)为了提高可移植性,还应(D)使用(E)语言开发的系统软件具有较好的可移植性供选择的答案A.
①通用性
②效率
③质量
④人机界面
二、解答题.逐步求精、分层过程与抽象等概念之间的相互关系如何?答“自顶向下,逐步求精”是NiklausWirth提出的设计策略即将软件的体系结构按自顶向下方式,对各个层次的过程细节和数据细节逐层细化,直到用程序设计语言的语句能够实现为止,从而最后确立整个的体系结构这样的结构实际就是一个模块的分层结构,即分层的过程在实施时,采用抽象化的方法,自顶向下,给出不同的抽象层次在最高的抽象层次上,可以使用问题所处环境的语言概括地描述问题的解法而在较低的抽象层次上,则采用过程化的方法在描述问题的解法时,我们可以配合使用面向问题的术语和面向现实的术语但最后在最低的抽象层次上,我们应使用能够直接实现的方式来描述这个解法温馨提示照抄答案,没有加入自己的答案,一律不给分.写出“家庭保安系统”中“门窗监测”的场景解参与执行者实例警报器,警报电话,显示器,门窗监视器前置条件:系统已开机事件流a.门窗监视器发现门或窗户发生异动,向软件系统报告异常事件;b.软件系统启动警报器并拨报警电话号码;c.报警电话接通后,软件系统播出语音,报告异常事件发生的时间、地点和事件的性质(门窗异动);d.系统在控制面版的显示器上显示报警时间及当前状态(如报警门窗异动)后置条件系统处于“报警”状态温馨提示照抄答案,没有加入自己的答案,一律不给分.什么是变换流和事务流?解变换型数据流可以划分为明显的三部分逻辑输入,中心变换,逻辑输出信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统当数据流图具有这些特征时,这种信息流就叫作变换流事务流的特点是数据沿某个输入路径流动,该路径将外部信息转换成事务,其中发射出多条事务处理路径的中心处理被称为中心事务温馨提示照抄答案,没有加入自己的答案,一律不给分
4、建立分析和设计模型的一种重要方法是UMLo试问UML是一种什么样的建模方法?它如何表示一个系统?在类的设计中需要遵循的方针是什么?三个主要的设计准则抽象、信息隐蔽和模块化如何才能做到?解LML是一种可视化的、用于绘制软件蓝图的标准建模语言可以用UML对软件系统的各种制品(包括程序、文档等)进行描述UML虽然不是一种具体的编程语言,但是用UML描述的各种模型可以与各种编程语言直接相连在设计类时需要遵循的方针是信息隐蔽通过信息隐蔽可保护类的存储表示不被其它类的实例直接存取消息限制该类实例的用户应当只能使用界面提供的操作狭窄界面只有对其它类的实例是必要的操作才放到界面上强内聚模块内部各个部分之间应有较强的关系,它们不能分别标识1弱耦合一个单独模块应尽量不依赖于其它模块显式信息传递两个类之间的交互应当仅涉及显式信息传递派生类当做派生类型每个派生类应该当做基类的特殊化来开发,而基类所具有的公共界面成为派生类的共有界面的一个子集抽象类某些语言提供了一个类,用它做为继承结构的开始点,所有用户定义的类都直接或间接以这个类为基类为了在类的设计中做到抽象、信息隐蔽和模块化以类作为系统的基本模块单元,通过一•般化一特殊化关系和整体一部分关系,搭建整个系统的类层次结构,实现数据抽象和过程抽象;将数据和相关的操作封装在类内部,建立共有、私有和子类型等存取级别,将数据表示定义成为类的私有成员,实现信息隐蔽通过建立类属性(类模板),将某些有可复用要求的类设计成在数据类型上通用的可复用的软件构件,这样有助于实现模块化温馨提示照抄答案,没有加入自己的答案,一律不给分
5、逐步求精、分层过程与抽象等概念之间的相互关系如何?解总的指导原则是自顶向下、逐步求精它的基本原则是功能的分解与抽象逐步求精,也称为自顶向下是指不要求一步就编制成可执行的程序,而是分若干步进行第一步编出的程序抽象程度最高,第二步编出的程序抽象程度有所降低,最后一步编出的程序即为可执行的程序用这种方法编程,可使程序易读、易写、易调试、易维护,也易于保证程序的正确性及验证其正确性随着软件设计的逐步展开,程序结构中每一层模块就体现了过程抽象某一层次上的一次细化A
①功能B
①语法
②概念
②词法
③结构
③语义
④数据
④上下文环境C
①界面
②操作
③行为
④活动D
①可自由地
②可有控制地
③可通过继承
④应受保护不E
①可移植性
②可重复性
③可访问性
④继承性答::A.
②,B.
③,C.
①,D.
④,E.
③。