ShanTianQi

系统架构师备考笔记

第一章 计算机系统基础 1-7


考点:


1.1 计算机系统


计算机系统:

计算机组成
指令系统类型指令寻址方式实现方式其他代表
CISC(复杂)数量多,使用频率差别大,可变长格式支持多种微程序控制技术(微码)研制周期长Intel、AMD的x86CPU
RISC(精简)数量少,使用频率接近,定长格式,大部分为单周期指令,操作寄存器,只有Load/Store操作内存支持方式少,多寄存器寻址增加了通用寄存器;硬布线逻辑控制为主;适合采用流水线优化编译,有效支持高级语言ARM和Power

分级存储:

解决存储的容量、价格和速度之间的矛盾

存取数据速度由快到慢为:

RAM(随机访问存储器) 内存:掉电数据会丢失

ROM(只读存储器) 内存:掉电数据不丢失

IO数据传输控制方式: 由上到下效率越来越高


1.2 操作系统概述


分类特点
批处理操作系统单道批:一次一个作业入内存,作业由程序、数据、作业说明书组成
多道批:一次多个作业入内存,特点:多道、宏观上并行微观上串行
分时操作系统采用时间片轮转的方式为多个用户提供服务,每个用户感觉独占系统
特点:多路性、独立性、交互性和及时性
实时操作系统实时控制系统和实时信息系统
交互能力要求不高,可靠性要求高**(规定时间内响应并处理)**
网络操作系统方便有效共享网络资源,提供服务软件和有关协议的集合
主要的网络操作系统有:Unix、Linux和Windows Server系统
分布式操作系统任意两台计算机可以通过通信交换信息
是网络操作系统的更高级形式,具有透明性、可靠性和高性能等特性
微机操作系统Windows:Microsoft开发的图形用户界面、多任务、多线程操作系统
Linux:免费使用和自由传播的类Unix操作系统,多用户、多任务、多线程和多CPU的操作系统
嵌入式操作系统运行在智能芯片环境中
特点:微型化,可定制(针对硬件变化配置)、实时性、可靠性、易移植性(HAL和BSP支持)

1.3 进程管理


进程是程序在一个数据集合上运行的过程,它是系统进行自由分配和调度的一个独立单位,它由程序块、进程控制块(PCB)和数据块三部分组成

一个进程之中存在多个线程,线程之间

进程状态

进程的同步与互斥

临界资源:诸进程间需要互斥方式对其进行共享的资源(进程中访问临界资源的那段代码称为临界区)

1.3.1 PV操作

信号量:是一种特殊的变量

信号量表示资源数量:信号量初值(最大),表示没有任何操作时,资源的总数

P(S):获取资源

V(S):释放资源

n个资源,m个进程互斥获取资源,整个pv过程,信号量S初始值为多少,取值范围是多少

用P、V操作管理临界区时,一个任务在进入临界区前应对信号量执行P操作,退出临界区时应对信号量执行V操作

1.3.2 前趋图

1.3.3 死锁与银行家算法

两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程

有n个进程,每个进程需要m个系统资源,至少有多少个资源,不可能发生死锁

银行家算法:分配资源的原则


1.4 存储管理


1.4.1 页式存储

将程序与内存均划分为同样大小的块,以页为单位将程序调入内存

高级程序语言使用逻辑地址

运行状态,内存中使用物理地址

例如,页式存储系统中,每个页的大小为4kb

逻辑地址:10 1100 1101 1110 低12位为页内地址 那么10为页号,查表得到对应的页帧号(如 6)

对应的物理地址为?

页式存储

1.4.2 段式存储

按用户作业中的自然段来划分逻辑空间,然后调入内存,段段长度可以不一样

段式存储

合法段地址:(0, 25k)

非法段地址:(0, 35k)

1.4.3 段页式存储

段式与页式的综合体。先分段,再分页,1个程序有若干个段,每个段中可以有若干页,每个页的大小相同,但每个段段大小不同

段页式存储

页内地址:[0, 8] 2的9次方,每个页最多512字节

页号:[9 ,13] 2的5次方,每个段最多32个页

段号:[14, 15] 2的平方,最多4个段


1.5 磁盘管理


存取时间 = 寻道时间 + 等待时间,寻道时间是指磁头移动到磁道所需的时间,等待时间为等待读写的扇区转到磁头下方所用的时间

读取磁盘数据的时间应包括以下三个部分

某磁盘磁头从一个磁道移至另一个磁道需要10ms。文件在磁盘上非连续存放,逻辑上相邻数据块的平均移动距离为10个磁道,每块的旋转延迟时间及传输时间分别为100ms和2ms,则读取一个100块的文件需要多少ms的时间

( (10 * 10) + 100 + 2) * 100 = 20,200ms

​ 段页式存储

旋转周期为33ms,11个物理块,每个分区读取时间为3ms,记录处理时间为3ms

初始:R0:读取时间 + 记录时间 = 3 + 3

这是磁头位于R2,要读取R1

R1:旋转等待时间 + 读取时间 + 记录时间 = 3 * 10 + 3 + 3 = 36

这是磁头位于R4,要读取R3

R3:旋转等待时间 + 读取时间 + 记录时间 = 3 * 10 + 3 + 3 = 36

…

最长时间 = 36 * 10 + 6 = 366ms,选C

优化分布 R0 R6 R1 R7 R2 R8 R3 R9 R4 R10 R5,环形,时间 (3 + 3) * 11 = 66,选B


1.5.1 移臂调度算法

FCFS SSTF 习题

不考虑磁头号,找离20号柱面最近的,如果有多个请求,扇区号从小到大排列

选C


1.6 文件系统


1.6.1 索引文件结构

索引文件结构

默认13个节点

1.6.2 位示图

位示图

字长16bit 字的编号、位的编号、磁盘块的编号都是从0开始的

第65号磁盘块放在几号字?几号bit位

第65号磁盘块是第66个:4号字,第5行,1号bit位


1.7 系统性能


1.7.1 性能指标

分类指标
计算机时钟频率(主频),运算速度和精度,内存的存储容量,存储器的存取周期,数据处理速度PDR,吞吐率,各种响应时间,各种利用率,RASIS特性,平均故障时间,兼容性,可扩充性,性能价格比
硬件路由器设备吞吐量、端口吞吐量,全双工线速转发能力,丢包率,时延,时延抖动,VPN支持能力,端口硬件队列数,基于Web的管理,网管类型等
交换机交换机类型,配置,支持的网络类型,最大ATM端口数,支持协议和标准等
网络设备级性能指标,网络级性能指标,应用级性能指标,用户级性能指标,吞吐量
操作系统系统的可靠性、系统的吞吐率(量)、系统响应时间、系统资源利用率、可移植性
软件数据块管理系统衡量数据库管理系统的主要性能指标包括数据库本身和管理系统两部分,有:数据库的大小、数据库中表的数量、单个表的大小、表中允许的记录(行)数量、单个记录(行)的大小、表上允许的索引数量、数据库允许的索引数量、最大并发事物处理能力、负载均衡能力、最大连接数等
WEB服务器最大并发连接数、响应延迟、吞吐量等
性能指标

1.7.2 性能设计

当系统性能降到最基本的水平时,性能调整由查找和消除瓶颈组成

Amdahl(阿姆达尔)定律

Amdahl Amdahl

B

1.7.3 性能评估

方法描述特点
时钟频率法以时钟频率高低衡量速度仅考虑CPU
指令执行速度法表示机器运算速度的单位是MIPS仅考虑CPU
等效指令速度法(吉普森混合法)通过各类指令在程序中所占的比例(Wi)进行计算得到的仅考虑CPU,综合考虑指令比例不同的问题
数据处理速率法(PDR)PDR值的方法来衡量机器性能,PDR值越大,机器性能越好PDR = L / R
仅考虑CPU + 内存
综合理论性能法(CTP)CTP用MTOPS表示,CTP的估算方法是:首先
算出处部件每个计算单元的有效计算率,
再按不同字长加以调整,得出该计算单元
的理论性能,所有组成该处理部件的计算单元
的理论性能之和即为CTP
仅考虑CPU + 内存
基准程序法把应用程序中用的最多、最频繁的那部分核心程序
作为评估计算机系统性能的标准程序,
称为基准测试程序(benchmark)
综合考虑多部分,基准程序法
是目前一致承认的测试系统性能的较好方法

【测试精确度】真实的程序 > 核心程序 > 小型基准程序 > 合成基准程序

Web服务器的性能评估

系统监视

进行系统监视通常有3种方式:一是通过系统本身提供的命令,如UNIX/Linux系统中的W、ps、last、Windows中的netstart等,二是通过系统记录文件查阅系统在特定时间内的运行状态,三是集成命令、文件记录和可视化技术的监控工具、如Windows的Perfmon程序


第二章 嵌入式系统 2-5


考点:


2.1 嵌入式系统概述


从传统意义上讲,嵌入式系统主要由以下部件组成


2.2 嵌入式系统设计


2.2.1 交叉开发环境

嵌入式软件等开发与传统的软件开发方法存在比较大的差异,主要表现在以下方面:

嵌入式软件设计层面的功耗控制主要可以从以下方面展开:


2.3 嵌入式硬件


嵌入式系统的发展大致经历了五个阶段:

2.3.1 嵌入式微处理器分类

通常嵌入式处理器需要根据不同的使用场景选择不同类型的处理器,从处理器分类看,大致可分为MPU、MCU、DSP、GPU、SoC

2.3.2 AI芯片

人工智能芯片的定义:从广义上讲只要能够运行人工智能算法的芯片都叫作AI芯片。但是通常意义上的AI芯片指的是针对人工智能算法做了特殊加速设计的芯片,现阶段,这些人工智能算法一般以深度学习算法为主,也可以包括其他机器学习算法

人工智能芯片四大类(按技术架构分类)

AI芯片的关键特征:

2.3.3 嵌入式微处理器体系结构

体系结构分类定义特点典型应用
冯·诺伊曼结构冯·诺伊曼结构也称
普林斯顿结构,是一种将
程序指令存储器和数据
存储器合并在一起的存储器结构
指令与数据存储器合并在一起
指令与数据都通过相同的数据总线传输
一般用于PC处理器,
如I3,I5,I7处理器
注:常规计算机
属于冯·诺伊曼结构
哈佛结构哈佛结构是一种并行体系结构,
它的主要特点是将程序和
数据存储在不同的存储空间中,
即程序存储器和数据存储器
是两个独立的存储器,
每个存储器独立编址、独立访问
指令与数据分开存储,
可以并行读取,有较高的数据吞吐率
有4条总线:指令和数据
的数据总线与地址总线
一般用于嵌入式系统处理器
注:DSP属于哈佛结构

2.3.4 总线

基本概念:

总线是一组能为多个部件实时共享的信息传送线,用来连接多个部件并为之提供信息交换通路【总线通常是半双工的】

半双工:同一时刻,只允许1个设备发送,但是允许多个设备接收

特点:

总线通常分为以下几类:

并行总线:将数据字节的各位用多条数据线同时进行传送【短距离】

串行总线:数据是一位一位地进行传输的,在传输中每一位数据都占据一个固定的时间长度【长距离,传输波特率可调整,正确性依赖于校验码,数据传输方式可以使用多种】

海明码可以纠正1个比特位的错误,90%以上只有1个bit错误


2.4 嵌入式操作系统


嵌入式操作系统(EOS)是指用于嵌入式系统的操作系统。嵌入式操作系统是一种用途广泛的系统软件,负责嵌入式系统的全部软、硬件资源分配、任务调度、控制、协调并行活动等工作,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等

根据系统对时间的敏感程度可以将嵌入式系统划分为:

2.4.1 嵌入式实时操作系统

嵌入式实时操作系统兼具嵌入式操作系统的特点和实时操作系统的特点

嵌入式操作系统主要有以下特点:

实时操作系统的最核心特点是实时性强

嵌入式实时操作系统实时性的评价指标

嵌入式实时操作系统调度算法

2.4.2 操作系统内核架构

内核是操作系统的核心部分,它管理着系统的各种资源,内核可以看成连接应用程序和硬件的一座桥梁,是直接运行在硬件上的最基础的软件实体

目前从内核架构来划分,可以分为宏内核(Monolithic Kernel)和微内核(Micro Kernel)

实质优点缺点
单体内核将图形、设备驱动及文件
系统等功能全部在内核
中实现,运行在内核状态
和同一地址空间
减少进程间通信和状态切换
的系统开销,获得较高的运行效率
内核庞大,占用资源较多
且不易剪裁
系统稳定性和安全性不好
微内核【鸿蒙操作系统】只实现基本功能,将图形系统
文件系统、设备驱动及
通信功能放在内核之外
微内核系统结构相当清晰,
有利于协作开发。内核精炼,
便于剪裁和移植(灵活性
可扩展性)
,系统服务程序
运行在用户地址空间,系统
的可靠性、稳定性和安全性

较高,可用于分布式系统
用户状态和内核状态需要
频繁切换,从而导致系统频率
不如单体内核,性能偏低

鸿蒙(Harmony OS)整体采用分层的层次化设计,从下向上依次为:内核层、系统服务层、框架层和应用层

系统功能按照”系统” - “子系统” - “功能/模块”逐级展开,在多设备部署场景下、支持根据实际需求裁剪某些非必要的子系统或功能/模块

鸿蒙操作系统架构具有4个技术特性:


2.5 嵌入式数据库


与传统数据库相比,嵌入式数据库系统有以下几个主要特点:

按照数据库存储位置的不同而进行分类是目前广泛采用的分类方法,它可以分为三类

定义特点
基于内存的数据库MMDB基于内存的数据库系统是
实时系统和数据库系统的有机结合
内存数据库是支持实时事务的最佳技术,其本质
特征是以其”主拷贝”或”工作版本”常驻内存,即
活动事务只与实时内存数据库的内存拷贝打交道
基于文件的数据库FDB基于文件的数据库系统就是以文件
方式存储数据库数据,即数据按照
一定格式存储在磁盘中
,使用时由
应用程序通过相应的驱动程序
甚至直接对数据文件进行读写
这种数据库的访问方式是被动式的,只要
了解其文件格式,任何程序都可以直接读取,
因此它的安全性很低,虽然文件数据库存在
诸多弊端,但是,可以满足嵌入式系统在
空间、时间等方面的特殊要求
基于网络的数据库NDB基于网络的数据库系统是基于手机
4G/5G的移动通信基础之上
的数据库
系统,在逻辑上可以把嵌入式设备
看作远程服务器的一个客户端
嵌入式网络数据库系统的特点是:
无需解析SQL语句,支持更多的SQL操作,
客户端小、无需支持可剪裁性,有利于代码重用

第三章 计算机网络 2-5


考点:


3.1 计算机网络技术概述


3.1.1 网络指标

计算机网络性能指标可以从速率、带宽、吞吐量和时延等不同方面来度量计算机网络的性能

【时延】

时延是指数据(一个报文、分组甚至比特)从网络(或链路)的一端传送到另一端所需的时间,时延是个很重要的性能指标,它有时也称为延迟或迟延。网络中的时延由以下几个不同部分组成:发送时延、传播时延、处理时延、排队时延等

网络延迟 = 处理延迟 + 排队延迟 + 发送延迟 + 传播延迟。如果不考虑网络环境,服务器等延迟等主要因素是队列延迟和磁盘I/O延迟

网络分类

局域网是指在有限地理范围内将若干计算机通过传输介质互联成的计算机组(即通信网络),通过网络软件实现计算机之间的文件管理、应用软件共享、打印机共享、工作组内的日程安排、电子邮件和传真通信服务等功能。局域网是封闭型的

局域网专用性非常强,具有比较稳定和规范的拓扑结构。常见的局域网拓扑结构有星状结构、树状结构、总线结构和环形结构

特点缺点
星状结构网络中的每个结点设备都以中心结点为中心
通过连接线与中心结点相连,如果一个结点设备
需要传输数据,它首先必须通过中心结点
中心结点是控制中心,任意两个结点间的通信
最多只需两步;传输速度快、网络结构简单、
建网容易、便于控制和管理
可靠性低,网络共享能力差,并且
一旦中心结点出现故障则导致全网瘫痪
树状结构被称为分级的集中式网络;网络成本低,
结构简单;在网络中,任意两结点之间
不产生回路,每个链路都支持双向传输
结点扩充方便、灵活、方便寻查链路路径
除叶结点及其相连的链路外,任何一个
工作站或链路产生故障都会影响
整个网络系统的正常运行
总线结构网络是将各个结点设备和一根总线相连
网络中所有的结点设备都是通过
总线进行信息传输
的
作为数据通信必经的总线的负载
能力是有限度的
,这是由通信媒体本身的
物理性能决定的,它的故障
将影响总线上每个结点的通信
环形结构网络中各结点通过一条首尾相连的
通信链路连接起来,形成一个闭合环形
结构网
;网络中各结点设备的地位
相同,信息按照固定方向单向流动,
两个结点之间仅有一条通路
,系统中
无信道选择问题
网络不便于扩充,系统响应延时长,
且信息传输效率相对较低,
任一结点的故障将导致物理瘫痪
网状结构任何结点彼此之间均存在一条通信
链路
,任何结点**故障不会影响其他结点
**之间的通信(可靠性高)
网络布线较为繁琐,且建设成本高,
控制方法复杂

3.1.2 5G技术

5G网络的主要特征


3.2 组网技术


OSI七层模型:

层次 名称 主要功能 主要设备及协议
7 应用层 实现具体的应用功能 POP3、FTP、HTTP、Telnet、SMTP、DHCP、TFTP、SNMP、DNS
6 表示层 数据的格式与表达、加密、压缩
5 会话层 建立、管理和终止会话
4 传输层 端到端的连接 TCP、UDP
3 网络层 分组传输和路由选择 三层交换机、路由器、ARP、RARP、IP、ICMP、IGMP
2 数据链路层 传送以帧为单位的信息,以太网帧最小长度为64字节 网桥、交换机(多端口网桥)、网卡、PPTP、L2TP、SLIP、PPP
1 物理层 二进制传输 中继器、集线器(多端口中继器)

3.2.1 交换技术

数据在网络中转发通常离不开交换机,交换机的功能包括:集线功能、中继功能、桥接功能、隔离冲突域功能等

基本交换原理

交换机是一种基于MAC地址识别,能完成封装转发数据包功能的网络设备,交换机可以”学习”MAC地址,并把其存放在内部地址表中,通过在数据的始发者和目标接收者之间建立临时的交换路径,使数据直接由源地址到达目的地址

交换机的所有端口属于同一个广播域,不同端口属于不同的冲突域

集线器所有端口属于同一个冲突域

交换机需要实现的功能如下所述:


3.3 TCP/IP协议族


3.3.1 常规TCP/IP协议

TCP/IP模型 OSI七层模型
应用层 应用层
表示层
会话层
传输层 传输层
网际层 网络层
网络接口层 数据链路层
物理层

网际层是整个TCP/IP体系结构的关键部分,其功能是使主机可以把分组发往任何网络并使分组独立地传向目标

TCP和UDP

网络

TCP协议可以依据端口号将报文交付给上层的某一进程,可以对应用层进程进行寻址

3.3.2 DHCP

动态主机配置协议

客户机/服务器模型(C/S)

分配方式

无效地址:169.254.X.X 和 0.0.0.0

DHCP

租约默认为8天

当租约过半时,客户机需要向DHCP服务器申请续租

当租约超过87.5%时,如果仍然没有和当初提供IP的DHCP服务器联系上,则开始联系其他的DHCP服务器

3.3.3 DNS

域名系统

Linux系统中,DNS配置文件resolv.conf的关键字主要有四个,分别是:


3.4 网络规划与设计


3.4.1 网络冗余设计

在网络冗余设计中,对于通信线路常见的设计目标主要有两个:一个是备用路径,另一个是负载分担

备用路径

提高可用性,由路由器、交换机等设备之间的独立备用链路构成,一般情况下备用路径仅仅在主路径失效时投入使用,设计时主要考虑:

负载分担

是对备用路径方式的扩充,通过并行链路提供流量分担(冗余的形式)来提高性能,主要的实现方法是利用两个或多个网络接口和路径来同时传递流量,设计时注意考虑:


第四章 数据库系统 2-4


考点:


4.1 数据库概述


4.1.1 数据库模式

数据库模式

1、三级模式

2、两级映射关系分别保障了数据的独立性

3、聚簇索引

4.1.2 分布式数据库

数据库模式

分布性:数据在多个物理节点存放

副本:冗余提高,可用性、数据持久性

1、可用性

当某个结点故障 其他结点可用 系统整体仍然可以用

2、性能

多副本可以读,就近

3、自治性

4、共享性

透明性分类

分片

两阶段提交协议2PC


4.2 数据库设计阶段


4.2.1 E-R模型

E-R模型

2个实体集 之间的关系

1:1 班级,班长

1:* 班级,学生

*: * 学生,课程

4.2.2 概念结构设计

概念结构设计

​

4.2.3 逻辑结构设计

逻辑结构设计

候选键:唯一标识元组,且无冗余

主键:任选一个

外键:其他关系的主键


4.3 关系代数


并交差

1、关系代数的运算结果

2、笛卡尔积和自然连接的等价判断

3、关系代数与查询语句的关系

4、查询性能

关系模式的运算

水平:元组行/记录/实例

垂直:属性列

二元运算符

4.3.1 投影和选择[一元运算符]

投影和选择

投影[SELECT]:选择列

选择[WHERE]:选择行

SELECT ... 投影

FROM 表名

WHERE ...选择

4.3.2 笛卡尔积[二元运算符]

所有列保留,所有行全映射

笛卡尔积

运算对象、运算结果不要求同构

结果:列数是二者之和

同名属性列:表名.列名表示

用列序号表示属性名

4.3.3 自然连接[二元运算符]

自然连接

不要求同构

结果:

运算对象尽可能先压缩

理论上自然连接的性能优于笛卡尔积


4.4 规范化理论


1、 属性集合、函数依赖

2、公理体系

3、候选键的判断、主属性、非主属性的判断

4、规范化程度 范式

5、模式分解的判断

4.4.1 规范化理论基本概念

设R(U, F)是属性U上的一个关系模式,X和Y是U的子集,r为R的任一关系,如果对于r中的任意两个元组u、v,只要有u[X] = v[X],就有u[Y] = V[Y],则称X函数决定Y,或称Y函数依赖于X,记为X —> Y

学号 —> 系号 系号 —> 系名

函数依赖存在于属性之间

依赖

4.4.2 Armstrong公理

Armstrong公理

4.4.3 候选键

唯一标识元组,且无冗余,通过候选键可以直接或间接推出所有属性

可以有多个,可以是单属性也可以是多属性的集合

主属性与非主属性:组成候选码的属性就是主属性,其他的就是非主属性

主键:从候选键中选择一个 --- 实体完整性 主键唯一且非空

外键:其他关系的主键 --- 参照完整性 引用其他关系的主键

4.4.4 范式

范式

第一范式(1NF):在关系模式R中,当且仅当所有域只包含原子值,即每个属性都是不可再分的数据项,则称关系模式R是第一范式

第二范式(2NF):当且仅当实体E是第一范式(1NF),且每一个非主属性完全依赖主键(不存在部分依赖)时,则称实体E是第二范式

第三范式(3NF):当且仅当实体E是第二范式(2NF),且E中没有非主属性传递依赖于候选码时,则称实体E是第三范式

BC范式(BCNF):设R是一个关系模式,F是它的依赖集,R属于BCNF当且仅当其F中每个依赖的决定因素必定包含R的某个候选码

4.4.5 模式分解

设数据库模式ρ={R1, R2, …, Rk}是关系模式R的一个分解,F是R上的函数依赖集,ρ中每个模式Ri上的FD集是Fi,如果{F1, F2, …, Fk}与F是等价的(即相互逻辑蕴含),那么称分解ρ保持FD

有损:不能还原,无损:可以还原

无损连接分解:指将一个关系模式分解成若干个关系模式后,通过自然连接和投影等运算仍能还原到原来的关系模式

如果没有同名属性列 一定有损

例一、有关系模式R(A,B,C), F = {A -> B, B -> C}, 将其拆分为: R1(A, B), R2(B, C), 是否保持函数依赖

F1 = {A -> B} F2 = {B -> C}

F1并F2与原F一致,保持了函数依赖

例二、有关系模式R(A,B,C), F = {A -> B, B -> C, A -> C}, 将其拆分为: R1(A, B), R2(B, C), 是否保持函数依赖

F1 = {A -> B} F2 = {B -> C}

F1并F2与原F不一致,但是可以推导出 A -> C,保持函数依赖

例三、有关系模式R(A,B,C), F = {A -> B, B -> C, A -> C}, 将其拆分为: R1(A, B), R2(A, C), 是否保持函数依赖

F1 = {A -> B} F2 = {A -> C}

F1并F2与原F不一致,也无法推导出 B -> C,没有保持函数依赖

例四、有关系模式R(A,B,C,D,E), F = {A -> B, D -> E}, 将其拆分为: R1(A, B, C), R2(D, E), 是否保持函数依赖

保持函数依赖但是无法还原,即有损分解

模式分解

4.5 数据控制


数据控制功能包括:

4.5.1 安全性

措施说明
用户标识和鉴定最外层的安全保护措施,可以使用用户账户、口令及随机数检验等方式
存取控制对用户进行授权,包括操作类型(如查找、插入、删除、修改)等动作
和数据对象(主要是数据范围)的权限
密码存储和传输对远程终端信息用密码传输
视图的保护对视图进行授权
审计使用一个专用文件或数据库,自动将用户对数据库的所有操作记录下来

4.5.2 完整性

✅触发器

在某个数据对象上添加监听 出现变化 联动修改其他数据对象

4.5.3 并发控制

并发控制

4.5.4 故障恢复

冷备份:

热备份:

完全备份:备份所有数据

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

增量备份:备份上一次备份之后变化的数据

增量备份恢复速度慢,差量备份,文件会越来越大

如果全用增量,周一全备份,周五恢复,需要周2到周5四天的备份数据,链太长,任意一个丢失都会影响

如果只用差量备份,每天备份都要和周一全备份进行对比,到周五,差量几乎是一次完整备份了,空间开销太大

日志文件:事务日志是针对数据库改变所作的记录,它可以记录针对数据库的任何操作,并将记录结果保存在独立的文件中

周日周一周二周三周四周五周六
全备增备增备差备增备差备增备
故障关系故障原因解决方法
事务本身的可预期故障本身逻辑在程序中预先设置Rollback语句
事务本身的不可预期故障算术溢出、违反存储保护由DBMS的恢复子系统通过日志,
撤销事务对数据库的修改,
回退到事务初始状态
系统故障系统停止运转通常使用检查点法
介质故障外存被破坏一般使用日志重做业务

第五章 法律法规与标准化 3


考点:


第六章 数学与经济管理 0-1


考点:


第七章 专业英语 5



第八章 系统工程与信息系统基础 3-7


考点:


8.1 系统工程概念


系统工程是一种组织管理技术

系统工程是为了最好的实现系统的目的,对系统的组成要素、组织结构、信息流、控制机构进行分析研究的科学方法

系统工程从整体出发、从系统观念出发,以求**【整体最优】**

系统工程利用计算机作为工具,对系统结构、元素、信息和反馈等进行分析,以达到最优规划、最优设计、最优管理和最优控制的目的

系统工程方法是一种现代的科学决策方法

系统工程方法关键点
霍尔三维结构
”硬科学”方法论
逻辑维:逻辑维即解决问题的逻辑过程
时间维:时间维即是工程进程
知识维:知识维即是专业科学知识
应用场景:组织和管理大型工程建设项目
切克兰方法
”软科学”方法论
核心不是”最优化”,而是”比较”和”探寻”
7步骤:认识问题、根底定义、建立概念模型、比较及探寻、
选择、设计与实施、评估与反馈
并行工程方法“制造过程”与”支持过程”并行
强调三个方面:产品设计开发期间,最快速度按质完成
各项工作问题协调解决,适当的信息系统工具
综合集成法钱学森命名,【简单系统】和【巨系统】
四原则:整体论原则、相互联系原则、有序性原则、动态原则
WSR系统方法实践准则:【懂物理】-【明事理】-【通人理】

系统工程生命周期阶段

探索性研究 - 概念阶段 - 开发阶段 - 生产阶段 - 使用阶段 - 保障阶段 - 退役阶段

系统工程生命周期方法

计划驱动方法:需求 -> 设计 -> 构建 -> 测试 -> 部署

渐进迭代式开发:提供连续交付以达到期望的系统

精益开发:起源于丰田,是一个动态的、知识驱动的,以客户为中心的过程·

敏捷开发:更好的灵活性


8.2 信息系统


8.2.1 信息系统生命周期

产生阶段(立项阶段):提出建设信息的初步想法、对需求进行调研和分析

开发阶段:单个系统开发

运行阶段:通过验收、移交之后

消亡阶段:更新改造、功能扩展、报废重建

8.2.2 信息系统建设原则

8.2.3 信息系统开发方法

原型法【需求阶段】

其他信息系统开发方法

8.2.4 信息系统的分类

信息系统的分类关键点
业务处理系统【TPS】早期最初级的信息系统【20世纪50-60年代】
功能:数据输入、数据处理【批处理、OLTP】、数据库维护、文件报表产生
管理信息系统【MIS】高度集成化的人机信息系统
金字塔结构:分多个层级
决策支持系统【DSS】由语言系统、知识系统和问题处理系统组成
用于辅助决策、支持决策
专家系统【ES】知识 + 推理 = 专家系统,人工智能的一个重要分支
办公自动化系统【OAS】由计算机设备、办公设备、数据通信及网络设备、软件系统组成
企业资源计划【ERP】打通供应链,集成,整合

8.3 电子政务类型


电子政务主要有3类角色:政府(Government)、企事业单位(Business)及公民(Citizen)

如果有第四类 就是公务员(Employee)

类型应用
G2G基础信息的采集、处理和应用,如:人口信息、地理信息
及政府间:计划管理、财务管理、通信系统、各级政府决策支持
G2B政府给企业单位颁发【各种营业执照、许可证、合格证、质量认证】
B2G企业向政府缴税
企业向政府供应各种商品和服务【含竟/投标】
企业向政府提建议、申诉
G2C社区公安和水、火、天灾等与公共安全有关的信息
户口、各种证件和牌照的管理
C2G个人应向政府缴纳的各种税款和费用
个人向政府反馈民意**【征求群众意见】**
报警服务(盗贼、医疗、急救、火警等)
G2E政府内部管理系统

8.3.1 企业信息化与电子商务

信息化的概念

信息化的目的及涉及的三项创新

信息化需求的3个层次

组织对信息化的需求是**【组织信息化的原动力】**

企业信息化方法

信息系统战略规划方法

企业信息化与电子商务

企业信息化工程核心技术:【信息技术】【自动化技术】【现代管理技术】【制造技术】

数据挖掘

数据湖

数据湖是一个存储企业的各种各样原始数据的大型仓库,其中的数据可供存取、处理、分析和传输、

原始数据 -> 数据湖:【结构化数据】表哥数据 【非结构化数据】图片、视频、音频、文档等 -> 业务数据处理/数据分析处理

数据仓库仅支持数据分析处理,数据湖既支持数据分析处理,也支持事务处理

维度数据仓库数据湖
数据清洗过的数据
结构化的数据
原始数据
结构化、半结构化数据
模式数据存储之前定义数据模式
数据集成之前完成大量工作
数据的价值提取明确
数据存储之后定义数据模式
提供敏捷、简单的数据集成
数据的价值尚未明确
存取方法标准SQL接口应用程序、类SQL的程序
优势多数据源集成
干净、安全的数据
转换一次,多次使用
无限扩展性
并行执行
支持编程框架
数据经济

8.4 企业应用集成


EAI

系统未互联互通,存在【信息孤岛】,这种架构也被称为【烟囱架构】

对于如何划分和规范EAI层次的定义,业界并没有一个统一的标准

集成

企业门户

消息集成:数据量小,交互频繁,立即地,异步

共享数据库:交互频繁,立即地,同步

文件传输:数据量大,交互频度低,即时性要求低(月末、年末)

电子商务类型

电子商务主要有2类角色:企业及个人

B2B: 1688 C2C: 咸鱼 B2C: 京东、天猫 C2B: 个人给企业提供咨询服务 O2O(Online To Offline 线上对线下): 团购

数字化转型

【数字化】是新一代信息技术真正的实现推动整个【商业模式的变革】,推动产业链的重构,推动改进企业与消费者之间的关系,以及企业与合作伙伴之间的关系

智能制造体系

工业化和信息化融合


第九章 软件工程 17-22


考点:


9.1 软件过程模型


9.1.1 瀑布模型

瀑布模型

【特点】

【缺点】

9.1.2 原型模型

原型模型

原型模型两个阶段:

9.1.3 V模型

V模型

9.1.4 W模型

W模型

9.1.5 螺旋模型

螺旋模型

9.1.6 构件组装模型

构件组装模型

【优点】易扩展、易重用、降低成本、安排任务更灵活

【缺点】构件设计要求经验丰富的架构师、设计不好的构件难重用、强调重用可能牺牲其他指标(如性能)、第三方构件质量难控制


9.2 基于构件的软件工程【CBSE】


应该具备的特征

9.2.1 构件的组装

(一般都要借助胶水代码)

1、顺序组装:按顺序调用已经存在的构件,可以用两个已经存在的构件来创造一个新的构件

2、层次组装:被调用构件的”提供”接口必须和调用构件的”请求”接口兼容

3、叠加组装:多个构件合并形成新构件,新构件整合原构件的功能,对外提供新的接口

组装可能出现3种不兼容:参数不兼容、操作不兼容、操作不完备

9.2.2 快速应用开发模型(RAD)

SDLC(瀑布) + CBSD(基于构件) -> RAD

能够快速的原因:基于构件

9.2.3 统一过程(up)

初始:定义最终产品视图和业务模型,确定系统范围

细化:设计及确定系统架构,制定工作计划及资源要求

构造:开发剩余构件和应用程序功能,把这些构件集成为产品,并进行详细测试

移交:确保软件对最终用户是可用的,进行β测试,制作产品发布版本

统一过程

9.2.4 敏捷方法

敏捷方法 敏捷方法

9.3 逆向工程


逆向工程

与逆向工程相关的概念有重构、设计恢复、再工程和正向工程


9.4 净室软件工程


【缺点】


9.5 需求工程


9.5.1 需求开发

需求工程阶段划分

软件需求是指用户对系统在功能、行为、性能、设计约束等方面的期望

需求获取

方法特点
用户面谈1对1-3,有代表性的用户,了解主观想法,交互好
成本高,要有领域知识支撑
联合需求计划(JRP)高度组织的群体会议,各方参加,了解想法,消除分歧,交互好,成本高
问卷调查用户多,无法一一访谈,成本低
现场观察针对较为复杂的流程和操作
原型化方法通过简易系统方式解决早期需求不确定问题
头脑风暴法一群人围绕新业务,发散思维,不断产生新观点

需求分析

需求分析

UML

需求分析-UML 需求分析-UML

需求定义(形成需求规格)

严格定义法

原型法

需求确认与验证

需求验证 -> 需求评审& 需求测试 -> 正式评审 & 非正式评审

9.5.2 需求管理

需求跟踪

需求跟踪

需求变更管理过程

需求变更管理过程

软件系统建模

系统建模

9.6 系统分析与设计


9.6.1 界面设计

界面设计(黄金三法则)

1、置于用户控制之下

2、减少用户的记忆负担

3、保持界面的一致性

​

9.6.2 结构化设计

概要设计【外部设计】:功能需求分配给软件模块,确定每个模块的功能和调用关系,形成模块结构图

详细设计【内部设计】:为每个具体任务选择适当的技术手段和处理方法

结构化设计原则:

内聚

高内聚内聚类型描述
功能内聚完成一个单一功能,各个部分协同工作,缺一不可
顺序内聚处理元素相关,而且必须顺序执行
通信内聚所有处理元素集中在一个数据结构的区域上
过程内聚处理元素相关,而且必须按特定的次序执行
时间内聚(瞬时内聚)所包含的任务必须在同一时间间隔内执行
逻辑内聚完成逻辑上相关的一组任务
低内聚偶然内聚(巧合内聚)完成一组没有关系或关系松散的任务

耦合

低耦合耦合类型描述
非直接耦合两个模块之间没有直接关系,他们之间的联系完全
是通过主模块的控制和调用来实现的
数据耦合一组模块借助参数表传递简单数据
标记耦合一组模块通过参数表传递记录信息(数据结构)
控制耦合模块之间传递的信息中包含用于控制模块内部逻辑的信息
外部耦合一组模块都访问同一全局简单变量,而且不是通过参数表传递该全局变量的信息
公共耦合多个模块都访问同一个公共数据环境
高耦合内容耦合一个模块直接访问另一个模块的内部数据
一个模块不通过正常入口转到另一个模块的内部
两个模块有一部分程序代码重叠,一个模块有多个入口

模块四要素

9.6.3 面向对象设计

类的分类:

面向对象设计原则


9.7 软件测试


软件测试类型

白盒测试与黑盒测试

白盒测试【结构测试】:主要用于单元测试阶段

控制流测试【逻辑覆盖测试(语句覆盖最弱,路径测试覆盖最强)】

数据流测试

程序变异测试【错误驱动测试】

黑盒测试【功能测试】:主要用于集成测试、确认测试盒系统测试阶段

等价类划分:不同等价类,揭示不同问题,有效等价类/无效等价类

边界值分析:1 <= x <= 10,可取x的值为0、1、10和11作为测试数据

错误推测:依靠测试人员的经验和直觉

判定表:最适合描述在多个逻辑条件取值的组合所构成的复杂情况下,分别要执行哪些不同的动作

因果图:根据输入条件与输出结果之间的因果关系来设计测试用例

软件测试阶段

单元测试:依据【详细设计】,模块测试,模块功能、性能、接口等

集成测试:依据【概要设计】,模块间的接口

系统测试:依据【需求文档】,包括功能测试、性能测试、验收测试、压力测试等

其他测试描述
AB测试多版本同时使用,利于收集各版本的用户反馈,评估出最好版本
故也算是一种【网页优化方法】
Web测试Web系统测试与其他系统测试测试内容基本相同,只是测试重点不同
Web代码测试包括:源代码规则分析、链接测试、框架测试、表格测试、图形测试等方面
链接测试链接测试可分为3个方面:
1、测试所有链接是否按指示的那样确实链接到了该链接的页面
2、测试所链接的页面是否存在
3、保证Web应用系统上没有孤立的页面
表单测试验证服务器是否能正确保存这些数据,后台运行的程序能否正确解释和使用这些信息
测试提交操作的完整性
回归测试测试软件变更之后,变更部分的正确性和对变更需求的符合性

集成测试策略

集成测试策略

软件系统测试

1、功能测试

2、性能测试

3、健壮性测试

4、用户界面测试

5、安全性测试

6、安装与反安装测试


9.8 系统运行与软件维护


9.8.1 遗留系统与系统转换计划

遗留系统演化策略

遗留系统演化策略

新旧系统的转换策略

新旧系统的转换策略

数据转换与迁移

数据转换与迁移

9.8.2 软件维护

影响软件可维护的因素

【可理解性】是指通过阅读源代码和相关文档,了解软件的功能和如何运行的容易程度

【可修改性】是指修改软件的难易程度

【可测试性】是指验证软件程序正确的难易程度,可测试性好的软件,通常意味着软件设计简单、复杂性低,因为软件的复杂性越大,测试的难度也就越大

【可靠性】一个软件的可靠性越高,需要维护的概率就会越低

【可移植性】是指将软件从一个环境移植到新的环境下正确运行的难易程度,软件运行环境的变化是软件维护的一种常见情形,可移植性好的软件会降低维护的概率

软件维护类型


第十章 软件架构设计 17-25


考点:


10.1 软件架构的概念


架构的本质

1、软件架构为软件系统提供了一个结构、行为和属性的高级抽象

2、软件架构风格是特定领域的惯用模式,架构定义一个词汇表和一组约束

架构的作用

1、软件架构是项目干系人进行交流的手段

2、软件架构是可传递和可复用的模型,通过研究软件架构可能预测软件的质量

3、软件架构使推理和控制的更改更加简单,有助于循环渐进的原型设计,可以作为培训的基础

软件架构 = 软件体系结构

架构设计就是需求分配,即将满足需求的职责分配到组件上

10.1.1 软件架构设计与生命周期

架构描述语言ADL

ADL是这样一种形式化语言,它在底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体语法和概念框架

如Aesop、MetaH、C2、Rapide、SADL、Unicon等

ADL的三个基本元素

10.1.2 4 +1 视图

视角与视图

10.2 基于架构的软件开发


10.2.1 概念

10.2.2 开发过程

ABSD能很好的**【支持软件重用】**

ABSD方法是一个自顶向下,递归细化的方法

软件系统的体系结构通过该方法得到细化,直到能产生软件构件和类

flowchart TD
    InputData[架构需求] --> Input1Data[架构设计]
    Input1Data[架构设计] --> Input2Data[架构文档化]
    Input2Data[架构文档化] --> Input3Data[架构复审]
    Input3Data[架构复审] --> Input4Data[架构实现]
    Input4Data[架构实现] --> Input5Data[架构演化]
    Input5Data[架构演化] --> |0:M| InputData[架构需求]
    Input3Data[架构复审] --> |0:N| Input1Data[架构设计]
开发过程

架构文档化过程的主要输出结果是架构规格说明和测试架构需求的质量设计说明书这两个文档

文档的完整性和质量是软件架构成功的关键因素

关于文档的三大注意事项

架构复审【架构评估】的目的是标识潜在的风险,及早发现架构设计中的缺陷和错误

开发过程

10.3 软件架构风格


架构风格定义了用于描述系统的术语表和一组指导构建系统的规则

五大架构风格子风格
数据流风格【Data Flow】批处理【Batch Sequential】、管道-过滤器【Pipes and Filters】
调用/返回风格【Call/Return】主程序/子程序【Main Program and Subroutine】
面向对象【Object-oriented】、分层结构【Layered System】
独立构件风格【Independent Components】进程通信【Communicating Processes】
事件驱动系统(隐式调用)【Event system】
虚拟机风格【Virtual Machine】解释器【Interpreter】、规则系统【Rule-based System】
以数据为中心【Data-centered】数据库系统【Database System】、黑板系统【Blackboard System】
超文本系统【Hypertext System】

1、数据流风格

数据 ---> 第一步处理 ---> 数据 ---> 第二步处理 ---> 数据 ---> 第N步处理 ---> 数据

分步处理

前一步的处理结果是后一步的输入内容【数据驱动】

优点:

缺点:

典型实例:

数据流风格

2、调用/返回风格

主函数调用子函数,子函数返回执行结果给主函数

3、独立构件风格

优点:

缺点:

特点:

独立构件风格

4、虚拟机风格

虚拟机风格

解释器 和 规则为中心

优点:可以灵活应对自定义场景

缺点:复杂度较高

特点:在解释器的基础上增加经验规则(规则为中心)

适合领域:

虚拟机风格

基于规则的系统构成:规则集、规则解释器、规则/数据选择及工作内存,一般用在人工智能领域和DSS(决策支持系统)中

虚拟机风格

5、以数据为中心

以数据为中心

数据库系统

特点:以数据为中心

黑板系统

优点:可更改性和可维护性,可重用的知识源,容错性和健壮性

缺点:测试困难,不能保证有好的解决方案,难以建立好的控制策略,低效,开发困难,缺少并行机制

特点:在以数据为中心的基础上,使用中心数据触发业务逻辑部件

典型案例:语音识别,模式识别,图像处理,知识推理

6、闭环控制架构(过程控制)

闭环控制架构(过程控制)

7、C2风格

C2风格

C2架构的基本规则:

8、MDA

Model Driven Architecture

MDA的主要目标:

Portability(可移植性),Interoperability(互通性),Reusability(可重用性)

MDA的核心模型

MDA

软件架构复用

【软件复用】是一种系统化的软件开发过程,通过识别、分析、分类、获取和修改软件实体,以便在不同软件开发过程中重复使用它们

软件开发过程中重复使用相同或相似【软件元素】的过程

软件架构复用

软件架构复用类型


10.4 特定领域软件架构


10.4.1 基本概念

特定领域软件架构以一个特定问题领域为对象,形成由领域参考、参考需求、参考架构等组成的开发基础架构,支持一个特定领域中多个应用的生成

DSSA基本活动及产出物

DSSA

DSSA类型

参与人员

建立过程

建立过程

三层次模型

三层次模型

10.5 软件架构评估


10.6.1 质量属性

1、性能

性能是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理的事件的个数

例如:

性能战术

2、可用性

可用性是系统能够正常运行的时间比例,经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示

例如:

可用性战术

3、安全性

安全性是指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。安全性又可划分为**机密性【信息不泄露给未授权的用户】、完整性【防止信息被篡改】、不可否认性【不可抵赖】及可控性【对信息的传播及内容具有控制的能力】**等特性

例如:

安全性战术

4、可修改性

可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力。通常以某些具体的变更为基准,通过考察这些变更的代价衡量可修改性

可修改性包含4个方面:可维护性、可扩展性、结构重组、可移植性

例如:

可修改性战术

5、易用性

易用性关注的是对用户来说完成某个期望任务的容易程度和系统所提供的用户支持的种类

例如:

6、可测试性

软件可测试性是指通过测试揭示软件缺陷的容易程度

例如:

敏感点:是一个或多个构件(和/或构件之间的关系)的特性,它能影响系统的某个质量属性

权衡点:是影响多个质量属性的特性,是多个质量属性的敏感点

风险点:是指架构设计中潜在的、存在问题的架构决策所带来的隐患

非风险点:是指不会带来隐患,一般以”XXX要求是可以实现(或接受)的”方式表达

10.6.2 架构评估方法

1、基于调查问卷(检查表)的方式

2、基于度量的方式

3、基于场景的方式

架构评估方法

【场景】是从风险承担者的角度与系统交互的简短描述

场景可从六个方面进行描述:刺激源、刺激、制品、环境、响应、响应变量

质量属性场景六个构成部分

【刺激源(Source)】这是某个生成该刺激的实体(人、计算机系统或者任何其他刺激器)

【刺激(Stimulus)】该刺激是当刺激到达系统时需要考虑的条件

【环境(Environment)】该刺激在某些条件内发生。当激励发生时,系统可能处于过载、运行或者其他情况

【制品(Artifact)】某个制品被激励,这可能是整个系统(或系统的一部分)

【响应(Response)】该响应是在激励到达后所采取的行动

【响应度量(Measurement)】当响应发生时,应当能够以某种方式对其进行度量,以对需求进行测试

**【软件架构分析法(SAAM)】**最初关注可修改性,后扩充到可移植性、可扩充性等。

**【架构权衡分析法(ATAM)】**由SAAM发展而来,主要针对:性能、实用性、安全性、可修改性。

【成本效益分析法(CBAM)】在ATAM基础上建立的,软件的”经济”模型。


10.6 软件产品线


软件产品线

10.7 构件与中间件技术


10.7.1 概念

构件的定义

1、软件构件是一种组装单元,它具有规范的接口规约和显式的语境依赖,软件构件可以被独立地部署并由第三方任意地组装

2、构件是某系统中有价值的、几乎独立的并可替换的一个部分,它在良好定义的体系结构语境内满足某清晰的功能

3、构件是一个独立发布的功能部分,可以通过其接口访问它的服务

模块的特性:结构化开发的产物

对象的特性:

构件的特性:

10.7.2 构件的复用

一、检索与提取:

1、基于关键字的检索

2、刻面检索法

3、超文本检索法

二、理解与评价构件:

三、修改构件

四、组装构件

1、组装的三种方式

2、构件组装失配问题

10.7.3 构件的分类

从构件的外部形态看,构件可分为5类

10.7.4 中间件

中间件是一类构件

中间件是一类系统构件

简化结构、屏蔽差异、利于复用

采用中间件技术的优点

中间件分类特点
通信处理消息中间件可靠、高效、实时跨平台通信、eLink、MQSeries
事务处理交易中间件事务分发,负载均衡,Tuxedo
数据存储管理中间件为虚拟缓冲存取、格式转换、解压等带来方便
Web服务器中间件有负载均衡、缓存、安全性等功能
安全中间件如:加密、认证
跨平台和架构的中间件解决跨平台问题,如:CORBA
专用平台中间件为特定应用领域设计领域参考模式,建立相应架构
网络中间件功能包括网管、接入、网络测试、虚拟社区和虚拟缓冲等

10.7.5 构件标准

三大构件标准

一、CORBA

CORBA

伺服对象(Servant):CORBA对象的真正实现,负责完成客户端请求

对象适配器(Object Adapter):用于屏蔽ORB内核的实现细节,为服务器对象的实现者提供抽象接口,以便他们使用ORB内部的某些功能

对象请求处理(Object Request Broker):解释调用并负责查找实现该请求的对象,将参数传给找到的对象,并调用方法返回结果。客户方不需要了解服务对象的位置、通信方式、实现、激活或存储机制

二、J2EE(EJB)

三、DNA 2000


第十一章 系统可靠性分析与设计 0-3


考点:


11.1 可靠性相关基本概念


软件可靠性 ≠ 硬件可靠性


11.2 可靠性分析与设计


11.2.1 可靠性指标

可靠性指标

11.2.2 串联系统与并联系统

串联系统与并联系统

混合系统

混合系统

11.2.3 可靠性设计

影响软件可靠性的主要因素

可靠性设计

N版本程序设计

N版本程序设计

恢复块方法

恢复块方法
恢复块方法N版本程序设计
硬件运行环境单机多机
错误检测方法验证测试程序表决
恢复策略后向恢复前向恢复
实时性差好

防卫式程序设计

双机容错

双机容错

双机模式是集群的前身


第十二章 系统安全性与保密性设计 5-7


考点:


12.1 信息安全基础


名称说明
机密性机密性是指网络信息不泄露给非授权的用户、实体或程序,能够防止非授权者获取信息
完整性完整性是指网络信息或系统未经授权不能进行更改的特性
可用性可用性是指合法许可的用户能够及时获取网络信息或服务的特性
可控性可控性是指可以控制授权范围内的信息流向及行为方式
可审查性可审查性是指对出现的信息安全问题提供调查的依据和手段

信息安全的范围包括信息安全、数据安全、内容安全和行为安全

网络安全隐患主要表现形式如下:

1、物理安全性

2、软件安全漏洞

3、不兼容使用安全漏洞

4、选择合适的安全哲理

网络安全威胁主要表现形式如下:

1、非授权访问

2、信息泄露或丢失

3、破坏数据完整性

4、拒绝服务攻击

5、利用网络传播病毒

安全措施的目标如下:

1、访问控制

2、认证

3、完整性

4、审计

5、保密


12.2 信息加解密技术


【对称加密】

加密解密用同一个密钥

【非对称加密】

加密用公钥,解密用私钥

任何人的【私钥】只有自己拥有

任何人的【公钥】可以明文公开发送

对称加密算法【共享密钥】非对称加密算法【公开密钥】
【用途】对消息明文进行加密传送【用途】对密钥加密,做数字签名
1、DES:替换 + 移位、56位密钥、64位数据块、速度块、密钥易产生
2、3DES(三重DES)
密钥长度112【两个56位的密钥K1、K2】
加密:K1加密 -> K2解密 -> K1加密
解密:K1解密 -> K2加密 -> K1解密
3、IDEA:128位密钥、64位明文/密文、PGP
4、其他对称加密算法:RC-5、AES
1、RSA:2048位(或1024位)密钥
2、Elgamal:安全性依赖于计算在有限域上离散对数这一难题
3、ECC:椭圆曲线算法
4、Diffie-Hellman

12.3 密钥管理技术


数字证书内容

PKI公钥体系

flowchart TD
    InputData[密钥管理中心] --> Input1Data[CA]
    Input1Data[CA] --> Input2Data[RA]
    Input1Data[CA] --> Input3Data[RA]
    Input2Data[RA] --> Input4Data[受理点]
    Input2Data[RA] --> Input5Data[受理点]
    Input3Data[RA] --> Input6Data[受理点]
    Input3Data[RA] --> Input7Data[受理点]
密钥管理

12.4 数字签名技术


信息摘要:单向散列函数【不可逆】、固定长度的散列值

摘要用途:确保信息**【完整性】防篡改**

常用的信息摘要算法有MD5、SHA等,市场上广泛使用的MD5、SHA算法的散列值分别为128和160位,由于SHA通常采用的密钥长度较长,因此安全性高于MD5

抗弱碰撞性

数字签名技术

生成消息摘要的目的是防止篡改,对摘要进行加密的目的是防止抵赖


12.5 访问控制技术


访问控制的基本模型

访问控制的目标有两个:

访问控制的三要素:

访问控制的实现技术

访问控制矩阵(ACM):矩阵中的每一格表示所在行的主体对所在列的客体的访问授权

file1file2file3
User1rwrw
User2rrwxx
User3xr

访问控制列表:访问控制矩阵按列分解,具体如下

flowchart LR
    InputData[file1] --> InputData1[User1 <br> r,w]
    InputData1[User1 <br> r,w] --> InputData2[User2 <br> r]
    InputData2[User2 <br> r] --> InputData3[User3 <br> x]

能力表:访问控制矩阵按行分解,具体如下

flowchart LR
    InputData[User1] --> InputData1[file <br> r,w]
    InputData1[file <br> r,w] --> InputData2[file3 <br> r,w]

授权关系表:对应访问矩阵中每一个非空元素的实现技术,像安全数据库系统通常用授权关系表来实现其访问控制安全机制


12.6 国产密码算法


算法名称算法特性描述备注
SM1对称加密,分组长度和密钥长度都为128bt广泛应用于电子政务、电子商务及国民经济的各个应用领域
SM2非对称加密,用于公钥加密算法、密钥交换协议、数字签名算法国家标准推荐使用素数域256位椭圆曲线
SM3杂凑算法,杂凑值长度为256bt适用于商用密码应用中的数字签名和验证
SM4对称加密,分组长度和密钥长度都为128bt适用于无线局域网产品
SM9标识密码算法不需要申请数字证书,适用于互联网应用的各种新兴应用的安全保障
练习题

12.7 信息安全的保障体系


计算机信息系统安全保护等级

公民、法人和其他组织权益社会秩序和公共利益国家安全
用户自主保护级损害
系统审计保护级严重损害损害
安全标记保护级严重损害损害
结构化保护级严重损害
访问验证保护级特别严重损害

#笔记