1软件设计师复习1计算机系统知识1.1计算机系统硬件基本组成1、【运算器】①算数逻辑单元(ALU);②累加寄存器(AC);③数据缓冲寄存器(DR);④状态条件寄存器(PSW);2、【控制器】负责指令译码,发出控制信号;保证指令正确执行,处理异常事件;(1)指令寄存器IR:对用户完全透明;存放操作码和地址码;(2)程序计数器PC:跟踪指令地址;程序员可访问;(3)地址寄存器AR:存放CPU所访问的内存单元地址;(4)指令译码器ID:分析指令,指令译码,发出控制信号。3、【数据表示】反码,补码;采用补码可以简化计算机运算部件的设计;4、【校验码】海明码利用多组数位的就行来检错和纠错;1.2计算机体系结构5、【寻址方式】采用不同寻址方式的目的是扩大寻址空间并提高编程灵活性;6、【Cache】在程序执行过程中,Cache与主存的地址映像由专门的硬件自动完成;7、【主存容量】计算机存储器的最大容量取决于主存的地址位数;8、【存储器分类】存储器按寻址方式分类为随机存储器(RAM、硬盘),顺序存储器(SAM、磁带)、直接存储器(DAM,磁盘)。按内容访问的是相联存储器(比较关键字)。9、【虚拟存储器】通常由主存和辅存两级存储器构成;10、【内存与接口编址方式】(1)独立编址:内存地址与接口地址完全独立,缺点是用于接口的指令太少、功能繁琐;(2)统一编址:内存地址与接口地址共用地址空间,缺点是内存地址不连续;11、【统一编址】输入输出操作通过访存指令来完成。12、【直接存储器存取DMA】在主存和外设之间建立直接的数据通路,只需CPU在开始和结束时介入处理,而无需干预数据传送过程。在数据传送期间,CPU不能使用总线。13、【中断查询】中断向量可提供中断服务程序的入口地址;14、【总线结构】①内部总线;②系统总线:ISA总线、EISA总线、PC2总线;③外部总线:RS-232C、SCSI总线、USB、IEEE-1394、IEEE-488。15、【总线分类】数据总线、地址总线、控制总线;16、【总线复用】减少总线中信号线的数量;1.3计算机安全性可靠性17、【网络攻击手段】①拒绝服务攻击:占用系统资源;①ARP攻击:伪造网关ARP报文是的数据包无法发送到网关;18、【计算机病毒】宏病毒一般感染DOC文件;19、【安全级别】IE浏览器中安全级别最高的区域设置是受限站点;20、【身份验证】集成Windows身份验证具有最高安全级别;21、【特洛伊木马】通过内部发起与外部主机建立联系,由外部主机控制并盗取用户信息;22、【漏洞扫描】可获取某FTP服务器中是否存在科协目录的信息;23、【数据加密】防范网络监听的最有效方法;24、【信息摘要】用于验证通信对方的身份,防止假冒;25、【加密认证】用户A的数字签名由A的私钥加密,使用A的公钥验证;CA的私钥用于数字证书加密,CA的公钥用于数字证书验证。226、【公钥体系】公钥加密和认证,私钥解密和签名;27、【SSL协议】与TLS最接近的安全协议是SSL。HTTPS是SSL的一种典型应用。28、【计算机可靠性模型】计算串联并列系统的可靠性。2程序语言基础知识2.1程序语言概述1、【解释程序】源程序或解释程序要参与运行,不生成独立的目标程序。2、【编译程序】机器上只执行目标程序,不执行源程序或编译程序。必须进行词法、语法和语义分析,然后再生成目标代码;3、【数据类型】作用:①合理分配存储单元;②检查数据对象;③规定取值范围;4、【函数调用】①传值方式:实参的值传给形参;②传址方式:实参的地址传给形参;2.2语言处理程序基础5、【中间代码表达式】三元式、四元式、树;6、【后缀式(逆波兰式)】“ab-cd+*”等价于“(a-b)*(c+d)”;7、【正规表达式】或运算符“a|b”,重复运算赋“(a)*”。8、【标记语言】PHP不是标记语言,而是脚本语言;3操作系统知识3.1处理机管理1、【PV操作】信号量S为可用资源数。P(申请资源):S=S-1;V(释放资源):S=S+1;2、【死锁】并发进程资源竞争占用,避免死锁的条件;3、【三态模型】进程调用Send原语被设置成“等信箱”状态的原因是信箱已存满信件。3.2存储管理4、【分页存储管理】【分段存储管理】物理地址=基地址+段内地址(段内地址=段长);5、【虚拟存储管理】缺页中断;页面置换次数=缺页中断次数-3;3.3设备管理6、【磁盘调度】旋转调度算法:先移臂,在旋转;7、【SCAN算法(电梯调度算法)】优先考虑磁头的当前移动方向;3.4文件管理8、【相对路径】Java-prog\;9、【存储空间】文件管理系统在磁盘上建立位示图(Bitmap),若系统字长为32位,则4096号物理块在位示图中的第129个字节被描述(每个物理块用1个比特描述);若磁盘容量为200GB,物理块的大小为1MB,则位示图的大小为6400个字(描述6400*32=200GB/1MB个物理块)。3.5作业管理10、【文件索引】设文件索引节点中有8个地址项,每个地址项大小为4字节,其中5个地址项为直接地址索引,2个地址项是一级间接地址索引,1个地址项是二级间接地址索引,磁盘索引块和磁盘数据块大小均为1KB。若要访问文件的逻辑块号分别为5和18,则系统应该分别采用一级间接地址索引和二级间接地址索引;而且可表示的单个文件最大长度是66053KB;【要点解析】5个地址项可分别对应5个逻辑块,ID0~ID4;1个一级间接地址索引可对应1KB/4=256个逻辑块,因此2个一级间接地址索引可对应的逻辑块为ID5~ID511;1个二级间接地址索引可对应256*256=65536个逻辑块,因此对应的逻辑块为ID512~65535。最大文件长度为5+512+65536=66053。311、【请求页式存储管理方案】假定页面大小为4KB,逻辑地址为十六进制3C18H,则对应第4页(3C18H/4KB),页号为3。4系统开发和运行知识4.1软件工程基础知识1、【软件生存周期模型】①瀑布模型:需求明确,变动小,替换原有系统,开发大规模系统,具备开发经验;②V模型:基于瀑布模型,,强调项目需要经历若干个测试级别,设计活动与分析设计关联;③原型模型:捕获系统需求;④演化模型:迭代开发;⑤螺旋模型:项目庞大,风险控制;⑥喷泉模型:用户需求为驱动。⑦增量模型:快速构造可运行产品;2、【喷泉模型】①以对象为驱动,适合面向对象的开发方法;②克服瀑布模型不支持软件重用和多项开发活动集成的局限性;③开发活动需要重复多次,在迭代中完善系统;3、【成本估算】(1)专家判断法:易受主观性影响;(2)启发式法(COCOMO模型):参数难以确定;(3)机器学习法:难以描述训练数据的特征和相似性;4、【风险分析】(1)风险识别:建立风险条目检查表,确定对项目计划的威胁;(2)风险预测:评估概率(不确定性)、描述后果(损失);(3)风险评估:定义风险参照水准,估计风险影响的大小;(4)风险控制:建立处理风险的管理;5、【系统开发计划】系统开发计划文档有:任务分解表、PERT图、甘特图、预算分配表。6、【进度管理】①Gantt图:不能反映任务之间的依赖关系。②PERT图:不能反映任务之间的并行关系;关键路径是耗时最长的一条路径。松弛时间是任务最早开始时间与最晚开始时间之差。7、【软件配置管理】变更标识、变更控制、版本控制;8、【配置数据库】开发库、受控库、产品库;9、【过程改进】软件质量依赖于开发过程,个人因素占主导作用;需要制定过程改进目标;需要进行培训;需要反复进行;改进框架包括评估、计划、改进、监控;评估后把发现的问题转化为改进计划;10、【软件过程管理】(1)【软件过程能力成熟度模型(CMM)】①初始级:无序混乱;②可重复级:跟踪项目费用、进度和功能;③已定义级:标准软件过程;④已管理级:详细度量,定量的理解和控制;⑤优化级:新思想、新技术;(2)【统一过程(UP)】①起始阶段:生命周期目标;②精化阶段:需求分析,生命周期架构;③构建阶段:实现模型,初始运作功能,产生集成的软件产品;④移交阶段:产品发布;(3)【敏捷开发】属于小型发布最佳实践:①极限编程XP:沟通、简单、反馈、勇气;②水晶法Crystal:策略、约定、方法;③并列争球法Scrum:迭代、冲刺;④自适应软件开发ASD:人员协作、团队组织。11、【面向对象技术】①抽象是为了简化构件设计且无需改变其功能;②重构是重新审视需求和设计;12、【系统设计阶段】复审期间应该从容易修改、模块化和功能独立的目的出发,评价软件的结构和过程;413、【软件质量】(1)效率性:软件的时间和资源质量子特性;(2)功能性:将每个用户数据隔离;(3)可靠性:系统在给定时间间隔内无失效运行的概率。与软件产品的开发方式无关;(4)可维护性:可理解性、可测试性、可修改性;(5)易测试性:为确认修改软件所需努力有关的软件属性;14、【软件复杂性】McCabe度量性度量(环路复杂度)V(G)=m-n+2p,其中m为边数(两端必须是顶点),n为顶点数,p为相连通度;15、【软件复杂性度量】规模、难度、结构、智能度16、【软件评审】设计质量的评审内容不包括模块层次;17、【软件容错技术】结构冗余按照工作方法可分为静态、动态、混合冗余;18、【冗余技术】屏蔽软件错误的容错系统中,冗余附加技术的构成包括:①冗余备份程序的存储及调用;②实现错误检测和错误恢复的程序;③实现容错软件所需的固化程序;4.2系统分析基础知识19、【数据流图】①每条数据流的起点或终点必须是加工;③每个加工必须有输入数据流和输出数据流。4.3系统设计知识20、【系统设计步骤】(1)需求分析:确定软件的功能、性能、数据和界面要求;(2)概要设计:确定软件的规模划分及模块之间的调用关系;(3)详细设计:算法设计、数据结构设计、数据库物理设计;21、【逻辑内聚】模块通过参数执行逻辑上相似的几个功能。22、【耦合性】①无直接耦合;②数据耦合:模块之间有值传递;③标记耦合:传递数据结构地址;④控制耦合:传递控制变量;⑤公共耦合:公共数据环境;⑥内容耦合:直接使用其他模块的内部数据;23、【模块划分】一个模块的作用分为应该在其控制范围之内。24、【Jackson法】面向数据结构的设计方法;4.4系统实施知识25、【软件测试】一个成功的测试能够发现至今未发现的错误;26、【回归测试】确认在改正当前故障的同时没有引入新的故障;27、【系统测试】①单元测试:内部处理逻辑和数据结构;②集成测试:模块组合;③确认测试:功能和性能是否满足用户需求(有效性测试);④系统测试;28、【白盒测试】①逻辑覆盖:逻辑语句的覆盖;②循环覆盖;③基本路径测试:每条可执行语句都有执行;⑤语句覆盖(最弱的覆盖准则);29、【系统文档】高质量文档的特性:针对性、精确性、清晰性、完整性、灵活性;4.5系统运行和维护30、【软件维护】(1)正确性维护:修改开发阶段已经发生而测试阶段尚未发现的错误,防错性程序设计;(2)适应性维护:为适应信息技术和管理需求变化的修改;(3)完善性维护:为扩充功能和改善性能的修改,如修改算法提高效率、增加监控设施;(4)预防性维护:为适应未来的软硬件环境变化,主动增加预防性的新功能;55网络基础知识5.1网络概述1、【三网合一】电信网,广播网,互联网。(没有物联网)5.2网络互联硬件2、【集线器】工作在物理层,扩大传输距离,没有自动寻址的功能;3、【交换机】工作在数据链路层,基于MAC地址识别,能够在多个端口之间建立并发连接,但没有过滤广播通信的功能;5.3网络协议与标准4、【帧中继】比X.25的通信开销少,传输速度更快,但是比异步传输模式慢;与DDN相比更灵活,费用更低;帧长可变;5、【地址解析协议(ARP)】属于网络层协议,实现IP地址与MAC地址之间的变换;6、【传输控制协议(TCP)】属于传输层协议,通过3次握手建立连接;5.4Internet及应用7、【IP地址分类】网络地址、主机地址;子网划分(A类0;B类10;C类110);8、【DNS】刷新