软考学习

忙忙碌碌接近一个月,从用一周刷完书,再用一周刷完课本知识题,到每天200-300道题连续肝一周多,最后两天一天两套试题,慢慢对相关知识内容有了一定的理解。
考试前两天通知由于疫情原因本期取消,不知道是幸运还是悲哀,相反我可平静,有七十的把握可以通过,但是最后用两三周的时间突击还是太匆忙了,取消了也已经成为定局,没必要想这想那了。收拾心情准备下一场挑战。

前趋图

image

先理清楚前趋图中的逻辑关系:P1没有前驱,P2的前驱是P1,P3的前驱是P1、P2,P4的前驱是P2,P5的前驱是P3、P4。

前驱就是指只有在前驱进程完成后,该进程才能开始执行。由图可知,这里进程之间有6条有向弧,分别表示为P1→P2,P1→P3,P2→P3,P2→P4,P3→P5,P4→P5,

各个进程间的逻辑关系,那么我们需要设定6个信号量(S1、S2、S3、S4、S5、S6),利用PV操作来控制这些过程。

对于第一个空,P1执行完成之后,需要通知P2、P3可以开始,此处需要V(S1)、V(S2)操作分别唤醒P2、P3进程,已有V(S1),此处需要填写V(S2)。

对于第二个空,P2执行之前,需要检查P1进程是否完成,因此需要通过P(S1)操作来判定,P1是否完成。

对于第三个空,在P3执行之前,需要检查P1、P2进程是否完成,因此需要通过P(S2)、P(S3)操作来判定P1、P2是否完成,已有P(S2),此处填写P(S3)。

对于第四空,P3执行完成后,需要通知P5进程可以开始,此处需要通过V(S5)操作唤醒P5进程;

对于第五空,P4进程完成后,需要通知P5进程可以开始,此处需要通过V(S6)操作唤醒P5进程;

对于第六空,P5进程开始之前,需要检查P3、P4进程是否已完成,因此需要P(S5)、P(S6)操作来判断P3、P4是否完成。

面向对象基本概念

动态绑定支持多态

开发阶段

每个阶段以达到里程碑为结束的标准。

初启阶段:用户沟通,制定用户计划,里程碑是生命周期目标

精化阶段:创建与设计架构, 里程碑是生命周期架构

构建阶段:将设计实现,并进行测试,里程碑是初始运作功能

移交阶段:交由用户测试并迭代完善, 里程碑是产品发布

产生阶段:监测产品使用,并生成缺陷报告

面向对象分析与设计方法

image

本题考查采用统一建模语言(UML)进行面向对象建模的基本知识。 UML2.0中状态图主要用于描述对象、子系统、系统的生命周期。通过状态图可以了解到一个对象所能到达的所有状态以及对象收到的事件(消息、超时、错误、条件满足等)对对象状态的影响等。针对具有可标记的状态和复杂的行为的对象构建状态图。状态可能有嵌套的子状态,且子状态可以是一个状态图。 本题图示状态图中,ON是一个超状态,它有3个子状态:Idle、Rewinding和Playing, 这三个子状态之间在相关事件发生时状态之间进行迁移。

image
image

多态分为两种:通用的多态和特定的多态。两者的区别是前者对工作的类型不加限制,允许对不同类型的值执行相同的代码;后者只对有限数量的类型有效,而且对不同类型的值可能要执行不同的代码。

通用多态又分为参数多态(parametric)和包含多态(Inclusion Polymorphism);特定多态分为过载多态(overloading)和强制多态(coercion)。

强制多态(coercion):编译程序通过语义操作,把操作对象的类型强行加以变换,以符合函数或操作符的要求。程序设计语言中基本类型的大多数操作符,在发生不同类型的数据进行混合运算时,编译程序一般都会进行强制多态。程序员也可以显示地进行强制多态的操作(Casting)。举个例子,比如,int+double,编译系统一般会把int转换为double,然后执行double+double运算,这个int-》double的转换,就实现了强制多态,即可是隐式的,也可显式转换。

过载多态(overloading):同一个名(操作符﹑函数名)在不同的上下文中有不同的类型。程序设计语言中基本类型的大多数操作符都是过载多态的。通俗的讲法,就是c++中的函数重载。在此处中“overload”译为“过载”,其实就是所谓的“重载”,也许“overload”就应翻译为“过载,重载”吧,那“override”就只能是“覆盖”了。

包含多态(Inclusion Polymorphism):同样的操作可用于一个类型及其子类型。(注意是子类型,不是子类。)包含多态一般需要进行运行时的类型检查。

需要注意的地方:包含多态的操作存在着逆单调(Anti-mornotonic)。即一个类型t上的操作,当其定义域缩小成t的一个子类型时,其值域应不小于t.

参数多态(parametric),采用参数化模板,通过给出不同的类型参数,使得一个结构有多种类型。(类似模板类吧!)

image

改正性维护:修改错误。 适应性维护:外部环境发生变化(比如硬件改变),重点在外部环境变化。 预防性维护:为了将来有可能发生的事做的准备工作,重点在未来。 完善性维护:扩充功能和改善性能,重点在扩充和改善

image
image

海明码

海明码的检验位:

2^r >= n + r +1;

浮点数能表示的范围由阶码的位数决定,精确度有尾数的位数决定。

数据库设计

1 第一范式(1NF) 在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。 所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。 2 第二范式(2NF) 第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被惟一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。 第二范式(2NF)要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。简而言之,第二范式就是非主属性非部分依赖于主关键字。 3 第三范式(3NF) 满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。例如,存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息。那么员工信息表中列出部门编号后就不能再将部门名称、部门简介等与部门有关的信息再加入员工信息表中。如果不存在部门信息表,则根据第三范式(3NF)也应该构建它,否则就会有大量的数据冗余。简而言之,第三范式就是属性不依赖于其它非主属性。

计算机网络

image

ipconfig ( linux: ifconfig) (显示TCP/IP网络配置值,如:IP地址,MAC地址,网关地址等)。 tracert(linux: traceroute):用于确定 IP数据包访问目标所采取的路径,若网络不通,能定位到具体哪个结点不通。 netstat:用于显示网络连接、路由表和网络接口信息。 nslookup(查询DNS记录)。

进程管理

系统中有R类资源m个,现有n个进程互斥使用。若每个进程对R资源的最大需求为w,那么当m、n、w分别取下表中的值时,对于表中的①〜⑥种情况,( )可能会发生死锁。若将这些情况的m分别加上( ),则系统不会发生死锁。

image

答案:2、4、5 解析:

每个进程所需资源-1)进程+ 1 = 系统提供的最少资源数 死锁:m(w-1)+1 、

软件工程概述

image

体系结构设计(概要 详细)

设计方法(结构化 面相对象)

SQL语言

image

WITH CHECK OPTION 表示对 UODATE 、 UBSERT 、 DELETE操作时保证更新、插入或删除的行满足视图定义的谓词条件

网络协议

image

算法分析及常用算法

image
image
image

压缩前,若要表示5个不同的字符,用二进制编码至少需要3位二进制,即每位字符占据空间3bit,平均字符长度为340%+310%+320%+316%+314%=3。 压缩后,这5个字符的编码长度分别为1、3、3、3、3,平均编码长度为140%+310%+320%

image

系统的测试与维护

image
image

分析:

改正性维护:修改错误。 适应性维护:外部环境发生变化(比如硬件改变),重点在外部环境变化。 预防性维护:为了将来有可能发生的事做的准备工作,重点在未来。 完善性维护:扩充功能和改善性能,重点在扩充和改善

指令系统和计算机体系结构

image
image

指令中的地址码字段就是操作数本身 立即寻址为操作数直接在指令中。(指令中地址码字段直接给出操作数本身,而不是其访存地址,不需要访问任何地址) 直接寻址为操作数的地址在指令中。 间接寻址为存有操作数的地址的地址在指令中(就是地址内容还是一个地址)。

image

二叉树的顺序存储,就是用一组连续的存储单元存放二叉树中的结点;把二叉树的所有结点安排成为一个恰当的序列,反映出节点中的逻辑关系;用编号的方法从树根起,自上层至下层,每层自左至右地给所有结点编号。

系统设计

image

如果一个模块访问另一个模块时,彼此之间是通过数据参数(不是控制参数、公共数据结构或外部变量)来交换输入、输出信息的,则称这种耦合为数据耦合;如果一组模块通过数据结构本身传递,则称这种耦合为标记耦合;若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合;若一个模块直接访问另一个模块的内部数据、一个模块不通过正常入口转到另一个模块内部、两个模块有一部分程序代码重叠或者一个模块有多个入口,上述几个情形之一发生则说明两个模块之间就发生了内容耦合。

线性结构

采用顺序表和单链表存储长度为n的线性序列,根据序号查找元素,其时间复杂度分别为:O(1)、O(n)

多媒体计算机

数字语音的采样频率定义为8kHz,这是因为 语音信号定义的频率最高值为4kHz

1、传输媒体:用以传输数据的物理设备的介质,如电缆、光纤、无线电波等。 2、表示媒体:说明交换信息的类型,定义信息的特征,一般以编码的形式描述,如声音编码和文本编码。 3、感觉媒体:是人们的感觉器官所能感觉到的信息的自然种类,如音乐、语音、图形、图像、文字、气味等。 4、表现媒体:又叫为呈现媒体,是获取信息、再现信息的物理手段,一般包括计算机的输入输出设备,如显示器、打印机和音响等输出设备,键盘、鼠标等输入设备。

知识产权

image

合理使用:不需许可,不需支付报酬,需指明著作人 许可使用:要经过许可,要支付 强制许可使用:不需许可,要支付 法定许可:不需许可,要支付,需指明著作人

软件过程管理

统一过程UP

image

CMMI

image

C5(优化的):关键词优化改进。 C4(管理的):关键词软件过程,产品质量的度量 C3(定义的):关键词标准化,文档化。 C2(管理的):关键词管控。 C1(执行的):关键词输入产品转输出产品

结构化分析与设计

image

仓库风格是一种软件体系结构,其中包含一个数据仓库和若干个其他构件。数据仓库位于该体系结构的中心,其他构件访问该数据仓库并对其中的数据进行增、删、改等操作。数据库系统、超文本系统和黑板系统都属于仓库风格。 该体系结构的优点包括: ①对可更改性和可维护性的支持; ②可复用的知识源; ③支持容错性和健壮性

缺点包括: ①测试困难; ②不能保证有好的解决方案; ③难以建立好的控制策略; ④低效; ⑤昂贵的开发工作; ⑥缺少对并行机制的支持。

image

考点:结构化分析设计 外部实体一般为组织机构、人员、第三方系统,试题不是外部实体。

输入输出系统

image

设计模式

image
image

知识点

  1. 自底向上的集成测试策略的优点包括()。

  2. 不需要写桩程序

  3. 渐近记号Θ、Ο、o、Ω、ω关系 记号 含义 通俗理解 (1)Θ(西塔) 紧确界。 相当于”=” (2)O (大欧) 上界。 相当于”<=” (3)o(小欧) 非紧的上界。 相当于”<” (4)Ω(大欧米伽) 下界。 相当于”>=” (5)ω(小欧米伽) 非紧的下界。 相当于”>”

  4. 在面向对象分析与设计中,( 实体类 )是应用领域中的核心类,一般用于保存系统中的信息以及提供针对这些信息的相关处理行为;( 边界类 )是系统内对象和系统外参与者的联系媒介;( 控制类 )主要是协调上述两种类对象之间的交互。

  5. 结构化设计主要包括: ①体系结构设计:定义软件的主要结构元素及其关系。 ②数据设计:基于实体联系图确定软件涉及的文件系统的结构及数据库的表结构。 ③接口设计:描述用户界面,软件和其他硬件设备、其他软件系统及使用人员的外部接口,以及各种构件之间的内部接口。 ④过程设计:确定软件各个组成部分内的算法及内部数据结构,并选定某种过程的表达形式来描述各种算法。

  6. CIFc视频格式的图像分辨率为352*288

  7. 排他锁 写锁 共享锁 读锁

  8. mttf/(1+mttf)可靠性和可用性 1/(1+mttr)可维护性

  9. 位图与矢量图相比,位图 占用空间了较大,处理侧重于获取和复制,显示速度快

  10. 数据耦合:一个模块访问另一个模块时,彼此之间是通过简单数据参数 (不是控制参数、公共数据结构或外部变量) 来交换输入、输出信息的。 公共耦合:若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。 外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。 标记耦合 :一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一数据结构的子结构,而不是简单变量。

  11. 可靠性 MTTF平均无故障时间 子特性包括:成熟性、容错性、易恢复性 可用性 MTBF平均失效间隔时间 可维护性 MTTR平均修复时间 评价指标:可理解性、可测试性、可修改性

可靠性:MTTF/(1+MTTF) MTTF:平均无故障时间 可用性:MTBF/(1+MTBF) MTBF:平均失效间隔时间 可维护性:1/(1 + MTTR) MTTR:平均修复时间

  1. 深度优先:栈 广度优先:队列

  2. 装饰模式:提供额外的行为 外观模式:简化其接口

  3. 有向图 e 无向图 2e

  4. CPU首先从程序计数器(PC)获得需要执行的指令地址,从内存(或高速缓存)读取到的指令则暂存在指令寄存器(IR),然后进行分析和执行。

  5. 配置数据库一般包括开发库、受控库、产品库

  6. 适配器模式既是类结构模式,有时对象结构模式

  7. 软件产品必须能够在3秒内对用户 请求做出相应属于软件需求中的非功能需求 --- > 性能需求属于非功能需求

  8. 数据流图建模应遵循 自顶向下、从抽象到具体的原则

  9. 保密通信(公匙体系):公匙加密和认证,私匙解密和签名 数字签名(私匙体系):公匙解密和签名,私匙加密和认证。

  10. IPSec工作于网络层,为IP数据报文进行加密。 PP2P工作于数据链路层,用于链路加密。 HTTPS是HTTP与SSL的结合体,为传输层以上层次数据加密。 TLS安全传输层协议用于在两个通信应用程序之间提供保密性和数据完整性。

  11. 无效的ip地址 169.254.X.X(windows) 和 0.0.0.0(linux)

  12. TCP使用的流量控制协议时:可变大小的滑动窗口协议

  13. 路由器收到多个有路由协议转发的,关于某个目标的多个路由,则比较各个路由的管理距离,并采用管理距离最小的路由源来源提供的路由信息

  14. 中继器 物理层 路由器 网络层 交换机,网桥 数据链路层

  15. 黑盒:等价类划分、边界值分析、错误猜测、因果图报告 白盒:逻辑覆盖、基本路径测试

  16. 管道过滤器体系结构是一种传统的体系结构风格,该体系结构由一组称为过滤器的构件以及连接构件的管道组成,管道将数据从一个过滤器传送到另一个过滤器。 该风格具有以下优点: ①软件构件具有良好的隐蔽性和高内聚、低耦合的特点; ②允许设计者将整个系统的输入输出行为看成是多个过滤器的行为的简单合成; ③支持软件复用; ④系统维护和增强系统性能简单; ⑤允许对一些如吞吐量、死锁等属性的分析; ⑥支持并行执行。

  17. SMTP传输的邮件报文需采用ASXII进行编码

  18. ①时间内聚:把需要同时执行的动作组合在一起形成的模块。 ②过程内聚:指一个模块完成多个任务,这些任务必须按指定的过程执行。 ③信息内聚:指模块内的所有处理元素都在同一个数据结构上操作,或者各处理使用相同的输入数据或产生相同的输出数据。 ④功能内聚:指模块内的所有元素共同作用完成一个功能,缺一不可。

  19. 如果要使得两个IPv6结点可以通过现有的IPv4网络进行通信,则应该使用隧道技术,如果要使得纯IPv6结点可以与纯IPv4结点进行通信,则需要使用翻译技术。

  20. 概要设计包括系统构架、模块划分、系统接口、数据设计

  21. OLAP:在线分析程序 OLTP:在线事务程序,主要用来写入数据 ETL:数据转存

  22. 中国自主研发的3G通信标准时(TD-SCDMA)

  23. smtp邮件传输协议:默认的端口号为25 http超文本传输协议,80 pop3邮局:110 FTP:20数传 21 控制

  24. 对称加密算法:DES、3DES、AES 非对称加密算法:RSA、ECC 摘要算法:SHA、MD5

  25. 软件配置管理主要包括:版本控制、配置支持、变更支持、过程支持、团队支持、变化报告和审计支持(注意:不包括质量支持)

  26. 总线复用方式可以减少总线中信号线的数量

  27. 极限编程由价值观、原则、实践和行为四个部分组成,其中价值观包括沟通、简单性、 反馈和勇气

  28. 采用补码表示数据的时候,可以将符号位和其他位同意处理,减法也可以按加法来处理,从而简化运算部件的设计

  29. PEERT 可以描述各任务间的依赖关系 GANTT 可以描述个任务间的并行关系

  30. 在cpu内外常需要设置多级高速缓存cache,主要目的是   提高cpu访问主存数据或指定的效率

  31. 常见的中间代码有后缀式、三元式、四元式、树

  32. 风险的优先级通常是根据风险暴露设定的

  33. 定义风险参照水准是(风险评估)活动常用的技术

  34. 共同封闭原则:包中的所有类对于同一种性质的变化应该是共同封闭的。一个变化若对一个封闭的包产生影响,则将对该包中的所有类产生影响,而对于其他包则不造成任何影响。面向对象设计的原则之一。 共同重用原则:面向对象编程术语,指一个包中的所有类应该是共同重用的。如果重用了包中的一个类,那么也就相当于重用了包中的所有类。 开放-封闭原则:对扩展开放,对修改封闭。 接口隔离原则:使用多个专门的接口比使用单一的总接口要好。

  35. 虚拟储存体系由主存-辅存两级存储器构成的

  36. 需求分析 ---> 确定系统边界 逻辑设计  --> 关系规范化

  37. 不同类的对象通过消息进行相互通信

  38. 应用级网关内部网和外部网的隔离点,它可对应用层的通信数据流进行监控和过滤

  39. 建立连接可靠通信是在传输层

  40. 在计算机系统中采用总线结构,便于实现系统的积木化构造,同时可以减少信息传输线的数量

  41. DHCP协议的功能是:自动分配IP地址,FTP协议的作用是文件传输,使用的传输层协议位TCP。

  42. 采用UML进行面向对象开发时,部署图通常在 (实施)阶段使用。

  43. 在微机系统中,BIOS(基本输入输出系统)保存在(主板的ROM)中

  44. 在移臂调度算法中, (先来先服务和最短寻找时间优先 ) 算法可能会随时改变移动臂的运动方向

  45. 中间代码生成和代码优化并不是每个编译器都必须的

  46. 面向对象分析的第一步 :确定问题域

  47. 面向对象过程中,组合关系表示: 整体与部分之间的一种关系

  48. 软件开发过程中,需求分析阶段模型包括 数据流图、实体练习图、状态迁移图和数据字典

  49. 在发送电子邮件附加多媒体数据时需采用 MIME 协议来支持邮件传输

  50. 霍夫曼编码方案是基于 贪心 策略的

  51. 建立连接进行可靠通信在TCP/IP网络中,应该在传输 层完成,在OSI/RM同样在传输层完成

  52. 装饰模式主要的目的是在无法生成子类的情况下给一个对象动态地增加新的职责;
    享元设计模式是共享大量细粒度的对象;适配器设计模式则是将已有的接口转换为系统希望的接口形式。

你可能感兴趣的:(软考学习)