100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 软件设计师通关宝典(有这一个就够了!)

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

时间:2022-11-25 02:04:02

相关推荐

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

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

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

模块化记忆::::::

(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)------>表示一个作用于某对象结构中的各元素的操作;

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。