《软件设计师》重点笔记

上传人:M****1 文档编号:570119812 上传时间:2024-08-02 格式:PDF 页数:71 大小:8.11MB
返回 下载 相关 举报
《软件设计师》重点笔记_第1页
第1页 / 共71页
《软件设计师》重点笔记_第2页
第2页 / 共71页
《软件设计师》重点笔记_第3页
第3页 / 共71页
《软件设计师》重点笔记_第4页
第4页 / 共71页
《软件设计师》重点笔记_第5页
第5页 / 共71页
点击查看更多>>
资源描述

《《软件设计师》重点笔记》由会员分享,可在线阅读,更多相关《《软件设计师》重点笔记(71页珍藏版)》请在金锄头文库上搜索。

1、作者序言为什么要分享软设笔记?一直以来, 我都认为人类世界最美好的事情莫过于用一个生命去影响另一个生命( 前提是正面影响) 。如果我的一点点努力,能够帮助你通过软考,我想,这将是很有意义的一件事情。考软设的人很多,我作为过来人,希望能够给予你们一些帮助。为什么要写序言?每一位读者,都不是我本人。看这本笔记,未必知道如何去看,所以我写下想说的话,希望你们在看笔记的过程中,少走弯路。软设,我付出了许多的心血,虽然不至于头悬梁锥刺股,但也是为其折腾了许多日子,至少, 是送了好多钱 这一路走来, 有很多感想, 写在这里, 也算是将其作为一个树洞吧。软考难吗?相信许多初次考软设的人都喜欢问老司机这个问题

2、, 其实没有人能给你正确答案, 除了你自己。对于一般人来说,上清华北大难吗?当然难,但是当中不乏NB之人,能够轻易过线,对他们来说就是so easy。所以,难与不难,取决与你的实力。为什么要考软考?软考的中级证书是能够拿来直接评职称的( 听说) ,也许你不知道什么是职称,其实我也不知道感觉好像是蛮有用的东西,自行百度吧。我只是个学生,大学时间相对工作而言还是比较多的,考考证,也不是什么坏事。而且,努力久了,软设不仅仅是一门专业证书的考试,更是我的信仰。对于求职,听说没什么大用,毕竟,计算机的发展大家也都知道,技术是第一位的。但是软设证书,如果人家有,你没有,我想这感觉应该不会太好。对于经济,考

3、一次140RMB ( 浙江省价格) 。曾经有人在群里收购软设挂证,开价3000元,对于学生的我,还是蛮开心的。这个笔记与 软件设计师教程的区别先说说这个笔记的由来吧。人脑毕竟存储空间有限,且极易遗忘。所以我把重要的知识点都会记下来,反复看。有 本 软件设计师教程( 以下简称教程) ,他写的非常详细。如果要买,我建议去某鱼看看,正版太贵了,个人建议阿,如果你钱多,或者坚决支持正版,当我没说。我与这本书的主要区别在于精。教程一共700页,共 计 100万汉字,写得非常非常详细,但是一般人都看不了多少页,枯燥难懂。而我的笔记,根据多套试卷的考点考频来综合考虑,记录了高频的一些知识点。且用最简单易懂的

4、语言来解释,有必要的话,我也配上了练习题与解析总共才2 万汉字,几乎都是高频考点,如果我的笔记写的不够详细,可以再去看对应教程中的知识点。复习软设的注意事项第一点,建议你们买一本 软件设计师同步辅导 ,这本书是比较简短的知识点,详细度不如教程,但是他不仅仅是按章节分类,更是具备了课后习题与解析。虽然不得不说,解析不咋滴。第二点,千万不要以为得到了这本笔记就和得到了 九阴真经一样,这本书,最适合的读者是谁?是我! 他针对的是我的弱点,每个知识点都是一针见血。对于读者,我写的知识点未必是你不会的,没写的知识点未必是你会的。只能说,最适合的读者是我。所以,我建议大家只是把这本笔记当作一个小小的参考资

5、料, 根据自己的做题经验, 去写本专属自己的笔记。第三点,不用去搜什么模拟卷,真题多的是。网上都有,另外,不要做年份太早的,我最初是从06年开始做的,知识点差的太多了 建议大家刷2010年之后的题。第四点,虽然我是计算机专业,但是我的。ffice功底确实渣的一批,所以排版也是非常糟糕的,只会用标题一,标题二,标题三来区分知识点的从属关系。我以个人的理解,将众多的知识分成了多个章节,数据结构、软件工程、多媒体等。所以可能分的不太科学,只是根据自己的理解而己。但是没关系,考试不会考你某个知识点是属于哪个章节的,你会做就可以。这本笔记的最佳使用方法是打开w ord的导航窗体,根据章节去看。标题 页面

6、 结果艮习软设的注意事项 q软件测试编译原理, 软件工程/ 软件生命周期问题定义可行性研究需求分析开发阶段百/ 统T (U P )简介初启阶段精化阶段构建阶段台 阶 段 Vlr明天,也很美好明天,就是2016年下半年的软设开考之日。没错,作为这本笔记的书写者,自己都还没通过软设我程序员考了 2 次才过,软设,这是第2 次考,希望能过吧。但是讲实话,若是没过,我也不会特别难过,放平心态吧,尽人事听天命。只能说技不如人,不能怨天尤人。拥有一个良好的心态,我觉得比拥有所谓的证书更重要。留个QQ吧,我也不知道留了有啥用, 出版社也不会来找我, 我就是想留一个948832626. 如果学习的过程中有疑问

7、的,还是别+ 我 QQ 了,我考完就忘了,回答不了你。我 留 Q Q 纯粹就是觉得应该有一个自己的标识,就是这样希望这本笔记,能让你们早日成为软件设计师!2016年 11月 1 1 日数据结构邻接矩阵无向图无向图邻接矩阵:其邻接矩阵第i 行元素的和即为顶点i 的度, 例如:顶点4 的度就是第四行的和,即 2。有向图其邻接矩阵的第i 行元素之和为顶点i 的出度,而邻接矩阵的第j 列元素之和为顶点j 的入度。例如:顶点3 的出度和入度分别为5 和 16.H 0 可提金.11千也当为5 电 旭 却 能浓上知必肾在为上的位支向依7、 耳画 联因,座利屯有身份2存储结构顺序存储结构用一组地址连续的存储单

8、元依次存储线性表的各个数据元素, 适用于频繁查询时使用。入接出最图3 -1栈的示意图,链式存储结构在计算机中用一组任意的存储单元存储线性表的数据元素( 这组存储单元可以是连续的, 也可以是不连续的) ,适用于在较频繁地插入、删除、更新元素时使用。单链表循环链表数据指针域*双链表各链表的比较因为双链表有两个指针域,因此,双链表的灵活度优于单链表, 但是双链表的开支要大一些散列存储结构将数据元素的存储位置与关键码之间建立确定对应关系的查找技术,即键值对。bucket array索引存储结构索引是一个单独的、 物理的数据库结构, 它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页

9、的逻辑指针清单。比如数据库ROOT住键索引Col2)树二叉排序树若它的左子树非空,则左子树上所有节点的值均小于它的根节点的值若它的右子树非空,则右子树上所有结点的值均大于等于它的根节点的值它的左、右子树也分别为二叉排序树。查找的时候,中序遍历二叉树,得到一个递增序列关键字最大的结点可以有左子树,但一定没有右子树哈夫曼树( 最优二叉树)定义是带权路径( W P L ) 最短的树,权值越大的叶子节点越靠近根节点。构造哈夫曼树及WPL计算例题已知一个文件中出现的各字符及其对应的频率如下表所示。 若采用定长编码, 则该文件中字符的码长应为( ) 。若采用Huffman编码,则字符序列“face” 的编

10、码应为( ) 。abcdef廨( % ) 4513121695A . 2B . 3C . 4D . 5A . 1 1 0 0 0 1 0 0 1 1 0 1B . 0 0 1 1 1 0 1 1 0 0 1 1C . 1 0 1 0 0 0 0 1 0 1 0 0D . 0 1 0 1 1 1 1 0 1 0 1 1解析:所谓定长编码是指用多少位二进制足够表示字符,图中字符是有6个的,a 、b 、c 、d 、e 、f , 可用0 0 0 到 1 0 1 表示a到 f , 这样编码字符的码长可以为3 , 4位当然也是可以,但我们是找最合适的,自 然 3位能满足要求。第二问,哈夫曼树的左节点未必要

11、比右节点小,但是通常做题时需要写成左小右大的形式,再左0右 1 赋值,所 谓 “ f a c e ”编码,是指找到这4个字母,从根节点出发,要经历的编码数。如下图所示,所以答案为B A平衡二叉树平衡二叉树( B a l a n d B i n a r y T r e e ) 又被称为A V L 树 ( 有别于A V L 算法) , 且具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1 , 并且左右两个子树都是一棵平衡二叉树。满二叉树除最后一层无任何子节点外,每一层上的所有结点都有两个子结点或0个子节点的二叉树。查找方法二分查找法( 折半查找法)适用情况不经常变动而查找频繁的有

12、序列表优点1、比较次数少2、查找速度快3、平均性能好缺点1、要求待查表为有序表2、插入删除困难实现算法首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程, 直到找到满足条件的记录, 使查找成功, 或直到子表不存在为止, 此时查找不成功。分块查找适用情况节点动态变化的情况优点比顺序查找算法( 就是一个一个的去比较)快得多缺点速度不如折半查找法实现算法把一个大的线性表分解成若干块,每块中的节点可以任意存放,但

13、块与块之间必须排序。假设是按关键码值非递减的, 那么这种块与块之间必须满足已排序要求, 实际上就是对于任意的 i , 第 i 块中的所有节点的关键码值都必须小于第i+1块中的所有节点的关键码值。 此外,还要建立一个索引表, 把每块中的最大关键码值作为索引表的关键码值, 按块的顺序存放到一个辅助数组中,显然这个辅助数组是按关键码值费递减排序的。查找时,首先在索引表中进行查找,确定要找的节点所在的块。由于索引表是排序的,因此,对索引表的查找可以采用顺序查找或折半查找;然后,在相应的块中采用顺序查找,即可找到对应的节点。平均查找长度(E(n)假设某个线性表中共有n 个节点,分成大小相等的b 块,每块

14、有s=n/b,则E(n)= Eb +Es二b+l . s+l-d-2 2+ 1P排序直接插入排序每一- 趟将一个待排序的记录, 按照其关键字的大小插入到有序队列的合适位置里, 直到全部插入完成, 比如斗地主抽牌就是这样的规则。简单选择排序每趟从待排序的记录中选出关键字最小的记录, 顺序放在已排序的记录序列末尾, 直到全部排序结束为止。排序前:9125748635第1趟:1925748635第2趟:1295748635第3趟:1235748695第4趟:1234758695第5趟:1234578695红色粗体表示位置发生变化的元素第6趟:1234558697第7趟:1234556897第8趟:1

15、234556798第9趟:1234556789排序后:1234556789图- 简单选择排序示例图Victor Ihang冒泡排序两两比较待排序的关键字, 并交换不满足次序要求的那对数, 直到整个表都满足次序要求为止。第三遍排序后第二遍排序后第一遍排序后初始状态希尔排序把记录按步长g用分组,对每组记录采用直接插入排序方法进行排序。随着步长逐渐减小,所分成的组包含的记录越来越多,当步长的值减小到1时,整个数据合成为一组,构成一组有序记录,则完成排序。初始9125748659125748635I Igap= 5第一趟排序- ,- - - - - - - - - - - - - - - - - -

16、1598657T23L4123598657r 4 1gap =2 -r第二趟排序12143s 657892143565789gap= 1 I I I I I I I I I I第三趟排序-L1234556789图- 希尔排序示例图 Zhang快速排序通过一趟排序将要排序的数据分割成独立的两部分: 分割点左边都是比它小的数, 右边都是比它大的数。 然后再按此方法对这两部分数据分别进行快速排序, 整个排序过程可以递归进行,以此达到整个数据变成有序序列。采用了分治法的算法策略。left right牛 ? left rightleft rightlefts right 第一步 :设置两个指针怙咕口 r

17、ight,分别指向数组的头部(2)和尾部(3)。并且以头部元素(2)为基准数base。第二步:从右至左扫描,通过偏移right指针,寻找比基准数小的元素。我们找到比基准数小的元素, 我们将其赋值给left指针所指的位置。第三步:从左向右扫描,通过偏移10ft指针,寻找比基准数大的元素。我们找到比基准数大的元素,我们将其赋值给right指针所指向的位置。第四步:不断重复二、三步骤, 直到left、right指 针 络 。这样,所有的元素都被扫描了一遍。我们将基准数赋给重合位置。此时,已完成了一次排序。基准数的左边都是比它小的数, 而右边都是比它大的数。第五步 :以基准数(2)为分割点。对其左侧和

18、右侧的数分别按照一、二、三、四步骤去进行排序。经过递归过程,最后排序结束。Victor Zhang堆排序堆排序中堆的定义:n个元素的序列 k i ,k 2 , ,k J当且仅当满足下列关系时,称为堆。层请;1或 / 羡: : ( i = 1 2 ,即归并排序将待排序序列R O . . . n - l 看成是n个长度为1的有序序列,将相邻的有序表成对归并,得到n / 2个长度为2的有序表;将这些有序序列再次归并,得到n / 4个长度为4的有序序列;如此反复进行下去,最后得到一个长度为n的有序序列。gap = 2gap = 4gap = 8gap= 1基数排序基数排序与本系列前面讲解的七种排序方法

19、都不同, 它不需要比较关键字的大小。 它是根据关键字中各位的值,通过对排序的N个元素进行若干趟“ 分配”与 “ 收集”来实现排序的。设有一个初始序列为:R 50, 123, 543, 187, 49, 30, 0, 2, 11, 100。我们知道,任何一个阿拉伯数,它的各个位数上的基数都是以09来表示的。所以我 们 不 妨 把09视 为10个 桶 。 我们先根据序列的个位数的数字来进行分类,将其分到指定的桶中。例如:R0 = 5 0 ,个 位 数 上 是0 ,将这个数存入编号为0的桶中。05030010011122312354345671878949分类后,我们在从各个桶中,将这些数按照从编号

20、0到编号9的顺序依次将所有数取出来。这时,得到的序列就是个位数上呈递增趋势的序列。 按照个位数排序: 50, 30, 0,100, 11,2, 123, 543, 187, 49。排序的比较排序方法最好时间复杂度平均时间复杂度最坏时间复杂度辅助空间稳定性直接插入O(n)O(n2)O(n2)0(1)稳定简单选择O(n2)O(n2)O(n2)。 不稳定冒泡排序O(n)O(n2)O(n2)0(1)稳定希尔排序不存在O(n13)不存在。 不稳定快速排序O(nlog2 n)O(nlog2n)O(n2)O(log2n)不稳定堆排序O(nlog2 n)O(nlog2 n)O(nlog2n)0(1)不稳定归并

21、排序O(nlog2 n)O(nlog2 n)O(nlog2 n)O(n)稳定基数排序O(d(n+rd)O(d(n+rd)O(d(n+rd)O(rd)稳定例题堆是一种数据结构,(34)是堆排序A. (10, 50, 80, 30, 60, 20,15,18)B. (10, 18,C. (10, 15,D. (10, 30,15, 20, 50,18, 50, 80,60, 20, 15,80, 30, 60)30, 60, 20)18, 50, 80)根据定义可知选B广义表广义表的长度是将最外面那层的括号删了以后所剩下的元素( 组) 个数,深度是括号的层数例题L l = ( ( a , ( a

22、, b ) , ( ( a , b ) , c ) ) ) , L 2 =( ( l , 2 , 3 ) ) , L 3 =( l , 2 , 3 ) 。求 L I 、L 2 、L 3 的长度和深度答案:长度深度L114L212L331归并排序的归并路数归并路数= l o g k m 其中m为元素个数,k为多路归并趟数例题若对2 7 个元素只进行三趟多路归并排序,则选取的归并路数为( 3 7 ) oA . 2 B . 3 C . 4 D . 5根据公式可得l o g 以 3为底,以 2 7 为真数的答案为3 。所以选B表达式的记法前缀表达式( 前缀记法、波兰式)从右至左扫描表达式,遇到数字时,

23、将数字压入堆栈,遇到运算符时,弹出栈顶的两个数,用运算符对它们做相应的计算( 栈顶元素op次顶元素) ,并将结果入栈;重复上述过程直到表达式最左端,最后运算得出的值即为表达式的结果。例 如 前 缀 表 达 式 X + 3 4 5 6 ” :( 1 ) 从右至左扫描,将 6 、5 、4 、3 压入堆栈;( 2 ) 遇到+ 运算符,因此弹出3 和 4 ( 3 为栈顶元素,4为次顶元素,注意与后缀表达式做比较) ,计算出3 + 4 的值,得 7 , 再将7 入栈;( 3 ) 接下来是X运算符,因此弹出7 和 5 , 计算出7 义5 =3 5 , 将 3 5 入栈;( 4 ) 最后是- 运算符,计算出

24、3 5 - 6 的值,即 2 9 , 由此得出最终结果。中缀表达式我们平常用的表达式a+b-c这样的就是中缀表达式后缀表达式( 后缀记法、逆波兰式)从左至右扫描表达式,遇到数字时,将数字压入堆栈,遇到运算符时,弹出栈顶的两个数,用运算符对它们做相应的计算( 次顶元素o p栈顶元素) ,并将结果入栈;重复上述过程直到表达式最右端,最后运算得出的值即为表达式的结果。例如后缀表达式“ 3 4 + 5 X 6( 1 )从左至右扫描,将3和4压入堆栈;( 2 )遇到+ 运算符,因此弹出4和3 ( 4为栈顶元素,3为次顶元素,注意与前缀表达式做比较) ,计算出3+4的值,得7 ,再将7入栈;( 3 )将5

25、入栈;( 4 )接下来是X运算符,因此弹出5和7 ,计算出7义5 = 3 5 ,将35入栈;( 5 )将6入栈:( 6 )最后是- 运算符,计算出35-6的值,即2 9 ,由此得出最终结果。系统基础符号数原码正数的原码等于自身的二进制数,负数的原码第一位为1(符号位,表示负数) ,后面为自身的二进制数反码正数的反码等于自身的二进制数,负数的反码符号位不动,其余各位按位取反补码正数的补码等于自身的二进制数,负数的补码是在反码的基础上+1移码( 增码)无论正负数,只要将其补码的符号位取反即可符号数的应用在计算机中,最适合数字加减运算的数字编码是补码,最适合表示浮点数阶码的数字编码是移码。定点数所谓

26、定点数,就是小数点的位置固定不变的数。小数点的位置通常有两种约定形式:定点整数 ( 纯整数,小数点在最低有效数值位之后)和定点小数( 纯小数,小数点在最高有效数值位之前) 。机器字长为n时各种码制表示的带符号数的范围码制定点整数定点小数原码-(2n-l),2n-1-l1-2 (-1)反码_( 1_牙 叫 一 牙 补码-2n l, 2nH-l-1, 1-2- 叫移码2-1-1-1, 1-2记忆技巧当A=2 B=l-2 时,则有以下规律码制定点整数定点小数原码-(A-1),A-1-B, B反码-(A-D)A-U-B, B补码-A, A-l-1,B移码-A, A-l-1.B计算机指令系统立即寻址 :

27、操作数包含在指令中,获取操作数是最快的直接寻址 :操作数的地址在指令中寄存器寻址 :操作数在寄存器中寄存器间接寻址:操作数的地址在寄存器中中央处理器CPU的组成运算器、控制器、寄存器和内部总线,其中控制器不仅要保证程序的正确执行,而且要能够处理异常事件。存储系统存储器的分类按位置分类内 存 ( 主存) 、外 存 ( 辅存)按材料分类磁存储器、半导体存储器、光存储器按工作方式分类读写存储器、只读存储器按访问方式分类按地址访问的存储器、按内容访问的存储器( 相联存储器)按寻址方式分类随机存储器、顺序存储器、直接存储器软件测试测试阶段划分单元测试( 模块测试)一般是在编程阶段完成, 由程序员对自己编

28、写的模块自行测试, 检查模块是否实现了详细设计说明书中规定的功能和算法,通常使用白盒测试。单元测试计划应该在详细设计阶段制定。单元测试期间着重从:模块接口、局部数据结构、重要的执行通路、出错处理、边界条件这几个方面对模块进行测试。集成测试( 组装测试)主要目标是发现模块间的接口和通信问题。 集成测试主要发现概要设计阶段产生的错误, 通常采用黑盒测试。 集成测试计划应该在概要设计阶段制定。 集成的方式可分为非增殖式和增殖式。确认测试检查软件的功能、 性能和其他特征是否与用户的需求一致。 它是以需求规格说明书作为依据的测试,通常采用黑盒测试。软件确认测试首先要进行有效性测试以及软件配置审查, 然后

29、进行验收测试。确认测试一般有以下三个步骤:( 1 ) 有效性测试( 2 ) 软件配置审查( 3 ) 验收测试a测试与B测 试 ( 当一个软件是作为产品被许多客户使用时需要用这种测试)系统测试系统测试的任务是把软件放在实际的硬件和网络环境中进行测试, 主要测试软件的非功能需求和质量属性是否得到满足。 系统测试是根据系统方案说明书来设计测试用例, 通常采用黑盒测试。常见的系统测试有:恢复测试、安全性测试、强度测试、性能测试、可靠性测试和安装测试。 在已确认的计算机软硬件环境下,通过与系统需求对比,发现系统与用户需求不符或矛盾的地方。回归测试在软件发生变更后进行的测试,以发现变更时引起的其他错误白盒

30、测试语句覆盖使被测程序中的每条语句至少执行一次判定覆盖( 分支覆盖)使被测程序中的每个判定表达式至少获得一次 真 值和 假 值条件覆盖使被测程序中的每个逻辑条件的各种可能的值至少满足一次判定/ 条件覆盖使得判定中的每个条件的, 真 值和, , 假, 值至少出现一次,并使本身判定结果的 真 值和 假值至少出现一次条件组合覆盖使得每个判定中条件的各种可能值的组合都至少出现一次。 满足条件组合覆盖的测试用例是一定满足判定覆盖、条件覆盖和判定/ 条件覆盖的路径覆盖覆盖被测试程序中所有可能的路径面向对象测试以下四个层次由低到高的顺序排列(1)测试与对象关联的单个操作,即算法层。(2)测试单个对象类,类

31、层 。(3)测试对象集群,模板层(4)测试面向对象系统,系统层。编译原理校验码奇偶校验通常用于对少量数据的校验奇校验将信息数据的各位进行模二加法并作为校验码的称为奇校验。偶校验将信息数据的各位进行模二加法并取反作为校验码的称为偶校验。海明码采用多位校验码的方式,可以发现、纠正错误。数据位和校验位必须满足关系式:2 梭 如数据位+ 校验位。码距至少是3 。循环冗余校验码检错能力非常强,但是不能纠错。编码长度( C R C 字长) 为数据位+ 校验位文法终结符和非终结符文法格式通常为:若字符为大写字母,则是非终结符,若字符为小写字母,则是终结符文法的分类0型文法( 短语文法)设 6 = ( V N

32、 , V T , P , S ) ,如果它的每个产生式a-B是这样一种结构:a G ( V N U V T ) * 且至少含有一个非终结符,而 B G ( V N U V T ) * , 则 G是 一 个 。型文法。一个非常重要的理论结果是: 0型文法的能力相当于图灵机( T u r i n g ) 。 或者说,任何0型文语言都是递归可枚举的,反之,递归可枚举集必定是一个0型语言。0型文法是这几类文法中,限制最少的一个,所以我们在试题中见到的,至少是0型文法。1型文法( 上下文有关文法)此文法对应于线性有界自动机。它是在0型文法的基础上每 一 个 。一 6 ,都 有 邛 | = | & | 。

33、这里的I B | 表示的是B的长度。注意:虽然要求| B | = | a 但有一特例: a-e也满足1 型文法。如有A - B a 则 如 | = 2 , | a | = 1 符 合 1 型文法要求。反之, 如如- a , 则不符合1 型文法。2 型文法( 上下文无关文法)此文法对应于下推自动机。 2型文法是在1 型文法的基础上, 再满足: 每 一 个 a - B都 有 a是非终结符。如 A - B a , 符 合 2型文法要求。大多数程序设计语言的语法规则可以用上下文无关文法描述如 A b - B a b 虽然符合1 型文法要求, 但不符合2型文法要求,因为其a = A b , 而 A b

34、不是一个非终结符。3 型文法( 正规文法)此文法对应于有限状态自动机。它 是 在 2型文法的基础上满足: A - a a B ( 右线性)或A - a | B a ( 左线性) 。如 有 : A - a , A - a B , B - a , B - c B , 则 符 合 3 型 文 法 的 要 求 。 但 如 果 推 导为: A - a b , A - a B , B - a , B - c B 或推导 为: A - a , A - B a , B - a , B - c B 则不符合 3 型方法的要求了。具 体 的 说 , 例 子 A - a b , A - a B , B - a ,

35、B - c B 中的A - a b 不符合3型文法的定义, 如果把后 面 的 a b , 改 成 “ 一 个 非 终 结 符 + 一 个 终 结 符 ”的 形 式 ( 即 为 a B )就对了。例子A - a , A - B a , B - a , B - c B 中如果把B - c B 改 为 B - B c 的形式就对了, 因为A - a | a B ( 右线性)和 A - a | B a ( 左线性)两套规则不能同时出现在一个语法中, 只能完全满足其中的一个, 才 能 算 3型文法。数据流图( D a t a Fl ow D i a g r a m, D FD )在面向数据流的设计方法中

36、,一般把数据流图中的数据流划分为两种类型,一种是变换流,一种是事务流。D FD 由数据流、加工、数据存储和外部实体4个要素构成。编译过程词法分析从左到右逐个字符地扫描, 从中识别出一个个“ 单词”符号。 “ 单词”符号是程序设计语言的基本语法单位,如关键字、标识符、常数、运算符和分隔符等。语法分析根据语言的语法规则将单词符号序列分解成各类语法单位,比如表达式、语句和程序等。语法规则就是各类语法单位的构成规则。 通过语法分析确定整个输入串是否构成一个语法上正确的程序。语义分析检查源程序是否包含静态语义错误, 并收集类型信息供后面的代码生成阶段使用。只有语法和语义都正确的源程序才能被翻译成正确的目

37、标代码。语义分析的一个主要工作是进行类型分析和检查。 程序语言中的一个数据类型一般包含两个方面的内容:类型的载体及其上的运算。例如:整除取余运算只能对整型数据进行运算,若其运算对象中有浮点数就认为是类型不匹配的错误。静态的语义错误是指编译程序可以发现, 动态的语义错误是指源程序虽然能够被编译和执行, 但是结果不对, 一般是逻辑上的错误。进程进程的三态图就绪状态:进程)得到运行所需资源,只等待CPU的调度便可运行;运行状态:进程上得到运行所需资源,并且得到了CPU的调度;等待状态:不具备运行条件、等待时机的状态。另:等待状态也称阻塞状态。进程的五态图PV操作进入临界区时执行P操作( 申请) ,退

38、出临界区时执行V操作( 释放)操作系统内存编址已知主存容量为1 6M B , 且按, 求该主存地址至少需要多少位当的内容为“ 字节编址”时字节编址就是 8 位的意思, 所以 1 6M B = ( 1 6* 1 0 24 ) KB = ( 1 6* 1 0 24 * 1 0 24 ) b y t e= 2,* 2l0* 2l0= 224 b y t e.所以需要24 位当的内容为“4位编址”时先 将 编 址 方 式 凑 成 8位 ,即 2 * 4 位 ,相 应 的 主 存 容 量 也 扩 充 2 倍 为 32M B , 所以32M B = ( 32* 1 0 24 ) KB = ( 32* 1

39、0 24 * 1 0 24 ) b y t e= 25* 2w* 2l l = 225b y t e. 所以需要 25 位例题若内存按字节编址, 用存储容量为32Kx 8比特的存储器芯片构成地址编号A 0 0 0 0 H- D F F F F H的内存空间,则至少需要 片。1 、A . 4 B . 6 C . 8 D . 1 0空间大小为 D F F F F - A 0 0 0 0 + l= 2621 4 4 b y t e= 25 6kb 。组成内存储器的芯片数量= 内存储器的容量/ 单个芯片的容量= ( 25 6kb * 8 b ) / ( 32k* 8 b ) = 8 , 所以选 C指令

40、运行参数设定变量T为指令运行总时间,t 为所需时间最长部分指令的时间( 周期) ,n 为指令条数指令相关公式顺序方式运行指令所需时间:T * n流水方式运行指令所需时间:T + ( n- l) t重叠方式运行指令所需时间:( n+ 2) * t吞吐率:n/ 流水方式运行指令所需时间效率:效率= 吞吐率* t加速比:加速比二效率* n例题若指令流水线把一条指令分为取指、分析和执行三部分,且三部分的时间分别是2ns , 2ns , 1 ns , 则 1 0 0 条指令全部执行完毕所需的时间是多少ns答: 因为指令运行时间= T + ( nT ) t , 所以( 2+ 2指令( 1 行肘) * 2=

41、 20 3。注意, 若选择题中没有相应的选择,则将每段指令所需时间均设置为最长时间,就本题而言,应 该 是 2ns , 2ns , 2ns 。( 因为目前对于指令运行时间的算法没有统一)若每一条指令都可以分解为取指、分析和执行三步。已知取指时间t 取指= 5 At,分析时 间 t分析= 2 At,执行时间t执行= 5 A t 。如果按顺序方式从头到尾执行完5 0 0 条指令需A t 。如果按照 执行k、分 析 k+ 1 、 取指k+ 2重叠的流水线方式执行指令,从头到尾执行完5 0 0 条 指 令 需 t 4 、 A . 5 5 90 B . 5 5 95 C . 60 0 0 D . 60

42、0 75 、 A . 24 92 B . 25 0 0 C . 25 1 0 D . 25 1 5第一个空符合顺序方式,则时间为T * n= l2* 5 0 0 = 60 0 0 , 第二个空符合重叠的流水线方式,则时 间 为 ( n+ 2) * t = ( 5 0 0 + 2) * 5 = 25 1 0 , 所以选 C , C某指令流水线由5段组成,各段所需要的时间如下图所示。连续输入1 0 条指令时的吞吐率 为 _ 。6、A . 1 0 / 7 0 A t B . 1 0 / 4 9 A t C . 1 0 / 35 A t D . 1 0 / 30 A t吞吐率=n/ T + ( n-

43、1 ) t = 1 0 / ( ( 1 + 3+ 1 + 2+ 1 ) + 9* 3) = 1 0 / 35 At,所以选 C内存管理分配方案的比较分配办法单一连续分配固定分区分配可变分区分配分配类型静态分配法静态分配法动态分配法分配特点不分区,所有用户空间给某个进程或作业分成大小不等的区域,区域分完后固定不变分成大小不等的区域,根据用户要求动态分配可变分区分配算法首次适应法从主存低地址开始,寻找第一个可用( 即大于等于作业需求的内存)的自由区,这种方法可实现快速分配,缩短查找时间。循环适应法是首次适应法的一个变种,也就是不再是每次都从头开始匹配,而是连续向下匹配。最佳适应法选择最接近作业需求

44、的内存自由区进行分配。 这种方法可以减少碎片, 但同时也可能带来更多小得无法再用的碎片。最差适应法选择整个主存中最大的内存自由区。虚存管理页式存储题目往往是给出下图求物理地址,首先,我们知道所谓的逻辑地址是页号+ 页内地址,页内地址= 页面大小位数。具体的做法是:将逻辑地址转换为二进制,从右边开始数页内地址位数, 剩下的左边二进制即为页号、根据图片找到对应的块号,则物理地址为块号( 二进制) + 页内地址。例题页式存储系统的逻辑地址是由页号和页内地址两部分组成。假定页面的大小为4 K ,地址变换过程如下图所示,图中逻辑地址用十进制表示。图中有效地址经过变换后,十进制物理地址a应为 o供选择的答

45、案A. 33220 B. 8644 C. 4548 D. 2500此题考查的是虚拟存储中的页式存储,题目已知页面大小为4 K ,因为4K=212所以页内地址有12位。现在把逻辑地址8644转成二进制,W10 000T1100 0100,其中的低12位为页内偏移量,最高两位则为页号,所以逻辑地址8644的页号为1 0 ,即十进制的2 ,所以物理块号为8 ,化为二进制得1000。把物理块号和页内偏移地址拼合得1000 00011100 0100,化为十进制得33220。所以正确答案是A。段式存储考点二:存储一虚存管理2 .段式存储组织段号段内地址31作业空阿16 15内存空间080K(MAIN)-

46、O30K(X尸I20KT120K15K(S)=310K150Kwww.CSAI.cn不同管理方式之间的优缺点优点缺点段式存储便于多道程序共享内存,便于对存储器的保护,各段程序修改互不影响内存利用率低,内存碎片浪费大页式存储利用率高,产生的内存碎片小,内存间分配及管理简单要有相应的硬件支持,增加了系统开销,请求调页的算法如选择不当,有可能产生抖动现象段页式存储空间浪费小, 存储共享容易、 由于管理软件的增加,复杂存储保护容易、能动态连接性和开销也随之增加,需要的硬件以及占用的内容也有所增加,使得执行速度大大下降页面置换算法最优置换算法后续页面最先被访问的页面保留,淘汰那些很久才会被使用的页面先进

47、先出算法优先淘汰最先进入的页面最近最少使用算法优先淘汰存在最久的页面局部性原理时间局部性一个页面被访问后,很有可能再次被访问空间局部性一个页面被访问后,很有可能访问其周围的页面作业管理作业时间作业周转时间丁= 作业完成时间- 作业提交时间T=作业等待时间+ 作业运行时间作业平均周转时间T 平均=(T1+T2+.Tn) /n带权作业周转时间单个作业带权周转时间W=作业周转时间/ 作业实际运行时间作业平均带权周转时间W= (W1+W2+.+Wn) /n作业调度算法先来先服务按作业序号依次运行最短作业优先优先运行所需运行时间最短的作业优先数优先级高优先运行定时轮转规定一个时间片大小,作业按序号依次运

48、行,每次运行时间与时间片大小等同,到期后继续运行下一个时间片长度的任务,重复步骤。Cache ( 高速缓存)Cache的读写过程写直达当要写Cache时,数据同时写回主存写回当相应数据从Cache中被淘汰时写回主存标识法取数据时添加一个有效位为1 , 当修改主存数据后设置有效位为0.地址映像直接映像主存与Cache的映像主存的每一页与Cache的每一页相同大小,因为主存比Cache大得多,所以尽管每一页相等,主存的总页数远大于Cache的总页数。因此,根据Cache的页数大小,主存将相同分为多个组,每个组的页数与Cache总页数相等,其中的每一页正好配对。编号不一致的页是不能相互映像的。优缺点

49、优点:地址变换简单。缺点:每块相互对应,不够灵活。主存与Cache的地址组成主存:区号+ 块号+ 块内地址Cache:块号+ 块内地址示意图主存全相联映像主存与Cache的映像将主存与Cache划分成若干个大小相等的块,主存中每一块都可以调到Cache中的每一块。特点优点:访问灵活,冲突率低,只有Cache满时才会出现在冲突。缺点:地址变换比较复杂,速度相对慢。主存与C a c h e 的地址组成主存:块号+ 块内地址C a c h e :块号+ 块内地址示意图主存组相联映像主存与C a c h e 的划分主存:主存根据Cache大小划分成若干个区,每个区内划分成若干个组,每个组再划分成若干个

50、块。Cache:划分成若干个组,每个组划分成若干个块。主存与C a c h e 的映像主存的每个分区与Cache采用直接映像,主存的每个组之内采用全相联映像。特点融合了直接映像与全相联映像两种映像方式,结合了两者的优据点。具体实现容易,命中率与全相联映像接近。主存与C a c h e 的地址组成主存:区号+ 组号+ 块号+ 块内地址Cache:组号+ 块号+ 块内地址不意图主存勺存中的第1 2 7 区块冲突次数比较C a c h e标记。 页标记1 页标记。 页标记1 页. . . 标记。 页标记1 页发生块冲突次数从大到小排序为:直接映像 组相联映像 全相联映像例题某 3 2 位计算机的c

51、a c h e 容 量 为 1 6 K B, c a c h e 块的大小为1 6 B, 若主存与c a c h e 的地址映射采用直接映射方式,则主存地址为1 2 3 4 E 8 E 8 ( 十六进制)的单元装入的c a c h e 地址为_ 0A . 0 0 0 1 0 0 0 1 0 0 1 1 0 1 ( 二进制)B. 0 1 0 0 1 0 0 0 1 1 0 1 0 0 ( 二进制)C . 1 0 1 0 0 0 1 1 1 1 1 0 0 0 ( 二进制)D . 1 1 0 1 0 0 1 1 1 0 1 0 0 0 ( 二进制)c a c h e 的容量为1 6 K B, 块大

52、小为1 6 B, 因此一共有1 6 K B/ 1 6 B= 1 0 2 4 个页,所以需要1 0 位来存 储 ( 21 0= 1 0 2 4 ) o 块所需要的存储地址位数为4位 ( 24= 1 6 )0因为采用的是直接映射方式,所以主存与c a c h e 的地址关系为:主存:区号+ 块号+ 块内地址C a c h e :块号+ 块内地址所以,c a c h e 地址一共是1 4 位,将主存地址转换为二进制后最后1 4 位就是C a c h e 地址了,选 C“ C a c h e + 主存储器”系统的平均周期若 t l 为 C a c h e 的周期时间,t 2 为主存储器周期时间,h为

53、C a c h e 的访问命中率,则系统的平均周期为h * t l + ( l - h ) * t 2命中率C a c h e 由两部分组成:控制部分和C a c h e 存储器部分。控制部分的功能是判断C P U要访问的信息是否在C a c h e 存储器中,若在即为命中,若不在则没有命中。命中时直接对C a c h e 存储器寻址;未命中时,要按照替换原则决定主存的一块信息放到C a c h e 存储器的哪一块里。C a c h e 命中率=( 平均存取时间- 主存存取时间)/( 高速缓存存取时间- 主存存取时间)例题高速缓存c a c h e 与主存间采用全相联地址映像方式,高速缓存的容

54、量为4 M B, 分 为 4块,每块 1 M B, 主存容量为2 5 6 M B。 若主存读写时间为3 0 ns , 高速缓存的读写时间为3 ns , 平均读写时间为3 . 2 7 ns , 则该高速缓存的命中率为由公式可得命中率为9 9 %总线系统的数据传送速率计算公式公式Q = W * F / N, 其 中 Q为总线数据传输率,W为总线数据宽度( 总线位宽/ 8 ) , F为总线工作频率,N 为完成一次数据传送所需的总线时钟周期个数。例题若总线位宽为1 6 位,总线工作频率为8 M H Z , 完成一次数据传送需2个总线时钟周期,则总线的数据传输速率为多少?Q 的计算公式为:( ( 1 6

55、 / 8 ) * 8 M ) / 2 = 8 M B/ s中断响应时间从发出中断请求到进入中断处理所用的时间系统的可靠性设 p l , p 2 为 2 个部件的可靠度串联与并联系统若为并联,则可靠度= l - ( b p l ) ( l - p 2 )若为串联,则可靠度= p l p 2N模冗余系统N 模冗余系统是当有一定量的部件做出相同的处理结果时,则输出该结果,概念太复杂,懒得写了,直接举例子吧,如上图所示,若该3个部件中有2个部件正常运行,则输出结果,因此要计算2个部件的情况和3 个部件的情况,计算公式如下,其中N 为总部件数,i 为当前计算的正常运行的部件数,R为可靠性。平均无故障时间

56、( M T BF )MTBF=1/A,人为失效率例题三个可靠度R均为0. 8 的部件串联构成一个系统,如下图所示:则该系统的可靠度为由串联公式可得:0.8X0. 8X0. 8=0.512我们采用下图所示的上决模型, 若图巾仃什何 个或泠/ 系统输出相同,则选择该相同的输;H作为系统输出,设单个系统的可洋性为0.8M .将入豕I.1性 为 :杵单个子系统的可靠性为0 5 整个系统的可靠性为211供选择的答案(1)A. 0.882(2)A. 0.5输入B. 0.896B. 0.54C. 0.925C. 0.62D. 0.94D. 0.65cj X 0 g x ( i片) 十C; x。 、k x (

57、7 )二九6 M同理,当R为0 .5时可计算出可靠性为0 .5 ,所以选择BA若某计算机系统是由5 00个元器件构成的串联系统,且每个元器件的失效率均为10-7/H,在不考虑其他因素对可靠性的影响时, 该计算机系统的平均故障间隔时间为 小时。根据公式可得MTBF= 1/5* 10-吐2* 1( /缓冲区单缓冲区花费的时间= ( 读缓冲时间+传送用户时间) *磁盘块+每个磁盘处理时间双缓冲区花费的时间= 读缓冲时间*磁盘块+传送用户时间+每个磁盘处理时间软件工程软件生命周期问题定义要求系统分析员与用户进行交流,弄清“ 用户需要计算机解决什么问题”然后提出关于“ 系统目标与范围的说明” ,提交用户

58、审查和确认可行性研究一方面在于把待开发的系统的目标以明确的语言描述出来另一方面从经济、技术、法律等多方面进行可行性分析。需求分析确定软件系统的功能需求和非功能需求;分析软件系统的数据要求:导出系统的逻辑模型;修正项目开发计划;如有必要,可以开发一个原型系统。开发阶段1 , 设计2 , 实现:根据选定的程序设计语言完成源程序的编码。3 , 测试维护1 , 改正性维护:在软件交付使用后,由于开发测试时的不彻底、不完全、必然会有一部分隐藏的错误被带到运行阶段,这些隐藏的错误在某些特定的使用环境下就会暴露。2 , 适应性维护:是为适应环境的变化而修改软件的活动。3 , 完善性维护:是根据用户在使用过程

59、中提出的一些建设性意见而进行的维护活动。4 , 预防性维护:是为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础。统一过程(UP)简介每个阶段达到某个里程碑时结束,以下列出了各个阶段的里程碑初启阶段生命周期目标精化阶段生命周期架构构建阶段初始运作功能移交阶段产品发布C MM ( C a p a b i l i t y Ma t u r i t y Mo d e l , 软件能力成熟度模型)初始级软件工程管理制度缺乏,过程缺乏定义、混乱无序可重复级建立了基本的项目管理过程和实践来追踪项目费用、进度和功能特性已定义级所有项目都采用根据实际情况修改后得到的标准软件过程来开发和维护软件已

60、管理级收集对软件过程和产品质量的详细度量,对软件过程和产品都有定量的理解与控制优化级过程的量化反馈和先进的新思想,新技术促使过程不断改进C MMI ( C a p a b i l i t y Ma t u r i t y Mo d e l In t e g r a t i o n , 软件能力成熟度集成模型)未完成级表明过程域的一个或多个特定目标没有被满足已执行级过程通过转化可识别的输入工作产品, 产生可识别的输出工作产品, 关注于过程域的特定目标的完成已管理级过程作为已管理的过程制度化,针对单个过程实例的能力已定义级过程作为已定义的过程制度化,关注过程的组织级标准化和部署量化管理级过程作为定

61、量管理的过程制度化优化级过程作为优化的过程制度化,表明过程得到很好地执行且持续得到改进COCOMO基本COCOMO模型静态单变量模型,用于对整个软件系统进行估算。中级COCOMO模型静态多变量模型,将软件系统模型分为系统和部件两个层次详细COMO模型将软件系统模型分为系统、子系统和模块三个层次,除包括中级模型所考虑的因素外, 还考虑了在需求分析、软件设计等每一步的成本驱动属性的影响。COCOMOII应用组装模型在软件工程的前期阶段使用,这时用户界面的原型开发、对软件和系统交互的考虑、性能的评估以及技术成熟度的评价是最重要的早期设计阶段模型在需求已经稳定并且基本的软件体系结构已经建立时使用体系结

62、构阶段模型在软件的构造过程中使用Putnam估算模型动态多变量,它是假设在软件开发的整个生存周期中工作量有特定的分布。ISO/IEC 9126 ( 软件质量模型)简介由3个层次组成:第一层是质量特性,第二层是质量子特性特性含义其中各六个质量特性与二十七个质量子特性的关系如下表:质量特性功能性可靠性易使用性效率可维护性可移植性质量子特性适合性成熟性易理解性时间特性易分析性适应性准确性容错性易学性资源特性易改变性易安装性互用性易恢复性易操作性稳定性一致性依从性易测试性易替换性U M L ( U n ified M o delin g L an gu age, 统一建模语言)构件图用来以图形化的方式

63、描述系统的物理结构,它可以用来显示程序代码如何分解成模块部署图描述系统中硬件和软件的物理架构,它描述构成系统架构的软件构件、处理器和设备用例图以图形化的方式描述系统与外部系统及用户的交互。对系统的使用方式进行分类。协作图强调收发消息的对象之间的结构组织序列图描述了在一个用例或操作的执行过程中以时间顺序组织的对象之间的交互活动,关注系统的动态视图对象图展现了一组对象以及它们之间的关系,描述了在类图中所建立的事物的实例的静态快照类图展现了一组对象、接口、协作和它们之间的关系,给出系统的静态视图,对系统的静态设计视图建模( 对系统的词汇建模、对简单协作建模、对逻辑数据库模式建模)状态图用于类、接口、

64、协作的行为建模,强调对象行为的事件顺序,关注系统的动态视图活动图是一种特殊的状态图, 展现了在系统内从一个活动到另一个活动的流程。 活动图专注于系统的动态视图,它对于系统的功能建模特别重要,并强调对象间的控制流程。顺序图强调的是对象间发送消息的顺序。类之间的相互联系在类与类之间的5种关系中,从弱到强依次为:依赖,关联,聚合,组合和继承项目管理Gantt无法描述任务之间的依赖关系,也无法确定影响进度的关键任务特点:使用水平线段表示任务的工作阶段;线段的起点和终点分别对应着任务的开工时间和完成时间;线段的长度表示完成任务所需的时间。优点:标明了各任务的计划进度和当前进度,能动态地反映项目进展;缺点

65、:难以反映多个任务之间存在的复杂逻辑关系。P E R T 和 C P Mpert无法描述任务之间的并行关系PERT技术叫做计划评审技术,CPM方法叫做关键路径法。它们都安排开发进度,制定软件开发计划的最常用的方法。它们都采用网络图来描述一个项目的任务网络,也就是从一个项目的开始到结束,把应当完成的任务用图或表的形式表示出来。www.CSA耦合无直接耦合两个模块之间没有直接的关系, 它们分别从属于不同模块的控制与调用, 它们之间不传递任何信息。因此,模块间耦合性最弱,模块独立性最高数据耦合两个模块之间有调用关系,传递的是简单的数据值标记耦合两个模块之间传递的是数据结构,如高级语言的数组名, 记录

66、名, 文件名等这些名字即为标记, 其实传递的是这个数据结构的地址.控制耦合模块间传递的信息不但有数据,还包括控制信息。例如:一个模块通过传递开关、标志对某一模块的多种功能进行选择,则这两个模块之间的耦合方式是控制耦合。内容耦合当一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部外部耦合模块间通过软件之外的环境联结( 如 I/O 将模块耦合到特定的设备、格式、通信协议上)公共耦合通过一个公共数据环境相互作用的那些模块间的耦合内聚功能内聚完成一个单一功能,各个部分协同工作,缺一不可。顺序内聚处理元素相关,而且必须顺序执行通信内聚所有处理元素集中在一个数据结构的区域上过程内聚

67、处理元素相关,而且必须按特定的次序执行瞬时内聚所包含的任务必须在同一时间间隔执行,如初始化模块逻辑内聚完成逻辑上相关的一组任务偶然内聚完成一组没有关系或松散关系的任务软件开发模型瀑布模型给出了软件生存周期中制定开发计划、需求分析、软件设计、编码、测试和维护等阶段以及各阶段的固定顺序,上一阶段完成后才能进入到下一阶段,整个过程如同瀑布流水。该模型为软件的开发和维护提供了一种有效的管理模式, 但在大量的实践中暴露出其缺点, 其中最为突出的是缺乏灵活性, 特别是无法解决软件需求不明确或不准确的问题。 这些问题有可能造成开发出的软件并不是用户真正需要的, 并且这一点只有在开发过程完成后才能发现。 所以

68、瀑布模型适用于需求明确,且很少发生较大变化的项目。演化模型允许在获取了一组基本需求后, 通过快速分析构造出软件的一个初始可运行版本( 称作原型) ,然后根据用户在适用原型的过程中提出的意见对原型进行改进, 从而获得原型的新版本。 这一过程重复进行, 直到得到令用户满意的软件。 该模型主要用于对软件需求缺乏准确认识的情况。螺旋模型将瀑布模型和演化模型进行结合, 在保持二者优点的同时, 增加了风险分析, 从而弥补了二者的不足。该模型沿着螺线旋转,并通过笛卡尔坐标的四个象限分别表示四个方面的活动:制定计划、风险分析、实施工程和客户评估。螺旋模型为项目管理人员及时调整管理决策提供了方便,进而可降低开发

69、风险。喷泉模型以面向对象的软件开发方法为基础,以用户需求为动力,以对象来驱动的模型。该模型主要用于描述面向对象的开发过程, 体现了面向对象开发过程的迭代和无间隙特性。 迭代指模型中的活动通常需要重复多次, 相关功能在每次迭代中被加入新的系统。 无间隙是指在各开发活动( 如分析、设计、编码) 之间没有明显边界。软件开发方法结构化方法面向数据流、自顶向下、适合数据处理领域的问题、不适合大规模、复杂的项目、难以适应需求的变化Jackson 方法面向数据结构、 适合小规模的项目、 当输入数据结构与输出数据结构之间没有对应关系时,难以应用此方法原型化方法适合需求不清、业务理论不确定、需求经常变化的情况。

70、冗余附加技术屏蔽硬件错误的容错技术冗余附加技术包括: 关键程序和数据的冗余及调用; 检测、 表决、 切换、 重构和复算的实现。屏蔽软件错误的容错技术冗余附加技术包括:冗余备份程序的存储及调用;实现错误检测和错误恢复的程序;实现容错软件所需的固化程序。风险管理软件风险项目风险项目风险威胁到项目计划,若发生项目风险,就有可能拖延项目的进度和增加项目的成本。项目风险是指预算、进度、人员、资源、利益相关者、需求等方面的潜在问题以及他们对软件项目的影响。项目复杂度、规模及结构不确定性也属于项目风险因素技术风险技术风险威胁到要开发软件的质量及交付时间。 若发生技术风险, 开发工作就可能变得很困难或根本不可

71、能。技术风险是指设计、实现、接口、验证和维护等方面的潜在问题。此外,规格说明的歧义性、技术的不确定性、技术陈旧以及前沿技术也是技术风险因素。商业风险市场风险开发了一个没有人真正需要的优良产品或系统策略风险开发的产品不再符合公司的整体商业策略销售风险开发了一个销售部们不知道如何去销售的产品管理风险由于重点的转移或人员的变动而失去了高级管理层的支持预算风险没有得到预算或人员的保证风险识别风险识别的方法建立风险条目检查表风险识别的类型产品规模与要开发或要修改的软件的总体规模相关的风险商业影响与管理者或市场所施加的约束相关的风险客户特性与客户的素质以及开发者的客户定期沟通的能力相关的风险过程定义与软件

72、过程定义的程度以及该过程被开发组织遵守的程度相关的风险开发环境与用来开发产品的工具的可得性及质量相关的风险开发技术与待开发软件的复杂性及系统所包含技术的“ 新奇性 相关的风险人员才干及经验与软件工程师的总体技术水平及项目经验相关的风险网络安全主动攻击和被动攻击主动攻击包括篡改数据流或伪造数据流,这种攻击试图改变系统资源或影响系统运行。被动攻击对信息的保密性进行攻击,即通过窃听网络上传输的信息并加以分析从而获得有价值的情报, 但它并不修改信息的内容。它的目标是获得正在传送的信息,其特点是偷听或监视信息的传递。被动攻击只对信息进行监听,不对其进行修改。被动攻击包括信息内容泄露和业务流分析2大类数据

73、安全与保密对称加密技术加密系统的加密密钥和解密密钥相同, 或者虽然不同, 但从其中的任意一个可以很容易地推导出另一个。示例D E S ( 数据加密标准算法)D E S 主要采用替换和移位的方法加密。它 用 5 6 位 ( 6 4 位密钥只有5 6 位有效密钥)密钥对6 4 位二进制数据块进行加密,每次加密可对6 4 位的输入数据进行1 6 轮编码,经一系列替换和移位后,输入的6 4 位原始数据转换成完全不同的6 4 位输出数据。其优点是加密速度快,密钥产生容易。3 D E S ( T D E S )在 D E S 的基础上采用三重D E S , 即用两个5 6 位的密钥K l 、 K 2 ,

74、发送方用K 1 加密, k 2 解密,再使用k l 加密。接受方则使用k l 解密,k 2 加密,再使用k l 解密,其效果相当于将密钥长度加倍。ID E A其明文和密文都是64位,密钥长度为128位。它比DES的加密性好,而且对计算机功能要求也没有那么高。RC - 51994年开发出来的,知道是对称算法即可。优点1、力口/ 解密速度快,适合对大量数据加密2、适宜一对一的信息加密传输缺点1、 密钥难于传输2、 密钥的数目难于管理3、 无法提供信息完整性的鉴别4、对称密钥的管理和分发工作是一件具有潜在危险和繁琐的过程非对称加密技术公钥和私钥是不一样的,公钥对外开放,私钥仅限自己知道示例RSA知道

75、是非对称加密技术即可E C C知道是非对称加密技术即可优点1、 安全性好缺点1、力口/ 解密速度慢,只适合对少量数据进行加密消息摘要消息摘要算法实际上就是一个单向散列函数。数据块经过单向散列函数得到一个固定长度的散列值, 攻击者不可能通过散列值而编造数据块, 使得编造的数据块的散列值和原数据块的散列值相同。例子MD 5散列值为128位SHA散列值为160位安全性比较由于SHA通常采用的密钥长度较长,因此安全性高于MD5。数字签名实现原理以下题为例,A 想要传送一段文本给B,则 A 先利用信息摘要技术产生一段字符串,再利用自身的私钥对字符串进行加密生成密码串。将密码串与明文一同发送给B 。B接受

76、后,利用A 的公钥对密码串进行解密,产生字符串,再对明文进行信息摘要产生字符串,将 2个字符串相比较,如果一致,则证明该明文的确来自A 且未被修改。希赛网,中国最大的n 技术/IT管理/IT教育/ I T 培训/ I T 咨询资源网站传输接收到的正文信息产 生 信 息 摘 要 1网,I T / 训询资站产生信息摘要JL网,I T / 训询资站1网,F I 7 训询资站用A 的私钥加密Jk传输用A 的 公 钥 解 密T(*# &(*&# # AB( * # & ( * & # #优点1 、 可以证明消息来源是否为本人2 、保证明文没有被人篡改过数字时间戳属于数字签名技术的变种应用。数字时间戳服务

77、( D i g t a l T i m e S t a m p S e r v i c e , D T S ) 是网上电子商务安全服务项目之一,能提供电子文件的日期和时间信息的安全保护。时间戳是一个经加密后形成的凭证文档,它包括3个部分:1 、 需加时间戳的文件的摘要2 、D T S 收到文件的日期和时间3 、D T S 的数字签名病毒文件型感染可执行文件,包 括 EXE和 COM文件引导型影响软盘或硬盘的引导扇区目录型修改硬盘上存储的所有文件的地址宏病毒前缀为M acro,感染word或者excel文件数据通信与网络基础OSI七层模型及相关考点记忆技巧:All people seem to

78、need data processing.层次名称主要功能主要设备及协议7应用层实现具体的应用功能POP3、FTP、HTTP、Telnets SMTPDHCPs TFTPs SNMP、DNS6表示层数据的格式与表达、加密、压缩5会话层建立、管理和终止会话4传输层端到端的连接TCP、UDP3网络层分组传输和路由选择三层交换机、路由器ARP、RARPs IPs ICMPs IGMP2数据捱路层传送以帧为单位的信息网桥、交换机、网卡PPTP、L2TP、SUP、PPP1物理层二进制传输中继器、集线器分层模型OSI模型进程/ 应用层应用层表示层会话层主机- 主机层传输层网络互联层网络层网络接口层数据链路

79、层物理层已知IP地址与掩码求网络号与主机号IP地址A.B.C.D一共4个字段,各个字段各占1字节,若转化为二进制,则一共32位,每个字段占8位A类地址最高位是0 ,网络地址占1字节,主机地址占3字节B类地址最高位是1 0 ,网络地址占2字节,主机地址占2字节C类地址最高位是1 1 0 ,网络地址占3字节,主机地址占1字节D类地址最高位是1110,用于组播,无网络地址与主机地址E类地址最高位是1111,实验保留,无网络地址与主机地址表5 - 2带点十进制符号表示的默认子网掩码地 址 类子网掩码位子 网 掩 码A类11111111 00000000 00000000 00000000255.0.0

80、.0B类1111111111 m m oooooooooooooooo255.255.0.0C类m u n i iin iiii iiiiiiu oooooooo255.255.255.0子网掩码的1代表网络号,0代表主机号网络号求法:将 IP 地址与子网掩码转化为二进制后取与运算后,根据子网掩码1 的位数取字节以下数据为例:IP 地址:202. 197. 119. 110掩码 :255.255.255.0IP 地址二进制:1100 1010. 1100 0101.0111 0111.0110 1110子网掩码二进制:1111 1111. 1111 1111. 1111 1111.0000 0

81、000求得网络号 :1100 1010. 1100 0101.0111 0111( 因为子网掩码有24个 1 , 所以取3 个字节)主机号求法:先将子网掩码按位取反再与IP 地址进行取与运算,根据子网掩码0 的位数取字节IP 地址二进制:1100 1010. 1100 0101.0111 0111.0110 1110子 网 掩 码 取 反 :0000 0000. 0000 0000. 0000 0000. 1111 1111主机号 : 0110 1110( 因为子网掩码有8 个 0 , 所以取1 个字节)判断2 个 IP 地址是否在一个网段分别求出2 个 IP 地址的网络号, 如果相同则说明是

82、同一个网段的IP 地址, 否则不在同一个网段可连接的主机数2n-2, n 为主机号位数例题一个局域网中某台主机的IP 地址为176. 68. 160. 1 2 ,使用22位作为网络地址,那么该局 域 网 的 子 网 掩 码 为,最多可以连接的主机数为子网掩码的1 是网络位,0 是主机位,22位网络地址代表着子网掩码有22个 1 , 所以子网掩码为 11111111. 11111111. 11111100. 00000000,转化为十进制则是 255. 255. 252. 0。既然网络位为22位,则主机位为32-22=10位,可以连接的主机数为2k 2=1022端口默认端口FTP从服务器端向客户

83、端发起连接,称之为主动模式,默认数据端口是20从客户端向服务器端发起连接,称之为被动模式,默认数据端口是1025-65535默认控制端口是21H T T P默认端口号是80S M T P默认端口是25P O P 3默认端口是110N N T P n e w s新闻组传输协议默认端口是119T e l n e t默认内部端口与外部端口均为23端口范围公共服务保留端口01023 ( 有时是不算0号端口的)注册端口102449151动态或私有端口4915265535多媒体计算公式数据传输率采样频率(Hz) X量化位数(b it)义声道数,单位为b/s声音信号数据量数据传输率X持续时间/8音频容量的计

84、算公式存储量= 采样时间(s) * 采样频率(Hz) * 量化位数( 位) * 声道数/8/1024(kb)图片容量的计算公式存储量= 水平像素* 垂直像素* 颜色位数/8 /1024 (kb)若提示为X位或X位色,则颜色位数就是X ,若提示为X色,那么颜色位数为logzX。视频容量的计算公式存储量= 每帧图像容量* 图像帧数= 水平像素* 垂直像素* 颜色位数* 帧频* 时间( 秒)/8/1024(kb)P A L 制:25帧/ 秒NTSC制 : 30帧/ 秒例题CD上声音的采样频率为44. 1kHz,样本精度为1 6 b /s,双声道立体声,那么其未经压缩的数据传输率为14、A. 88.2

85、kb/s B. 705. 6kb/s C. 1411.2kb/s D. 1536.Okb/s数据传输率= 采样频率(Hz) X 量化位数(bit) X 声道数=44100*16*2=1411200b/s,选 C冗余空间冗余( 几何冗余)多个像素点都是重复的, 例如,一幅前蓝的天空中漂浮着白云的图像,其蔚蓝的天空及白云本身都具有较强的相关性,这种相关性的图像部分,在数据中就表现为冗余。时间冗余对于电视动画类的图像, 在其序列的前后相邻的2幅图像中,其图像呈现较强的相关性, 这就反映为时间冗余。如某一帧图像经过T时间后,在某下一帧图像中带有较强的相关性( 即画面像素相似) 。知觉冗余知觉冗余指那些

86、处于人们听觉和视觉分辨力以下的视频音频信号, 若在编码时舍去这种在感知界限以下的信号,虽然会使恢复原信号产生一定的失真,但并不能为人们所感知,为此,此种超出人们感知能力部分的编码就称为知觉冗余。例如,一般的视频图像采用2 8的灰度等级,而人们的视觉分辨力仅达2 6的等级,此差额即为知觉冗余。信息燧冗余信息端是指一组数据所携带的信息量, 信息的码符号的信息量大于该信息本身的信息量即是信息端冗余。结构冗余有些图像从大的区域上看存在着非常强的纹理结构, 例如, 布纹图像和草席图像在结构上存在冗余。知识冗余有许多图像的理解与某些基础知识有相当大的相关性。例如,人脸的图像有固定的结构,嘴的上方有鼻子,鼻

87、子的上方有眼睛,鼻子位于正面图像的中上方等。这类规律性的结构可由先验知识和背景知识得到,称此类冗余为知识冗余。M P E G 标准M P E G - 1数字电视标准,MP3。M P E G - 2数字电视标准。M P E G - 4多媒体应用标准。M P E G - 7多媒体内容描述接口标准。M P E G - 2 1多媒体框架结构标准。媒体感觉媒体感觉媒体指的是能直接作用于人们的感觉器官,从而能使人产生直接感觉的媒体。如文字、数据、声音、图形、图像等。在多媒体计算机技术中,我们所说的媒体一般指的是感觉媒体。表示媒体表示媒体指的是为了传输感觉媒体而人为研究出来的媒体, 借助于此种媒体, 能有效

88、地存储感觉媒体或将感觉媒体从一个地方传送到另一个地方。如语言编码、电报码、条形码等。表现媒体表现媒体指的是用于通信中使电信号和感觉媒体之间产生转换用的媒体。 如输入、 输出设备,包括键盘、鼠标器、显示器、打印机等。存储媒体存储媒体指的是用于存放表示媒体的媒体。如纸张、磁带、磁盘、光盘等.传输媒体传输媒体指的用于传输某种媒体的物理媒体。如双绞线、电缆、光纤等。算法设计迭代法用于求方程的近似根。1、若方程无解,则算法求出的近似根序列就不会收敛,迭代过程会变成死循环,因此在使用迭代算法前应先考查方程是否有解,并在程序中对迭代的次数给予限制。2、方程虽有解,但迭代公式选择不当,或迭代的初始近似根选择不

89、合理,也会导致迭代失败。穷举搜索法对可能是解的众多候选解按某种顺序进行逐一枚举和检查, 并从中找出符合要求的候选解作为问题的解递推法利用问题本身所具有的一种递推关系求问题解的一种方法递归法执行过程分递推和回归两个阶段: 在递推阶段, 把较复杂的问题的求解分解成比原问题简单一些的问题的求解。在回归阶段,从获得的最简单情况的解,逐级返回,依次获得稍复杂问题的解。( 递归法就是把问题转化为规模缩小了的同类问题的子问题)分治法把大问题分解成一些较小的问题, 然后由小问题的解方便地构造出大问题的解, 每个小问题都是相互独立的。示例二分查找法、汉诺塔问题、斐波那契、归并排序动态规划法基本思想也是将大问题分

90、解为多个小问题, 但是与分治法不同的是, 动态规划法的子问题往往不是独立的。因此, 动态规划法可以避免大量重复的计算。以自底向上的方式计算出最优值。示例最大子段问题贪心法( 贪婪法)不追求最优解,只希望得到较为满意解的方法。可以快速得到满意的解,不考虑整体情况,所以贪心法不要回溯。示例哈夫曼编码回溯法( 试探法、通用解题法)该方法首先暂时放弃关于问题规模大小的限制, 并将问题的候选解按某种顺序逐一枚举和检验。当发现当前候选解不可能是解时, 就选择下一个候选解;倘若当前候选键除了不满足问题规模要求外,满足所有其他要求,继续扩大当前候选解的规模,并继续试探。如果当前候选解满足包括问题规模在内的所有

91、要求,该候选键就是问题的一个解。在回溯法中,放弃当前候选解,寻找下一个候选解的过程被称为回溯;扩大当前候选解的规模,以继续试探的过程称为向前试探,回溯法以深度优先的方式搜索解空间树。分支限界法类似于回溯法,也是在问题的解空间树上搜索问题解的方法。但在一般情况下,二者的求解目标不同。回溯法是找出解空间树中满足约束条件的所有解, 而分支限界法的求解目标则是找出满足约束条件的一个解, 或是在满足约束条件的解中找出使某一目标函数值达到极大或极小的解, 即在某种意义下的最优解。 分支限界法以广度优先或以最小耗费优先的方式搜索解空间树。示例单源最短路径问题算法复杂度已 知算法A的运行时间函数为T(n)=8

92、T(n/2)+M,其 中n未示问题的规模, 则该算法的时问复柴度为(6 2 )另已知算法B的运行时间函数为T(n)=XT(n/4)+n2,其 中n表示问题的规模。对充分大的n ,若要算法B比算法A快,则X的最大值为(63)。(62) A. O(n) B. O(nlgn) C. O(n2) D. 0 (n3)(63) A. 15 B. 17 C. 63 D. 65一般地, 当递归方程为T(n) = aT(n/c) + 0(n), T(n)的解为:0(n) (a l)O(nlo g z n) (a=c & cl)O(nlogCa) (ac & cl)第一问套用第三个公式即可解决,选D。第二问,算

93、法B比A快,意味着B的时间复杂度比A小。那么选项中均符合第三个公式的情况,那 么B的时间复杂度为。(/og,x),可求得当X=64时,与A的算法时间复杂度相等,根据题意选C概率算法数值概率算法适用于数值问题的求解, 这类算法得到的往往是近似解, 且近似解的精度随时间的增加不断提高。在多数情况下,要计算出问题的精确解是不可能的或是没有必要的,因此数值概率算法可得到相当令人满意的解。蒙特卡罗算法适用于求问题的精确解, 该算法能求得一个解, 但该解未必是正确的,正确的概率依赖算法所用的时间,时间约久,正确率越高.因此,该算法的缺点就是无法有效地判断所得到的解是否正确。拉斯维加斯算法如果该算法找到一个

94、解,那一定是正确的解,得到正确解的概率依赖算法所用的时间。舍伍德算法一定能找到一个正确的解,该算法设法消除最坏情形与特定实例之间的关联性。类之间的关系名称 概 念 实 ( 虚) 线 三角形( 菱形)实( 空) 心名称概念实( 虚) 线三角形( 菱形)实( 空) 心依赖有 2 个元素X,Y , 若修改X 的定义可能会引起对另一个元素 Y 的定义的修改,则称Y依赖于X虚线三角形实心泛化父类是子类的泛化实线三角形空心关联( 聚合)表示两个对象之间是整体和部分的弱关系,部分的生命周期可以超越整体。如电脑和鼠标。实线菱形空心关联( 组合)表示两个对象之间是整体和部分的强关系,部分的生命周期不能超越整体,

95、或者说不能脱离整体而存在。实线菱形实心实现接口和实现借口的类虚线三角形空心面向对象设计模式创建型模式简单工厂模式(Simple Factory Pattern)工厂方法模式( Factory Method Pattern)抽象工厂模式(Abstract Factory Pattern)单例模式( Singleton Pattern)建造者模式(Builder Pattern)原型模式( Prototype Pattern)结构型模式桥接模式(Bridge Pattern)组合模式(Composite Pattern)装饰者模式(Decorator Pattern)外观模式(Facade Pat

96、tern)代理模式(Proxy Pattern)享元模式(Flyweight Pattern)适配器模式(Adapter Pattern)行为型模式模板方法模式(Template Method Pattern)命令模式(Command Pattern)迭代器模式(Iterator Pattern)观察者模式(Observer Pattern)解释器模式(Interpreter Pattern)中介者模式(Mediator Pattern)职责链模式(Chain of Responsibility Pattern)备忘录模式(Memento Pattern)策略模式(Strategy Pattern)访问者模式(Visitor Pattern)状态模式(State Pattern)泛化( 概化)表示把几类对象类的公共属性和行为抽象成超类,然后其属性和方法被那些子类继承乘 口表示一个较大的“ 整体”类包含一个或多个较小的“ 部分”类合成表示关系中“ 整体”负责其“ 部分”的创建和销毁,如 果 “ 整体”不存在了,“ 部分”也将不存在。单例保证一个类仅能够生成一个对象组合表示 部分- 整体 的层次结构,并且对部分和整体的使用具有一致性装饰动态地给一个对象增加一些额外的职责,无须改变类的设计和实现

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号