SE考研真题总结(一)

本帖开始分享考研真题中设计【软件工程】的部分,预计会出5期左右,敬请期待~

一.单选题

1.程序编写不是软件质量保障过程~

        静态代码扫描是今年来多数被人提及的软件应用安全解决方案之一,指程序员在编写好代码后无需进行编译,直接通过一些扫描工具发现语义缺陷、安全漏洞的解决方案~

2.确认测试用以验证需求

  • 目的是要表明软件是可以工作的,并且符合需求规格说明书中的全部要求~
  • 通过对组合测试的软件进行的~

3.里氏替换原则体现了子类替换父类不影响程序的逻辑和运行~

4.配置管理的活动:

  • 版本管理
  • 标识配置项
  • 变更控制

5.策略模式定义了一系列算法,并将每个算法封装起来,使他们之间可以相互替换,且算法的变化不会影响使用算法的客户;属于对象行为模式,通过对算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理~

6.关于敏捷过程的正确描述:

  • 个体与互动:高于流程和工具
  • 工作的软件:高于详尽的文档
  • 客户合作:高于合同谈判
  • 响应变化:高于遵循计划

也就是说,尽管右项有其价值,敏捷方法更重视左想的价值~

7.持续集成包含如下哪些:

持续集成也是一种增量集成方法,但它提供尽早集成和频繁集成~

  • 尽早集成是指不需要总是等待一个模块开发完成后才把他集成起来,而是在开发之处就利用sub集成起来
  • 频繁集成式指开发者每次完成一些开发任务之后,就可以利用开发结果替换sub中的相应组件,进行集成与测试。一般来说,每人每天至少集成一次,也可以多次~

8.视图的4+1模型

  • 逻辑视图:显示系统中对象和对象类的一些主要抽象~
  • 进程视图:显示在运行时系统是如何组织为一组交互的进程,主要关注非功能系统特征~
  • 开发视图:显示软件是如何为了开发而被分解的~
  • 物理视图:显示系统硬件和系统中软件组件是如何分布在处理器上的~

9.确认测试时需要:需求规格说明文档

确认活动式检验开发者是否建立了正确的系统,确保最终产品符合产品规格,所以是基于需求的~

10.在数据库系统中,开闭原则可以满足不修改源代码的情况下更改数据库驱动程序~

二.简答题

1.功能性需求和非功能性需求的区别?

  • 功能需求:功能需求是和系统主要工作相关的需求,即在不考虑物理约束的情况下,用户希望系统所能够执行的活动~
  • 非功能需求:除功能以外的软件需求,主要包括性能需求、质量属性、对外接口和约束~

2.黑盒测试和白盒测试方法的区别?

  • 黑盒测试:把测试对象看做一个黑色盒子,完全基于输入和输出数据来判断测试对象的正确性~(主要方法有等价类划分、边界值分析、决策表和状态转换等)
  • 白盒测试:白盒测试把测试对象看作是透明的,不关心测试对象的规格,而是按照测试对象内部的程序结构来设计测试用例进行测试工作,最常用的方法有语句覆盖、路径覆盖和信息隐藏等~

3.为什么要使用信息隐藏?

每一个模块都隐藏了这个模块中关宏宇重要设计决策的实现,以至于只有这个模块的每一个组成部分才知道具体的实现细节,信息隐藏就是利用抽象的方法,抽象出每个类的关键细节,也就是模块的职责,外部不需要知道对象内部的复杂程度,信息隐藏的目的就是为了做到模块与模块尽可能独立,便于修改,保证对象数据的一致性、完整性,实现高内聚、低耦合,提高软件的可扩展性和维护性~

4.抽象和分解的关系

  • 分解:横向的将系统分割为几个相对简单的子系统及各子系统之间的关系,分解之后只需要关注经过抽象的相对简单的子系统技巧相互间的关系,从而降低了复杂度~
  • 抽象:在纵向上聚焦给子系统的接口,抽象可以分离接口与实现过程,让人更好地关注系统本质,从而降低复杂度

分解和抽象一般是一起作用的,可以将系统分解为子系统,又通过抽象分离接口与实现~

5.重构是什么,以及在什么情况下回发生

  • 修改软件系统的严谨方法,在不改变代码外部表现(即系统功能)的情况下改进其内部结构(即提升详细设计结构的质量~)
  • 重构发生在新功能增加完成之后,用于消除新功能带来的负面影响~

6.单元测试、系统测试、集成测试的区别 

  • 单元测试:测试一个单元接口,是对软件设计的最小单位进行正确性检验的测试工作
  • 集成测试:测试多个单元接口,即对程序模块一次性或采用增量方式组装起来,对系统的接口进行正确性检验的测试工作
  • 系统测试:测试全部单元接口,测试关注整个系统的行为,但愿测试和集成测试更加关注技术上的正确性,重点在于发现设计缺陷和代码缺陷,系统测试更关注不符合需求的缺陷和需求自身的内在缺陷 

三.代码相关大题 

1.

 

2.

 

 

 

3.

4.

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【网络】抓包工具Wireshark下载安装和基本使用教程

🍁 博主 "开着拖拉机回家"带您 Go to New World.✨🍁 🦄 个人主页——🎐开着拖拉机回家_Linux,大数据运维-CSDN博客 🎐✨🍁 🪁🍁 希望本文能够给您带来一定的帮助&#x1…

电商运营基础(一、新手起店完整的运营流程)

任何东西的学习都要现有广度再有深度 一、学习流程大纲 二、新店运营的完整步骤 1.品类选择(最重要的一步) 切记,电商,选择大于努力 类——类目——做一件代发的——选类目很重要 品——货源——有自己的货源——选品——你做…

行业研究:2023年中国游戏陪玩行业市场现状分析

近年来随着我国游戏行业的不断发展,我国游戏用户规模也是随着稳步上升,给游戏陪玩行业带来了稳定的用户基础。在用户规模增长的同时,随着经济、文化的快速发展,我国娱乐技能社交也随之逐渐兴起。而作为我国娱乐技能社交比重较大的…

HarmonyOS 修改App的默认加载的界面(ArkTS版本)(十七)

根据鸿蒙系统APP的应用生命周期结构(鸿蒙4.0开发笔记之ArkTS语法基础之应用生命周期)来看。 1、首先在roject/entry/src/main/ets/entryability/EntryAbility.ts文件中找到UI加载函数:onWindowStageCreate(…){…},然后找到windo…

【i.MX6ULL】linux驱动bh1750模块

I2C-BH1750 1、设备地址 引脚说明 VCC5VGNDGNDSCLPB6SDAPB7ADDRVCC/GND bh1750设备的地址由引脚 ADDR 来决定 ADDR接GND 当ADDR引脚接地时设备bh1750的地址为:0x23(7bit) ADDR接VCC 当ADDR引脚接地时设备bh1750的地址为:0x5c(7bit) 2、工作模式 …

【S32K3环境搭建】-0.3-S32DS安装实时驱动RTD(Real-Time Driver)

目录 1 什么是“实时驱动RTD(Real-Time Driver)” 2 安装“实时驱动RTD(Real-Time Driver)” 2.1 方法一:通过S32DS Extensions and Updates安装“实时驱动RTD(Real-Time Driver)” 2.2 方法二:通过Install New Software…安装“实时驱动RTD(Real-Ti…

基于KSZ9897VLAN 虚拟WAN网络接口

目录 1:先看看高通的8327是如何虚拟网络接口 2: Linux 内核中选上802.1Q 3: 实际效果展示 4:配置使用 1:先看看高通的8327是如何虚拟网络接口 rootOpenWrt:~# cat /etc/config/wirelessconfig wifi-device wifi0option type qcawifioption macaddr 68:89:75:04:…

一篇文章带你详细了解C++智能指针

一篇文章带你详细了解C智能指针 为什么要有智能指针内存泄漏1.什么是内存泄漏,它的危害是什么2.内存泄漏的分类3.如何避免内存泄漏 智能指针的使用及原理1.RAII2.智能指针的原理3.auto_ptr4.unique_ptr5.shared_ptr6.weak_ptr 为什么要有智能指针 C引入智能指针的主…

flink源码分析之功能组件(四)-slot管理组件I

简介 本系列是flink源码分析的第二个系列,上一个《flink源码分析之集群与资源》分析集群与资源,本系列分析功能组件,kubeclient,rpc,心跳,高可用,slotpool,rest,metrics&…

从零开发短视频电商 Jmeter压测示例模板详解(无认证场景)

文章目录 添加线程组添加定时器添加HTTP请求默认值添加HTTP头管理添加HTTP请求添加结果断言响应断言 Response AssertionJSON断言 JSON Assertion持续时间断言 Duration Assertion 添加察看结果树添加聚合报告添加表格察看结果参考 以压测百度搜索为例 https://www.baidu.com/s…

[NAND Flash 2.2] NAND闪存及控制器的市场趋势 [2023]

依公知及经验整理&#xff0c;原创保护&#xff0c;禁止转载。 专栏 《深入理解NAND Flash》 <<<< 返回总目录 <<<< 一、NAND闪存市场分析 据欧洲知名半导体分析机构Yole发布的报告显示&#xff0c;2020年起&#xff0c;NAND闪存市场发展趋势保持稳定…

【Angular开发】Angular中的高级组件

在这个博客中&#xff0c;我将解释Angular中的几个高级组件和机制&#xff0c;它们增强了灵活性、可重用性和性能。 通过熟悉这些高级组件和机制&#xff0c;您可以提高您的Angular开发技能&#xff0c;并在应用程序中利用灵活性、可重用性和性能优化的能力。让我们开始吧&…

使用dockerfile 构建自己的nacos-mysql

前言 在部署nacos的时候触发的脑袋灵光一闪&#xff0c;每次部署nacos都要部署下mysql服务器&#xff0c;然后导入sql语句&#xff0c;配置nacos配置文件&#xff0c;那有没有简单的方法实现一键部署nacos和nacos-mysql 呢? 答案是肯定&#xff01;如下目录图&#xff1a; …

ctfhub技能树_web_信息泄露

目录 二、信息泄露 2.1、目录遍历 2.2、Phpinfo 2.3、备份文件下载 2.3.1、网站源码 2.3.2、bak文件 2.3.3、vim缓存 2.3.4、.DS_Store 2.4、Git泄露 2.4.1、log 2.4.2、stash 2.4.3、index 2.5、SVN泄露 2.6、HG泄露 二、信息泄露 2.1、目录遍历 注&#xff1…

寻找峰值00

题目链接 寻找峰值 题目描述 注意点 数组可能包含多个峰值&#xff0c;在这种情况下&#xff0c;返回 任何一个峰值 所在位置即可对于所有有效的 i 都有 nums[i] ! nums[i 1]可以假设 nums[-1] nums[n] -∞ 解答思路 可以根据二分查找保证在O(log n)的时间复杂度找到峰…

数据中心的操作系统——kubernets

操作系统的功能和模块与 Kubernetes 的功能和模块做了一个对比&#xff1a; Kubernetes 作为数据中心的操作系统还是主要管理数据中心里面的四种硬件资源&#xff1a;CPU、内存、存储、网络。 对于 CPU 和内存这两种计算资源的管理&#xff0c;我们可以通过 Docker 技术完成。…

【数据分享】11个城市的出租车(网约车)数据(免费获取)

出租车&#xff08;网约车&#xff09;GPS数据是我们最常使用的交通大数据之一&#xff0c;但是出租车&#xff08;网约车&#xff09;GPS数据没有公开的获取渠道&#xff0c;有些学者可能能通过与相关机构合作拿到数据&#xff0c;但是对于绝大多数普通人是没有这个机会的&…

跳水比赛(C++)

系列文章目录 进阶的卡莎C++_睡觉觉觉得的博客-CSDN博客数1的个数_睡觉觉觉得的博客-CSDN博客双精度浮点数的输入输出_睡觉觉觉得的博客-CSDN博客足球联赛积分_睡觉觉觉得的博客-CSDN博客大减价(一级)_睡觉觉觉得的博客-CSDN博客小写字母的判断_睡觉觉觉得的博客-CSDN博客纸币(…

navicate16 2059 plugin http could not be loaded

plugin http could not be loaded 乱码 library path http.dll 今天新装一台机子的navicate遇到这个问题。 查了半天都是说 caching_sha2_password’的解决办法。 然后是咋解决的呢&#xff0c;真是丢脸 由于我是直接从浏览器复制下来的ip&#xff0c;所以虽然我只复制了ip地…

Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules。Android studio纯java代码报错

我使用java代码 构建项目&#xff0c;初始代码运行就会报错。我使用的是Android Studio Giraffe&#xff08;Adroid-studio-2022.3.1.18-windows&#xff09;。我在网上找的解决办法是删除重复的类&#xff0c;但这操作起来真的太麻烦了。 这是全部报错代码&#xff1a; Dupli…