【软考系统架构设计师】2023年系统架构师冲刺模拟习题之《软件工程》

在软考中软件工程模块主要包含以下考点:

文章目录

    • 软件过程模型🌟🌟🌟🌟
    • 逆向工程🌟
    • 基于构件的软件工程🌟🌟
    • 软件开发与软件设计与维护
    • 净室软件工程
    • 软件模型
    • 软件需求

软件过程模型🌟🌟🌟🌟

【1】以下关于软件开发方法的叙述,正确的是()。
A、结构化开发方法是建立在严格数学基础上的软件开发方法
B、正向工程是指不仅从现有系统中恢复设计信息,而且使用该信息去改变或重构现有系统,以改善其整体质量
C、重构是指借助工具从已有程序中抽象出有关数据设计、总体结构设计和过程设计等方面的 信息
D、面向对象的方法以粗粒度、松散耜合和基于标准的服务为基础,增强了系统的灵活性、可复用性和可演化性

答案选择B
A项是形式化方法、C项重构是同一抽象维度、D项是面向服务
记住正向工程的概念

逆向工程🌟

【2】逆向工程是设计的恢复过程,它包括了多个抽象级别,其中( )反映程序分量或程序诸实体与应用领域概念之问对应关系的信息。
A、实现级
B、结构级
C、领域级
D、功能级

答案选择C
实现级:包括程序的抽象语法树、符号表、过程的设计表示
结构级:包括反映程序分量之问相互依赖关系的信息,例如调用因、结构圈、程序和数据结构
功能级:包括反映程序段功能及程序段之间关系的信息,例如数据和控制流模型
领域级:包括反映程序分量或程序诸实体与应用领域概念之间对应关系的信息,例如实体关系模型
逆向工程是分析程序、力图在比源代码更高抽象层次上建立程序的表示过层。领域级抽象级别最高,完备性最低,实现级抽象级别最低,完备性最高。

【3】() 是在逆向工程所获取信息的基础上修改或重构已有的系统,产生系统的一个新版本。
A、逆向分析 (Reverse Analysis)
B、重组(Restructuring)
C、设计恢复 (Design Recovery)
D 、重构工程 (Re-engineering)

重构已有的系统并产生一个新系统,表示再工程,所以选择D,主要看英文翻译,

【4】以下关于开发模型,说法正确的是( )。
A、统一过程将软件开发流程分成多个阶段,每一个阶段都由目标设定、风险分析、开发和有效性验证以及评审构成
B、用户不能很好地参与到需求分析中时,采用快速应用开发较为合适
C、快速原型法主要由原型开发阶段和目标软件开发阶段构成
D、快速应用开发通过引入原型思想获得快速开发能力

答案选择 C
A项统一过程的阶段是:初始、细化、构建和移交,而A选项中的描述应该是螺旋模型的内容;B项快速应用开发一般是在需求明确的基础上进行;D项并不是引入原型思想而是引入构件化思想

基于构件的软件工程🌟🌟

【4】统一过程开发方法分( )四个阶段,每次通过这四个阶段就会产生一代软件。统一过程
开发方法从另一个维度看,RUP 中有9个核心工作流,分为6个核心过程工作流和3个核心支持工作流,其中不属于核心过程工作流的是( )。
A.初始、细化、构建和移交
B.需求分析、软件设计、编码实现、运行维护
C.需求分析、概要设计、详细设计、编码
D.初始分析、设计、构建和移交
A.需求工作流
B.项目管理工作流
C测试工作流
D.商业建模工作流

答案选择 A、B
9个核心工作流
6个核心过程工作流:业务建模、需求、分析与设计、实现、测试、部署
3个核心支持工作流:配置与变更管理、项目管理、环境

【7】以下关于开发方法与开发模型的说法正确的是( )。
A、统一过程强调用例驱动以架构为中心,在构建阶段将完成架构设计工作
B、敏捷方法强调小步快跑的方式开发软件,所以它是预设性的
C、敏捷方法以瀑布模型开发思想为基础,采用迭代式增量开发
D、功用驱动开发方法(FDD) 中,会把编程开发人员分成两类:“首席”程序员和 “类”程序员

答案选择 D
A选项是在细化阶段完成架构设计工作;B选项小步快跑的方式是适应性的;C选项敏捷方法是以原型开发思想为基础。
另外还需要记住D选项:首席程序员和类程序员

敏捷方法的核心思想内容:

  • 是适应型,而非预测型
  • 是迭代增量式(小步快跑)的开发过程
  • 是以人为本而非过程为本
  • 适合小型项目

软件开发与软件设计与维护

【8】以下关于需求获取方法的叙述中,正确的是( )。
A、问卷调查可以在短时间内,以低廉的价格从大量的回答中收集数据
B、用户访谈是最为灵活、成本最低的一种需求获取方法
C、抽样能够提高需求获取效率,且不会受到系统分析师的主观因素影响
D、用户访谈的成功与否与系统分析师的人际沟通能力无关

答案选择A
B选项:用户访谈是成本最高的一种,毕竟有人力和时间成本
C选项:说法有点绝对,会受到主观因素影响
D选项:用户访问肯定和沟通能力有关系啊

【9】以下关于需求工程的描述中,正确的是( )。
A、需求定义过程结束时会产生SRS, SRS也被称为需求基线,是指导后续开发的重要文档
B、需求变更流程一般包括:问题分析与变更描述、变更分析与成本计算、变更实现等步骤
C、需求本质上来讲是用户对待开发系统的期望,用户提出的所有需求都同等重要
D、需求管理是对需求开发过程进行严格管控的方法论

答案选择B
A项:SRS需求规格说明书,SRS是在需求基线的基础上的产出。
C项:需求也会有优先级
D项:需求管理管的是需求基线。

【10】UML2.0所包含的图中,( )描述由模型本身分解而成的组织单元,以及它们之间的依赖关系。
A 组合结构图
B包图
部署图
D构件图

答案选择B

【11】 用例 (use case)用来描述系统对事件做出响应时所来取的行动。用例之间是具有相关性的。在一个“订单输入子系統”中,创建新订单和更新订单都需要核查用户账号是否正确。用例“创建新订单”、“更新订单” 与用例“核查客户账号”之间是()关系。
A包含 (include)
B扩展 (extend)
C分类 (classification)
D聚集 (aggregation)

答案选择A
都要用到某一种功能,是包含关系
注意区分包含、扩展、泛化概念

  • 包含关系:从多个用例中提取公共行为,提取出来的公共用例称为抽象用例,而把原始用例称为基本用例
  • 扩展关系:一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例。
  • 泛化关系:当多个用例共同拥有一种类似的结构和行为的时候,可以将它们的共性抽象成为父用例,其他的用例作为泛化关系中的子用例,子用例继承了父用例所有的结构、行为和关系。

【12】在面向对象系统中,有两个类存在整体与部分的关系,如果部分可能同时属于多个整体,则两者之问的关系称为( );如果部分和整体具有统一的生命周期,则两者之问的关系称为()。
A、聚合关系
B、依赖关系
C、泛化关系
D、组合关系
A、聚合关系
B、依赖关系
C、泛化关系
D、组合关系
答案选择A、D
部分和整体的关系总共有两个:聚合和组合
在这里插入图片描述
在这里插入图片描述
答案选择A
描述的是父子关系即泛化关系

【14】软件测试一般分为两个大类:动态测试和静态测试。以下关于动态测试和静态测试的说法,正确的是()。
A基本路径测试和边界值分析属于动态测试
B逻辑覆盖属于静态测试方法
C外部采购的软件构件一般没有提供完整的原代码,此时采用白盒测试比较合适
D等价类划分法一般通过测试人员的经验和直觉找出软件最容易出错的地方

答案选择:A
B项:逻辑覆盖属于动态测试、
C项:没有源代码就只能黑盒测试
D项:属于错误推测法

【15】需求跟踪是提供了由需求到产品实现整个过程范围的明确查阅到能力。

【16】软件设计过程中,可以用耦合和内聚两个定性标准来衡量模块的独立程度,耦合衡量不同模块彼此间互相依赖的紧密程度,以下关于耦合的说法中正确的是()。
A、公共耦合的耦合性最高,所以要控制使用
B、标记耦合是指一组模块借助参数表传递简单数据
C、高耦合低内聚,耦合性越高越好
D、尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范国,完全不用内容耦合

答案选择:D

内容耦合耦合性最高
在这里插入图片描述

【17】以下关于面向对象设计原则的描述中,正确的是()。
A、迪米特原则是指开发过程中应该要依赖于抽象,而不是具体实现
B、李氏替换原则约定父类可以替换子类
C、单一职责原则认为使用多个专门的接口比使用单一总接口要好
D、依赖倒置原则认为应针对接口编程,不要针对实现编程

答案选择:D
七大原则
在这里插入图片描述

【18】软件确认测试也称为有效性测试,主要验证( )。确认测试包括( )。
A、系统中各个单元模块之间的协作性
B、软件与硬件在实际运行环境中能否有效集成
C、软件功能、性能及其他特性是否与用户需求一致
D、程序模块能否正确实现详细设计说明中的功能、性能和设计约束等要求
A 、黑盒测试和白盒测试
B、一次性组装测试和增量式组装测试
C、内部测试、Alpha、Beta 和验收测试
D、功能测试、性能测试、用户界面测试和安全性测试

答案选择:C、C

【19】在静态测试中,主要是对程序代码进行静态分析。“按照结构化程序规则和程序结构的基本要求进行程序结构检查〞 属于静态分析中的( )。
A、接口分析
B、表达式分析
C、控制流分析
D、数据流分析

答案选择:C
A 选项关注的是接口,B项关注的是表达式;C项关注的是程序结构和流程;D项数据流关注的是数据

【20】软件文档是影响软件可维护性的决定因素。软件的文档可以分为用户文档和系统文档两类。以下关于用户文档和系统文档的说法中,错误的是( )。
A、用户文档主要描述所交付系统的功能和使用方法,并不关心这些功能是怎样实现的
B、系统文档是从问题定义、需求说明到验收测试计划这样一系列和系统实现有关的文档
C、系统使用手册属于系统文档
D、用户文档是了解系统的第一步,它可以让用户获得对系统准确的初步印象

答案选择:C
系统使用手册属于用户文档

【21】某搜索引擎在使用过程中,若要增加接受语音输入的功能,使得用户可以通过语音输入来进行搜索,此时应对系统进行( )维护。
A、正确性
B、适应性
C、完善性
D、预防性

答案选择:C
增加功能和改进功能都是完善性维护

【22】某在线教育系统软件在使用过程中,其数据库发生改变,为了适应这种变化,需要对软件进行修改。在这种情况下进行的维护活动称为( )。
A 改正性维护
B完善性维护
C预防性维护
D适应性维护

答案选择:D
常考题,需要区分四种维护活动的概念:
数据库不是应用软件的组成部分,属于环境变化,所以要适应环境而改变

【23】系统输入设计中应尽可能考虑人的因素,以下关于输入设计的一般原理中,错误的是()。
A、只让用户输入变化的数据
B、使用创新的模式吸引用户的眼球
C、表格中各个数据项应有提示信息
D、尽可能使用选择而不是键盘输入的方式获取数据

答案选择B
人机界面模式,B项一般不提供,越稳定越好。

【24】遗留系统的演化可以采用淘汰、继承、改造和集成四种策略。若企业中的遗留系统技术含量较低,但业务价值高,业务模型仍符合现在的应用需求,适合于采用()演化策略。
A、淘汰
B、继承
C、改造
D、集成

答案选择B
遗留系统是常考题,首先要记住横坐标和纵坐标分别是什么,横坐标是价值,纵坐标是技术含量,从第一象限到第四象限依次为:改造、集成、淘汰、继承

净室软件工程

【25】净室软件工程是一种应用数学与统计学理论以经济的方式生产高质量软件工程的技术,力图通过严格的工程化的软件过程达到开发中的零缺陷或接近零缺陷。以下技术手段中,()是净室软件工程的核心。
A、统计控制下的增量式开发
B、基于函数的规范和设计
C、正确性验证
D、统计测试和软件认证

答案选择C
严格基于数学的推理逻辑。

软件模型

【26】假设某软件公司与客户签订合同开发一个软件系统,系统的功能有较清晰的定义,但客户对交付时间有严格要求,则该系统的开发最适宜采用()。
A、瀑布模型
B、原型模型
C、V模型
D、螺旋模型

答案:A
解析:功能清晰,也即需求较明确,有这样的关键字都是考察瀑布模型,牢记总结的记忆关键字。

【27】以下关于螺旋模型的叙述中,不正确的是(
A.它是风险驱动的,要求开发人员必须具有丰富的风险评估知识和经验
B.它可以降低过多测试或测试不足带来的风险
C.它包含维护周期,因此维护和开发之间没有本质区别
D.它不适用于大型软件开发

答案:D
解析:螺旋模型的特点是风险分析,应对风险的都正确,螺旋模型适合大型软件开发。

软件需求

  • 业务需求:反映企业或客户对系统高层次的目标要求
  • 用户需求:描述的是用户的具体目标,或用户要求系统必须能完成的任务,即描述了用户能使用系统来做什么。
  • 系统需求:从系统的角度来说明软件的需求。
    • 功能需求:规定了开发人员必须在系统中实现的软件功能。
    • 非功能需求:系统必须具备的属性或品质。
    • 设计约束 :对系统的一些约束说明。

软件需求开发是指从情况收集、分析和评价到编写文档、评审等一系列产生需求的活动,分为获取情況、分析、(制订规格说明)和评审四个阶段。

某软件公司正在承担开发一个字处理器的任务。在需求分析阶段,公司的相关人员整理出一些相关的系统需求,其中,“找出文档中的拼写错误井提供一个替换项列表来供选择替换拼错的词”,属于(用户需求);显示提供替换词的对话框以及实现整个文档范围的替换,属于(功能需求);用户能有效地纠正文档中的拼写错位属于( 业务需求

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/171100.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

learning rate

这里写目录标题 learning rate单一固定(one-size-fits-all)的学习率Model训练到驻点很困难(学习率太大不能收敛,学习率太小收敛太慢) 如何客制化学习率?- 引入参数σσ常见的计算方式 - Root mean square&a…

P1868 饥饿的奶牛

根据题意可以知道是一个动态规划,看完数据范围之后可以知道是一个线性DP。 解决方法有点类似于背包问题,枚举背包的每一个空间。 如果把坐标轴上每个点都看成一个块儿,只需要按顺序求出前 i 个块儿的最大牧草堆数,f[i] 就是前i的…

【wespeaker】模型ECAPA_TDNN介绍

本次主要介绍开源项目wespeaker模型介绍 1. 模型超参数 model_args: feat_dim: 80 embed_dim: 192 pooling_func: “ASTP” projection_args: project_type: “softmax” # add_margin, arc_margin, sphere, softmax scale: 32.0 easy_margin: False 2. 模型结构 2.1 Layer…

【Javascript】ajax(阿甲克斯)

目录 什么是ajax? 同步与异步 原理 注意 写一个ajax请求 创建ajax对象 设置请求方式和地址 发送请求 设置响应HTTP请求状态变化的函数 什么是ajax? 是基于javascript的一种用于创建快速动态网页的技术,是一种在无需重新加载整个网页的情况下&#xff0c…

一个Entity Framework Core的性能优化案例

概要 本文提供一个EF Core的优化案例,主要介绍一些EF Core常用的优化方法,以及在优化过程中,出现性能反复的时候的解决方法,并澄清一些对优化概念的误解,例如AsNoTracking并不包治百病。 本文使用的是Dotnet 6.0和EF…

HarmonyOS鸿蒙原生应用开发设计- 流转图标

HarmonyOS设计文档中,为大家提供了独特的流转图标,开发者可以根据需要直接引用。 开发者直接使用官方提供的流转图标内容,既可以符合HarmonyOS原生应用的开发上架运营规范,又可以防止使用别人的图标侵权意外情况等,减…

【Linux】Linux+Nginx部署项目

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于Linux的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.单体项目的部署 0.我们需要将要进行部…

数据结构与算法之矩阵: Leetcode 48. 旋转矩阵 (Typescript版)

旋转图像 https://leetcode.cn/problems/rotate-image/ 描述 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 1 输入&…

评比无代码低代码平台时,可以考虑以下几个方面

无代码低代码平台是近年来兴起的一种软件开发工具,它们旨在帮助非技术人员快速创建应用程序,而无需编写大量的代码。这些平台通过提供可视化的界面和预先构建的组件,使用户能够通过拖放和配置的方式来构建应用程序。选择无代码低代码平台时&a…

【Jenkins 安装】

一:安装文件夹准备 在/home/admin 界面下新建三个文件夹,用来安装tomcat、maven 1.打开,/home/admin目录 cd /home/admin 2.新建三个文件夹 mkdir tomcat mkdir maven 二:安装tomcat 1.打开tomcat目录进行tomcat的安装 访问:h…

微信小程序:点击按钮出现右侧弹窗

效果 代码 wxml <!-- 弹窗信息 --> <view class"popup-container" wx:if"{{showPopup}}"><view class"popup-content"><!-- 弹窗内容 --><text>这是一个右侧弹窗</text></view> </view> <…

8.(vue3.x+vite)组件间通信方式之window挂实例

前端技术社区总目录(订阅之前请先查看该博客) 效果预览 父组件代码 <template><div><div>{{message }}</div><Child

mybatis学习笔记,使用mybatis的几种方式

随着springboot的出现&#xff0c;绝大多数开源框架和中间件都可以通过springboot来整合&#xff0c;并且使用起来非常简单&#xff0c;但是&#xff0c;今天要介绍的是mybatis原生的使用方法。并且分享一下在结合官网学习过程中遇到的问题。 目录 准备工作 数据库版本说明 …

在VMware Workstation Pro安装win7

1.下载 地址 2.创建虚拟机 3.选择需要安装的系统镜像 4.选择系统版本 通常情况下选择 Windows 7 Ultimate 旗舰版&#xff0c;点击下一步&#xff0c;若提示产品密钥&#xff0c;则忽略 5.虚拟机命名 虚拟机保存位置保持默认即可&#xff0c;如果有需求可以更换位置 6…

机架式服务器介绍

大家都知道服务器分为机架式服务器、刀片式服务器、塔式服务器三类&#xff0c;今天小编就分别讲一讲这三种服务器&#xff0c;第一篇先来讲一讲机架式服务器的介绍。 机架式服务器定义&#xff1a;机架式服务器是安装在标准机柜中的服务器&#xff0c;一般采用19英寸的标准尺寸…

竞赛选题 深度学习人脸表情识别算法 - opencv python 机器视觉

文章目录 0 前言1 技术介绍1.1 技术概括1.2 目前表情识别实现技术 2 实现效果3 深度学习表情识别实现过程3.1 网络架构3.2 数据3.3 实现流程3.4 部分实现代码 4 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习人脸表情识别系…

Mysql数据库 4.SQL语言 DQL数据查询语言 查询

DQL数据查询语言 从数据表中提取满足特定条件的记录 1.单表查询 2.多表查询 查询基础语法 select 关键字后指定要查询到的记录的哪些列 语法&#xff1a;select 列名&#xff08;字段名&#xff09;/某几列/全部列 from 表名 [具体条件]&#xff1b; select colnumName…

MySQL 语句

创建表的完整语法 create table t1(id int,name varchar(43),age int); create table 库名.表名( 字段名1 数据类型 约束条件 约束条件 约束条件 约束条件, 字段名2 数据类型 约束条件 约束条件 约束条件 约束条件...); 1. 字段名和数据类型必须…

如何绘制【逻辑回归】中threshold参数的学习曲线

threshold参数的意义是通过筛选掉低于threshold的参数&#xff0c;来对逻辑回归的特征进行降维。 首先导入相应的模块&#xff1a; from sklearn.linear_model import LogisticRegression as LR from sklearn.datasets import load_breast_cancer from sklearn.model_selecti…

内网穿透的应用-Linux JumpServer堡垒机:安全远程访问解决方案

文章目录 前言1. 安装Jump server2. 本地访问jump server3. 安装 cpolar内网穿透软件4. 配置Jump server公网访问地址5. 公网远程访问Jump server6. 固定Jump server公网地址 前言 JumpServer 是广受欢迎的开源堡垒机&#xff0c;是符合 4A 规范的专业运维安全审计系统。JumpS…