当前位置: 首页 > news >正文

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.

相关文章:

SE考研真题总结(一)

本帖开始分享考研真题中设计【软件工程】的部分,预计会出5期左右,敬请期待~ 一.单选题 1.程序编写不是软件质量保障过程~ 静态代码扫描是今年来多数被人提及的软件应用安全解决方案之一,指程序员在编写好代码后无需进行编译,直接…...

Xshell远程登录AWS EC2 Linux实例

文章目录 小结问题解决参考 小结 Xshell远程登录AWS EC2 Linux实例碰到些问题,进行解决并记录。 问题 在AWS中创建 EC2 Linux实例,生成的非对称密钥对,使用Xshell远程登录碰到一些问题。 解决 首先在Putty中可以使用的ppk密钥文件在Xshe…...

Elasticsearch:对时间序列数据流进行降采样(downsampling)

降采样提供了一种通过以降低的粒度存储时间序列数据来减少时间序列数据占用的方法。 指标(metrics)解决方案收集大量随时间增长的时间序列数据。 随着数据老化,它与系统当前状态的相关性越来越小。 降采样过程将固定时间间隔内的文档汇总为单…...

python自动化测试框架:unittest测试用例编写及执行

本文将介绍 unittest 自动化测试用例编写及执行的相关内容,包括测试用例编写、测试用例执行、测试报告等内容。 官方文档: https://docs.python.org/zh-cn/3/library/unittest.mock.html 1. 测试用例编写 在 unittest 中,一个测试用例通常…...

ctfhub技能树_web_web前置技能_HTTP

目录 一、HTTP协议 1.1、请求方式 1.2、302跳转 1.3、Cookie 1.4、基础认证 1.5、响应包源代码 一、HTTP协议 1.1、请求方式 注:HTTP协议中定义了八种请求方法。这八种都有:1、OPTIONS :返回服务器针对特定资源所支持的HTTP请求方法…...

mysql8报sql_mode=only_full_group_by(存储过程一直报)

1:修改数据库配置(重启失效) select global.sql_mode;会打印如下信息 ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION里面包含 ONLY_FULL_GROUP_BY,那么就重新设置,在数据库中输入以下代码,去掉ONLY_FULL_GROU…...

Vue2中v-html引发的安全问题

前言:v-html指令 1.作用:向指定节点中渲染包含html结构的内容。 2.与插值语法的区别: (1).v-html会替换掉节点中所有的内容,{{xx}}则不会。 (2).v-html可以识别html结构。 3.严重注意:v-html有安全性问题&#xff0…...

java内部类详解

文章目录 一、介绍二、为什么要使用内部类三、非静态内部类四、静态内部类五、局部内部类六、匿名内部类七、lambda表达式内部类八、成员重名九、序列化十、如何选择内部类 一、介绍 在java中,我们被允许在编写一个类(外部类OuterClass)时,在其内部再嵌…...

Python 潮流周刊#29:Rust 会比 Python 慢?!

△请给“Python猫”加星标 ,以免错过文章推送 你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。本周刊开源,欢迎投稿[1]。另有电报频道[2]作为副刊,补充发布更加丰富的资讯。 &#x1f43…...

吴恩达《机器学习》11-1-11-2:首先要做什么、误差分析

一、首先要做什么 选择特征向量的关键决策 以垃圾邮件分类器算法为例,首先需要决定如何选择和表达特征向量 𝑥。视频提到的一个示例是构建一个由 100 个最常出现在垃圾邮件中的词构成的列表,根据这些词是否在邮件中出现来创建特征向量&…...

Pandas在Excel同一个sheet里插入多个Dataframe和行

Pandas默认的to_excel是直接把完成的Datafrme写入一个sheet里,这并不能满足我们在一个sheet里插入多个Dataframe或多行的需求。为了实现插入多行或多Dataframe的目的,我们需要新建一个ExcelWriter对象,然后依次插入数据。 这里我们以插入2个Dataframe和三行单元格为例。 新…...

查看mysql 或SQL server 的连接数,mysql超时、最大连接数配置

1、mysql 的连接数 1.1、最大可连接数 show variables like max_connections; 1.2、运行中连接数 show status like Threads_connected; 1.3、配置最大连接数, mysql版本不同可配置的最大连接数不同,mysql8.0的版本默认151个连接数,…...

C++学习之路(七)C++ 实现简单的Qt界面(消息弹框、按钮点击事件监听)- 示例代码拆分讲解

这个示例创建了一个主窗口,其中包含两个按钮。第一个按钮点击时会显示一个简单的消息框,第二个按钮点击时会执行一个特定的操作(在这个例子中,仅打印一条调试信息)。 功能描述: 创建窗口和布局:…...

python实现一个计算器

实现一个计算器首先熟悉一下这个阅读器的属性import subprocess subprocess.run(["espeak", "-v", "enf3", "This is a Calculator"])class Calculator:def speaker(self,word):subprocess.run(["espeak", "-v", …...

C++ 共享内存ShellCode跨进程传输

在计算机安全领域,ShellCode是一段用于利用系统漏洞或执行特定任务的机器码。为了增加攻击的难度,研究人员经常探索新的传递ShellCode的方式。本文介绍了一种使用共享内存的方法,通过该方法,两个本地进程可以相互传递ShellCode&am…...

如何快速移植(从STM32F103到STM32F407)

最近用到F4的地方比较多,网上代码还是F1多一些,便需要移植代码,如何快速移植代码呢? 看下面这篇文章 外设 首先就是STM32的外设了。 STM32F407ZGT6的基本外设 STM32F407ZGT6 作为 MCU,该芯片是 STM32F407 里面配置…...

python高级练习题库实验1(B)部分

文章目录 题目1代码实验结果题目2代码实验结果题目3代码实验结果题目4代码实验结果题目5代码实验结果题目总结题目1 打包糖果小游戏,用户输入糖果品牌与个数,还有一个盒子里面可以装多少个糖果,输出一些打印信息,如下图所示: 代码 print("Packaging lollies into…...

Qt Rsa 加解密方法使用(pkcs1, pkcs8, 以及文件存储和内存存储密钥)

Qt RSA 加解密 完整使用 密钥格式: pkcs#1pkcs#8 如何区分密钥对是PKCS1还是PKCS8? 通常PKCS1密钥对的开始部分为:-----BEGIN RSA PRIVATE KEY-----或 -----BEGIN RSA PUBLIC KEY-----。而PKCS8密钥对的开始部分为:-----BEGIN…...

区分物理端口与软件端口概念:以交换机端口和Linux系统中的端口为例

文章目录 交换机端口和Linux系统中的端口有什么区别?1. 交换机的端口2. Linux系统中的端口因此,尽管两者都被称为"端口",但它们代表的含义和用途是完全不同的。 交换机端口和Linux系统中的端口有什么区别? 虽然都被称为…...

力扣226:翻转二叉树

力扣226:翻转二叉树 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1] 示例 2: 输入:root [2,1,3]…...

亚马逊鲲鹏系统智能自动注册与AI角色养号,探索数字化新境界

在数字化时代,亚马逊鲲鹏系统以其强大的自动化功能,为用户提供了前所未有的购物体验。如果你想利用鲲鹏系统进行自动化注册,那么准备好邮箱、IP、手机号等关键信息后,你将轻松实现自动注册,为购物之旅开启智能化新篇章…...

AOP操作日志记录

AOP操作日志记录 1.创建注解 Retention(RetentionPolicy.RUNTIME) Target(ElementType.METHOD) public interface PassportLog {String operatePage();String operateType();ClassTypEnum classType();}2.创建切面 对于字典,可以通过注解属性去转换,枚举…...

Linux C语言 42-进程间通信IPC之网络通信(套接字)

Linux C语言 42-进程间通信IPC之网络通信(套接字) 本节关键字:C语言 进程间通信 网络通信 套接字 TCP UDP 相关库函数:socket、bind、listen、accept、send、recv、sendto、recvfrom 参考之前的文章 Linux C语言 30-套接字操作…...

微服务知识大杂烩

1.什么是微服务? 微服务(Microservices)是一种软件架构风格,将一个大型应用程序划分为一组小型、自治且松耦合的服务。每个微服务负责执行特定的业务功能,并通过轻量级通信机制(如HTTP)相互协作。每个微服务可以独立开发、部署和扩展,使得应用程序更加灵活、可伸缩和可…...

记录一次vscode markdown的图片路径相关插件学习配置过程

插件及说明查找过程 csdn搜索markdown图片路径,找到关于这一款插件的回答。打开vscode拓展搜索Paste Image这款插件,看到下载量挺高的,应该不赖。 点击仓库,进入该插件开源的github仓库,查看README文件阅读说明. 淡然在Vscode 插件项目下的细…...

设计原则 | 依赖转置原则

一、依赖转置原则(DIP:Dependence Inversion Principle) 1、原理 高层模块不应该依赖低层模块,二者都应该依赖于抽象抽象不应该依赖于细节,细节应该依赖于抽象 2、层次化 Booch曾经说过:所有结构良好的面…...

前端开发实用技巧与经验分享

导语:在前端开发领域,掌握一些实用的技巧和经验可以帮助你更高效地完成任务。本文将分享一些前端开发的实用技巧和经验,帮助你在工作中更好地应对各种挑战。 一、使用开发者工具进行调试和优化 熟练掌握浏览器开发者工具的使用,…...

推荐一款Excel快速加载SQL的插件,方便又好用

如果告诉你只需要双击一下,SQL数据库中存放在表里面的数据,就能加载到你的Excel中,你想不想要? 今天给大家推荐一款好用的Excel插件,安装简单,使用方便,是经常使用SQL数据库的不二。 这款插件…...

Docker快速入门(docker加速,镜像,容器,数据卷常见命令操作整理)

Docker本质是将代码所需的环境依赖进行打包运行,而在Docker中最重要的是镜像和容器 镜像:可以简单地理解为每启动一个docker镜像就会占用计算机一个进程,这个进程和另外起的docker镜像的进程是相互独立的,以数据库为例,每个镜像都会copy一份数据库,在他所在的进程中.别的镜像在…...

http和https的区别有哪些

目录 HTTP(HyperText Transfer Protocol) HTTPS(HyperText Transfer Protocol Secure) 区别与优势 应用场景 未来趋势 当我们浏览互联网时,我们经常听到两个常用的协议:HTTP(HyperText Tra…...

广州做营销网站公司/拉新app推广接单平台

一&#xff0c; 密码最少长度为 6位 &#xff0c;并至少包含3种复杂类别的字符 &#xff08;如 Abc134 或者 abc12# 符合 如abc123 123 <>( 就不符合&#xff09; 二 密码最少长度为 8位 &#xff0c;并至少包含2种复杂类别的字符 &#xff08;如 Abc21334 或者 abcd123…...

用python做的电商网站/百度官网app

一、什么是Hive Hive是建立在Hadoop基础常的数据仓库基础架构&#xff0c;&#xff0c;它提供了一系列的工具&#xff0c;可以用了进行数据提取转化加载&#xff08;ETL&#xff09;&#xff0c;这是一种可以存储、查询和分析存储在Hadoop中的按规模数据的机制。Hive定义了简单…...

张家口做网站公司/云搜索app

小米一纸公告宣布米聊关闭&#xff0c;这背后的影响可能将是相当深远&#xff0c;或许说明小米更适合做硬件业务&#xff0c;缺乏互联网基因&#xff0c;这导致它的硬件业务做得越来越成功&#xff0c;而互联网业务却似乎进入瓶颈。小米业绩增长主要靠硬件业务小米在2020年Q3公…...

免费新闻网站建设/百度推广运营怎么做

180万私域用户&#xff0c;每天贡献直接单量3.5万多杯&#xff0c;通过群内信息提醒促单10万多杯 达到这一目标用时仅3个月&#xff0c;其中60%以上都是活跃用户 用户入群后月消费频次提升30%&#xff0c;周复购人数提升28%&#xff0c;MAU提升10% 目前&#xff0c;私域订单贡献…...

成都公安网站备案/百度推广渠道户

文章目录前言一、安装axios二、调用后台接口三、主页面四、模拟后台接口第一种方法第二种方法第三种方法五、出现的问题总结前言 学习并练习前端调用后台返回的接口数据&#xff0c;通过postman模拟返回后台接口 一、安装axios 先安装&#xff1a; npm install axios然后&am…...

做网站不用tomcat行吗/chrome浏览器官网入口

任务一 •在Ubuntu中完成 http://www.cnblogs.com/rocedu/p/5087623.html 中的作业 •提交运行结果截图 了解学习openssl&#xff1a; OpenSSL简介 OpenSSL是一个SSL协议的开源实现&#xff0c;采用C语言作为开发语言&#xff0c;具备了跨平台的能力&#xff0c;支持Unix/Linux…...