软件设计师——软件工程(五)

前言

本文主要是【软件工程】——软件设计师——软件工程的文章,如果有什么需要改进的地方还请大佬指出⛺️

作者简介:大家好,我是听风与他
☁️博客首页:CSDN主页听风与他
每日一句:狠狠沉淀,顶峰相见

目录

    • 前言
    • 26.最适宜采用的软件过程模型为( )
    • 27..能力成熟度模型集成(CMMI)是若干过程模型的综合和改进。
    • 28.质量子特性不包括( )
    • 29.模块化设计
    • 30.两个子系统之间的耦合类型为( )耦合。
    • 文章末尾

26.最适宜采用的软件过程模型为( )

  • 26.某企业拟开发一个企业信息管理系统,系统功能与多个部门的业务相关。现希望该系统能够尽快投入使用,系统功能可以在使用过程中不断改善。则最适宜采用的软件过程模型为( )。

    • (A) 瀑布模型
    • (B) 原型模型
    • © 演化(迭代)模型
    • (D) 螺旋模型

    答案与解析

    • 试题难度:一般
    • 知识点:软件工程>开发模型
    • 试题答案:[[‘C’]]
    • 试题解析:本题要求尽快投入使用,并可以在使用过程中不断完善,对于原型模型和演化(迭代)模型,演化模型更合适,原型模型更适用于需求不明确时用以获取需求。

27…能力成熟度模型集成(CMMI)是若干过程模型的综合和改进。

27.能力成熟度模型集成(CMMI)是若干过程模型的综合和改进。连续式模型和阶段式模型是CMMI提供的两种表示方法,而连续式模型包括6个过程域能力等级,其中( )使用量化(统计学)手段改变和优化过程域,以应对客户要求的改变和持续改进计划中的过程域的功效。

  • (A) CL2(已管理的)
  • (B) CL3(已定义级的)
  • © CL4(定量管理的)
  • (D) CL5(优化的)

答案与解析

  • 试题难度:一般
  • 知识点:软件工程>软件过程改进
  • 试题答案:[[‘D’]]
  • 试题解析:《软件设计师教程(第5版)》P247页:
    CL0(未完成的):过程域未执行或未得到CL1中定义的所有目标。
    CL1(已执行的):其共性目标是过程将可标识的输入工作产品转换成可标识的输出工作产品,以实现支持过程域的特定目标。
    CL2(已管理的):其共性目标是集中于已管理的过程的制度化。根据组织级政策规定过程的运作将使用哪个过程,项目遵循已文档化的计划和过程描述,所有正在工作的人都有权使用足够的资源,所有工作任务和工作产品都被监控、控制、和评审。
    CL3(已定义级的):其共性目标集中于已定义的过程的制度化。过程是按照组织的裁剪指南从组织的标准过程中裁剪得到的,还必须收集过程资产和过程的度量,并用于将来对过程的改进。
    CL4(定量管理的):其共性目标集中于可定量管理的过程的制度化。使用测量和质量保证来控制和改进过程域,建立和使用关于质量和过程执行的质量目标作为管理准则。
    CL5(优化的):使用量化(统计学)手段改变和优化过程域,以满足客户的改变和持续改进计划中的过程域的功效。

28.质量子特性不包括( )

28.在ISO/IEC 9126软件质量模型中,可靠性质量特性是指在规定的一段时间内和规定的条件下,软件维持在其性能水平有关的能力,其质量子特性不包括( )。

  • (A) 安全性
  • (B) 成熟性
  • © 容错性
  • (D) 易恢复性

答案与解析

  • 试题难度:一般

  • 知识点:软件工程>软件质量特性

  • 试题答案:[[‘A’]]

  • 试题解析:可靠性质量属性包括:成熟性、容错性和易恢复性。

    软件设计师——软件工程(五)_第1张图片

29.模块化设计

29.以下关于模块化设计的叙述中,不正确的是( )。

  • (A) 尽量考虑高内聚、低耦合,保持模块的相对独立性
  • (B) 模块的控制范围在其作用范围内
  • © 模块的规模适中
  • (D) 模块的宽度、深度、扇入和扇出适中

答案与解析

  • 试题难度:一般
  • 知识点:软件工程>模块设计原则
  • 试题答案:[[‘B’]]
  • 试题解析:模块化设计要求高内聚、低耦合。
    在结构化设计中,系统由多个逻辑上相对独立的模块组成,在模块划分时需要遵循如下原则:
    (1)模块的大小要适中。系统分解时需要考虑模块的规模,过大的模块可能导致系统分解不充分,其内部可能包括不同类型的功能,需要进一步划分,尽量使得各个模块的功能单一;过小的模块将导致系统的复杂度增加,模块之间的调用过于频繁,反而降低了模块的独立性。一般来说,一个模块的大小使其实现代码在1~2页纸之内,或者其实现代码行数在50~200行之间,这种规模的模块易于实现和维护。
    (2)模块的扇入和扇出要合理。一个模块的扇出是指该模块直接调用的下级模块的个数;扇出大表示模块的复杂度高,需要控制和协调过多的下级模块。扇出过大一般是因为缺乏中间层次,应该适当增加中间层次的控制模块;扇出太小时可以把下级模块进一步分解成若干个子功能模块,或者合并到它的上级模块中去。一个模块的扇入是指直接调用该模块的上级模块的个数;扇入大表示模块的复用程度高。设计良好的软件结构通常顶层扇出比较大,中间扇出较少,底层模块则有大扇入。一般来说,系统的平均扇入和扇出系数为3或4,不应该超过7,否则会增大出错的概率。
    (3)深度和宽度适当。深度表示软件结构中模块的层数,如果层数过多,则应考虑是否有些模块设计过于简单,看能否适当合并。宽度是软件结构中同一个层次上的模块总数的最大值,一般说来,宽度越大系统越复杂,对宽度影响最大的因素是模块的扇出。在系统设计时,需要权衡系统的深度和宽度,尽量降低系统的复杂性,减少实施过程的难度,提高开发和维护的效率。
    模块的扇入指模块直接上级模块的个数。模块的直属下级模块个数即为模块的扇出。

30.两个子系统之间的耦合类型为( )耦合。

30.某企业管理信息系统中,采购子系统根据材料价格、数量等信息计算采购的金额,并给财务子系统传递采购金额、收款方和采购日期等信息,则这两个子系统之间的耦合类型为( )耦合。

  • (A) 数据
  • (B) 标记
  • © 控制
  • (D) 外部

答案与解析

  • 试题难度:一般
  • 知识点:软件工程>耦合性
  • 试题答案:[[‘B’]]
  • 试题解析:非直接耦合:两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的。
    数据耦合:一个模块访问另一个模块时,彼此之间是通过简单数据参数 (不是控制参数、公共数据结构或外部变量) 来交换输入、输出信息的。
    标记耦合 :一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一数据结构的子结构,而不是简单变量。其实传递的是这个数据结构的地址;
    控制耦合:如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能,就是控制耦合。
    外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。
    公共耦合:若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。
    内容耦合:如果发生下列情形,两个模块之间就发生了内容耦合
    (1)一个模块直接访问另一个模块的内部数据;
    (2) 一个模块不通过正常入口转到另一模块内部;
    (3)两个模块有一部分程序代码重叠(只可能出现在汇编语言中);
    (4)一个模块有多个入口。
    根据本题题干描述,采购子系统“给财务子系统传递采购金额、收款方和采购日期等信息”,传递时应将这些数据包装在数据结构中,因此二者之间是标记耦合。

文章末尾

在这里插入图片描述

你可能感兴趣的:(软件工程)