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

📑前言

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

🎬作者简介:大家好,我是听风与他🥇

☁️博客首页:CSDN主页听风与他

🌄每日一句:狠狠沉淀,顶峰相见

目录

    • 📑前言
    • [6.逆向工程工具属于( )工具。](#6.逆向工程工具属于( )工具。)
    • [7.满足条件覆盖,则至少需要( )个测试用例](#7.满足条件覆盖,则至少需要( )个测试用例)
    • [8.软件工程的基本要素包括方法、工具和( )。](#8.软件工程的基本要素包括方法、工具和( )。)
    • [9.在( )设计阶段选择适当的解决方案](#9.在( )设计阶段选择适当的解决方案)
    • [10.则最适于采用( )开发过程模型。](#10.则最适于采用( )开发过程模型。)
    • 📑文章末尾

6.逆向工程工具属于( )工具。

6.根据软件过程活动对软件工具进行分类,则逆向工程工具属于( )工具。

  • (A) 软件开发
  • (B) 软件维护
  • © 软件管理
  • (D) 软件支持

答案与解析

  • 试题难度:一般
  • 知识点:软件工程>软件维护相关概念及工具
  • 试题答案:[['B']]
  • 试题解析:逆向工程是在软件维护时,由于缺少文档资料,而对软件的一种分析。

7.满足条件覆盖,则至少需要( )个测试用例

7.若用白盒测试方法测试以下代码,并满足条件覆盖,则至少需要( )个测试用例。采用McCabe度量法算出该程序的环路复杂性为( )。

Int find _max(int i,int j,int k){

int max;

if(i>j)then

​ if(i>k)then max =i;

​ else max=k;

​ else if(j>k)then max =j;

​ else max=k;

}

  • (A) 3

  • (B) 4

  • © 5

  • (D) 6

  • (A) 1

  • (B) 2

  • © 3

  • (D) 4

答案与解析

  • 试题难度:一般

  • 知识点:软件工程>白盒测试用例

  • 试题答案:[['B'],['D']]

  • 试题解析:1.第一空要求条件覆盖,根据代码,我们可以发现,虽然有3个判断语句,但实际从第一层判断开始,只能分2条支路判断进行,不会经过第3次判断了,因此如果要满足条件覆盖,只需要分别满足2层条件判断,需要的用例个数是4。

    如下用例(i,j,k):(1,0,-1)(1,0,2)(0,1,-1)(0,1,2)可以满足条件覆盖。

    2.要计算McCabe复杂度需要先绘制出图,代码转换图如下:

然后采用公式V(G)=m-n+2计算环路复杂度,其中m是边的数量,n是结点的数量。

图中结点数n是9,边的数量是11,环路复杂度为11-9+2=4,第二空选择D选项。

8.软件工程的基本要素包括方法、工具和( )。

  • (A) 软件系统
  • (B) 硬件系统
  • © 过程
  • (D) 人员

答案与解析

  • 试题难度:一般

  • 知识点:软件工程>其它

  • 试题答案:[['C']]

  • 试题解析:

    本题考查软件工程的基本概念。

    软件工程是一种层次化的技术,从底向上分别为质量、过程、方法和工具。任何工程方法必须以有组织的质量承诺为基础。软件工程的基础是过程,过程是将技术结合在一起的凝聚力,使得计算机软件能够被合理地和及时地开发,过程定义了一组关键过程区域,构成了软件项目管理控制的基础;方法提供了建造软件在技术上需要"如何做", 它覆盖了一系列的任务。方法也依赖于一些基本原则,这些原则控制了每一个技术区域,而且包含建模活动和其他描述技术;工具对过程和方法提供了自动或半自动的支持,如:计算机辅助软件工程(CASE)。软件工程的基本要素包括方法、工具和过程。

9.在( )设计阶段选择适当的解决方案

9.在( )设计阶段选择适当的解决方案,将系统分解为若干个子系统,建立整个系统的体系结构。

  • (A) 概要
  • (B) 详细
  • © 结构化
  • (D) 面向对象

答案与解析

  • 试题难度:一般
  • 知识点:软件工程>概要设计与详细设计
  • 试题答案:[['A']]
  • 试题解析:本题考查软件工程的基本概念。
    软件设计的任务是基于需求分析的结果建立各种设计模型,给出问题的解决方案。从工程管理的角度,可以将软件设计分为两个阶段:概要设计阶段和详细设计阶段。结构化设计方法中,概要设计阶段进行软件体系结构的设计、数据设计和接口设计;详细设计阶段进行数据结构和算法的设计。面对对象设计方法中,概要设计阶段进行体系结构设计、初步的类设计/数据设计、结构设计;详细设计阶段进行构件设计。
    结构化设计和面向对象设计是两种不通过的设计方法,结构化设计根据系统的数据流图进行设计,模块体现为函数、过程及子程序;面向对象设计基于面向对象的基本概念进行,模块体现为类、对象和构件等。

10.则最适于采用( )开发过程模型。

10.某公司计划开发一种产品,技术含量很高,与客户相关的风险也很多,则最适于采用( )开发过程模型。

  • (A) 瀑布
  • (B) 原型
  • © 增量
  • (D) 螺旋

答案与解析

  • 试题难度:一般
  • 知识点:软件工程>开发模型
  • 试题答案:[[D]]
  • 试题解析:这些模型中仅有螺旋模型考虑风险因素。

📑文章末尾

相关推荐
郝学胜-神的一滴14 小时前
墨韵技术|CMake:现代项目构建的「行云流水」之道
c++·程序人生·软件工程·软件构建·cmake
停止重构1 天前
我大概也是软件工程的专家
低代码·软件工程·规范·开源框架·自研开发语言
Duran.L1 天前
从限购到畅通:GLM-5.1 Coding Plan接入攻略
人工智能·ai·软件工程·个人开发·ai编程
workflower3 天前
深度学习是通用型人工智能的基础
人工智能·深度学习·设计模式·软件工程·软件构建·制造
搜佛说3 天前
01-第1章-概述与快速开始
物联网·golang·开源·软件工程·边缘计算·嵌入式实时数据库
无籽西瓜a4 天前
【西瓜带你学设计模式 | 第十五期 - 策略模式】策略模式 —— 算法封装与动态替换实现、优缺点与适用场景
java·后端·设计模式·软件工程·策略模式
老兵发新帖4 天前
软件开发国内常用镜像源配置及回退方法(MAC版)
macos·软件工程
老兵发新帖4 天前
ast-grep
软件工程
无籽西瓜a5 天前
【西瓜带你学设计模式 | 第十四期 - 享元模式】享元模式 —— 内外状态分离与对象共享实现、优缺点与适用场景
java·设计模式·软件工程·享元模式
wxl7812276 天前
驾驭工程 (Harness Engineering):AI Agent 时代的软件工程新范式
人工智能·软件工程