首先庆祝全天下的程序员节日快乐,当然还是不能忘记写博客!

今天分享一下我备战软考的一些笔记,后续还会更新的!

模块化记忆::::::

(01)程序计数器:用于存放指令的地址

程序状态寄存器:用于存放指针地址

地址寄存器:记录各种内存地址

累加寄存器: 用于传送和暂存用户数据

(02)几种数据技术:Data Extraction→数据抽取技术

OLAP→数据联机分析技术

OLTP→数据联机处理技术

ETL→数据清洗技术

(03)几种加密技术以及密钥传送

对称加密技术:优点(速度快),缺点(加密强度不高,密钥分发困难)

其常见技术:DES、AES、RC-5、IDEA、3DES

非对称加密:优点(加密强度高),缺点(加密速度慢)

其常见技术:RSA、Elgamal、ECC(椭圆算法)

消息摘要算法:MD5(128位)、SHA(160位),SHA的安全性要高于MD5。其配合数字签名可以验证数据的完整行。

数字签名:加密称为数字签名,解密称为签名的验证。

数据信封与PGP,将对称密钥利用非对称方式加密,再用非对称的方式解密获得对称密钥,从而获取到原文。

(04)网络安全,各个网络层次的安全保障:先说一下7大层(由低到高依次为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层)其中物理层和数据链路层最常考的是两层所拥有的硬件设备。(物理层:网卡,网线,集线器,中继器,调制解调器;数据链路层:网桥,交换机) ;;

其次今年也考到了网络层的TCP以及UDP分别含的协议以及端口号:(TCP:FTP(20/21)、TELNET(23)、SMTP(25)、POP3(110)、HTTP(80)、HTTPS(443));(UDP:DNS(53)、SNMP(161)、TFTP(69)、DHCP(67))其中HTTPS = HTTP+SSL(应用层、表示层、会话层、传输层);;

从MAC地址找IP是RARP协议,从IP找MAC地址是RAP协议;;TCP/IP参考共分为四层:网络接口层(物理层、数据链路层)、网络层、传输层、应用层;;

网络的威胁与攻击此处有两种容易混淆的需要注意一下(窃听:用合法或非法的手段窃听信息资源;;业务流分析:长期监听);;

再来说一下防火墙分为(网络级(包过滤、状态监测);应用级(双穴主机、屏蔽主机、屏蔽子网))

(05)数据字典包含:数据流、数据项、数据存储、基本加工;

模型层次结构中有3种不同的规模:对象点、功能点、代码行

CISC复杂指令集(复制,数量多,使用频率差别大,可变长格式,支持多种寻址方式)、 RISC精简指令集(精简数量少,常用在流水线)

流水线执行时间 = 1条净指令执行时间 + (指令条数 - 1)* 流水线周期(时间最常的);;流水线吞吐率 = 指令条数 / 流水线执行时间;;

主存与编址计算:总片数 = 总容量 / 每片的容量;;

总线:同一时刻仅允许一个设备发送但允许多个设备接收;;

数据总线: 在CPU和RAM之间,传送需要处理的或是需要存储的数据;;

地址总线:用来指定在RAM之间存储的数据地址;;

控制总线:将微处理器控制单元的信号传送到周边设备,一般常见的为USB BUS和1394 BUS;;

串联系统与并联系统:串联:X、并联:1-X;;

码距:用4位二进制表示16种状态,则有16个不同的码字此时码距为1;;

三大校验:CRC冗余校验(模2校验)、海明码校验(取校验位采用公式:2^r >= k+r+1其中r是要求的校验位数,k数原码位数)、奇偶校验(奇数为奇校验,偶数位为偶校验);;

(06)操作系统::

页式存储:(优点:利用率高、碎片小、分配管理简单;缺点:增加了系统开销,可能产生系统抖动);;

段式存储:(优点:多道程序共享内存,各段程序修改互不影响;缺点:内存利用率低,内存碎片浪费大);;

段页式:(优点:空间浪费小,存储共享容易;缺点:执行速度大大下降);;

逻辑地址 = 页号 + 页内地址;物理地址= 页帧号 + 页内地址;;

磁盘管理(存取时间 = 寻道时间 + 等待时间(传输时间));;

数据传输的控制方法:由前到后效率越来越高(1、程序控制(查询)方式 2、程序中断方式 3、DMA方式 4、通道方式 5、I/O处理机)

(07)数据库::

关系代数:并、交、差、投影、笛卡尔积;;

规范化理论:1、数据冗余 2、修改异常 3、插入异常 4、删除异常;;

候选键:唯一标识元组且无冗余,主键在其中任选一个,组成候选码的属性就是主属性,其它的就是非主属性;;

范式:1NF------>属性值都是不可分的原子值;

2NF------>消除非主属性对候选键的部分依赖;

3NF------>消除非主属性对候选键的传递依赖;

BCNF------>消除主属性对候选键的部分和传递依赖;

模式分解:1、保持函数依赖分解;有损:不能还原的分解;无损:可以还原的分解;

(08)下午题分解::

第一大题:数据流图(此题注意两个平衡:1、父图与子图的平衡(顶层图、0层图);2、子图内平衡);;

解题方法:1、找实体(名词)---->人物角色、组织机构、外部系统等等、

2、补充存储:如(xx文件、xx表、xx库、xx清单)、

3、补充数据流检查图中的每个加工认真与题干相联系检查是否存在黑洞(只有进没有出)和奇迹(只有出没有进)、

4、补充加工名(动词加名词)

小提示!!根据往年试题这道题的最后一问常考到如何保持数据流图平衡:我在这里给出答案供大家简单记忆(父图中某个加工的输入输出数据流必须与子图的输入输出数据流在数量上和名字上相同,父图的一个输入输出数据流对应于子图的几个输入输出数据流。而子图中组成这些数据流的数据项全体正好是父图中的这一个数据流)

(09)第二大题:数据库::

3种模式(外模式(视图)、模式(基本表)、内模式(存储文件、创建索引));;

3个阶段以及各自的产物(1、需求分析(数据流图、数据字典、需求说明书);2、概念结构设计(ER模型);3、逻辑结构设计(关系模式));;

转关系模式(1:1的时候(两边对应的实体任选一个把相对实体的主键作为外键加入到自己的属性中)、1:N的时候(多的一方拿到少的一方的主键作为自己的外键)、N:M的时候(联系为两端实体的主键,主键为两端实体主键,外键为两端实体主键))

常见题型:1、找联系

2、转成关系模式

3、找出主键及外键

4、判断全码、候选码、补充实体

(10)第三大题:UML建模::

☆1、用例图(最能考的,参与者与用例之间的关系包括(包含关系(include))、(扩展关系(extend))、泛化关系);;

☆2、类图(






3、顺序图:讲究的是消息的时间次序(交互图)

4、活动图:有控制流和数据流(动态图)

5、状态图:状态的转变(动态图)

6、通信图:对象之间的组织结构(交互图)

7、构件图:封装的类和它的接口

8、部署图:有硬件作为支撑

小提示!!(对象快照是对象图的)

(11)第四大题:数据结构与算法::

此题是以c语言的形式出现的,主要考察几种算法的应用(注意c语言的语法问题);

1、分治法:将一个大问题分解成许多小问题单独解决(分而治之,一般采用递归技术),分解,解决,合并;

2、回溯法:选优探索法,探索加搜索,走不通就回退;

3、贪心法:局部最优,不一定全局最优;

4、动态规划:保持全局最优,每一步最优;

一般时间复杂度:O(1)---->无循环

O(log2^n)---->树形

O(n)---->一个循环,n的几次方就是几个循环

常见算法的一般情况下的时间复杂度和空间复杂度及其稳定性:

1、空间复杂度:快速排序(O(nlog2^n)),归并排序(O(n)),基数排序(O(r+n)),其余都为O(1);

2、时间复杂的:根据代码判断这里列出特殊的,归并排序(O(nlgn)),堆排序(O(nlog2^n));

3、稳定的排序:直接插入排序、冒泡排序、归并排序、基数排序;

模块的耦合程度取决于模块间接口的复杂性,调用的方式,以及传递的信息;

属于CPU算术逻辑单元的部件是:加法器,而程序计数器,指令寄存器;指令编译器属于控制单元;

阵列处理机:SIMD、SISD、MISD、MIMD;

计算机的存储采用分级存储体系的理论依据是:(程序访问的局部性),计算机系统中常用的三级存储体系是(Cache、主存、辅存),在程序执行过程中,Cache与主存的地址映像由(硬件自动完成的);

求不会发生死锁的进程数时,每个进程需要的资源数-1求和,再+1个资源就不会发生死锁;

文件的全名应从根目录出发

主机与外设之间的输入输出控制方式有多种其中占用CPU时间最多的是程序查询(查询I/O是否完成);

Spooling技术系统的预输入程序将作业信息从物理输入设备运送到输入井;

系统的可维护性的评价指标包括:可理解性,可测试性,可修改性;

Loc是软件规模的一种量度,它表示源代码行数;

软件维护:1、改正性维护:识别和纠正软件错误,改正性能上的缺陷;

2、适应性维护:外部环境数据库发生变化而去改正;

3、完善性维护:增加新的功能与需求;

4、预防性维护:预先提高软件的可维护性;

总线的带宽为:数据总量/总时间;

敏捷开发:1、极限编程(XP,轻量级,简单,不能使代码更快);

2、水晶法(crystal,都需要一套不同的策略,约定,方法论,适用于小项目);

3、并列争球法(核心是迭代,增量交付);

4、自适应软件开发(三个非线性的,重叠的开发阶段);

局域网下超过3层就不能互通了;

JPEG压缩方法去除冗余信息,主要有帧内预测和变换编码;

Prim和Kruscal算法都是贪心算法;

程序设计语言的语法规则用上下文无关文法;

分母为0的情况下在运行时才会发现产生异常;

在编译方式下产生源程序的目标程序,在解释方法下不产生;

多态是由继承来支持的;

冗余附加技术包括:冗余备份程序的存储及调用,实现错误检测和错误恢复的程序,实现容错软件所需的固化程序;

4大语言:1、Fortran语言(科学计算、执行效率高);

2、Pascal语言(表达能力强);

3、Lisp语言(函数式,人工智能);

4、Prolog语言(逻辑推理,简洁性);

增量备份可针对上次任何一种备份进行,将上次备份后所有发生的数据进行备份,差异备份是将上一次的备份完全备份;

分片透明(表具体如何存储),位置透明(表存在哪里,存在什么物理位置);

广播帧用路由器进行隔离,网卡属于数据链路层;

数据库容灾(系统安全、应用安全);

Macro(宏);

RUP的核心特点是用例驱动,迭代和增量。在细化阶段确定系统体系结构;

软件文档分为:开发文档、管理文档、产品文档;

小提示!!这里注意下希尔排序,今年考出来了也是遗憾的没复习到没拿到分,希尔排序里虽然有直接插入排序,但是它是不稳定的而且其时间复杂度为O(n^1.3);

(12)第五大题:面向对象程序设计(二选一,注意一定要涂答题卡上自己选择题的标号。不涂按c++的算)::

此题除非大家对c++非常了解,否则建议大家选择Java!

这里说一下小技巧,这道题一定不能成为你的扣分项。它是为了弥补你前几个题大意犯的错的,前几个空一般比较简单根据上下文的继承关系就可以判断出该填什么。题里边给的是什么就写什么,别自己创造。注意如果有方法是abstract修饰的,则它所在的类一定要用abstract修饰。用abstract修饰的方法省略花括号{};

今 年 在 这 道 题 也 是 大 意 失 去 了 6 分 真 的 很 可 惜 , 大 家 一 定 要 认 真 。 这 题 是 你 过 于 不 过 的 关 键 ; \color{blue}{今年在这道题也是大意失去了6分真的很可惜,大家一定要认真。这题是你过于不过的关键;} 今年在这道题也是大意失去了6分真的很可惜,大家一定要认真。这题是你过于不过的关键;

-------------------------------------------------------------------------------------

(13)模块化细节记忆(真题易错点加深印象上午题一帆风顺)::

4大耦合:1、数据耦合:两个模块彼此通过数据参数交换信息;

2、标记耦合:一个模块将参数通过(表)结构体的形式传递给另一个模块;

3、控制耦合:两个模块传递的信息中有控制信息;

4、内容耦合:一个模块需要涉及到另一个模块的内部信息;

非平凡子串的个数为:(n+2)*(n-1)/2;

二叉树有k个节点时,节点中必有k+1个空孩子指针;

三明治方式指的是:自顶向下+自底向上;

VLIW指的是超长指令字;

正数的原码反码和补码都一样,负数的原码和反码一样,补码在原码的基础上符号为不变其它位取反加1。

算术左移表示乘2操作,算术右移表示除2操作;

结构图的基本成分不包括数据;

词法分析:争对词汇的检查;语法分析:对各条语句的结构进行合法性分析;

三态模型:就绪、运行、阻塞;

ISO/IEC软件质量模型:1、功能性(适合性、准确性、互用性、依从性、安全性);

2、可靠性(成熟性、容错性、易恢复性);

3、易使用性(易理解性、易学性、易操作性);

4、可移植性(适应性、易安装性、一致性、易替换性);

Theo Mandel关于界面设计提出的三条黄金准则分别是:用户操纵控制、减轻用户的记忆负担、保持界面一致;

引用调用会影响形参的取值,取值调用则不会;

自然连接:从左到右,右侧关系去除重复列;

二分查找要求数字有序排列且顺序存储;

HTTP请求中服务器将数据发送给浏览器后就要断开Tcp连接,而不会等到浏览器解析完;其中TCP和UDP提供了端口寻址的功能;

TD-SCDMA(中国移动3G协议)、CDMA2000(中国电信)、WCDMA(中国联通)

对阶时小数向大数看齐;对阶是通过较小的尾数右移实现的;

I/O设备管理分为:用户级I/O层、设备无关I/O层、设备驱动程序、中断处理程序、硬件;

面向对象的7大原则:1、单一职责原则、2、开放封闭原则、3、李氏替换原则、4、依赖倒置原则、5、接口隔离原则、6、组合重用原则、7、迪米特原则(最少知识原则)

(14)面向对象的设计模式(背!!!)

一、创建型模式:1、抽象工厂模式(Abstract Factory)提供一个接口,可以创建一系列相关或相互依赖的对象,而无需指定它们具体的类(生产或系列的对象);

2、构建器模式(Builder):将一个复杂类的表示与其构造相分离,使得相同的构建过程能够得出不同的表示(复杂对象构造);

3、工厂方法模式(Factory Method):定义一个创建对象的接口,但由子类决定需要实例化哪一个类。(动态生产对象);

4、原型模式(Prototype):用原型实例指定创建对象的类型,并且通过拷贝这个原型来创建新的对象(克隆对象);

5、单例模式(Sing leton):保证一个类只有一个实例,并提供一个访问它的全局访问点。(单实例);

二、结构性模式:1、适配器模式(Adapter):将一个类的接口转换成用户希望得到的另一种接口,它使原本不相容的接口得以协同工作。(转换接口);

2、桥接模式(Bridge)------>继承树拆分;

3、组合模式(Composite)------>树形目录结构;

4、装饰模式(Decorator)------>额外的职责,附加职责;

5、外观模式(Facade)------>对外统一接口;

6、享元模式(Flyweight)------>文章共享文字对象,某一个类实例提供虚拟机制;

7、代理模式(Proxy)------>为其他对象提供一种对象;

三、行为性对象模式:1、职责链模式(China of Responsibility)------>传递职责,一层层的检查;

2、命令模式(Command)------>日志记录,可撤销,将一个请求封装为一个对象;

3、解释器模式(Interpreter)------>虚拟机的机制;

4、迭代器模式(Iterator)------>数据库数据集;

5、中介者模式(Mediator)------>不直接引用;

四、行为性类模式:1、备忘录模式(Memento)------>恢复到原先保存的状态;

2、观察者模式(Observe)------>联动,使要交互的对象尽量松耦合;

3、状态模式(State)------>状态变成类;

4、策略模式(Strategy)------>多方案切换;

5、模板方法模式(Template Method)------>操作中的算法骨架;

6、访问者模式(Visitor)------>表示一个作用于某对象结构中的各元素的操作;

手打真的不易,可能有的地方遗漏或者错误还请大家评论区留言指出,如果觉得对你有帮助就点个赞吧大家一起进步。祝愿我们软考都可以顺利通过!!(本文章持久更新,还有很多知识点没写上呢!!!)

软件设计师通关宝典(有这一个就够了!)相关推荐

  1. 历年软件设计师下午考试试题汇总统计(更新至2016年上半年)

    本文对2006年5月至2016年5月[11年,21次]的软件设计师级别下午试题进行一个简单的汇总统计,希望对准备参加软考的朋友能有所帮助. 从2006年5月开始(尤其是从2010年5月开始),软件设计 ...

  2. 2023 上半年软件设计师知识点复习总纲

    前言:全国计算机技术与软件专业技术资格(水平)考试(以下简称IT职业资格考试)是由中华人民共和国人事部主管,国家计算机网络与信息安全管理中心主办的一项国家级.权威性的计算机职业技能水平认证考试.主要为 ...

  3. 从程序员到软件设计师的过程

    前言:软件产业发展到今天,分工越来越细.程序员做为一个通用的称谓已经无法确切定义各种工作的特点和分类.正因为软件开发中各种职责区分不清,无论是刚刚写代码的新手还是具有多年经验的老手,一概被扣上程序员的 ...

  4. 从程序员到软件设计师的过程(转)

    前言:软件产业发展到今天,分工越来越细.程序员做为一个通用的称谓已经无法确切定义各种工作的特点和分类.正因为软件开发中各种职责区分不清,无论是刚刚写代码的新手还是具有多年经验的老手,一概被扣上程序员的 ...

  5. 一个月过软考|软件设计师中级考试经验分享

    掌握好学习方法,中级一次必过. 基础情况:软考--计算机技术与软件专业资格(水平)考试.考试分为上午试题和下午试题,上午下午分数均在45分以上为合格.上午试题是75道选择题,一题一分:下午是案例分析题 ...

  6. 软件设计师一个月备考

    文章目录 前言 一.计算机组成原理 1.1 进制转换 1.2 编码方式 1.2.1 浮点数转换 1.3 校验码 1.4计算机体系结构分类 1.5 存储系统 系统可靠性分析 1.6 网络安全概述 二.软 ...

  7. 软件设计师(一个星期冲刺)

    软考介绍 软考是IT领域,国家唯一承认的,并且纳入国家职业资格认证的IT考试,因此其含金量是远远高于计算机等级考或者其他相关认证的 软考的好处 ·国企事业单位直接加薪,(附上某国企的加薪目录) ·各个 ...

  8. 你觉得一个软件设计师要具备什么样的能力?

    软件设计师就业方向:可视化编程软件测试等.软件设计师涉及范围较广,但都是围绕软件设计开发的.软件技术是核心. 软件设计师职位:WEB应用和可视化编程程序员.大型数据库管理员.网络构建工程师. 软件设计 ...

  9. 一个非计算机专业的 软考中级 软件设计师考试之路

    今天是2018年7月6日 在半个小时之前我查看了2018 年上半年的软考成绩 通过成功软考中级软件设计师的考试 费用总结 备考资料 150 报名费 140 食宿费 200 总计 490 500 块钱+ ...

最新文章

  1. gitk、Git GUI 图形化工具中文显示乱码的解决方案
  2. etcd部署集群的三种方式
  3. python 后缀 .py .pyc .pyw .pyo .pyd的区别
  4. 为什么年事已高的我还在编程?
  5. mac下配置进行c和matlab混编
  6. superset docker 部署
  7. 微信小程序wx.getUserProfile
  8. 用c#开发微信 (4) 基于Senparc.Weixin框架的接收事件推送处理 (源码下载)
  9. 面试官教你写简历之『实习/应届生简历指南』(收藏)
  10. 350网店模板一键安装模版与淘宝传统装修的对比
  11. win10+ubuntu16.04双系统下完全删除并重装ubuntu16.04
  12. html分辨手机电脑,html自动识别手机或者pc端
  13. php mysql视频_PHP+MySQL视频教程
  14. pr基础操作与快捷键(基于pr cc 2017)
  15. ios silk to MP3
  16. centos7输入ifconfg找不到ens33/eth0网卡信息,且service network restart重启网络失败
  17. php 参数与数字比较,PHP8中字符串与数字的比较更智能
  18. Excel 2010 VBA 入门 139 创建工作簿级的自定义选项卡
  19. 语法糖(Syntax Sugar)Python
  20. layui 登录页面样式+短信接口

热门文章

  1. python文件夹自动备份,一个Python程序,可以帮助您自动备份文件
  2. 财富、健康双重守护,平安人寿盛世金越尊享终身寿险传递金融温度
  3. Android之NFC开发
  4. python中的pydoc
  5. vscode 搭配 babun
  6. Xshell6和Xftp提示“要继续使用此程序,您必须应用最新的更新或使用新版本
  7. Windows提示无法访问指定设备、路径或文件该怎么办?
  8. HTML中的乱码问题
  9. 解决生成文件中文乱码(阿里代码规范插件导出html乱码)
  10. 和ChatGPT唠嗑,年入百万,还不限制学历专业