软件设计师考试

软件设计师考试

计算机组成原理

上午6分
考纲
image-20201029192506075

数据的表示

image-20201029193529885
十进制转任意进制
image-20201029193731841
二进制转八进制和十六进制
image-20201029194022253

原码,补码,反码,移码

元数据用二进制表示
原码:不足八位补0,正数最高位是0,负数是1,原码不能直接用来做运算
反码:如果是正数,则和原码相同,如果是负数,符号位不动,其他位按位取反
补码:如果是正数,则和原码相同,如果是负数,在反码的基础上加1,补码相加得到0
移码:(在浮点运算中做接码),在补码的基础上,将首位取反
image-20201029195211515
取值范围
image-20201029195311556

浮点数的表示

image-20201029201507114

计算机结构

运算器:
ALU:算数逻辑单元
AC:是一个通用寄存器。其功能是,当运算器的算术逻辑单元(ALU)执行算术或逻辑运算时,为 ALU 提供一个工作区。累加寄存器暂时存放 ALU 运算的结果信息。
DR:对内存储器进行读写操作时候用来暂存数据的寄存器
PSW:存储运算过程中相关标志位,进位,溢出等,状态的信息需要保存
控制器:
PC:是用于存放下一条指令所在单元的地址的地方。
IR:指令寄存器,用于存放当前从主存储器读出的正在执行的一条指令。
地址寄存器(AR)用来保存当前 CPU 所访问的内存单元的地址。由于在内存和 CPU 之间存在着
操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读/写操作完成为止。
image-20201029202058303

Flynn分类法

image-20201029203015814

SISC和RISC(慢和快)

image-20201029203138312

流水线

基本概念
取值,分析,执行依次执行(浪费时间)
由不同的部件执行
image-20201101091959374
计算问题
流水线周期:各个步骤中,时间最长的那个
周期计算:max(a1,a2,a2...)
总时长:(t1+t2+t3+...)+(n-1)*周期
image-20201101092643457
吞吐率
image-20201101092959306
加速比
不使用流水线的时间/使用流水线的时间
image-20201101093109244
效率问题
每一段的周期相等的情况下,效率往往最高
E = 阴影区域/总面积
image-20201101093450048

计算机层次化存储结构

Cache:高速缓存区,按照不同的内容进行存取,之间和CPU进行频繁的交互,依靠局部性原理
image-20201101094258825

Cache

Cache中储存的内容是主存部分内容的复本,是按程序的局部性原理选取出来的最常使用或不久将
来仍将使用的内容。
image-20201101094640050

时间局部性,空间局部性

时间局部性:刚刚访问完的数据再次访问
空间局部性:对于数组,刚访问过的地址,接着访问他的临接地址
工作集理论:是进程运行时被频繁访问的页面集合

主存-随机 只读存储器

内存:RAM,一断电就没了
image-20201101095332832
编址
image-20201101100156194

磁盘工作原理

image-20201101102457307
试题
image-20201101103228706 image-20201101103050776

总线

数据总线:32位计算机,一个字就是32个bit位,总线的宽度就是32个bit位,一个周期能够传输的数据量就是32bit位
地址总线:2的32次方(4G)
控制总线:
image-20201101103344632

串联系统和并联系统的可靠度计算

image-20201101103929055
模冗余模型(几乎不考)与混合模型(常考)
image-20201101104205415 image-20201101104305248

校验码的概念

链路层基本上错一位
image-20201101104651405

循环校验码CRC

原始报文后面补位数-1个0
image-20201101105506464

海明校验码

image-20201101110244947

操作系统

概述

image-20201101110704570 image-20201101135314914

进程状态转换图

image-20201101135420049

前驱图

image-20201101140059500

进程的同步和互斥

image-20201101140522093 image-20201101141104013

PV操作

解决并发问题(加锁解锁问题)
image-20201101141353464 image-20201101141845229
练习题
模拟约束条件,先去掉约束,再推出问题
有约束前加一个p操作,执行操作后给别人一个信号量,给一个v操作
image-20201101143040030

PV操作和前驱图

从左到右,从上到下
image-20201101143337191 image-20201101143755136

死锁问题

image-20201101144140357

死锁的预防和避免

有序资源分配法:利用率低
image-20201101144354754
银行家算法
image-20201101144445915 image-20201101144626402

分区存储组织

空白区域:上次在这里的程序运行完毕后留下的
最佳适应法:容易产生碎块
循环首次适应算法:25->19->10	第一次从25里面找适应的,第二次从19里面找,第三次从10里面找,依次再继续循环
image-20201101145101824

段,页式存储

页式存储
逻辑地址和物理地址之间的转化
内存中划定一个用户区域,供用户程序使用,往往是将用户程序整体的调入内存中,意味着如果用户程序大于内存时,将不适用,而且内存可能没有连续的空间供程序调入
页式存储:将用户程序分成等分的页
优点:利用率高,碎片小,分配及管理简单
缺点:增加了系统开销(查表),	可能产生抖动现象
image-20201101150421011
页式练习题
后三位是页内地址,第一位是页号,直接找到物理块号,组成物理地址
只淘汰状态位为1的,并且访问位为0的页面
image-20201101150758386

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RoVkHKsH-1604307209612)(E:\md笔记文件\images\image-20201102150648621.png)]

image-20201102150611853
段式存储
段的大小不要求一致,按照逻辑分段,便于共享
缺点:内存利用率低,内存碎片较大
image-20201101151514627
段页式存储
image-20201101151547251
块表
image-20201101151617380

页面淘汰算法

最优算法(OPT):理论层次的算法
先进先出(FIFO):抖动,加了页面缺页率反而增加了
最近最少使用(LRU):
image-20201101152224485
FIFO抖动现象
image-20201101152543193
练习题
image-20201101153049481

索引文件结构

image-20201101153243697
练习题
image-20201101153844373

树形目录结构

image-20201101154052249

空闲空间管理

位示图
第多少字:从1开始算
第多少位:从0开始算
image-20201101154254407

数据传输控制方式

程序控制方式:反复询问
程序中断方式:
DMA(直接存储器访问方式):DMA 将数据从, 一个地址空间复制到另外一个地址空间时,CPU 初始化这个传输动作,传输动作本身是由 DMA 控制器来执行和完成。
image-20201101154711824

虚设备和Spooling技术(缓冲区,排队机制)

image-20201101155109716

微内核操作系统

最为核心的放在内核里面,出问题小的可能变小,外部不干涉内核
用户态,核心态
image-20201101155322876

数据库

概要

数据库模式
ER模型
关系代数和元组演算
并发控制
数据库完整性约束
---------------下午案例分析和论文中------------------
分布式数据库
数据仓库于数据挖掘

三级模式两级映射

image-20201020200632500
内模式:管理我们如何去管理数据,按什么格式,如何优化							 物理级数据库
概念模式:平常我们用数据库时表这个级别,数据分成若干张表				       概念级数据库
外模式:数据库中的视图,更加方便,更加安全									用户级数据库

数据库的设计

image-20201020201513188
需求分析:数据流图,数据字典,需求说明书
ER模型转成关系模式(文字表达,一个一个表的形式) 规范化理论(重要)

ER模型

image-20201020201951578
多对多关系:N - M
实体:多个属性  □表示
联系:尖括号
---------------------
逐步集成:简单不容易出错,但是耗时
属性:两个表都有老师这个属性,但一个是用的男女表示,一个是用t f表示
命名冲突:同名异义,异名同义
结构冲突:老师这个词即是一个表名,又是另一个表的一个字段
image-20201020202415524
image-20201020203247859
1 - 1 时:可以建立两种,练习可以在左边也可以在右边
1 - N 时:将练习建立在N那边,例如(员工和部门的关系)
N - M 时:至少转成三个关系模式(实体转为一个,联系转为一个)
image-20201020203957254

关系代数(选择题)

笛卡尔积:所有的字段全部列出来,前一个表中每一条记录都得和后面表中每一条记录拼接
投影:π
选择:
联接:
image-20201020210541390

联接操作:

​ 等值连接:不相等去掉(自然连接)

规范化理论-函数依赖

函数关系:一个x确定一个y,y不能确定x
学号-->姓名,这是一种函数依赖
1:部分函数依赖	A+B-->C&&A-->C
2:传递函数依赖	A-->B&&B-->C-->A-->C&&A!=B
image-20201021082231243

规范化理论-价值和用途

非规范的关系模式,可能存在:数据冗余,更新异常,插入异常,删除异常
数据冗余:DNO可以唯一确定系名,DNO也可以知道位置,没必要存储多遍
更新异常:改DNAME必须将三个字段的全部数据进行更改
image-20201021083124690

规范化理论-键

超键:唯一标识元组,存在数据冗余
候选键:不存在数据冗余
主键:从候选键中选一个,唯一的
外键:其他关系的主键(关联查询)
image-20201021083924790

规范化理论-求候选键

image-20201021084823882
解题方法:
找入度为零的节点,如果能遍历整个图,就是候选键
题一:A1
题二:ABCD
题三:如果没有入度为零的节点,则找既有入度又有出度的中间节点
	 A和B
image-20201021084704666
image-20201021085143996
image-20201021085538535

规范化理论-范式

原子值:一个属性不能拆分成多个属性
主属性:属于候选键的一部分
非主属性:
image-20201021090031095

第一范式:

image-20201021090326308

第二范式:(消除部分函数依赖)

候选键为SNO和CNO的组合键
而CNO可以唯一确定CREDIT,存在数据冗余
解决方法:
将CNO和CREDIT组成一个表,消除冗余
插入异常:新来的一个课程,还没人选,CNO=C08 CREDIT=6,无法插入,没有课程号这个主键
image-20201021090631856

第三范式:

存在冗余数据
解决方法:
		将DNO DNAME LOCATION 独立出来成为一个关系模式
image-20201021091327739

BC范式

查看所有的函数依赖,看左边是不是候选键
SJ->T
T->J 而T不是候选键,所以该式子不是BC范式
image-20201021091947924
image-20201021101749551

规范化理论-模式分解

1:拆分时候继续保持函数依赖
2:无损分解,通过一系列操作之后又能还原到原来的关系模式
image-20201021102446248

模式分解案例:

image-20201021104528783

并发控制

image-20201021105611540
事务
原子性:要么不做,要么全做
一致性:事务执行之前,数据是一致的,转账完成前后,数据总和是一致的
隔离性:事务之间各不影响
持续性:结果影响是持续的
并发控制-存在的问题
image-20201021111321950

封锁协议
image-20201021112610183

数据库完整性约束

作用:提高数据可靠性
实体完整性约束:主键不能为空,不能重复
参照完整性约束:外键约束(外键必须是对应表中正确的部门号,也允许为空)
用户自定义完整性约束:自己定义的约束条件(x>=0)等等
--------------------------------------------
触发器:写脚本来约束数据库的要求,编写更加复杂的要求

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bIAJhENW-1604307209615)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201021203239338.png)]

数据库安全

用户标识和鉴定:密码输入和校验
存取控制:对用户授权
密码存储和传输:对远程终端信息用密码传输
视图的保护:对用户进行视图的授权
审计:用日志记录下来用户的操作,分析记录
image-20201021204301679

数据备份

分类方法一
冷备份:也称为静态备份,是将数据库正常关闭,在停止状态下,将数据的文件全部备份下来
        优点:速度快,安全,低度维护,容易恢复,
        缺点:必须停下来,无法工作
             不能按表或用户恢复
热备份:也称动态备份,是利用备份软件,在数据库正常运行的状态下,将数据库中的文件备份下来
		优点:灵活度高,可以精确恢复或者备份某个表,备份时间短,无需停止数据库
        缺点:复杂度高
        	 不允许出错
image-20201021204853613
分类方法二

完全备份:
差量备份:针对完全备份的数据
增量备份:针对上一次备份的数据
image-20201021205449052
简单备份方案:
完全备份->增量备份->增量->增量->差量备份->增量->增量
image-20201021210015853
分类方法三
image-20201021210455437
日志文件
日志文件:针对数据库改变所做的记录,记录sql语句,当发生错误时,可以快速执行相同操作还原现场

故障和恢复问题

image-20201021211023424

数据仓库和数据挖掘

数据库:将用户数据存在数据库中,当数据库中的数据越来越多时,数据库整体性能下降,此时可以删除一些数据来优化性能(删除历史数据)
数据仓库:将数据库中的数据进行抽取,清洗(去除冗余,格式统一等),装载,刷新   将一些历史数据提取出来,单独在一个库中,形成数据仓库(主要是用来分析的数据,不需要进行更新和插入),组织特定的数据
数据集市:将数据仓库一步步进行加入,形成数据集市(降低风险)
OLAP服务器:做分析处理工作
数据前端工具:........
特点:面向主题
	 集成的
	 相对稳定性
	 反映历史变化
image-20201021212051948
数据挖掘:挖到人类未知的数据,应用于商业领域
		对各类的行情数据进行挖掘分析,找出合适的方案,利用不同的算法解决这类问题
image-20201021212932531

反规范化

空间换时间的思想,提高查询速度,降低规范化
image-20201021213926078

大数据

Volume 数据量
Velocity 速度
Variety 多样性
Value 值
大数据分析:对你日常生活进行分析,对你推送你喜欢的内容
315事件:售卖cookies个人信息
image-20201021214832247

计算机网络

七层模型

物理层:传输二进制数据,低电平和高电平 主要设备是中继器(信号过远中转站)和集线器(多端口的中继器)
数据链路层:传送以帧为单位的信息	网桥(连接两个同类型的设备)	交换机(多端口的网桥,连接多个设备) 网卡
网络层:分组传输和路由选择	三层交换机,路由器(路径选择)
传输层:端到端的连接	TCP/UDP协议
会话层:建立、	管理、和终止对话
表示层:数据的格式与表达、加密、压缩
应用层:实现具体的应用功能
---------------------------------------------------------------------------------------
局域网:工作在下面两层,典型设备是交换机,通过广播进行交换数据
image-20201022090817770

网络技术标准与协议

TCP/IP协议:Internet,可扩展,可靠,应用最广,牺牲速率和效率
IPX/SPX协议:NOVELL,路由,大型企业网
NETBUI协议:IBM,非路由,快速
----------------网络层-----------------
ICMP:Internet网的控制协议(比如ping命令)
ARP(地址解析,ip转mac地址)
RARP(反向地址解析,mac转ip)
-----------------传输层----------------
TCP:可靠,有验证机制,有反馈信息,三次握手活动
UDP:只把数据发到目的地址
----------------应用层_基于TCP-----------------
Http:超文本传输协议
FTP:文件传输协议
Telnet:远程登录协议
POP3和SMTP:邮件传输协议
----------------应用层_基于UDP-----------------
DHCP:局域网内动态分配ip地址
TFTP:小文件传输协议
SNMP:简单网络管理协议
DNS:域名解析
----------------应用层_基于UDP或TCP-----------------
文件共享协议
Samba:可以跨平台
CIFS:
NFS:
HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的 HTTP 通道,是 HTTP
的安全版。HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议。
image-20201022091549972 image-20201022091747201

DHCP协议

静态分配ip地址是不方便,麻烦的
客户机/服务器模型
默认租约为8天,8天不使用就会更改或者收回
租约过半,客户机需要重新向DHCP服务器申请租约
当租约超过87.5%时,如何还没联系上当初提供ip地址的DHCP服务器,就开始联系其他DHCP服务器
---------------------------------------------------------------------------
windows:169.254.x.x
linux:0.0.0.0
说明客户机没有和DHCP服务器联系上,对应地址是假地址
image-20201022093025846

DNS协议

DNS:域名和IP地址之间的转换
递归查询:按照数字之间的顺序进行递归查询
		主机向本地域名服务器
迭代查询:本地域名服务器向根域名服务器的查询
递归和迭代配合使用
---------------------------------------------
如果单纯使用递归查询,会使得根域名服务器负担重,效率低
域名查询记录:先HOSTS表,再本地DNS缓存,然后再查找本地DNS服务器,再根域名服务器,顶
级域名服务器、权限域名服务器。
image-20201022094051617
解题分析:递归查询不会直接返回结果
		迭代查询是直接返回结果的
image-20201022103038765

计算机网络的分类-拓扑排序

按分布范围分:局域网(LAN),城域网(MAN),广域网(WAN),因特网
按拓扑结构分:
总线型:一条总线控制信息
星型:一个中心点控制信息(存在单点故障的问题)
环型:单点故障,可以从另一边绕过去
----------------------------------------------------
办公室网络:星型网络,中心点(交换机)
image-20201022104008936

网络规划和设计

image-20201022155308828
物理网络设计
image-20201022155514242
逻辑网络设计
image-20201022155552577
分层设计
接入层:向本地网段提供用户接入
汇聚层:网络访问策略控制、数据包处理、过滤、寻址
核心层:数据交换(多台设备做同样的事情,防止奔溃)
image-20201022160049090

ip地址和子网划分

A类:2^24-2,第一段是网络号,后面24个bit位都是主机号,减掉主机号是全0(网络地址,而不是某台主机的地址)和全1(网络当中的广播地址)的地址,可容纳的主机数非常多,但A类网络资源非常有限,只有前面8位是用来表达网络地址,而且首位必须为0
B类:前两段是网络号,后两段是主机地址,可容纳的主机数是2^16-2
C类:前三段是网络号,后一段是主机地址,可容纳的主机数是2^8-2
问题:
	假如某个公司有500台主机,给分配一个c类地址,不够用,分配一个b类又太多了
--------------------------------------------------------------------
172.18.129.0/24	表示前24位为网络地址,后32-24位为主机地址
超网:把多个网络合成一个大的网络
子网:把一个大的网络分成多个子网
image-20201022160631754
子网划分
image-20201022162554891
子网掩码
从子网个数开始算:2^k >= N 算出k,前面网络号都为1,主机前k为也为1,后面为0
从主机数开始算:2^k-2 >= n , n为主机数,后k位为0,前面为1
image-20201022162823175
问两个ip地址属不属于同一个子网:把两个ip地址化成10进制,然后分析网络号和子网号分别是多少位,看前面的这么多位是否相同,如果相同则在同一个子网内
无分类编址
IP地址:: = {<网络前缀>,<主机号>}
image-20201022163642781
c类子网,前24位为网络地址,公司网络的地址块是20位,故还有24-20位来制作子网地址
image-20201022164211485

特殊含义的ip地址

image-20201022165745295

路由算法

静态路由算法:
a:泛射路由算法(扩散法)
b:固定路由算法
c:随机走动法(Random Walk)
d:最短路径法(Shortest Path ,SP)
动态路由算法(自适应路由选择算法):
a:分布式路由选择
b:集中式路由选择
c:混合式动态路由选择
d:链路状态路由算法

HTML

image-20201022170514758

无线网

无线局域网(WLAN,802.11,WI-FI)
优势:
移动性 灵活性 成本低 容易扩
接入方式:
有接入点模式 无接入点模式
无线城域网(WMAN,802.16,WiMax)
无线广域网(WWAN,3G/4G)
无线个人网(WPAN,802.15,Bluetooth)

image-20201022172006100#

网络接入技术

PSTN:传真、刷卡机
ADSL采用电话线进行通信,有的老小区还在使用
-------------------------------------
WCDMA:最为成熟的,使用范围最广的
TD-SCDMA 名义上的国产通信,代理商是中国移动
------------------------------------
4G
LTE-Advanced
			TDD(TD-SCDMA) FDD(WCDMA)
image-20201026101242015

ipv6

image-20201026101938904

信息系统安全属性

image-20201026102626517

对称加密

用同一个秘钥进行加密和解密,适用于大文件,速度快
优点:速度快
缺点:加密强度不高(文件发过去,可能会被截获,密码发过去,也可能被截获)
	 秘钥分发困难
image-20201026103425704

非对称加密

用对方的公钥给文件加密,发送给对方
有点:安全度高,适合于短文加密
缺点:加密速度慢
image-20201026150658026

信息摘要

甲将明文发送给乙,再将摘要发送给乙。乙接到明文后生成摘要,再和发过来的摘要对比。如果一致,则说明信息没有被篡改
算法:采用单向的散列函数(单向hash函数),只能将明天通过算法生成摘要,不能将摘要通过算法还原成明文
信息摘要算法:MD5和SHA算法,将信息截断,形成摘要,具有破坏性,不能够还原,不能用来加密解密
image-20201026154632519

数字签名(无保密的功能,身份识别)

将文件从A发送给B,附带上A的签名
数字签名:用A的私钥给文件加密(客观理解),对摘要进行加密(效率高)
数字签名验证过程:用A的公钥给文件解密,从而得到文件是A发过来的	
image-20201026155705172

数字证书与PGP

对称秘钥传输明文,将对称秘钥用接收方公钥加密发送给接收方,接收方收到电子信封,用自己的私钥解密信封,去除对称秘钥解密得到原文
用来标识身份,防止中途公钥被截获更改
要有持有者的公钥信息

9、假定用户 A、B 分别在 I1 和 I2 两个 CA 处取得了各自的证书,下面( )是 A、B 互信的必
要条件。
A. A、B 互换私钥 B. A、B 互换公钥 C. I1、I2 互换私钥 D. I1、I2 互换公钥
	首先,在公钥体系中,交换私钥是无论什么情况下都绝对不允许发生的情况,所以A与C选项必然错误。余下的B与D,B选项的做法没意义,要AB互信,其信任基础是建立在CA之上的,如果仅交换AB的公钥并不能解决信任的问题。而I1与I2的公钥交换倒是可以做到互信,因为I1与I2的公钥正是验证CA签名的依据。所以本题应选D。
image-20201027101001965

设计邮件加密系统(重要)

image-20201027102403944

各个网络层次的安全保障

隔离:军方网络和普通网络隔离开来							    物理层
链路加密  PPIP、L2TP:链路层通道,安全不会被截取				   数据链路层
防火墙,IPSec(对IP包加密传输)									 网络层
TLS,SET(通信过程,电子商务等),SSL跨越多个层次					传输层
PGP,HTTPS													应用层
image-20201027102926577

网络威胁与攻击


image-20201027104115007 image-20201027104155058

防火墙

网络层:将指定ip段的地址阻断(初步阻断,可以被人将ip地址进行包装伪造)
应用级:将ip的具体信息进行检查
	   屏蔽子网---将内网中的子网进行屏蔽检查(防止内部攻击)
	   DMZ中间放一些对外的服务器
image-20201027104549674

c/s和b/s模式

c/s模式特点:
1:允许合理地划分三层的功能,使之在逻辑上保持相对独立性
2:允许各层灵活的选用平台和软件
3:各层可以选择不同的开发语言进行并行开发
b/s模式特点:
1:系统安装、修改和维护只在服务器端开发

程序语言基本知识

image-20201027110150205

编译过程

解释型:写一行,编译一行
编译型:全部写完后进行编译
词法分析阶段:输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个的单词,删掉无用的信息,报告分析时的错误
语法分析阶段:语法分析器以单词符号作为输入,分析单词符号串是否形成符号语法规则的语法单位,如表达式、赋值、循环等,按语法规则分析检查每条语句是否有正确的逻辑结构
语义分析阶段:主要是检查源程序是否存在语义错误,并收集类型信息供后面的代码生成阶段使用,如:赋值语句的右端和左端的类型不匹配。表达式的除数是否为零等。
image-20201027110306246

文法的定义以及语法推导树

文法定义:
image-20201027110740780
文法:
image-20201027110830654
语法推导式:
image-20201027111141420

有限自动机和正规式

有限自动机:从起点到终点,是否存在路径为指定01串
image-20201027111512195 image-20201027112719731
文法推导与正规式例题:
正规式解题方法:代入法,正规式是否可以将可识别的串全部表示出来(范围要相等),如果可以,则是正规式
image-20201027112109862

各种程序语言特点

image-20201027105936978

表达式

先构造树,根节点都是符号
再进行遍历
image-20201027113155378

函数调用(传值和传参)

image-20201027113512672

标识符

在编程语言中,表示符是用户编程时使用的名字,对于变量、常量、函数、语句块也有名字;我们统统称为表示符,关键词作为用户标识符

法律法规知识

知识产权

image-20201027155309886###

保护期限

image-20201027155812729

知识产权人确定

image-20201027160415844 image-20201027161111403

侵权判定

开发过程的处理过程想保护起来,可以申请专利
image-20201027161701598 image-20201027161738475

标准的分类

image-20201027162357239
行业标准,通过排除法进行选择
image-20201027162604766

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j0ECHRIQ-1604307209618)(E:\md笔记文件\images\image-20201102124057536.png)]

多媒体基础

image-20201027163102698

音频相关概念

数字语音的采样频率定义为8kHz,这是因为;
image-20201102124450542

image-20201027170917875\

图像相关概念

image-20201027171115744
RGB(彩色显示器)
YUV(电视,兼容 叠加的原理)
CMY(CMYK 印刷三原色 相减的原理)
HSV(HSB) 艺术家空间
DPI为像素/英寸 3*4英寸像素为900*1200
image-20201027171804901

媒体的种类

image-20201027174005619

多媒体的计算问题

image-20201027174450589
k -------1000为单位
K -------1024为单位
image-20201027180224789

常见多媒体标准

JPEG:对应图片jpg的格式(压缩比高)	
image-20201027203506758

数据压缩技术基础

有冗余是压缩的基础
空间冗余
时间冗余:这一帧和下一帧相同,可只记录上一次的状态
视觉冗余
信息熵冗余
结构冗余:和空间冗余类似,结构强调部分,空间强调整体
知识冗余
image-20201027204247755

有损压缩和无损压缩

无损压缩:冗余压缩法或熵编码法
有损压缩:熵压缩法
image-20201027204810405

软件工程

软件开发模型

image-20201027205226956

瀑布模型(SDLC)

    结构化模型
缺点:延期,成本超支,
需求阶段难以把握,无法对需求变化灵活应对
适用于:需求明确或是二次开发
image-20201027205715824

原型模型、演化模型、增量模型

原型:先开发界面模型供用户参考也可是是初步的系统(也应用于需求分析阶段)
演化模型:演化原型成为最终产品
增量模型:一步步将模型扩展,起初开设一个模块供用户使用,发现问题解决问题,再继续设计新的模块(核心模块比较早的和用户进行接触,风险小)
image-20201027215807694

螺旋模型

增有风险分析的功能
特点:
1:风险驱动的,要求开发人员必须具有丰富的风险评估 知识和经验
2:可以降低多测试或测试不足带来的风险
3:不适用于大型软件开发

image-20201027220100830##

CBSD构建化开发模型

极大的提高了软件的复用性,先构建各类模块,最后将模块组装起来,形成应用软件,极大的减小了开发时长,可靠性增加,节省成本
image-20201028081916296

V模型

强调测试的模型,测试贯穿于开发的始终,步步对应	
image-20201027220516889
面向对象模型
RAD(SDLC瀑布模型 CBSD构建化开发模型) 	建模更快速

敏捷开发

适合小型项目
极限编程:
	结对编程描述:1 承担了非正式的代码审查过程
				2 代码质量更高
				3 编码速度更快
	代码集体所有权(代码共享):支持共同代码拥有和共同对系统负责
image-20201028085305021

信息系统开发方法

结构化开发,系统和现实有着比较大的差距,结构固定,难以修改
image-20201028090104571

需求的分类

系统需求:
					功能需求:实现基本功能
					性能需求:要求运行的时间,安全性等
					设计约束:用户要求使用的语言和数据库等
QFD:				
					基本需求:用户提出的基本功能
					期望需求:用户没有明确提出,但是默认要做的需求
					兴奋需求:程序员扩展给用户的功能
image-20201028090650743

需求分析

采用面向对象方法进行软件开发,在分析阶段,架构师主要关注系统的 行为

结构化设计

结构化方法中的软件设计问题 
概要设计
详细设计
多扇入,少扇出:指向自己的多一点,出去的少一点
改进设计质量的方法:
尽量减少高扇出结构  模块的大小适中  将具有相似功能的模块合并
完善模块功能不能改进设计质量
image-20201028091616060
内聚和耦合
image-20201028091655356
系统结构/模块结构
image-20201028091841810

测试原则和类型

image-20201028092756412

测试用例设计

黑盒测试:只知道模块的输入输出
	等价类划分:将所有的路径编写测试案例输入
	边界值分析:端点值和略小于端点,略大于端点
	错误推测:经验决定
	因果图: 由结果反推得到原因
白盒测试:能看到模块内部的结构(更加全面,例如,if语句做一个测试,else做一个测试)
	基本路径测试:
	循环覆盖测试:
	逻辑覆盖测试:
image-20201028093124634

测试阶段

单元测试:模块测试
集成测试:模块衔接测试
确认测试:
	内部确认测试
	Alpha测试:实验环境,开发环境去测试
	Bete测试:用户自身测试
	验收测试:用户参与进来,看是否愿意接收这个产品
系统测试:
冒烟测试:可认为是回归测试(基本的确认测试)
image-20201028101122489

语句覆盖和路径覆盖

对下图进行语句覆盖和路径覆盖,分别需要多少个测试案例?
image-20201102153637390

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Aur6KMDx-1604307209621)(E:\md笔记文件\images\image-20201102153706793.png)]

McCabe复杂度计算

V(G) = m - n + 2
将公共点抽象为节点,语句也抽象为节点,再进行计算
image-20201028102253220

系统运行和维护

可维护性:
		易分析性:代码容易理解和分析
		易改变性:修改代码的难易程度,耦合性问题
		稳定性:
		易测试性:
维护类型:
		改正性维护:和客户沟通,对代码进行修改
		适应性维护:对不同平台之间的适应,兼容性
		完善性维护:扩充功能,增加性能
		预防性维护:现在不维护,可能不会出问题,可是将来可能出现问题(空闲时,对代码模块和文档进行更新) 	千年虫问题
image-20201028141909595

软件能力成熟度模型集成(CMMI)

阶段式
	 一:混乱
	 二:已管理级(项目级)
	 三:已定义级(企业级)
	 四:定量管理级
	 五:优化级
连续式(更适合国内,弥补不足)
	一:过程管理
	二:项目管理
	三:工程
	四:支持
image-20201028142851363

项目管理基础知识

image-20201028143104924
时间计算
Gantt图:不能清晰的表达各任务的依赖关系
PERT图:先计算各个节点的最早开始时间,然后逆推得到所求节点的最晚开始时间
image-20201028143501400

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mheLIHBU-1604307209624)(E:\md笔记文件\images\image-20201102130250080.png)]

image-20201102130304376
风险管理
项目风险:项目成本评估不准
技术风险:采用不熟的技术,或者陈旧的等
商业风险:开展出来的软件市场不需要或不流行
image-20201028182049287

UML

用例图:人和系统内的关系
顺序图:有时间关系
通信图:和顺序图类似,无时间关系
image-20201028184926747

面向对象

面向对象基本概念
泛化:将多个子类的公共部分抽出来,形成一个一个类
消息:对象之间进行交互,异步方式
多重继承:指的是一个类可以同时继承多个父亲的行为和特征功能。比如水上飞机继承了飞机和船的特性。代指可以导致某些令人混淆的情况,所有产生二义性,超类
image-20201028182801916
多态:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ksbLeOSk-1604307209625)(E:\md笔记文件\images\image-20201102160533467.png)]

设计原则
架构定义的任务:定义软件的主要结构元素及其之间的关系
数据库设计任务:确定软件涉及的文件系统的结构及数据库的表结构
详细设计任务:确定软件各个模块内部的算法和数据结构
接口设计任务:描述软件与外部环境之间的交互关系,软件内模块之间的调用关系
image-20201028184247664
设计模式的概念
image-20201028185355132
设计模式的分类
装饰模式:
将一个对象加以包装以提供一些额外的行为
外观模式:
定义一个高层接口,为子系统的一组接口提供一个一致的界面,从而简化子系统的使用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CplDhV4M-1604307209627)(E:\md笔记文件\images\image-20201102161316740.png)]

image-20201028185716324
创建型模式
image-20201028190929771
结构性模式
image-20201028191536831
行为型模式
image-20201028192131550 image-20201028192356290
具体解题技巧
image-20201029192022103 image-20201029192044197 image-20201029192100219
指针的使用
image-20201029192142855
虚函数
image-20201029192204007
java
image-20201029192229064 image-20201029192255577

数据流图(DFD)

下午设计题的第一个问题 15`
需求分析阶段,结构化模型之中使用频率很高

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vSXGvsLa-1604307209628)(E:\md笔记文件\images\image-20201028192651151.png)]

数据流图基本概念
image-20201028193214480
数据流图的分层
image-20201028193419902
数据字典
image-20201028193550487
数据流图平衡原则
image-20201028194154615
外部实体和加工之间的联系是否有遗漏
顶层和0层之间
加工不可能只有输入或者输出
image-20201028194100766
答题技巧
image-20201028194648170

数据流图案例分析

案例分析一
输出,输入可能出现的问题:黑洞,奇迹,输出流和输出流相同,不可能出现的输入流和输出流
先解决问答题
仔细分析即可
image-20201028195445539 image-20201028195346233 image-20201028195559953 image-20201028195532833
案例分析二
image-20201029123512671 image-20201029123614886 image-20201029123642661

数据库设计

image-20201029141245349
案例分析
缺少的属性:应该包括和其它表的联系属性
准确确定对应关系
规范化理论分析:缺点是数据的冗余,优点是减少了一次连接操作 
image-20201029143317477 image-20201029143348224 image-20201029143238453
案例分析二
image-20201029143814265 image-20201029144007891

UML建模

用例图
包含关系:用例必定用到其它用例
扩展关系:用例可能用到其它用例
泛化关系:
image-20201029144846458
类图
填多重度:
泛化:对类
实现:对接口
image-20201029150135611 image-20201029145925618 image-20201029150439051
顺序图
填写对象
填写消息
image-20201029151018372
活动图
image-20201029151231823
状态图
image-20201029151430772
通信图
和顺序图类似,只是时间概念没强调
image-20201029151637984
建模例题
image-20201029152855022

数据结构和算法

希尔排序

image-20201101155813409

字符串

字符串长度是指字符串所含字符的个数,但不包括最后的'\0'

8224.png" alt=“image-20201029143348224” style=“zoom:50%;” />

image-20201029143238453
案例分析二
image-20201029143814265 image-20201029144007891

UML建模

用例图
包含关系:用例必定用到其它用例
扩展关系:用例可能用到其它用例
泛化关系:
image-20201029144846458
类图
填多重度:
泛化:对类
实现:对接口
image-20201029150135611 image-20201029145925618 image-20201029150439051
顺序图
填写对象
填写消息
image-20201029151018372
活动图
image-20201029151231823
状态图
image-20201029151430772
通信图
和顺序图类似,只是时间概念没强调
image-20201029151637984
建模例题
image-20201029152855022

数据结构和算法

希尔排序

image-20201101155813409

字符串

字符串长度是指字符串所含字符的个数,但不包括最后的'\0'
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值