第一章:计算机系统

1 、计算机系统结构层次

  硬件层:裸机,由门电路、触发器等逻辑电路组成;微程序级的机器语言是微指令集;传统机器级的机器语言是该机的指令集。

   系统层:操作系统管理系统资源;语言处理程序将高级语言或汇编语言翻译成机器语言。

  应用层:应用程序

 

2 、基本硬件系统

  基本组成:运算器和控制器(CPU ,算术、裸机、控制)、存储器(内存和外存,前者速度高容量小,临时存放,后者反之,长期保存数据)、输入设备和输出设备。

 

3 、计算机软件系统

   系统软件:计算机的管理、调度、监视和服务。进而划分为:操作系统、语言处理程序、服务性程序、数据库管理系统(DBMS)和计算机网络软件。

  应用软件:解决某些问题的程序。

   固件:能永久保存在有关器件(EPROM EEPROM)中的程序,是具有软件功能的硬件。

4 、校验码

  码距:在两个编码中,从 A 码到 B 码转换所需要改变的位数称为码距。一般来说码距越大,越利于纠错和检错。

   奇偶校验码:奇数个 1 偶数个 1 ,只能检一位错。

  循环冗余校验码:CRC 只能检错不能纠错。原理是找出一个能整除多项式的编码,因此首先将要原始报文除以多项式,将所得的余数作为校验位加在原

始报文之后,作为作为发送数据给接收方。

  海明检验码:

5 、计算机存储结构

分级存储体系目的:解决存储容量、成本和速度之间的矛盾

两级存储映像:Cache-主存和主存-辅存(虚拟存储体系)

 

注:从上至下速度越来越慢,容量越来越大,价格越来越低

6 、分类:

   按所在位置:内存和外存

   按存储器材料:磁带、半导体存储器、光盘

   按工作方式:可读可写 RAM 、只读存储器(ROM 只读、PROM 可写入一次、 EPROM  EEPOM 可读可写)

   按寻址方式:随机存储器、顺序存储器、、直接存储器(前面两位的结合,如磁盘,对磁道的寻址是随机的,在一个磁道内是顺序的)

7 、局部性原理:所访问的数据会趋向于一个较小的空间地址内。

   时间局部性:相邻的时间里会访问同一个数据项

   空间局部性:相邻的空间地址会被连续访问

8 、主存

  传统存储器分类:高速缓冲存储器(Cache)、主存储器。辅助存储器三级

  存储方式:顺序存储、直接存储、随机储存和相联存储(Cache

   四个性能指标:存储时间、存储器带宽、存储器周期和数据传输率

   随机存储器:即可读又可写,断电无法保存。RAM 分为 DRAM(动态 RAM SRAM(静态 RAM)。DRAM 信息会随时间逐渐消失因此要定时刷新。SRAM不断电状态下会一直保存

   只读存储器:可随机读不可写断电信息不会丢失,ROM 一般存储 BIOS 、专用子程序、函数发生器、字符发生器以及微程序控制器中的控制存储器。

9 、辅存

  特点:存放永久信息,容量大、可靠、价格低。分为:磁带、硬盘、磁盘阵列和光盘。

  硬盘分类:HDD SSD  SSHD

  磁盘存储时间=寻道时间+等待时间

10 、磁盘调度算法

   先来先服务 FCFS

   最短寻道时间优先 SSTF:饥饿现象

   扫描算法 SCAN:电梯算法,双向移动

   单向扫描调度算法 CSCAN:只做单向移动

11 、磁盘冗余阵列(8 个级别)

     RAID0:无冗余无校验,最高性能,100%利用率高故障率

     RAID1:磁盘镜像阵列,50% ,高安全性

     RAID2:纠错海明码

     RAID3  RAID4:奇偶校验码,独立校验盘

     RAID5:无独立校验盘的奇偶校验码

     RAID6:具有独立的数据硬盘和两个独立的分布式校验方案

     RAID7:具有最优化的异步高 I/O 速率和高数据传输率

     RAID10

12 地址映射方法

   定义:CPU 工作时送出的是主存单元而应从 CACHE 。这需要将主存地址转换 CACHE 存储器地址,这种转换方式称为地址映像由硬件完成。

   分类:直接映象-组组相联映像-全相联映像(灵活性逐步上升,冲突率逐步下降)

  计算: ·

 

13、地址映射替换算法:随机替换算法、先进先出算法、近期最少使用算法、优

化替换算法

14 、命中率和平均时间

 

15 CACHE 的写操作:写直达、写回、标记法

16 、网络存储技术

 

 

18 、虚拟存储技术

   定义:把多个存储介质模块通过一定手段集中管理形成统一管理的存储池为用户提供大容量、高数据传输性能的系统。是将实际的物理存储实体与逻辑表示实现分离。

   分类:

 

19 、虚拟存储关键(逻辑卷和物理存储实体之间的映射关系)

   主机级虚拟化:服务器上安装软件,成本低

  存储设备级虚拟化:存储厂商实施

   网络级虚拟化:专用设备集中管理,开放性好

20 、虚拟存储优点

1)    虚拟存储提供了一个大容量存储系统集中管理的手段,由网络中的一个环节进行统一管理,避免了由于存储设备扩充所带来的管理方的麻烦。

2)    虚拟存储可以大大提高存储系统整:体访问带宽。

3)    虚拟存储技术为存储资源管理提供:了更好的灵活性和兼容性,可以将不同

类型的存储设备集中管理使用,保护用户的己有投资。

4)    虚拟存储技术可以通过管理软件,为网络系统提供一些其他的有用功能。

5)    虚拟存储技术将计算机的应用系统与存储设备分离,使各种不同的存储设备具有标准的存储特性,而应用系统无须关心数据存储的具体本设备,减轻了应用系统的负担。

21 、输入输出系统

   简称 I/O 系统,由 I/O 设备、I/O 接口(控制器)、I/O 控制管理软件

     5 种工作方式

l 程序控制方式:由 CPU 执行一段 I/O 程序实现主机和外设的数据传送。又分为:无条件传送和程序查询方式

l 程序中断方式:中断请求、中断判优、中断响应、中断处理和中断返回

l DMA 工作方式:为实现主存和外设的高速数据传输

l 通道方式:在硬件基础上利用软件实现对 I/O 的控制和传达。分为字节多路通道、选择通道和数组多路通道

l I/O 处理机:外围处理机具有丰富的指令系统和完善的中断系统,用于大型、高效 I/O

22 、总线(设备间的传输通道)

   按功能:地址总线、数据总线和控制总线

   按位置:机内和机外

   按功用:局部总线、系统总线和通信总线

   按多少:并行总线和串行总线

23 、总线性能指标

   总线宽度:总线线数,决定了物理空间和成本

   总线带宽:最大传输速率,等于总线宽度*总线频率

 

   总线负载:最大设备数量

   总线分时复用:不同时段利用总线上同一信号传输不同信号

   总线猝发传输:在同一周期中可以传输存储地址连续的多个数据

24 I/O 接口功能

   实现主机和外设的通信和控制

  进行地址译码和设备选择

   实现数据缓冲

   数据格式转换

  传递控制命令和状态信息

25 、串行通行

   异步通信:发送字符时,字符间的时间间隔可以是任意的。每个字符要加上开始位和停止位。好处是简单、便宜,但传输效率低。

   同步通信:要求双方具有同步同向同频的时钟信号。

26 、指令系统

  基本要求:完整性、规整性、高效率性和兼容性

   常用的基本指令有:数据传送类指令、运算类指令、程序控制类指令(转移

+程序调用和返回+循环控制)、I/O 指令、处理机控制和调试指令(一般和特权)

  计算机指令组成:操作码和操作数,前者决定要完成的操作,后者参与运算的数据及其所在的地址单元

  执行过程:取指令---》分析指令--》执行指令

27 、指令寻址方式

  顺序寻址:一条一条的取出和执行

  跳跃寻址方式:下一条的地址码由当前指令给出

28 、操作数的寻址方式

  立即寻址方式:指令的地址码字段指出的不是地址,而是操作数本身。

   直接寻址方式:在指令的地址字段中直接指出操作数在主存中的地址。

   间接寻址方式:与直接寻址方式相比,间接寻址中指令地址码字段所指向操作数的地址。

   寄存器寻址方式:指令中的地址码是寄存器的编号,而不是操作数地址或操作数本身。寄存器的寻址方式也可以分为直接寻址和间接寻址,两者的区别在于:前者的指令地址码给出寄存器编号,寄存器的内容就是操作数本身;而后者的指令地址码给出寄存器编号,寄存器的内容是操作数的地址,根据该地址访问主存后才能得到真正的操作数。

  基址寻址方式:将基址寄存器的内容加上指令中的形式地址而形成操作数的

有效地址,其优点是可以扩大寻址能力。

  变址寻址方式:变址寻址方式计算有效地址的方法与基址寻址方式很相似,它是将变址寄存器的内容加上指令中的形式地址而形成操作数的有效地址。

  相对寻址方式:相对于当前的指令地址而言的寻址方式。相对寻址是把程序计数器 PC 的内容加上指令中的形式地址而形成操作数的有效地址,而程序计数器的内容就是当前指令的地址,所以相对寻址是相对于当前的指令地址而言的。

29 CISC  RISC 比较

 

30 CISC 主要存在的三个问题

     80-20 规律:使用频率不均

     CISC 的复杂性增加了设计负担,不利于集成

   软硬件的功能分配问题:复杂指令简化了程序目标,缩小了高级语言与机器指令之间的语义差距,但增加了复杂度、执行周期。

31 RISC 主要技术

  延迟转移技术。指令一般采用流水线方式工作,该技术所面临的一个问题就是流水线断流。解决办法是采用延迟转移技术,该方法是在转移指令之后插入一条有效的指令,使得转移指令好像被延迟执行了。

   指令取消技术。在使用指令取消技术的处理机中,所有转移指令和数据变换指令都可以决定下面待执行的指令是否应该取消。如果指令被取消,其效果相当于执行了一条空操作指令,不影响程序的运行环境。

  重叠寄存器窗口技术。在处理机中设置一个数量比较大的寄存器堆,并把它划分成很多个窗口。每个过程使用其中相邻的三个窗口和一个公共的窗口,而在这些窗口中,有一个窗口是与前一个过程共用的,还有一个窗口是与下一个过程共用的。与前一个过程共用的窗口可以用来存放前一个过程传送给本过程的参数,同时也存放本过程传送给前一个过程的计算结果;与下一个过程共用的窗口可以用来存放本过程传送给下一个过程的参数,同时也存放下一个过程传送给本过程的计算结果。

   指令流调整技术。为了使 RISC 处理机中的指令流水线高效率地工作,尽量不断流,编译器必须分析程序的数据流和控制流,当发现指令流有断流可能时,要调整指令序列。

  逻辑实现以硬件为主,固件为辅。RISC  主要采用硬布线逻辑来实现指令系统。对于那些必需的复杂指令,也可用固件实现。

32 、多处理机系统

   具有两个或两个以上的处理机共享 I/O 子系统,在系统控制下通过共享主存和高速通信网络进行通信以求协同求解一个个的复杂问题。

   多处理机是基于 MIMD 结构,而并行处理机基于 SIMD 。后者通过增加硬件资源的同时对多个数据进行类似处理。

   多处理机有多个处理单元,产生了多个处理单元如何访问内存的问题。通常有两种方式:共享存储方式和分布式存储方式。

l 共享存储方式:多处理机有公共的共享存储(SM) ,各处理机之间通过互连网络共享 SM 。紧耦合。

l 分布式存储方式:每个处理机独占本地存储器(LM),各处理机通过互连网络相连,更像计算机网络的结构。松耦合。

33 、海量并行处理结构(MPP)

MPP 系统最重要的特点是进行大规模并行处理。MPP 采用分布式存储方式,可以使系统容易扩展,但因为各处理机不能直接访问非本地存储器,只能使用消息机制来进行共享,这就使得编程困难,并且增加了通信开销。为了解决这个问题,专家们引入了虚拟共享存储器(SVM)或共享分布存储器(DSM)技术。

SVM 是在基于分布存储器的多处理机上,实现物理上分布但逻辑上共享的存储系统。实现 SVM 系统的途径主要有三种:硬件实现、操作系统和库实现、编译实现。

 

34 、对称多处理机结构(SMP)

也称为共享存储多处理机,它与 MPP 最大的差别在于存储系统。SMP 有一个统一共享的 SM, MPP 则是每个处理机都拥有自己的 LM。共享存储方式有三种模型:均匀存储器存取(UMA)模型、非均匀存储器存取(NUMA)模型和只用高速缓存的存储器结构(COMA)模型。这些模型的区别在于存储器和外设如何共享或分布。UMA 多处理机模型如图 3-6 所示,其物理存储器被所有处理机均匀共享。

NUMA 多处理机模型如图 3.8 所示。其访问时间随存储字的位置不同而变化, SM 物理上分布在所有处理机的 LM 上。所 LM 的集合组成了全局地址空间,可被所有的处理机访问。处理机访问 LM 比较快的,但访问属于另一台处理机的远程存储器则比较慢,因为通过互网络会产生附加时延。

COMA 多处理机模型如图 3-9 所示。COMA 模型是 NUMA 机的一种特例,是 NUMA 中的分布主存储器换成了高速缓存,在每个处理机结点上没有存储器层次结构,全部高速缓冲存储器组成了全局地址空间。远程高速缓存访问则需要借助于分布高速缓存目录进行。

 

35 S2MP

S2MP 是一种共享存储的体系结构。与 MPP 相比模型简单、使用方便、高扩展。共享存储系统降低了通信的额外开销,统使用方便,是对 SMP 系统在支持更高扩因此,系统也可以运行细粒度的应用。

从本质上来看,S2MP 是一种 NUMA 结构,每个结点由处理机和存储器两部分组成,存储器靠近处理机,而不是集中在某个地方,处理机可以访问 LM 获取数据。NUMA 结构可以降低平均访存时延,并且随处理机数目的增加自动增加存储器带宽,也就是说,存储带宽是可扩展的。

 

互联网络是用来连接计算机各部件模块和设备,并建立通信的结构。互联方式有如下5 种:

   总线方式。最简单,通过共享总线把各个处理机连接起来,再配备各处理机都可访问的全局存储器,每个处理机都能访问公共总线。但争用最严重。

   交叉开关。该方式可以把争用现象队绛到最低程度,但连接复杂度最高。

  开关枢纽。由仲裁单元和开关单元红且成,前者完成冲突处理,后者完成连接。

   多端口存储器。它是将交叉点仲裁罗辑移动到存储器去控制的方法。每个存储器模块有多个存取端口,由存储器负责分解多个处理机的尔冲突请求。

   多级互连网络。MIMD  SIMD 计算机都用多级互连网络,各种多级互连网络的区别就在于所用开关模块、控制方式和级间连接模式的入下同。

36 、系统可靠性

   可靠性指标:

n 平均无故障时间 MTTF=1/失效率

n 平均故障修复时间 MTTR=1/修复率

n 平均故障间隔时间 MTBF=MTTF+MTTR

n 系统可用性=MTTF/(MTTF+MTTR)*100%

   串联系统可靠性:R=R1*R2*R3*...*Rn

   并联系统可靠性:R=1-1-R1*1-R2*1-R3...*1-Rn

第二章:操作系统

1 、操作系统概述

   定义:有效组织和管理系统中的各种软件和硬件,合理组织工作流程,控制程序执行,向用户提供良好的工作环境和接口

  作用:提高效率;改善人机交互

     4 个特性:并发性、共享性、虚拟性和不确定性

   功能:

n 处理机管理。负责对处理机的分配和运行进行管理。多道程序环境下,处理机是以进程为基本单位的。因此,处理机管理也称为进程管理。

n 存储器管理。存储器管理的主要任务是对内存进行分配、保护和扩充。

n 设备管理。设备管理应具有设备分配设备传输控制和设备独立性等功能。

n 文件管理。负责对文件存储空间进行管理,包括存储空间的分配和回收、目录管理、文件操作管理和文件保护等功能。

n 用户界面。用户界面也称用户接口,是为了使用户能灵活、方便地使用计算机和系统功能,操作系统提供的一组友好的使用其功能的手段。

   分类:

 

2 、互联网环境对 OS5 个要求

   自主配置和自适应协调。

  支持跨网络的互连、互通和协作

   管理和协调系统资源的共享。

  支持功能、性能和可信性指标动态演化。对运算结果的控制要综合考虑能源消耗、运算精度以及快速处理等三个方面的要求之后,进行折中处理。

   可信赖操作系统。

3 、微内核操作系统

微内核就是将最为核心的元素放入内核中,其他功能独立放入用户进程中,因此系统就分为用户态和核心态。

 

4 、程序、进程和线程关系

进程由进程控制块 PCB(唯一标识)、程序(描述进程需要做什么)、数据(存放进程执行时所需数据)。

 

5 、三态图

 

新建态对应于刚刚被创建时没有提交的状态,并等待系统完成创建进程的所有必要信息。

终止态等待操作系统进行善后处理,释放主存。

6 、前趋图(并行关系,先后顺序)

用来表示哪些任务可以顺序执行,哪些任务有顺序关系,具有顺序性、封闭性和可再现性。

 

程序并发执行具有无封闭性、互相制约和不再一一对应。

 

6 、进程资源图(表示进程和资源之间的分配关系和请求关系)

 

P 代表进程,R 代表资源,R 方框中有几个圆球就表示有几个这种资源,在上图中,R1 指向 P1,指向 R2,表示 P1 还需要请求一个 R2 资源才能执行。表示R1 有一个资源已经分配给了 P1 P1 指向 R2 ,表示 P1 还需要请求一个 R2 资源才能执行。

阻塞节点:某进程所请求的资源已经全部分配完毕,无法获取所需资源,该进程被阻塞了无法继续。如上图中 P2

非阻塞节点:某进程所请求的资源还有剩余,可以分配给该进程继续运行。如上图中 P1 P3

当一个进程资源图中所有进程都是阻塞节点时,即陷入死锁状态。

进程资源图的化简方法:先看系统还剩下多少资源没分配,再看有哪些进程是不阻塞的,接着把不阻塞的进程的所有边都去掉,形成一个孤工立的点,再把系统分配给这个进程的资源回收回来,这样,系统剩余的空闲资源便多了起来,

接着又去看看剩下的进程有哪些是不阻塞的,然后又把它们逐个变成孤立的点。最后,所有的资源和进程都变成孤立的点。

7 、同步和互斥

互斥和同步并非反义词,互斥表示一个资源在同一时间内只能由一个任务单独使用,需要加锁,使用完后解锁才能被其他任务使用;

同步表示两个任务可以同时执行,只入下过有速度上的差异,需要速度上匹配,不存在资源是否单独或共享的问题。

8 、信号量操作

 

 

 

 

 

9 PV 操作的弊端

   编程难度大:对用户不透明,即要利用低级通讯工具实现同步和互斥,容易引起死锁。

   效率低

10 、高级通信方式

未解决上述问题引入高级通信方式,分为:

(1)共享存储模式。相互通信的进程以共享某些数据结构(或存储区)实现进程之间的通信。(2)消息传递模式。进程间的数据交换以消息为单位,程序员直接利用系统提供的一组通信命令语来实现通信。

(3)管道通信。所谓管道,是指用于连接一个读进程和一个写进程,以实现它们之间通信的共享文件(pipe 文件) 。向管道(共享文)提供输入的发送进程(写进程) ,以字符流的形式将大量的大量的数据送入管道。而接收进程可从管道接收数据。由于它们通信时采用管道,所以称为管道通信。

11 、死锁

当一个进程在等待一个永远不可能发生的事件时,就会产生死锁,若多个进程死锁就会产生系统死锁。

4 个必要条件:资源互斥、每个进程占有资源并等待其他资源、系统不能剥

夺进程资源、进程资源图是个环路。

11 、解决措施(打破 4 个条件)

 

  死锁预防:采用某种策略限制并发进程对于资源的请求,破坏死锁产生的四个条件之一,使系统任何时刻都不满足死锁的条件。

n 预防死锁的两种策略如下:

u 预先静态分配法。破坏了“不可剥条件 ”,预先分配所需资源,保证不等待资源。该方法的问题是降低了对资源的利用率,降低进程的并发程度;有时可能无法预先知道所需资源。

u 资源有序分配法。破坏了“环路条件 ”,把资源分类按顺序排列,保证不形成环路。该方法存在的问题是限制进程对资源的请求; 因资源:排序占用系统开销。

  死锁避免:一般采用银行家算法来避免,银行家算法,就是提前计算出一条不会死锁的资源分配方法,才分配资源,否则不分配资源,相当于借贷,考虑对方还得起才借钱,提前考虑好以后,就可以避免死锁。

  死锁检测:允许死锁产生,但系统定时运行一个检测死锁的程序,若检测到系统中发生死锁,则设法加以解除。

  死锁解除:即死锁发生后的解除方法,如强制剥夺资源,撤销进程等。

12 、死锁资源计算

系统内有 n 个进程,每个进程都需要 R 个资源,那么其发生死锁的最大资源数为 n*(R-1) 。其不发生死锁的最小资源数为 n*(F-1)+1.

银行家算法:

 

13 、线程

传统的进程有两个属性:可拥有资源的独立单位;可独立调度和分配的基本单位

引入线程的原因是,进程在创建、撤销和切换时,系统需付出较大时空开销,因此系统中进程数目不宜多、切换频率不宜高,否则限制了并发程度。引入线程后,将传统进程的两个基本属性分开,线程作为调度和分配的基本单位,进程作为独立分配资源的单位。用户可创建线程完成任务,以减少程序并发执行的时空开销。

线程是进程中的实体,是系统独立分配和调度的基本单位。线程基本不拥有资源,仅拥有运行必需的少量资源(如程序计数器、一组寄存器和栈),可与同进程的其他线程共享进程的全部资源,如公共数据、全局变量、代码、文件等,但不能共享线程独有的标识数据,如栈指针等。

线程分为用户级线程和内核支持线程两类。用户级线程不依赖内核,其创建、撤销和切换不利用系统调用实现;而内核支持线程依赖内核,用户进程和系统中的线程,其创建、撤销和切换都利用系统调用实现。

14 、分区存储管理

 

   定义:将某进程运行所需的内存整体一起分配给他(整存)。

   分类:固定分区、可变分区和可重定位分区

n 固定分区:静态方法,将主存分为若干固定的分区,容易产生内部碎片。

n 可变分区:动态方法,分区是在作业转入时划分,大小刚好,但易产生外部碎片。可细分为(作业 4):

u 首次适应法:第一个》=9K

u 最佳适应法:所有空闲块从小到大排序,找到第一个》=9K

u 最差适应法:从最大的切割 9K

u 循环首次适应法:不用每次从头开始

 

n 可重定位分区:可解决碎片问题,将分配好的区域融合成连续区域。只在外部作业请求空间得不到满足时进行

15 、分页存储管理

   用以解决当进程所需内存大与系统内存时,无法将整个进程调入内存。

   如下图,逻辑页分为页号和页内地址,页内地址就是物理偏移地址。

 

  优点:利用率高、碎片小、简单易行;缺点:增加开销、产生抖动

  地址表示和转换

n 地址组成:页地址(高位)+页内偏移地址(低位)

n 物理地址:物理块号+页内偏移地址

n 逻辑地址:页号+页内偏移地址

   页面置换算法:

n 最优算法:OPT ,理论上。原理是选择未来最长时间内不被访问的页面置换。

n 先进先出算法:FIFO ,会产生抖动现象,即分配的页数越多,缺页率可能越多。

n 最近最少使用:LRU ,局部性原理,效率高,无抖动,使用大量计数器,但是没有 LFU 多。

n 淘汰原则:先淘汰最近未访问的,而后淘汰最近未修改的。

16 、快表

   一个小容量的相联存储器,由快速存储器组成,按内容访问,速度快,有保障,一般用来存放当前访问最频繁的少数活动页面的页号。

   快表试讲页表存于 Cache 中,慢表将页表存于内存上。慢表要访问两次内存才能取出,而快表一次 Cache ,一次内存就行。

17 、段式存储管理

 

  将进程空间根据逻辑整体分为一个个段,需有段长和基址两个属性,才能确定一个逻辑段在物理段中的位置

  优点:多道程序共享内存,各程序修改互不影响。缺点:内存利用率低、碎片多、浪费大。

   因此,分页是根据物理空间划分,每页大小相同;分段是根据逻辑空间划分每段是一个完整的功能便于共享,但是大小相同。

  地址表示:(段号+段内偏移)段内偏移不能超过该段号对应的长度,否则越界,而此地址对应的真正地址该是:段号对应地址+段内偏移

18 、段页式存储管理

 

   对进程空间先分段,后分页。

   优点:空间浪费小、共享容易、保护容易、能动态链接。缺点:软件成本增加,复杂性和开销大,硬件资源要求高执行速度低。

 

19 、虚拟存储管理

   虚拟存储器是具有请求调入功能和置换功能仅把作业的一部分装入主存便可运行作业的存储器系统是能逻辑上对主存容量进行扩充的一种虚拟的存储器系统。其逻辑容量有主存和外存容量之和以及 CPU 可寻址的范围决定,运行速度近于主存速度成本也有所下降。

20 、设备管理

   设备是计算机和外界沟通交互的工具,负责计算机与外部的输入/输出工作,也称为外设。

     I/O 系统由设备、控制器、通道、总线和软件构成。

   分类:

n 按数据组织:块设备、字符设备

n 按设备功能:输入设备、输出设备、存储设备、网络联网设备、供电设备

n 按分配角度:独占设备、共享设备、虚拟设备

n 按数据传输率:低速设备、中速设备、高速设备

   设备管理任务:在多道环境下,多个进程使用设备时,按策略分配和管理设备,控制设备操作,完成 I/O  设备与主存的数据交换。

   主要功能:动态掌握并记录设备状态、分配和释放情况,管理缓冲区,实现物理 I/O 设备操作,提供设备使用接口及进行访问控制。

   主要技术:中断技术、DMA 技术、通道技术和缓冲技术。

21 I/O 软件

 

22 Spooling 技术

解决一台设备在同一时间只能供一个进程使用,而其他进程只能等待的效率低下问题。他在外设上建立两个数据缓冲区(输入井和输出井),这样无论多少进程都可以共用这一台打印机,只需要将打印命令发出,数据就会排队存储在缓冲区中,打印机会自动按顺序打印,实现了物理外设的共享,使得每个进程都感觉在使用一个打印机,这就是物理设备的虚拟化。

 

23 、文件管理系统

   定义:专门负责管理和存取文件信息的软件机构,简称文件系统。功能包括:按名存储、统一用户接口、并发访问和控制、优化性能和差错恢复。

   类型:

n 按文件性质和用途可将文件分为系统文件、库文件和用户文件。

n 按信息保存期限分类可将文件分为临时文件、档案文件和永久文件。

n 按文件的保护方式分类可将文件分为只读文件、读/写文件、可执行文件和不保护文件。UNIX 系统将文件分为普通文件、 目录文件和设备文件(特殊文件)

   文件的逻辑结构可分为两大类:一是有结构的记录式文件,它是由一个以上的记录构成的文件,故又称为记录式文件;二是无结构的流式文件,它是由一串顺序字符流构成的文件。

   文件的物理结构是指文件的内部组织形式,即文件在物理存储设备上的存放方法,包括:

n 连续结构,也称顺序结构,将逻辑上连续的文件信息(如记录)依次存于连续编号的物理块。知晓文件起始物理块号和长度,就能便捷存取文件。

n 链接结构也称串联结构,它把逻辑上连续的文件信息(如记录)存于不连续的物理块上,每个物理块设指针指向下一物理块。所以,只要知道文件的首个物理块号,就能按链指针查找整个文件。

n 索引结构:采用该结构时,将逻辑上连续的文件信息存于不连续物理块,系统为每个文件建索引表。索引表记录文件信息逻辑块号对应的物理块号,其起始地址置于对应文件的目录项中。

n 索引表用于多个物理块,在文件创建时由系统自动建立,与文件存于同一文件卷。因文件大小而异,索引表占用物理块个数不同,通常占一个或几个物理块。

24 、索引文件结构

 

25 、文件目录

   文件控制块包含三类信息:基本信息类(文件名、物理地址、文件长度和文件块数据)、存储控制信息类(存取权限)和使用信息类(文件使用修改日期、进程数、等待队列)。他的有序集合又被称为文件目录。

   相对路径:从当前路径开始的路径

   绝对路径:是从根目录开始的路径

   全文件名=绝对路径+文件名

n 注:绝对路径和相对路径不用加最后的文件名

26 、位示图

 

26 、文件共享和保护

   不同的用户进程使用同一文件。文件共享有多种形式,采用文件名和文件说明分离的目录结构有利于文件实现共享。常见的文件链接有:硬链接(基于索引结点的链接可以将两个文件目录表指向同一个索引节点)和符号链接(建立新的文件目录并与原来的文件和目录的路径名进行映射)

 

27 、文件安全和可靠性

   安全设计两类不同问题:一类涉及技术、管理、法律、道德和政治;一类涉及操作系统的安全机制。一般从 4 个级别对文件进行安全管理:系统级、用户级、目录级和文件级。

   可靠性:抵抗和预防各种物理性破坏和人为性破坏的能力

   保护信息安全的主要方法:转储和恢复、日志文件和一致性检查(块的一致性检查和文件的一致性检查)

28 、作业

   定义:作业是系统为完成用户的计算任务或事务处理所做工作的总和。系统中用来控制作业进入、执行和撤销的一组程序称为作业管理程序。

   操作系统控制用户作业的运行采用脱机(一次性提交作业说明书)和联机(用户输入命令的人机交互)两种方式。

   作业程序由程序、数据和作业说明书 3 个部分。

   作业说明书包括作业基本情况、作业控制、作业资源要求的描述他提现了用户的意图。

   作业状态分为 4 种:提交、后备(收容)、执行和完成。

 

   作业控制块(JCB):记录与该作业有关的各种信息的登记表。JCB 是作业的唯一标志包括用户名、作业名和状态标志等信息。

   作业后备队列:为便于调度系统将 JCB 排成一个或多个队列。后备队列由若干 JCB 组成。

   常用的作业调度算法:先来先服务、短作业优先、优先级调度算法和响应比高优先(响应比高的作业先启动,作业响应时间/作业执行时间,其中作业响应时间等于作业进入系统后的等待时间与作业的执行时间之和)。

29 、用户界面

实现用户和计算机之间通信的软硬件的总称。

分为:控制面板式用户界面、字符用户界面、图形用户界面和新一代用户界面。

30 、国产操作系统系统

国产操作系统主要以开源的 Linux 为基础进行二次开发,简介如下:

   银河麒麟操作系统(KylinOS)  自主知识产权,三个版本:实时版、安全版、服务器版。

   深度操作系统(deepin)是基于 Linux 内核。

   统信操作系统(UOS)基于 deepin 进行深度开发。

   中标麒麟操作系统采用强化的 Linux 内核,分桌面版、通用版、高级版和安全版等。

   红旗 Linux 是一系列 Linux 发行版,包括桌面版、工作站版、数据中心服务器版、HA 集群版和红旗 Linux 嵌入式版。

   安超 OS2020 是一套基于服务器架构的通用型云操作系统,具有软硬件解耦、应用优化、支持混合业务负载等特点。

   中科方德基于核高基(核心电子器件、高端通用芯片及基础软件产品)桌面操作系统基础版,采用核高基安全加固内核,与基于国产兆芯处理器的整机进行全面适配和深度优化,安装简单,易配置。

      StartOS(起点操作系统)基于 Linux 的底层建构, 自主核心配置,全新的包管理和操作界面。

   鸿蒙:微内核、分布式、全场景

第三章:数据库系统

1 、概述

   数据库系统(DBS)组成:数据库、硬件、软件、人员

   数据管理系统(DBMS)的功能:数据定义、数据库操作、数据库运行管理、数据的存储管理数据库的建立和维护等

       DBMS 分类:关系数据库系统(RDBS)、面向对象的数据库系统(OODBS)、对象关系数据库系统 ORDBS

   数据库系统的体系结构:集中式数据库系统、客户端服务器体系结构(客户端负责请求指示,服务器负责服务)、并行数据库系统、分布式数据库系统

2 、三级模式-两级映像

 

   内模式:管理如何存储物理的数据,对数据的存储方式、优化、存放

   模式:概念模式,对应表这个级别,根据应用、需求讲物理数据划分为一张张表

   外模式:对应视图这个级别,将表出来后再给用户使用,例如,将用户表中的用户名和密码组成视图提供给登录模块使用,而用户表中的其他信息不对该模块开放,增加了安全性

   外模式-模式映像:表和视图之间的映射,确保逻辑独立性

   模式-内模式映像:表格数据的映射,确保物理独立性

   两级映像提供了数据或者存储方式发生了修改,无需改变程序,从而确保了相应的独立

   视图:是保存在数据库中的SELECT 查询,其内容由查询定义,因此,视图不是真实存在的基础表,而是从一个或者多个表中导出的虚拟的表。同真实的表一样,视图包含一系列带有名称的列和行数据,但视图中的行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。

   视图特点:视点集中、安全性、合并分割数据、定制数据、简化操作、

   物化视图:在物化视图中数据查询结果被固化起来,又称为快照。

3 、数据模型

   数据模型三要素:数据结构、数据操作、数据约束条件

   数据模型分类:层次模型(树)-网状模型(网,实体类,E-R-关系模型(表)-面向对象模型

   基于数据库系统生命周期的数据库设计 5 阶段

   规划阶段:必要性和可行性分析,确定系统在企业和信息系统中的地位,及各个数据库系统间的联系

   需求分析:调查研究,形成需求说明书。数据流图、数据流图

   概念设计:结构设计,在需求说明书的基础上,将它们抽象成为一个不依赖于任何 DBMS的概念模型

   逻辑设计:概念模型转化为逻辑模型

   物理设计:给逻辑模型选定合适的存储结构和存取办法

n 物理设计步骤:

u 设计存储记录结构

u 确定数据存储安排

u 设计访问方法

u 进行完整性和安全性的分析和设计

u 数据库程序设计

4 E-R 

   冲突类型:

n 属性冲突:包括属性域冲突和属性取值冲突

n 命名冲突:命名冲突包括同名异义和异名同义

n 结构冲突

   模型说明:椭圆表示属性、长方形表示实体、菱形表示联系、联系两端要写联系类型

 

   属性分类:简单属性和复合属性、单值属性和多值属性、NULL 属性、派生属性

   联系类型:

n 1 1 联系中,联系可以放到任意的两端实体中,作为一个属性(要保证 1 1 的两端关联);

n 1 N 的联系中,联系可以单独作为一个关系模式,也可以在 N 端中加入 1 端实体的主键;

n MN 的联系中,联系必须作为一个单独的关系模式,其主键是 M  N 端的联合主键。

   以上,明确了有多少关系模式,就知道有多少张表,同时,表中的属性也确定了,注意联系是作为表还是属性,若是属性又是哪张表的属性即可。

5 、关系代数运算

   并、交、叉

   笛卡尔积、投影(列)、选择(行)、 自然连接

效率问题:其效率归根结底是看参与运算的两张表格的属性列数和记录数,记录越少,

次数越少,效率越高。因此效率高的运算一般是两张表格参与运算之前就将条件判断完。如:

 

后者侠侣就比前者效率高。

6 Armstrong 定理

 U 是关系模式 R 的属性集,F  R 上成立的只涉及 U 中属性的函数依赖集。函数依赖的推理规则有:

   自反律:若属性集丫包含于属性集 X,属性集 X 包含于 U ,则 X  Y  R 上成立。(此处X  Y 是平凡函数依赖)

   增广律:若 X  Y  R 上成立,且属性集 z 包含于属性集 U ,则 XZ  YZ  R 上成立。

   传递律:若 X  Y YZ  R 上成立,则 X  Z  R 上成立。

   合并规则:若 X  Y XZ 同时在 R 上成立,则 X  YZ  R 上也成立。

   分解规则:若 X  W  R 上成立,且属性集 Z 包含于 W ,则 X  Z  R 上也成立。

   伪传递规则:若 X  Y  R 上成立,且 WY  Z ,则 XW  Z

7 、健和约束

 

8 、函数依赖

   给定一个 X ,就能确定一个唯一的 Y ,就称 X 确定 Y ,或者说 Y 依赖于 X

   部分函数依赖:A 可以确定 C ,(A B)也可以确定 C ,(A B)的一部分 ( A ) 可以确定 C

   传递函数依赖:当 AB 不等价时,A 可以确定 B B 可以确定 C ,  A 可以确定 C

 

 

9 、完整性约束

   实体完整性约束:即主键约束,主键不能为空,也不能重复

   参照完整性约束:即外键约束,外键必须是其他标中已存在的主键的值,或者为空

   用户自定义完整性约束: 自定义表达式,如年龄设置在 0-150 之间

   触发器:通过写脚本来规定复杂的约束,本质是用户自定义完整性约束

触发器是在关系型 DBMS 中应用得比较多的一种完整性保护措施,其功能比完整性约束要强得多。触发器的功能不仅起到提示作用,还会引起系统自动进行某些操作,以消除违反完整性约束条件所引起的负面影响。

所谓触发器,其抽象的含义是一个事件的发生必然触发(或导致)另外一些事件的发生,其中,前面的事件称为触发事件,后面的事件称为结果事件。目前,数据库中的事件一般表示为数据的插入、修改、删除等操作。触发器除了有完整性保护功能外,还有安全性保护功能。

 

 

 

 

10 、范式

   第一范式:关系 R 的每个分量不可再分,无子表

   第二范式:在第一范式基础上,非主属性完全依赖于候选键,没有部分函数依赖

   第三范式:在第二范式基础上,消除了传递函数依赖

       BC 范式:消除了主属性对候选键部分和传递函数依赖

   第四范式:多值依赖

 

11 、模式分解

   定义:范式之间的转换一般通过拆分属性,即将具有部分函数依赖和传递函数依赖的属性分离出来,从而达到进一步优化的过程。

   保持函数依赖的分解

n 对于关系模式 R , 有依赖集 F , 若对R进行分解,分解出来的多个关系模式,保持原来的依赖集不变,则称为保持函数依赖的分解,注意要销除掉冗余依赖。例如:关系模式 R ( A , B , C),依赖集 FA-B B-C A-C),现将 R 分解为 R1 A  B )  R2 B C 此时 R1 推出 A-B R2 推出 B-C ,则称保持函数依赖依赖。

 

 

 

 

12 、反规范化技术

   规范化操作可以防止插入异常、更新、删除异常和数据冗余,一般通过模式分解,将表拆分从而达到目的。

   主要手段:增加派生冗余列、增加冗余列、重新组装、分隔列表、

   反规范化的目的:提高查询效率

 

13 、事务管理

   事务提交:commit;事务回滚:rollback

   事务: 由一系列操作组成,要么全做,要么全不做。

   四种特性:

n (操作)原子性:要么全做要么全不做

n (数据)一致性:事物发生后数据是一致的

n (执行)隔离性:食物的操作过程对其他事物不可见,互不干涉

n (改变)持续性:操作的结果一旦提交是永久的

   并发控制三个问题:

n 丢失更新:事务 1 对数据 A 进行了修改并写回,事务 2 也对 A 进行了修改并写回,此时事务 2 写回的数据会覆盖事务 1 写回的数据,就丢失了事务 1  A 的更新。即对数据 A 的更新会被覆盖。

n 不可重复读:事务 2  A ,而后事务 1 对数据 A 进行了修改并写回,此时若事务 2再读 A ,发现数据不对。即一个事务重复读 A 两次,会发现数据 A 有误。

n 读脏数据:事务 1 对数据 A 进行了修改后,事 2 读数据 A ,而后事务 1 回滚,数 A 恢复了原来的值,那么事务 2 对数据 A 做的事是无效的,读到了脏数据。

 

14 、两种锁

      X 锁是排它锁(写锁) 。若事务 T 对数据对象 A 加上 X 锁,则只允许 T 读取和修改 A ,其他事务都不能再对 A 加任何类型的锁,直到 T 释放 A 上的锁。

      S 锁是共享锁(读锁) 。若事务 T 对数据对象 A 加上 S 锁,则只允许 T 读取 A ,但不能修 A ,其他事务只能再对 A  S (也即能读不能修改) ,直到 T 释放 A 上的S 锁。

15 、三级封锁协议

 

 

16 、两段锁

   两段锁协议每个事务的执行可以分为两个阶段:生长阶段(加锁阶段)和衰退阶段(解锁阶)

   加锁阶段:在该阶段可以进行加锁操作。在对任何数据进行读操作之前要申请并获得 S锁,在进行写操作之前要申请并获得 X 锁。加锁不成功,则事务进入等待状态,直到加锁成功才继续执行。

   解锁阶段:当事务释放了一个封锁以后,事务进入解锁阶段,在该阶段只能进行解锁操作不能再进行加锁操作。

   两段封锁法可以这样来实现:事务开始后就处于加锁阶段,一直到执行 ROLLBACK COMMIT 之前都是加锁阶段。ROLLBACK  COMMIT 使事务进入解锁阶段,即在 ROLLBACKCOMMIT 模块中 DBMS 释放所有封锁。

17 、述据库安全措施

 

18 、数据故障恢复

 

19 、数据备份

   静态存储:冷备份,在转存储期间不许对数据库进行修改、存储操作。

   动态存储:热备份,允许修改存储,可并发。

 

   三种备份

n 完全备份:每次都对数据进行完整的备份

n 差量备份:仅备份上一次完全备份之后变化的数据

n 增量备份:只有在上次完全备份或者增量备份后被修改的文件才会被备份

   日志文件:数据库恢复的依据

20 、数据库的性能优化

   硬件升级:涉及处理器、内存、硬盘等

   数据库设计:对数据库进行设计优化,主要可以从逻辑设计和物理设计两个方面入手。逻辑设计常用措施:

n 将常用的计算属性(例如,总计和最大值等)存储到数据库实体中。

n 重新定义实体,以减少外部属性数据或行数据的开支。

n 将关系进行水平或垂直分割,以提升并行访问度。

   物理设计遵循准则:

n 与每个属性相关的数据类型应该反映数据所需的最小存储空间,特别是对于被索引的属性更是如此。

n 将一个频繁使用的关系模式分割开,并放在两个单独的智能型磁盘控制器的数据库设备上,这样也可以提高性能。因为有多个磁头在查找,数据分离也能提高性能。

n 将数据库中文本或图像属性的数据存放在一个单独的物理设备上,也可以提高性能。如果使用专用的智能型控制器,就能进一步提高性能。

   索引优化策略:索引是提高数据库查询速度的利器,索引的建立与选择可遵循以下准则:

n 建立索引时,应选用经常作为查询,而不常更新的属性。

n 一个关系上的索引过多会影响 UPDATE INSERT  DELETE 的性能,因为关系一旦进行更新,所有的索引都必须跟着做相应的调整。

n 尽量分析出每个重要查询的使用频率,这样可以找出使用最多的索引,然后可以先对这些索引进行适当的优化。

n 对于数据量非常小的关系不必建立索引。

   查询优化:SQl 语句优化的策略很多,例如,建立物化视图或尽可能减少多表查询; 以不相干子查询替代相干子查询; 只检索需要的属性;用带 IN 的条件子句等价替换 OR 子句;经常提交(COMMIT), 以尽早释放锁等。

21 、分布式数据库

   局部数据库位于不同的物理位置,使用一个全局 DBMS 将所有局部数据库联网管理,这就是分布式数据库。具有如下特点:

n 数据独立性:在分布式数据库系统中,数据独立性这一特性更加重要,并具有更多的内容。除了数据的逻辑独立性与物理独立性外,还有数据分布独立性(分布透明)

n 集中与自治共享结合的控制结构:各局部的 DBMS 可以独立地管理局部数据库,具有自治的功能。同时,系统又设有集中控制机制,协调各局部 DBMS 的工作,执行全局应用。

n 适当增加数据冗余度;在不同的场地存储同一数据的多个副本,这样可以提高系统的可靠性和可用性,同时也能提高系统性能。

n 全局的一致性、可串行性和可恢复性。

   体系结构

 

n 全局外模式。全局外模式是全局应用的用户视图,是全局概念模式的子集,该层直接与用户(或应用程序)交互。

n 全局概念模式。全局概念模式定义分布式数据库中数据的整体逻辑结构,数据就如同根本没有分布一样,可用传统的集中式数据库中所采用的方法进行定义。

n 分片模式。数据分片将数据库整体逻辑结构分解为合适的逻辑单(片段) ,然后由分布模式来定义片段及其副本在各场地的物理分布。分片方式包括:

u 水平分片。水平分片将一个全局关系中的元组分裂成多个子集,每个子集为一个片段。分片条件由关系中的属性值表示。对于水平分片,重构全局关系可通过关系的并操作实现。

u 垂直分片。垂直分片将一个全局关系按属性分裂成多个子集,应满足不相交性(关键字除外)

u 对于垂直分片,重构全局关系可通过连接运算实现。

u 导出分片。导出分片又称为导出水平分片,即水平分片的条件不是本关系属性的条件,而是其他关系属性的条件。

u 混合分片。混合分片是在分片中采用水平分片和垂直分片两种形式的混合。

n 分布模式。分布式数据库的本质特性就是数据分布在不同的物理位置。分布模式的主要职责是定义数据片段(即分片模式的处理结果)的存放节点。分布透明性包括:

u 分片透明性:用户或应用程序不需要知道逻辑上访问的表具体是如何分块存储的。

u 位置透明性:应用程序不关心数据存储物理位置的改变。

u 逻辑透明性:用户或应用程序无需知道局部使用的是哪种数据模型。

u 复制透明性:用户或应用程序不关心复制的数据从何而来。

n (5)  局部概念模式。局部概念模式是局部数据库的概念模式。

n (6)局部内模式。局部内模式是局部数据库的内模式。

   分布式数据库的优点:

n 分布式数据库可以解决企业部门分散而数据需要相互联系的问题。

n 如果企业需要增加新的相对自主的部门来扩充机构,则分布式数据库系统可以在对当前机构影响最小的情况下进行扩充。

n 分布式数据库可以满足均衡负载的需要。数据的分片使局部应用达到最大,这使得各服务器之间的相互干扰降到最低。

n 当企业己存在几个数据库系统,而且实现全局应用的必要性增加时,就可以由这些数据库自下而上构成分布式数据库系统。

n 相等规模的分布式数据库系统在出现故障的概率上不会比集中式数据库系统低,但由于其故障的影响仅限于局部数据应用,因此,就整个系统来说,它的可靠性是比较高的。

 

 

23 、数据仓库

 

   数据仓库:是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。

 

n 数据源:是数据仓库系统的基础,是整个系统的数据源泉。

n 数据的存储与管理:是整个数据仓库系统的核心。

n 0LAP(联机分析处理)服务器:对分析需要的数据进行有效集成,按多维模型组织,以便进行多角度、多层次的分析,并发现趋势。

 n 前端工具:主要包括各种报表工具、查询工具、数据分析工具、数据挖掘工具以及各种基于数据仓库或数据集市的应用开发工具。

 商业智能:数据预处理、建立数据仓库、数据分析和数据展现

   数据分析的两大关键技术:联机分析处理(OLAP)和数据挖掘

   数据仓库分类

n 企业仓库。企业仓库面向企业级应用,它搜集了企业的各个主题的所有信息,提供全企业范围的数据集成,数据通常来自多个操作型数据库和外部信息提供者,并且是跨多个功能范围的。企业仓库通常包含详细数据和汇总数据,数据量可达 TB 级。

n 数据集市。数据集市面向企业部门级应用,它包含对特定用户有用的、企业范围数据的一个子集,它的范围限定在选定的主题中。根据数据来源不同,数据集市可以分为两种,分别是独立数据集市和从属数据集市。

u 从属数据集市的数据直接来自于中央数据仓库。作用在于,为一些部门建立数据集市,将需要的

u 数据复制、加工到其中。独立数据集市的数据直接来自于业务系统,由于为各个部门都建立了各自的数据集市。

n 虚拟仓库。虚拟仓库是操作型数据库上视图的集合。为了有效地处理查询,只有一些可能的汇总视图被物化。

   数据库设计方法: 自顶向下的方法、 自底向上的方法和混合式方法

24 、数据挖掘

体系结构

 

   数据挖掘流程

n 问题定义。熟悉背景知识,弄清用户的需求。

n 建立数据挖掘库。要进行数据挖掘必须收集要挖掘的数据资源,一般需要将要挖掘的数据都收集到一个数据库中。

n 分析数据。是对数据深入调查的过程。(4)调整数据。尽可能对问题解决的要求做进一步明确化和量化。针对问题的需求对数据进行增删。

n 模型化。在问题进一步明确、数据结构和内容进一步调整的基础上,就可以建立形成知识的模型。是数据挖掘的核心环节。

n 评价和解释。评估和确定哪些是有效的、有用的模式。

   常用技术

n 决策树方法。利用信息论中的互信息(信息增益)寻找数据库中具有最大信息量的属性,

n 建立决策树的一个结点,再根据属性的不同取值建立树的分支。

n 分类方法。将数据按照含义划分成组,可用该方法生成感兴趣的侧面,可用于自动发现类。粗糙集方法。主要基于分类。分类和概念同义,一种类别对应于一个概念。知识由概念组成,如果某知识中含有不精确概念,则该知识就不精确,粗糙集通过上近似概念和下近似概念来表示不精确概念。

n 神经网络。神经网络通过学习待分析数据中的模式来构造模型,它可对隐式类型进行分析,适用于对非线性的、复杂的或高噪声的数据进行建模。

n 关联规则。关联规则是指搜索业务系统中的所有细节和事务,从中找出重复出现概率很高的模式。

n 概念树方法。对数据库中记录的属性按归类方式进行抽象,建立起来的层次结构称为概念树。对多个属性的概念树进行提升,将得到高度概括的知识基表,然后再将它转换成规则。

n 遗传算法。遗传算法是模拟生物进化过程的算法,由繁殖、交叉和变异三个基本算子组成。繁殖也称为选择,是从一个旧种群(父代)选出生命力强的个体产生新种群 (后代)的过程:交叉也称为重组,是指选择两个不同个体(染色体)的部分(基因)进行交换,形成新个体;变异也称为突变,是指对某些个体的某些基因进行变异(1  0 0  1)

n 依赖性分析。依赖性分析是指在数据仓库的条目或对象之间抽取依赖性,它展示了数据之间未知的依赖关系。

n 公式发现。在工程和科学数据库中,对若干数据项(变量)进行一定的数学运算,求得相应的数学公式。

n 统计分析方法。在数据库属性之间通常存在两种关系,分别是函数关系(能用某个函数表示的确定性关系)和相关关系(不能用函数表示的确定性关系)

n 模糊论方法。利用模糊集合理论对实际问题进行模糊评判、模糊决策、模糊模式识别和模糊聚类分析。模糊性是客观存在的,系统的复杂性越高,精确化能力就越低,即模糊性越强。

n 可视化分析。可视化分析可给出带有多变量的图形化分析数据,帮助用户进行分析。

   分析方法

n 关联分析:一个事件的发生,同时另一个事件也发生

n 序列分析。主要用于发现一定时间间隔内接连发生的事件,这些事件构成一个序列。

n 分类分析。按标记分类记录,然后检查这些标定的记录,描述出这些记录的特征。

n 聚类分析。聚类分析是根据物以类聚 的原理,将本身没有类别的样本聚集成不同

的组,并且对每个这样的组进行描述的过程。

n 时间序列分析。时间序列分析是随时间而变化的事件序列,目的是预测未来发展趋势,或者寻找相似发展模式,或者发现周期性的发展规律。

25 、非关系型数据库

 

      CAP 理论

n 一致性(Consistency)。一致性指系统在执行了某些操作后仍处在一个一致的状态。就是所有的结点在同一时刻有相同的数据。

n 可用性(Availability 。可用性指对数据的所有操作都应有成功的返回。就是任何请求不管成功或失败都有响应。

n 分区容忍性(Partition tolerance)。这一概念的前提是在网络发生故障的时候。在网络连接上,一些结点出现故障,使得原本连通的网络变成了一块一块的分区,若允许系统继续工作,那么就是分区可容忍的。

u 由于 CAP 理论的存在,为了提高性能,出现了 ACID  的一种变种 BASE 。即是一个弱一致性的理论,只要求最终一致性。

特性

ACID

BASE

设计目标

强一致性、数据完整性

高可用性、可扩展性

一致性模型

强一致性(Strong Consistency

最终一致性(Eventual Consistency

适用场景

传统关系型数据库(如金融、会计系统)

大规模分布式系统(如电商、社交网络、云服务)

可用性

在网络分区或故障时可能不可用

允许部分服务降级,保证核心可用

数据状态

瞬间一致,无中间状态

允许软状态,存在短暂不一致

性能与扩展性

事务锁机制可能影响并发性能

无强锁,易于水平扩展

   分区方法

n 内存缓存。缓存技术可看成一种分区。内存中的数据库系统把高频使用的数据复制到缓存中,既加快数据传递给用户的速度,也减轻数据库服务器负担。

n 集群。数据库服务器集群在为用户提供服务时的透明性(用户感觉数据像是在同一个地方) ,是另外一个对数据进行分区的方法。

n 读写分离。指定一台或多台主服务器,所有或部分的写操作被送至此,同时再设一定数量的副本服务器用以满足读请求。

n 范围分割技术/分片。该方法按如下方式对数据进行分区操作:数据的请求和更新在同一结点,且不同服务器上数据存储和下载量大致相同。

26 SQL 语言

第四章:计算机网络与分布式系统

1 、计算机网络

   按照数据通信和数据处理功能分为:内层通信子网和外层资源子网。前者承担数据传输、

交换、加工和变换等。后者承担数据处理和向网络用户提供网络资源和服务。

2 、数据通信基础

   数据通信模型

 

   奈奎斯特定理(极限速率)

   香农定理(有噪声极限速率)

 

   数据编码

n 调制(数字信号转换模拟信号)

n 调幅:容易实现,技术简单,但抗干扰能力差

n 调相:抗干扰能力强,但实现技术复杂

n 调频:容易实现,技术简单,但抗干扰能力强

   数字信号编码方式

 

n 曼彻斯特编码(ME)不用电平的高低表示二进制,而是用电平的跳变来表示的。每一个比特的中间均有一个跳变,这个跳变既作为时钟信号,又作为数据信号。电平从高到低的跳变表示二进制 1,从低到高的跳变表示二进制 0

n 差分曼彻斯特编码(DME)是对曼彻斯特编码的改进,每比特中间的跳变仅做同步之用,每比特的值根据其开始边界是否发生跳交来决定。每比特的开始无跳变表示二进制 1,有跳变表示二进制 0

3 、局域网、城域网和广域网的区别

 

4 、局域网拓扑结构

   局域网的拓扑结构:总线型(利用率低、干扰大、价格低) 、星(交换机形成的局域网、中央单元负荷大) 、环型(流动方向固定、效率低扩充难) 、树型(总线型的扩充、分级结) 、分布式(任意节点连接、管理难成本高)

 

5 IEEE802.3

IEEE 802.3

标准以太网

10Mb/s

传输介质为同轴电缆

IEEE 802.3u

快速以太网

100Mb/s

双绞线

IEEE 802.3z

千兆以太网

1000Mb/s

光纤/双绞线

IEEE 802.3ae

万兆以太网

10Gb/s

光纤

6 、载波监听多路访问技术(CSMA/CD

   载波监听

 

   冲突检测:载波监听只能减少冲突的概率,而无法完全避免冲突。为了高效地实现冲突检测,在 CSMA/CD 中采用“边发边听 ”的冲突检测方法,即由发送者一边发送数据,一边自己接收回来,如果发现结果不同,马上停止发送,并发出冲突信号,这时,所有的节点都会收到阻塞信息,并都随机等待一段时间之后再重新监听。

7 WALN 拓扑结构

   点对点:通过单频或扩频微波电台、红外发光二极管、红外激光等方法,连接两个固定的有线 LAN 网段,实际上是作为一种网络互连方案。无线链路与有线 LAN 是通过桥路器或中继器完成连接的。

       HUB 型: 由一个中心节点(HUB)和若干外围节点组成,外围节点既可以是独立的节点,也可与多个用户相连。任何两个外围节点间的数据通信都须经过 HUB ,是典型的集中控制式通信。

   完全分布型:目前无具体应用,仅处理论探讨阶段,要求相关节点在数据传输中发挥作用,类似分组无线网概念。每个节点一般仅有部分网络拓扑信息,可与邻近节点分享拓扑结构信息,基于此完成分布路由算法,让传输路径上的每个节点协助源节点将数据传送至目的节点。

8 、广域网

   定义:将分布于更广区域(譬如一个城市、国家、国家间)的计算机设备连接起来的网络技术

   特点

n 主要提供面向数据通信的服务,支持用户使用计算机进行远距离的信息交换。

n 覆盖范围广,通信的距离远,广域网没有固定拓扑结构。

n 由电信部门或公司负责组建、管理和维护,并向全社会提供面向通信的有偿服务等。

   技术

n 同步光网络(SONET)是使用光纤进行数字化信息通信的一个标准。

n 数字数据网(DDN)利用数字信道提供半永久性连接电路以传输数据。

n 帧中继(FR)是一种高性能广域网技术,运行于 0SI/ RM 的物理层和数据链路层,是一种数据包交换技术,是 X.25 网络的简化版本,但具有更高的性能和传输效率。

n 异步传输模式(ATM)是以信元(固定 53B)为基础的面向连接的一种分组交换和复用技术。它具有高速数据传输率,可满足多种业务(如语音、数据、传真、实时视频)传输的需要

   分类

n 公共传输网络一般是由政府电信部门组建、管理和控制,网络内的传输和交换装置可以提供(或租用)给任何部门和单位使用。

n 专用传输网络是由单个组织或团体自己建立、使用、控制和维护的私有通信网络。专用传输网络主要是数字数据网(DDN)

n 无线传输网络主要是移动无线网,典型的有 GSMTD-SCDMA/WCDMA/CDMA-2000 LTE 5G 等。

 

9 OSI 体系结构

 

10 TCP/IP 协议

   三要素:语法、语义、时序

 

 

   网络层协议

n IP:网络层核心协议在源地址和目的地址间传送数据报,无连接、不可靠。IP 数据报由首部和数据组成,首部包括 20 字节基本首部和0 - 40 字节可变长度任选项,如图所示。

 

   传输层协议:TCP/UDP

 

   应用层协议

n 基于 TCP  FTPHTTP 等都是可靠传输。基于 UDP  DHCPDNS 等都是不可靠传输。

n FTP:可靠的文件传输协议,用于因特网上的控制文件的双向传输。

n HTTP超文本传输协议,用于从 WWW  服务器传输超文本到本地浏览器的传输协议。使用 SSL 加密后的安全网页协议为 HTTPS

n SMTP  POP3:简单邮件传输协议,是一组用于由源地址到目的地址传送邮件的规则,邮件报文采用 AScII 格式表示。

n Telnet:远程连接协议,是因特网远程登录服务的标准协议和主要方式。

n TFTP:不可靠的、开销不大的小文件传输协议。

n SNMP:简单网络管理协议是一组网络管理标准协议,包括应用层协议、数据库模型和组资源对象。它能支持网络管理系统,用于监测联网设备是否有需管理员关注的情况。

n DHCP:动态主机配置协议,基于 UDP ,基于 C/S 模型,为主机动态分配 IP 地址,有三种方式:固定分配、动态分配、 自动分配。

n DNS:域名解析协议,通过域名解析出 IP 地址。

11 、网络地址

   无分类编制格式:IP 地址/网络号,示例:128.168.0.11/20 表示的 IP 地址为 128.168.0.11其网络号占 20 位,因此主机号占 32-20=12 位,无分类编址也可以划分子网,原理相同。要掌握的是,/后的数字是网络号,32 减去此数字就是主机号。

   超网汇聚:选择网络地址相同的位进行汇聚,不同的位划分至主机位,从而实现将多个网段汇聚成一个新的超网网段。

n 可以将汇聚超网理解为划分子网的逆过程。划分子网是向主机位借位,使子网增多、每个子网的主机号减少;而汇聚超网是把不同网段相同的网络号作为汇聚后的网络号,不同的网络号给主机号,相当于减少子网数量、增加网络内主机数量。

       IPv6 特性

n IPv6 地址长度为 128 位,相比较于 IPv4 ,地址空间增大了 2^96 ;扩展的地址层次结构,使用十六进制表示 IPv6 地址;

n 首部格式灵活,用固定格式扩展首部取代 IPv4  可变长度选项字段。IPv6  选项出现方式改变,路由器可简单路过选项不处理,加快报文处理速度;同时提高安全性,身份认证和隐私权是关键特性。

n 支持即插即用, 自动配置,支持更多的服务类型;

n 允许协议继续演变,增加新的功能,使之适应未来技术的发展。

       IPv4  IPv6 的过渡期间,主要采用三种基本技术

n 双协议栈:主机同时运行 IPv4  IPv6 协议栈,支持两套协议,IPv4  IPv6 地址一般存在转换关系,如 IPv6  32 位可直接转换为 IPv4 址,实现互通。

n 隧道技术:在 IPv4 网络上建立传输 IPv6 数据报的隧道,可将 IPv6 数据报封装为 IPv4数据报的数据部分,加 IPv4 首部即可在 IPv4 网络传输。

n 翻译技术:用专门翻译设备(如转换网关),在纯 IPv4 和纯 IPv6 网络间转换 IP 

头地址,根据协议对分组做语义翻译,实现纯 IPv4 和纯 IPv6 站点透明通信。

12 、网络工程

   网络规划

n 网络需求分析通常采用自顶向下的结构化方法

n 功能需求。是指用户希望利用网络来完成什么功能,然后依据使用需求、实现成本、未来发展和总预算投资等因素对网络的组建方案进行认真的设计和推敲。

n 通信需求。是指了解用户需要的通信类型、通信频度、通信时间和通信量等。

n 性能需求。包括容量(带宽)、利用率、吞吐量、可提供负载、效率、延迟(等待时间)延时变化量、响应时间、端到端的差错率

n 可靠性需求。包括精确度、错无故障时间、数据备份等。

n 安全需求。衡量网络安全的指标是可用性、完整性和保密性。

n 运行与维护需求。是指网络运行和维护费用方面的需求。

n 管理需求。包括用户管理、资源管理、配置管理、性能管理和网络维护。

n 除此之外,系统分析师还应该了解网络的地理位置, 以及对运行环境的要求(包括网络操作系统、数据库和应用软件等相关的需求)

n 可行性研究:通常从技术可行性、经济可行性、法律可行性和用户使用可行性等方面进行论证。

n 对现有网络的分析与描述,包括:服务器的数量和位置、客户机的数量和位置、同时访问的数量、每天的用户数、每次使用的时间、每次数据传输的数据量、网络拥塞的时间段、采用的协议、通信模式。

   网络设计:设计一个能够解决用户问题的方案。在整个设计过程中,首先要确定网络总

体目标和设计原则,然后设计网络的逻辑结构,再设计网络的物理结构。

n 网络设计任务:

u 确定网络总体目标,明确采用的网络技术和标准,构筑满足特定应用、特定规模的网络,涵盖是否分期实施、实施成本和运行成本等问题。

u 确定总体设计原则。对主要设计原则进行选择和权衡,并确定其在方案设计中的优先级。

u 通信子网设计。包括拓扑结构与网络总体规划、分层的设计,以及远程接入访问的设计。

u 资源子网设计。主要考虑服务器的接入和子网连接的问题。

u 设备选型。包括网络设备和各个层次的交换机的选择策略。

u 网络操作系统与服务器资源设备。选择服务器时,首先要看具体的网络应用,然后确定网络操作系统,再进行服务器选型。

u 网络安全设计。确定面临的攻击和风险,明确安全策略,建立安全模型,选择并实现安全服务,对安全产品的选型进行测试。

   网络实施

n 工程实施计划。列出需实施的项目、费用和负责人等,以便控制投资,按进度要求完成实施任务。

n 网络设备到货验收。系统中要用到的网络设备到货后,在安装调试前,必须先进行严格的功能和性能测试,以保证购买的产品能很好地满足用户需要。

n 设备安装。网络系统的安装和调试需要由专门的技术人员负责。安装项目一般分为综合布线系统、机房工程、网络设备、服务器、系统软件和应用软件等几个部分。

n 系统测试。网络测试包括网络设备测试、网络系统测试和网络应用测试三个层次。

n 系统试运行。验证系统在功能和性能 上是否达到预期目标的重要阶段,也是对系统进行不断调整,直至达到用户要求的重要时刻。

n 用户培训。

n 系统转换。系统转换可以采用三种方法:直接转换、并行转换和分段转换。

   分层设计:三层模型

n 核心层:提供不同区域之间的最佳路由和高速数据传送;

n 汇聚层:将网络业务连接到接入层,并且实施与安全、流量、负载和路由相关的策;

n 接入层:接入层要为用户提供本地网段访问应用系统的能力,解决相邻用户互访需求,还要负责收集用户信息(如用户 IP  地址、MAC  地址和访问日志等),并具备用户管理功能(包括认证和计费等)。

   建筑物综合布线系统 PDS

n 工作区子系统:实现工作区终端设备到水平子系统的信息插座之间的互联。

n 水平布线子系统:实现信息插座和管理子系统之间的连接。

n 设备间子系统:实现中央主配线架与各种不同设备之间的连接。

n 垂直干线子系统:实现各楼层设备间子系统之间的互连。

n 管理子系统:为连接其他子系统提供连接手段。

n 建筑群子系统:各个建筑物通信系统之间的互联。

13 、分布式系统

分布式系统是组件分布在联网计算机上,通过消息传递通信和协调动作的系统。特性如下:

   异构性:互联网让用户能在大量异构计算机和网络上访问服务、运行程序,不同网络虽

种类多样,但使用相同网络协议通信,屏蔽了差异。

   开放性:决定系统能否以不同方式扩展和重新实现,主要取决于新资源共享服务的增加与多客户程序使用程度。

   安全性:包括机密性、完整性、可用性三部分。

   可伸缩性:能在不同规模有效高效运转,资源和用户数量激增仍保持有效性的系统为可伸缩系统。

   故障处理:分布式系统故障是部分性的,处理困难。常见处理技术有:

n 检测故障,如用校验和检测消息或文件中出错数据;

n 掩盖故障,隐藏或降低检测到的故障严重程度;

n 容错,设计服务客户具备容错能力,涉及客户错误容忍度;

n 故障恢复,设计软件使服务器崩溃后永久数据状态能恢复或回滚。

   并发性:服务和应用提供可共享资源,通常允许并发处理多客户请求。

   透明性:屏蔽组件分离性,使系统被视为整体。包括:

n 访问透明性,用相同操作访问本地和远程资源,隐藏不同数据表示和访问方式;

n 位置透明性,为资源分配逻辑名,用户无需知道物理或网络位置即可访问;

n 并发透明性,多进程并发使用共享资源互不干扰;

n 复制透明性,使用资源多实例提升性能和可靠性,用户和开发人员无需了解副本信息。

n 故障透明性,屏蔽软硬件故障,用户察觉不到资源故障及恢复过程;

n 移动透明性,资源和客户在系统内移动不影响操作;

n 性能透明性,负载变化时系统可重新配置适配性能;

n 伸缩透明性,系统和应用扩展不改变结构或算法,有时访问和位置透明性统称网络透明性。

   服务质量:系统主要非功能特性,影响客户和用户体验的包括可靠性、安全性和性能。

14 、典型分布式系统

特性

/

GFS (Google File System)

HDFS (Hadoop Distributed File

System)

TFS (Tencent File

System)

设计初衷

用于 Google 的内部大规模数据存储服务,支持海量数据的存储和管理。

主要用于 Apache Hadoop 项目,支持大数据的存储和处理。

腾讯内部的分布式文件系

统,主要用于腾讯云和内部业务的数据存储。

架构

基于 Master-Slave 架构,其 Master 负责管理元数据,多个 Chunk Servers 存储数据。

同样基于 Master-Slave 架构,但 HDFS NameNode 管理元数据,DataNode存储数据。

采用 Master-Slave 架构,

Master 负责管理元数据和调度,Slave 节点负责数据存储。

数据复制

支持数据的自动复制以提高数据的可靠性和可用性。

支持数据的自动复制,默认是 3 份副本。

支持数据的自动复制,可根据配置调整副本数量。

数据

一致

通过使用多个副本和心跳检测机制来保证数据的一致性。

使用 NameNode 来管理元数据的一致 性,并通过数据块复制来保证数据的一致性。

通过多副本机制和一致性协议来保证数据一致性。

数据

块大

64MB

128MB  256MB

64MB

容错

高容错性,通过自动复制机制和心跳检测来保证系统的稳定性。

高容错性,通过 NameNode  DataNode的复制机制来保证数据的可靠性。

高容错性,通过多副本机制和故障恢复机制来保证系统的稳定性。

扩展

良好的扩展性,能够处理 PB级的数据量。

良好的扩展性,能够处理 PB 级的数据量。

良好的扩展性,能够处理 PB级的数据量。

使用场景

适合大规模的、非结构化数据的存储(如 Google搜索引

擎)。

适合大数据处理场景,如日志分析、大规模数据仓库等。

适合互联网公司内部的大规模数据存储和分发服务。

开源状态

部分开源(Google 未公开其完整源代码)。

开源项目,由 Apache 软件基金会管理。

部分开源(腾讯未公开其完整源代码)。

社区支持

强大的社区支持,特别是在Hadoop 生态系统内。

强大的社区支持,有大量的贡献者和用户。

有一定的社区支持,主要集中在腾讯内部和腾讯云用户中。

15 、分布式缓存

定义:是指缓存数据分布在不同的服务器上,通过缓存技术实现数据的快速访问和高并发的请求处理。典型应用是缓存经过复杂计算得到的数据,或者缓存系统中频繁访问的热点数据,以减轻数据库压力。常见的分布式缓存系统有 Memcache Redis Tair 等。

特性

Memcached

Redis

Tair

数据模型

仅支持简单的 Key-Value字符串存储

支持丰富数据结构:字符串、哈希、列表、集合、有序集合、Stream、位图、HyperLogLog

支持 KV 存储和 Map 储,部分引擎基于

LevelDB

持久

不支持持久化,设计为纯内存缓存

支持 RDB(快照)和 AOF(追加日志)两种持久化机制,可实现数据持久存储

支持持久化,尤其在数据可靠性方面表现突出,适合需要数据落盘的场景

高可

不原生支持,需依赖第三方代理(如 Megagent)实现故障转移

原生支持主从复制、Redis Sentinel(哨兵) Redis Cluster(集群)模式,高可用性完善

支持跨机房部署,具备良好的分布式容错和数据同步能力

性能

多线程架构,并发处理能力强,单机性能极高

单线程模型(新版本部分功能支持多线程),通过 I/O 多路复用实现高吞吐,读写性能优异(官方数据:读 11 万次/s ,写 8 万次/s

性能略低于 Redis ,但通过分布式架构可线性扩展,适合大数据量场景

事务

与原

子性

单个命令原子性,不支持事

单命令原子性,支持 MULTI/EXEC 事务块和WATCH 命令,保证操作序列的原子性

支持基本的原子操作,事务支持不如 Redis 完善

内存管理

使用 Slab Allocation 机制,减少内存碎片,但可能造成内存浪费

动态内存分配,支持多种数据淘汰策略(如LRUTTL 等)

采用高效内存管理机制,针对大规模数据优化

适用场景

纯缓存、高并发、简单Key-Value 存储(如

Session 存储)

复杂缓存、缓存+轻量级数据库、消息队列、排行榜、计数器、分布式锁等

大规模分布式系统、跨机房部署、对数据持久性和一致性要求高的场景

 

16 、构件

   构件又称组件,是自包容、可复用的程序集,以源程序或二进制代码提供,有统一访问接口,外部只能通过接口访问,其重要特性是自包容与可重用。

   中间件为应用提供通用服务和功能,如数据管理等,可帮助开发人员构建应用。构件模型定义了构件实现、文档化及开发标准,主流的有 Web Services EJB .NET 模型。

    构件模型包含以下要素

n 一是接口,规定了构件接口的定义及要素;

n 二是使用信息,为使构件远程分布和访问,需有唯一名字或句柄,用户可通过元数据发现服务;

n 三是部署,说明了如何打包构件使其成为独立可执行实体。

   构件组装是将构件集成或用“胶水代码 ”整合来创造系统或新构件的过程,常见方式

n 顺序组装,按顺序调用已有构件创造新构件;

n 层次组装,一个构件直接调用另一个构件的服务;

n 叠加组装,多个构件组合创建新构件并提供新接口。

   编写构件时,组装的构件接口可能不一致,会出现 3 种不兼容情况

n 参数不兼容,操作名相同但参数类型或个数不同;

n 操作不兼容,提供和请求接口的操作名不同;

n 操作不完备,一个构件的提供接口是另一个的子集或相反。

17 、中间件

   定义:一种独立的软件和服务程序,在此基础上实现不同技术之间的共享资源,中间件位于操作系统之上,管理资源和通信,实现互操作。

      6 个基本功能

n 负责客户机与服务器之间的连接和通信,以及客户机与应用层之间的高效率通信机制。

n 提供应用层不同服务之间的互操作机制,以及应用层与数据库之间的连接和控制机制。

n 提供一个多层架构的应用开发和运行的平台,以及一个应用开发框架,支持模块化的应用开发。

n 屏蔽硬件、操作系统、网络和数据库的差异。

n 提供应用的负载均衡和高可用性、安全机制与管理功能,以及交易管理机制,保证交易的一致性。

n 提供一组通用的服务去执行不同的功能,避免重复的工作并使应用之间可以协作。

   按职责不同分类

n 通信处理(消息)中间件:用于分布式系统,建网并制定通信协议,实现跨平台可靠、高效、实时的数据传输。

n 事务处理(交易)中间件:使大量事务在多台应用服务器实时并发运行,进行负载平衡调度,需具备监视和调度系统的功能。

n 数据存取管理中间件:方便网络上虚拟缓冲存取、格式转换、解压等操作。

n Web 服务器中间件:因浏览器图形用户界面存在会话能力差、不擅长数据写入、受 HTTP 协议限制等问题,对其修改扩充后形成。

n 安全中间件: 由操作系统引发的不安全因素,用中间件解决以适应多变要求。

n 跨平台和架构的中间件:大型应用软件开发采用基于架构和构件技术,分布式系统中需集成不同平台或新老版本构件, 由此产生。

n 专用平台中间件:为特定应用领域设计参考模式,建立架构,配置构件库和中间件,

用于开发和运行关键任务。

n 网络中间件:包含网管、接入、网络测试、虚拟社区、虚拟缓冲等。

18 、中间件和构建比较:中间件是架构,是构件的基础,中间件促进了构件化的实现

   面向需求:基于中间件开发的应用真正面向需求,本质符合构件化设计思想。

   业务分隔与包容:架构和中间件在提供业务分隔与包容性上目标相同。如消息中间件规定消息有属性,部分与业务划分有关,中间件负责保证业务分类运行与管理。

   设计与实现分离:构件间通过接口交互,使用者只需知接口,无需关心内部实现,中间件在分布交互模式上规定接口机制。

   隔离复杂系统资源:架构将系统资源与应用构件隔离,与中间件意图一致,是保证构件可复用甚至即插即用的基础。

   符合标准的交互模型:架构是抽象模型,应定义可操作成分,基于中间件的构件符合标准模型。

   软件复用:软件复用是构件化软件开发的根本目标之一,中间件提供的封装、交互规则、与环境隔离等机制,为软件复用提供便利。

   管理应用构件:基于中间件的软件便于管理,因为构件可通过标识机制划分。

19 Web 服务:面向服务的架构(SOA

   体系结构

 

      Web 服务技术平台:HTTPXMLSOAPWSDLUDDL WSIF  WSFL

n SOAP 是广泛接受的消息传输协议,基于 XML ,用于网络应用程序间交换结构化数据。

n Web 服务接口由基于 XML  WSDL 定义,它提供访问指定 Web 服务所需的全部信息,描述服务功能、位置及调用方式。

n UDDI 是基于 Web 的分布式标准规范,是 Web 服务的信息注册中心,同时包含使企业注册自身Web 服务以便其他企业发现的访问协议标准。

       REST

 

 

20 、云计算

   云计算指通过计算机网络(多指因特网)形成的强大计算系统,可存储、集合资源,按需配置,提供个性化服务。

   云计算的服务方式:

n 软件即服务(SaaS):服务提供商将应用软件部署在云计算平台,客户按需订购,服务商按软件数量、使用时长等收费,通过浏览器提供服务。

n 平台即服务(PaaS):厂商提供开发环境等服务,客户在平台基础上定制开发应用程序,通过服务器和互联网传递给其他客户。

n 基础设施即服务(IaaS):服务提供商整合资源成虚拟资源池,为客户提供存储、虚拟化服务器等服务。

u 这三种服务模式特征如下:灵活性上,SaaS - PaaS - IaaS   依次增强;方便性上, IaaS - PaaS - SaaS  依次增强。PaaS   是关键层,起支撑作用,以互联网资源为中心,提供基于 Web   API  服务,相当于系统软件,为 SaaS   应用提供 API  持开发。

   云计算的部署模式:

n 公有云:云基础设施公开,企业、学术界、政府机构可拥有、管理和操作。

n 社区云:云基础设施分配给社区组织专有,由社区内组织拥有、管理和操作。

n 私有云:云服务设施分配给单个组织,可由该组织或第三方拥有、管理和操作。

n 混合云:是公有云、私有云和社区云的组合。

第五章:信息安全

1 、系统安全分类

   系统安全:设备设施免遭自然灾害和环境灾害的措施和过程,又分为环境安全、设备安全和媒体安全。

   运行安全:包括系统风险管理、审计跟踪、备份和恢复、应急等,实质是保障系统正常运行。

   信息安全:防止非法访问、更改等确保信息的保密性、完整性、可用性和可控性、分为操作系统安全、数据库安全、网络安全、病毒防护、访问控制、数据加密和验证。

   人员安全:使用人员的安全意识、法律意识和安全技能。

 

2 、系统安全体系结构

   物理层安全:涵盖通信线路、物理设备和机房安全,体现为通信线路可靠性、软硬件设备安全性、设备备份、防灾害与干扰能力、运行环境及不间断电源保障等。

   操作系统安全:系统层安全源于网络内操作系统,主要表现在三方面,一是操作系统自身缺陷,如身份认证、访问控制和系统漏洞等;二是安全配置问题;三是病毒威胁。

   网络安全:网络层安全体现在计算机网络,包括身份认证、资源访问控制、数据传输保密与完整、远程接入安全、域名与路由系统安全、入侵检测及网络设施防病毒等。

   应用安全:应用层安全由应用软件和数据安全产生,涉及 Web 服务、电子邮件系统和DNS 等,也包括病毒威胁。

   安全管理:包括安全技术和设备管理、安全管理制度、部门与人员组织规则等。

3 、安全保护等级

   第一级:用户自主保护级,基本隔离用户与数据,适用于普通内联网用户。

   第二级:系统审计保护级,有更细粒度访问控制和事件审计,适用于通过内联网或互联网进行商务活动、需保密的非重要单位。

   第三级:安全标记保护级,支持数据标记和强制访问控制,适用于地方各级国家机关等单位。

   第四级:结构化保护级,引入形式化安全策略、提升抗渗透能力,适用于中央级国家机关等部门。

   第五级:访问验证保护级,满足访问监控器需求、提供最高抗渗透能力,适用于国防关键部门和依法需对计算机信息系统实施特殊隔离的单位。

4 、信息安全的 5 个基本要素机密性:不给未授权的访问

完整性:只有得到允许的人才能修改数据,并且能够判别出数据是否已被篡改。

可用性:得到授权的实体在需要时可访问数据

可控性:可以控制授权范围内的信息流向及行为方式

可审查性:对出现的信息安全问题提供调查的依据和手段

5 、系统完全保证系统

   建立统一的身份认证体系:身份认证是信息交换基础,若无法确认双方实体身份,系统安全难以保证。其含义广泛,泛指一切实体身份。

   建立统一的安全管理体系:对计算机网络系统中的各类设备与应用进行有效集中管理,以管控安全风险。

   建立规范的安全保密体系:信息保密是大型信息应用网络的必要需求,需建立符合规范的体系,既提供技术方案,也建立保密管理制度。

   建立完善的网络边界防护体系:重要计算机网络与 Internet  有一定分离,存在网络边界,要建立该体系,让内外网能信息交流,又能防范外网攻击等安全威胁。

6 、体系结构分类

   物理层安全:确保通信线路、设备和机房的防护。

   操作系统安全:解决身份认证、访问控制、系统漏洞问题。

   网络安全:保障数据传输、资源访问、远程接入等方面的安全。

   应用安全:保护服务软件和数据,包括防病毒措施。

   安全管理:制度化管理技术设备、人员和部门职责。

7 、系统安全保护等级

 

8 、对称加密技术

数据加密和解密的密钥是相同的,不公开加密加密。缺点是强度不高,易破解,分发困难。优点是加密速度快,效率高。常见加密算法如下:

 

9 、非对称加密技术

 

加密解密密钥不同,公开加密算法。缺点是速度慢、效率低。优点是强度高易破解、分发相对容易。非对称技术的原理:发送者发送数据时,用接收者公钥加密、私钥解密,仅接收者能解密密文获明文。因无需传输密钥,安全性更高,但无法保证完整性,如下:

 

相比较而言,对称加密算法密钥一般 56  位,加密过程简单,适合加密大数据,但加密强度不高;而非对称加密算法密钥有 1024  位,解密计算量大,难以破解,不适合加密大数据,通常用于加密对称算法的密钥,于是将这两种技术组合使用。

9 、数字信封原理

   原理:信为对称加密密钥,数字信封是对该密钥进行非对称加密。

   具体过程:发送方用对称密钥加密数据传输,再用接收方公钥加密对称密钥发送给对方。接收方收到数字信封,用私钥解密信封,取出对称密钥解密得原文。

   数字信封结合对称与非对称加密技术,用对称密钥加密数据、非对称密钥加密对称密钥,解决了对称密钥传输问题。

10 、信息摘要

 

   所谓信息摘要,即一段数据的特征信息,数据改变,信息摘要也会改变。发送方将数据和信息摘要传给接收方,接收方根据接收到的数据重新生成摘要,若与接收的摘要相同,说明数据正确。信息摘要由哈希函数生成。

   信息摘要特点:无论数据多长,都产生固定长度摘要;不同输入数据产生不同摘要;具有单向性,只能由数据生成摘要,不能由摘要还原数据。

   信息摘要算法有 MD5(产生 128 位输出)、SHA - 1(安全散列算法,产生 160 位输出,安全性更高)。

11 、数字签名

   原理:发送者发送数据时,使用发送者的私钥进行加密,接收者收到数据后,只能使用发送者的公钥进行解密,这样就能唯一确定发送方,这也是数字签名的过程。但无法保证机密性。

 

   数字签名功能:完整性、不可否认、身份认证

12、公钥基础设施 PKI

   公钥基础设施PK:以不对称密钥加密技术为基础,以数据机密性、完整性、身份认证和行为不可抵赖性为安全目的,提供安全服务的普适性安全基础设施。

   数字证书:由可信任权威机构签署的信息集合的数据结构,不同应用有不同证书。如 X.509 证书需包含版本号、序列号、签名算法标识符、认证机构、有效期限、主题信息、认证机构数字签名、公钥信息。

   公钥证书:用于确保公钥及其与用户绑定关系的安全,证书中的公钥是所标识主体的合法公钥。用户知道签证机构公钥,就能检查证书签名合法性,若检查正确,可相信证书公钥真实且为合法公钥,例如驾照。

  签证机构CA:负责签发、管理和撤销证书,是所有注册用户信赖的权威机构。 CA 签发证书时加数字签名保证信息真实,任何机构可用CA 公钥验证证书合法性。

13、常用身份认证方式

   口令认证:用户名/密码是最常用身份认证法,密码由用户设定,仅用户知晓。能正确输入密码,计算机就认定操作者为合法用户,此方式极不安全。

   动态口令认证:让用户密码按时间或使用次数变化、每个密码仅用一次的技术。采用动态令牌专用硬件,内置电源、密码生成芯片和显示屏,芯片运行算法根据时间或使用次数生成当前密码并显示。认证服务器用相同算法计算有效密码。用户输入令牌显示的密码即可完成身份认证,一次一密保证了用户身份安全。

   生物特征识别:通过可测量的生物特征进行身份认证的技术。生物特征分身体和行为两类,身体特征有指纹、掌型等,行为特征有签名、语音等。部分学者将视网膜、虹膜、指纹识别归为高级生物识别技术,掌型、脸型、语音、签名识别归为次级生物识别技术,血管纹理、人体气味、DNA 识别归为深奥生物识别技术。

14、密钥管理体制

   KMI 机制

n 静态分发分为:1. 点对点配置,可用单钥或双钥实现。单钥为鉴别提供可靠参数但无不可否认服务,数字签名需双钥。2. 一对多配置,可用单钥或双钥实现,仅中心保留各端所有密钥,各端仅留自身密钥,是建立秘密通道主要方法。3. 格状网配置,可用单钥或双钥实现,也称端端密钥,密钥配置量是全网 n 个终端选 2 的组合数。

n 动态分发分为:1. 基于单钥的单钥分发,先用静态分发的星状密钥配置,主要解决会话密钥分发。2. 基于单钥的双钥分发,公私钥对都当作秘密变量。

PKI 机制

  PKI 是遵循既定标准的密钥管理平台,能为网络应用提供加密、数字签名等服务及密钥和证书管理体系。PKI机制解决了分发密钥依赖秘密信道的问题。完整的PKI 系统须有 CA、数字证书库、密钥备份及恢复系统、证书作废系统和应用接口等基本构成部分。PKI  KMI 的比较如表所示。

特征

KMI(密钥管理基础设施)

PKI(公钥基础设施)

核心目标

管理密钥的整个生命周期,确保密钥的安全生成、分发、存储、更新、撤销与销毁。

建立身份认证与安全通信的信任体系,主要管理公钥与私钥对的认证与使用。

管理范围

管理所有类型的密钥,包括对称密钥、非对称密钥(公钥/私钥对)等,侧重于密钥的操作与运

专注于公钥与私钥对的管理,核心是通过数字证书绑定公钥与用户身份,实现身份验证、数据加密和数字签名。

信任模型

通常采用集中式管理,依赖一个可信的密钥管理中心(KMC)统一负责密钥的生成与分发。

采用分布式信任模型,依赖第三方认证机构(CA)颁发和管理数字证书,形成信任链。

密钥分发

密钥(尤其是私钥)的分发常依赖安全通道(如物理介质或预共享密钥),强调保密性。

公钥是公开的,私钥由用户自行保管,无需通过安全通道分发,解决了密钥分发的难题。

典型应用

高安全等级的封闭或专用网络,如军队、银行核心系统、传统电信网络等,对密钥全生命周期管控要求极高。

广泛应用于互联网安全,如 HTTPS、电子邮件加密

S/MIME)、VPN、电子政务、在线支付等,强调可扩展性与互操作性。

  SPK 机制

n 多重公钥(LPK)用 RSA 算法实现,有两个缺点:一是将种子私钥以原码形式分发给署名用户;二是层次越多,运算时间越长。

n 组合公钥(CPK)用 DLP  ECC 实现,克服了 LPK 的上述两个缺点,其私钥是组合后的变量,不暴露种子,且公钥运算几乎不占时间,是较理想的密钥管理解决方案。

15、相关密钥比对

 

16 、防火墙

   防火墙:是一种隔离控制技术,用于在两个或多个网络之间设置屏障,防止未经授权的访问,同时保护信息资源的安全性。

   防火墙的功能如下:

n 访问控制:限制外部对内部网络的未经授权访问;

n 内容过滤:阻止不符合安全策略的数据或文件传输;

n 日志记录:提供全面的流量记录,支持审计和问题排查;

n 集中管理:简化内部网络的安全管理;

n 自我保护与高可用性:防御网络攻击,确保持续运行;

n 流量优化:控制网络流量,提升性能;

n 网络地址转换(NAT):隐藏私有网络,实现与公共网络通信;

n 虚拟专用网(VPN):为远程安全访问提供加密通信支持。

   防火墙技术分为网络级和应用级。网络级防火墙防外来非法入侵;应用级防火墙由应用程序接入控制,常通过应用网关或代理服务器区分应用。

   实际应用中,可按不同应用更详细划分,一般分包过滤型、电路级网关型、应用网关型、代理服务型、状态检测型和自适应代理型防火墙。 、

17 、防火墙的体系结构

 

 

18 、防火墙的局限

   功能限制:为了安全防火墙可能关闭或限制些有用的网络服务,影响用户体验。

   内部威胁无力防范:防火墙对来自网络内部的攻击(如恶意内部员工或内网设备感染)能为力。

   绕过路径的攻击:防火墙无法保护不通过其通信的访问,如 SLIP  PPP 直接连接 Internet

   性能影响:可能导致传输延迟、成为网络瓶颈,并存在单点故障风险。

   病毒防护能力有限:防火墙不能全面阻止病毒传播,针对病毒的检查会显著降低其效率。

19 、虚拟专用网

   虚拟专用网(VPN)是企业网在公共网络(如 Internet)上的延伸,通过私有通道在公共网络创建安全的私有连接。本质上,VPN  是虚信道,用于连接两个专用网,通过可靠加密技术确保安全,且作为公共网络的一部分存在。

      VPN 的关键技术:

n 隧道技术。是 VPN 的基本技术,类似于点对点连接技术,它在公用网建立一条数据通道(隧道) ,让数据包通过这条隧道传输。

n 加解密技术。是数据通信中一项较成熟的技术,VPN 可直接利用现有技术。

n 密钥管理技术。主要任务是如何在公用数据网上安全地传递密钥而不被窃取。

n 身份认证技术。通常使用名称与密码或卡片式认证等方式。

n 访问控制技术。是由 VPN 服务的提供者根据在各种预定义的组中的用户身份标识,来限制用户对网络信息或资源的访问控制的机制。

       PPP 拨号会话

n PPP 拨号会话过程可以分成 4 个不同的阶段,分别是创建 PPP 路、用户验证、PPP回叫控制和调用网络层协议。在用户验证阶段,客户 PC 会将用户的身份发送给网络接入服务器(NAs) 。该阶段使用一种安全认证方式, 以避免第三方窃取数据或冒充远程客户接管与客户端的连接。大多数 PPP 方案只提供有限的认证方式,包括口令认证协议(PAP)和挑战握手认证协议(CHAP)

      SSL 安全协议

n SSL 是一个传输层的安全协议,用于在 Internet 上传送机密文件。SSL 协议由握手协议、记录协议和警报协议组成。

n SSL 握手协议用来在客户与服务器真正传输应用层数据之前建立安全机制;

n SSL 记录协议根据握手协议协商的参数,对应用层送来的数据进行加密、压缩和计算消息鉴别码,然后经传输层发送给对方;

n SSL 警报协议用来在客户和服务器之间传递 SSL 出错信息。

n SSL 主要提供三个方面的服务,分别是用户和服务器的合法性认证、加密数据以隐藏被传送的数据和保护数据的完整性。

n 实现过程主要经过如下几个阶段

u 接通阶段。客户机通过网络向服务器打招呼,服务器回应。

u 密码交换阶段。客户机与服务器之间交换双方认可的密码。

u 会谈密码阶段。客户机器与服务器间产生彼此交谈的会谈密码。

u 检验阶段。客户机检验服务器取得的密码。

u 客户认证阶段。服务器验证客户机的可信度。

u 结束阶段。客户机与服务器之间相互交换结束的信息。

   单点登录技术(SSO

n 通过用户的一次性认证登录,即可获得需要访问系统和应用软件的授权。单点登录系统采用基于数字证书的加密和数字签名技术,基于统一策略的用户身份认证和授

权控制功能,对用户实行集中、统一的管理和身份认证,以区别不同的用户和信息访问者,并作为各应用系统的统一登录入口,同时,为通过身份认证的合法用户签发针对各个应用系统的登录票据(ticket) ,从而实现一点登录,多点漫游

n SS0 系统的特征与功能:

u 常规特征。支持多种系统、设备和接口。

u 终端用户管理灵活性。包括账号创建、口令管理和用户识别。口令管理涵盖口令维护、历史记录和文法规则等,支持各类令牌设备和生物学设备。

u 应用管理灵活性。若多个会话与同一公共主体相关,设备场景管理可保证一个会话改变时其他相关会话自动更新,能监控特定信息使用,还可绑定各种应用以保证其一致性。

u 移动用户管理。保证用户在不同的地点对信息资源进行访问。

u 加密和认证。加密保证信息传输时的安全性;认证保证用户的真实性。

u 访问控制。保证只有用户被授权访问的应用可以提供给用户。

u 可靠性和性能。包括 SS0 和其他访问控制程序之间的接口的可靠性和性能。

20 、系统访问控制技术

   分类

 

   三要素:主体、客体、控制策略

   访问控制策略

n 登录访问控制策略:为系统访问提供第一层控制,控制可登录系统获取资源的用户、登录时间和工作站。分三步:用户名识别验证、用户口令识别验证、用户账号默认限制检查。

n 操作权限控制策略:针对非法操作的安全保护措施。给用户和用户组赋予操作权限,系统管理员可指定其能访问的服务器和计算机。

n 目录安全控制策略:允许管理员控制用户对目录、文件和设备的操作,目录一级操作对所有文件和子目录有效,用户可自行设置子目录和文件权限。

n 属性安全控制策略:可将设定的访问属性与服务器的文件、目录和设备关联,系统资源需预先标安全属性,用户操作权限对应访问控制表,其控制级别高于用户操作权限设置。

n 服务器安全控制策略:允许在服务器控制台执行操作,用户可加载、卸载系统模块,安装、删除软件,系统应提供登录限制、非法访问者检测等功能。

21 、容灾与业务持续

   灾难备份是为灾难恢复对数据、处理系统、网络系统、基础设施、技术支持和运行管理能力进行备份的过程。它与普通数据备份不同,不仅备份系统数据,还备份应用程序、数据库系统、用户设置、系统参数等信息,以便在需要时迅速恢复整个系统。

   灾难恢复是为将信息系统从灾难造成的故障或瘫痪状态恢复到正常运行,将其支持的业务功能从不正常状态恢复到可接受状态而设计的活动和流程。

   灾难恢复的技术指标: 恢复点 目标(Recovery Point Objective, RPO)和恢复时间 目标(Recovery TimeObjective, RTO) RPO 是指灾难发生后,容灾系统能将数据恢复到灾难发生前时间点的数据,它是衡量企业在灾难发生后会丢失多少数据的指标;RTO 则是指灾难发生后,从系统宕机导致业务停顿时刻开始,到系统恢复至可以支持业务部门运作,业务恢复运营之时,此两点之间的时间。RPO 可简单描述为企业能容忍的最大数据丢失量,RTO 可简单描述为企业能容忍的恢复时间。

   恢复技术

 

22 、安全管理措施

   安全管理体系是企业在整体或特定范围建立的系统安全方针和目标,及完善目标所用方法和手段构成的体系,是安全管理活动直接结果,可表示为策略、原则等总体集合。包括:

n 密码管理:被保护信息的安全特性由密码模块功能实现,将密码模块置于系统中及相应的密码管理很重要。

n 网络管理:从功能看,网络管理一般包括配置、性能、安全、计费和故障管理等,理想的网络管理需建立整体网络安全管理解决方案,以配置和调控网络安全系统,实现对安全资源集中监控和统一策略管理等。

n 设备管理:涵盖设备的选型、检测、安装等方面内容。

n 人员管理:多数安全威胁来自人类,人员管理是信息系统安全管理关键,全面提高相关人员技术水平等是信息系统安全重要保证。

   安全审计的四个基本要素

n 控制目标。是指企业根据具体的计算机应用,结合单位实际制定出的安全控制要求。

n 安全漏洞。是指系统的安全薄弱环节,容易被干扰或破坏的地方。

n 控制措施。是指企业为实现其安全控制目标所制定的安全控制技术、配置方法及各种规范制

n 度。

n 控制测试。是将企业的各种安全控制措施与预定的安全标准进行一致性比较,确定各项控制措施是否存在、是否得到执行、对漏洞的防范是否有效,评价企业安全措施的可依赖程度。

    CC 标准对审计功能的分类

n 安全审计自动响应。定义在被测事件指示出一个潜在的安全攻击时做出的响应。

n 安全审计数据生成。记录与安全相关的事件的出现,包括鉴别审计层次、列举可被审计的事件类型, 以及鉴别由各种审计记录类型提供的相关审计信息的最小集合。

n 安全审计分析。定义了分析系统活动和审计数据来寻找可能的或真正的安全违规操作。

n 安全审计浏览。审计系统能够使授权的用户有效地浏览审计数据。

n 安全审计事件选择。系统管理员能够维护、检查或修改审计事件的集合,能够选择对哪些安全属性进行审计。

n 安全审计事件存储。审计系统将提供控制措施,以防止由于资源的不可用丢失审计数据; 能够创造、维护、访问它所保护的对象的审计踪迹,并保护其不被修改、非授权访问或破坏。

23 、系统可靠性

   系统可靠性:系统在规定的时间内及规定的环境条件下,完成规定功能的能力,也就是系统无故障运行的概率。

   系统可靠性包括以下四个子特性

n 成熟性;是指系统避免因错误的发生而导致失效的能力;

n 容错性:是指在系统发生故障或违反指定接口的情况下,系统维持规定的性能级别的能力;

n 易恢复性:是指在系统发生失效的情况下,重建规定的性能级别并恢复受直接影响的数据的能力;

n 可靠性的依从性:是指系统依附于与可靠性相关的标准、约定或规定的能力。

   表现形式

n 永久性。是指连续稳定的失效、故障或错误。在计算机硬件中,永久性失效反映了不可恢复的物理改变。

n 间歇性。是指那些由于不稳定的硬件或软件状态所引起的、仅仅是偶然出现的故障或错误。

n 瞬时性。是指那些由于暂时的环境条件而引起的故障或错误。

   逻辑级的故障:一般是指电路中元器件的输入或输出固定为 0( 1) 。又可分为短路故障、开路故障和桥接故障。短路故障是指一个元件的输出线的逻辑值恒等于输入线的逻辑值;开路故障是指元件的输出线悬空,逻辑值可根据具体电路来决定;桥接故障是指两条不应相连的线连接在一起而发生的故障。

   数据结构级的故障:故障在数据结构上的表现称为差错。常见的差错有以下三种

n 独立差错。一个故障的影响表现为使一个二进制位发生改变。

n 算术差错。一个故障的影响表现为使一个数据的值增加或减少。

n 单向差错。一个故障的影响表现为使一个二进制向量中的某些位朝一个方向(0  1)改变。

   软件故障:软件设计过程造成的与设计说明的不一致,软件故障在数据结构或程序输出中的表现称为软件差错。与硬件不同,软件不会因为环境应力而疲劳,也不会因为时间的推移而衰老。因此,软件故障只与设计有关。常见的软件差错有以下几种:

n 非法转移:程序执行了说明中不存在的转移。

n 误转移:程序执行了尽管说明中存在,但依据当前控制数据不应进行的转移。

n 死循环:程序执行时间超过了规定界限。

n 空间溢出:程序使用的空间超过了规定的界限。

n 数据执行:指令计数器指向数据单元。

n 无理数据:程序输出的数据不合理。

   系统级的故障:故障在系统级上的表现为功能错误,即系统输出与系统设计说明的不一致。如果系统输出无故障保护机构,则故障在系统级上的表现就会造成系统失效。

24 、冗余技术

   分类

n 结构冗余。按其工作方式,可分为静态冗余、动态冗余和混合冗余三种。

n 静态冗余。又称为屏蔽冗余或被动冗余,常用的有三模冗余和多模冗余。静态冗余通过表决和比较来屏蔽系统中出现的错误。

n 动态冗余。又称为主动冗余,它是通过故障检测、故障定位及故障恢复等手段达到容错的目的。其主要方式是多重模块待机储备,当系统检测到某工作模块出现错误时,就用一个备用的模块来顶替它并重新运行。

n 混合冗余。是将静态冗余和动态冗余结合起来。它先使用静态冗余中的故障屏蔽技术,使系统免受某些可以被屏蔽的故障的影响。而对那些无法屏蔽的故障则采用主动冗余中的故障检测、故障定位和故障恢复等技术。成本很高。

   信息冗余是在实现正常功能所需要的信息外,再添加一些信息,以保证运行结果正确性的方法。

   时间冗余是以时间(即降低系统运行速度)为代价来减少硬件冗余和信息冗余的开销,以达到提高可靠性的目的。基本概念是重复多次进行相同的计算,称为重复执行(简称复) ,以达到故障检测的目的。

   冗余附加。是指为实现上述冗余技术所需的资源和技术,包括程序、指令、数据,以及存放和调用它们的空间等。

   将各种冗余技术融合在一个系统中,就称之为冗余系统。一般来说,一个较为完整的冗余系统,在处理运行中出现的故障时,大致有 10 个步骤:故障检测、故障屏蔽、故障限制、复执、故障诊断、系统重配置、系统恢复、系统重新启动、修复、系统重组合。

25 、软件容错技术

       N 版本程序设计

n 一种静态故障屏蔽技术,采用前向恢复策略。其设计思想是让 n 个具相同功能的程序同时执行一项计算,通过多数表决选择结果。这 n 个版本程序需由不同人(小组)独立设计,用不同方法、语言、开发环境和工具实现,以减少在表决点出现相关错误的概率。

 

   恢复块方法

n 一种动态的故障屏蔽技术,采用后向恢复策略。恢复块方法提供具有相同功能的主块和几个后备块,一个块就是一个执行完整的程序段,主块首先投入运行,结束后进行验证测试,如果没有通过验证测试,系统经现场恢复后由后备块运行。

 

   防卫式程序设计

n 不采用传统容错技术实现软件容错的方法,基本思想是在程序中包含错误检查与恢复代码,让程序在出错时撤销错误状态,恢复到正确状态。其实现策略有错误检测、破坏估计和错误恢复三方面。

n 错误检测:在程序中插入含状态变量的逻辑谓词即状态断言,置于重要赋值语句前,在变量状态变化前检测可能导致错误的赋值。

n 破坏估计:插入断言法是在变量状态改变前避免可能的错误操作,而破坏估计是在变量可能已遭破坏时,判断破坏是否发生及状态空间哪些部分受影响。

n 错误恢复:防卫式程序设计可用前向和后向恢复策略,后向恢复更易实现,能保持安全状态细节,出错时恢复该状态。一般有两种处理办法,一是数据状态变换先不写入,处理完无错时再写入变换后的状态,多用于数据库系统;二是在检查点制作安全状态备份,出错时恢复最近检查点的状态。

   三者比较

 

第六章:企业信息化

1 、企业信息化方法

   业务流程重组方法。利用信息技术,对企业的组织结构和工作方法进行彻底的、根本性的9重新设计。

   核心业务应用方法。围绕核心业务应用信息技术是很多企业信息化成功的秘诀。

   信息系统建设方法。对大多数企业来说,企业信息化的重点和关键是建设好信息系统。因此,信息系统建设成了最具普遍意义的企业信息化方法。

   主题数据库方法。主题数据库就是面向企业业务主题的数据库,也就是面向企业的核心业务的数据库。

   资源管理方法。管理好企业的资源是企业管理的永恒主题。信息技术的应用为企业资源管理提供了强大的支持。

2 IRM(信息资源管理)

   信息和材料、能源共同构成了国民经济和社会发展的三大战略资源。

       IR(信息资源管理)包括数据资源管理和信息处理管理,前者强调数据控制(维护和安),后者关心企业管理人员获取和处理信息的流程和方法,同时强调企业中信息资源的重要性。 通过企业内外信息流的畅通和信息资源的有效利用,来提高企业的效益和竞争力。

       IRM 的基础是数据管理。即确定数据规划、数据应用、数据标准、数据内容、数据范围等。

   三个主题

n 资源管理的方向和控制,要从整个企业管理的层面来分析资源的管理。其指导方针是数据可共享、数据处理机构提出应用项目、资源的有效性。

n 建立企业信息资源指导委员会,负责制定方针政策,控制和监督信息资源功能的实施。

n 建立信息资源的组织机构,从事数据的计划和控制、数据获取以及数据的经营管理,并包括企业应用系统的开发。

   分类

n 从管理维度分类:从信息资源建立目的看,一般信息资源是业务信息化基础上形成的信息。管理维度分类有两种情况,一是专门业务部门采用的分类体系,二是综合部门从信息资源登记和管理角度提出的分类。

n 从信息来源维度分类:一般按信息资源提供部门设置各级类目。优势有二,一是从分类信息赋值角度简化了工作量,二是使信息资源查找更简单直接,使用者无需学习特定分类体系内容。

n 从应用主题维度分类:此分类体系最复杂。同一信息资源因服务和应用目标不同有不同分类方式。尤其政府部门的信息资源,跨部门应用的分类体系与服务企业和公众的分类体系差异大,这由不同使用者的应用需求决定,有多少应用需求就有多少分类方式。

   基础标准

n 数据元素标准:数据元素是最小不可再分信息单位、一类数据总称及数据对象抽象,可分为命名、标识和一致性标准。

n 信息分类编码标准:信息分类是根据信息属性或特征,按原则和方法区分归类信息,建立分类系统和排列顺序以利管理使用,是信息资源最基础标准。

n 用户视图标准:用户视图是数据元素集合,反映最终用户对数据实体看法,是数据在系统外部表象,是系统输入或输出媒介手段。

n 概念数据库标准:概念数据库是最终用户对数据存储看法,是对用户信息需求综合概括,标准包括数据库名称、标识、主关键字和数据内容列表。

n 逻辑数据库标准:逻辑数据库是系统分析与设计基础,是对概念数据库进一步分解细化,一个逻辑主题数据库由一组规范化基本表构成。

   主要原则

n 不能把例外当成正规。

n 管理部门必须支持并乐于帮助执行标准。

n 标准必须是从实际出发的、有生命力的、切实可行的。

n 标准不是绝对的,必须有某种灵活的余地。

n 标准不应该迁就落后。

n 标准必须是容易执行的。

n 标准必须加以宣传推产,而不是靠强迫命令。

n 关于标准的细节本身并不重要,重要的是制定了某些标准。

n 标准应该逐渐地制定出来,不要企图把所有的数据管理标准一次搞完。

n 数据管理的最重要的标准是一致性标准,也就是数据命名、数据属性、数据设计和数据使用的一致性。

3 、信息资源规划(IRP

   是信息化建设基础工程,指对企业生产经营所需信息在产生、获取、处理、存储、传输和利用等方面全面规划。

       IRP 强调需求分析与系统建模紧密结合,需求分析是系统建模准备,系统建模是用户需求定型和规范化表达。IRP 主要过程如图所示。

 

       IRP 的过程 7 个步骤

n 分别是定义职能域

n 各职能域业务分析

n 各职能域数据分析

n 建立整个企业的 IRM 基础标准

n 建立信息系统功能模型

n 建立信息系统数据模型

n 建立关联矩阵。

   另外,IRP 是按照业务和数据两条主线进行开展的。

    业务需求分析,其分析成果称为业务模型(也称为系统功能模型或企业模型) ,包括:

n 企业的职能域模型

n 识别每个职能域的业务过程。

n 列出每个业务过程的各项业务活动。

n 业务模型的复查与确认。

    数据需求分析是信息资源规划中最重要、工作量最大且较为复杂的分析工作,强调对整个企业或企业的大部分(主要部分)进行分析。工作内容主要包括:

n 用户视图的采集、整理和分析(数据需求分析)

n 建立基本表和主题数据库(系统数据建模)

4 、信息资源网

   信息资源网指各相关经济信息提供和使用部门建立的数据库、信息中心和信息应用系统。从功能看,信息通信网以媒体形式传输信息,信息资源网涵盖信息采集、加工到利用的众多环节。

   信息资源网建设包括数据库和数据仓库建设、数据分布(分散和集中存储)及分布式数据库建设。

5 、企业信息化规划

      4 个内容

   企业战略规划是利用机会和威胁评价现在和未来的环境,用优势和劣势评价企业现状,进而选择和确定企业的总体和长远目标,制定和抉择实现目标的行动方案。

   信息系统战略规划关注如何通过信息系统来支撑业务流程的运作,进而实现企业的关键业务目标,其重点在于对信息系统远景、组成架构、各部分逻辑关系进行规划。

   信息技术战略规划:通常简称为 IT 战略规划,是在信息系统规划的基础上,对支撑信息系统运行的硬件、软件、支撑环境等进行具体的规划,它更关心技术层面的问题。

   信息资源规划是在以上规划的基础上,为开展具体的信息化建设项目而进行的数据需求分析、信息资源标准建立、信息资源整合工作。

   信息化规划和企业战略规划的关系

n 初级阶段,业务部门按现有业务流程或管理需要直接提信息化需求,IT  部门按需求实施;

n 中级阶段,企业制定整体战略规划,业务部门据此改进业务流程和组织结构,不同业务部门分别提需求,IT  部门独立实施;

n 高级阶段,企业根据整体战略规划,通盘考虑各业务部门需求制定整体信息化战略,统一规划、分步实施。

   企业战略与信息化战略的集成主要方法

 

6 、信息系统战略规划(ISSP

从企业战略出发,构建企业基本的信息架构,对企业内、外信息资源进行统一规划、管理与应用,利用信息控制企业行为,辅助企业进行决策,帮助企业实现战略目标。

 

 

7 、企业资源规划 ERP

   三个流:物流、资金流、信息流;加上人力资源就是 4 大资源

       ERP 建立在信息技术基础上,以系统化的管理思想为企业提供决策和运营手段的管理平台。ERP 系统是将企业所有资源进行集成整合,并进行全面、一体化管理的信息系统。

   典型的 ERP 系统的主要功能模块如下:

n 财会管理:包括会计核算和财务管理等模块。

n 物流管理:包括分销管理、库存控制和采购管理等模块。

n 生产控制管理:包括主生产计划、物料需求计划、能力需求计划、车间控制和制造标准等模块。

n 人力资源管理:包括人力资源规划的辅助决策、招聘管理、工资核算、工时管理和差旅费核算等模块。

8 、客户关系管理 CRM

      CRM 视客户为企业重要资产,以客户关怀为中心,旨在与客户建立长期有效业务关系,在各“接触点 ”接近、了解客户,实现利润最大化。

      CRM 核心是客户价值管理,将客户价值分为既成、潜在和模型价值,通过“一对一 

营销原则,满足不同价值客户个性化需求,提高客户忠诚度与保有率,实现客户价值持续贡献,提升企业盈利能力。

      CRM 的功能

n CRM 的功能可以归纳为三个方面:对销售、营销和客户服务三部分业务流程的信息化;与客户进行沟通所需要的手段的集成和自动化处理;对上面两部分功能所积累下来的信息进行加工处理,产生客户智能,为企业决策提供支持。可细分为:

u 客户服务:是 CRM  的关键内容,对客户提供的服务,可以提高客户忠诚度。

u 市场营销(支柱性功能):包括商机产生、商机获取和管理、商业活动管理和电话营销等;销售人员与潜在客户的互动行为、将潜在客户发展为真正客户并保持其忠诚度是使企业赢利的核心因素。

u 共享的客户资料库:是企业的一种重要信息资源,将市场营销和客户服务连接起来。也是 CRM 的基础和依托。

u 分析能力:CRM  的一个重要方面在于它具有使客户价值最大化的分析能力。对上述获取的资料库进行分析。

      CRM 解决方案的核心思想就是通过跟客户的“接触 ”,搜集客户的意见、建议和要求,并通过数据挖掘和分析,提供完善的个性化服务。应具备以下要素:

n 畅通有效的客户交流渠道(触发中心)

n 对所获信息进行有效分析(挖掘中心)

n CRM 是企业管理的前台,必须与 ERP 进行良好的集成,使得信息可以及时传递给财务、生产等部门。

   实现过程

n 客户服务与支持,即通过控制服务品质以赢得顾客的忠诚度。

n 客户群维系,即通过与顾客的交流实现新的销售。

n 商机管理,即利用数据库开展销售。

9 、供应链管理 SCM

      SCM:是一种集成的管理思想和方法,它执行供应链中从供应商到最终用户的物流的计划和控制等职能。从单一的企业角度来看,是指企业通过改善上、下游供应链关系,整合和优化供应链中的信息流、物流和资金流, 以获得企业的竞争优势。

      SCM 包括计划、采购、制造、配送、退货五大基本内容。

10 、产品数据管理 PDM

       PDM 是管理所有与产品相关信息(如零件信息、配置、文档、计算机辅助设计文件、结构和权限等)和过程(含过程定义和管理)的技术。

       PDM 系统是软件框架,借助该框架可帮助企业集成与管理产品相关数据、开发过程及使用者,还能跟踪和支持设计、制造和生产所需大量数据。

11 、产品生命周期管理 PLM

   产品的生命周期一般包括 5 个阶段,分别是培育期(概念期)、成长期、成熟期、衰退期、结束期(报废期)5 个阶段。

       PLM 实施一整套的业务解决方案,把人、过程和信息有效地集成在一起,作用于整个企业,遍历产品全生命周期,支持与产品相关的协作研发、管理、分发和使用产品定义信息。为企业及其供应链组成产品信息的框架。它由多种信息化元素构成,包括基础技术和标准(例如,XML 、可视化技术、协作和企业应用集成等) 、信息生成工具(例如,CAD和技术发布等) 、核心功能(例如,数据仓库、文档和内容管理、工作流和程序管理等)和应用功能(例如,配置管理等) ,以及构建在其他系统上的业务解决方案。

       PLM 通过培育期的研发成本最小化和成长期至结束期的企业利润最大化来达到降低成

本和增加利润的目标。

12 、知识管理、

   显性知识:能以文字与数字来表达,而且以资料、科学法则、特定规格及手册等形式展现者皆属显性知识。

   隐性知识:因人而异,很难用公式或文字来加以说明,因而也就难以流传或与别人分享。个人主观的洞察力、直觉与预感等皆属隐性知识。

   知识管理工具分为知识生成工具、知识编码工具和知识转移工具三大类。

n 知识生成工具。知识的生成包括产生新的想法、发现新的商业模式、发明新的生产流程,以及对原有知识的重新合成。

n 知识编码工具。知识编码是通过标准的形式表现知识,使知识能够方便地被共享和交流。

n 知识转移工具。知识转移工具最终就是要使知识能在企业内传播和分享。

13 、企业门户 EP

   分类

n 企业网站:注重消息单问传送展示,缺乏信息互动,是企业门户雏形。

n 企业信息门户 EIP:在互联网模式下,将企业应用系统、数据资源和互联网资源集成在企业门户下,提供产品和用户信息,实现信息共享,让供应链和客户借此了解企业文化。

n 企业知识门户 EKP:在企业网站基础上增加知识性内容,员工可了解企业动态、查找项目资源信息,建立企业知识库,提高工作效率。

n 企业应用门户 EAP:集成企业业务流程,以业务流程和企业应用为核心,通过门户技术整合不同应用模块,员工和合作伙伴可访问应用系统,实现移动办公。

n 企业通用门户:将上述四者有机融合。

   实施 EP 要解决的问题

n 单点登录。

n 业务流程整合。企业的业务流程包括两个要素:流程和人。将这两个要素组合将得到三种过程:流程-流程、流程-人和人-人。流程-流程称为过程流,流程-人和人-人称为工作流。

n 个性化的配置。EP 的重要特性之一在于其个性化,针对不同的对象,定义不同的业务流程,提供不同的服务模式和服务内容。

n 与企业应用系统的集成。EAI  EP 的灵魂,能否实现对 EAI 进行良好的整合是 EP成功的关键。

n 知识转化。知识管理的对象主要是隐性知识与显性知识。

14 、决策支持系统

   决策支持系统 DSS 是辅助决策者以人机交互方式进行半结构化或非结构化决策的计算机应用系统,主要通过数据、模型和知识实现。它为决策者提供分析问题、建立模型等环境,能调用信息资源与分析工具,助其提高决策水平和质量。不过,DSS 不可代替决策者。

   决策支持分类

n 结构化决策是对决策过程规则进行确定性描述与建模,用适当算法产生决策方案,并从多种方案中选最优解。

n 非结构化决策过程复杂,无法用确定模型和语言描述,无最优解。

n 半结构化决策介于结构化与非结构化决策之间,可建立适当算法产生决策方案并得到较优解。

u 半结构化和非结构化决策常用于企业中、高级管理层。一般而言,决策是迭代过程,难以一次完成。

       DSS 的功能可归纳如下:

n 管理并随时提供与决策问题有关的企业内部信息。

n 能以一定的方式存储和管理与决策问题有关的各种数学模型。

n 能灵活地运用模型与方法对数据进行加工、汇总、分析和预测,得出所需的综合信息与预测信息。

n 提供良好的数据通信功能。

       DSS 系统由四个子系统组成:

n 数据库子系统:建立与决策相关的信息;

n 推理部分:知识库,包含智能推理分析算法;

n 模型库子系统:是最复杂的子系统,一系列应用场景模型,用户主要根据模型来决;

n 用户接口子系统:是一个人机交互界面,完美的集合上述三个子系统,供用户使用。

   各个子系统的具体组成如下图所示:

 

15  电子商务

   电子商务急需建标的三个领域:

n 用户接口,涵盖用户界面等设计原则。

n 基本功能,包括交易协议等内容。

n 数据及客体的定义与编码。

   我国电商技术标准现状含四方面:数据交换、识别卡、通信网络及其他相关标准。现阶段国家电商标准体系由基础技术、业务、支撑体系和监督管理分体系构成。

   电子商务特征:

n 普遍性:体现于行业、地域等层面。

n 方便性:人们不受地域限,能简便完成复杂商业活动。

n 整体性: 电商各组成与功能具整体性。

n 安全性:是电商核心问题。

n 协调性: 电商系统各部分有效协调成整体,实现业务顺畅与良好运营。

   优势:降营销成本、提销售效率、扩销售渠道、提服务质量和大数据分析。

   劣势:搜索功能不完善,网络有局限,商品信息不全,交易安全难保障。

   电子商务技术五大类:网络数据通信、电子数据交换、安全、电子支付和数据库技术。

16  电子政务

17 、企业应用集成 EAI

 

       EAI 技术:可以消除信息孤岛,它将多个企业信息系统连接起来,实现无缝集成,使它们就像一个整体一样。

   表示集成

 

n 也称为界面集成,这是较原始、最浅层次的集成。该方法以用户界面为公共集成点,将原有零散系统界面集中于新界面。表示集成是黑盒集成,无需了解程序与数据库内部构造。常用集成技术主要有屏幕截取和输入模拟技术。

n 表示集成通常应用于以下几种情况:

u 在现有的基于终端的应用系统上配置基于 PC 的用户界面。

u 为用户提供一个看上去统一,但是由多个系统组成的应用系统。

u 当只有可能在显示界面上实现集成时。.

 

   数据集成

n 为完成控制集成和业务流程集成,需先解决数据和数据库的集成问题。集成前,要

对数据标识并编目录,确定元数据模型以保证数据在数据库系统中分布和共享。所以,数据集成是白盒集成。

n 通常在以下情况下,将会使用数据集成:

u 需要对多种信息源产生的数据进行综合分析和决策。

u 要处理一些多个应用需要访问的公用信息库。

u 当需要从某数据源获得数据来更新另一个数据源时,特别是它们之间的数据格式不相同时。

   控制集成

n 也称为功能集成或应用集成,在业务逻辑层上对应用系统进行集成。控制集成的集成点在程序代码中,集成处可能简单使用公开的 API  就能访问,也可能需添加附加代码实现。控制集成是黑盒集成。

   业务流程集成

n 也称为过程集成,这种集成超越了数据和系统,它由一系列基于标准的、统一数据格式的工作流组成。包括应用集成、B2B 集成、自动化业务流程管理、人工流程管理、企业门户,以及对所有应用系统和流程的管理和监控等。

   企业间应用集成

n EAI 技术可以适用于大多数要实施电子商务的企业,以及企业之间的应用集成。EAI使得应用集成架构里的客户和业务伙伴,都可以通过集成供应链内的所有应用和数据库实现信息共享。

18 、事件驱动架构 EDA

   事件驱动架构(EDA)是设计和构建应用的方法,事件触发消息在独立、非耦合且无需相互知晓的模块间传递。事件源发送消息到中间件或消息代理,订阅者订阅该消息。因事件消息通过消息代理以发布/订阅方式传输,一个事件可传送给多个订阅者。EDA 主要特点如下:

n 异步。EDA 主要支持异步活动,消息在发出后,不必再关心是否能收到响应,同样也不必在源和目的系统之间维持一条活的链路。

n 发布/订阅。EDA 主要支持多对多的交互。在 EDA 中,系统发布一个关于事件的消息到网络中,多个其他的已经订阅和授权的系统就可以收到消息并做出响应。

n 解耦。EDA 允许消息的发布者不知道订阅者是谁,反之亦然。

   支持事件和消息技术的主要模块包括以下两个:

n 异步消息机制。EDA 必须要保证当事件发生时,相应的系统能发送异步消息。

n 事件管理。EDA 必须保证有一个系统用来识别、定义和聚集事件。

       EAI 架构中的服务由以下 5 层构成:

n 企业服务总线(ESB) 。这是面向服务体系中的基础架构,各个服务通过总线来互相访问。

n 应用服务层。主要是指需要集成的各个应用系统和数据库。

n 总线接入层。提供适配器服务,支持多种主流应用的接入协议,使用户可以访问各个应用服务,并通过消息机制使各种应用接入 ESB,使用 ESB 的各种服务。

n 核心服务层。提供多种 ESB 所需的必要服务支持。

n 业务支持层。侧重在业务支持上,通过通用、标准的对象和服务模型,可以在这一层上定义可复用的和基于企业标准的业务流程。同时,还提供统一的用户交互服务。

   事件驱动的 EAI 框架基于面向服务技术,用适配器服务接口将企业应用封装成统一应用服务,发布到目录服务中心,再借助 ESB 基础核心服务(如统一数据格式、消息传递等)实现应用系统通信交互,实现“ 即插即用 ”。

19 、工作流

   工作流就是一系列相互衔接、自动进行的业务活动或任务,一个工作流包括一组活动(任务)及它们的相互顺序关系,还包括流程和活动的启动和终止条件, 及对每个活动的描述。

   工作流管理是人与计算机共同工作的自动化协调、控制和通信,在信息化的业务过程中,通过在网络上运行相应的软件,使所有活动的执行都处于受控状态。

   活动是流程定义中的一个基本要素,一次活动可以改变流程处理数据的内容、流程的状态,并可能将流程推动到其他活动中去。

   工作项代表流程实例中活动的参与者将要执行的工作。

   工作流管理系统(WFMS 将业务流程中工作如何组织与协调的规则抽象出来,在WFMS 的协助下,开发人员遵从一定的编程接口和约定,就可以开发出更具灵活性的事务处理系统,用户无需重新开发即可更改工作流程,以适应业务的变更。WFMS 的基本功能体现在以下几个方面:

n 对工作流进行建模。即定义工作流,包括具体的活动和规则等,所创建的模型是同时可以被人和计算机所“理解 ”的,工作流对应现实世界的业务处理过程,不能改变真实业务的处理逻辑。

n 工作流执行。遵循工作流模型来创建和执行实际的工作流,即通过 WFMS 可以执行多个工作项。

n 业务过程的管理和分析。监控和管理执行中的业务(工作流) ,例如,进度完成情况和数据所处状态、工作分配与均衡情况等。

   工作流参考模型(WRM

 

n 工作流执行服务:是 WFMS 核心模块,功能包括创建和管理流程定义、实例。执行时,应用程序通过编程接口与之交互,可能包含多个分布式工作流引擎。该模块为用户维护活动列表,通过邮件或短信提醒任务,如开通课程时提示上级主管。

n 工作流引擎:为流程实例提供运行环境,解释执行流程实例,负责流程处理。

n 流程定义工具:管理流程定义,以图形方式显示并操作复杂流程。与工作流执行服务交互,为设计人员提供图形化界面。设计人员可创建或改变流程,指定活动参与者类型、关系和传递规则等。

n 客户端应用:通过请求与工作流执行服务交互,调用该服务。是面向最终用户的界面,可设计为 B/S  C/S 架构。

n 调用应用:被工作流执行服务调用,与之交互。不同工作流执行服务为完成流程实例执行而交互,通常是数据处理程序,如电子文档处理程序,执行中被调用并展示数据,包含名称、调用方式和参数等信息,如 OA 系统调用程序查看文档表格。

n 管理监控工具:维护管理组织机构和参与者等数据,监控流程执行情况,与工作流

执行服务交互。WFMS 通过其提供流程实例状态查询、挂起等操作,提供系统参数和运行统计数据。用户可图形化汇总统计数据,撤销不合理流程实例。

第七章:软件工程

1 、基本定义

   软件工程是应用计算机科学、数学及管理科学等原理,以工程化原则和方法解决软件问题的工程, 目的是提高软件生产率、质量,降低成本。

   软件工程由方法、工具和过程三部分组成。

   自顶向下是将大问题分化成多个可解决的小问题,逐一解决,每个问题对应一个模块,包含抽象和具体步骤;

   自底向上则是根据系统功能要求,从具体器件、逻辑部件或相似系统入手,凭借设计者的技巧和经验,通过连接、修改和扩大构成所需系统。

2 、生命周期

   基本过程:供软件生存周期主要参与方使用,主要参与方为发起或完成软件产品开发、运行或维护的组织。分为获取、供应、开发、运作和维护过程,其中开发过程含需求分析、设计编码等活动,维护过程有软件产品迁移和退役。

   支持过程:作为有机组成部分支持其他过程,有助于软件项目成功并提高质量,包括文档编制、配置管理等过程。

   组织过程:某个组织用以建立和实现由相关生存周期过程和人员组成的基础结构并持续改进,应用通常超特定项目和合同范围,但经验教训有助于改善组织状况,包括管理、基础设施等过程。

3 、开发模型

软件开发模型大体上可分为三种类型:第一种是以软件需求完全确定为前提的瀑布模型;

第二种是在软件开发初始阶段只能提供基本需求时采用的迭代式或渐进式开发模型,例如,喷泉模型、螺旋模型、统一开发过程和敏捷方法等;第三种是以形式化开发方法为基础的变换模型。

 

   瀑布模型(SDLC):又称软件开发生命周期模型,是结构化开发方法,开发流程如瀑布,依次进行直至项目完成,仅适用于需求明确或稳定的二次开发,需求不明时项目易出错、有缺陷。它将软件开发分为软件计划、需求分析、软件设计、程序编码、软件测试和运行维护 6  个阶段。

   原型:演化模型典型代表,针对需求不明情况,先快速构造功能模型演示给用户并按需修改,通过不断演示与用户沟通设计项目,避免不符合用户要求,采用迭代思想,但不适合超大项目开发。

   增量模型:先开发核心模块功能并与用户确认,再开发次核心模块功能,每次开发部分功能并确认需求,最终完成项目,优先级高的服务先交付。其不利于模块划分,难点是需求划分,且每次增量版本可独立操作,与原型用于演示不同。

   螺旋模型:结合瀑布模型与演化模型,并加入风险分析,沿螺旋线迭代,每次迭代包括制订计划、风险分析、实施工程和客户评估 4  个方面工作,强调风险分析,适用于庞大、复杂且高风险的系统。

      v  模型:增加多轮测试并贯穿开发各阶段,保证项目准确性。

   喷泉模型:以用户需求为动力、对象为驱动,用于面向对象开发,认为各阶段相互重叠、反复,无特定次序要求,可交互进行,能随时补充遗漏。

   基于构件的开发模型 CBSD:增强复用性,构建构件库供其他系统复用,提高可靠性、节省时间和成本。

   形式化方法模型:建立在严格数学基础上,主要生成计算机软件的形式化数学规格说明。

   变换模型:基于形式化规格说明语言和程序变换,对形式化软件规格说明进行程序变换得到软件系统,解决代码结构修改问题、减少中间步骤,但有较大局限性,需严格数学理论和开发环境支持。

   智能模型:综合多种模型并结合专家系统,也叫基于知识的软件开发模型,应用基于规则的系统,采用规约和推理机制帮助开发人员,维护在规格说明一级进行,需建立知识库存储模型、软件工程知识和特定领域知识。

4 、结构化方法

结构指系统内各组成要素相互联系、作用的框架。结构化方法也称生命周期法,是传统信息系统开发方法,由结构化分析(SA)、结构化设计(SD)和结构化程序设计(SP)组成,精髓是自顶向下、逐步求精和模块化设计。

   结构化方法的主要特点

n 开发目标清晰化。结构化方法的系统开发遵循用户第一 的原则。

n 开发工作阶段化。每个阶段工作完成后,要根据阶段工作目标和要求进行审查,这使各阶段工作有条不紊地进行,便于项目管理与控制。

n 开发文档规范化。结构化方法每个阶段工作完成后,要按照要求完成相应的文档,以保证各个工作阶段的衔接与系统维护工作的遍历。

n 设计方法结构化。在系统分析与设计时,从整体和全局考虑, 自顶向下地分解;在系统实现时,根据设计的要求,先编写各个具体的功能模块,然后自底向上逐步实现整个系统。

   结构化方法的不足和局限

n 开发周期长:按顺序经历各个阶段,直到实施阶段结束后,用户才能使用系统。

n 难以适应需求变化:不适用于需求不明确或经常变更的项目。

n 很少考虑数据结构:结构化方法是一种面向数据流的开发方法,很少考虑数据结构。结构化方法常用工具

结构化方法一般利用图形表达用户需求,常用工具有数据流图、数据字典、结构化语言、判定表以及判定树等。

5 、面向对象方法

面向对象(Object-Oriented 00)方法认为,客观世界是由各种对象组成的,任何事物都是对象,每一个对象都有自己的运动规律和内部状态,都属于某个对象类,是该对象类的一个元素。复杂的对象可由相对简单的各种对象以某种方式而构成,不同对象的组合及相互作用就构成了系统。

   面向对象方法的特点

使用00 方法构造的系统具有更好的复用性,其关键在于建立一个全面、合理、统一的模型(例模型和分析模型)

      00 方法也划分阶段,但其中的系统分析、系统设计和系统实现三个阶段之间已经没有 缝隙。也就是说,这三个阶段的界限变得不明确,某项工作既可以在前一个阶段完成,也可以在后一个阶段完成;前一个阶段工作做得不够细,在后一个阶段可以补充。

   不足之处

n 必须依靠一定的面向对象技术支持,在大型项目的开发上具有一定的局限性,不能涉足系统分析以前的开发环节。

当前,一些大型信息系统的开发,通常是将结构化方法和00 方法结合起来。首先,使用结构化方法进行自顶向下的整体划分;然后,自底向上地采用00 方法进行开发。因此,结构化方法和00 方法仍是两种在系统开发领域中相互依存的、不可替代的方法。

6 、原型化方法

   原型化方法也称为快速原型法,或者简称为原型法。它是一种根据用户初步需求,利用系统开发工具,快速地建立一个系统模型展示给用户,在此基础上与用户交流,最终实现用户需求的信息系统快速开发的方法。

   分类

n 按是否实现功能分类:分为水平原型(行为原型,功能的导航) 垂直原型(结构化原型,实现了部分功能)

n 按最终结果分类:分为抛弃式原型、演化式原型。

   原型法的特点

n 原型法可以使系统开发的周期缩短、成本和风险降低、速度加快,获得较高的综合开发效益。原型法是以用户为中心来开发系统的,用户参与的程度大大提高,开发的系统符合用户的需求,因而增加了用户的满意度,提高了系统开发的成功率。

n 由于用户参与了系统开发的全过程,对系统的功能和结构容易理解和接受,有利于系统的移交,有利于系统的运行与维护。

   原型法的不足之处

n 开发的环境要求高。

n 管理水平要求高。

n 由以上的分析可以看出,原型法的优点主要在于能更有效地确认用户需求。从直观上来看,原型法适用于那些需求不明确的系统开发。事实上,对于分析层面难度大、技术层面难度不大的系统,适合于原型法开发。

n 从严格意义上来说,目前的原型法不是一种独立的系统开发方法,而只是一种开发思想,它只支持在系统开发早期阶段快速生成系统的原型,没有规定在原型构建过程中必须使用哪种方法。因此:它不是完整意义上的方法论体系。这就注定了原型法必须与其他信息系统开发方法结合使用。

7 、面向服务的方法

   面向服务(Service-Oriented SO)的方法:将接口定义与实现解耦,催生了服务和面向服(Service-Oriented SO)的开发方法。OO 应用构建在类和对象上,随后建模技术将相关对象按业务功能分组形成构件概念,跨构件功能调用通过接口暴露,进一步解耦接口定义与实现催生了SO 开发方法。可见,面向对象、基于构件、面向服务是递进的抽象层次。

      SO 方法有三个主要抽象级别,即操作、服务和业务流程。最低层操作代表单个逻辑单元事物,执行时会读写或修改持久数据。服务操作类似对象方法,有结构化接口和响应,第二层服务是操作的逻辑分组。最高层业务流程是为实现业务目标执行的长期动作或活动,包括按业务规则有序执行的操作。操作的排序、选择和执行是服务或流程的编排,典型情况是调用编排好的服务响应业务事件。

8 、快速应用开发 RAD

   快速应用开发(RAD)是一种比传统生命周期法快得多的开发方法,它强调极短的开发周期。RAD 模型是瀑布模型的一个高速变种,通过使用基于构件的开发方法获得快速开发。

       RAD 的基本思想体现在以下 4 个方面:

n 让用户更主动地参与到系统分析、设计和构造活动中来。

n 将项目开发组织成一系列重点突出的研讨会,研讨会要让各方一起参与。

n 通过一种迭代的构造方法,加速需求分析和设计阶段。

n 让用户提前看到一个可工作的系统。

       RAD 的开发阶段:

n 业务建模。确定驱动业务过程运作的信息、要生成的信息、如何生成、信息流的去向及其处理等,可以使用数据流图采帮助建立业务模型。

n 数据建模。为支持业务过程的数据流查找数据对象集合、定义数据对象属性,并与其他数据对象的关系构成数据模型,可以使用 E-R 图来帮助建立数据模型。

n 过程建模。将数据对象变换为要完成一个业务功能所需的信息流,创建过程以描述增加、修改、删除或获取某个数据对象,即细化数据流图中的加工。

n 应用生成。利用第四代语言(4GL)写出处理程序,复用己有构件或创建新的可复用构件,利用环境提供的工具自动生成并构造出整个应用系统。

n 测试与交付。因为 RAD 强调复用,许多构件已经是测试过的,这就减少了测试的时间。由于大量复用,所以一般只做总体测试,但新创建的构件还是要测试的。RAD通过大量使用可复用构件,加快了开发速度。

       RAD 也具有以下局限性:

n 并非所有应用都适合 RAD

n 开发者和客户必须在很短的时间完成一系列的需求分析。

n RAD 只能用于管理信息系统的开发,不适合技术风险很高的情况。

9 、敏捷方法

   开发宣言:个体和交互胜过过程和工具、可以工作的软件胜过面面俱到的文档、客户合作胜过合同谈判、响应变化胜过遵循计划。

   敏捷方法的核心思想:

      (1)敏捷方法是适应型,而非可预测型。拥抱变化,适应变化。

      (2)敏捷方法是以人为本,而非以过程为本。发挥人的特性。

      (3)迭代增量式的开发过程。以原型开发思想为基础,采用法代增量式开发,发行版本小型化。

   主要敏捷方法:

   极限编程(XP) 。基础和价值观是交流、朴素、反馈和勇气,即任何一个软件项目都可以从 4 个方面入手进行改善:加强交流:从简单做起:寻求反馈;勇于实事求是。

n XP 是一种近螺旋式的开发方法,它将复杂的开发过程分解为一个个相对比较简单的小周期:通过积极的交流、反馈以及其他一系列的方法,开发人员和客户可以非常清楚开发进度、变化、待解决的问题和潜在的困难等,并根据实际情况及时地调整开发过程。

n XP 提倡测试先行,为了将以后出现 bug 的几率降到最低。与其他方法相比,XP 方法最大的不同如下:

n (1)在更短的周期内,更早地提供具体、持续的反馈信息。

n (2)迭代地进行计划编制。

n (3)依赖于自动测试程序来监控开发进度,并尽早捕获缺陷。

n (4)依赖于口头交流、测试和源程序进行沟通。

n (5)倡导持续的演化式的设计。

n (6)依赖于开发团队内部的紧密协作。

n (7)尽可能达到程序员短期利益和项目长期利益的平衡。

   动态系统开发方法(DSDM)倡导以业务为核心,快速而有效地进行系统开发。DSDM 认为任何事情都不可能一次性圆满完成,应该用 20%的时间完成 80%的有用功能,以适合商业目的为准。DSDM 的基本原则包括:

n 用户必须参与。

n 必须授权 DSDM 团队进行决策。

n 注重频繁交付产品。

n 判断产品是否可接受的基本标准是是否符合业务目的。

n 对准确的业务解决方案需要采用循环和增量开发。

n 开发期间的所有更改都是可逆的。

n 在高层次上制定需求的基线(以在低优先级的项目上获得一定的灵活性)

n 在整个生命周期集成测试。

n 在所有参与者之间采用协作和合作方法。

   并列争球法(Scrum) 。是一种迭代的增量化过程,是一个增量的、迭代的开发过程。在这个框架中,整个开发过程由若干个短的迭代周期组成,一个短的迭代周期称为一个 Sprint,每个 Sprint 的建议长度是 2~4 周。按需求的优先级别来实现产品,多个自组织和自治的小组并行地递增实现产品。

10 、统一过程建模(RUP

       RUP 描述了如何有效地利用商业的、可靠的方法开发和部署软件,是一种重量级过程。 RUP 类似一个在线的指导者,它可以为所有方面和层次的程序开发提供指导方针、模版以及事例支持。

       RUP 软件开发生命周期是一个二维的软件开发模型,RUP 中有 9 个核心工作流,这 9 核心工作流:业务建模、需求、分析和设计、实现、测试、部署、配置与变更管理、项目管理、环境

       RUP4 个阶段

n 初始阶段:为系统建立业务模型,确定项目边界,识别与系统交互的外部实体,定义交互特性,关注项目业务和需求方面的主要风险。实现过程为明确规模、评估风险、制订计划、进行阶段技术评审。

n 细化阶段:分析问题领域,建立完善架构,淘汰高风险元素,基于对系统的理解决策架构,包括范围、功能和非功能需求,建立支持环境。实现过程为确定架构、制订构建计划、建立支持环境、选择构件、进行阶段技术评审。

n 构建阶段:开发剩余构件和应用功能,集成产品并详细测试。主要任务是降低开发成本,完成功能分析、开发和测试,完成可用版本,确定软件、场地和用户是否准备好部署。

n 移交阶段:将产品提交用户使用。主要任务是进行β测试,制作发布版本,定稿支持文档,确认新系统,培训用户和维护人员,获取反馈并调整产品。

       RUP 特点

n 用例驱动:  需求分析、设计、实现和测试等活动均由用例驱动。

n 以体系结构为中心:  涵盖系统总体组织、全局控制、通信协议等多方面。软件体系结构是多维结构,采用多视图描述。

n 迭代与增量:  将项目开发分为多个迭代过程,每次迭代仅考虑部分系统需求,进行分析、设计等过程,且基于已完成部分增加新功能,直至项目完成。

 

11 、软件开发环境

 

 

12 、软件成熟度模型 CMM

能力等级

特点

初始级

没有明确的步骤,依赖于英雄式个人

可重复级

建立了基本的项目管理过程

已定义级

文档化、标准化

已管理级

详细的度量标准,可预测

优化级

持续改进,定量分析

13 、能力成熟度模型集成 CMMI

 

14 、软件重用

   软件重用过程有三种模型,分别为组装模型、类重用模型和软件重用过程模型。

   组装模型。最简单的软件重用过程是,先将以往软件工程项目的软件构件存于构件库,接着查询构件库提取可重用构件,然后修改这些构件以适应新系统,并构建新系统所需的其他构件,最后组装新系统所需的所有构件。

   类重用模型。面向对象技术中的类是比较理想的可重用软件构件,称之为类构件。类构件的重用方式有以下几种:

n 实例重用。按照需要创建类的实例,然后向该实例发送适当的消息,启动相应的服务,完成所需要的工作。

n 继承重用。利用面向对象方法的继承性机制,子类可以继承父类已经定义的所有数据和操作,子类也可以定义新的数据和操作。

n 多态重用。根据接收消息的对象类型不同,在响应一个一般化的消息时,由多态性机制启动正确的方法,执行不同的操作。

   软件重用过程模型。强调领域工程和软件工程同时进行。领域工程在特定的领域创建应用领域的模型,设计软件体系结构模型,开发可重用的软件成分,建立可重用的软件构件库。

   开发可重用的软件构件的过程就是领域工程。领域工程包括分析过程、开发可重用的软件构件(标准的数据结构+标准的接口协议+程序模板)和传播软件构件三个主要的活动。

   构件分类方法有枚举分类、刻面分类和属性值分类三种典型模式。软件构件的重用必须由相应的环境来支持,环境应包含下列元素:

n 软件构件库。存放软件构件和检索构件所需要的分类信息。

n 软件构件库管理系统。管理对构件库的访问。

n 软件构件库检索系统。用户应用系统通过检索系统检索构件、重用构件。

n CASE 工具。帮助用户把重用的构件集成到新的设计中去。

15 、逆向工程

   逆向工程:软件的逆向工程是分析程序,力图在比源代码更高抽象层次上建立程序的表示过程,逆向工程是设计的恢复过程。

   软件逆向工程有多种实现方法,主要包括以下三种:

n 分析信息交换过程。最常用于协议逆向工程,涉及使用总线分析器和数据包嗅探器。

n 反汇编。使用反汇编器,把程序的原始机器码翻译成较便于阅读理解的汇编代码。

n 反编译。使用反编译器,尝试从程序的机器码或字节码重现高级语言形式的源代码。

   与逆向工程相关的概念有重构、设计恢复、再工程和正向工程。

n 重构是指在同一抽象级别上转换系统描述形式。

n 设计恢复是指借助工具从已有程序中抽象出有关数据设计、总体结构设计和过程设计等方面的信息。

n 再工程是指在逆向工程所获得信息的基础上,修改或重构已有的系统,产生系统的一个新版本。再工程是对现有系统的重新开发过程,包括逆向工程、新需求的考虑过程和正向工程三个步骤。它不仅能从已存在的程序中重新获得设计信息,而且还能使用这些信息来重构现有系统,以改进它的综合质量。在利用再工程重构现有系统的同时,一般会增加新的需求,包括增加新的功能和改善系统的性能。

n 正向工程是指不仅从现有系统中恢复设计信息,而且使用该信息去改变或重构现有系统,以改善其整体质量。

16 、软件产品线

   软件产品线:是一个产品集合,这些产品共享一个公共的、可管理的特征集,这个特征集能满足特定领域的特定需求。

   软件产品线主要由两部分组成,分别是核心资源和产品集合。

n 核心资源:领域工程的所有结果的集合,是产品线中产品构造的基础。包括所有产品所共用的软件架构,通用的构件、文档等。

n 产品集合:产品线中的各种产品。

   双生命周期模型

 

      SEI 模型

n SEI 将产品线的基本活动分为三个部分,分别是核心资源开发(即领域工程) 、产品开发 (即应用工程)和管理。三个基本活动交错连接,可以任何次序发生,且是高度重叠的。在核心资源和产品开发之间有一个强的反馈环,当新产品开发时,核心资源库就得到刷新。对核心资源的使用反过来又会促进核心资源的开发活动。

n SEI 模型的主要特点如下:

u 循环重复是产品线开发过程的特征。

u 核心资源开发和产品开发没有先后之分。

u 管理活动协调整个产品线开发过程的各个活动,对产品线的成败负责。

u 核心资源开发和产品开发是两个互动的过程,三个活动和整个产品线开发之间也是双向互动的。

   三生命周期模型:是对双生命周期模型的一种改进,主要针对大型软件企业的软件产品线开发。三生命周期模型为有多个产品线的大型企业增加了企业工程流程(包括运作计划、市场计划、企业架构计划)

 

   在领域工程中增加了产品线确认作为起始阶段,和领域分析阶段、架构开发阶段、基础设施开发阶段组成整个领域工程,还为领域分析阶段增加了市场分析的任务。

   同样,为应用工程增加了业务/市场分析与计划。在领域工程和应用工程之间的双向交互中添加核心资源管理作为桥梁。

17 、产品线建立方式比较

 

18 、净室软件工程

   净室软件工程是软件开发的一种形式化方法,可以开发较高质量的软件。它使用盒结构归约进行分析和建模,并且将正确性验证作为发现和排除错误的主要机制,使用统计测试来获取认证软件可靠性所需要的信息。

      CSE  强调在规约和设计上的严格性,以及使用基于数学的正确性证明来对设计模型的每个 元素进行形式化验证。作为对形式化方法的扩展,CSE 还强调统计质量控制技术,

包括基于客户对软件的预期使用的测试。

      CSE 的理论基础是函数理论和抽样理论,所采用的技术手段主要有以下 4 个方面:

n 统计过程控制下的增量式开发。

n 基于函数的规范、设计。CSE 按照函数理论定义了三种抽象层次,分别是行为视图、有限状态机视图和过程视图。

n 正确性验证。正确性验证是 CSE 的核心。

n 统计测试和软件认证。CSE 在测试方面采用统计学的基本原理,即当总体太大时必须采取抽样的方法。

19 、确保程序正确性的手段:动态方法和静态方法

   动态方法需将软件源码编译为可执行文件后运行,通过特定输入考察运行结果,软件测试是其广泛应用方式,但不能覆盖程序所有输入和执行路径。

   静态方法基于程序源代码分析,无须编译运行,应用场景更广,常用的有静态分析、符号执行、定理证明、模型检测等。

n 静态分析方法轻量级,适用于大规模代码,但误报比例高,需人工逐一排查结果,耗费大量人力。

n 符号执行是更准确的测试方法,通过符号值静态执行程序,积累路径条件,直到目标位置,再约束求解路径条件以判断可达性。

n 定理证明方法用高阶逻辑对程序及需满足的性质建模描述,再用机器辅助证明,但其自动化程度低,需大量专业人力编写证明代码,不利于软件快速更新迭代。

n 模型检测是经典的形式化分析方法,通过构造软件系统抽象模型检测其是否满足要求性质,不过系统模型建立需领域专家参与,寻找恰当抽象层次以证明系统特定属性是一大难点。

系统规划与分析

  概述和项目系会选择

   系归的步骤

  初步调查

   从类似的企业或者企业内部收集信息,从管理层的角度,分析现状。

  分析确定系统目标

   目标包括:服务的质量范围、政策、组织和人员等。不仅包括系统目标还要反应企业目标 

  分析子系统的组成和基本功能

   自顶向下

  方案实施

   设定优先级,确定开发顺序

  可行性研究

    编写可行性研究报告

  建设方案

    编写系统设计任务书

  项目提出与选择

  项目立项目标和动机

   基础研究、应用开发、技术服务、产品使用者

  价值判断

   基础研究以高度技研究为导向,应用产品开发以技术在具体领域的应用和推广为导向,技术服务以业务和客户的满意度为导向

  项目选择和确定

   选择有核心价值的项目---》评估所选---》优先级排序---》评估方案---》选择方案

  初步调查

   目标:掌握概况,了解现状,提出问题,识别需求,明确目标

   方式:与高层座谈了解目标和边界以及资金投入和工期

   内容:初步分析

presented with xmnind

   可行性分析

  系统分析和问题分析

   基本任务:编制系统需求规格说明书

   难点:沟通困难和不断变化的环境

   研究问题的领域:了解结合上下文图。上下文图用于显示系统和过程在其环境下与其他实体的交互作用的图形工具,即输出输入关系和控制反馈

   分析问题和机会:记录因果分析文档格式

   制定系统改进目标:建立成功的准则并以此度量所有改进。约束条件:进度、成本、技术、政策

   汇报调查结果和建议:

  业务流程分析

   目的:了解过程,明确业务关系和处理的意义,为系统数据流程提供依据。

   业务流程是由一系列具有先后顺序且相互关联的活动组成的经营过程。应该以客户利益为中心、以员工为中心、以效益和效率为中心

  步骤

   掌握基本情况---》描述现有业务流程---》确认现有业务流程---》分析---》发现问题提出方案---》优化

   分析方法

   价值链分析法:基本业务流程(价值最大化、反应核心竞争力、起关键作用)和辅助业务流程(服务和支持)

   客户关系分析法:CRP是处理客户关系的数据,即把客户关系管理用在业务流程的分析上,这种业务流程应当以客户与企业的关系,以客户行为为依据

   供应链分析法:从企业供应链的角度,包括内外两个角度

   基于ERP的分析法:将企业业务流程看成一个紧密连接的供应链

   业务流程重组(BPR):以客户满意为出发点,进行价值链的分解和整合,改造原有流程,实现业务流程最优

   传统工具

  业务流程图(TFD

   反应现有系统的 业务过程和他们的业务分工和联系,以及连接各部门的物流。信息流,体现系统边界、环境、输入、输出、处理和数据存储等

  业务活动图(BAM

   1、业务流程调查时,识别。2、分析时,描述。3、实践时,不断优化。

· C统一建模语言(UML

   业务流程建模(BPM

   定义:是业务流程描述的方式,是过程分析与重组的重要基础,优化了软件开发和运行效率。

  三个层次

   1、模型要素:目标、知识和数据

   2、模型构造

   3、可行性分析

  两种建模方式

  自顶向下

   自底向上

  形式化描述和图示化描述

  标杆瞄准

   连续系统化的评价外部领先企业,确定最佳实践(经营和工作)过程

   组织动态本质建模法(DEMO

   定义了一种可支配角色定位的通信方式,其理论基础是对话行为理论。核心是业务事务,业务流程有一系列的事务组成,他是一种通信模式和客观行为,包括两个角色(发起者和执行者),包括三个阶段:要求、执行和结果。

   Petri

  从流程的角度描述和分析复杂系统,特别是具有并行、异步、分布式和随机性等特点的系统。

   用他的原因:形式化的语义、直观的图形表示、丰富的分析技术、基于状态的表示方式

  数据与数据流程分析

   数据与数据流程分析是建立数据库系统和功能设计模块处理过程的基础,目标是理解数据的来源、传输、存储和处理,以及他们在系统中的使用和转化。

   数据流

  所有的过程至少包括一个输入数据流和一个输出数据流

   包括:数据源、数据输出、数据转换、数据存储、数据输出

  逻辑数据流

   数据处理过程中逻辑上的流动路径和方式。描述了数据在系统中的输入、处理、存储和输出的过程,以及数据处理的逻辑关系

  规则

   执行数据处理的逻辑规则和限制

  数据流的守恒原则

  输入等与输出:不会产生丢失和增加

   处理后等于输入加上增量

   处理前等于处理后加上丢失量

  数据流图(DFD

   一种描述系统功能的图形化工具,通过一组符号和规则,描述各模块的数据流动情况,以便更好理解交互过程。由数据流、进程(处理加工)、数据存储和外部实体

  物理数据流图建模

   物理DFD用作系统构造和实现的技术性蓝图

   数据汇总分析

  定义:对一组数据进行综合性整理、归纳和分析,求得之间的关系和趋势规律,并从中得出建议和结论。

   系统调查的资料按照业务流程进行分类编码,按处理过程的顺序摆放在一起

   自顶向下整理数据

   将原始数据和最终结论分类整理在一起

   确定数据的字长和精度

   数据属性分析

  静态分析

   类型和长度、取值范围、发生的业务量、哪些业务使用该数据、重要程度和保密程度

  动态分析

   固定值属性、固定个体变动属性和随机变动属性

  数据流程

  在系统中产生、传输、加工处理、使用、存储的过程

   目的:发现解决数据流通过程中的问题

  过程方法

   收集现有系统的全部输入输出的单据和报表,以及数据存储介质的典型格式

   明确各处理过程的处理方法和计算方法

   调查确定上述各单据、报表、账本、清单的制作单位、报送单位、存储单位、发生频率和高峰时间和高峰量等

   注明各项数据的类型、长度、取值范围

   可行性分析

  必要性和可能性

   复查系统目标和规模

   分析现有系统

   导出新系统的高层逻辑模型

   用户复审

   提出并评价解决方案

   草拟开发计划

   编制和提交可行性分析报告

    经济可行性

   也称作投资效益分析或成本效益分析,主要评估建设成本、运行成本和项目建成后可能的经济收益。只能大致估算。(核心)

   技术可行性

   也称为技术风险分析,研究信息系统的功能和性能,以及技术能力约束。包括技术、资源、目标。(本企业资源)

  法律可行性

   政策、法律、道德、制度

   用户可行性

  也称执行可行性,包括企业的行政管理和工作制度、使用人员的素质和培训要求

   管理可行性:领导支持不支持,中层是否抵触,管理方法是否科学时机是否成熟,规章制度是否齐全

   运行可行性:分析和测定信息系统在确定环境下能有效工作,且被方便实用的程度和能力

  成本效益分析(经济可行性)

  成本分类

   时间

   基础建设投资

   房屋和设施、办公设备、平台软件、工具等,即可是一次性,也可是分期付款

  其他一次性投资

   研究咨成本、调研费、管理成本、培训费、差旅费

   其他非一次性投资

   指的是运行和维护成本,如设备租金和维护成本、定期消耗支出、通信费、人员安全与奖金、房屋租金、公共设施

  成本性态

  固定成本

   总额不随一定时间和业务量改变,包括管理人员工资、办公费、固定资产折旧费、员工培训费等

  变动成本

   总额随一定时间和业务量改变,如直接材料费、包装费、外包费、开发奖

   混合成本

   综合了上述两种成本性质,如水电、话费,通常有一个技术,超过便会随着业务量的扩大而扩大。

  其他

   直接成本:直接投入

   间接成本:分摊到项目上

   沉没成本:已投入,无法挽回

  收益分类

  有形收益

   又称经济收益,可用货币的时间价值、投资回收期、投资回收率等衡量

  一次性经济收益

   体现在开支缩减和价值的提升

  非一次经济性收益

   由于运行系统而导致的按月(年)能用货币表示的,包括开支的减少和避免

  无形收益

    盈亏平衡点

    净现值

    投资回收期

软件需求工程

  需求概述

   需求定义

 是指用户对系统功能、行为、性能、设计约束等方面的期望。是指用户解决问题或达到的目标所需的条件或能力,是系统满足合同、标准、规范或其他这正式规定文档所需具有的条件或能力,以及反应这些条件或能力的文档说明。

   两个过程

 

 

   需求分类

   业务需求

   反应最高层次目标,通常来自投资人、客户、市场营销部门或者产品策划部门,通过业务需求可以确定项目视图和范围。

   用户需求

 描述用户具体目标,或者必须完成的任务,即描述了用户可以用系统做什么。通常有用户访谈和问卷调查等方式对用户场景进行整理,从而建立需求。

  功能需求

   功能需求

   也称行为需求,规定系统必须实现的软件功能

  非功能需求

   必须具备的属性或者品质,又分为质量属性(可维护性、可靠性、效率等)和其他非功能需求

  设计约束

   也称限制条件或者补充规约

   质量功能部署(QFD

  一种将用户要求转换为软件需求的技术,目的在于最大限度提升满意度

   常规需求

   该做到的性能

   期望需求

   应具备的性能

   意外需求

   也称为兴奋需求,用户要求范围外的性能

  软件需求定义

   用户解决问题或达到目标的条件或权限

   系统或系统部件满足合同、标准、规范或其他正式规定文档所需的条件或权限

   反映上述的文档说明,也即需求规格说明

   FURPS+模型

   功能性

   特性、功能、安全性

   可用性

   人性化因素、帮助、文档

   可靠性

   故障频率、可恢复性、可预测性    性能

   响应时间吞吐量、准确性、有效性、资源利用率

  可支持性

   适应性、可维护性、国际化、可配置性

   PIECES框架(非功能性需求的分类技术) ·  性能(preformance

·  信息(information

  

·  经济(economics

·  控制(control

·  效率(efficiency

·  服务(service

  需求获取

  用户访谈

   1-1或者1-3,有代表性的用户,非结构化或者结构化,包括准备---》支持访谈--- -》后续工作三个方面

  问卷调查

   无法一对一,缺乏灵活性

   采样

·  系统性抽选样本。样本数量=0.25* (可信度因/错误率) ^2

   情节串联版

   通过图片讲故事,包括主动、被动和交互方式,其复杂程度依次递增,优点是用户友好、交互性强,提供了早期评审。缺点是耗费时间多,效率低。

   联合需求计划(JRP

   通过联合各个关键用户代表、系统分析师、开发团队一起,通过组织会议讨论需求,群策群力。

  需求记录技术

   将需求获取的信息记录下来,包括任务卡片、场景说明、用户故事、白卡

  需求分析

   用户需要把杂乱无章的用户要求和期望转化为用户需求

   绘制上下文关系图

   创建用户界面原型

   分析需求的可行性

   确定需求的优先等级

   为需求建立模型

   创建数据字典

·  使用质量功能部署(QFD

   面向问题域的分析(PDOA):更多强调描述而少建模

   关注解系统的待求行为

  问题框架是PDOA的核心

   收集基本信息并开发问题框架,以建立问题域的类型

   在框架指导下,收集详细信息,并给出问题域相关特性的描述

   基于上述收集并用文档说明新系统需求

   结构化需求分析SA:自顶向下、逐步分解、面向数据强调分析对象的数据流。

   功能模型(数据流图)、数据模型(E-R)、行为模型(状态转换图)、数据字典(数据元素、数据结构、数据流、数据存储、加工逻辑、外部实体)

   数据流图(DFD

  从数据传递加工的角度,利用图形符,通过逐层分解,细分描述系统各个部件的功能和数据在他们之间传递情况,来说明系统所完成的功能

   是理解和表达用户需求的工具和手段

   描述了内部逻辑过程,是需求分析结果的表达工具,也是系统设计的参考资料和起点

   作为进一步修改和充实开发计划的文字资料

  基本元素

 

 

  数据流

   由一组固定成分的数据组成,表示数据流向。具体有:  1、从一个加工流向另一个加工; 2、从加工流向数据存储(写 ); 3、从数据存储流向加工(读); 4、从外部实体流向加工(输入);  5、从加工流向外部实体(输出)

   加工

 描述了输入数据流之间的交换,也即输入数据流经过什么处理后变成了输出数据流,常有三种黑洞(有输入没输出)、奇迹(有输出没输入)、灰洞(输入不足以产生输出)

   数据存储

 

 面向对象需求分析(OOA

 

   基本概念

   对象:由数据及其操作所封装构成,是描述客观事物的实体,是构成系统的的基本单位,通常由对象名、属性和方法组成

   类:现实世界中实体的形式化描述,类将该实体的属性(数据)和操作(函数)封装在一起。对象是类的实例,类是对象的模板。

  实体类

   表示现实世界的真实的实体,如人、物

  接口类:包含接受和发送数据

 边界类,为用户提供一种与系统合作的交互方式,分为人和系统,如显示屏、窗口、 web窗体、对话框、菜单、列表框、其他显示控制条形码、二维码或者用户与系统交互的其他方法

 控制类

 控制活动流,充当协调者

   抽象:通过特定的实例抽取共同特征形成的的概念

   封装:将数据和基于数据的操作封装成一个整体对象

   继承:表示类之间的层次关系

 多态:不同对象收到统一消息产生不同的结果,包括参数多态(不同类型参数多种结构类型)、包含多态(父子类)、过载多态(类似于重载,  一个名字不同含义)、强制多态(强制类型转换)四种

   接口:描述对操作规范的说明,定义该做什么

   消息:体现对象间的交互,借此发送操作请求

   覆盖:在子类中定义一个与父类同名同参的方法

   函数重载:与子类父类无关,且函数同名不同参

   绑定:把过程调用和响应调用所需要用到的代码结合起来,包括静态绑定和动态绑定。

   定义:为了确定问题域,理解问题。包括:认定对象、组织对象、描述对象间的相互作用、确定对象的操作、定义对象的内部信息。

   UML

   构造块:实物、关系和图,关系把事务紧密联系在一起,图是多个相互关联的事物的结合

   公共关系:是达到特定目标的公共uml方法

   规则:规定了构造块如何放在一起

   UML4+1视图

 逻辑视图

 设计视图,模型中架构方面,即类、子系统、包和用例实现的 子集

  进程视图

   可执行线程和进程作为活动类的建模,是逻辑视图的执行实例,描述了并发与同步结构

 

   OOA-UML之间关系

 

 

 

 

 

 

  需求定义

   软件需求规格说明书(SRS

  需求开发活动的产物,编制该文档的目的是使干系人与开发团队对系统有共同的理解,使之成为开发工作的基础。

   用好的结构化和自然语言编写文本型文档

   建立图形化模型,方便描述转换过程、系统状态及其变化、数据关系、逻辑流、对象类及其关系

   编制形式化规格说明,用数学上精确形式化逻辑语言来定义需求

   需求定义方法

   严格定义也称预先定义,基本假设是所有需求能够被预先定义,开发人员与用户之间能准确清晰交流。采用图形或者文字可以充分体现最终系统

   原型法:迭代的循环开发方法,要注意并非所有的需求能在开发前被完整说明。原型法克服了交流的困难。

  需求验证

   目的:和用户一起确认需求无误,对SAS进行评审和测试    评审

   评审: 一次正式的会议

   检查:由非制作者本人的个人和小组详细检查,验证有无错误、是否违反标准、是否存在其他问题

   走查:开发人员领导一个或者多个开发团队对产品进行检查,由其他成员对技术、风格、可能错误、等提出意见

 

   通过后,客户签字,作为验收标准之一。此时需求规格说明书就是基线,不可随意更新,否则要走变更流程。

  需求管理

   变更

  步骤

   问题分析和变更描述:当提出一项变更,进行分析,检查其有效性,从而产生更加明确的变更提议

   变更分析计算:变更影响分析和评估

   变更实现:根据影响范围按照开发过程模型执行变更

   变更控制委员会(CCB):是决策机构不是作业机构

   制定决策---》交流情况---》重新协商约定   跟踪

   包括编制每个需求同系统元素之间的联系文档,这些元素包括其他需求、体系结构、设计部件、源代码、测试、帮助文件等。

   提供了从需求到产品的查阅能力,目的在于建立和维护需求--设计--编程--之间的一致性,确保成国符合要求。

   分类

   正向跟踪

   检查说明书的每个需求是否能在后继工作中找到对应点

   逆向跟踪

   检查设计文档、代码、测试用例等是否能在说明书中找到出处

系统设计

  概述

   目标是根据细分结果完成对系统的构建过程。目的是绘制系统蓝图,权衡和比较各种技术和实施方法的利弊,合理分配资源,构建系统详细方案和相关模型

  概要设计

   又称系统总体结构设计,主要任务是将系统的功能分配给软件模块,确定每个模块的功能和调用关系,形成软件的模块结构图,即系统结构图。

  详细设计

   为每个具体任务选择合适的 技术手段和处理方法的过程

   网络设计:选择网络结构,安排网络和设备分布,然后根据物理位置考虑网络布线和设备部署

   代码设计:首先考虑编码问题,而编码在于分类,分类方式有线分类和面分类。

   线分类基本原:理逐层分解

   输入设计:保证输入数据的完整性、正确性和一致性,包括输入数据内容、输入设计方式、输入设计格式、检验方式设计。

   输出设计的目的是完整性、正确性和一致性,其主要内容包括输出的内容、选择输出设备与介质、确定输出格式。

   输入设计的原则:输入数据最少原则、简单性原则、尽早验证原则、少转换原则

   处理流程设计:确定内部结构,包括数据局部数据组织和控制流,以及每个加工过程和事实细节

   数据存储设计:数据的统筹安排、文件的数据结构设计

   用户界面设计:三大原则:置于用户的控制之下、减轻用户记忆负担、保持界面的一致性

   安全性可靠性设计:运行环境的安全性分析和控制、对数据处理的控制

  处理流程设计

  概念

   处理流程设计的任务是设计出系统所有模块以及它们之间相互关系,并具体设计出每个模块内部功能和处理过程,为开发人员提供详细资料

   系统处理流程对应于现实世界中的真实业务过程,通过设计建模以便使信息系统取代手工,以此降本增效

   业务流程是一组将输入转化为输出的相互关联和作用的过程,有6个基本要素:输入资源、活动、活动的相互作用(结构)、输出结果、用户和价值

流程的概念包括流程定义和流程实例。

   流程定义

   对业务过程的形式化表示,定义了运行中的活动和所涉及的各种信息

  流程实例

   一次具体操作

   流程设计工具:图形工具、表格工具、语言工具

   程序流程图(PFD):图框表示操作,独立于各种程序语言。包括5种基本结构:顺序型、选择型、多分支选择型、当型循环和直到型循环

流程描述工具(IPO):描述构成软件系统的每个模块的输入、输出和数据加工

   N-S图:容易表示嵌套和层次关系,结构化强,但不适合用于复杂的策划程序设

   分体分析图(PAD):具有逻辑结构清晰和标准化的图形等优点,更重要的是引导设计人员使用结构化方法,从而提高程序质量

   过程设计语言(PDL):也称为结构化语言或者伪代码,外层语法描述结构,内层语法描述操作

   判定表

 

 

   判定树:不同条件下的处理流程,直观,左侧(树根)为加工名,中间是各种条件,所有的行动都位于最右侧

   业务流程重组BPR

   定义:是对业务流程的根本性思考和彻底的再设计,是为一乐完成某项任务而进行的一系列跨越时空的逻辑相关活动的有序集合。

  分类

   管理流程:指企业目标和经营战略产生的流程,他们决定了企业整体运营方向和价值取向

   操作流程: 指直接与满足外部客户的需求的相关活动

   支持流程: 为保证操作流程的顺利执行,而在资金、人力、设备、系统支撑的各种活动

  实施BPR的两种方法

   在现有业务流程基础上重新设计

   一张白纸绘蓝图

   BPR与信息系统规划相互作用。 一方面,系统规划要以BPR为前提,并在规划过程中以业务流程为主线;另一方面,系统规划驱动BPR

   设计步骤

   战略规划

   明确战略目标,系统战略和企业战略一致

   流程规划

   选出关键业务,对其改进

  数据规划

   对数据进行分类,类似于BSP  (企业系统规划法),产生不同的数据类型

   功能规划

   建立CU矩阵对数据创建和使用建一个关系,然后对数据总体建立一个逻辑规划,划分功能模块

   实施规划

   制定企业开发目标,项目开发计划

 结构化设计(SD

   概念:面向数据流,以SRSSA阶段所产生的数据流程图和数据字典等文档为基

础。基本思想:将软件设计成由相对独立且具有单一功能的模块结构。可分为概要设计和详细设计

   模块是组成系统的基本单位,特点是可以自由组合、分解和交换,系统中任何一个处理功能都可以看作一个木块

   基本原理

   抽象化

   自顶向下,逐步求精

   信息隐蔽

   模块独立(高内聚低耦合)

   设计原则

   尽可能减少调用的深度

   多扇入(别人调用我)和少扇出(我调用别人)

   单口入,单口出

   模块的作用域应该在模块之内

   功能应该是可以预测的

   内聚程度(从低到高)

   偶然内聚:无直接关系

   逻辑内聚:逻辑相似、参数决定

   时间内聚:同时执行

   过程内聚:指定的过程顺序

   通信内聚:相同数据结构、相同输入输出

   顺序内聚:顺序执行、输入为输出

   功能内聚:共同作用、缺一不可

   耦合程度(从低到高)

   无直接耦合:无直接关系

   数据耦合:传递数据值调用

   标记耦合:传递数据结构

   控制耦合:控制变量、选择执行某一功能

   外部耦合:软件外部环境

   公共耦合:公共数据结构

   内容耦合:模块内部关联

   系统结构图(SC):也称模块结构图,诗人罕见设计的工具,反应系统的功能实现和模块之间的通信和联系,反映了系统的总体结构

 完全因子分解系统: 一个系统的全部实际工作都由底层的原子模块完成,而其他所有非原子模块仅仅执行控制和协调功能(SC中不能再分解的底层模块称为原子模块)

   4种模块

   传入模块:从下获取数据送给上级

   传出数据:从上获取数据送给下属

   变换模块:上级获取数据处理后返回上级

   协调模块:对所有下属模块进行协调

 presented with xmnind

   组成:模块、模块之间的调用关系、模块之间的通信和辅助控制   分类

   变换型SC:输入--》处理--》输出,这样的信息流称为交换流

   事物型SC:因此叫事物流,由事务层、操作层和细节层构成,它的功能是接受事物,按类型选择一类事物处理

   混合型SC DFD往往是变换型和事物型的混合结构

 面向对象设计(OOD

  面向对象设计的基本过程

   定义:是OOA的延续,基本思想包括抽象、封装和可拓展性,其中可拓展性可由继承和多态实现。在OOD中数据结构和数据结构上定义的操作算法封装在一个对象之中

  对象持久化与数据库

   定义:对象持久化是吧内存中的对象保存到数据库或者可永久保存的存储设备中,需要进行对象/关系映射(ORM

   优点

   封装了数据访问细节,为大部分业务逻辑提供面向对象API

   通过持久化技术,可减少访问数据的次数,增加执行速度。

   代码重用性高

   松散耦合,是持久化不依赖于底层数据库和上层业务逻辑,更换数据库只需修改配置文件,而不是修改代码

   持久化的技术框架

·  CMP:由EJB实现,封装了对象/关系的映射和数据访问细节。缺点:必须遵守J2EE规范,灵活性差,且只能在EJB容器中运行

   Hibernate

   iBatis:小巧上手快

   JDO:提供了透明的对象存储,不需要额外的代码

   设计原则

   开放-封闭原则:软件实体可扩展(开放),不能修改(封闭)

   里氏替换原则:子类型必须能够替换掉他们的基类型,即任何父类都可以用子类的实例赋值给父类使用

   依赖倒置原则:抽象不应该依赖于细节,细节应该依赖于抽象。即针对接口编程,而不是针对现实编程

·  组合/聚合复用原则:代替继承,又称合成复用原则,尽量使用组合/合关系,而少使用继承。如果Has-A,则用组合/聚合;如果Is-A则用继承

   接口隔离原则:使用多个接口,每个接口应该承担一种相对独立的角色

   最少知识原则:也称迪米特法则,当一个模块被修改时,尽量少的影响其他模块,这样扩展相对容易

   广义原则:指对对象之间的信息流量、流向和信息的影响的控制,主要是信息隐藏的控制

   狭义原则:两个类不必直接通信,那么两个类就不应当直接作用;如果其中一个类要调用领一个,可以通过第三者转达

  设计模式(模式名称、问题、解决方案、效果)

   创建型设计模式

   抽象工厂模式:抽象接口

   构建器模式:类和制造的分离

   工厂方法模式:子类决定实例化

   原型模式:原型实例,拷贝

   单例模式:唯一实例

   结构型设计模式

   适配器模式:转换,兼容接口

   桥接模式:抽象和实现分离

   组合模式:整体-部分,树形结构

   装饰模式:附加职责

   外观模式:对外统一接口

   享元模式: 细粒度,共享

   代理模式:代理控制

   行为型设计模式

  输入/输出原型设计

   设计系统输入时7种设计原则

   数据的格式和类型

   数据来源

   输入界面

   验证机制

   处理流程

   存储方案

   安全机制

   输出设计的三方面

   确定输出内容

   选择输出设备与介质

   确定输出格式

   输出设计7条原则

   简洁性原则:避免过多冗余和复杂设计

   一致性原则:自然和流畅

   可用性原则:注重用户体验

   可访问性原则:易于访问和使用

   可维护性原则:高可维护性,可拓展性,便于我维护升级

   安全性原则:安全保密

   可拓展性原则:灵活,满足不同场景要求

  人机交互设计

   人机交互的目标

   切实满足用户需求,功能有用,内容齐全

   产品上手容易,操作的方便

   降低用户错误率和学习成本,容易掌握

  用户体验五层模型

  战略层:用户需求和产品目标

   用户细分:将用户分成较小的具有相同需求的组(人口统计学、消费心态档案)

   用户研究:知道用户是谁,调查问卷、访谈、实地考察、焦点小组、卡片分

   人物角色:从研究中抽取可以成为样例的虚拟人物

   范围层:把用户需求和网站目标转化为内容时,战略就成了范围。又分为工具型和内容型

   结构层:收集完用户需求后,将这些分散的片段组成一个整体,即创建了产品功能和内容之间的关系

   交互设计:描述可能的用户行为 ,定义系统如何配合响应 ,至少包括概念模型和错误处理

   信息架构:关注如何将信息表达给用户

   框架层:决定某个板块应该在什么位置。设计框架层的内容时要遵循用户日常使用习惯和恰当的生活比喻。框架层设计包含界面设计、导航设计、信息设计。

   表现层:是用户能看到的一切,内容、功能和美学结合成最终设计,从而满足其他层面要求

   如何设计良好的人机交互

   了解用户:用户群体划分、需求调研、场景分析、竞品分析

   设计交互界面:采用简单、自然、统一操作方式

   提供即时系统反馈机制

   辅助功能:对于那些有视觉、听觉、肢体等障碍的人,有额外的功能满足他们的要求

   用户设计

   迭代优化设计

   多语言支持

   与实际应用场景相结合

   适当使用动画

   适当使用新理念和新技术

软件架构设计

  架构概述

   定义:重点解决了系统结构和需求项现实的过渡问题,他为系统提供了一个结构、行为和属性的高级抽象,由构件的描述、构件的相互作用(连接件)、指导构件集成的模式以及这些模式的约束组成。他指定了系统的组织结构和拓扑结构,并显示了系统需求和构件之间的对应关系,提供了一些设计决策的基本原理。

  意义

   1、交流的手段

   2、早期设计决策的体现

   3、架构实现的约束条件

   4、决定了开发和维护的组织结构

   5、制约着系统的质量属性

   6、使推理和控制更为简单

   7、循序渐进的原型设计

  8、培训的基础

   9、可传递可复用的模型

   发展的4个阶段

  无架构设计阶段

   汇编语言

  萌芽阶段

   程序结构设计,数据流图和控制流图

  初级阶段

   从不同侧面描述系统结构模型,如UML

   高级阶段

   关注系统的高层抽象结构,不关注细节,如“4+1模型

  架构建模

  软件架构模型

   结构模型

   最直观最普遍,以构件、连接件和其他概念刻画架构,其核心是架构描述语

   框架模型

   不太侧重描述结构的细节而更侧重于整体结构。

  动态模型

   对上述两种的补充,研究系统的粗粒度行为性质。

   过程模型

   步骤和过程

   功能模型

   认为架构是由一组构件层次组成,下层向上层提供服务。是特殊的框架模型

   “4+1”视图模型

  逻辑视图

   支持功能需求,向最终用户服务,面向对象风格

   开发视图

   也称模块视图,考虑软件内部需求,通过系统I/O关系的模型图和子系统图来描述

   进程视图

   侧重运行特性,关注非功能需求,强调并发性、分布性、集成性和容错能力

   物理视图

   UML中称为部署视图,把软件映射到硬件上,考虑解决系统拓扑结构、系统安装和通信问题

   场景

   活动的抽象,使4个视图连接起来,是最重要的需求抽象,对应UML的用例视图,帮助找到构件及其相互关系

  软件架构风格

   概念:软件设计的核心是软件复用。软件风格是描述某一特定领域的惯用模式。 个体系结构定义一个词汇表和一组约束。风格反映了众多系统的共有结构和语义特性。

   传统五类架构风格

   数据流风格

   批处理序列:按顺序通过数据交互传递

   管道-过滤器:前一个输出作为后一个输入。过滤器就是构件,连接件就是管

   主程序/子程序

 单线程控制,把问题划分为若干处理步骤,构件即为主子程序,子程序通常为合成模块。过程调用作为交互机制,充当连接件。调用关系具有层次性,其语义逻辑表现为主程序的正确性取决于他调用的子程序

   面向对象

   构件是对象,对象是抽象数据类型的实例。在抽象数据类型中,数据的表示和他们的相应操作被封装起来,对象的行为体现在其接受和请求的动

作。连接件即是对象间的交互方式,对象是通过函数和过程的调用来交互的。

  层次结构

   构件组成一个层次结构,连接件通过决定层间如何交互的协议来定义。修改某一层,最多影响其相邻的两层,即下层为上层提供服务。

  优点

   1、支持基于可增加抽象层的设计

   2、不同层次抽象级别不同,底层抽象级别高,顶层抽象级别低

   3、每一层只影响两层,强软件复用性

 缺点

   1、并不是每个系统都容易划分为分层模式

   2、效率低

   独立构件风格

   进程通信:构件是独立的进车跟,连接件是消息的传递,方式可以是点对点、异步或同步方式,以及远程过程(方法)调用

 事件驱动系统(隐式调用):构建不能更直接调用一个过程,而是触发或者广播一个或者多个事件。当某个时间被触发时,系统自动调用在这个事件中注册的所有过程

   虚拟机风格

 解释器:通常包括一个完成解释工作的解释引擎、 一个包含将被解释的代码的存储、 一个记录解释引擎当前工作状态的数据结构,以及一个记录源代码被解释执行的进度的数据结构。

   优点:可以仿真硬件的执行过程和一些关键的应用。缺点是执行效率低。

·  基于规则的系统:包括规则集、规则解释器、规则/数据选择器和工作内存。一般用在人工智能和DSS中。

   以数据为中心的风格

  仓库架构风格

   仓库是存储和维护数据的中心。有两种不同的构件:中央数据结构,以及一组对中央数据进行操作的独立构件

  黑板架构风格

   适用于解决复杂的非结构化问题,包括:知识源、黑板和控制三部分。常应用于对解决问题没有确定性算法的软件中(信号处理、问题规划、编译器优化等)

   现代编译器的集成开发环境采用数据仓库架构风格进行开发,其中心数据就是程序的语法树。

   两层C/S架构

 

 

 客户端和服务器都有处理功能,但不常用了,原因有:开发成本高、程序设计复杂、内容形式单一、界面风格不一、软件移植困难、维护升级难、新技术应用

难、安全性问题、服务器压力大难复用

   三层C/S架构   7

   三层B/S架构   7

   基于服务的构件与传统构件的区别

    1、服务构建粗粒度

    2、服务构件是标准的接口,以WSDL居多,传统以API为主

    3、服务构件的实现与语言无关,传统常常绑定某种特定语言

    4、服务构件通过构建容器提供Q oS的服务,而传统的由代码控制

  面向服务的架构风格(SO A)

   概述

   一种在计算环境中设计、开发、部署和管理离散逻辑单元(服务)模型的方法,是面向对象的一种替代

   是一种粗粒度、松耦合的服务架构,服务之间通过简单、精确定义接口进行通信,不涉及底层编程接口和通信模型

   服务是为了满足某项业务需求的操作、规则等的逻辑组合

  设计原则

   明确定义的接口:服务定义必须长时间稳定,  一旦公布不能随意更改

   自包含和模块化:服务封装了哪些业务上稳定、重复出现的活动和构件,实现服务的功能实体是完全独立自主,独立部署、版本控制、自我管理和恢复

   粗粒度:服务数量不能太多,依靠信息交互,信息量大,但服务之间交互频度低

   松耦合:服务的接口对请求者可见,但是其位置、实现技术、状态和私有数据等是不可见

   互操作性、兼容和策略声明:确保服务条约的全面和明确

   相关技术(都是以XML为基础发展出来)

   UDDI

   用于Web服务注册和查找,描述了服务的概念,定义了编程接口,供其他企业调用。

   数据模型:用于描述业务组织和服务的XML Schema

   API:是一组用于查找或发布UDDI数据的方法, UDDIAPI 基于SOAP

   注册服务:是一种SO A的基础设施,对应着服务注册中心的角色

   WSDL

   对服务进行描述的语言,他有一套基于XML的语法定义。描述的重点是服务,包含服务实现定义和服务接口定义

   SOAP

  定义了服务请求者和服务提供者之间的消息传输规范,以此实现数据交换和远程过程调用(RPC)。

  包括四个部分

   封装:定义了框架,用来表示消息中包含的内容,谁来处理,以及这些内容是可选的还是必须的。

   编码规则:定义了一种序列化的机制,用以交换系统所定义的数据类型的实例

   RPC表示:定义了一个用来表示远程过程调用和应答的协议

   绑定:定义了一个用底层传输协议来完成节点之间交换SOAP封装的约定

   SOAP消息包括三个部分

   封装(信封)

   SOAP

   SOAP

   REST

   概念

 是一种使用HTTPXML进行基于Web通信的技术,可以降低开发复杂性,提高可伸缩性。从根本上讲只支持几个操作(POSTGETPUT DELETE

   设计概念和准则

   网络上所有事物都被抽象为资源

   每个资源对应唯一标识

   通过通用的连接接口对资源进行操作

   对资源的各种操作不会改变资源的标识

   所有的操作都是无状态的

 SOA实现方法

 WEB Service

   三种工作角色

   服务提供者:负责定义实现服务,使用WSDL对服务进行详细、准确、规范的描述,并将该描述发送到服务注册中心,供给服务请求者绑定使用

   服务请求者:服务面向程序,但最终使用者是用户

   服务注册中心:纽带作用提供者发布服务,请求者查找

  在应用系统中的6个层次

   底层传输协层:传输机制, HTTPJAVA服务消息(JMS)和SMTP都可作为协议

   服务通信协议层:描述定义服务之间进行消息传递所需的技术标准, SOAPREST

   服务描述层:主要以一种统一的接口和消息交互方式进行,标准是WSDL

   服务层:将遗留系统进行包装,并发布WSDL接口描述来定位和调用处于服务层的服务

   业务流程层:支持服务的发现,服务调用和点对点的服务调用,并将业务流程从底层抽象出来,标准是WSBPEL

   服务注册层:使服务提供者能通过WSDL发布服务定义,并支持请求者的查找所需的服务信息,标准是UDDL

   服务注册表

   概念:可以包括服务和相关构件的配置、依从性和约束文件。从理论上讲,任何帮助服务注册、发现和查找服务合约、元数据和决策的信息库、数据库、目录或其他节点都可以被认为一个注册表。

   大多商用服务注册产品的功能

   服务注册:公布服务的功能

   服务位置:帮助查找

   服务绑定:调用服务并互动

   企业服务总线ESB

   提供一种基础设施,消除请求者和提供者之间的相互连接,使得服务请求者和提供者之间进一步解耦

   六大功能

   支持异构环境的服务、消息和基于事件的交互,且有适当的服务级别和可管理性

   通过ESB可不用代码。以无缝的非侵入方式使现有系统具有全新的服务接口,并能使用任何标准

   使不同的系统使用同一个服务,不用改变代码

   提供服务代理和协议转换功能

   提供可以配置的消息转换翻译机制和基于消息内容的消息路由服务

   提供安全和拥有着机制,以保证消息和服务使用的认证、授权和完整

  优势

   扩展的、基于标准的连接

   灵活的、服务导向的应用组合

   提高复用率、降成本

   减少市场反应时间,提高生产率

   任务

   是一种使用和操作,是一个系统想要满足一名或者多名利益相关者的目标,而为此次目标完成相应的软件架构设计

   环境、系统及架构

   一系列组件构成一个完整的系统,该系统具备一个或者一些特殊的功能。系统不能独立存在,必须依赖于一个环境(上下文)。 一个系统应该实现一种或者多种软件架构

   利益相关者、架构说明和原理

   系统架构需要架构说明来描述,从而满足不同干系人。在架构设计过程中工程师需要做出取舍,并给出理由,以及架构设计是如何满足功能性和非功能性的需求

   关注、关注点、视图

   一个干系人对系统和有关问题的关注,这个关注点可能由一个或者多个干系人持

   关注点库、模型

   存放了前人的观点,模型是用来表示视图的方法,即图形化的表示,将不同试一下的系统元素组织起来,并将这些元素整体发挥作用

 架构实现(ABSDM

   架构需求

   需求获取:系统的质量目标、系统的商业目标、开发人员的商业目标

   标识构件:为系统生成初始逻辑结构

   架构设计

   将需求阶段的标识构件映射成构件

   架构(体系结构)文档化

   架构(体系结构)规格说明书和需求的质量设计说明书

  架构复审

   由外部人员参加复审,考察架构是否满足需求、质量问题、

   架构实现

   用实体来显示架构,实现构件,构件组成系统

  架构演化

   对架构进行改变,按需求增删构件,使架构复用

  架构质量属性

   开发期质量属性

   易理解性

   可扩展性:适应新需求或者需求变化而增加新功能的能力,也称灵活性

   可重用性

   可测试性:对软件进行测试以证明满足需求规范的难易程度

   可维护性:识别修改点的难易程度

   可移植性

   运行期质量属性

   性能:及时提供服务的能力,如速度、吞吐量和容量

   安全性:阻止非法访问的能力

   可伸缩性:当用户数量增加,软件维持高质量服务的能力

   互操作性:本系统与其他系统交换数据和调用服务的难易程度

   可靠性:在一定时间内无故障运行的能力

   可用性: 一定时间内正常运行的时间比例,易受到系统错误、恶意攻击、高负载影响

   鲁棒性:非正常情况仍能正常运行的能力,也叫健壮性和容错性

   面向架构评估的质量属性    性能

   响应能力,某个时间段内能处理事件的个数

   设计策略:优先级队列、增加计算资源、减少计算开销、引入并发机制、采用资源调度

   可靠性

   在意外或者错误情况下维持系统功能特性的能力,如MTTF MTBF

   心跳、 Ping/Echo、冗余、选举

   可用性

   能正常运行的时间比,如故障间隔时间

   心跳、 Ping/Echo、冗余、选举

   安全性

   向合法用户提供服务和拒绝非法用户的能力,如保密性、完整性、不可抵赖性、可控性

   入侵检测、用户认证、用户授权、追踪审计

   能快速的以较高的性能价格比对系统进行变更的能力,如可维护性、可扩展性、结构重组、可移植性

   接口-实现分类、抽象、信息隐藏

   功能性

   系统所能完成所期望的工作的能力,需要相互协作

可变性

   指体系结构经扩充或变更而成为新体系结构的能力

   互操作性

   软件必须为外部可视的功能特性和数据结构提供精心设计的软件接口,以期于其他系统或者自身环境进行交互作用

   质量属性场景是一种面向质量属性的需求

   1、刺激源(Source):生成该刺激的实体,如人、计算机、其他

   2、刺激(Stimulus):该刺激是刺激到达系统时说要考虑的条件

   3、环境(Environment):刺激在某些条件内发生,过载、运行等

   4、制品(Artifact):某个制品被刺激,可能是整个系统或者某个部分

   5、响应(Response):刺激到达后所采取的行动

  6、响应度量:当发生时,应当能够以某种方式对其进行度量和测试

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐