系统架构师笔记
2025-05-21 15:35:29 0 举报
系统架构师笔记
作者其他创作
大纲/内容
综合知识
计算机与操作系统
计算机基础知识
计算机硬件
硬件构成
内部总线(计算机主板内部)
分类方式
功能
数据总线:在CPU与RAM之间来回传送需要处理或是需要储存的数据
地址总线:用来传输在RAM之中储存的数据的地址,地址总线的位数决定了CPU可直接寻址的内存空间大小
控制总线:将微处理器控制单元的控制信号和时序信号,传送到周边设备
扩展总线:外部设备和计算机主机进行数据通信的总线
局部总线:取代更高速数据传输的扩展总线
数据传输方式
并行总线:多条传输线同时传输,快,结构复杂
串行总线:一条传输线按时间先后传输,慢,结构简单,分半双工和全双工,数据正确性依赖校验和重传,数据发送是以查询和中断的方式进行
总线的带宽=总线的工作频率*总线的位宽/8
外部总线指缆线和连接器系统,计算机的外部设备连接线路
输入、输出设备
运算器、控制器
CPU
功能:程序控制,操作控制,时间控制,数据处理
组成:运算器、控制器,寄存器,内部总线
运算器
算术逻辑单元,累加寄存器,数据缓冲寄存器,状态条件寄存器
控制器
指令寄存器,程序计数器,地址寄存器,指令译码器
寄存器
内部总线
校验码
码距
在两个编码中,从A码转换成B码所需要改变的位数
奇偶校验
在编码的二进制数中增加1位校验位来使得编码中1的个数变为奇数或者偶数,从而使码距变为2,奇偶校验只能检查出1位出现错误,并且无法纠错
CRC循环冗余校验码
只能检错,不能纠错;数据传输双方需要使用相同的生成多项式
指令系统
指令:操作码和操作数(地址码)组成;操作码是需要完成的操作,操作数是需要操作的数据和对应的单元地址;执行过程是取指令+分析指令+执行指令
指令寻址方式:如何找下一条
顺序寻址:程序计数器一条条顺序执行
跳跃寻址:不是由程序计数器给出,有本条指令直接给出
操作数寻址方式
立即寻址:指令的地址码放的不是地址,而是放的操作数本身
直接寻址:指令地址码中放的是操作数在主存中的地址
间接寻址:指令地址码所指向的存储单元中存储的是操作数的地址
寄存器寻址:地址码是寄存器的编号
指令集
复杂指令集(CISC):兼容性强,指令繁多,长度可变,由微程序控制;支持多种寻址方式,研发周期长
微程序一般由硬件直接执行
精简指令集(RISC):等长指令,指令少,使用频率接近,主要依靠硬件实现(通用寄存器,硬布线逻辑控制),支持的寻址方式少,适合流水线,有效支持高级语言
RISC指令流水线
原理:将指令分为不同的段,每段由不同的部分去处理
超流水线:细化流水来增加级数,或者提高主频;将指令拆解为更多段,同时执行,时间换空间
超标量:多条硬件流水线同时处理,空间换时间
超长指令字:充分发挥软件的作用,提高性能
流水线时间
周期:指令分成不同执行段,执行最长的段为流水线周期
执行时间:一条指令总执行时间+(总指令条数-1)*流水线周期
吞吐率:指令条数/执行时间
加速比:不使用流水线执行时间/使用流水线的执行时间
存储系统
计算机采用分级存储体系来解决存储容量,成本和速度之间的矛盾
两级存储:Cache(寄存器,高速缓存)-主存(内存);主存-辅存(虚拟存储体系)
高速缓存:最活跃的程序和数据,直接与cpu交互,位于cpu和主存之间,速度是主存的5-10倍,存储的是主存内容的拷贝;
由控制部分和存储器组成;控制器的作用是判断CPU需要访问的数据是否存储在Cache中,不存在则使用特定替换算法从主存中替换
由控制部分和存储器组成;控制器的作用是判断CPU需要访问的数据是否存储在Cache中,不存在则使用特定替换算法从主存中替换
替换算法:目标是尽可能高的命中率
随机
先进先出
最少使用
优化替换:先统计cache替换的情况,然后再替换
CPU访问Cache命中率和平均时间
命中率*读取缓存时间+(1-命中率)*读取主存的时间
地址映射:cpu送出的地址是主存的地址,但是cpu是和Cache进行数据读写的,所以需要将主存地址转换为Cache存储器的地址。地址转换由硬件自动完成映射
直接映射:Cache块与主存块的编号相同才能命中。
全相连映射:Cache中任意块都与主存中任意块对应,可以随意调入cache,但是地址变化复杂,速度较慢;最不容易发生块冲突
组间相连映射:将Cache先分组,再分块,主存通用也是。组间采用直接映射(组号相同),组内采用全相连映射(组内所有块任意调换)
局部性原理:CPU运行的时候,所访问的数据会趋向于一个较小的局部空间地址内
时间局部:相邻时间内会访问同一项数据(下次可能会再次访问)
空间局部:相邻的空间地址会被连续访问(相邻地址的数据可能被访问)
磁盘
结构
磁盘正反两个盘面,每个盘面可以分为多个同心圆磁道,每个磁道可以分为多个扇区,数据就存放在扇区中;读写数据的时候,首先磁头要寻找到对应的磁道,等待磁盘进行周期旋转,旋转到指定的扇区,就可以读写对应的数据。
参数
寻道时间:磁头移动到磁道所需要的时间
等待时间:等待需要读写的扇区旋转到磁头下发的事件
存取时间:寻道时间+等待时间
转速
调度算法:针对寻道时间
先来先服务:根据进程请求访问磁盘的先后顺序进行调度
最短寻道时间:访问磁道离当前磁道最近的进程先进行调度,存在离得远的永远无法访问饥饿现象
扫描算法(电梯算法):选择离当前磁道最近的请求访问的磁道,并且移动方向一致,该方向的移动完再掉头
单项扫描调度算法:只做单向移动
磁盘阵列的容量计算Raid5(n-1), Raid6(n-2)
外设输入输出技术
编制方法:内存与接口地址
独立编址:完全独立的地址空间
统一编址:统一存储在一个公共的地址空间
数据交互方式
程序控制方式:CPU直接查询外设是否完成数据传输,效率极低
程序中断方式:外设完成数据传输后向CPU发送中断,等待CPU处理数据,效率相对较高,
CPU响应程序中断方式的请求是在指令执行结束之后
CPU响应程序中断方式的请求是在指令执行结束之后
中断类型
信号中断:外部设备或者定时器发出,与用户程序发起的系统调用无关
溢出中断:发生在程序执行过程中的算术溢出,非主动系统调用
访管中断:应用程序使用特权指令触发,府邸是请求操作系统服务(系统调用)
外部中断:有硬件设备(鼠标、键盘等)触发,不涉及用户程序的特权指令
中断参数
中断响应时间:从发出中断请求到开始进入中断程序
中断处理时间:中断处理开始到中断处理结束
中断向量:提供中断服务程序的入口地址,中断信号的断点信息存储在栈中
DMA(直接主存存取方式):cpu只需要完成必要的初始化操作,数据传输由DMA控制器完成,在主存和外设之间建立直接的数据通道;CPU在一个总线周期结束后才会响应DMA的中断请求
总线:设备之间传输信息的公共通道,由总线上的所有设备共享
内部总线:芯片与处理器之间的总线
系统总线:板级总线,用于计算机内部各个部分的链接
数据总线:并行数据传输位数;64位,32位等
地址总线:系统可管理的内存空间的大小
控制总线:传输控制命令
外部总线:设备一级的总线,危机和外部设备的总线,usb等
计算机网络
网络基础知识
磁盘冗余阵列技术RAID,提高访问速度,保障数据安全
RAID0,无备份
RAID1,50%备份
RAID2,分布在不同的硬盘上,海明码校验
RAID5,奇偶校验
网络地址翻译NAT
将局域网的地址集合映射到能够访问英特网少量ip地址集合的过程
默认网关
默认网关的网络号必须和本级ip地址网络号一致,在一个网段
虚拟局域网VLAN
一组逻辑上的设备和用户,人为划分的局域网,使用路由器进行通信,
虚拟专用网VPN
共用网络上建立专业网络的技术
ppp安全认证
冲突域和广播域
管理距离
管理距离是指一种路由协议的路由可信度。每一种路由协议按可靠性从高到低,依次分配一个信任等级,这个信任等级就叫管理距离。
管理距离越小,它的优先级就越高,也就是可信度越高。
0是最可信赖的,而255则意味着不会有业务量通过这个路由。
网闸
网闸是使用带有多种控制功能的固态开关读写介质连接两个独立主机系统的信息安全设备。由于物理隔离网闸所连接的两个独立主机系统之间,不存在通信的物理连接、逻辑连接、信息传输命令、信息传输协议,不存在依据协议的信息包转发,只有数据文件的无协议摆渡,且对固态存储介质只有读和写两个命令。所以,物理隔离网闻从物理上隔离、呾断了具有潜在攻击可能的一切连接,使黑客无法入侵、无法攻击、无法破坏,实现了真正的安全。
交换机
交换机主要用来实现多个局域网的互联,是在网络层上实现多个网络互联的设备。
但是交换机工作在数据链路层
但是交换机工作在数据链路层
域名服务器
可提供域名服务的包括本地缓存,本地域名服务器,权限域名服务器、顶级域名服务器以及根域名服务器
DNS主机名解析的查找顺序是先查找客户端本地缓存,如果没有成功,则向DNS服务器发出解析请求。
根域名服务器是最高层次的域名服务器,每一个根城名服务器都要存有所有顶级域名服务器的P地址和域名。
功能
数据通信
资源共享
管理集中化
实现分布式处理
负载均衡
指标
性能指标
速率
带宽:频带宽度或者传送线路速率
吞吐率
延时
往返时间
利用率
非性能指标
可靠性
可拓展
可维护
易管理
分类
分布范围
局域网
城域网
广域网
拓扑结构
总线型:利用率低,干扰大,价格低
星型:交换机或者中央单元负荷大
环型:固定方向流动,效率低,扩充难
树型:总线型的扩充,分级结构
分布式:任一节点连接,管理难,成本高
传输介质
电信号
双绞线
无屏蔽双绞线UTP
屏蔽双绞线STP
光信号
多模光纤
纤芯半径较大,采用LED二极管做光源,同时传输多种信号,短距离传输
单模光纤
纤芯半径较小,只能传输一种信号,采用激光二极管做光源,成本高,传输远,可靠性高
通信技术
定义:将数据从一个节点传输到另一个节点所使用的技术
传输过程
传输信号
信道
物理信道
有线信道
无线信道
逻辑信道:物理信道的载体和抽象
处理信号
发信机
信源编码
信道编码
交织
脉冲形成
调制
收信机
解调
采样判决
去交织
信道译码
信源译码
5G
网络协议
局域网
有线以太网协议IEEE802.3,无线以太网协议IEEE802.11
广域网
三要素
语法:规定传输的数据格式
语义:规定所要完成的功能
时序:各个操作的条件,顺序关系
OSI七层模型
物理层
中继器,集线器
比特
数据链路层:操作mac
交换器,网桥
帧
网络层
路由器
IP分组(IP,RARP,ARP,ICMP,IGMP)
IP网络层最重要的核心协议,在源地址和目的地址之间传送数据报,无连接、不可靠。
ICMP:因特网控制报文协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。
ARP和RARP:地址解析协议,ARP是将IP地址转换为物理地址,RARP是将物理地址转换为IP地址
IGMP:网络组管理协议,允许因特网中的计算机参加多播,是计算机用做向相邻多目路由器报告多目组成员的协议,支持组播。
传输层
网关
报文段(TCP,UDP)
会话层
网关
表示层
网关
应用层
网关
数据(Telent,FTP,SMTP,POP3,DNS,DHCP)
应用层协议:基于TCP的FTP、HTTP等都是可靠传输。基于UDP的DHCP、DNS等都是不可靠传输。
FTP:可靠的文件传输协议,用于因特网上的控制文件的双向传输。
TFTP:不可靠的、开销不大的小文件传输协议。
HTTP:超文本传输协议,用于从WWW服务器传输超文本到本地浏览器的传输协议。使用SSL加密后的安全网页协议为HTTPS。
SMTP和POP3:简单邮件传输协议,是一组用于由源地址到目的地址传送邮件的规则,邮件报文采用ASCII格式表示。
TeInet:远程连接协议,是因特网远程登录服务的标准协议和主要方式。
SNMP:简单网络管理协议,由一组网络管理的标准协议,包含一个应用层协议、数据库模型和一组资源对象。该协议能够支持网络管理系统,泳衣监测连接到网络上的设备是否有任何引起管理师行关注的情况。
DHCP:动态主机配置协议,基于UDP,基于C/S模型,为主机动态分配IP地址,有三种方式:固定分配、动态分配、自动分配。
DNS:域名解析协议,通过域名解析出IP地址。
四层模型
交换技术
交换机功能
集线
中继
桥接
隔离冲突域
路由器技术
功能
异种网络互联
子网协议转换
数据路由
速率适配
隔绝网络
报文分配和重组
备份与流量控制
通信方式
通信方向
单工:只能设备a向设备b发送数据
半双工:设备a和设备B可以相互通信,但是同一时刻只能单向通信
全双工:任意时刻双向通信
交换方式
电路交换:呼叫后建立专用电路,面向链接,实时性高,链路利用率低
报文交换:以报文为单位,存储转发模式,有延时,可靠性高,面向无连接
分组交换:以分组为单位,存储转发模式,分组是比报文更小的单位,延时更小
数据报:各个分组携带地址信息,自由的选择不同的路由选择
虚电路
信元交换
IPV4地址
32位二进制代码,每隔8为插入一个空格,采用点分十进制,每8位转换成十进制,每个十进制的取值范围0-255,变成4个十进制
分类编址,网络号位数不同
32位ip地址分为网络号和主机号,依据网络号位数不同,可以对其进行分类,网络号相同的属于同一个网段
无分类编址
自定义规定网络号,格式:ip地址/网络号
特殊ip
子网划分:自定义网络号位数
子网ip
构成:网络号+子网号(向主机号借位作为子网号)+主机号,主机号不能全0和全1,主机数需要-2
子网掩码:网络号,子网号都为1,主机号都为0
超网汇聚:向网络号借位作为主机号
IPV6地址
特性
长度128位,比ipv4扩大了2的96次方倍
简化报文头格式
提高安全性
支持更多的服务类型
允许协议演变
IPV4和IPv6过渡技术
双协议栈
隧道技术
翻译技术
网络规划与设计
网络系统生命周期可以划分为5个阶段,实施这5个阶段的合理顺序是需求规范、通信规范、逻辑网络
设计、物理网络设计、实施阶段。
设计、物理网络设计、实施阶段。
逻辑模型
利用需求分析和现有网络体系分析的结果来设计逻辑网络结构,最后得到一份逻辑网络设计文档,输出内容包括以下几点.
1、逻辑网络设计图
2、|P地址方案
3、安全方案
4、招聘和培训网络员工的具体说明
5、对软硬件、服务、员工和培训的费用初步估计
1、逻辑网络设计图
2、|P地址方案
3、安全方案
4、招聘和培训网络员工的具体说明
5、对软硬件、服务、员工和培训的费用初步估计
分层
核心层:只负责高速的数据转发
汇聚层:链接介入层,实施与安全,流量,负载,和路由相关的策略
接入层:解决用户访问需要,收集用户信息和管理工作
物理模型
结构化布线系统(建筑物综合布线系统)
工作区子系统
水平布线子系统
设备间子系统
垂直干线子系统
管理子系统
建筑群子系统
物理网络设计是对逻辑网络设计的物理实现,通过对设备的具体物理分布、运行环境等确定,确保网络的物理连接符合逻辑连接的要求。输出如下
内容:
1、网络物理结构图和布线方案
2、设备和部件的详细列表清单
3、软硬件和安装费用的估算
4、安装日程表,详细说明服务的时间以及期限
5、安装后的测试计划
6、用户的培训计划
内容:
1、网络物理结构图和布线方案
2、设备和部件的详细列表清单
3、软硬件和安装费用的估算
4、安装日程表,详细说明服务的时间以及期限
5、安装后的测试计划
6、用户的培训计划
网络存储
直接附加存储DAS
传输距离,链接数量,传输速率都有限制。
网络附加存储NAS
通过网络接口访问,进行小文件级别的共享存取,支持即插即用
存储区域网SAN
通过交换机将磁盘阵列与服务器练级起来的高速专业子网
计算机语言
由指令组成
表达式:变量,常量,字面量,运算符
流程控制:分支,循环,函数和异常
集合:字符串,数组,散列表等数据结构
分类
机器语言:二进制代码串
构成
操作码
操作数地址
操作结果存储地址
下一条指令的地址
指令格式
三地址:两个操作数+1个结果地址
二地址:1个操作数+1个结果地址
单地址:1个操作数+固定寄存器
零地址:堆栈顶指示操作数和结果地址
可变地址书指令(0-6个)
汇编
构成:英文字母和字符串来代替一个特定指令的二进制串,面向机器编程,需要汇编程序将汇编语言翻译成机器语言
语句:
指令:汇编后直接产生机器代码
伪指令:汇编源程序时完成的操作,不产生机器代码
宏指令:多次重复使用的程序段,宏的引用
格式
名字
操作符
操作数
注释
高级语言
C,C++,java,VB,python,C#,客户端脚本包括VbScript和JavaScript.
建模语言
统一建模语言UML
一种可视化的建模语音,支持从需求分析开始的软件开发的全过程
结构包括构造块,规则,公共机制
构造块
事务
结构事务:模型静态部分
行为事务:动态部分
分组事务:组织部分
注释事务:解释部分
关系
依赖:依赖是两个事物间的语义关系,其中一个事物(独立事物)发生变化会影响另一个事物(依赖事物)的语义
关联:描述整体与部分间的结构关系
组合:生命周期相同
聚合:生命周期不同
泛化:一般和特殊的关系,特殊元素的对象可替代一般元素的对象;子类和父类之间的关系
实现:接口和实现的关系
图
静态图(结构图):类,对象,构件,部署
类图:静态设计视图,展现对象,接口,协作和他们之间的关系
对象图:类图的快照
构件图:展现构件间的组织和依赖
供接口
需接口
部署图:物理模块的节点分布
动态图(行为图):时序,状态,活动,通信
用例图:展示用例,参与者和他们之间的关系
扩展
泛化
包含
序列图(时序图):以时间顺序组织对象之间的交互活动
同步消息:从左到右实心箭头
异步消息:从左到右空心箭头
返回消息:从右到左,虚线
通信图:强调参与交互的对象组织
状态图:单个对象在多个用例中的行为,通过事件触发器来完成状态转换
活动图:在系统中一个活动到另一个活动的流程
并发分叉
并发汇合
监护表达式
分支
流
规则:构造块如何放到一起
公共机制:达到特定目标的公共UML方法
4+1视图
逻辑视图:逻辑视图也称为设计视图,它表示了设计模型中在架构方面具有重要意义的部分,即类、子系统、包和用例实现的子集
实现(开发)视图:实现视图对组成基于系统的物理代码的文件和构件进行建模。
进程视图:进程视图是可执行线程和进程作为活动类的建模,它是逻辑视图的一次执行实例,描述了并发与同步结构。
部署(物理)视图:部署视图把构件部署到一组物理节点上,表示软件到硬件的映射和分布结构
用例(场景)视图:用例视图是最基本的需求分析模型。
形式化语言
多媒体
分类
感觉媒体
表示媒体
表现媒体
存储媒体
传输媒体
特征
多维化
集成性
交互性
实时性
关键技术
视音频技术
通信技术
数据压缩技术
即时压缩和非即时压缩
数据压缩和文件压缩
无损压缩和有损压缩
虚拟现实
生成一个逼真的视觉,听觉,触觉,味觉,嗅觉的五感系统
增强现实
计算机图形图像技术
空间定位技术
人文智能
字节byte和比特bit的换算:1字节=8比特;1比特=1位
操作系统
功能
进程管理
进程控制
组成:进程控制块PCB(唯一标识)、程序、数据
1、进程控制块PCB的组织方式有:1)线性表方式,2)索引表方式,3)链接表方式。
1)线性表方式:不论进程的状态如何,将所有的PCB连续地存放在内存的系统区。这种方式适用于系统中进程数目不多的情况。
2)索引表方式:该方式是线性表方式的改进,系统按照进程的状态分别建立就绪索引表、阻塞索引表等。
3)链接表方式:系统按照进程的状态将进程的PCB组成队列,从而形成就绪队列、阻塞队列、运行队列等
1)线性表方式:不论进程的状态如何,将所有的PCB连续地存放在内存的系统区。这种方式适用于系统中进程数目不多的情况。
2)索引表方式:该方式是线性表方式的改进,系统按照进程的状态分别建立就绪索引表、阻塞索引表等。
3)链接表方式:系统按照进程的状态将进程的PCB组成队列,从而形成就绪队列、阻塞队列、运行队列等
可拥有资源的独立单位,可独立调度和分配的基本的单位
三态图:
就绪态:获取到了除cpu以外的其他资源,只能向运行态转换,就是拿到cpu时间片
运行态:占用着cpu,可以向阻塞态和就绪态转变;只有时间片到了或者更高优先级线程到来失去对CPU的占用就会变为就绪态;发送io操作或者等待信号等事件就会转入阻塞态
阻塞态:等待被阻塞事件的发生,只能向就绪态转变
前驱图:反映任务键的并行和先后顺序;
进程资源图:进程和资源之间的分配和请求关系
进程同步
临界资源:各个进程间需要以互斥的方式进行访问的资源
临界区:对临界资源进行操作的程序
互斥:临界资源在同一时候只能被一个任务使用
同步:多个任务可以并发执行,只存在速度上的差异
互斥信号量:初值一般为1,采用锁控制,多玲姐资源进行访问控制
同步信号量:初始值一般为共享资源数量,对共享资源进行访问控制
信号量操作(PV操作):
P操作申请资源
V操作释放资源
进程调度
当有更高优先级的进程到来时如何进行cpu分配
低级调度调度算法
先来先服务
时间片轮转:每个进程使用相同的时间片大小,公平
优先级;都没运行的前提下,先调度优先级高的
多级反馈调度:时间轮转和优先级调度结合:不同优先级分配不同的时间片长度
死锁
必要条件
资源互斥
每个进程都在等待其他资源
系统不能剥夺进程资源
进程资源图是一个环路
解决措施
预防:使用策略限制进程对资源的请求
避免:使用银行家算法提前计算不会死锁的资源分配方案
检测:允许死锁,定时检测,设法解除(剥夺资源、撤销进程)
资源计算:n个进程,每个都需要R个资源,死锁的最大资源数n*(R-1);不发生死锁的最小资源数n*(R-1)+1
线程
独享资源
栈指针等
共享资源
文件,代码,全局变量等
分页(区)存储管理:将进程运行所需要的内存整体一起分配给他
分区方法
固定分区
将主存划分为若干分区,将运行的作业装进去,分区固定,作业需要的大小不同,会产生内部碎片
可变分区
作业使用时划分需要的大小,可能会不连续,会产生外部碎片
首次适应法:从内存地址顺序从头查找,找到第一个空间大于所需空间的空闲块,切割所需空间大小分配给进程
最佳适应法:将内存中所有空闲内存块从小到大排序,找到第一个大于所需空间的空闲块
最差适应法:相反
循环首次使用法:顺序找到第一个之后,第二次接着往下找不用每次都从头开始
可重定位分区
移动所有已经分配好的区域,使其连续,解决碎片问题
逻辑分页
由页号+页内地址组成;物理块号+偏移地址得出正在的物理地址
页内地址是物理偏移地址,页号和物理块号并非按照顺序对应,需要查询页表才能得到对应的物理块号
会产生内部碎片?
页面置换算法
最优算法:未来最长时间内不会被访问的淘汰
先进先出
最近最少使用
淘汰原则:最近未被访问,
快表,存储在Cache中,存放当前访问最频繁的少数活动页面的页号
分段存储管理
由段号和段内地址组成;每一段物理大小不同,分段是根据逻辑整体分段的;段表有段长和基址属性
段页式存储管理:先分段后分页
设备管理
输入输出设备分配
iO软件分层
设备管理技术
SPOOLING技术(外围设备联机操作),在外设上建立两个缓冲区,分别是输入井和输出井
文件管理
文件是一致相关信息项的集合,由文件体和文件说明构成
文件系统功能
按名存取
统一用户接口
并发访问和控制
安全性控制
优化性能
差错恢复
结构
逻辑结构
有结构的记录式文件
无结构的流式文件
物理结构:存放再物理设备上的方式
连续结构:存放再连续编号的物理块
链接结构:多个不连续的物理块通过指针相连
索引结构:索引表记录文件信息所在逻辑块对应的物理块号
索引文件结构
直接索引
一级间接索引
二级索引
多物理块的索引表
存储空间管理
存取方法
顺序存取
随机存取
空间管理
空闲区表:适合存储联系文件结构
位示图:每一位对应文件存储器上的一个物理块,0/1表示空闲和占用
空闲块链
成组链接法
目录
文件控制块FCB的有序集合
基本信息
存取控制类
使用信息
路径
相对路径
绝对路径
全文件名:绝对路径+文件名
类型
批处理操作系统:单通道和多通道批处理(主机与外设并行)
分时处理操作系统:CPU工时时间划分为多个时间片,轮流服务终端
实时操作系统:在允许的时间范围内作出快速反应,交互要求不高,但是要求可靠性
网络操作系统:方便而有效的共享网络资源,为网络用户提供服务的软件和有关协议的集合
集中模式
C/S模式
对等模式ppp
分布式操作系统:多个计算机系统由分散的计算机经过连接设计维持,无主次之分,任意两台计算机都可以通过通信交换信息
微型计算机操作系统:Windows,Mac
嵌入式操作系统:凡是嵌入在智能设备中的,启动顺序是从片级-》板级-》系统级
微型化
可定制:能针对硬件进行结构和功能上的配置
实时性
可靠性
易移植性
嵌入式微处理器
硬件
体系结构
冯诺依曼结构
指令存储器和数据存储器合并在一起存储
指令存储和数据存储地址指向同一个存储器不同的物理位置
采用单一的地址和数据总线,程序指令和数据宽度相同
处理器串行执行指令,先从存储器中取出指令解码,再取 操作数执行运算,性能低下
哈佛结构:并行体系结构
程序和数据存储在不同的存储空间,独立存储,独立编址,独立访问
两套独立的地址总线和数据总线
一个机器周期内可以同时获取指令字和操作数,吞吐率提高1倍
分类
根据字长宽度可分为4,8,16,32和64位
16位及以下叫嵌入式微控制器MCU
32位及以上叫嵌入式微处理器MPU
按照集成度
一般用途微处理器:进包含CPU
单芯片微控制器:集成CPU,ROM,RAM,IO等部件
按用途
嵌入式微控制器MCU:典型代表单片机,单片化,提价小,功耗成本低,外设丰富,适合控制
嵌入式微处理器MPU:由通用计算机中的CPU演变而来,只保留了和嵌入式应用紧密相关的功能硬件,工作环境恶劣,对工作温度,电磁兼容,和可靠性要求较高
嵌入式数字信号处理器DSP:专门用于信号处理,采用哈弗结构,流水线处理,处理速度比最快的cpu还快10-50倍
嵌入式片上系统SOC:追求产品系统最大包容的集成器件
多核处理器
定义:单芯片集成多个微处理器内核,和对芯片(cpu)相比很好了降低了计算机系统的功耗和体积
多内核工作协调方式
对称多处理技术SMP:执行一样的任务,性能加倍
非对称处理技术AMP:各自执行不一样的任务
混合多处理BMP:与SMP类似,但是可以指定将某个任务仅在某个指定内核上执行
进程调度
全局队列调度
操作系统维护一个全局的任务等待队列,CPU核心利用率高
局部队列调度
操作系统为每个CPI内核维护一个局部等待队列,利用率低,但是无需再多个cpu间进行切换
软件
定义:规模小,开发难度大,实时性,可靠性要求高,要求固化存储
分类
系统软件
控制管理系统资源
板级支持包BSP
介于主板硬件和操作系统驱动程序一之间
功能:引导加载晨曦Bootloader和设备驱动程序
单板硬件初始化,包括cpu初始化,为整个软件系统提供底层的硬件支持
为操作系统提供驱动程序和中断服务程序
定制操作系统的功能,提供一个实时多任务的运行环境
初始化操作系统,为操作系统的正常运行做准备
特点
硬件相关性
操作系统相关性
BootLoader
定义:加电之后运行的第一段软件代码
功能:初始化硬件设备,建立内存空间的映射图,将系统和软硬件环境设置到一个合适的状态,为调用系统内核做准备
启动步骤
片级初始化
完成微处理器的初始化,包括设置核心寄存器,控制寄存器,核心工作模式,局部总线模式等;一个存硬件初始化过程
板级初始化
正确的设置各种寄存器的内容来完成微处理器以外的其他硬件的初始化
加载内核(系统级初始化)
将操作系统和应用程序的映像从flash存储器复制到系统的内存当中,然后跳转到系统内核的第一条指令处继续执行
设备驱动程序
操作系统可有可无,但是设备驱动程序必不可少
驱动程序就是一组库函数,用来对硬件进行初始化和管理
应用软件
负责与用户进行交互
支撑软件
辅助软件开发的工具软件
嵌入式系统
构成:嵌入式处理器,相关支撑硬件,嵌入式操作系统,支撑软件以及应用软件
特性
专用性强
技术融合
软硬一体,软件为主
比通用计算机资源少
程序代码固化在非易失存储器
需要专门开发工具和环境
体积小,价格低,工艺先进,实时性强,性价比高,配置要求低
安全性可靠性要求高
分类
实时系统(RTOS):即时性,正确性
分类
强实时
弱实时
特征
高精度计时系统
多级中断机制 :任务优先级不同
实时调度机制
任务的调度目前主要有时间分片式、轮流查询式和优先抢占式三种,不同的RTOS可能支持其中一种或几种,其中优先抢占式对实时性的支持最好。
实时操作系统可根据实际应用环境的要求对内核进行裁剪和重新配置,根据不同的应用,其组成有所不同。
非实时系统
分层
硬件层
硬件抽象层,比如板级支持包
操作系统层
中间层
应用层
嵌入式数据库系统
特点
设备随时移动
网络频繁断接
网络条件多样化
通信能力不对称:上下行能力不对称
构成
主数据库
同步服务器
嵌入式数据库
链接网络
必须解决一致性,高效事务和数据安全问题
嵌入式开发设计
交叉开发环境
构成
运行在宿主机和目标机上强有力的交叉开发工具和实用程序
运行在目标机上的高性能,可裁剪和实时操作系统
连接宿主机和目标机的多种通信方式
步骤
编码
交叉编译
在一个平台生成可以在另一个平台上执行的代码,即在宿主机上编译出在目标机上执行的代码
交叉调试
工具
编辑器,VIM,eclipse等
编译器,gcc
调试器;gbb
系统工程
定义:使用计算机对系统的结构,元素,信息和反馈等进行分析,以达到最优规划,最优设计,最优管理,最优控制的目的
生命周期
探索性研究
概念阶段
开发
生产
使用
保障
退役
生命周期方法
计划驱动:始终遵循规定流程,关注文档完整性,需求可追溯性,和事后验证
渐进迭代式开发:提供初始能力,随之提供连续交付以达到期望
精益开发:聚焦于向客户交付最大价值并使浪费活动最小化
敏捷开发:灵活,需求变更,不断交付
基于模型的系统工程:建模方法的形式化应用
需求分析阶段
需求图
用例图
包图
功能分析阶段
顺序图
活动图
状态图
设计综合阶段
模块定义图
内部块图
参数图
工程方法:现代科学决策方法
霍尔的三维结构;主要解决工程问题
七个阶段(时间维度)
规划
拟定方案
研制
生产
安装
运维
更新
七个步骤(逻辑维度):时间维度的每个阶段需要进行的工作内容和应该遵循的思维程序
明确问题
明确目标
系统综合
系统分析
优化
决策
实施
切克兰德方法:核心不是最优,而是比较和探寻,主要解决社会经济问题
认识问题
根底定义
建立概念模型
比较和探寻
选择
设计与实施
评估与反馈
并行工程方法:开发过程进行并行,集成化处理
特点
产品设计开发期间,将概率设计,结构设计,龚益设计,最终需求结合起来,保证最快速度按照质量要求完成
各项工作由与之相关的项目小组完成
依据适当的信息系统工具,反馈与协调整个项目
综合集成法;处理开放复杂巨系统,从定性到定量
原则
整体论
相互联系
有序性
动态性
特点
定性研究与定量研究
科学理论与经验知识结合
多种学科结合
宏观和微观结合
需要有大型计算机系统支持
WSR(物理-事理-人理)懂物理,明事理,通人理
理解意图
指定目标
调查分析
构造策略
选择方案
协调关系
实现构想
信息系统
基础知识
概述:有硬件,网络,通信,软件,信息资源,用户信息,规章制度组成的以处理信息流为目的的人机一体化系统
功能
输入
存储
处理
输出
控制
性质
以计算机为基础
人机交互
分类
业务处理系统(TPS/DPS):最初级的信息系统,处理具体事务中的结构化,重复化操作,输出产物可作为其他系统的输入
数据输入
数据处理
批处理
OLTP
数据库维护
文件报表生成
查询处理
管理信息系统MIS:管理信息,完成全局性和整体性的应用
部件
信息源
信息处理器
信息用户
信息管理者
分层
战略计划层
管理控制层
运行控制层
功能:通过过程实现
组成
销售市场子系统
生产子系统
后勤子系统
人事子系统
财务会计子系统
信息处理子系统
高层管理子系统
决策支持系统DSS:解决非结构化管理问题
结构类型
两库结构
数据库子系统
模型库子系统
对话子系统
基于知识的结构
组成
数据的重组和确认
数据字典建立
数据挖掘和智能体
模型建立
有穷枚举法
算法
输出结果类型:联合,定序,分类,聚类
模拟法
启发式
专家系统ES:人工智能的分支
人工智能分支
专家系统
机器人技术
视觉系统
自然语言
神经网络
学习系统
特点
求解半结构化,非结构化问题
模拟人类专家在问题领域的推理
处理实际问题
专用性强,通用性差
三要素(数据级,知识库级,控制级)
描述问题状态的综合数据库
存放启发式经验知识的知识库
对只是库的知识进行推理的推理机
组成
知识库
综合数据库
推理机
推理机制
控制策略
知识获取
编辑和求精
知识自学习
解释程序
人机接口
办公自动化系统OAS):信息处理手段自动化,提高办公效率和质量
功能
事务处理
信息管理
辅助决策
企业资源规划ERP
四大资源
物流
资金流
信息流
人力资源
规划演变过程
物料需求
制造资源计划
企业资源计划
结构
生产预测
销售管理
经营计划
主生产计划
物料需求计划
生产能力需求计划
车间作业计划
采购库存管理
质量设备管理
财务管理
客户关系管理CRM
以客户为中心,存储企业现有和潜在客户的信息,自动处理,产生人性化的市场管理策略
要素
信息技术为手段
注重提高客户满意度,提高企业利润
重新设计业务功能,将中心转移到客户,不同的客户采用不同的策略
模块
销售自动化
营销自动化
客户服务与支持
商业智能
功能
客户服务:支柱
市场营销:支柱
共享的客户资料库
分析能力:客户价值最大化
供应链管理SCM
使得系统成本最低而采用的将供应商,制造商,仓库,商品有效的结合在一起生产商品,有效的管理信息流,资金流和物流,把正确数量的商品在正确的时间配送到正确的地点
特点
以客户为中心
集成化管理
扩展性管理
合作管理
多层次管理
节点
供应商
制造商
分销商
零售商
仓库
配送中心
客户
业务流程
计划
采购
制造
配送
退货
企业信息化与电子商务
目标:优化企业业务活动,提高生产经营管理决策水平
层面
企业战略
业务运作
管理运作
战略数据模型
数据库模型:日常事务
数据仓库数据模型:高层决策
信息化方法
业务流程重构
核心业务应用
信息系统建设
主题数据库
资源管理
人力资本投资
企业应用集成EAI
集成方式
表示集成(界面集成),最原始的黑盒集成
数据集成(白盒集成),把不同来源,格式,性质的数据在逻辑上或者物理上有机集成,实现数据共享,比如数据仓库
控制集成(功能集成,应用集成),也是黑盒集成,业务逻辑层级的基础,借助rpc调用和消息
业务流程集:过程集成,最彻底,综合的集成
数据交互方式
共享数据库
实时性强,频繁交互,同步方式,但是安全性,并发性问题突出
消息传递
适应数据量小,频繁,实时,异步的场景
文件传输
一次性传输大量信息,不适合频繁操作场景,实时性差
电子商务
包括
电子商情广告,电子选购交易
电子交易凭证和交换,电子支付与结算
网上售后服务
实体
顾客
商户
银行
认证中心
交易模式
B2b,B2c,C2c,o2O
政府信息化和电子政务
组成
政府部门内部的电子化和网络化办公
政府部门之间精细信息共享和实时通信
政府用过网络和居民之间信息双向信息交流
特征
互联网为基础
签到政务功能发挥和完善
类型:G2G,G2B,G2C,B2G,C2G
发展阶段
起步
政府与用户单向互动
双向互动
网上事务处理
生命周期
产生:概念阶段或者需求分析阶段。提出初步想法,形成需求分析报告。
开发:最重要,关键的阶段
总体规划:依赖于需求分析,产出开发目标,总体架构,组织结构,管理流程,实施计划,技术规范
系统分析:通过组织结构和功能分析,业务流程分析,数据和数据流程分析,设计系统初步方案来构建逻辑模型
系统设计:输出实施方案(物理模型),包括架构设计,数据库设计,处理流程实际,功能模块设计,安全控制设计,系统组织和队伍设计,管理流程设计
系统实施:强调用户参与
系统验收
运行
通过验收,上线,交付,进入维护阶段
排错性维护
适应性维护
完善性维护
预防性维护
消亡
建设原则
高层介入
用户参与
自顶向下
工程化
其他原则(经济性,发展性,创新性,整体性)
进化模型
诺兰模型
初始阶段:尝到甜头
传播阶段:推广扩张
控制阶段:有的放矢,数据共享
集成阶段:解决单点,分散问题,建立基础上数据库和统一的信息管理平台
数据管理阶段:和信息战略相关,实现资源整合和信息共享
成熟阶段:内外部资源整合利用
信息安全
基础知识
要素
机密性:不暴露给未授权的实体
完整性:判别数据是否被篡改
可用性
可控性
可审查性
范围边界
设备安全:首要问题
数据安全:免受未授权的泄漏,篡改,毁坏
内容安全:政治,法律,道德层面的要求,合法合规
行为安全
技术体系
基础安全设备
网络安全
操作系统安全:无错误配置,无漏洞,无后门,无病毒等
数据库安全
终端安全设备
重要分类
存储安全
信息使用的安全
系统安全监控
计算机并发防治
数据加密
防止非法攻击
网络安全
安全隐患:软件安全漏洞,不兼容
安全威胁:非授权访问,拒绝服务攻击,网络病毒
安全措施目标:访问控制,认证,审计,保密
保证体系和评估方法
GB17859-999安全保护能力的五个等级
第一级用户自主保护级
第二级系统审计保护级
第三级安全标记保护级
第四级结构化保护级
第五级访问验证保护级
风险评估
基本要素
脆弱性
资产
威胁
风险
安全措施
加密技术
构成
明文
密文
秘钥
加密算法
解密算法
分类
对称加密
加解密秘钥一致,不公开秘钥,强度低,分发困难,速度快,适合加密大数据
DES,3DES,AES,RC-5,IDEA
非对称加密
加解密秘钥不一致,分为公钥和私钥,公钥可以公开,速度慢,安全性高。公钥加密,私钥解密
RSA,ECC,背包算法
信息摘要
一段数据的特征信息,数据发生改变,摘要就会变化,由哈希函数生成。长度固定,单向
MD5,SHA-1
数据签名
唯一标识一个发送方,私钥加密,公钥解密
公钥基础设施PKI
以不对称加密技术为基础的安全基础设施
构成
数字证书
签证机构CA
访问控制
依据某些控制策略和权限对课题本身或者是其资源进行不同的授权访问
三要素
主体
客体
控制策略
流程
认证
控制策略实现
审计
实现
访问控制矩阵ACM:通过矩阵形式表示访问控制规则和授权用户权限的方法。
访问控制表ACL:按列保持访问控制矩阵
能力表:按行保存访问控制矩阵
授权关系表:剔除访问控制矩阵中空元素
攻击与抗攻击技术
考虑因素
秘钥大小
秘钥复杂度
秘钥随机性
类型
拒绝服务Dos
Dos原理
消耗资源
破坏,更改配置信息
物理破坏或者改变网络部件
利用程序中的处理错误
DDos原理
首先入侵控制一些计算机,然后控制他们同事想目标发起拒接服务攻击
手段
同步包风暴SYN FLOODING
ICMP攻击
SNMP攻击
防御
加强数据表特征识别
设置防火墙监控本地主机端口使用情况
对通信数据量进行统计,获取攻击系统的位置和数量信息
修正已经发现的问题和系统漏洞
ARP欺骗
正常原理
欺骗原理
防范
固化arp表:arp-s gate-way-ip gate-way-mac
使用arp服务器
采用双向绑定
arp防护软件
DNS欺骗
冒充域名服务器
防范
被动监听监测
虚假报文探测
交叉检查查询
TCP/IP欺骗
原理
瘫痪被冒出主机
连接到目标机的某个端口来猜测ISN基值和增加规律
把源地址伪装成被冒出主机的,发送带有SYN标识的数据段请求连接
等待目标机发送SYN+ACK包给被冒充的瘫痪主机
再次伪装成被冒充主机向目标机发送ACK
防范
端口扫描
尝试与目标机的某些活动端口建立连接
判断活动端口
全TCP连接
半打开式扫描(SYN扫描):发送SYN数据段表示建立连接
FIN扫描:发送Fin=1,断开连接
第三方扫描
入侵检查系统IDS
防火墙之后的第二道屏障,监控当前系统和用户的行为,挂接在所关注流量必须经过的链路上
入侵防御系统IPS
检查到入侵行为后,会进行阻断
杀毒软件
蜜罐系统
伪造蜜罐网络引诱攻击
网络安全协议
SSL:安全套接字协议,
SSH:安全外壳协议,用于加强Telnet/FTP安全传输协议
SET:安全电子交易协议
Kerberos协议:网络身份认证协议,基于信任的第三方,在开放网络中进行身份认证
PGP协议:安全电子邮件
Socks:防火墙安全会话转换协议
战略规划
企业战略规划
关注
通过信息系统支撑业务流程运作,实现关键业务目标
阶段
以数据处理为中心,围绕职能部门需求
企业系统规划法BSP:自上而下的设计,重视数据的创建和使用,建立CU(创建使用)矩阵
关键成功因素法CSF:重视关键因素
战略集合转化法SST:收集信息集合,转换成信息系统战略信息
以企业内部的MIs为核心,围绕整体需求
战略数据规划SDP:建立企业模型和主题数据库,数据是稳定的,业务和流程是多变的
信息工程法IE:第一次提出以工程的方法来建设信息系统,以数据为中心的开发方法
三要素
各种信息
业务过程
信息技术
阶段
信息规划
业务领域分析
系统设计
系统构建
战略栅格法SG:建立2*2的矩阵,导表过程对数据的创建和使用
综合考虑企业内外环境,以集成为核心,围绕企业战略需求
价值链分析法VCA:分析活动对企业增值最大的信息
战略一致性模型SAM:保障企业战略与信息系统战略要一致
信息系统战略规划
重点
系统远景
组成架构
各部分逻辑关系
信息技术战略规划
对支持信息系统运行的硬件,软件,支撑环境等进行规划
信息资源战略规划
为开展信息化建设而进行的数据需求分析,信息资源表准建设,信息资源整合工作
系统规划
单个项目的立项规划,包括需求分析,约束条件,必要性,可行性分析
开发方法
结构化方法:适合需求明确,自顶向下,逐步求精,模块化设计
步骤
结构化分析
结构化设计
结构化程序设计
特点
开发目标清晰化
开发工作阶段化
开发文档规范化
设计方法结构化
开发周期长
难以适应需求变化
很少考虑数据结构
常用工具
数据流图
数据字典
结构化语言
判定表
判定数
原型化方法:适合需求不明确
特点
开发周期短
成本和风险低
用户为中心
开发环境要求高
管理水平要求高
面向对象开发方法:
更好的复用性
概念
对象:数据及其操作构成的封装体
类:实体的形式化描述,对象是类的实例,类是对象的模版
实体类
边界类(接口类)
控制类
抽象:抽取共同特征以后形成的概念,强调主要特征,忽略次要特征
封装
继承
多态:不同对象收到同一个消息时产生不同的结果跑
接口:只定义做了啥,不定义怎么做
消息
覆盖:子类重新实现父类实现
重载:同名不同参
面向对象分析
确定问题域,理解问题
认定对象
组织对象
描述对象间的相互作用
确定对象的操作
定义对象的内部信息
两大模型
用例模型
分析模型
面向对象的分析模型主要由顶层架构图、用例与用例图和领域概念模型构成;
面向服务:将接口的定义和实现解耦,强调松耦合,提高复用性,信息资源共享,和系统之间的互操作性
设计粒度:类-》构建-》服务
软件工程
基础知识
生命周期
定义
可行性研究和需求分析
开发
设计和实现
运行和维护
交付给用户
系统文档
用户文档
系统稳定
工程过程包含的活动
软件规格说明(描述)
软件开发
软件确认(有效性验证)
软件演进
系统工具
开发工具:需求分析,设计,编码,测试
维护工具:版本控制,文档分析,开发信息库,逆向工程,再工程
管理和支持工具:项目管理,配置管理,软件评价
设计阶段活动
数据设计
架构设计
人机界面
过程设计
能力成熟度模型CMM
初始级:杂乱无章,依赖个人努力和英雄式核心任务
可重复级:有必要的过程准则来重复
已定义级:标准化的软件过程文档
已管理级:仔细度量标准
优化级:持续改进
能力成熟度模型集成CMMI
表示方法
阶段式:关注组织的成熟度
连续式:关注每个过程域的能力
逆向工程
早期软件复用,后面包括领域知识,开发经验,设计决定,架构,需求,文档等
级别(抽象级别由低到高)
实现级:描述程序语法和符号,完备性高。抽象级低
结构级:程序之间的关系
功能级:描述功能和程序关系
领域级:完备性最低,抽象级高
软件过程模型
瀑布模型SDLC
分为可行性分析,需求分析,软件设计,编码,测试,运行维护阶段
特点
上一个活动工作成功输出给下一个活动
评审改活动的成功
需求明确
原型模型
创建原型,通过与干系人员讨论分析,最终明确系统需求,适合需求不明确的场景
特点
实际可行
具备最终系统的基本特性
构造方便,快速,造价低
螺旋模型
将原型迭代特性和瀑布线性顺序结合,螺旋增量发布,强调风险分析,适合复杂,庞大,高风险系统
四象限
制定计划
风险分析
实施工程
客户评价
V模型
强调测试的作用,试用需求明确,变更不频繁的清晰
单元测试
集成测试
系统测试
验收测试
增量模型
首先开发核心模块,优先级高的最先交付,不利于模块划分,每个增量版本都是可独立操作的,难点在于如何区分增量
喷泉模型:以用户需求为动力,面向对象做驱动
基于构建开发模型CBSD(快速应用开发)
利用预先包装的构建来构造系统,强调复用性
敏捷模型
开发宣言
个体和交互胜过过程和工具
可以工作的软件胜过面面俱到的文档
客户合作胜过合同谈判
响应辩护胜过遵循计划
核心思想
适应性
以人为本
迭代增量
主要方法
极限编程XP
沟通,简单,反馈,勇气
水晶系列方法
并列争球法Scrum
按优先级每段时间一次迭代冲刺(Sprint)
特性驱动开发方法FDD
统一过程模型RUP
一种重量级的过程,为所有方面和层次的程序开发提供指导方针,模版,事例支撑。
生命周期
初始:生命周期目标
细化:生命周期架构
构造:初始运作功能
移交:发布产品
核心概念
角色
活动
制品
工作流
9个核心工作流
业务建模
需求
分析设计
实现
测试
部署
配置与变更管理
组成
文档
程序
部件
数据
状态
草稿
正式发布
正在修改
项目管理
环境
特点
用例驱动
以架构为中心,使用4+1视图模型描述
用例(场景)视图:分析,测试人员关注
逻辑视图:最终用户关注
实现(开发)视图:开发人员关注
部署(物理)视图:运维人员
进程视图:系统集成人员
增量迭代
软件需求
两大过程:需求开发,需求管理
需求开发
需求获取:确定和理解不同项目干系人员的需求和约束的过程
用户访谈
问卷调查
采样
情节串联板
联合需求计划
需求记录技术
需求分析:把杂乱无章的用户要求和期望转化为用户需求
具体步骤
绘制系统上下文范围关系图
创建用户界面原型
分析可行性
确定优先级
建立模型
创建数据字典
使用质量功能部署QFD
结构化需求分析
自顶向下,逐步分解,面向数据
三大模型
功能模型(数据流图DFD)
数据字典:数据流图中的每个数据流,加工,文件,以及组成数据流和文件的数据项做出说明
数据流
数据项
数据存储
基本加工
数据流:数据流的流向必须经过加工
加工
异常情况
黑洞:有输入没输出
奇迹:有输出没输入
灰洞:输入不足以产生输出
加工逻辑描述方法
结构化语言
判定表
判定树
数据存储
外部实体:软件系统之外的人或者组织
行为模型(状态转换图)
数据模型(E_R图)
流程
需求定义(需求规格说明书)
需求定义
输出软件需求规格说明书
定义方法
严格定义:所有需求都被预先定义
原型方法:需求不明确
需求验证
需求验证
需求评审
需求测试
需求验收:生成需求基线,不可随意变更
需求管理
定义需求基线,变更要走流程
需求变更和风险
需求跟踪
双向跟踪:追溯:用户需求是否都实现和回溯:软件实现是否都满足用户需求
需求分类
业务需求:企业或者客户对系统高层次的需求
用户需求:用户要求系统能够完成的任务
系统需求:从系统角度来说明软件需求
功能需求:开发人员必须实现的功能
非功能需求
软件质量属性
其他非功能需求
设计约束
处理流程设计
流程表示工具
程序流程图PFD
顺序
选择
循环结构
IPO图:描述系统每个模块
输入
输出
数据加工
N/S图:盒图
程序流程图的一种,但是更侧重表示嵌套和层次的关系
不适合复杂程序的设计
问题分析图PAD
支持结构化程序设计
业务流程重组BPR:根本性的再思考,彻底性的再设计
原则
系统规划步骤
业务流程管理BPM:侧重规范化的管理和优化
规范流程
优化流程
再造流程
系统设计
目的:首先给概要设计,再给出详细设计
概要设计:形成模块结构图
详细设计:模块内的算法细节和数据结构,数据库物理设计,其他设计(输入输出,用户界面)
方法
结构化设计方法
原理:抽象,模块化,信息隐蔽,模块独立
模块独立性
耦合性
无直接耦合:无关系
数据耦合:传递数据值,调用
标记耦合:传递数据结构,传参,没说明数据值就是数据结构
控制耦合:变量控制,选择执行某一功能
外部耦合:软件外部环境
公共耦合:公共数据结构
内容耦合:模块内部关联,访问另一个模块内部数据或者代码重叠
内聚性
偶然内聚:无直接关系
逻辑内聚:逻辑相似,参数决定
时间内聚:同时执行
过程内聚:指定的过程顺序
通信内聚:相同的数据结构,和输入输出
顺序内聚:顺序执行,输出是输入
功能内聚:共同作用,缺一不可
原则
人机界面设计原则
面向对象设计方法
设计分析模型和实现相应代码
分析模型
设计原则
单一职责
开发-封闭原则:可以拓展,不能修改
里氏替换原则:子类必须能够替换掉他们的基类型
依赖倒置原则:抽象不应该依赖与细节,细节可以依赖于抽象
接口分离原则:依赖抽象,不依赖具体实现
测试分层
算法层
类层
模版层
系统层
系统实施
测试
为了发现错误而执行程序的过程
原则
尽早不断的测试
避免原开发人员承担
确定输入和预期输出
包含合理有效的测试用例,也包含不合理,失效的用例
检验是否做了该做的事,且是否做了不该做的事
测试用例可以重复使用或者追加
分类
静态测试:程序没运行,采用人工检测+计算机辅助
代码审查
代码走查
桌前检查
动态测试:程序运行
测试方式
测试类型
黑盒测试:功能性测试
边界值分析
等价类划分
白盒测试:结构性测试
逻辑覆盖
基本路径
阶段
单元测试:独立编译和汇编的程序模块,依据详细设计说明书
集成测试:模块之间的集成,依据概要设计
一次性组装
增量式组装
系统测试:测试完整的,集成的计算机系统,包括功能,性能,界面,安全性,偏向性能,面向需求文档
确认测试:验证功能,性能是否符合用户需求,依据需求文档
内部确认测试:开发人员测试
Alpha测试:用户在开发环境
Beta测试:用户在实际生产环境
验收测试:走流程
配置项测试
回归测试:验证变更之后的正确性
测试策略
自底向上:从最底层模块开始,较早的验证了底层模块
自顶向下:先测试整个系统,需要提供桩程序,较早的严重系统主要的控制和判断点
三明治:二者结合
测试用例
黑盒测试
等价类划分:数据按照某种特性进行归类,测试用例尽可能多的覆盖有效等价类,或者仅覆盖一个未被覆盖的无效等价类
边界值划分:边界值的两端以及此范围之外的与此范围间隔最小的两个值
错误推测
因果图
判定表驱动法
白盒测试
语句覆盖SC:代码中的所有语句都要被执行一次,覆盖级别最低
判定覆盖DC:所有的判断语句的条件的真假分支都要覆盖一次
条件覆盖CC:每一个判断条件内的每一个条件都要执行一遍真假
条件判定组合覆盖CDC:同时满足判定和条件覆盖
路径覆盖:代码逻辑中所有可行路径都覆盖,覆盖层级最高
调试:找出出错的原因
步骤
找到位置
确认原因并改正
改正后回归测试
方法
蛮力
回溯
原因排除
软件度量
属性
外部属性
面向管理者和用户,可直接测量,比如性能指标
内部属性
软件本身的属性,比如可靠性,只能间接测量
方法
mccobe度量法(环路复杂度):假设有向图中有向边数为m,节点数为n,复杂度为m-n+2
运行和维护
系统转换:新系统开发完毕,投入运行,取代现有系统的过程
遗留系统:不能进行修改和演化以满足新的变化
特点
不能完全满足要求
技术已经过时
维护困难
没有文档,很难理解
分析
改造:高水平,高价值
继承:低水平,高价值
集成:高水平,低价值
淘汰:低水平,低价值
切换方法
直接转换:风险大,使用与不复杂或者现有系统不能使用的情况
并行转换:风险小,适用大型系统,耗费人力和资源,难以控制系统间数据转换
分段转换:分期,分批逐步转换,将大型系统分为多个子系统,需要协调好接口问题
数据转换和迁移
切换前通过工具迁移
手工录入切换前
切换后系统生成
系统维护
属性
易分析性
易改变性
稳定性
易测试性
维护性的依从性:遵循相关标准
类型
硬件维护
软件维护
正确性维护:bug
适应性维护:外部环境变化
完善性维护:用户提出的需求
预防性维护:可能的bug
数据维护
净室软件工程
使用形式化方法,采用应用数学与统计学原理以经济的方式生产高质量软件的工程技术,强调预防大于检查,约定大于开发,在规约和设计中消除错误
主要理论依据函数理论和抽样理论
技术手段
增量式开发
基于函数的规范和设计
正确定验证,核心
统计测试和软件认证
缺点
太理论,需要数学知识
不进行模块测试
基于构件的软件工程CBSE
强调通过复用构件设计和构造软件系统的复用途径
特点
可组装
可部署
文档化
独立性
标准化
要素
标准化接口
使用信息
部署
生命周期
系统需求概览
识别候选构件
根据发现的构件修改需求
设计架构
构件配置和定制
组装构件创建系统:通过胶水代码来实现
构件组装方式和问题
问题
参数不兼容
操作不兼容
操作不完备:两个构件不是同一个边界
方式
顺序组装
层次组装:直接调用另外一个构件提供的服务
叠加组装:两个以上的构件放在一起创建一个新构件
软件设计模式层次
架构模式:软件设计中的高层决策
软件架构
从需求分析到软件设计之间的过度过程,提供了一个结构,行为和属性的高级抽象
构成
构件:独立交付的功能单元,外部通过接口访问。由一组原子构件组成
原子构件:是部署,版本控制和替换的基本单元
模块
资源
特性
接口标准化:接口消息的格式,模式和协议的标准化
构建技术
EJB
会话Bean
实体BEAN
消息驱动BEAN
COM,DCom,Com+:微软的
CORBA标准
对象清求代理(0tjecd ReouestBrovker):解释调用并负责查找实现该请求的对象,将参数传给找到的对象,并洞用方法运回结果。客户方不需要了解服务对象的位置、通信方式、实现、激活或存体机制
公共对象服务
公共设施
伺服对象(Servant):CORBA对象的真正实现,负责完成客户端请求。
对象适配器(ObiectAdapter):用于屏蔽ORB内核的实现细节,为服务器对象的实现者提供抽象接口,以便他们使用ORB内部的某些功能。
J2EE
构件的相互作用(连接件):
指导构件集成的模式
模式的约束
架构设计:就是需求分配,将满足需求的职责分配到组件上,
核心问题就是架构级别的软件复用
核心问题就是架构级别的软件复用
活动
提出架构模型
产生架构设计
进行设计评审
生命周期
需求分析阶段
设计阶段:
模型描述
基本概念(构件和连接子,约束)
架构描述语音ADL
ADL 是一种为明确说明软件系统的概念架构和为这些概念架构建模提供功能的语言,主 要包括组件、组件接口、连接件和架构配置。ADL 对连接件
的重视成为区分它和其他建模语 言的重要特征之-
的重视成为区分它和其他建模语 言的重要特征之-
多视图标识
模型设计与分析方法
设计经验的总结和复用
实现阶段
构件组装阶段:解决互联和失配的问题
部署阶段
后开发阶段:演化,维护和复用
架构演化
涵盖架构的全生命周期:需求获取,架构建模,架构文档,架构实现,架构维护
关注组件,连接件和约束的添加,修改,删除
具体应用
面向对象软件架构演化
活动
对象演化(构件)
增加对象AO
删除对象DO
消息演化(连接件)
新增消息AM
删除消息DM
交换消息顺序SMO
反转消息发送接收对象OM
改变消费发送或接收对象CMM
复合片段演化:对象交互关系的控制流描述(连接件)
新增复合片段AF
删除复合片段DF
改变复合片段类型FTC
改变符合片段内部执行条件FCC
约束演化
新增约束AC
删除约束DC
分类方法
按照实现方式和实施粒度
基于过程和函数
面向对象
基于组件
基于架构
针对演化过程是否处于系统运行时期
静态演化
阶段
设计时演化
运行前演化
维护方法
更正型维护
适应性维护
完善性维护
步骤
软件理解
需求变更分析
演化计划
系统重构
系统测试
动态演化
阶段
有限制运行时演化
运行时演化
需求来源
内部执行导致的架构改变
外部请求对软件信息重配置
动态性级别
交互动态性
结构动态性
架构动态性
包含
属性改名
行为变化:用户需求变化,比如主题修改
拓扑结构改变:系统接入
风格改变:衍生架构变化,层次从两层变三层
主要技术
动态软件架构DSA
动态重配置DR
关注的质量属性
可维护性:组件图
可靠性:用例图,部署图,顺序图
评估方法
基于度量的架构演化评估:对每个版本的质量属性进行评估,计算相邻版本的质量进行比较计算
分类
演化过程已知
演化过程未知
架构维护
过程
架构知识管理:
是对架构隐含的决策来源进行文档化表示;
架构知识=架构设计+结构设计决策
侧重软件开发到实现过程涉及到的架构静态演化
架构修改管理:强调隔离性,保障对未修改部分的影响较小或者没有影响
架构版本管理:为使用和评价提供可靠依据,是架构演化度量的基础
架构复用
产品线:面向业务流的一个共享公共的,可管理的特性集合
类型
机会复用
系统复用:事先规划
基本过程
获取到可以复用的软件资产
管理资产
选可复用构件
架构风格
描述某一特定应用领域中系统组织方式的惯用模式,反应了领域中众多系统所共有的结构和语义特征
词汇表
构件和连接件
约束
如何将这些构件和连接件组合起来
类型
数据流风格:数据流按照一定的顺序从前到后执行程序
批处理
构件间通过数据交互,前一步结束后后一步才能开始
管道过滤器
前一个构件的输出是后一个构件的输入
调用/返回风格:显示调用
主子程序
面向对象
层次风格:某层修改最多影响相邻的两层,允许每层用不同的方法实现
两层C/S架构
三层C/S架构:业务逻辑层独立,通信效率变低
三层B/S架构:安全难以控制,缺乏对动态页面的支持能力,响应速度低于CS
实际应用架构
.NET:只能在微软上开发运行
J2EE:多层分布式应用程序模型,跨平台
客户层
Web层
业务层
信息系统层
富互联网应用RIA:小程序
MVC架构:view不安全
控制器:处理用户交互
模型:数据逻辑
视图:处理数据显示
MVP架构:使用presenter切断了View和model的联系
MVVM
独立构件风格:构建间通过事件触发
进程通信
事件驱动(隐式调用):触发或广播事件,调用这个事件注册的过程
虚拟机风格:自定义规则
解释器:虚拟机,执行效率低
解释引擎
代码存储区
记录工作状态和执行状态的数据结构
基于规则的系统-决策支持系统,人工智能等
仓库风格:数据共享
数据库系统
超文本系统
黑板系统
知识源
黑板
控制
闭环控制:反馈循环
C2
面向服务架构风格SOA
粗粒度,松耦合的服务架构
特点
粗粒度
标准接口,主要是WSDL
实现与语言无关
通过容器提供Qos(网络安全)的服务
关键技术
服务发现UDDI:用于WEB服务注册,发现,集成
WSDL(WEB Service描述语音):用于描述服务,定义了服务的访问点
SOAP:用于服务传递消息,用于交换XML编码信息
XML:定义数据格式,用于数据交换
实现方式
WEB Service
服务提供者
服务注册中心
服务请求者
服务注册表
服务注册
服务位置
服务绑定
企业服务总线ESB
特点
对各种服务进行连接和整合,起到总线作用
描述服务的元数据和管理服务注册;
传输数据对数据进行转换,发现,路由,匹配和选择服务
构成
客户端
中间件
核心集成服务
特定领域(行业)的软件架构DSSA
生命周期
领域分析
领域设计
领域实现
人员角色
领域专家
业务专家
技术专家
领域分析人员
领域设计人员
领域实现人员
过程
定义领域范围
定义领域特定元素
定义领域的特定设计和实现需求的约束
定义领域模型和架构
产生、收集可复用的单元产品
三层次模型
基于架构的软件开发ABSD
强调视图和视角来描述软件架构,采用用例和质量属性场景来描述需求
过程
架构需求
架构设计
架构文档化:需求规格说明书,质量设计说明书
架构复审:外部人员参加
架构实现
架构演化
设计模式
基本要素
模式名称
问题
解决方案
效果
类型
创建型
抽象工厂模式
构造器模式(建造者模式)
工厂方法模式
原型模式(多例模式)
单例模式
结构型
适配器模式:转换,兼容接口
桥接模式bridge:抽象和实现分离
组合模式:整体-部分,树形目录
装饰器模式:动态的附加职责Decorator
外观模式(门面模式):对外统一接口
享元模式:提供大量细粒度对象共享的方法
代理模式
行为型
责任链模式:传递请求和职责
命令模式Command:日志记录,可撤销
解释器模式:虚拟机
迭代器模式:顺序访问,不暴露内部
中介者模式:不直接引用
备忘录模式memento
观察者模式:通知,自动更新
状态模式:状态与类对应
策略模式:根据策略或算法替换
模版方法模式
访问者模式:数据与操作分离
惯用法:关注软件设计和实现,通过某种特定的程序设计语音实现
系统质量属性
质量属性
性能:响应能力
主要指标:响应时间,吞吐量
详细指标
计算机
时钟频率(CPU主频)
运算速度
运算精度
内存存储容量
存储器的存取周期
数据处理速率
吞吐率
RASIS特性
可靠性
可用性
可维护性
完整性
安全性
平均故障响应时间
兼容性
路由器
设备吞吐量
端口吞吐量
丢包率
延时
延时抖动
交换机
最大ATM/SONET端口数
支持网络类型
网络
吞吐量
设备级,网络级,应用级,用户级性能指标
操作系统
可靠性
吞吐率
响应时间
资源利用率
可移植性
数据库管理系统
数据库大小
表数量
单表大小
允许行数
单行大小
表、库允许索引数量
并发事务
最大连接数
负载均衡
WEB服务器
最大并发连接数
响应延时
吞吐率
性能评价方法
时钟频率:越高越快
指令执行速度
等效指令速度:是通过各类指令在程序中所占的比例(W)进行计算得到的,
数据处理速率:越大越好
基准程序法(benchmark):用的最多,最频繁的那部分核心程序作为评价计算机性能的标准程序,准程序法不但考接到了CPU(有时包括主存)的性,还将IO结构、操作系统 编泽程序的效率等对系统性能的影响考虑进来了
整数测试程序
浮点测试程序
SPEC基准程序
TPC基准程序
TPC-C在线事务
TPC-D决策支持
TPC-E大型企业信息服务
准确度程度
真实程序
核心程序
小新基准程序
合成基准程序
性能计算
阿姆达尔定律:对系统重某一部件采用某种更快的执行方式获得的系统性能改变,获得的改变程度取决于这种方式的使用频率或者所占总执行时间的比例;
优化策略:优先级队列,增加计算资源,减少计算开销,引入并发,资源调度
可用性:系统能够正常运行的时间比例(优先选可用性)
指标:故障间隔时间
优化策略:心跳,Ping,冗余,选举
可靠性:意外或者错误使用的情况下维持软件系统的能力
指标:MTTF,MtBF,MTTR
优化策略:心跳,Ping,冗余,选举
软件可靠性
概念:规定条件下和规定时间完成规定功能的能力
与硬件可靠性区别
复杂性高
不存在物理退化
软件是唯一的
版本更新快
定量描述
规定时间
失效概率
可靠度=1-失效概率
失效强度
平均无故障时间MTTF
平均恢复时间MTTR
平均故障间隔时间MTBF=平均无故障时间+平均恢复时间
串并联系统可靠性
串联系统可靠性R=R1*R2*....*Rn
并联系统珍格格系统的可靠性R=1-(1-R1)*(1-R2)*......*(1-Rn)
可靠性建模
定义:预计可靠性所建立的框图和数学模型
影响因素
运行环境
软件规模
内部结构
开发方法和开发模型
可靠性投入
过程
模型假设
代表性假设
独立性假设
相同性假设
性能度量
参数估计方法
数据要求,
可靠性设计
主要技术
检错设计
容错设计:冗余
N版本程序设计
设计思想:N个相同功能的程序同时执行一项计算,通过多数表决器来选择。N个版本必须由不同的人设计,使用不同的方法和设计语音,开发环境和工具来实现
恢复块方法:多重模块的代际储备
类型
热备份
冷备份
应用
双机容错技术
双机热备
双机互备
双机双工
集群技术
特点
可伸缩
高可用
可管理
高性价比
高透明
负载均衡
基于特定软件的负载均衡(应用层):重定向
基于DNS的负载均衡(传输层):一个域名面对更大流量和更大集群
基于NAT的负载均衡
反向代理负载均衡
混合型负载均衡
防卫式程序设计:在程序中包含错误检查代码和错误恢复代码
降低复杂度设计
可靠性管理
可靠性测试
狭义:根据测试用例在预期的环境中实施
广义:对整体进行测试分析
安全性:系统想合法用户提供服务同时组织非授权晕乎访问的能力
指标:保密性,完整性,不可抵赖性,可控性
优化策略:入侵检测,用户认证,用户授权,追踪审计
可修改性:较高性价比对系统进行变更的能力
优化策略:接口-实现分类,抽象,信息隐藏
功能性:系统期望完成的工作
可变性:架构扩充或者变更成为新的架构的能力
互操作性
质量属性场景
刺激源
刺激
环境
制品(刺激受体)
响应
响应度量
架构评估
敏感点:实现某种特定质量属性,一个或者多个构建所具有的特性
权衡点:影响多个质量属性的特性,是多个质量属性的敏感点
风险点
评估方式
问卷方式
度量方式
场景方式
基于场景的架构分析方法SAAM:主要测试可修改性,评估机构的最终版本
相关输入
评估步骤
架构权衡分析法ATAM:以质量属性为架构评估的核心概念,主要针对性能,可用性,安全性,和修改性
主要活动
场景和需求收集
架构视图和场景实现
属性模型构造和分析、折中
成本效益分析法CBAM:在保障质量属性的前提下,根据投资效益来选择合适的架构
软件项目管理
进度管理
过程
活动定义
活动排序
活动资源估算
活动历时估算
进度计划编制
进度控制
图形描述方法
甘特图GANTT:反应任务的并行关系
项目计划评审技术图PERT:反应了任务之间的依赖关系
关键路径法???????????????
关键路径
从开始到结束,时间最长的路径
关键活动:关键路径上的活动
最早开始时间
最早结束时间
最迟结束时间
最迟开始时间
浮动时间
配置管理
系统的控制配置变更,维持配置的完整性和可跟踪性
主要活动
制订配置管理计划
配置标识
配置控制
配置状态报告
配置审计
发布管理
交付
配置项
状态
草稿
正式
修改
分类
基线
非基线
主要属性L名出,标识符,文件状态,版本,作者,日期等
包括项目计划书,需求文档,设计文档,源代码,可执行代码,测试用例,运行所需的数据,支持工具和软硬件
质量管理
过程
质量规划:识别要求和标准
质量保证:质量审计,软件评审和过程分析
质量控制:实时监控具体结果
风险管理
过程
风险管理计划编制
风险识别
风险定性分析
风险定量分析
风险应对计划编制
消极风险
积极风险
风险监控
分类
项目风险
技术风险
商业风险
市场
策略
销售
管理
预算
中间件技术
分布式系统中,位于客户机/服务器的操作系统之上,应用程序之下,管理计算机资源和网络通信
基本功能
负责客户机与服务器之间的连接和通信,客户机与应用层之间的高效率通信机制。
提供应用层不同服务之间的互操作机制,应用层与数据库之间的连接和控制机制
提供一个多层架构的应用开发和运行的平台,一个应用开发框架,支持模块化的应用开发。
屏蔽硬件、操作系统、网络和数据库的差异。
提供应用的负载均衡和高可用性、安全机制与管理功能,以及交易管理机制,保证交易的一致性。
提供一组通用的服务去执行不同的功能,避免重复的工作和使应用之间可以协作。
类型
数据库访问中间件:ODBC,JDBC
远程过程调用RPC:Netty
面向消息中间件:MQ,Kafka
分布式对象中间件
事务中间件:seta
数据库
三级模式-两级映射
三级模式
内模式:管理如何存储物理的数据,对应具体物理存储文件
模式:概念模式,通常意义上的基本表
外模式:对应数据库的视图级别,将表进行一定处理后再提供给用户
两级映射:目的数据库发生改变,应用程序不用修改
外模式-模式映射:视图和表之间的映射,存在与外模式和概念模式之间,数据变化只需要修改映射,不用改应用程序
模式-内模式映射:存在与表和数据的物理存储之间的映射,存储方式发生变化,只需要改映射,不用改应用程序
数据库设计
需求分析
产出:数据流图,数据字典,需求说明书
步骤:获取信息要求,处理要求,系统要求
概念结构设计
产出:E_R图
步骤:选择局部应用,逐一设计分ER图,ER图合并
合并时存在冲突
属性冲突:同样的属性在不同的ER图
命名冲突:相同意义的属性在不同的ER图中,命名不一
结构冲突:不同ER图中同一个对象被抽象成不同的定义,不如属性和实体
逻辑结构设计
产出:关系模式
步骤:确认数据模型,将ER图转换成数据模型,确定完整性约束和用户视图
物理设计
产出:实际物理存储对象
步骤:数据分布,存储结构,访问方式
数据库实施
数据库运行和维护阶段
数据模型
分类
概念模型:用户的角度进行建模-ER图
关系模型:用二维表的形式表示实体-联系模型,列(属性)行(元组)构成的二维表
网状模型
面向对象模型
三要素
结构
操作
约束条件
E-R图
构成:由一组实体基本对象和对象之间的联系构成
椭圆:属性
长方形:实体
菱形:联系,两端要填写联系类型
码:唯一表示实体的属性集
联系类型:(一对一或者一对多,或者多对多),方向确定:一或者多值得是与连线直接相连接的实体的数量
域:属性的取值范围
弱实体:长方形带两条竖线,依赖强实体存在,通过圆圈连线关联
属性分类:简单,复合,单值,多值,NULL,派生
转换为关系模型
每个实体都对应一个关系模式
联系有1:1,1:N,M:N三种
1:1联系放到任意的两端实体中作为一个属性
1:N联系可以在N端中加入1端的实体主键
M:N联系必须作为一个单独的关系模式,其主键是M和N端的联合主键
关系代数运算
并:记录合并,想通记录只显示一次
交:相同记录
差S1-S2:s1有S2没有的记录
笛卡尔积S1*S2:包括s1和S2的所有列,并且S1的每一条记录依次与S2中的所有记录组合成一条记录,数量为S1*S2
投影:按条件选择某关系模式中的某列(select)
选择:按条件选择某关系模式中的某条记录(where)
自然连接:显示全部的属性列,但是相同的属性列只显示一次,显示属性相同且值相同的记录(对笛卡尔积做列投影和行选择运算)
函数依赖
定义:给出一个X能唯一确定一个Y,X确定Y,Y依赖与X
部分函数依赖:A确定C,(A,B)也确定C,这(A,B)中一部分可以确定C
传递函数依赖:A确定B,AB不等价,B确定C,则A可以确定C
公理系统Armstrong?????????单独找资料学习
键和约束
键
超键:唯一标识此表的属性集合
候选键(码):超键中去掉冗余属性
主键:任一个候选键
外键:其他表单的主键
主属性:组成候选键的属性
约束
实体完整性:主键约束,不能为空不能重复
参照完整性:外键约束,其他表主键或者为空
用户自定义完整性:自定义表达式约束,比如取值范围
规范化:范式
第一范式1NF:每一个分量必须是一个不可分割的数据项,不存在复合属性
第二范式2NF:如果R属于第一范式,每一个非主属性完全函数依赖任何一个候选码,消除了非主属性对码的部分函数依赖(只存在于联合主键的情况中,单主键必定是第二范式)
第三范式3NF:满足第一范式的基础上,不存在非主属性对码的传递函数依赖,非主属性不会依赖复合主键的某一列
BC范式:在第三范式的基础上,消除了主属性对码的部分函数依赖和传递函数依赖???????????
反规范化:牺牲部分规范化来提高查询性能
益处
提高效率
减少表的数量
减少外码和索引数量
问题
数据冗余
一致性问题,可能会降低修改速度
维护复杂
手段
增加冗余列
减少链接操作
增加派生列
减少链接操作,避免函数计算
重新组表
多个表重新组成一个新表,减少链接查询
水平分割
垂直分割
模式分解:将具有部分函数依赖和传递函数依赖的属性分解出来?????
保持函数依赖:分解出来的多个关系模式,保持原有的依赖集不变
无损分解:分解出的关系模式能够还原出原关系模式
事务并发控制
特性:操作要么全做,要么全不做
原子性
一致性
隔离性
持久性
并发问题
丢失更新
不可重复读
读脏数据
封锁协议
X锁(排他锁,写锁)
S锁(共享锁,读锁)
三级封锁协议
一级:解决丢失更新:事务在修改数据的时候必须加X锁
二级:解决丢失更新和脏读:在一级封锁协议基础上,在读数据前加S锁,读完释放
三级:解决丢失更新,脏读,不可重复读,在一级封锁协议基础上,在读数据前加S锁,在事务结束后释放
数据库安全
安全措施
用户标识和鉴权:口令
存取控制:操作权限,访问权限
密码存储和传输
视图保护
审计:操作日志
故障
事务本身可预期的故障:rollback
事务本身不可预期的故障:undo
系统故障:检查点恢复
介质故障:日志重做恢复
备份
冷备份:静态转储:转储期间不允许任何数据库操作,只能提供某一时间点上的恢复
热备份:动态转储:转储期间允许对数据库进行存取操作,可达到秒级恢复,出异常后果严重
日志文件:事务开始,结束,对数据库的插入,删除,修改的每一次操作都写入日志文件,发送故障后便于回退和恢复
分布式数据库
定义:局部数据库位于不用的物理位置,使用一个全局的DBMS将局部数据库联网管理
分片模式
水平:按行分片
垂直:按列分片
分布透明性
分片:用户不需要知道具体如何分片存储
位置:不需要关注存储物理位置的改变
逻辑:不需要关注局部使用了那种数据模型
复制:不需要关注复制数据从哪里来
数据仓库
定义:面向主题,集成的,非易失的,随时变化(新增)的数据集合,用来支持管理决策
特点
面向主题:按照一定的主题域进行组织
集成:原有分散的数据进行ETL,消除了数据的不一致性以保障仓库内信息是全局一致的
相对稳定:通常只有新增,很少有修改和删除
反应历史变化:保存了过去某一时间到到现在的各个阶段的全部信息
构成
数据源:仓库基础,具体功能链接
数据存储和管理:仓库核心,具体操作建模,集成,计算
OLAP:挖掘,分析
前端工具:展现
BI系统
预处理:ETL
建立数仓
数据分析:OLAP和数据挖掘
数据展现
大数据
特点
大量
多样化
低价值密度
快速化
与传统数据比较
SQL
关键字
查询
未来信息综合技术
信息物理系统CPS
控制系统,嵌入式系统的延伸,本质上是一个闭环赋能系统
架构
单元级CPS
系统级CPS
Sos级别:多个系统级的CPS有机的组合在一起
技术体系
总体技术
支撑技术
核心技术
技术要素
一硬(感知和自动控制)
一软:工业软件
一网:工业网络
一平台:工业云和智能服务平台
人工智能
关键技术
自然语言处理NLP
机器翻译
语义理解
问答系统
计算机视觉
人机交互HCI
机器学习ML
需要提供样本集
监督:需要提供样本集
无监督:
半监督
强化学习:需要反馈机制
学习方法
传统机器学习
深度学习:需要大量的训练数据集和CPU
虚拟现实或增强现实(VR/AR)
机器人
核心技术
云-边-端的无缝协同计算:云提供算力和存储;边缘侧用来处理数据实现协同和共享;机器人端实现实时操作
持续学习和协同学习
知识图谱
场景自适应
数据安全
边缘计算
本质是云计算在数据中心之外汇聚节点的延伸和演进
落地形态
云边缘:云在边缘侧的延伸
边缘云:在边缘侧部署小型云
云化网关
特点
联接性
数据第一入口
约束性:适配工业现场的各种恶劣条件
分布式
边云协同
资源协同
数据协同
智能协同
应用管理协同
服务协同
数字孪生
跨层级,跨尺度的现实世界和虚拟世界建立沟通的桥梁
关键技术
建模
仿真
其他技术。
云计算
包含
平台:基础设施
应用
服务方式
软件即服务Saas
平台即服务Paas
基础设施即服务Iaas
部署方式
公有云
私有云
社区云
混合云
大数据
特点
大规模
高速度
多样性
低价值
复杂性
可变性
AI芯片
架构
GPU显卡芯片
FPGA:半定制
ASIC:专用芯片
知识产权
概述
智力成果和科技成果的民事权
分类
著作权
专利权
商标权
商业秘密权
植物新品种权
集成电路布图设计权
地理标志权
特性
无体性:没有具体形体
专有性
地域性:只能在该国范围内受法律保护
时间性:仅在法律规定期限内受保护
保护期限
作品
公民,发表权,使用权,获得报酬权,作者终身和死后50年
单位,50年
软件:50年
商标:有效期10年
专利:保护期20年,使用新型和外观专利10年
商业秘密:不确定
知识产权人
职务作品:没约定归公司
委托作品:没约定归创作方
侵权判定
不论是否发表,都享有著作权,思想,处理过程,操作方法,数学概念不受保护
判定依据
标准划分
国际标准:ISO,IEC
国家标准:GB
行业标准:IEEE, GA公安, YD通信
区域地方标准:EN 欧洲
企业标准: Q/xxxxxx
数学
最小生成树:取每一级最小的边,连接所有节点,且不产生环路为止
最短路径 :算出从起点到终点间所有节点的最短路径
网络与最大流量:取决于短板,实时更新
线性规划:寻找目标函数的极值
动态规划:穷举或者特殊值法
伏格尔法?????????
博弈论????
状态转移矩阵???
排队论???
决策论???
决策树???
案例
架构设计(必做)
质量属性效用树
架构风格
必背概念
架构风格
风险点,敏感点,权衡点
系统开发(软件工程)
建模和各种图
结构化
功能模型与图
行为模型与图
数据模型与图
数据字典
面向对象
UML
类图关系
组合
关联
泛化
依赖
用例关系
包含
拓展
泛化
活动图
状态图
用例和分析模型
项目管理
gantt图:并行无依赖
PERT图:依赖无并行
关键路径:时间最长的路径
信息安全
PGP为例
数据库(偏向新技术)
考点
关系范式,内存,Nosql
反规范化,主从,负载均衡等
ORM:关系型数据库与对象之间的映射
内存技术:memcache,redis
并发:问题与三级封锁协议
嵌入式
不要选,偏离过大
Web应用开发
结合架构进行新技术考察
论文
0 条评论
下一页