软考中级-软件设计师-真题详解【2023年上半年】

2023上半年真题记忆点详解

本片不涉及解题法,只整理记忆背诵点,记住即可拿分。

上午题部分:

·片内总线:用于芯片内部各主要部件连接;

系统总线:用于CPU、主存、外设见的数据传输;

通讯总线:计算机系统之间或与其他系统的通信。

·OSI模型从上至下依次为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层

应用层:直接向用户提供服务,协议有HTTP、TFTP、SMTP等;

表示层:处理用户信息的表示问题,如对应用层消息加密,Telent、SNMP等;

会话层:组织协调两个会话进程通信,管理数据交换,SMTP、DNS等;

传输层:向用户提供端到端的差错和流量控制,向用户透明的传送报文,TCP、UDP;

网络层:负责把数据包送到正确的地址,三层交换机、路由器、ARP、RARP、IP等;

数据链路层:将数据打包成帧,传输给下一层,网桥、交换机、网卡、PPP等;

物理层:建立设备间的物理连接,中继器、集线器。

·同一进程下各个线程间共享代码段、全局变量、打开的文件等,但各线程间的私有资源如栈指针不可共享。

开发方法:

·瀑布式开发:严格按照步骤执行,每一步都要做到最好以减少后期损失;

迭代式开发:优先将主要功能搭建起来,逐步完善;

螺旋开发:风险驱动,强调风险评估;

敏捷开发:同迭代法类似,强调在较短周期内提交软件,但敏捷开发更强调队伍协作。

开发模型

·瀑布模型:适用于需求稳定、明确的项目;

演化模型:适用于用户需求不明确,且软件完善周期较长的项目;

螺旋模型:适用于项目规模庞大,复杂且风险高的项目;

增量模型:在系统的技术架构成熟、风险较低时采用;

敏捷开发:适用于小规模软件或小团队开发。

敏捷开发方法:

·XP极限编程:高效、低风险、测试先行;

水晶法:不同项目、不同策略;

并列争球法:迭代,冲刺;

ASD自适应:预测、协作、学习。

·内容耦合:最高程度的耦合,例如一台电脑的某个组建出现问题,由于他们是 直接相连的,所以会导致整台电脑故障;

公共耦合:多个模块共享一个公共的数据环境,如A和B通过外部变量交换输入输出信息;

外部耦合:模块与外部硬件环境产生交互;

控制耦合:一个模块通过传递控制变量调用另一个模块;

标记耦合:模块间通过数据结构传递信息。如图书馆借书,系统会将信息通过数据结构处理;

数据耦合:模块间通过参数交换信息,但交换的信息仅是简单的数据类型。

无直接耦合:彼此间没有关联。

·语句覆盖:程序中每个语句至少被执行一次;

判定覆盖:程序中的每个分支至少通过一次;

条件覆盖:判定中的每个条件获得各种可能的结果;

路径覆盖:使程序中的每条路径至少执行一次,至少需要(判断语句条数*2)条测试用例。

·正确性维护:识别和纠正软件错误,改正功能缺陷;

适应性维护:使软件适应外部环境或数据的变化而做的维护;

改善性维护:满足用户的扩充需求,使软件更加完善;

预防性维护:为了提高软件的可维护性和可靠性,为之后进一步改进打下基础。

设计模式:

创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式;
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式;
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式;

工厂模式适用于大量的产品需要创建,并且这些产品有共同的接口

生成器将复杂的构建过程封装起来;

原型的本质是clone,通过复制现有实例创建新对象;

适配器消除由于接口不匹配造成的兼容性问题,如USB等;

装饰器动态的将新功能附加到对象上,例如奶茶中增加小料后的费用;

代理模式类似于“中介”,由代理对象控制对原对象的引用;

外观隐藏了系统的复杂性,向客户端提供一个可以访问的接口;

桥接:将抽象部分与实现部分分离,使他们都可以独立变化

组合模式用来表示“部分-整体”的层次结构,使用具有一致性

享元将大量对象的共同部分抽取出来,高效;

策略定义一系列算法,使其可以相互替换;

观察者适用于当一个对象的状态发生改变时,所有依赖于他的对象都得到通知并被自动更新。

·口诀:“直、简、冒、希、堆”不费空间,且只有堆排序时间复杂度是n log2n,其他都是n^2,快速排序空间复杂度有log,归并空间复杂为n,“快、选、堆、希”不稳定

下午题部分:

第一题-数据流图:

抓住两点:父图与子图平衡(父图中的输入输出在子图中有对应),加工需要有输入输出。

不过这两点经常派不上用场,这时就需要我们逐字逐句仔细分析说明中的每句话涵盖的输入输出,例如“农户在农事活动中设定投入品的实际消耗”表示E2—>P4有“投入品实际消耗”这条数据流;“第三方软件要查询信息”说明D3、D4中包含的信息需要流向P5.

2023年上半年真题:


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

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

相关文章

嵌入式LINUX开发成长计划

LINUX基础 嵌入式LINUX安装与环境配置完全指南-CSDN博客 基于ViutualBoxUbuntu(Linux)的开发环境搭建-CSDN博客 嵌入式LINUX常见符号与常用命令-CSDN博客 Git

04 FreeRTOS 队列(queue)

1、队列的特性 队列可以理解为一个传送带,一个流水线。 队列可以包含若干个数据:队列中有若干项,这被称为"长度"(length) 每个数据大小固定 创建队列时就要指定长度、数据大小 数据的操作采用先进先出的方法(FIFO,First…

使用 Python 管理串口通信:实现一个串口管理器

程序员老茶 🙈作者简介:练习时长两年半的Java up主 🙉个人主页:程序员老茶 🙊 P   S : 点赞是免费的,却可以让写博客的作者开心好久好久😎 📚系列专栏:Java全栈&#…

干货分享 —— 如何开展web项目自动化测试!

前言 自动化(Automation)是指机器设备、系统或过程(生产、管理过程)在没有人或较少人直接参与的情况下,根据人的要求,通过自动检测、信息处理、分析判断、操纵和控制,达到预期目标的过程。自动化测试是指测试过程是在没有人为或较少人为干预…

milvus 中的集合与 database

在Milvus中,集合(Collection)和数据库(Database)是两个不同的概念,它们之间存在一定的关系。 1. 数据库(Database) 数据库是Milvus中的最顶层的组织单位,可以理解为一个…

从零构建vue3+ts+vite项目打包及项目依赖配置

❗️❗️❗️❗️ 写在最前: 本文是根据B站作者 月光分层 视频vuets 工程化配置以及作者笔记稍作整理 💖💖作者B站地址https://space.bilibili.com/14110850 💖💖视频教程地址vuets 工程化配置 💖💖作者微信…

【计算机毕业设计】安卓054基于Android校园助手

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

LAMP源码编译安装——CentOS7

文章目录 LAMP是什么LAMP软件组件LinuxApacheMySQLPHP 源码安装Apache一、准备工作二、安装环境依赖包三、配置软件模块四、编译及安装五、优化配置文件路径六、添加httpd系统服务(有两种方法)方法一:方法二: 七、修改httpd 服务配…

2024HBCPC:C Goose Goose Duck

题目描述 Iris 有 n n n 个喜欢玩鹅鸭杀的朋友,编号为 1 ∼ n 1∼n 1∼n。 假期的时候,大家经常会在群里问有没有人玩鹅鸭杀,并且报出现在已经参与的人数。 但是每个人对于当前是否加入游戏都有自己的想法。 具体的来说,对于第…

【Python音视频技术】用moviepy实现图文成片功能

今天上班的时候看到有人群里问 图文成片怎么实现。 临时给我提供一点写作的灵感,趁着下班写一篇。这里用到 python的moviepy库, 之前文章介绍过。 大体思路:假定有4张图片,每张图片将在视频中展示2秒钟,并且图片会按照…

公告:关于博主的重要通知

大家好,我是博主夏目。 本期不分享知识,博主想说明一下博主的一些重要提示。 分享的内容,从不收费,也未向任何人进行收费。 意在分享知识,传播文化,结交更多志同道合的朋友。 截至目前,从未…

如何选择一个AI大模型的私家炼丹炉

随着计算机图形处理技术的不断进步,NVIDIA作为图形处理器(GPU)的领先制造商,其推出的RTX系列消费级显卡在性能和技术创新方面均引起了广泛关注。依托这些消费级显卡性能的突飞猛进,AI炼丹师们也有望将大模型训练、推理…

《C++ Primer Plus》第十二章复习题和编程练习

目录 一、复习题二、编程练习 一、复习题 1. 假设String类有如下私有成员: // String 类声明 class String { private: char* str;int len;// ... };a. 下述默认构造函数有什么问题? String::String() { } // 默认构造函数b. 下述构造函数有什么问题…

go语言函数之defer

Go函数里面提供了defer关键字,可以注册多个延迟调用,这些调用以先进后出(FILO)的顺序在函数返回前被执行。这点有点类似java语言中异常处理中的的finaly子句,defer常用于保证一些资源最终一定能够得到回收和释放。 pa…

VirtualBox+Ubuntu22.10+Docker+ROS2

Docker 拉取ros2镜像 docker pull osrf/ros:foxy-desktop 运行 docker run -it --nameros2 -p 50022:22 osrf/ros:foxy-desktop 进入容器安装组件 apt-get update apt-get install vim apt-get install git apt-get install net-tools # 安装ssh apt-get install openssh…

Java面试题分享0519

目录 1、重载和重写区别? 2、构造器(Constructor)是否可被重写(override) 3、break 、continue 、return 作用? 4、JAVA 创建对象有哪些方式? 5、 和 equals 有什么区别? 6、I…

centos下给es7.12.1设置密码

安装可参考: centos7下安装elasticsearch7.8.1并配置远程连接_在一台服务器centos7上安装和配置elasticsearch。-CSDN博客 1、先停掉es进程 2、设置输入密码后访问配置 cd /home/soft/elasticsearch-7.12.1/config vim elasticsearch.yml 3、启动es服务 cd /home/…

香橙派 AIpro开发板初上手

一、香橙派 AIpro开箱 最近拿到了香橙派 AIpro(OrangePi AIpro),下面就是里面的板子和相关的配件。包含主板、散热组件、电源适配器、双C口电源线、32GB SD卡。我手上的这个是8G LPDDR4X运存的版本。 OrangePi AIpro开发板是一款由香橙派与华…

VUE3 学习笔记(4):VUE 事件处理、传参、事件修饰

常见的Web事件 页面事件 Onload --加载 Onunload --取消 Onscroll --滚动 Onresize --大小改变 表单事件 Onsubmit --提交 onchange --变更 Onselect --选择 Onreset --重置 焦点事件 Onfocus --得到焦点 Onblur --失去焦点 鼠标事件 Onclick --点击 Ondbclick --双击 onmouseu…

在Python中实现限定抽奖次数的机制

目录 一、引言 二、需求分析 三、设计思路 四、代码实现 4.1 使用字典存储用户抽奖次数 4.2 使用数据库存储用户抽奖次数 五、扩展与优化 六、总结 一、引言 在当今互联网应用中,抽奖系统作为吸引用户、提高用户参与度和活跃度的重要手段,已经被…