软件工程国考总结——选择题

2004 年软工

  • 1、软件可用性是指( B)。
    A.用户界面友好的程度
    B.软件结构,实现及文档为用户可用的程度
    C.修改软件错误的难易程度
    D.符合用户使用习惯的程度
    解答:B 软件工程目标:生产具有正确性、可用性以及开销合宜的产品。正确性指软件产品达到预期功能的程度。
    可用性指软件基本结构、实现及文档为用户可用的程度。开销合宜是指软件开发、运行的整个开销满足用户要求的程
    度。

  • 2、设计阶段的主要任务是( A)。
    A.给出软件解决方案
    B.给出系统模块结构
    C.定义需求并建立系统模型
    D.定义模块算法
    在这里插入图片描述

  • 3、 演化模型与增量模型的主要区别是(D )。
    A.软件工程活动不同
    B.针对的项目大小不同
    C.针对不同的软件开发方法
    D.针对的需求完整性不同
    解答:D 增量模型与演化模型的相同点是:基本思想都是非整体开发,以渐增方式开发系统。
    不同点:增量模型:产生结果给客户使用;演化模型:多次迭代,产生结果给测试。

  • 4、飞机和发动机都是类,它们之间是一种( C)关系。
    A.分类结构
    B. is a
    C.聚合结构
    D.一般-特殊结构
    解析:C。组合关系:HAS-A,继承关系:IS-A。飞机和发动机都为一个类,而飞机又有发动机这个类,所以是聚合结构,又可以写为组合关系。

  • 5、按不同人员的工作内容来分类软件过程,组织过程包括(C)。
    A.维护过程和改进过程等
    B.确认过程和审计过程等
    C.管理过程和改进过程等
    D.配置管理过程和裁剪过程等
    解答:C
    按照不同人员的工作内容来分,将软件生存周期过程分为三类:基本过程、支持过程、组织过程:
    .基本过程是指那些与软件生产直接相关的过程(5 个):获取过程、供应过程、开发过程、运行过程、维护过程
    .支持过程是有关各方按他们的支持目标所从事的一系列相关活动集(9 个):
    文档过程、配置管理过程、质量保证过程、验证过程、确认过程、联合评审过程、审计过程、问题解决过程、易用性过程等。
    .组织过程是指那些与软件生产组织有关的过程(8 个):
    管理过程、基础设施过程、改进过程、人力资源过程、资产管理过程、复用程序管理过程、领域软件工程过程、培训过程。

2005 年软工

  • 1、软件的正确性是指( B )
    A.软件产品能正常运行
    B.软件产品达到预期功能的程度
    C.软件产品符合用户的要求
    D.软件产品运行中不出现任何错误
    解析:B 软件的正确性是指软件按照需求正确执行任务的能力

  • 2、软件开发模型是( B )
    A.瀑布开发方法
    B.以活动对软件开发的一种分解
    C.瀑布模型
    D.一种软件过程
    解析:B 软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。软件开发包括需求、设计、编码和测试等阶段,有时也包括维护阶段。 软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,用来作为软件项目工作的基础。对于不同的软件系统,可以采用不同的开发方法、使用不同的程序设计语言以及各种不同技能的人员参与工作、运用不同的管理方法和手段等,以及允许采用不同的软件工具和不同的软件工程环境。
    -3、 结构化分析方法中的主要概念有( D )
    A.摸块内聚和耦合
    B.对像及类
    C.模块和信息隐蔽
    D.加工、数据流和数据源等
    解析:D
    描述输入数据流到输出数据流的变换(即加工)过程,用于对系统的功能建模,基本元素包括:
    在这里插入图片描述

  • 4、软件测试目标是( B )
    A.证明软件是正确的
    B.发现错误,降低错误带来的风险
    C.排除软件中的所有错误
    D.与软件调试相同
    解析:B
    软件测试有各种各样不同的目的和目标,但是它的主要目标如下:

     1. 发现程序员在开发软件时可能产生的缺陷。
    
     2. 获得对质量水平的信心并提供有关质量水平的信息。
    
     3. 以防止缺陷。
    
     4. 确保最终结果满足业务和用户需求。
    
     5. 确保其满足业务需求规范BRS和系统需求规范SRS。
    
     6. 为客户提供优质的产品,赢得客户的信任。
    
  • 5、软件过程是( C )
    A.特定的开发模型
    B.一种软件求解的计算逻辑
    C.活动的集合
    D.软件生存周期模型
    解析:C 软件过程(Software Process)是指软件生存周期所涉及的一系列相关过程。过程是活动的集合;活动是任务的集合;任务要起着把输入进行加工然后输出的作用。活动的执行可以是顺序的、重复的、并行的、嵌套的或者是有条件地引发的。

2006 年软工

  • 1、软件工程的基本目标可概括为( A )。
    A.可用性、正确性、合算性
    B.可用性、正确性、可靠性
    C.有效性、正确性、鲁棒性
    D.可用性、可靠性、方便性
    解析:软件工程目标—包括可用性、正确性和合算性,规定了软件工程实践的结果(即软件)应具有的基本性质。

  • 2、模块 A 直接访问模块 B 的数据,属于( A )。
    A.内容耦合
    B.数据耦合
    C.公共耦合
    D.控制耦合
    解析:内容耦合:两个模块间发生下面情形:
    (1)一个模块直接访问另一个模块的内部数据; (2)一个模块不通过正常入口转到另一个模块内部;
    (3)两个模块有一部分程序代码重叠(只可能程序在汇编语言中); (4)一个模块有多个入口。

  • 3、螺旋模型相比演化模型主要增加了( B )。
    A.制定计划
    B.风险分析
    C.客户评估
    D.工程实施
    解析:螺旋模型将瀑布模型与演化模型结合起来,并且加入两种模型均忽略了的风险分析。

  • 4、需求规约的最主要结果为( C )。
    A.用户需求描述文档
    B.数据流图和数据字典
    C.需求规格说明书
    D.可行性分析报告

  • 5、OOA 阶段建立的最主要模型是( B )。
    A.用况图
    B.类图
    C.顺序图
    D.对象图
    解析:用况图-用来建立需求模型;类图-面向对象建模,显示类内部结构及类之间关系;对象图-是类图的实例,显示对象
    和对象之间的关系。顺序图-是用来描述对象自身及对象间信息传递顺序的视图。

2007 年软工

  • 1、软件是( C )。
    A.计算方法 B.一个计算任务的处理对象的描述
    C.程序和文档 D.一个计算任务的处理规则的描述
  • 2对于软件需求明确的软件项目,适合于使用( D )模型进行软件开发。
    A.喷泉 B.增量 C.螺旋 D.瀑布
  • 3、软件设计阶段的主要任务是( A )。
    A.给出系统的模块结构 B.给出问题的软件解决方案 C.定义需求并建立系统模型
    D.定义模块的算法和数据结构
  • 4、软件测试过程模型给出了( B )。
    A.用例设计过程 B.软件测试的要素以及它们之间的关系
    C.白盒测试技术的要点 D.测试覆盖准则
  • 5、运输工具和汽车都是类,它们之间是一种( A )关系。
    A.一般特殊结构 B.组合结构 C.整体部分结构 D.聚合结构

2008 年软工

  • 1.软件开发的需求活动,其主要任务是( D )。
    A.给出软件解决方案
    B.给出系统模块结构
    C.定义模块算法
    D.定义需求并建立系统模型
    解析:各阶段主要任务, 需求阶段:定义需求并建立系统模型,编制需求规约; 设计阶段:给出软件解决方案;
    总体设计:给出软件体系结构,设计各模块;详细设计:给出系统模块结构和定义模块算法; 实现:软件编码;
    确认:软件测试; 支持:完善性维护,纠错性维护
  • 2.软件总体设计结束后得到( B )。
    A.初始化的软件结构图
    B.优化的软件结构图
    C.模块的算法
    D.程序编码
  • 3.面向对象分析方法与结构化分析方法的区别之一是( B )。
    A.一个使用了“抽象”,而另一个没有使用“抽象”
    B.一个以问题域的成分为基点来构造一个模块,而另一个不是
    C.一个目标明确,而另一个目标不明确
    D.一个需要考虑数据结构,而另一个不需要考虑数据结构
    解析:A 都使用了抽象(面向对象:类、对象和他们之间的关系;结构化方法:DFD、加工);
    B 结构化只是抽象了问题处理过程; C 目标都明确; D 都考虑数据结构;
  • 4.确定测试的计划是在( A )阶段制定的。
    A.需求分析 B.详细设计 C.编码 D.测试
    解析:分析之后—确定测试计划;设计之后—设计测试用例;编码之后—测试实施;测试—测试工作的展开
  • 5.按不同人员的工作内容来分类软件过程,基本过程包括( C )。
    A.维护过程和改进过程等
    B.开发过程和改进过程等
    C.获取过程和供应过程等
    D.改进过程和裁减过程等

2009 年软工

  • 1.在软件生命周期的( A )阶段中出错,对软件质量影响最大。
    A.需求分析 B.总体设计 C.详细设计 D.编码实现
    解析:越靠上的环节出现问题,造成的影响越大
  • 2.瀑布模型与喷泉模型的主要区别是( B )。
    A.软件工程活动不同
    B.支持不同的软件开发方法
    C.针对的需求完整性不同
    D.针对的项目大小不同
    解析:工程活动相同(需求、分析、设计、编码等); 开发方法(瀑布:结构化分析,喷泉:面向对象开发范型)
  • 3.软件详细设计阶段的主要任务是( D )。
    A.给出系统的模块结构 B.给出问题的软件解决方案 C.建立系统模型 D.定义模块的算法和数据结构
  • 4.在白盒测试的用例设计中,( C )是最强的覆盖准则。
    A.语句覆盖 B.条件覆盖 C.路径覆盖 D.分支覆盖
    解析:语句覆盖–判定覆盖–条件覆盖–判定/条件覆盖–条件组合覆盖–路径覆盖(由弱到强)
  • 5.动物和牛都是类,它们之间是一种( A )关系。
    A.泛化 B.组合 C.依赖 D.聚合
    解析:泛化:继承或实现关系

2010 年软工

  • 1.软件需求规格说明书不应包括( D )。
    A.用户界面的描述
    B.主要功能的描述
    C.软件性能的描述
    D.算法的描述
  • 2.下列选项中,( D )不是软件生存周期模型。
    A.瀑布模型 B.增量模型 C.演化模型 D.功能模型
  • 3.使用白盒测试方法时,确定测试数据应依据( B )。
    A.程序的数据结构 B.程序的内部逻辑 C.程序使用说明书 D.程序的功能
  • 4.汽车有一个发动机,汽车和发动机之间是一种( A )关系。
    A.聚合 B.分类 C.依赖 D.泛化
  • 5.若运输工具和火车都是类,则它们之间是一种( C )关系。
    A.聚合 B.分类 C.泛化 D.依赖

2011 年软工

  • 1.( )的说法是错误的。
    A.螺旋模型和演化模型都适用于软件需求不明确的项目开发
    B.演化模型和增量模型都适用于软件需求不明确的项目开发
    C.螺旋模型是在瀑布模型和演化模型的基础上加以修改而形成的
    D.增量模型是在瀑布模型的基础上加以修改而形成的
    解析:B 每一个增量开发过程都要有明确的需求。螺旋模型=瀑布模型+演化模型+风险分析活动;识别风险迭代的进行。
  • 2.设计软件结构不需考虑( )。
    A.模块之间的接口 B.模块间的调用关系
    C.模块的功能 D.模块内的局部数据
    解答:D
  • 3.( )的目标是发现软件的功能实现与需求规约的不一致。
    A.单元测试 B.集成测试 C.有效性测试 D.验证测试
    解析:D 单元测试-详细设计;集成测试-概要设计;系统测试-规格说明书;验证测试-需求分析(正确实现需求);
  • 4.千里马和马都是类,它们之间是一种( )关系。
    A.聚合 B.分类 C.依赖 D.泛化
    解析:D 泛化:人有老师、学生;关联:球员和球队;聚合:电话机和话筒,学校和老师;组合:人和人的心脏;依赖:司机依赖车;
  • 5.公司有一名法人代表,公司和法人代表之间是一种( )关系。
    A.聚合 B.分类 C.泛化 D.依赖
    解析:A

2012 年软工

  • 1.软件的正确性是指(B)。
    A.软件能正常运行 B.软件达到预期功能的程度
    C.软件符合用户的要求 D.软件运行中不出现任何错误
    【解析】B 软件的正确性是指软件达到预期功能的程度。
  • 2.结构化分析方法中的主要概念有( )。
    A.模块内聚和耦合 B.对象及类
    C.模块和信息隐蔽 D.加工、数据流和数据源等
    【答案】D
    【解析】模块内聚和耦合是从功能角度来度量模块内的联系;对象及类是面向对象的程序设计语言中的概念;模块和信息
    隐藏是开发整体程序结构时使用的法则;加工、数据流和数据源等是结构化分析法中的主要概念。
  • 3.软件需求很明确时,适用的软件开发模型是( )。
    A.喷泉模型 B.增量模型 C.瀑布模型 D.螺旋模型
    【答案】C
    【解析】喷泉模型使开发过程具有迭代性和无间隙性;增量模型是分析员先作出需求分析和概要设计,用户参与逐步完善;
    需求明确且稳定时,适用瀑布模型;螺旋模型将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析, 特别适合于大型复杂的系统。
  • 4.软件测试过程模型给出了( )。
    A.用例设计过程 B.软件测试的要素以及它们之间的关系
    C.白盒测试技术的要点 D.测试覆盖准则
    【答案】B
  • 5.教师是学校的一个部分,学校和教师之间是一种( )关系。
    A.聚合 B.分类 C.泛化 D.依赖
    【答案】A
    【解析】聚合关系是整体与部分的关系;且部分可以离开整体而单独存在:如车和轮胎是整体和部分的关系,轮胎离开车仍然可以存在; 泛化关系是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和
    行为,例如:老虎是动物的一种,既有老虎的特性也有动物的共性;
    依赖关系是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖。

    2013 年软工

  • 1.一个重要的软件生存周期模型是增量模型。以下各选项中,不属于该模型开发活动的是( )。
    A.增量分析 B.增量设计 C.增量实现 D.增量发布
    S 解:D 增量模型是把待开发的软件系统模块化,将每个模块作为一个增量组件,从而分批次地分析、设计、编码和测试这些
    增量组件。开发活动仅包括:需求、设计、实现、确认、支持。
  • 2.在使用结构化分析方法时,首先需要定义系统的边界。通常用于表达系统边界的是( )。
    A.数据存储 B.外部实体 C.数据接口 D.运行环境
    S 解:B
  • 3.内聚是模块内部各个成分之间相互关联的紧密程度的度量。如果一个模块内部各个处理必须按特定的次序执行,
    那么这种内聚类型是( )。
    A.逻辑内聚 B.通信内聚 C.过程内聚 D.功能内聚
    【答案】C
    【解析】逻辑内聚是将几个逻辑上相关的功能被放在同一模块中;
    通信内聚指一个模块的所有成分都操作同一数据集或生成同一数据集;
    过程内聚指一个模块内部的处理成分是相关的,而且这些处理必须以特定的次序执行;功能内聚指模块内所有元素共同完
    成一个功能,缺一不可。
  • 4.对于下图所示的程序流程图,为达到 100%的语句覆盖率,至少需要的测试用例数为( )。
    A.5 B.6 C.7 D.8
    在这里插入图片描述

S 解:A 语句覆盖,就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。这里的“若干个”,意味
着使用测试用例越少越好。语句覆盖率的公式可以表示如下:语句覆盖率=被评价到的语句数量/可执行的语句总数 x100%

  • 5.CMM 认为,支撑软件质量的要素有三个。以下各选项中,不属于软件质量三要素的是( )。
    A.人员素质 B.过程 C.管理 D.技术
    解析:C

    2014 年软工

  • 1、 瀑布模型是一种( )。
    A. 软件产品模型 B.软件过程模型 C. 软件项目模型 D. 软件测试模型
    【答案】B
    【解析】瀑布模型是软件工程中应用最广泛的过程模型,其他常用的软件过程模型还有增量模型、螺旋模型、喷泉模型等。

  • 2、 软件需求开发阶段包括多种活动,不属于需求开发活动的是( )。
    A. 软件需求获取 B.软件需求分析建模 C. 软件需求定义与评审 D.软件需求管理
    【答案】D
    【解析】需求开发活动主要包括需求获取、需求分析、需求定义、需求验证。

  • 3、模块设计中,最差的内聚类型是( )。
    A. 功能内聚 B.逻辑内聚 C.信息内聚 D. 巧合内聚
    【答案】D
    【解析】巧合内聚又称为偶然内聚,是摸块设计中最差的内聚类型,表示模块的各成分之间毫无关系,也就是说该模块完
    成一组任务,而这些任务之间的关系松散,实际上没有什么联系。

  • 4、软件集成测试主要依据的文档应该是( )。
    A. 软件需求规格说明书 B.软件工作分解结构 C.软件概要设计说明书 D. 软件详细设计说明书
    【答案】C
    【解析】软件集成测试也称联合测试或组装测试。 指在单元测试的基础上,将所有模块按照概要设计要求组装成为子系统或系
    统时进行的测试。

  • 5、软件项目管理中,用于实施进度控制的图是( )。
    A. Gantt 图 B.IPO 图 C.管理图 D. 系统流程图
    【答案】A
    【解析】Gantt 图是对简单项目进行计划与排序的一种常用工具,是将活动与时间联系起来的最早尝试之一。
    它直观地表明任务计划何时进行,实际进展与计划要求的对比。

2017 年软工

  • 1、 创建和分发软件产品版本并安装到它们的工作场所,这是 RUP 的( )工作表应做的事情。
    A. 分析和设计 B. 部署 C. 需求 D. 配置和变更管理
    解析:B RUP(Rational Unified Process),统一软件开发过程,是一个面向对象且基于网络的程序开发方法论。
    在这里插入图片描述

  • 2、 在描述 UML 用例模型活动场景的顺序图中,将所有相关对象安排在图的顶部,其中最靠近参与者(外部实体)的
    对象属于( )。
    A. 实体类 B. 控制类 C. 边界类 D. 主动类
    解析:C UML 类的三种类型:
    (1) 边界类,用于描述外部参与者与系统之间的交互的类。 边界类位于系统与外界的交界处,窗体、报表、以及表示
    通讯协议的类、直接与外部设备交互的类、直接与外部系统交互的类等都是边界类。通过用例图可以确定需要的边
    界类,每个 Actor/Use Case 对至少要一个边界类,但并非每个 Actor/Use Case 对要唯一的边界类。
    (2) 控制类,控制其他类; 每个用例通常有一个控制类,控制用例中的事件顺序,控制类也可以在多个用例间共用。
    其他类并不向控制类发送很多消息,而是由控制类发出很多消息。
    (3) 实体类,存储信息和相关行为的类; 实体类保存要放进持久存储体的信息。持久存储体就是数据库、文件等可以
    永久存储数据的介质。实体类可以通过事件流和交互图发现。通常每个实体类在数据库中有相应的表,实体类中的
    属性对应数据库表中的字段。

  • 3、在软件生存周期过程中,属于生存周期基本过程的是( )。
    A. 运行过程 B. 管理过程 C. 配置管理过程 D. 质量保证过程
    解析:A 软件的生命周期过程按照 GB8566 可以划分为:基本过程、支持过程、组织过程
    (1) 基本过程是指那些与软件生产直接相关的过程(5 个):获取过程、供应过程、开发过程、运行过程、维护过程获
    取过程是定义需方为获取相关产品或服务所进行的活动; 供应过程是定义供方提供相关产品或服务所应进行的活动;
    开发过程是定义开发方开发产品或服务所应进行的活动;
    运行过程是定义运行方在规定条件下,为用户提供产品的服务功能所应进行的活动;
    维护过程是定义维护方为维护产品或服务所应进行的活动包括修改和管理,使其保持在良好的运行状态,包括迁移和退役;
    (2) 支持过程是有关各方按他们的支持目标所从事的一系列相关活动集(9 个):
    文档过程、配置管理过程、质量保证过程、验证过程、确认过程、联合评审过程、审计过程、问题解决过程、易用性过程等。
    (3) 组织过程是指那些与软件生产组织有关的过程(8 个):管理过程、基础设施过程、改进过程、人力资源过程、资产
    管理过程、复用程序管理过程、领域软件工程过程、培训过程。

  • 4、在有关程序设计风格或编码规范的说法中,错误的是( )。
    A.可以把多个短语句写在一行内 B.在源程序的首部应插入注释 C.标识符的命名应清晰并有明确含义 D.不能随便改变与其他模块的接

    S 答:A
    -5、 在有关软件测试的测试用例设计方法中,属于白盒测试的是( )。
    A.边界值分析法 B.条件组合覆盖法 C.等价类划分法 D.因果图法
    解析:B 黑盒测试:等价类划分、边界值分析法、猜错法、因果图
    白盒测试:代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖和程序变异

2018 年软工

  • 1、E-R 图主要由哪些要素组成()
    A.数据,对象,实体
    B. 控制,联系,对象
    C. 实体,联系,属性
    D. 实体,属性,操作
    解析:C。E-R 图主要是由实体、属性和联系三个要素构成的
  • 2、正式技术评审的目标是()
    A.发现软件中的错误
    B. 评价程序员的工作效率
    C. 发现和改正程序中的错误
    D. 记录程序员给出的情况与绩效挂钩
    解析:A。正式技术评审的目的:(1)发现软件在功能、逻辑、实现上的错误;(2)验证软件符合它的需求规
    格;(3)确认软件符合预先定义的开发规范和标准;(4)保证软件在统一的模式下进行开发;(5)便于项目管
    理。
  • 3、在 UML 中,()关系描述了两个对象类之间的一般化/特殊化关系,它可以使子对象类共享父对象类的属性和方法。
    A.依赖 B. 泛化 C. 关联 D. 实现
    解析:B
  • 4、 某模块内有两个处理 A 和 B, 分别对数据区 X 写数据和读数据,则该模块的内聚类型属于()
    A.逻辑内聚 B. 过程内聚 C.通信内聚 D. 内容内聚
    解析:C。通信内聚:模块内各个组成部分都使用相同的数据或产生相同的数据结构。
    -5、.关于增量开发模型的叙述,错误的是()
    A.不必等到整个系统开发完成就可以使用
    B. 可以使用较早开发的增量构件来构建稍后开发的增量构件
    C. 优先级最高的服务先交付,这样最重要的服务能接受最多的测试
    D. 有利于较好的模块划分
    解析:D。来源:2016 年 5 月软件设计师考试第 29 题
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>