
软件设计师备考知识点
确定性的加密算法,对于给定的明文和密钥,加密的结果总是相同的
笛卡尔积:S1S2,产生的结果包括S1和S2的所有属性列,并且S1中每条记录依次和S2中所有记录
组合成一条记录,最终属性列为S1+S2属性列,记录数为S1S2记录数。
◆投影:实际是按条件选择某关系模式中的某列,列也可以用数字表示。列
◆选择:实际是按条件选择某关系模式中的某条记录。行
◆自然连接的结果显示全部的属性列,但是相同属性列只显示一次,显示两个关系模式中属性相同且值相同的记录。
关系代数表达式查询问题,相同结果下,自然连接的效率优于笛卡尔积。
统一过程模型将软件开发生命周期划分为四个阶段:
起始阶段、精化阶段、构建阶段和移交阶段。
移交阶段:关注于软件提交方面的工作,产生软件增量
精化阶段:在理解了最初的领域范围之后进行需求分析和架构演进
构件阶段:关注系统的构建,产生实现模型
起始阶段:专注于项目的初创活动
数据字典
包括的内容有数据项,数据结构,数据流,数据存储,外部实体,处理逻辑
MIPS
每秒百万级指令执行数量(Million Instructions Per Second,MIPS)
=指令条数/(执行 时间×10^6)
=主频/CPI=2.8G/4=700MIPS。
如果主机设置为自动获得IP地址,而又没有可用的DHCP服务器,那么主机会自动生成一个169.254.X.X的IP地址,以与其他主机正常通信
DNS服务配置中的
A记录用于解析主机到IPV4地址;
MX记录指明邮件交换服务器的地址;
AAAA记录将主机解析到IPV6地址。
著作权自作品创作完成之日起产生
Booch
Booch认为系统开发是一个螺旋上升的过程,每个周期包括4个步骤,分别是标识类和对象、确定类和对象的含义、标识关系、说明每个类的接口和实现。
Booch的开发模型包括静态模型和动态模型,静态模型分为逻辑模型(类图、对象图)和物理模型(模块图、进程图),用来描述系统的构成和结构。动态模型包括状态图和顺序图,用来描述对象的状态变化和交互过程。
虚拟存储器只能基于非连续分配技术
聚合是关联关系的一种特例,体现的是整体与部分、拥有的关系,即has-a的关系,此时整体与部分之间是可分离的,它们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。
组合也是关联关系的一种特例,体现的是一种con-tains-a的关系,这种关系比聚合更强,也称为强聚合;它同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束。同生共死
类图用于说明系统的静态设计视图;构件图用于说明系统的静态实现视图;用例图用于说明系统的用例视图;部署图用于说明系统的静态实施视图(即部署视图)。
除了根结点之外,其他每个结点都是某个结点的孩子结点,因此树中所有结点的度数加1等于结点数。
完全二叉树的最小高度
h=(log2n)向下取整+1
可靠性计算
MTTF:可运作平均时间:mean time to failures
MTBF:平均故障时间间隔(平均无故障时间):mean time between failure
MTTR:平均修复时间:mean time to restoration
可靠性公式:MTTF/(1+MTTF)
可用性公式:MTBF/(1+MTBF)
可维护性公式:1/(1+MTTR)
算法设计思想对比分析
分治法
使用的具体算法:递归
动态规划
回溯法 
统一过程模型(UP)
用例和风险驱动,以架构为中心,迭代并且增量的开发过程。“袖珍项目”
初始阶段、精化阶段、构建阶段、移交阶段
DFD数据流建模
①加工处理和数据流的正确使用,
如一个加工必须既有输入又有输出;数据流只能和加工相关,即从加工流向加工、数据源流向加工或加工流向数据源。
②每个数据流和数据存储都要在数据字典中有定义,数据字典将包括各层数据流图中数据元素的定义。
③数据流图中最底层的加工处理必须有加工处理说明。
④父图和子图必须平衡,即父图中某加工的输入输出(数据流)和分解这个加工的子图的输入输出数据流必须完全一致,这种一致性不一定要求数据流的名称和个数一一对应,但它们在数据字典中的定义必须一致,数据流或数据项既不能多也不能少。
⑤加工处理说明和数据流图中加工处理涉及的元素保持一致。例如,在加⊥处理说明中,输入数据流必须说明其如何使用,输出数据流说明如何产生或选取,数据存储说明如何选取、使用或修改。
⑥一幅图中的图元个数控制在7+2以内。
排序算法
【愚公系列】软考中级-软件设计师 022-数据结构(排序算法)_软件设计师考试常见的排序算法-CSDN博客
*稳定算法口诀:“冒插归基稳如山” 。*
折半查找-成功和失败查找的平均比较次数计算
根据给出的数组,画出二叉树,然后统计计算
设计模式
外侨组员戴配饰
类和对象结构型区分技巧
看依赖关系:
- 类结构型:代码中存在明显的继承关系(如
extends
关键字)。 - 对象结构型:代码中通过组合方式持有其他对象的引用。
- 类结构型:代码中存在明显的继承关系(如
看扩展性:
- 类结构型:扩展需要创建子类,编译期确定。
- 对象结构型:扩展通过组合新对象实现,运行期动态调整。
看模式意图:
- 类结构型:主要用于复用代码或实现算法骨架。
- 对象结构型:主要用于灵活组合行为或解耦抽象与实现。
- 类结构型模式:通过继承实现,依赖编译期静态关系,如工厂方法、模板方法。
- 对象结构型模式:通过组合实现,依赖运行期动态关系,如装饰器、代理、桥接。
存在传递依赖,则不是3NF
Armstrong公理
结构化输出
人机交互“黄金三原则”
子网与子网掩码
Centronic总线是用于计算机与打印机等外设相连接的,不能用于多机互联
若某计算机系统是由500个元器件构存构成的串联系统,且每个元器件的失效率均为10-7H,在不考虑其他因素对可靠性的影响时,该计算机系统的平均故障间隔时间为( )小时。
该计算机系统的总失效率为各元器件的失效率的和,即为50010-7/h=510-5/h,因为失效率的倒数即为平均故障间隔时间,从而求出平均故障间隔时间(MTBF)为2*104h。
欢乐时光及熊猫烧香均为蠕虫病毒,CIH则为系统病毒,这3者均以感染台式机或服务器为主,且产生较早;X卧底则是新近产生的、通过木马形式传播、目标为智能手机的病毒。
题目中提及的病毒
病毒名称
类型
作用与特点
目标设备
传播时代
欢乐时光
蠕虫病毒
通过邮件、文件共享传播,感染系统文件,消耗网络资源,可能导致系统运行缓慢或瘫痪。
台式机、服务器
早期(2000 年代初)
熊猫烧香
蠕虫病毒
感染.exe 可执行文件,修改图标为熊猫烧香图案,破坏系统备份文件,导致软件无法运行,传播性极强。
台式机、服务器
早期(2006 年)
CIH
系统病毒(Win32 病毒)
攻击 Windows 系统核心,破坏主板 BIOS,导致硬件损坏,是少数直接攻击硬件的病毒之一。
台式机
早期(1998 年)
X 卧底
木马病毒
通过伪装软件或钓鱼链接传播,窃取智能手机用户的通信记录、位置信息、账号密码等隐私数据。
智能手机
较新(近年变种)
二、其他常见病毒类型及典型示例
1. 蠕虫病毒(Worm)
- 作用:无需宿主文件,通过网络漏洞自主传播,消耗带宽和系统资源。
- 典型示例:
- 震荡波(Sasser):利用 Windows 系统漏洞传播,导致系统崩溃、网络瘫痪。
- 尼姆达(Nimda):通过邮件、网页脚本、文件共享多重渠道传播,感染速度极快。
2. 木马病毒(Trojan)
- 作用:伪装成正常软件,潜伏在系统中,窃取用户隐私或远程控制设备。
- 典型示例:
- 灰鸽子:远程监控用户屏幕、键盘输入,盗取账号信息。
- 银行木马(如 Zeus):针对网上银行用户,窃取登录凭证和交易信息。
3. 系统病毒(System Virus)
- 作用:攻击操作系统核心组件,破坏系统稳定性或窃取权限。
- 典型示例:
- Rootkit:隐藏自身及恶意进程,获取系统最高权限(Root/Admin)。
- 引导区病毒(如大麻病毒):感染磁盘引导扇区,导致系统无法启动。
4. 勒索病毒(Ransomware)
- 作用:加密用户文件,勒索赎金解锁。
- 典型示例:
- WannaCry:利用永恒之蓝漏洞传播,加密文件后显示勒索界面,影响全球大量设备。
- Petya/NotPetya:伪装成勒索病毒,实际破坏文件系统,导致数据永久丢失。
5. 间谍软件(Spyware)
- 作用:监控用户行为,收集隐私数据(如浏览记录、击键记录)。
- 典型示例:
- Cookie 窃听器:窃取浏览器 Cookie,用于账号盗用。
- 键盘记录器(Keylogger):记录用户键盘输入,获取密码等敏感信息。
6. 脚本病毒(Script Virus)
- 作用:通过网页脚本(如 JavaScript、VBScript)传播,篡改网页或执行恶意操作。
- 典型示例:
- 爱虫病毒(ILOVEYOU):通过邮件传播,伪装成情书附件,感染后删除用户文件。
三、病毒的共同特征
- 传染性:通过网络、存储设备、文件等渠道扩散。
- 潜伏性:隐蔽在系统中,等待触发条件(如定时、特定操作)。
- 破坏性:占用资源、破坏数据、窃取隐私或攻击硬件。
- 针对性:早期病毒多攻击 PC,现代病毒更侧重移动端(如 X 卧底)或特定行业(如工控设备)。
级别2重复级(跟踪);级别3确定级(标准);级别4管理级(质量);级别5优化级(改进)
用公钥加密,私钥解密,可实现保密通信;用私钥加密,公钥解密,可实现数字签名。
OSI参考模型表示层的功能有数据解密与加密、压缩、格式转换等
PCI总线是PC机常用总线,SCSI是软硬磁盘、光盘、扫描仪常用总线。他们都是并行总线。