软件设计师总结的知识点---对比真题总结的

目录

一、     操作系统... 3

1.  DMA. 3

2.  并行与并发... 3

3.  两种存储体系... 3

4.  中断... 4

二、     计算机组成原理... 4

1.浮点数... 4

2.操作数寻址... 4

3. CISC RISC.. 5

4. 存储设备的访问速度... 5

5.寄存器... 5

6.海明码... 6

三、     计算机网络... 6

1. 网络攻击... 6

2.防火墙... 6

3.协议... 7

4病毒... 7

5.  IPV4与IPV6. 8

6.  5个层次-主要设备... 8

四、     数据结构... 9

1.  树的概念... 9

2.  排序算法... 11

3.  算法设计策略... 13

五、法律... 13

1. 著作权... 13

六.软件... 14

1.软件开发... 14

2.软件质量... 14

3.软件设计... 15

7.  软件测试... 17

8.  面向对象... 18

9.  软件工程... 23

10.  软件维护... 23

七.程序语言编译原理... 24

1.编译器与解释器... 24

2.死循环... 25

八.操作系统... 26

1.互斥-信号量... 26

2.单缓冲与双缓冲的工作方式... 26

九.数据库... 27

1. 三级模式结构... 27

2.范式... 27

3.分布式数据库... 28

4.函数依赖... 28

十.其他... 29

1.媒体分类... 29

2. 软件-文件格式... 29

2.模块... 29

4.  密码体制--公开密钥加密算法... 30

 

 

 

 

 

  1. DMA

DMA请求的检测点设置在每个机器周期也即总线周期结束时执行,这样使得总线利用率最高。

Direct Memory Access(存储器直接访问)。指一种高速的数据传输操作,在专门的硬件( DMA)控制下,实现高速外设(I/O设备)主存储器之间自动成批交换数据尽量减少CPU干预的输入/输出操作方式。

DMA技术的弊端:

因为DMA允许外设直接访问内存,从而形成对总线的独占。这在实时性强的硬实时系统嵌入式开发中将会造成中断延时过长。这在军事等系统中是不允许的。

  1. 并行与并发

并行:同一时刻

并发:同一时间间隔

  1. 两种存储体系

一般计算机系统中主要有两种存储体系:

Cache存储体系Cache主存储器构成,主要目的是提高存储器速度,对系统程序员以上均透明;

虚拟存储体系主存储器和(辅存)在线磁盘存储器等辅存构成,主要目的是扩大存储器容量,对应用程序员透明。

DMA(直接内存存储),在主存和外设间建立了直接的数据通道,无序CPU的干预

  1. 中断

中断向量可以提供中断服务程序的入口地址。

为实现多级中断嵌套,使用堆栈来保护断点和现场

1.浮点数

浮点数编码由两部分组成:

尾数(是定点纯小数,常用补码表示,或原码表示)。浮点数的精度由尾数的位数决定

阶码(即指数,为带符号定点整数,常用移码表示,也有用补码的)。表示范围的大小则主要由阶码的位数决定。

C语言中浮点数包括单精度浮点数(float)、双精度浮点数(double),分别占有32位和64位,对于float而言,符号位用1位表示,尾数M8位表示,阶码E23位表示。而对于double而言,符号位1位,尾数11位,阶码52

2.操作数寻址

立即寻址:指令的地址字段指出的不是操作数的地址,而是操作数本身,不需要访问任何地址的寻址方式。注意:立即数只能作为源操作数,不能作为目的操作数。

直接寻址:在指令格式的地址的字段中直接指出操作数在内存的地址。在指令中直接给出有效地址 [2] 

间接寻址:指令地址字段中的形式地址不是操作数的真正地址,而是操作数地址的指示器

寄存器寻址方式:此时指令中给出的操作数地址不是内存的地址单元号

寄存器间接寻址方式:指令格式中的寄存器内容不是操作数,而是操作数的地址,该地址指明的操作数在内存中。 [2] 

相对寻址方式:把程序计数器PC的内容加上指令格式中的形式地址D而形成操作数的有效地址。程序计数器的内容就是当前指令的地址。采用相对寻址方式的好处是程序员无须用指令的绝对地址编程,因而所编程序可以放在内存的任何地方。

变址寻址方式:目的不在于扩大寻址空间,而在于实现程序块的规律变化。为此,必须使变址寄存器的内容实现有规律的变化(如自增1、自减1、乘比例系数)而不改变指令本身,从而使有效地址按变址寄存器的内容实现有规律的变化。

3. CISC RISC

CISC,即Complex Instruaction Set Computer,就是使用复杂指令集系统的计算机。

RISC,即Reduced Instruction Set Computer,精简指令集系统的计算机。需要更多的寄存器。

VLIW 超长指令字

4. 存储设备的访问速度

存储设备按访问速度从快到慢依次为:

通用寄存器> Cache>内存>硬盘

5.寄存器

程序计数器用于存放指令的地址。令当程字顺序执行时,每取出一条指令,PC内容自动增加一个值, 指向下一条要取的指令。当程序出现转移时,则将转移地址送入PC,然后由PC指向新的程序地址。

   程序状态寄存器用于记录运算中产生的标志信息,典型的标志为有进位标志位、零标志位、符号标志位、溢出标志位、奇偶标志等。

地址寄存器包括程序计数器、堆栈指示器、变址寄存器、段地址寄存器等,用于记录各种内存地址。

      累加寄存器是一个数据寄存器,在运算过程中暂时存放被操作数和中间运算结果,累加器不能用于长时间地保存一个数据。

6.海明码

N为待发送海明码的总位数,K是有效信息位数,r是校验位个数(分成r组作奇偶校验,能产生r位检错信息)校验位的个数r应满足公式: N=K+r≤2^r-1。

此题中k= 48,校验位个数为r,则n≤2^λr-1, 即48+r≤2^r-1,则r为6。

2^k-1>m+k k为校验位 m为信息位

1. 网络攻击

主动攻击:包含攻击者访问他所需信息的故意行为。主动攻击包括重放攻击、IP地址欺骗、拒绝服务攻击信息篡改、资源使用、欺骗

被动攻击:主要是收集信息而不是进行访问,数据的合法用户对这种活动一点也不会觉察到。包括嗅探信息收集,流量分析攻击

Dos攻击:Dos即拒绝服务。典型代表:SYN Flooding

为了攻击远程主机,通常利用端口扫描技术检测远程主机状态

2.防火墙

是一种放置在网络边界上,用于保护内部网络安全的网络设备。它通过对流经数据流进行分析和检查,可实现对数据包的过滤、保存用户访问网络的记录和服务器代理功能。防火墙不具备检查病毒的功能。

包过滤防火墙工作在网络协议IP层,它只对IP包的源地址、目标地址及相应 端口]进行处理,因此速度比较快,能够处理的并发连接比较多,缺点是对应用层的攻击无能为力(对应用和用户是透明的,就是感觉不到其存在)。

代理服务器防火墙将收到的IP包还原成高层协议的通讯数据,比如http连接信息,因此能够对基于高层协议的攻击进行拦截。缺点是处理速度比较慢,能够处理的并发数比较少。

其三个区域按照收保护程序,从高到低排序为:内网,DMZ,外网

3.协议

SSH为Secure Shell的缩写。为建立在应用层和传输层基础上的安全协议。SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。

    Telnet协议是TCP/IP协议族中的一员,是Internet远程 登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。它是测试终端号的常用协议,并不提供安全连接

POP3,全名为"Post Office Protocol - Version3”,即“邮局协议版本3”。本协议主要用于支持使用客户端远程管理在服务器上的电子邮件。提供了SSL加密的POP3协议被称为POP3S。POP3协议特性:
POP3协议默认端口: 110;。

POP3协议默认传输协议: TCP;  

POP3协议适用的构架结构: C/S;  

POP3协议的访问模式:离线访问。

FTP协议:20为数据口,21为控制口

使用ping命令可以进行网络检测,在进行一系列检测时,按照由近及远原则,首先执行的是ping127.0.0.1   ,可以检查本机的TCP/IP协议

 

4病毒

欢乐时光病毒是一个VB源程序病毒,专门感染.htm、.html、.vbs、.asp和.htt文件。它作为电子邮件的附件

熊猫烧香:感染用户计算机上的EXE可执行文件,同时,受感染的计算机还会出现蓝屏、频繁重启以及系统硬盘中数据文件被破坏等现象。

X卧底:安装在手机里的监控软件

CIH病毒:感染Windows 95和Windows 98的EXE文件

  1. IPV4与IPV6

在IPv4向IPv6过渡期间,如果要使得两个IPv6结点可以通过现有的IPv4网络进行通信,则应该使用(隧道技术 ) ;如果要使得纯IPv6结点可以与纯IPv4结点进行通信,则需要使用(翻译技术 )

 

  1.  5个层次-主要设备

物理层:中继器 集线器

数据链路层:网桥

网络层:交换机 路由器

传输层:

应用层:

 

  1. 树的概念

满二叉树:一棵深度为h,且有2^h-1个节点的树是满二叉树。或除了叶结点外每一个结点都有左右子叶且叶子结点都处在最底层的二叉树。

 

完全二叉树: 若设二叉树的深度为h,除第 h 层外,其它各层 (1h-1) 的结点数都达到最大个数,第h 层所有的结点都连续集中在最左边.

满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树。

最优二叉树(哈夫曼树):在权为wl,w2,…,wn的n个叶子所构成的所有二叉树中,带权路径长度最小(即代价最小)的二叉树。权值较大的节点离根比较近

平衡二叉树:树的左右子树的高度差不超过1的数,空树也是平衡二叉树的一种。

 

  1. 排序算法

直接插入排序:(适合基本有序)稳定的。时间复杂度:O(n^2)。先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。要点:设立哨兵,作为临时存储和判断数组边界之用

希尔排序:不稳定。先将要排序的一组记录按某个增量d(n/2,n为要排序数的个数)分成若干组子序列,每组中记录的下标相差d.对每组中全部元素进行直接插入排序(比较前后两个的大小,是否交换),然后再用d/2对它进行分组,在每组中再进行直接插入排序。继续不断缩小增量直至为1,最后使用直接插入排序完成排序。

简单选择排序:在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止。(若相同的数,要注意第一个和第二个的顺序

堆排序:时间复杂度也为:O(nlogn )。堆排序需要两个过程,一是建立堆,二是堆顶与堆的最后一个元素交换位置

冒泡排序:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。

快速排序:(适合无序)不稳定。选择一个基准元素(最佳的基准元素是中位数,通常选择第一个元素或者最后一个元素。通过一趟排序将待排序的记录分割成独立的两部分,其中一部分记录的元素值均比基准元素值小。另一部分记录的 元素值比基准值大。

N较大时,当待排序的关键字是随机分布时,快速排序的平均时间最短

n较小,可采用直接插入或直接选择排序。

    直接插入排序:当元素分布有序,直接插入排序将大大减少比较次数和移动记录的次数。

直接选择排序 :元素分布有序,如果不要求稳定性,选择直接选择排序

稳定的排序算法:冒泡排序、插入排序、归并排序和基数排序

不是稳定的排序算法:选择排序、快速排序、希尔排序、堆排序

  1. 算法设计策略

分治法的设计思想是将一个难以直接解决的大问题分解成一些规模较少的相同问题以便各个击破, 分而治之。经分解得到的子问题是独立

动态规划法:基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。适合于用动态规划法求解的问题,经分解得到的子问题往往不是独立的。最优子结构性质,且求解过程中子问题被重复求解

贪心法经常用于解决最优化问题,但他的最优往往是从局部最优来考虑的,每一步都选最优的方案,但这种方案不一定能得到整体上的最优解。

回溯法是一种既带有系统性又带有跳跃性的搜索算法。它在包含问题的所有解的解空间树中,按照深度优先的策略,从根节点出发搜索解空间树。

五、法律

1. 著作权

指明著作权的内容包括人身权利和财产权利。著作人身权是指作者享有的与其作品有关的以人格利益为内容的权利,也称为精神权利,包括发表权、署名权、修改权和保护作品完整权。我国著作权法第20条规定“作者的署名权、修改权、保护作品完整权的保护期不受限制。”

 发表权是属于人身权利,但发表权是一次性权利

根据我国《著作权法》的规定,有三种类型的作品不受法律保护

第一种是依法禁止出版、传播的作品。

第二 种是不适用于《著作权法》的作品。它们包括下列作品:

     (1)法律、法规,国家的决议、决定、命令和其他具有立法、行政、司法性质的文件,极其官方正式译文

(2)时事新闻;  布赛

(3)历法、通用数表、通用表格和公式。

六.软件

1.软件开发

1.1 软件开发方法

原型化方法:需求不清晰且规模不太大时采用。

结构化方法:数据处理领域的不太复杂的软件。适用:一些组织相对稳定、业务处理过程规范、需求明确且在一定时期内不会发生大的变化的大型复杂系统的开发。

1.2. 软件开发过程模型

瀑布模型:将开发阶段描述为从一个阶段瀑布般地转换到另一个阶段的过程。

原型模型:开发人员快速地构造整个系统或者系统的一部分以理解或澄清问题。不适宜大规模软件的开发

螺旋模型:将开发活动和风险管理结合起来,以减小风险。

喷泉模型:开发过程模型以用户需求为动力,以对象为驱动,适合于面向对象的开发方法

1.3结构化分析 数据流图

对软件功能建模,加工是数据流的一个重要要素,可以用多种方式描述,如流程图、NS盒图等,其中决策树和决策表适于用来表示加工中涉及多个逻辑条件的情况。

 2.软件质量

2.1 ISO/IEC软件质量模型

IEC标准即国际电工委员会(International Electrical Commission)

ISO和IEC作为一个整体担负着制订全球协商一致的国际标准的任务,ISO和IEC都是非政府机构

由三个层次组成:第一层是质量特性,第二层是质量子特性,第三层是度量指标。易使用性是指与为使用所需的努力和由一组规定或隐含的用户对这样使用所做的个别评价有关的一组属性。其子特性包括易理解性、易学性、易操作性。

3.软件设计

3.1基本概念

软件设计的任务是基于需求分析的结果建立各种设计模型,给出问题的解决方案。

概要设计阶段进行软件体系结构的设计、数据设计和接口设计; 面对对象设计方法中,进行体系结构设计、初步的类设计/数据设计 、结构设计;

详细设计阶段进行数据结构和算法的设计。面向对象时,进行构件设计。

结构化设计根据系统的数据流图进行设计,模块体现为函数、过程及子程序;

面向对象设计基于面向对象的基本概念进行,模块体现为类.对象和构件等。

3.2子系统结构设计

重点关注如何划分模块,子系统之间以及模块之间的数据和调用关系,模块结构质量等这些粗粒度的问题;而对每个模块内部进行设计时,才需要考虑采用的数据结构以及处理的算法。

3.3设计模式

按照设计模式的目的可以分为创建型、结构型和行为型三大类。

创建型模式与对象的创建有关。包括Factory Method、Abstract Factory. Builder 、Portotype 和Singleton.

结构型模式处理类或对象的组合。包括Adapter (类)、Adapter 对象)、Bridge、Composite(表示对象的部分-整体层次结构) 、Decorator 、Facade、Flyweight 和Proxy(代理)。

行为型模式对类或对象怎样交互和怎样分配职责进行描述。包括Intepreter、Template Method、Chain of Responsibility Command、lterator 、Mediator 、Memento Observer State Strategy和Visitor.Proxv模式的结构图如下所示,

抽象工厂模式(Abstract Factory)提供一个接口, 可以创建一系列相关或相互依赖的对象,而无需指定它们具体的类。分产品族 产品等级结构

图形用户界面(GUI)组件定义不同平台的并行类层次结构

构建器模式(Builder) :将一个复杂类的表示 与其构造相分离,使得相同的构建过程能够得出不同的表示。

工厂方法模式(Factory Method) :定义一个创建对象的接口,但由子类决定需要实例化哪一个类。 工厂方法使得子类实例化的过程推迟。

原型模式(Prototype) :用原型实例指定创建对象的类型,并且通过拷贝这个原型来创建新的对象。

单例模式(Singleton) :保证-个类只有一个实例,并提供一个访问它的全局访问点。

适配器模式(Adapter) :将一个类的接口转换成用户希望得到的另一种接口。 它使原本不相容的接口得以协同工作。适配器,桥接

桥接模式(Bridge) :将类的抽象部分和它的实现部分分离开来,使它们可以独立地变化。

组合模式(Composite) :将对象组合成树型结构以表示“整体部分”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。

装饰模式(Decorator) :动态地给一个对象添加一些额外的职责。它提供了用子类扩展功能的一个灵活的替代,比派生一个子类更加灵活。

外观模式(Facade) :定义一个高层接口,为子系统中的一组接口提供一个一 致的外观,从而简化了该子系统的使用。适用于:要为一个复杂子系统提供一个简单接口时,简化接口

享元模式(Flyweight) :提供支持大量细粒度对象共享的有效方法。

代理模式(Proxy) :为其他对象提供一种代理以控制这个对象的访问。

职责链模式(Chain of Responsibility) :通过给多个对象处理请求的机会,减少请求的发送者与接收者之间的耦合。将接收对象链接起来,在链中传递请求,直到有一个对象处理这个请求。

命令模式(Command) :将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化,将请求排队或记录请求日志,支持可撤销的操作。

解释器模式(Interpreter) :给定一种语言, 定义它的文法表示,并定义一个解释器,该解释器用来根据文法表示来解释语言中的句子。

迭代器模式(lterator) :提供一种方法来顺序访问一个聚合对象中的各个元素,而不需要暴露该对象的内部表示。

中介者模式(Mediator) :用一个中介对象来封装一系 列的对象交互。它使各对象不需要显式地相互调用,从而达到低耦合,还可以独立地改变对象间的交互。

   备忘录模式(Memento)在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,从而可以在以后将该对象恢复到原先保存的状态。

 观察者模式(Observer) :定义对象间的一种-对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新。

具体目标知道其观察者,最主要的特征:对扩展开放,对修改关闭

状态模式(State) :允许一个对象在其内部状态改变时改变它的行为。

 策略模式(Strategy) :定义一系列算法,把它们一个个封装起来,并且使它们之间可互相替换,从而让算法可以独立于使用它的用户而变化。      

模板方法模式(Template Method) :定义一个操作中的算法骨架,而将一些步骤延迟到子类中, 使得子类可以不改变一个算法的结构即可重 新定义算法的某些特定步骤。

访问者模式(Visitor) :表示一个作用于某对象结构中的各元素的操作,使得在不改变各元素的类的前提下定义作用于这些元素的新操作

 

  1. 软件测试

4.1测试用例及环路复杂性

基于程序控制流的复杂性度量方法,环路复杂性为V(G)=m-n+2。M为流程图的边,n为结点

  1. 面向对象

5.1对象

通常可由对象名、属性(状态)和方法(行为)三部分组成

5.2类

一个类定义了一组大体上相似的对象。一个类所包含的方法和数据描述一组对象的共同行为和属性,这些对象共享这些行为和属性

    1. 继承与重置

继承是父类和子类之间共享数据和方法的机制。父类描述了这些子类的公共属性和方法。如果父类中已有方法名在子类中不出现,表示子类继承父类中的方法

重置或覆盖(overriding):一个子类可以继承它的父类(或祖先类)中的属性和方法,这些属性和操作在子类中不必定义;子类中还可以定义自己的属性和方法,也可以重新定义父类中已经定义的方法UML类图中,如果父类中已有方法名在子类中出现了,就表示子类在继承父类接口定义的前提下,用适合于自己要求的实现去置换父类中的相应实现,即覆盖了父类中的方法。

    1. UML

5.4.1用例图

用于需求分析阶段

5.4.2类图

对象图:类图的一个实例

描述类和类之间的静态关系。不仅显示信息的结构,同时还描述了系统的行为。

泛化关系:箭头指向父类

聚合关系:表示整体和部分的关系

组合关系:如果聚合关系中的表示“部分”的类的存在,与表示“整体”的类有紧密的关系,如公司和部门

实现关系:(用来规定接口和实现的类或组件之间的关系,接口是操作的集合,这些操作用于规定类或组件的服务)

类之间的关系

 

1. 种类: Generalization(泛化),Dependency(依赖关系)、Association(关联关系)、Aggregation(聚合关系)、Composition(合成关系)。

 

2.  其中Aggregation(聚合关系)、Composition(合成关系)属于Association(关联关系),是特殊的Association关联关系。

 

3.  Generalization(泛化)表现为继承或实现关系(is a)。具体形式为类与类之间的继承关系,接口与接口之间的继承关系,类对接口的实现关系。

5.4.3顺序图

用来描述对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。反映系统的动态关系。

http://pic.cnitpm.com/upload/img2013/2015-08-06/2e4cab04-90d6-4adb-a5a2-0764a8048776.jpg  

 

5.4.4协作图

用于描述相互合作的对象间的交互关系和链接关系;顺序图着重体现交互的时间顺序,协作图则着重体系交互对象间的静态链接关系

http://pic.cnitpm.com/upload/img2013/2015-08-06/0a645341-2866-4301-b358-cddb0969941f.jpg

 

5.4.5状态图

用来描述对象状态和事件之间的关系。通常用状态图来描述单个对象的行为。 

http://pic.cnitpm.com/upload/img2013/2015-08-06/cf1f71d3-fc69-437a-8dc1-fb216cf6456b.jpg

5.4.6活动图

表示系统中各种活动的次序,可以用来描述用例的工作流程,也可以用来描述类中某个方法的操作行为。 

http://pic.cnitpm.com/upload/img2013/2015-08-06/4c8ffc05-a238-4c58-a4a8-8927d5a876a4.jpghttp://pic.cnitpm.com/upload/img2013/2015-08-06/723fe7b4-7029-47ba-b0fc-db510057950f.jpg

5.4.7构件图(组件图)

物理建模-构件图)可以有效的显示一组构件,以及它们之间的逻辑关系。构件图通常包括构件、接口,以及各种关系。 http://pic.cnitpm.com/upload/img2013/2015-08-06/78021ed5-9371-4d8c-82f2-d6b7546bba13.jpg

5.4.8部署图

也称实施图,构件图是说明构件之间的逻辑关系,而布署图描述系统硬件的物理拓扑结构,以及在此结构上执行的软件。 http://pic.cnitpm.com/upload/img2013/2015-08-06/deb31fdf-9383-414f-81a7-1555b7a3be58.jpg

  1. 软件工程

6.1基本要素

方法,工具,过程

  1. 软件维护

7.1几种有代表性的软件维护过程

快速修改模型

Boehm模 型(波姆模型,经济学家模型)

Osbome模 型

迭代增长模型

面向重用模型

7.2四类维护活动

改正性维护,也就是诊断和改正在使用过程中发现的软件错误;20%
适应性维护,即修改软件以适应环境的变化;25%
完善性维护,即根据用户的要求改进或扩充软件使它更完善;50%
预防性维护,即修改软件为将来的维护活动预先做准备。5%

7.3软件过程的成熟度

CMDL CMI将软件过程的成熟度分为5个等级,以下是5个等级的基本特征:

(1)初始级(initial).工作无序,项目进行过程中常放弃当初的计划。管理无章法,缺乏健全的管理制度。开发项目成效不稳定,项目成功主要依靠项目负责人的经验和能力,他一一但高去,工作秩序面目全非。
(2)可重复级(Repeatable)。管理制变化,建立了基本的管理制度和规程,管理工作有章可循。  初步实现标准化,开发工作比较好地按标准实施.  变更依法进行,做到基线化,稳定可跟踪,新项目的计划和管理基于过去的实践经验,具有重复以前成功项目的环境和条件
(3)已定义级(Defined)。开发过程,包括技术工作和管理工作,均已实现标准化、文档化。建立了完善的培训制度和专家评审制度,全部技术活动和管理活动均可控制,对项目进行中的过程、岗位和职贡均有共同的理解。
(4)已管理级(Managed)。产品和过程已建立了定t的质量目标。开发活动中的生产率和质量是可度的。已建立过程数据库已实现项目产品和过程的控制。节 (5)优化级(Optimizing).可集中精力改进过程,采用新技术、新方法。拥有防止出现缺陷、识别簿弱环节以及加以改进的手段,可取得过程有效性的统计数据,并可据进行分析,从而得出最佳方法。

7.4 系统可维护性的评价指标

可理解、可测试、可修改

 

七.程序语言编译原理

1.编译器与解释器

解释程序也称为解释器,解释程序和源程序要参与到程序的运行过程中,运行程序的控制权在解释程序。解释器翻译源程序时不产生独立的目标程序,

编译程序(编译器),源程序和编译程序都不再参与目标程序的执行过程;将源程序翻译成独立的目标程序。其中,中间代码生成和代码优化不是必须的。

中间代码:

和·后缀式

有穷自动机(NFA DFA=正规文法=词法分析

语法分析方法:

移进规约-自下而上

2.死循环

 程序已经开始运行,说明编译时无错误,因此不是语法错误和词法错误,编译时发现的语义错误称为静态的语义错误。运行时陷入死循环属于动态语义错误。

八.操作系统

1.互斥-信号量

容量-互斥信号量(都为1)

 

互斥资源:最大需求量-已分配资源数-尚需资源数

系统保证不发生死锁的资源数:并发进程数*(进程所需要的资源数-1)+1

2.单缓冲与双缓冲的工作方式

在块设备输入时,假定从磁盘把一块数据输入到缓冲区的时间为T,缓冲区中的数据传送到用户工作区的时间为M,而系统处理(计算)的时间为C    

    当第一块数据送入用户工作区后,缓冲区是空闲的就可以传送第二块数据。这样第一块数据的处理C1与第二块数据的输入T2是可以并行的,系统对每一块数据的处理时间为:Max(C,T)+M。

   

双缓冲工作方式基本方法是在设备输入时,先将数据输入到缓冲区1,装满后便转向缓冲区2。此时系统可以从缓冲区1中提取数据传送到用户区,最后由系统对数据进行处理,

    

    双缓冲可以实现对缓冲区中数据的输入T和提取M,与CPU的计算C,三者并行工作,系统处理一块数据的时间可以粗略地认为是Max(C,T)。

九.数据库

1. 三级模式结构

视图对应外模式、基本表对应模式、存储文件对应内模式。

2.范式

关系规范化在数据库设计的(逻辑设计)阶段进行

各种范式呈递次规范,越高的范式数据库冗余越小。

目前关系数据库有六种范式:第一范式(1NF)、第二范式 (2NF)、第三范式 (3NF)、巴斯-科德范式 (BCNF)、第四范式(4NF) 和第五范式(5NF, 又称完美范式)。

第一范式(1NF):在数据库表中,要求每个属性值都是不可再分的

第二范式 (2NF):每个非主属性完全函数依赖于主键,且该函数依赖集中存在传递依赖

第三范式(3NF):如果某关系模式满足第二范式,而且它的任何一个非主属性都不传递依赖于任何关键字,则满足第三范式。

第四范式首先要求是第三范式,且在关系模式中,至多只有一个多值事实。实体中的多值属性,取实体的码和多值属性构成新增的关系模式,且该新增关系模式中,实体的码多值决定多值属性,属于平凡的多值依赖

3.分布式数据库

分片透明是指用户或应用程序不需要知道逻辑上访问的表具体是怎么分块存储的。

复制透明是指采用复制技术的分布方法,用户不需要知道数据是复制到哪些节点,如何复制的。

位置透明是指用户无须知道数据存放的物理位置,

逻辑透明,即局部数据模型透明,是指用户或应用程序无须知道局部场地使用的是哪种数据模型。

4.函数依赖

  闭包:令a为一 属性集。我们称在函数依赖集F下由a函数确定的所有属性的集合为F下a的闭包,记为a+。

      超码:判断a是否为超码,通过计算a+ (a在F 下的闭包),看a+是否包含了R中的所有属性。若是,则a为R的超码。

无损分解的判断:

   如果R1∩R2是R1或R2的超码,则R上的分解(R1, R2)是无损分解。这是一个充分条件, 当所有的约束都是函数依赖时它才是必要条件(例如多值依赖就是一种非函数依赖的约束)

      保持函数依赖的定义:如果F.上的每一个函数依赖都在其分解后的某一个关系上成立

   设关系模式R<U,F>,其中U= {A,B,C,D,E} ,F={A→BC,C→D,BC→E,E→A},则分解ρ={R1 (ABCE),R2 (CD) }满足(43)。

      先做无损链接的判断。R1∩R2={C}, 计算C+。Result=C

      由于C→D,C∈result, 所以result=resultuD=CD可见C是R2的超码,该分解是个无损分解。再做保持依赖的判断。

      A→BC,BC→E,E→A都在R1 上成立(也就是说每一个函数依赖左右两边的属性都在R1中) ,C→D在R2上成立,因此给分解是保持依赖的。

十.其他

1.媒体分类

感觉媒体:指人们接触信息的感觉形式。如:视觉、听觉、触觉、嗅觉和味觉等。

表示媒体:指信息的表示形式,能有效的存储或转移感觉媒体。如:文字、图形、图像、动画、音频和视频。语言编码,电报码,条形码等。

显示媒体(表现媒体) :表现和获取信息的物理设备。如:输入显示媒体键盘、鼠标和麦克风等;输出显示媒体显示器、打印机和音箱等。

存储媒体:存储数据的物理设备,如磁盘、光盘和内存等。

传输媒体:传输数据的物理载体,如电缆、光缆和交换设备等。

2. 软件-文件格式

视频:Premiere                                            MOV

PDF:Acrobat

音频:                                                   wav

2.模块

  1. 密码体制--公开密钥加密算法

  又称非对称的。

ECC又叫椭圆曲线密码体制,是目前已知的公钥体制中,对每比特所提供加密强度最高的一种体制。

 DSA是基于整数有限域离散对数难题的,安全性与RSA相比差不多。DSA的一个重要特点是两个素数公开,这样,当使用别人的p和q时,即使不知道私钥,你也能确认它们是否是随机产生的,还是作了手脚。RSA算法却作不到。

  RSA公钥加密算法是是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。RSA算法基于-个十分简单的数论事实:将两个大素数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。

对称加密算法:

DES

RC5:快速的对称加密算法 适合对大量数据

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zlionheart

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值