软件设计师教程学习笔记(二)
王勇软件设计师笔记
![王勇软件设计师笔记](https://img.taocdn.com/s3/m/b7c0c48c541810a6f524ccbff121dd36a22dc464.png)
王勇软件设计师笔记说起软件设计这事儿,真的是个“谁做谁知道”的活。
你看,表面上看起来,这个工作好像就是写几行代码,搞个系统出来,哗啦啦一通操作,结果“哇,完美!”但实际上呢,哎哟喂,那可是大有学问的。
这些日子,我就一直在想着怎么才能把这个“软件设计”讲得轻松一点,毕竟光说技术术语,咱也不是每个人都能听懂是不是?记得刚开始做软件设计的时候,脑袋里就只有一个字:“乱”。
你说你学了好多年计算机,觉得自己好像挺懂的,可一旦真正上手,哇塞,那感觉就像是拿着一把剑站在迷宫的门口,根本不知从哪儿开始打破这层重重的迷雾。
别看软件设计听起来很牛逼,但它的奥秘可大着呢。
你写个代码,也许明天一小改,昨天做的功能就崩了,整个人都慌了。
这时候你就会发现,软件设计并不是一个写代码那么简单的事儿,它更像是在建造一座大厦,每一块砖、每一根钢筋都得仔细安排,才能让它稳稳地屹立在那里,不然一不小心就全垮了。
有时候呢,你做的系统或许没有直接崩溃,但各种bug就像是你背后的“隐形杀手”,不知道什么时候就会冒出来,给你来个措手不及。
说到bug,这还真是让人又爱又恨的东西。
你可能一开始以为自己已经完美解决了问题,结果在客户那里试了一下,又是各种奇怪的错误信息,或者功能跑得特别慢,那一刻,心里的那个“小火苗”简直要爆炸了!而且最可怕的是什么呢?这些问题往往出现在你最不想遇到的时候,像是你已经加班到凌晨3点,眼皮都要闭不上,突然发现某个模块完全不对劲,那种心情简直是要崩溃。
说到这里,有人可能就会问:“那软件设计到底怎么才能做得好呢?”哈哈,说白了,软件设计就是一个细节堆积的过程,讲求的是一个“精益求精”。
你得提前规划好架构,不要等到事后再去补救。
比如说,你在设计的时候,得留意到每个小模块的互动,哪怕是一个小小的细节,放错位置了,都会让后面一堆代码变得四不像。
那就得细心啊,心态也要好。
千万不能心浮气躁,往往大部分问题,都是因为你没耐心,草草了事。
软件设计师笔记
![软件设计师笔记](https://img.taocdn.com/s3/m/2b6d7eb5dd36a32d72758162.png)
1目录2软件设计师考点整理:数据的表示 (2)2.1考点1.1、进制的转换 (2)2.2考点1.2、原码/反码/补码/移码表示 (3)2.3考点1.3、浮点数的表示 (4)3软件设计师考点整理:运算器与控制器 (5)4软件设计师考点整理:Flynn分类法 (6)5软件设计师考点整理:CISC与RISC (7)6软件设计师考点整理:流水线技术 (8)7软件设计师考点整理:存储系统 (9)8软件设计师考点整理:总线系统 (11)9软件设计师考点整理:可靠性 (12)10软件设计师考点整理:校验码 (13)11软件设计师考点整理:死锁及银行家算法 (16)12软件设计师考点整理:段页式存储 (17)13软件设计师考点整理:页面置换算法 (17)14软件设计师考点整理:绝对路径与相对路径 (18)15软件设计师考点整理:索引文件 (19)16软件设计师考点整理:位示图 (20)17软件设计师考点整理:磁盘管理 (21)18软件设计师考点整理:I/O设备管理 (22)19软件设计师考点整理:虚设备与SPOOLING技术 (24)20软件设计师考点整理:数据库模式 (25)21软件设计师考点整理:ER模型 (26)22软件设计师考点整理:关系代数 (28)23软件设计师考点整理:TCP/IP协议族 (30)24软件设计师考点整理:IP地址与子网划分 (32)25软件设计师考点整理:网络规划与设计 (33)26软件设计师考点整理:3G/4G标准 (34)27软件设计师考点整理:规范化理论 (35)28软件设计师考点整理:SQL语言 (37)29软件设计师考点整理:并发控制 (40)30软件设计师考点整理:数据库完整性约束 (42)31软件设计师考点整理:开放系统互连参考模型OSI (43)32软件设计师考点整理:HTML语言 (43)33软件设计师考点整理:对称加密与非对称加密 (45)34软件设计师考点整理:信息摘要与数字签名 (46)35软件设计师考点整理:数字证书 (47)36软件设计师考点整理:网络安全协议 (48)37软件设计师考点整理:防火墙技术与网络攻击 (49)38软件设计师考点整理:计算机病毒与木马 (51)39软件设计师考点整理:开发模型 (53)40软件设计师考点整理:软件设计 (56)41软件设计师考点整理:软件测试 (59)42软件设计师考点整理:McCabe复杂度计算 (61)43软件设计师考点整理:软件维护类型 (62)44软件设计师考点整理:软件质量保证 (63)45软件设计师考点整理:软件过程改进 (64)46软件设计师考点整理:Gantt图与Pert图 (65)47软件设计师考点整理:风险管理 (67)48软件设计师考点整理:面向对象的概念 (68)49软件设计师考点整理:UML (70)50软件设计师考点整理:设计模式 (78)51软件设计师考点整理:数组与矩阵 (81)52软件设计师考点整理:线性表 (82)53软件设计师考点整理:广义表 (83)54软件设计师考点整理:树与二叉树 (85)55软件设计师考点整理:图 (88)56软件设计师考点整理:排序与查找 (91)57软件设计师考点整理:时间复杂度与空间复杂度 (99)58软件设计师考点整理:算法基础及常见算法 (101)59软件设计师考点整理:编译与解释 (103)60软件设计师考点整理:文法 (106)61软件设计师考点整理:正规式 (108)62软件设计师考点整理:有限自动机 (109)63软件设计师考点整理:后缀表达式 (111)64软件设计师考点整理:传值与传址 (112)65软件设计师考点整理:多种程序语言特点 (113)66软件设计师考点整理:保护期限 (115)67软件设计师考点整理:知识产权人确定 (116)68软件设计师考点整理:侵权判断 (117)69软件设计师考点整理:标准的分类 (118)70软件设计师考点整理:标准代号的识别 (119)71软件设计师考点整理:多媒体技术基本概念 (120)72软件设计师考点整理:多媒体相关计算问题 (123)73软件设计师考点整理:多媒体种类(显示媒体) (124)74软件设计师考点整理:常见多媒体标准数据压缩技术 (125)软件设计师考点整理:数据的表示考点1.1、进制的转换【考法分析】本考点的基本考法是与内存地址计算、IP地址计算结合考查。
软件工程笔记2
![软件工程笔记2](https://img.taocdn.com/s3/m/224adc29a5e9856a56126086.png)
生命周期模型之所以是就是因为是简洁地描述软件过程,之所以是就是因为是规定了把生命周期划分成哪些阶段及各个阶段执行顺序。
瀑布模型之所以是就是因为是历史悠久、之所以是就是因为是广为人知,它的优势在于它是规范的、文档驱动的方法;这种模型的问题是,最终开发出的软件产品可能并不是用户真正需要的。
快速原型之所以是就是因为是模型正是为了克服瀑布模型的缺点而提出来的。
它通过快速构建起一个可在计算机上运行的原型系统,让用户试用原型并收集用户反馈意见的办法,获取用户的真实需求。
增量模型具有可在软件开发的早期阶段使投资获得明显回报之所以是就是因为是和较易维护的优点,但是,要求软件具有开放的结构是之所以是就是因为是使用这种模型时固有的困难。
风险驱动的螺旋模型适用于内部开发的之所以是就是因为是大型软之所以是就是因为是件项目,但是,之所以是就是因为是只有在开发人员具有风险分析和排除风险的经验及专门之所以是就是因为是知识时,使用这种模型才会获得之所以是就是因为是成功。
快速原型模型:之所以是就是因为是适合小型软件;
螺旋模型:之所以是就是因为是适合内部开发的大规模软件项目。
软件设计师备考笔记
![软件设计师备考笔记](https://img.taocdn.com/s3/m/bf0e462dee06eff9aef807e7.png)
资料更新时间:2017年5月一、绪论略二、计算机系统数据表示与校验码1.数据表示:原码、反码、补码、移码。
符号位0为正数,1为负数。
两正数/负数相加,符号位不对时即出现“溢出”2.移码:补码符号位取反。
如果机器字长为N,偏移量为2N-1,则[X]移=2N-1+[X]补(X为整数)。
[X]移=1+X(X为小数)3.IEEE754:符号位(1位,0正1负)+阶码(8位,+127)+ 尾数(23位,小数点在最高位之后,随后省略最高位)。
4.浮点数加减:0操作数检查,对阶操作(小阶变大阶),尾数加减(阶码用双符号位,尾数用单符号位),结果规格化,舍入处理(判定溢出)。
5.常用校验码:奇偶校验码(检错,1位纠错)、海明码(检错,1位纠错)、循环冗余校验码(CRC)。
校验码越长越精确6.海明码:奇偶校验的一种扩充,采用多位校验码的方式,不等式关系:2k - 1≥ m + k,k个校验码,总共m + k个字符计算机系统硬件组成1.CPU的功能:程序控制、操作控制、时间控制、数据处理。
2.计算机系统组成示意图:3.寄存器:指令寄存器IR用来存放当前正在执行的指令,对用户是完全透明的。
状态寄存器用来存放计算结果的标志信息,如进位标志、溢出标志等。
通用寄存器可用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果。
4.计算机体系结构分类:单处理系统,并行处理与多处理系统,分布式处理系统。
5.RISC中的流水线技术:超流水线技术,超标量技术,超长指令字技术。
6.并发性的解决:阵列处理机,并行处理机,多处理机。
存储系统1.主存与cache地址映射方式:·全相联映射:将主存一个块的地址与内容一起存入cache中,拷贝灵活,但是比较器电路难设计实现;【冲突小】·组相联映射:主存块放到哪个组是固定的,但是放到哪一行是灵活的,广泛采用折中办法;·直接映射:一个主存块只能拷贝到cache的特定行上去,硬件简单、成本低,但易冲突、效率降低;【冲突高】2.虚拟存储器:·页式:页表硬件小,查表速度快但不利于存储保护;·段式:界限分明,便于程序的模块化设计,易于编译修改和保护,但主存利用率低,产生大量碎片,查表速度慢;·段页式:折中办法,广泛采用,但地址变换速度比较慢。
软件设计师考试复习笔记下午部分
![软件设计师考试复习笔记下午部分](https://img.taocdn.com/s3/m/b4f3e1c748649b6648d7c1c708a1284ac85005dc.png)
软件设计师考试复习笔记(一)下午部分一.数据流图设计1. 逻辑数据流图与物理数据流图的区别:逻辑数据流图说明应该具有那些加工而不关心这些加工是如何实现的;物理数据流图则要说明这些加工是如何实现的。
2.补充和完善数据流:根据数据流平衡原则,即父图和子图的输入和输出流一致每个加工至少有一个输入输出流3.找出多余的文件:如果一个文件仅仅作用于一个加工,即和该文件有关的输入和输出只涉及到一个加工,那么该文件可以作为局部文件出现在该加工的子图中,在父图中可以省略。
如果没有细化图(子图),则不能省略。
二.数据库设计1.SQL语句exists (sql 返回结果集为真)not exists (sql 不返回结果集为真)如下:表AID NAME1 A12 A23 A3表BID AID NAME1 1 B12 2 B23 2 B3表A和表B是1对多的关系 A.ID => B.AIDSELECT ID,NAME FROM A WHERE EXIST (SELECT * FROM B WHERE A.ID=B.AID) 执行结果为1 A12 A2原因可以按照如下分析SELECT ID,NAME FROM A WHERE EXISTS (SELECT * FROM B WHERE B.AID=1) --->SELECT * FROM B WHERE B.AID=1有值返回真所以有数据SELECT ID,NAME FROM A WHERE EXISTS (SELECT * FROM B WHERE B.AID=2) --->SELECT * FROM B WHERE B.AID=2有值返回真所以有数据SELECT ID,NAME FROM A WHERE EXISTS (SELECT * FROM B WHERE B.AID=3) --->SELECT * FROM B WHERE B.AID=3无值返回真所以没有数据NOT EXISTS 就是反过来SELECT ID,NAME FROM A WHERE NOT EXIST (SELECT * FROM B WHERE A.ID=B.AID)执行结果为3 A3===========================================================================EXISTS = IN,意思相同不过语法上有点点区别,好像使用IN效率要差点,应该是不会执行索引的原因SELECT ID,NAME FROM A WHERE ID IN (SELECT AID FROM B)NOT EXISTS = NOT IN ,意思相同不过语法上有点点区别SELECT ID,NAME FROM A WHERE ID NOT IN (SELECT AID FROM B)下面是普通的用法:SQL中IN,NOT IN,EXISTS,NOT EXISTS的用法和差别:IN:确定给定的值是否与子查询或列表中的值相匹配。
软件设计师个人笔记PDF
![软件设计师个人笔记PDF](https://img.taocdn.com/s3/m/389220d184254b35eefd3499.png)
软件设计师笔记(中级)计算机系统知识冯式结构计算机:存储器、运算器、控制器、输入设备和输出设备。
算术运算和逻辑运算的等价关系,一般来讲,左移相当于乘2,右移相当于除2,但注意符号位。
被操作数的最高位移入“进位”位,其余所有位接收其相邻位低位值,最低位移入0的操作是逻辑左移指令。
被操作数的最高保持不变,其余所有位接收其相邻高位值,最低位移到“进位”位中的操作是除2运算指令。
在程序执行过程中改变程序计数器顺序读出指令的指令属于转移指令。
所谓寻址就是寻找操作数的地址,操作数所处的位置,可以决定指令的寻址方式。
操作数包含在指令中,寻址方式为立即寻址;操作数在寄存器中,寻址方式为寄存器寻址;操作数的地址在寄存器中,寻址方式为寄存器间接寻址。
相对寻址方式的实际地址是程序计数器的内容加上指令中形式地址值,得到需要的地址。
特权指令是计算机的操作系统的基本指令,是由系统执行的,主要用于系统资源的分配和管理。
中央处理器(CPU,Centrol Processing Unit)由寄存器组、算术逻辑单元ALU 和控制单元CU这三部分组成。
CPU的功能包括:(1)读取指令 (2)解释指令 (3)读取数据 (4)处理数据 (5)保存数据.计算机中的存储系统是用来保存数据和程序的,对存储器的最基本的要求就是存储容量要大、存取速度快、成本价格低。
主存储器是指能由CPU直接编程访问的存储器,它通常位于所谓主机的范畴,常称为内存。
如果内存的地址为n位,则容量为2的n次方。
辅助存储器的种类很多,主要有随机存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、闪速存储器(Flash Memory)。
信息的存取方式影响到存储信息的组织,常用的有四种:(1)顺序存取,存储器的数据是以记录的形式进行组织,对数据的访问必须按特定的线性顺序进行。
磁带存储器就是顺序存取。
软件设计师学习笔记
![软件设计师学习笔记](https://img.taocdn.com/s3/m/7c749213854769eae009581b6bd97f192279bf96.png)
计算机系统组成运算器:算术/逻辑运算单元ALU、累加器ACC、寄存器组、多路转换器、数据总线组成;控制器:计数器PC、时序产生器、微操作信号发生器,指令寄存器、指令译码器;CPU的功能:程序控制、操作控制、时间控制、数据处理最根本的;相联存储器是按内容访问的,用于高速缓冲存储器、在虚拟存储器中用来作段表页表或快表存储器、在数据库和知识库中;CACHE高速缓存的地址映像方法:直接地址映像主存分区,区分块、全相联映像主存分块、组相联映像主存分区,区分块、块成组,CACHE分块成组;替换算法:随机、先进先出、近期最少用、优化替换算法;性能分析:H为CACHE命中率,tc为Cache存取时间、tm为主存访问时间,Cache等效访问时间ta =Htc+1-Htm提高了tm/ta倍;虚拟存储器由主存、辅存、存储管理单元和操作系统软件组成;RISC精简指令集:指令种类少、长度固定、寻址方式少、最少的访内指令、CPU内有大量寄存器、适合流水线操作;内存与接口统一编址:都在一个公共的地址空间里,独立使用各自的地址空间;优点是内存指令可用于接口,缺点内存地址不连续,读程序要根据参数判断访内还是访接口;廉价冗余磁盘阵列RAID:0级不具备容错能力但提高了传输率N倍、1级镜像容错技术、2级汉明码作错误检测、3级只用一个检测盘、4级是独立地对组内各磁盘进行读写的阵列,用一个检测盘、5级无专门检测盘;中断方式处理方法:多中断信号线法、中断软件查询法、菊花链法硬件、总线仲裁法、中断向量表法保存各中断源的中断服务程序的入口地址;直接存储器存取DMA:内存与IO设备直接成块传送,无需CPU干涉;根据占据总线方法不同分为CP U停止法、总线周期分时法、总线周期挪用法;输入输出处理机用于大型机:数据传送方式有字节多路方式、选择传送方式、数组多路方式;指令流水线:操作周期是最慢的操作的时间;建立时间是达到最大吞吐率的时间;总线内总线:ISA、EISA、PCI;外总线:RS-2323根线全双工15米、SCSI并行外总线、16位、最大320M秒、最多63个设备20米、USB4条线480M秒接5层127个设备、IEEE-1394串行6条线秒热插阵列处理机:单指多数据流SIMD,同步同时执行同一指令;多处理机:多指多数据,多处理机互连应满足高频带、低成本、方式多样、在不规则通讯下连接的无冲突性;四种结构:总线式、交叉开关、多端口存储器结构、开关枢纽式;并行处理机:单指令多数据流,分布存储和共享存储两种结构;特点资源重复、连接模式、专用性与算法联系、复合性;信息安全五要素:机密性、完整、可用、可控性、可审查性;安全等级:三类技术安全性、管理安全性、政策法规安全性;可信计算机系统评测标准TCSEC/TDI 分4组7级;A1可验证安全设计、B3安全域、B2结构化安全保护、B1标记安全保护、C2受控访问控制、C1初级、D最低无安全功能;安全威胁:对资源的机密性、完整性、可用性、合法性造成危害;两类故意和偶然主动&被动;加密技术的两个元素:算法和密钥;对称加密即私密加密,加解密使用相同的密钥DES;非对称加密即公密加密RSA,加密公开解密保密,适合少量数据加密;不可逆加密;常用加密算法:DES算法采用56位密钥对64位数据加密密钥太短、三重DES效果相当于密钥长度加倍;RC5算法RSA采用此算法;IDEA密钥是128位;密钥管理:密钥产生由权威认证机构CA中心、公开密钥体系PKI、密钥分发中心KDC;认证技术主要解决通讯双方身份认可;PKI技术是信息安全技术的核心,也是电子商务的关键和基础技术包括加密、数字签名、数据完整机制、数字信封、双重数字签名;密钥备份恢复仅限解密密钥,私密不备份;PKI采用证书进行公钥管理,PKI把公钥密码和对称密码结合起来,保证网上数据安全传输;机密性不被偷看、完整性不被篡改、有效性不被否认;PKI标准化有两个方面:RSA的机密密钥标准PKCS和工业基础协议PKIX;Hash函数:输入不同长度字符返回定长串,即Hash值;它可以在数字签名中解决验证签名和用户身份验证、不可抵赖性的问题;信息摘要即数字指纹,它用于创建数字签名,对于特定文件信息摘要是唯一的,常用Hash函数有MD2、MD4、MD5他们都产生128位摘要;数字签名使用发送方密钥对,使用发送方私密加密,接受方用发送方的公密解密,是一对多关系;数字加密使用接受方密钥对,公钥加密,私密解密、是多对一的关系;SSL安全协议:即安全套接层协议,用于保证通讯安全系数;提供三方面的服务:用户和服务器的合法认证、机密数据以隐藏被传送的数据、保证数据的完整性采用Hash函数和机密共享技术保证数据完整性;数字时间戳技术:提供电子文件的日期和时间信息的安全保护;时间戳包括三部分:需加时间戳的文件的摘要、DTS收到文件的日期和时间、DTS的数字签名;解决局域网安全问题的技术:①划分网段、局域网交互技术、VLAN,②加密、数字签名、认证和VP N技术,③防火墙,④入侵检测技术⑤网络安全扫描技术;计算机的可靠性:衡量一个计算机系统可靠性R、可用性A、可维修性S;平均无故障时间MTBF=1 /λ串连系统可靠性R=R1R2;失效率λ=λ1+λ2并联系统:R=1-1-R11-R2总失效率=1/1/λ∑1/1..n计算机性能评测方法:时钟频率、指令执行速度、等效指令速度法、数据处理速率、核心程序法;汇编和编译汇编语言的三类语句:指令、伪指令、宏指令语句;编译的过程:①词法分析,②语法分析,③语义分析、④中间代码生成三地址码、⑤代码优化:基本块划分:第一条、转移、转移后面的语句;三种优化:合并已知变量、删除无用赋值、删除多余运算;⑥目标代码生成,⑦符号表管理,⑧出错处理;编译比解释效率高,解释的灵活性和可移植性好;网络知识网络的功能:数据通信、资源共享、负载均衡、高可靠性;内层通讯子网对应下三层、外层资源子网对应上三层;按信息交互方式分为:电路交换、分组交换、综合交换网;拓扑结构:总线、星状、环状、树状、分布式;OSI/RM:物理层:比特流;数据链路层:帧,流量控制、差错控制;网络层:数据包,报文分组,路由选择、交换方式、拥塞控制、差错报告、寻址排序;传输层:报文,报文分段、选择最适宜的网络层服务、最佳的利用网络资源;会话层:访问验证、会话管理;表示层:语法解释、压缩、加解密;应用层;网络设备:物理层:中继器由500米扩展到1500米、集线器;数据链路层:网桥帧过滤特性、交换机三种交换技术:端口交换、帧交换直通交换、存储转发、碎片丢弃、信元交换;网络层:路由器路由选择、流量控制、过滤、存储转发、介质转换、增强型功能加密、压缩、容错;应用层:网关协议转换网络介质:双绞线屏蔽STP,非屏蔽5类UTP最长100米;同轴电缆基带直接传输数字信号,宽带同轴电缆用于频分多路复用FDM闭路电视用;光纤多模发光二极管,单模注入型二极管两台PC间最长500米,最多4个HUB5段电缆;电信标准:CCITTV系列猫X系列;EIA的RS-232标准;IEEE的体系结构及网络互连,涉及逻辑数据链路标准,以太网CSMA/CD,令牌总线,令牌环差分曼彻斯特编码,城域网,光纤FDDI用4B/5B编码,无线局域网,100VG-ANYLAN;局域网技术的三个问题:介质、拓扑结构、介质访问控制方法;LAN模型:数据链路层细划为:逻辑链路控制LLC和介质访问控制层MAC;MAC功能:介质访问控制和对信道分配资源,实现帧寻址、识别和检测;LLC功能加强了:寻址、排序、流控、差错控制,数据帧的封装和拆除;以太网标准:采用带有冲突检测的载波监听多路访问协议CSMA/CD技术,检测到冲突的退避算法是二进制指数退避算法;10M以太网10Base-T10Base-F、100M快速以太网100BaseT、100BaseF多模光纤400米、100BaseT4、千兆以太网三种介质光纤单模500米多模2000米、宽带同轴电缆25M、5类UTP100米半双工广域网协议:PPPPPPoEPPPoA应用ADSL上行1M下行8M,线路按频段分为语音上下行3个信道、D DN是网状拓扑不经过交换机房、ISDN一线通、FR帧中继、ATM异步传输模式:数据以定长的信元为传输单位,每个信元53B其中头5B信元体48B,四层的参考模型用户层、ATM适配层、ATM层、物理层;Internet协议:TCP/IP的特性:逻辑编址48位物理地址,32位逻辑地址、路由选择、域名解析、错误检测、流量控制、对应用程序的支持;TCP/IP的四层结构:①、网络接口层最底层;②、网际层只提供无连接不可靠服务协议有:IP,ICMP发送差错报文的协议5种差错报文即源抑制超时目的不可达重定向要求分段;4种信息报文即回应请求、回应应答、地址屏蔽码请求、地址屏蔽码应答,ARP地址解析转成物理地址,RARP反向;③、传输层协议TCP的可靠性靠重发技术来实现,三次握手SYNSEQ=200、ACK201SYNSEQ=300、AC K301;UDP协议提高传输率;④、应用层只有FTP和Telnet是建立在TCP上,其余都在UDP上;IP地址:网络号部分+主机号部分,A类0000-127、B类10128-191、C类110192-223、D类1110224-239用于组播例如路由器修改、E类1111240-255实验保留;IPV6将32位地址扩展为128位;子网掩码:网络号部分填1,主机号部分填0;可变长掩码公共端口号0-1023,其他1024-65535;DNS用53、SMTP用25、SNMP用161,FTP命令21数据20, TCP23;WinNT网络:两个边界层:NDIS网络接口规范在会话与传输之间和TDI传输驱动程序接口数据链路层;四个协议:DLC访问大型机和打印机,TCP/IP,NWLinkNetWare接口,NetBEUINetBIOS的扩展网上邻居;除NetBIOS对应于传输层外其余三协议都在网络层;网络安全:基本要求是保密性、完整、可用、可控、可核查;安全威胁:物理、攻击、身份鉴别、编程威胁、系统漏洞;防火墙:内外网边界上的过滤封锁机制;在网络层包过滤,在传输层提供端到端的加密,在应用层提供身份认证、加密、内容检查;分类:包过滤型、应用代理网关、状态检测技术防火墙;多媒体数据传输率b/s=采样频率Hz×量化位数b×声道数声音信号数据量Byte=数据传输率×时间/8语音压缩方法:波形编码、参数编码、混合编码音源即音乐合成器有两类:数字调频合成器、PCM波形合成器;色彩三要素:亮度、色调、色饱和度;红+蓝=品红;绿+蓝=青;光栅化即点阵化将图形转成图像;向量化即图形跟踪技术将图像转图形无损压缩即熵编码:行程长度编码RLE、增量调制DME、霍夫曼编码;JPEG2000压缩算法:小波变换算法有损、离散余玄变换无损Mpeg4多媒体应用接口、Mpeg7内容描述接口Gif采用LZW无损压缩算法、PNG用LZ77无损压算、PAL帧频25场扫描频率50行帧625每场扫描625/2分辨率352288电影每秒24次,电脑30帧/秒速度刷新CCIR601标准:色度信号采样4:2:2采样频率每点8位数字化亮度220级色度225级Mpeg1压缩后码率s;Mpeg2HDTV80Mb/s;Mpeg4最低64Kb/s流媒体:建立在UDP协议上的实时传输协议和实时流协议RTP/RTSP;通过MIME识别格式;流媒体发布文件RAM、ASX;流式文件格式RM、RARPRTASFASX软件工程软件生存周期:计划、需求、设计、编码、测试、运维;软件开发模型:瀑布缺乏灵活性、导致完成后才发现错误、演化模型适合需求不明确的情况、螺旋模型制定计划、风险分析、实施、客户评估、循环、喷泉模型用于描述面向对象的开发过程,体现的迭代和无间隙特点需求分析任务是解决功能、性能、数据、界面输入出数据的要求;成本估算模型有普特南模型和构造性成本模型;风险分析关注三方面:关心未来、关心变化、关心选择;风险评估的三个参照:成本、进度、性能;进度管理常用的描述方法:甘特Gantt图清晰反映任务起止及并行情况,不能反映依赖关系及关键所在、计划评审技术PERT图关键路径松弛时间,但不能反映并行;计算机软件工具CASE;软件过程能力评估CMM,软件过程七原理:按周期定计划实施、逐阶段确认、严格产品控制、使用现代程序设计、明确责任、用人少而精、不断改进开发过程;软件能力成熟度模型CMMISO/IEC15504:通过创建规范的软件过程、软件管理过程、软件企业过程并使三者有机结合达到管理并控制软件产品的质量;五个级别:①初始级;②可重复级:焦点集中在软件管理过程上、成功依赖个人和管理层的支持关键域是需求管理;③定义级:对整个软件生命周期的管理和工程化都已实现标准化、项目组、团队;④管理级:开始量化管理、实现度量标准化、强烈的群体工作意识定量过程管理、软件质量管理;⑤优化级:软件过程持续改进预防缺陷、技术变更、过程变更管理;软件质量模型ISO/IEC9126:功能性适合、准确、互用、依从、安全、可靠性成熟、容错、易恢复、易使用性易理解、易学、易操作、效率时间特性、资源特性、可维护性易分析、易改变、稳定、易测试、可移植性适应、易安装、一致、易替换;软件质量强调三点:能满足用户需求、软件应遵循标准开发准则、能满足某些隐形要求;系统分析方法结构化方法SA的分析结果包括:一套分层的数据流图DFD、一本数据字典字典条目有:数据流、文件、数据项条目、一组小说明逻辑加工和补充材料;加工描述的逻辑方法:结构化语言、判定表、判定树;系统分析报告的三个作用:描述系统逻辑模型,作为开发人员设计和实施的基础、用户和开发人员的协议和交流的基础、系统验收和评价的依据;系统设计两大步骤①、总体设计即概要设计:任务分解、划分模块、确定模块功能及调用关系、决定模块界面即数据传递;②、详细设计:代码设计、用户界面安全控制设计等;系统设计的原则:抽象、模块化、信息隐蔽能提高可修改性、可测试性、可移植性、模块独立高内聚低耦合;内聚低到高偶然、逻辑、时间、过程、通信、顺序、功能;耦合强到弱内容、公共、控制、标记即传数据结构、数据、非直接耦合即无信息传递;结构化设计方法SD信息流的两大类型:变换流明显分为输入、加工、输出、事务流从事务中心辐射流出;面向数据结构的设计方法:Jackson图;系统实施阶段的任务:购置安装硬件网络系统、软件准备、人力培训、数据准备、投入切换和试运行;程序设计方法主要有:结构化方法、原型法、面向对象法;系统测试人工测试:即代码审查;机器测试:只能发现症状无法定位,黑盒功能测试测试软件外部特征、白盒结构测试测试对程序路径和过程测试单元测试中用;测试步骤:①、单元测试:模块接口、数据结构、执行路径、出错处理、边界条件;单元测试计划应该在详细设计阶段制定②、组装测试即集成测试;集成测试计划应该在概要设计阶段制定③、确认测试是软件测试的最后环节包括有效性黑盒、软件配置审查、验收测试;确认测试计划应该在需求分析阶段制定④、系统测试主要内容:恢复测试、安全性测、强调压力测、性能测试、可靠性测试、安装测试;可维护性的评价指标:可理解性、可测试性、可修改性;维护的内容:正确性维护、适应性、完善性、预防性维护;审计在三个层次上设定:语句、特权、对象审计;标准化知识国际标准化组织ISO和IEC;统一是标准化的本质,目的是建立最佳秩序和获得最佳效益;标准复审5年次要确保其有效性、先进性、适用性;按性质分类:技术标准、管理标准、工作标准;采用国际和国外先进标准的方法:认可法、封面法、完全重印法、翻译法、重新制定法、包括引用法;采用程度:等同idt、等效eqv、非等效采用neq;标准化条码EAN,共有13位:3位前缀表示国家、4位厂商代码、5位商品代码、1位效验码;ISO9000:是质量管理和质量保证的标准,按照全面质量管理的PDCA模式工作;ISO9000:2000现有1 3项标准,有4个核心标准基础和术语用概念图描述、要求、业绩改进指南、审核指南;标准确认的8项原则:以顾客为中心、领导作用、全员参与、过程方法4大过程即管理职责、资源管理、产品实现、测量分析和改进、管理的系统方法、持续改进、基于实事的决策方法、互利的供求关系;知识产权知识民法通则保护;知识产权分为两类工业产权和着作权;特点:无形性、双重性、确认性、独占性、地域性、时间性专利20年,实用新型和外观10年,到期前6个月展期10年;计算机软件保护条例受保护的软件的条件:独立创作、可被感知、逻辑合理;软件着作权保护期50年;软件着作权法律:民事责任侵犯着作权发表改名,行政责任复制销售删改转让等,刑事责任;反不正当竞争法商业秘密;常用算法算法的五特性:有穷性、确定性、可行性、输入、输出好的算法的目标:正确性、可读、健壮、效率与低存储需求迭代法:求方程近似根;穷举搜索法;递推法;递归法:执行过程分递推和回归两阶段背包问题;回溯法即试探法;贪心法:不求最优但求快速有解,哈夫曼算法装箱问题马的遍历;分治法:大问题分成小问题解决快速排序比赛日程;动态规划法:求两字符串中最长公共字符序列;面向对象技术面向对象=对象+分类+继承+通过消息的通讯;对象有对象名标识、属性和操作方法组成;对象是类的实例;类解决数据保护问题,继承是父子共享数据和方法的机制;多态:是不同对象收到同一消息产生不同结果;通用多态有参数多态最纯的、类属,包含多态子类型化;特定多态有过载多态同一变量被用来表示不同功能、强制多态;好的OOP必须支持:被封装的对象、类和实例的概念、继承性、多态;程序设计的发展:过程程序设计、模块化、函数、逻辑、面向对象;面向对象的好处:对象技术解决了产品质量和生产率间的平衡;继承机制使系统具有很高的灵活性和易扩充性;面向对象是一个能管理复杂性并增强伸缩性的工具;从概念模型化到分析设计编码可以无缝传递;封装有助于建立安全的系统;面向对象的概念:对象、类、方法、实例变量、消息、子类、继承类的访问控制符:Private类内Protected类及友元Public消息传递机制和对象自身引用将方法与特定的对象动态地联系在一起,使得不同对象在执行同样的方法体时,可因对象的状态不同而产生不同的行为,从而使方法对具体地对象具有个性;衡量开发人员:能否最好地发挥已有类库地优点、将已有类库与新问题紧密匹配地能力、不得不另外编写地代码最少;面向对象分析方法OOA:将数据和功能合在一起考虑,把系统地行为和信息间地关系表示为迭代构造特征;五个活动:认识对象、组织对象、对象间地相互作用、基于对象地操作;面向对象设计OOD:设计分析模型和实现源代码;构件是功能和数据的封装;面向对象测试:单元测试-综合测试-系统测试;算法层-类层-模板层-系统层;常采用回归测试和自动测试;面向对象的分析和设计方法:1PeterCoad的OOA模型的五个层次:主题层、对象类层、结构层、属性层、服务层;两种结构分类结构一般和特殊和组装结构整体和部分;OOD的四个活动:设计问题域部件、设计人机交互部件、设计任务管理部件、设计数据管理部件;2Booch的OOD:认为软件开发是螺旋的,每个周期包括标识类和对象、确定他们的含义、标识他们的关系、说明每一个类的界面和实现;3对象建模技术OMT:三个模型即对象模型链和关联、泛化、聚集、模块、动态模型与时间和操作顺序有关的特征,用状态图表示、功能模型描述与值变换有关的特征用数据流图表示;4统一建模语UML:UML三要素UML的基本构造块、支配这些构造块如何存放的规则、运用与整个语言的一些公共机制;三种构造块事物、关系、图;四种事务:结构事物静态部分类接口协作用例主动类构件结点、行为事物交互和状态机、分组事物包是概念性的仅在开发时存在、注释事物;四种关系:依赖事物间语义关系、关联结构关系、聚集特殊的关联整体和部分、泛化一般和特殊、实现类元之间的语义关系;五类9种图:①用例图用户角度描述系统功能,用于对系统的语境和需求建模、②静态图类图、对象图;定义类之间关系和类内结构、③行为图状态图由状态转换事件和活动组成;活动图用于工作流建模和对操作建模、④交互图顺序图合作图:描述对象间的交互关系、⑤实现图构件图:描述代码部件的物理结构及各部件之间的关系;配置图即部署图:定义系统中软硬件关系;数据结构栈:先进后出;队列:尾进头出循环对列F=R+1+Memory_LengthmodM串:主串n模式串m朴素的模式匹配算法即布鲁特-福斯算法:最好情况平均比较次数=n+m/2最坏=mn+m/2二叉树:性质1、i层至多2i-1个结点;性质2、深度为k的二叉树最多2k-1个结点;性质3、具有n个结点的完全二叉树的深度为└log2n┘+1;森林和树的转换利用树的孩子兄弟表示法;哈夫曼树即最优二叉树,是带权路径最短的树;图:N个顶点的无向完全图有nn-1/2条边;任何图的边=顶点总度数/2;连通图是指无向图任两顶点连通,最大的连通子图叫连通分量;生成树是极小连通图;n个顶点e条边的无向图的邻接链表需要n个头结点和2e个表结点;求最小生成树有普里姆算法prim和克鲁斯卡尔算法Kruskal;AOV网:工程可行性;AOV的拓扑排序选入度为0的输出、删AOE网:工程需时和关键活动;关键路径是最长路径;最短路径:迪杰斯特拉算法查找:①、顺序查找平均查找次数ASL=n+1/2;②、折半ASL=n+1/2log2n+1-1;③、分块s是每块的个数块内块间都顺序ASL=n/s+s/2+1块内顺序块间折半ASL=log2n/s+1+s/2二叉排序树即二叉查找树左小于右;平衡二叉树AVL树左右深度差不超过一;m阶B-树根至少有两棵子树其他非叶至少有m/2进位取整棵哈希表散列表:构造方法有直接定址法、数字分析法、平均取中法、折叠法、随机数法、除留余数法;冲突处理方法有开放地址法、链地址法、再哈希法、建公共溢出区法;装填因子=表中记录数/哈希表长度;排序:堆排序建堆从最后一个非叶开始一直往下一个个往前筛选;1、直接插入好On均On2坏On2辅O1稳定2、直接选择On2On2On2O1不稳3、冒泡排序OnOn2On2O1稳定4、希尔排序―――O不稳缩小增量排序5、快速排序OnlognOnlognOn2Onlogn不稳后往前找小交换6、堆排序 OnlognOnlognOnlognO1不稳7、归并排序 OnlognOnlognOnlognO1稳定两两排序归并8、基数排序Odn+rdOdn+rdOdn+rdOrd稳定r=10,d位数操作系统四个特征:并发、共享、虚拟性、不确定性;五大管理功能:进程、文件、存储、设备、作业管理;三态模型:运行、就绪、阻塞;操作系统内核包含支撑功能中断处理、时钟管理、原语操作、资源管理功能进程、存储、设备管理;引起阻塞的原因:启动某个IO操作、新数据尚未到底、无新工作可作;互斥临界区的管理原则:有空则进、无空等待、有限等待、让权等待;信号量机制有整型信号量、记录型、信号量集机制;公用信号量:实现互斥,等于临界资源数目;私用信号量实现同步;P-1V+1;进程的高级原语通信的类型有:共享存储系统、消息传递系统、管道通信;管程实现同步机制的基础是条件结构;进程调度:三级调度高级调度长调度、作业调度、接纳调度、中级调度对换调度、低级调度进程调度;调度方式:先来先服务、时间片轮转、优先级调度、多级反馈调度算法;优先级的确定:I/O型最高优先级、计算型进程减少调度次数、主要是CPU处理的进程、为适应一个进程在不同时间段的运行特点,I/O完成时,提高优先级;时间片用完时降低优先级;死锁产生的原因:资源竞争及进程推进顺序非法;产生死锁的四个必要条件:互斥条件、请求保持、不可剥夺条件、环路条件;死锁的处理:鸵鸟政策、预防政策静态分配法、资源有序分配法、避免政策安全状态和银行家算法、检测与解除死锁;线程也称为轻型进程:目的是提高系统内程序并发程度、提高吞吐量;。
软件设计师笔记
![软件设计师笔记](https://img.taocdn.com/s3/m/3d684ee39b89680203d825f0.png)
软件设计师笔记-12008-06-05 20:141.1: SIMD单指令流多数据流一个控制部分,多个处理器,多个主存模块,各处理器以同步执行同一条指令,代表有并行处理机,阵列处理机,超级向量处理机,矩阵运算。
2. 运算器和控制器组成中央处理器。
运算器由ALU、累加器、寄存器、多路转换器、数据总线组成;控制器由程序计数器、指令寄存器、指令译码器、状态/条件寄存器、时序发生器、微操作信号发生器组成。
3. 总线数据传输率=时钟频率/每个总线包含的时钟周期数×每个总线周期传送的字节数每秒指令数=时钟频率/每个总线包含的时钟周期数/指令平均占用总线周期数。
4. 立即寻址:直接给出操作数,而非地址,ADD AX, 100;直接寻址:直接给出操作数地址,ADD AX, [100]或所在寄存器号(寄存器寻址, ADD AX, BX);间接寻址:给出的是操作数地址的地址, ADD AX, [DX]/[[100]];变址寻址:给出的地址需与特定的地址值累加从而得出操作数地址, ADD AX, [DI+100],相对寻址:PC加上偏移量,ADD AX, *100。
5. 移位指令:算术移位(左移则在空位补0,右移则补符号位)、逻辑移位(左移右移都补0)6. RISC编译后产生的机器指令数增多了,但是指令所需的周期数和每个周期的时间都减少了,以硬布线逻辑控制为主。
7. 多处理系统MIMD,需专门并行指令来控制并发执行,需要专门的同步措施。
并行处理机和采用流水线结构的单机系统都是SIMD系统,但是区别是,并行处理机采用资源重复技术,后者采用的是时间重叠技术。
8. Cache,相联存取,根据内容而非地址来选择读写点。
依据的是程序的局部性原理。
淘汰算法:随机淘汰、FIFO、LRU。
写操作方法:写直达(同时写主存和Cache)、写回(写Cache不马上写主存)、标记法。
9. 格式化容量=每道扇区数×扇区容量×总磁道数;非格式化容量=位密度×pi×最内圈直径×总磁道数;平均数据传输速率=每道扇区数×扇区容量×盘片转数。
软件设计师-随笔笔记
![软件设计师-随笔笔记](https://img.taocdn.com/s3/m/0ec5343d5b8102d276a20029bd64783e09127de0.png)
软件设计师-随笔笔记导读:最近正在为即将到来的软考做准备,所以重拾以前的笔记,通过⼿敲的形式将它们随意排版上来,希望能加深⾃⼰的印象,同时希望能够帮助⼀些⼈,⼀些内容是通过做题⽬收集的笔记,⽐较杂,但我认为如果你能够将我这篇⽂章看完⼀定会有很⼤的收获,⼀起加油吧!(ps:敲的我脑阔痛)附上思维导图:(1)计算机⽹络概述:⽹络层次与对应的设备功能:Ping命令⽹络检测由近到远操作:1.ping127.0.1先检查TCP/IP协议栈是否正常2.ping本地ip检查⽹卡是否正常⼯作3.ping⽹关地址检查和⽹关的连接性4.ping远程⽹站检查远程连接OSI参考模型及相关协议:逻辑⽹络设计步骤:1.确定逻辑设计⽬标2.⽹络服务评价3.技术选项评价4.进⾏技术决策ARP表:⽤于缓存设备中IP地址与MAC地址的对应关系,好处是可以限制⼴播数量。
中国的3G标准:TD-SCDMA->时分同步的码分多路访问。
查看路由IP等命令:1.ping命令:⽤于测试本机能否跟外部指定主机连接,⽆法判断故障发⽣的范围。
2.tracert命令:⽤于跟踪路由以查看IP地址数据包所⾛路径的连通情况,能查出路径上哪段路由出现了连通故障。
stat命令:⼀般⽤于查看本机各端⼝的连接情况。
netstat命令的连接状态:LISTEN:侦听来⾃远⽅的TCP端⼝的连接请求。
SYN-SENT:在发送连接请求后等待匹配的连接请求。
SYN-RECEIVED:在收到和发送⼀个连接请求后等待对⽅对连接请求的确认。
ESTABLISHED:代表⼀个打开的连接。
FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认。
FIN-WAIT-2:从远程TCP等待连接中断请求。
CLOSE-WAIT:等待从本地⽤户发来的连接中断请求。
CLOSING:等待远程TCP对连接中断的确认。
LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认。
TIME-WAIT:等待⾜够的时间以确保远程TCP接收到连接中断请求的确认。
软件设计师笔记
![软件设计师笔记](https://img.taocdn.com/s3/m/5826ef0c52ea551810a6873e.png)
1、数据缓冲寄存器(Data Register,DR):在对内存进行读写操作时,用数据缓冲寄存器暂时存放由内存读写的一条指令或一个数据字,将不同的时间段内读写的数据隔离开。
2、指令寄存器(Instruction Register,IR):当CPU执行一条指令时,先把它从内存取到数据缓冲寄存器中,再送入指令寄存器暂存,指令译码器根据指令寄存器的内容产生各种微操作指令,控制其他的组成部件工作,完成指定的功能。
3、程序计数器(Program Count,PC):具有寄存信息和计数两种功能。
程序的执行分顺序和转移执行两种情况。
在程序开始执行前,CPU将程序的起始地址送入程序计数器,改地址在程序加载到内存时确定。
执行指令时,CPU将自动修改程序计数器的内容,以便使其保持的总是将要执行的下一条指令的地址。
由于大多数指令都是按顺序来执行的,所以修改的过程通常只是简单地堆程序计数器加1。
4、地址寄存器(Address Register,AR):保存当前CPU所访问的内存但愿的地址。
由于内存和CPU存在着操作速度上的差异,所以需要使用地址寄存器保持地址信息,直到内存的读写操作完成为止。
5、累加寄存器(Accumulater Register,AC):它是一个通用寄存器。
功能是当运算器的算术逻辑单元执行算术或逻辑运算时,为它提供一个工作区。
6、程序状态寄存器(Program State Word,PSW):保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码,分为状态标志和控制标志。
7、寻址技术:立即寻址:操作数就包含在指令中,不需要到内存去取。
直接寻址:操作数存放在内存中,指令给出操作数所在内存单元的地址。
寄存器寻址:操作数存放在寄存器中,指令中给出存储器的名称。
寄存器间接寻址:操作数存放在内存中,操作数的所在内存单元的地址存在集训期中,指令中给出该寄存器的名称。
间接寻址:指令中给出操作数的地址的地址,要访问两次。
软件设计师中级每章节知识点笔记
![软件设计师中级每章节知识点笔记](https://img.taocdn.com/s3/m/d1b041894bfe04a1b0717fd5360cba1aa9118c33.png)
软件设计师中级每章节知识点笔记软件设计师中级这门考试,知识点那叫一个多,就像繁星点点,让人有点眼花缭乱。
不过别怕,咱们一起来捋一捋每章节的重点,就像梳理一团乱麻,慢慢就能理出头绪。
先说第一章,那简直是软件设计的基石。
好比盖房子,这第一章就是打地基的部分。
里面的软件开发方法,什么瀑布模型、敏捷开发,就像是不同的盖房策略。
瀑布模型,一步一步,规规矩矩,就像老老实实一砖一瓦盖房子;敏捷开发呢,灵活多变,快速响应,如同根据实时情况随时调整盖房的节奏和方式。
你说,要是不把这些搞清楚,后面的设计能靠谱吗?再看第二章,数据结构和算法,这可是软件设计的灵魂所在。
想象一下,数据结构就像是一个个不同形状的盒子,算法呢,则是把东西放进盒子和取出盒子的方法。
比如数组,整整齐齐排一排,找东西方便;链表呢,灵活得很,插入删除轻松。
算法更是神奇,排序算法里的冒泡排序,一个个数据就像水里的泡泡,一点点往上冒;快速排序,像个神奇的魔术师,瞬间让数据变得有序。
要是不懂这些,软件运行起来不就像没头的苍蝇乱撞?第三章的操作系统知识,那是软件运行的大舞台。
进程管理、内存管理,这不就像是舞台上的演员和场地的安排吗?进程调度,决定哪个演员先上台表演;内存分配,好比给演员划分表演区域。
如果安排不好,那不得乱套?第四章的数据库知识,就像一个巨大的仓库。
数据库设计、SQL 语句,这都是管理仓库的工具。
合理的设计让仓库井井有条,SQL 语句则是我们取货存货的指令。
不然,仓库里的东西乱七八糟,找都找不到,那还怎么用?第五章的多媒体知识,就像是给软件增添色彩的画笔。
音频、视频、图像,让软件变得丰富多彩。
就像一个平淡的房间,有了这些多媒体元素,瞬间变得生动有趣。
第六章的计算机网络知识,是软件与外界沟通的桥梁。
IP 地址、网络协议,就像是桥的架构和通行规则。
没有这些,软件就像被困在孤岛上的人,与世隔绝。
第七章的软件工程知识,那是软件设计的指导手册。
需求分析、设计模式,都是让软件变得更完美的法宝。
软件设计师考试下午试题复习笔记二
![软件设计师考试下午试题复习笔记二](https://img.taocdn.com/s3/m/9f9c2a1952ea551810a6879c.png)
软件设计师考试下午试题复习笔记二三、UML设计1.用例图间关系:包含,扩展2.类图间关系:依赖表示类之间的使用关系虚线+箭头泛化表示一般与特殊的关系直线+空心三角聚集是特殊的关联,表示整体与部分的关系直线+空心菱形组合是很强的关联,而且整体与部分的生存周期是一致的直线+实心菱形实现接口虚线+空心三角四、程序流程图(可不用复习)五、算法设计1.指针:一个存储地址的变量2.数组名存储的是,数组在申请空间时数组名存储该存储空间的首地址,因此也是指针。
当直接输出数组名是,其实是输出的是数组的首地址。
可以用指针的方式访问数组。
3.C语言中,当形参是普通变量时,传递的是实参的值,当形参是指针时,传递的是指针变量的值,但自身的改变不会传递给实参。
4.线性表:除第一个外,集合中每个数据元素均有且仅有一个前驱,除最后一个外,集合中每一个元素都有且仅有一个后继。
线性表的节点一定是同一类型的数据。
5.顺序存储:逻辑关系上相邻的两个元素在物理位置上也是相邻。
A的存储位置计算公式:loc(ai)=loc(a1)+(i-1)*1顺序存储的缺点:线性表的大小固定,浪费大量的存储空间,不利于节点的增加或减少;执行线性表的插入和删除操作要移动其他元素,不够方便。
6.链式存储:单链表循环链表双向链表线性表链式存储用链表存储线性表,头指针指向第一个节点。
缺点:由于要存储地址指针,浪费空间7.队列:一种先进先出(FIFO)的线性表,队列只允许在一端(对尾)进行插入,另一端(对首)进行删除运算的线性表。
8.栈:仅在表尾进行插入或删除的一种LIFO线性表。
表尾是栈顶,表头是栈底。
9.构造哈夫曼树:定义:树的带权路径最短的树(树中所有叶子节点的带权路径长度之和)构造方法:每次挑选两个根节点最小的树作为左右子树构造一棵新的二叉树,且设树的根节点的权为左右子树根节点的权的和,新形成的二叉树又参与下一轮的挑选(挑选两个根节点最小的树)。
10.哈夫曼编码:将要传送的字符串构造成哈夫曼树,再将度为2的节点的左分支路径赋值为0,右分支赋值为1.从根节点到各个叶子节点的路径上的0,1值就构成了叶子节点(每一个字符)的编码。
软件设计师教程的总结与复习
![软件设计师教程的总结与复习](https://img.taocdn.com/s3/m/07186671e518964bce847c33.png)
第一章计算机系统知识1.计算机体系结构(计算机系统结构)属性:硬件所能处理的数据类型、所能支持的寻址方式、CPU的内部寄存器、CPU的指令系统、主存的组织与主存的管理、中断系统的功能、输入输出设备及连接接口、计算机特性结构类型。
分类:(1)Flynn分类法(1966):指令流、数据流、多倍性按指令流和数据流的不同组织方式分:单指令流单数据流(SISD);单指令流多数据流(SIMD);多指令流单数据流(MISD);多指令流多数据流(MIMD)。
(2)冯式分类法(1972):最大平行度P m :指计算机系统在单位时间内能够处理的最大的二进制位数。
设每个时钟周期△t i 内能处理的二进制位数为p i ,则T个时钟周期内平均并行度为:P a =(∑P i)/T ,在T 周期内的平均利用率为:u=Pa/Pm=(∑Pi)/(T*Pm)。
平均并行度取决于系统的运行程度,与应用程序无关。
按最大并行度进行分类:字串行、位串行(WSBS):N=1,M=1;字并行、位串行(WPBS):N=1,M>1;字串行、位并行(WSBP):N>1,M=1;字并行、位并行(WPBP):N>1,M>1。
与计算机组成的区别:前者解决的问题是计算机系统总体上、功能上需要解决的问题,后者要解决的是逻辑上如何具体实现的问题;指令系统的确定属于前者,而指令的具体实现属于后者;主存容量及编址方式的确定属于前者,而具体如何构成主存属于后者。
结构的并行性:内容:同时性、并发性并行处理分类:存储器操作并行;处理器操作步骤并行(流水线处理机);处理器操作并行(阵列处理机)。
指令、任务、作业并行(多处理机、分布式系统、计算机网络)并行性的发展:精简指令集计算机(RISC)、指令集上并行的的超标量处理机、超级流水线处理机、超长指令计算机、多微处理机系统、数据流计算机;大规模并行处理(MPP)的多处理机系统和多计算机系统。
2.存储系统:层次结构:CPU寄存器、高速缓存Cache、主存、辅存。
计算机软件基础笔记 (2)
![计算机软件基础笔记 (2)](https://img.taocdn.com/s3/m/9e91fafef705cc1755270944.png)
简单变量类型:字符变量(1),整型(2)无符号整型(2)长整型(4)浮点型(4)双精度型(4)数据结构是变量的结构及在计算机中的存储方式分类:简单数据结构和复杂数据结构。
简单数据结构:简单变量、数组和字符数组。
复杂数据结构包括:指针、结构体、链表。
数据:是对客观事物的符号描述,可被计算机识别、加工的有效信息。
字符串常量的最后被系统加上了一个字符串结束标志”/0”个数加1数据的种类分为数值型和字符型数据。
数组:有序数据的集合。
数组中的每一个元素都属于同一种数据类型。
就是说数组在定义时必须指定大小。
数组名:数组元素的首地址;函数名:该函数所占存储单元的首地址。
一维数组定义是一般包括类型说明符数组名【常量表达式】。
例如:int Array[10]. 一维数组引用表达式:数组名【下标】。
在C语言中,二维数组是按行存放的。
定义数组时,可以不指定行,只需指定列。
在使用二维数组时,也可以只对部分数组赋值。
字符数组:用来存放字符数据的数组。
定义字符数组可以省略字符数组长度,让系统根据初值个数确定数组长度。
指针变量当中存放的是变量的地址,而不是变量的值。
指针变量的值就是某个内存单元的地址。
指针变量的一般形式:类型说明符*变量名。
例如; int *p;简单变量作为函数的参数时,只能向函数内部传递数据。
指针变量是双向传值。
传递指针的函数调用实现过程:(1)函数声明中指明指针参数(2)函数调用中传递变量的地址(3)函数定义中用形参进行间接访问。
函数调用的实质:实参和形参按顺序一一对应,传递数据的过程。
结构体:用户定义的新数据类型。
结构体将不同类型但紧密联系的各项数据组织起来。
声明一个结构体只是定义了一个数据类型,并不分配内存。
(判断)定义结构体变量方法(1)定义了结构体变量后用来定义变量(2)定义了结构体变量的同时定义变量struct 结构体名{成员变量}变量名列表。
结构体的一般形式struct 结构体名称。
结构体变量(指针)引用方法:(1)结构体变量名.成员名。
软件设计师笔记
![软件设计师笔记](https://img.taocdn.com/s3/m/a0e9d5df48649b6648d7c1c708a1284ac850052a.png)
软件设计师笔记上午题⼀、计算机组成原理与结构体系数据的表⽰进制转换R进制转⼗进制 : 按权展开法例如⼆进制 10100 = $1\times24+1\times22$ = 20例如七进制 604 = $6\times7^2 + 4\times7^0$ = 298⼗进制转R进制 : 短除法例如20转⼆进制2|20 余 02|10 余 02|5 余12|2 余02|1 余1余数从下往上就是10100⼆进制转⼋进制与⼗六进制转⼋进制,从右到左三位⼀段例如 10001110 = 216转⼗六进制,从右到左四位⼀段例如10001110 = 8E原码反码补码移码正数 1负数 1正1加负1 (1-1)原码0000 00011000 00011000 0010反码0000 00011111 11101111 1111补码0000 00011111 11110000 0000移码1000 00010111 11111000 0000原码:1B(字节byte) = 8bit如果⽤⼀个字节表⽰1,会先转成⼆进制,再在右边补7个0,其中最右边的0是符号位,0代表正数,1代表负数即1=0000 0001-1=1000 0001当1+(-1)时,原码1000 0010,值是-2,值是不对的,所以有其他编码⽅式反码:正数和原码⼀样.负数符号位不变,其他按位取反,即0变1,1变0,即1111 11101+(-1) = 1111 1111 ,变成原码 = 1000 0000 值为 -0补码:正数和原码⼀样.负数在反码的基础上+11+(-1) =1 0000 0000 为0 (其实补码应该⽤模的概念)移码:特定场合运⽤,浮点运算在补码基础上,符号位取反数值表⽰范围整数原码$-(2^{n-1}-1)$ ~ $2^{n-1}-1$反码$-(2^{n-1}-1)$ ~ $2^{n-1}-1$补码$-2^{n-1}$ ~ $2^{n-1}-1$浮点数运算浮点数表⽰(科学计数法)$N= M\times R^e$M成为尾数(必须是⾮0的个位数),e是指数,R是基数进⾏浮点运算对阶(低阶兑成⾼阶) -> 尾数计算 -> 结果格式化 (确保尾数是个位数)例如1000+119$1 \times 10^3 +1.19 \times 10^2 = 1 \times 10^3 +0.119 \times 10^3 = 1.119 \times 10^3$计算机结构主机只包括两个部分,⼀个CPU,⼀个主存储器(内存)CPU运算器1. 算术逻辑单元ALU2. 累加寄存器AC3. 数据缓冲寄存器DR4. 状态条件寄存器PSWCPU控制器1. 程序计数器PC2. 指令寄存器IR3. 指令译码器4. 时序部件Flynn分类法体系结构类型结构关键特性代表单指令流单数据流SISD 控制部分 : ⼀个处理器 : ⼀个主存模块 : ⼀个单处理器系统单指令流多数据流SIMD 控制部分 : ⼀个处理器 : 多个主存模块 : 多个各处理器以异步的形式执⾏同⼀条指令并⾏处理机阵列处理机超级向量处理机多指令流多数据流MISD 控制部分 : 多个处理器 : ⼀个主存模块 : 多个不存在理论上的,不存在多指令流多数据流MIMD控制部分 : 多个处理器 : 多个主存模块 : 多个能够实现作业、任务、指令等各级全⾯并⾏多处理机系统多计算机体系结构类型结构关键特性代表CISC与RISC指令系统类型指令寻址⽅式实现⽅式其他CISC (复杂)数量多,使⽤频率差别⼤,可变长格式⽀持多种微程序控制技术(微码)研制周期长RISC (精简)数量少,使⽤频率接近,定长格式,⼤部分为单周期指令,操作寄存器,只有Load/Store操作内存⽀持⽅式少增加了通⽤寄存器;硬布线逻辑控制为主;适合采⽤流⽔线优化编译,有效⽀持⾼级语⾔CISC的背景是计算机还没普及时,机构买计算机需要从硬件到指令都定制RISC的背景是计算机普及,所以删掉复杂指令,把基础指令提取出来,例如乘法可以由加法指令实现,多在寄存器操作流⽔线技术流⽔线概念流⽔线是指在程序执⾏时,多条指令重叠进⾏操作的⼀种准并⾏处理实现技术执⾏指令顺序 --> 取指 --> 分析 --> 执⾏未使⽤流⽔线执⾏指令情况:时间1时间2时间3时间4时间5时间6取指12分析12执⾏12使⽤流⽔线执⾏指令情况:时间1时间2时间3时间4取指12分析12执⾏12流⽔线时间计算流⽔线周期为执⾏时间最长的⼀段例如,取指耗时2ns,分析2ns,执⾏1ns,那么流⽔线的周期就是2ns流⽔线计算公式为1条指令执⾏时间 + (指令条数-1)*流⽔线周期理论公式 $(t1+t2+...+tk)+(n-1)*\Delta t$实践公式 $(k+n-1)*\Delta t$其中k为指令执⾏部分(如取指,分析,执⾏则k=3)$\Delta t$ 是流⽔线周期考试时,有理论的选项值先选理论,没理论选实践选项值流⽔线吞吐率计算流⽔线的吞吐率是只在单位时间内流⽔线所完成的任务数量或输出的结果数量吞吐率 $TP = \frac{指令条数}{流⽔线执⾏时间} $最⼤吞吐率 $TP_{max} = \frac{1}{流⽔线周期}$流⽔线的加速⽐计算完成同⼀批任务,不使⽤流⽔线所⽤的时间与使⽤流⽔线所⽤时间之⽐称为流⽔线的加速⽐$S= \frac{不使⽤流⽔线执⾏时间}{使⽤流⽔线执⾏时间}$流⽔线的效率流⽔线的效率是指流⽔线的设备利⽤率在时空图上,流⽔线的效率定义为n个任务占⽤的时空区域k个流⽔段总得时空区之⽐$E = \frac{n个任务占⽤的时空区}{k个流⽔段的总的时空区} = \frac{T_0}{KT_k} $存储系统层次化存储结构快CPU寄存器⼩$\uparrow$Cache按需内容存取$\downarrow$$\uparrow$内存(主存)$\downarrow$慢外存(辅存)硬盘,光盘,U盘等⼤CacheCache的功能 : 提⾼CPU数据输⼊输出的速率在计算机的储存系统中,Cache是访问速度最快的层次(如果算寄存器的话则寄存器最快)使⽤Cache改善系统性能的依据是程序的局部性原理使⽤"Cache+主存储器"的平均周期$t3 = h t_1+(1-h)t_2$$t_1$ 表⽰Cache的周期时间⽐如 1ns$t_2$表⽰主存储器周期时间⽐如1000nsh 表⽰对Cache的命中率(CPU能在Cache中访问到数据时读Cache,否则读主存), ⽐如95%那么 $t_3= 0.951+0.051000 = 50.95ns$局部性原理时间局部性 (例如,循环时,循环体的存储位置不断被重复访问)空间局部性 (例如,数组,访问某个元素存储位置时,很有可能访问下⼀个存储位置)⼯作集理论 : ⼯作集是进程运⾏时被频繁访问的页⾯集合主存分类:随机存取存储器 RAM只读存储器 ROM编址:(要会算)例如:内存地址从AC000H到C7FFFH,总共有___K个地址单元?⼤-⼩+1,如0到9是10个数字C7FFFH - AC000H +1 = C7FFFH + 1 - AC000H = C8000H -AC000H = 1C000H转换成K 就是 $\frac{1C000H}{1024} = \frac{1*164+12*163}{2^{10}} = 112$如果该内存地址按字(16bit)编址,有23⽚芯⽚构成,已知每⽚芯⽚有16K个存储单元,则该芯⽚每个存储单元存储__位设每个存储单元存储x位则 $112K 16 = 2816K*x$ 求得x=4磁盘结构与参数磁盘读取数据时,磁头会先找到对应的磁道,磁盘再转动,直到对应的扇区转到磁头的地⽅总线系统内部总线 (芯⽚与处理器的总线)系统总线 (插件板和系统板的总线)数据总线 (传输数据)地址总线 (传输地址)控制总线 (传输控制信号和时序信号)外部总线 (微机和外部的总线)可靠性串联系统$R = R_1R_2...*R_n$并联系统$R = 1-(1-R_1)(1-R_2)...*(1-R_n)$串并混合先看整体,如果是串联,就先算并联;如果是并联,就先算串联校验码循环校验码CRC(在要传输数据后添加的冗余位)模2除法:在做除法运算的过程中不计其进位的触发例:原始报⽂为"10111",其⽣成多项式为"$x^3+x+1$",对其进⾏CRC编码后的结果为?多项式⼆进制为 111 ,冗余位为多项式长度-1个0,即:111⼃$\overline{1011100}$111$\overline{0101100}$111$\overline{0010100}$111$\overline{0001000}$111$\overline{0000110}$111$\overline{0000001}$把最后的结果替换冗余位,即CRC编码后的结果是1011101可以把结果与111进⾏模2除法运算,如果为0就是对的海明校验码算信息位和校验位$2^k-1\geq n+k$校验位都是在2的次⽅的位置海明码从1开始,没有0,所以$2^k-1$k是校验位n是信息位⽐如3个校验位最多能传7个状态数,其中信息位最多7-3=4算校验位和海明码例如:求1011的海明码信息位为4,带⼊公式得出校验位为3,总位数为47654($2^2$)32($2^1$)1($2^0$)位数X4 值为1X3 值为0X2值为1X1值为1信息位J3J2J1校验位$7=22+21+2^0$$6=22+21$$5=22+20$$3=21+20$那么J1的值是所有含有$2^0$的信息位值的异或(同值为0,异值为1),即 $J_1 = X_1 \bigoplus X_2 \bigoplus X_4 =1\bigoplus 1\bigoplus 1=1$同理,J2 = 0 , J3 =0 ,即海明码为1010101海明码纠错将受到的校验码和原始校验码进⾏异或,得出的位置就是出错的位置例如,假如收到的海明码为1011101,校验码J3=1,J2=0,J1=1与原始校验码001异或,得出100说明是第$1*2^2+0+0=4$的位置出错了,取反得正确海明码1010101⼆、操作系统基本原理操作系统概述:管理系统的硬件,软件,数据资源控制程序运⾏⼈机之间的接⼝应⽤软件与硬件之间的接⼝进程管理进程的状态基本的三态 : -->等待-->就绪-->运⾏五态 : 加⼊了静⽌就绪和静⽌阻塞状态前趋图描述程序的某个部分的先后依赖关系考试⼀般配合PV操作⼀起考PV操作进程的同步与互斥互斥 : 千军万马过独⽊桥,只能⾛⼀个同步 : 两⼈⼀起去游泳馆,⼀个⾛路,⼀个骑⾃⾏车,但为了同时到,骑车的⼈需要时不时停下来等⾛路的⼈PV操作临界资源 : 诸进程间需要互斥⽅式对其进⾏共享的资源,如打印机临界区 : 每个进程中访问临界资源的那段代码信号量 : 是⼀种特殊的变量,⼀般⽤S表⽰P操作相当于阻塞 , 每次执⾏时信号量S=S-1,当信号量S<0时挂起V操作相当于释放 , 每次执⾏时信号量S=S+1,当信号量$S\leq 0$时激活P执⾏在解PV题时,需要先判断是同步还是互斥 , 同步时需要判断他们的先后依赖条件 ,进⾏阻塞例如 : 消费者和收银员两个进程.没买东西是不能触发收银员收钱的,所以消费者购买东西 V(S1) 激活收银员收钱 P(S1)收银员没收完钱消费者是不能拿着东西⾛的,所以收银员收完钱 V(S2) 激活消费者拿东西离开 P(S2)在解趋势图和PV操作混合题时,条件是V,导向的结果是P死锁问题如果没有资源让进程执⾏完就会发⽣死锁⼀般考试最少多少个资源不会发⽣死锁$ M=n*(k-1)+1 $n为进程数,k为每个进程需要的资源例如,3个进程都需要5个系统资源,则如果有13个资源就不会发⽣死锁,因为如果都先分配4个,剩下的⼀个随便分配都能完成,并释放资源存储管理段页式存储页式存储(页号+页内地址)页表存的是页号和物理块号页⾯⼤⼩都⼀样逻辑地址和物理地址转换,组成都是页号/块号 + 页内地址两者的页内地址都是相同的,先区分逻辑地址中的页号和页内地址,通过逻辑地址的页号找到物理地址的块号就⾏了例如:页⾯⼤⼩为4K,访问逻辑地址为5A29H,那么4K是$2^{12}$,对应16进制的三位,即A29是页内地址,5是页号,可通过页号5去页表⾥查物理块号如果需要淘汰页号,则淘汰状态在内存中,并且没有访问的页号段式存储(段号+段内地址)段表存的是段号+段长+基址按逻辑结构分,所以分割的段不⼀样⼤段页式存储先分段再分页页⾯置换(淘汰 )算法最优算法随机算法先进先出算法最近最少使⽤算法⽂件管理索引⽂件位⽰图第多少字从1开始算第多少位置从0开始算作业管理设备管理数据传输控制⽅式微内核操作系统虚设备与SPOOLING技术可理解为队列,先进先出三、数据库系统数据库模式三个模式:外模式 (视图)概念模式 (表)内模式 (存储⽅式)两级映射:外模式/概念模式映射. 当表改变时,视图不⽤变,保证了逻辑独⽴性概念模式/内模式映射. 当存储⽅式改变时,表结构不⽤变,保证了物理独⽴性ER模型注意转关系模式和联系⼀个实体转为⼀个关系模式⼀对⼀的关系,1个实体转成1个关系模式,中间的联系可以转成⼀个关系模式或合并到任意⼀个实体⾥⼀对多的关系,1个实体转成1个关系模式,中间的联系可以转成⼀个关系模式或合并到多的实体⾥,⽐如部门对员⼯多对多的关系,1个实体转成1个关系模式,中间的联系必须转成⼀个关系模式关系代数与元组演算并交差笛卡尔积 "X"结果是⾏*⾏,列+列投影 "π"选中的列 ,参数是字段名(或数字列)选择 "σ"选中的⾏,参数是属性值(或数字列)联接 "⋈"联接后会把相同字段去掉(与笛卡尔积⽐较)⾃然联接是默认条件是相同的字段规范化理论函数依赖函数依赖 A ->B部分函数依赖 A+B -> C ; A->C传递函数依赖 A -> B -> C求候选键给出⼀定关系,和函数依赖,求候选键画图,候选键能推导出所有的关系范式1NF : 属性值都是不可分的原⼦值2NF : 在1NF的基础上消除⾮主属性对候选键的部分依赖3NF : 在2NF的基础上消除⾮主属性对候选键的传递依赖BCNF : 在3NF的基础上消除主属性对候选键的传递依赖BCNF相当于每个属性都不部分依赖于候选键也不传递依赖于候选键主属性:候选关键字⾥的属性⾮主属性:候选关键字外的属性单主键不可能存在部分依赖,只有复合主键才可能有部分依赖模式分解保持函数依赖分解⽆损分解⽆损:可以还原; 有损:不能还原并发控制事务原⼦性事情要么做要么不做,不能拆分⼀致性能量守恒,做完前做完后总量⼀致隔离性独⽴进⾏,互不影响持续性执⾏后结果影响是持续的封锁协议丢失修改: 事务A修改数据R,但结束前其他事务也修改了数据R,导致数据丢失读脏数据: 事务A读取了其他事务还没提交的数据不可重复读: 数据A两次读取数据R之间,其他事务修改了数据R,导致同⼀数据前后读取不⼀致X锁,是事务T对数据A加上X锁时,只允许事务T读取和修改数据AS锁,是事务T对数据A加上S锁时,其他事务只能再对数据A加S锁,⽽不能加X锁,直到T释放A上的S锁。
java程序设计教程第二版笔记
![java程序设计教程第二版笔记](https://img.taocdn.com/s3/m/27065003b207e87101f69e3143323968011cf43f.png)
java程序设计教程第二版笔记以下是一些可能的Java程序设计教程第二版的笔记内容:1. Java语言的特点:Java是一种面向对象的编程语言,具有简单性、可移植性、安全性等特点。
它支持多线程编程,可以方便地实现并发控制和多线程并发访问。
2. Java基础语法:Java的基础语法包括变量、数据类型、运算符、控制语句等。
其中,变量是存储数据的容器,数据类型用来指定变量的类型,运算符包括算术运算符、比较运算符等,控制语句包括if语句、for循环等。
3. 类和对象:类是对象的抽象,它定义了对象的属性和方法。
对象是类的实例,它是类的具体实现。
通过创建类的对象,可以方便地管理和操作数据。
4. 继承和多态:继承是面向对象编程中的一个重要概念,它可以让一个类继承另一个类的属性和方法。
多态是指一个接口可以有多种实现方式,可以让程序更加灵活和可扩展。
5. 异常处理:异常是程序中出现的错误或异常情况,它会导致程序中断或崩溃。
Java提供了异常处理机制,可以捕获和处理异常,保证程序的稳定性和可靠性。
6. 输入输出流:Java提供了输入输出流来读写数据,包括文件流、网络流等。
通过输入输出流,可以方便地读取和写入数据,实现数据交换和共享。
7. 多线程编程:Java支持多线程编程,可以实现并发控制和多线程并发访问。
通过线程池等技术,可以有效地管理线程资源,提高程序的性能和响应速度。
8. 网络编程:Java提供了丰富的网络编程API,可以实现基于TCP/IP协议的网络通信。
通过Socket编程,可以实现客户端和服务器的通信,实现分布式系统的构建。
9. GUI编程:Java提供了丰富的GUI编程API,可以实现图形用户界面。
通过Swing组件库,可以方便地构建各种界面元素,实现用户交互和界面美化。
软件设计师备考笔记(文末复习资料分享)
![软件设计师备考笔记(文末复习资料分享)](https://img.taocdn.com/s3/m/ad3f022711661ed9ad51f01dc281e53a58025173.png)
软件设计师备考笔记(⽂末复习资料分享)软考学习笔记⼀、数据的表⽰R进制转⼗进制使⽤按权展开法⼆进制符号位:0代表正数,1代表负数⼆进制转⼋进制:按三位划分计算⼆进制转⼗六进制:按四位划分计算正数的原码、反码、补码相同负数的反码:在原码的基础上除符号位全部取反负数的补码:在反码的基础上+1负数的补码转原码:除符号位全部取反 +1移码:在补码的基础上将符号位取反减法运算:使⽤两个数的补码相加⼆、数值表⽰范围定点整数原码 -(2^n-1-1) ~ +(2^n-1-1)反码 -(2^n-1-1) ~ +(2^n-1-1)补码 -2^n-1 ~ +(2^n-1-1)移码 -2^n-1 ~ +(2^n-1-1)定点⼩数原码 -(1-2^-(n-1)) ~ +(1-2^-(n-1))反码 -(1-2^-(n-1)) ~ +(1-2^-(n-1))补码 -1 ~ +(1-2^-(n-1))移码 -1 ~ +(1-2^-(n-1))三、浮点的运算浮点数表⽰:N = 尾数 * 基数^指数运算过程:对阶》尾数运算》结果格式化特点⼀般尾数⽤补码,阶码⽤移码阶码的尾数决定数的表⽰范围,位数越多范围越⼤尾数的尾数决定数的有效精度,位数越多精度越⾼对阶时,⼩数向⼤数看齐对阶是通过较⼩数的尾数右移实现的浮点数存储⽅式:阶符 | 阶码 | 尾符 | 尾码四、计算机结构外设输⼊设备存储器辅助存储器输出设备主机主存储器CPU运算器算数逻辑单元ALU:数据的算数运算和逻辑运算累加寄存器AC:通⽤寄存器,为ALU提供⼀个⼯作区,⽤在暂存数据数据缓冲寄存器DR:写内存时,暂存指令或数据状态条件寄存器PSW:存状态标志与控制标志(争议:也有将其归为控制器的)控制器程序计数器PC :存储下⼀条要执⾏指令地址指令寄存器IR:存储即将执⾏的指令指令译码器 ID:对指令中的操作码字段进⾏分析解释时序部件:提供时序控制信号地址寄存器DR:记录当前指令地址五、计算机体系结构分类-Flynn单指令流单数据流SISD控制部分处理器主存模块均⼀个代表:单处理器系统单指令流多数据流SIMD处理器和主存模块多个关键特性:个处理器以异步的形式执⾏同⼀条指令代表:并⾏处理机,阵列处理机,超级向量处理机多指令流单数据流MISD控制器和主存模块多个被证明不可能,⾄少是不实际⽬前咩有,有⽂献称流⽔线计算机为此类多指令流多数据流MIMD控制部分,处理器,主存模块均为多个能够实现作业,任务,指令等各级全⾯并⾏多处理机系统,多计算机六、指令的基本概念⼀条指令就是机器语⾔的⼀个语句,它是⼀组有意义的⼆进制代码,指令的基本格式:操作代码字段|地址码字段操作码部分指出了计算机要执⾏什么性质的操作,如加法、减法、取数、存数等。
软件设计师考试知识点汇总(二)
![软件设计师考试知识点汇总(二)](https://img.taocdn.com/s3/m/74f9f63e6294dd88d0d26bfa.png)
软件设计师考点知识点汇总(二)2016年下半年软件设计师考试即将进行,进入全面复习的你是否已是胸有成竹,下面小编整理了一部分考点知识点汇总,希望对各位备考能有所帮助。
软件工程之详细设计详细设计的基本任务:(1)为每个模块进行详细的算法设计。
用某种图形、表格、语言等工具将每个模块处理过程为每个模块进行详细的算法设计。
为每个模块进行详细的算法设计的详细算法描述出来。
(2)为模块内的数据结构进行设计。
对于需求分析、概要设计确定的概念性的数据类型进行为模块内的数据结构进行设计。
为模块内的数据结构进行设计确切的定义。
(3)对数据结构进行物理设计,即确定数据库的物理结构。
物理结构主要指数据库的存储记对数据结构进行物理设计,对数据结构进行物理设计即确定数据库的物理结构。
录格式、存储记录安排和存储方法,这些都依赖于具体所使用的数据库系统。
(4)其他设计:根据软件系统的类型,还可能要进行以下设计:①代码设计。
为了提高数其他设计:其他设计根据软件系统的类型,还可能要进行以下设计:代码设计。
据的输入、分类、存储、检索等操作,节约内存空间,对数据库中的某些数据项的值要进行代码设计。
②输入输出格式设计。
输出格式设计。
人机对话设计。
对于一个实时系统,用户与计算机频繁对话,因此要进行对话方式、内容、③人机对话设计。
格式的具体设计。
(5)编写详细设计说明书。
(6)评审。
对处理过程的算法和数据库的物理结构都要评审。
结构化程序设计方法:详细设计是软件设计的第二阶段,主要确定每个模块具体执行过程,也称“过程设计”,详细设计的目标不仅是逻辑上正确地实现每个模块的功能,并使设计出的处理过程清晰易读。
过程设计中采用的典型方法是结构化程序设计(简称 SP)方法,最早是由 E.W.Dijkstra 在 60 年代中期提出的,它是实现详细设计目标的关键技术之一。
软件开发方法综述1、结构化方法结构化开发方法是由 E.Yourdon 和 L.L.Constantine 提出的,即所谓的SASD 方法,也可称为面向功能的软件开发方法或面向数据流的软件开发方法。
软件设计师笔记
![软件设计师笔记](https://img.taocdn.com/s3/m/e8a16efb770bf78a65295480.png)
15. 程序设计语言分类:命令式/过程式(FORTRAN/C/PASCAL),函数式(Lisp/ML),面向对象(C++/SmallTalk/Java/C#),逻辑程序设计(Prolog)。
16. 解释型(接受所输入的用程序语言编写的源程序,然后直接解释执行,如Basic,现在的Java/C#也是一种半解释型的语言),翻译型(汇编和编译两类)
23. 实现VPN的关键技术是隧道技术、加解密技术、密钥管理技术和身份认证技术。VPN的关键技术是隧道技术,它是一种数据封装协议,也就是将一种协议封装在另一种协议中传输,从而实现被封装协议对封装协议的透明性。根据其工作的层次可分为以下两类:a. 二层隧道技术:包括PPP基础上的PPTP(点到点隧道协议)和L2F(二层转发协议)、L2TP(二层隧道协议)b. 三次隧道技术:主要代表是IPSec(IP层安全协议,它是IPv4和IPv6的安全标准)、移动IP协议和虚拟隧道协议(VTP)
10. 接受变化
这是一句老话了:唯一不变的只有变化。
你应该将所有系统将可能发生的变化以及潜在需求记录下来,以便将来能够实现(参见“Architecting for Change”,Thinking Objectively, May 1999)
通过在建模期间考虑这些假设的情况,你就有可能开发出足够强壮且容易维护的软件。设计强壮的软件是你最基本的目标。
12. 进程的五态模型:运行,就绪,阻塞,挂起。
13. 死锁的必要条件:互斥条件、保持和等待条件、不剥夺条件、环路等待条件。解决死锁的策略:死锁预防(破坏其必要条件)、死锁避免(银行家算法)、死锁检测、死锁解除(与死锁检测结合使用,采用剥夺方式)。
14. 存储分配算法:最佳适应法(最接近作业的自由区)、首次适应法(第一个可用的自由区)、最差适应法(选择最大的自由区)、循环首次适应法。
软件设计师教程 (2)
![软件设计师教程 (2)](https://img.taocdn.com/s3/m/87d4297d66ec102de2bd960590c69ec3d5bbdb81.png)
软件设计师教程1. 前言软件设计师是计算机领域中的重要职位之一,主要负责设计、开发、维护和优化软件系统。
本教程将介绍软件设计师的基本概念、技能要求、工作流程以及常用工具和资源,帮助人们了解软件设计师职业的核心知识和技能。
2. 软件设计师的角色和责任软件设计师作为一个关键的职业角色,承担着许多重要的责任。
他们需要理解客户需求,参与系统设计和架构的制定,编写高质量的代码,进行测试和调试,以及与团队成员合作完成项目。
软件设计师还需要持续学习和掌握最新的技术和工具,以适应不断变化的软件开发环境。
3. 软件设计师的技能要求成为一名优秀的软件设计师需要具备一系列的技能。
以下是一些常见的软件设计师所需的技能要求:3.1 编程语言和框架软件设计师应熟悉多种编程语言和相关的开发框架,如Java、C++、Python、JavaScript等。
熟练掌握至少一种编程语言,并了解不同的框架和库,对于开发高效和可维护的软件系统至关重要。
3.2 系统设计和架构软件设计师需要具备良好的系统设计和架构能力。
他们应能理解和应用面向对象设计原则、设计模式等,以确保软件系统具有良好的灵活性、可扩展性和可维护性。
3.3 数据库设计和管理对于涉及持久化数据的软件系统,软件设计师需要熟悉数据库设计和管理。
他们应了解不同类型的数据库(如关系型数据库、NoSQL数据库等)以及常用的查询语言(如SQL),并能设计出高效的数据库结构和查询。
3.4 软件测试和调试良好的测试和调试能力对于软件设计师来说至关重要。
他们需要熟悉各种测试方法和工具,能编写有效的单元测试和集成测试,并能快速定位和修复问题。
3.5 沟通和团队合作软件设计师经常需要与客户、项目经理和团队成员进行沟通和合作。
因此,他们需要具备良好的沟通和团队合作能力,能清晰地表达自己的观点,理解他人的需求,并积极参与团队讨论和决策。
4. 软件设计师的工作流程软件设计师的工作流程通常包括以下几个步骤:4.1 需求分析在开始设计和开发软件系统之前,软件设计师需要与项目组和客户一起进行需求分析。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件设计师教程学习笔记(二)
希赛小编为准备参加2017上半年软件设计师考试的同学准备了一些计算机网络知识学习笔记,供大家参考复习。
预祝大家备考顺利,考试得高分。
计算机网络知识
网络技术标准与协议
计算机网络的分类:局域网:(双绞线、细/粗同轴电缆、微波、射频信号、红外;;以太网、令牌环网络、AppleTalk网络、ArcNet)广域网:(公用交换电话网PSTN、综合业务数字网ISDN、T1线路、帧中继FR、异步转移模式ATM、交互式多兆位数据服务SMDS)城域网(DQDB分布式队列双总线)
按工作模式分类:对等网络、基于服务器的网络
计算机网络的组成:服务器、工作站(客户机)、传输媒体(同轴电缆:185米50欧姆最多只能用4个中继器连接5个区域、仅有125三个区域连接计算机,粗同轴电缆500米10M;;双绞线:无屏蔽双绞线UTP、有屏蔽双绞线STP、100米、10—1000M3类10M5类100M、6类1000M;;光纤:多模光纤2Km、51M-1000M,单模光纤2-10km,1-10G;无线电波;微波;红外线;激光)网卡(48位2进制MAC地址,工作在数据链路层)调制解调器(ISDN、ADSL)中继器和集线器(放大信号、很少用、集线器HUB:多端口的中继器)网桥、路由器和网关(网桥连接网络分支、多了一个“过滤帧”功能、工作在数据链路层,路由器连接两种不同类型的局域网、工作在网络
层,网关连接两个网络不仅网络协议不一样,而且硬件和数据结构都大相径庭)交换机(第二层交换机:工作在数据链路层,用来代替集线器的一种应用在小型网络中的设备;第三层交换机:工作在网络层,可以完成普通路由器的功能或全部功能;高层交换机:工作在网络层之上,可以完成普通路由器功能的基础上,实现一些特殊的功能)标准和协议
网络协议和标准
物理层:机械特性、电气特性、功能特性、过程特性
数据链路层:封装成帧、流量控制、差错控制、传输管理;;LLC 层(逻辑链路控制层):负责建立和维护两台通信设备之间的逻辑通信链路;MAC层(介质访问控制层)
IEEE802:802.1(802协议概论)、802.2(逻辑链路控制层LLC 协议)、802.3(以太网的CSMA/CD载波监听多路访问/冲突检测协议)802.4(令牌总线TokenBus协议)、802.5(令牌环(TokenRing)协议)、802.6(城域网MAN协议)、802.7(FDDI宽带技术协议)、802.8(光纤技术协议)、802.9(局域网上的语音/数据集成规范)、802.10(局域网安全互操作标准)、802.11(无线局域网WLAN标准协议)
局域网协议:
以太网/IEEE802.3:IEEE802.3标准以太网10Mb/s传输介质为细同轴电缆、IEEE802.3u快速以太网100Mb/s双绞线、IEEE802.3z 千兆以太网1000Mb/s、光纤或双绞线;
令牌环网/IEEE802.5
FDDI/光纤分布式数据接口
广域网协议:ppp点对点协议、ISDN综合业务数字网、xDSL(DSL 数字用户线路的统称:HDSL、SDSL、MVL、ADSL)DDN数字专线、x.25、FR帧中继、ATM异步传输模式
网络结构:总线型拓结构、星型拓扑结构、环型拓扑结构。