软件设计师01学习重点笔记.docx
《软件设计师01学习重点笔记.docx》由会员分享,可在线阅读,更多相关《软件设计师01学习重点笔记.docx(23页珍藏版)》请在冰点文库上搜索。
软件设计师01学习重点笔记
第一章计算机组成及体系结构
1.数据的表示:
原码:
首位为符号位,不适合做加减,会产生偏差。
反码:
正数和原码相同,负数则是在原码的基础上取反。
补码:
正数和原码相同,负数在补码的基础上+4
移动:
在特左场合,做浮点运算当中的阶码,与补码符号位相反。
浮点数的精度由尾数的位数决左,表示范围的大小则主要由阶码的位数决泄。
2.计算机结构:
3.流水线:
At为流水线周期。
1理论公式:
(tl+t2+...+tk)+(n-1)*^t:
2实践公式:
(k+n-l)*^t;k指流水线分成多少个步骤,比如取指,分析,执行k为
3吞吐率:
寻址方式:
(1)立即寻址:
直接给出操作数,而非地址。
(2)直接寻址:
直接给岀操作数地址或所在寄存器号(寄存器寻址)
(3)间接寻址:
给出的是指向操作数地址的地址,称之为间接寻址
(4)变址寻址:
给出的地址需与特左的地址值累加从而得出操作数地址,称之为变址
4.计算机存储结构:
Cache:
可不比存在,但速度会大打折扣,同时可以按内容存储,也叫相连存储器。
速度大于按地址存储。
存储体系:
般计算机系统中主要有两种存储体系:
CaChe存储体系由CaChe和主存储器构成,主要目的是提髙存储器速度,对系统程序员以上均透明:
虚拟存储体系由主存储器和在线磁盘存储器等辅存构成,主要目的是扩大存储器容量,对应用程序员透明。
5.校验码:
模2除法,按位进行异或操作。
海明校验码:
2^r>=x+r+l;X为信息为的长度,⅛:
1011,X为4;
当进行异或操作时,两个二进制的数相比之后,若前而的树为零,则再与第三个数相比时,位为零的可以不再进行相比。
第二章程序语言基础
1.递归下降分析法和预测分析法是常用的自顶向下分析法。
算符优先分析法和LR分析法属于自底向上的语法分析方法。
2.语法分析方法有多种,根据产生语法树的方向,可分为自底向上和自顶向下两类。
递归F降分析法和预测分析法是常用的自顶向卞分析法。
算符优先分析法和LR分析法属于自底向上的语法分析方法。
3.表达式:
4.逆波兰式:
5.同步和互斥:
互斥:
当一个人使用时,其他人必须等待。
同步:
当两件事情同时做时,若有一件事件快了,则需等待另一件事情,最后是两件事情同时完成。
同步与互斥犹如缓冲区。
6.后缀式(逆波兰式)是波兰逻辑学家卢卡西维奇发明的一种表示表达式的方法。
这种表示方式把运算符写在运算对象的后而,例如,把a+b写成ab+,所以也称为后缀式。
第三章操作系统
1.运行状态:
有了CPU资源。
就绪状态:
只缺CPU资源。
等待状态:
没有cpu,还缺苴他资源。
1.索引结构,一般有13个节点,从0~12
2.第_字则是从1开始记,第_位巻则是从O开始算
3.页内地址为页面大小(多少k)化成2的多少次方,然后根据有多少位,再和题目中的逻借地址比较(比较是页内地址的位数和逻辑地址从右往左数),然后逻辑地址的最髙位为页号
4.二进制的位数为
次方
0
1
2
3
4
5
6
7
8
9
1
2
4
8
16
32
64
128
256
512
10
11
12
13
14
15
16
17
18
19
1024
2048
4096
8192
16384
32768
5.虚实地址转换
(((×)+s)+p)*(2**X)+d
其中X为基号.S为段号,P为段内页号,d为页内偏移,n的值为d的总位数,(X)表示X里的内容.
6.进程
为了解决进程间的同步和互斥问题,通常采用一种称为信号量机制的方法
7.磁道题目的延迟时间:
8.不发生死锁的公式:
k*(n-l)+l:
k为进程数,n为所需要的资源:
死锁发生的必要条件
(1)互斥条件:
即一个资源每次只能被一个进程使用,在操作系统中这是真实存在的情况。
(2)保持和等待条件:
有一个进程已获得了一些资源,但因请求其他资源被阻塞时,对已获得
的资源保持不放。
(3)不可剥夺条件:
有些系统资源是不可剥夺的,当某个进程已获得这种资源后,系统不能强
行收回,只能由进程使用完时自己释放。
(4)环路等待条件:
若干个进程形成环形链,每个都占用对方要申请的下一个资源
9.淘汰页面:
状态位为1的进行考虑淘汰,访问位为O的进行淘汰,修改位为O的进行淘汰。
10•指令只会产生一次缺页中断,而操作数则是两次。
11.索引结点没有说明的时候,一般采用13个结点。
第4章系统开发基础
软件生命周期:
[.可行性分析与项目开发计划,2.需求分析,3.概要设计,4.详细设计,5.编码,6.测试,维护。
2.L0C软件规模代码行(LoC,LineOfCOde)是软件规模的一种量度,它表示源代码行数。
2.而数据处理领域的不太复杂的软件,适于用结构化方法进行开发。
1•瀑布模型:
结构化方法。
适用于需求明确场合,二次开发。
2.原型:
先做一个简易的系统给用户体验,再让用户明确他想要的功能,针对需求不明确的情况。
需求不淸晰且规模不太大时采用原型化方法最合适
3.演化模型:
原型一步一步演化完善为演化模型
4.增量模型:
先做一点,再接着做,特点是可以更早的让用户和核心功能接触
5.螺旋模型:
风险分析是螺旋模型最为显著的特征之一,具有原型,增量模型等特点。
6.V模型:
特点之一,测试分为较细步骤。
开发与测试有着一一的对应关系。
强调测试。
7.喷泉模型:
最大特点是面向对象的模型,迭代和无间隙,开发过程模型以用户需求为动力,以对象为驱动,适合于面向对象的开发方法。
8.RAD(快速开发模型):
业务建模:
数据建模,过程建模,应用生成,测试与交付。
结合瀑布模型和构建化开发。
9.构建组装模型(CBSD):
构件组件特点,组成构件库,极大地提高了软件开发的复用性,可靠性,效率等。
10.统一过程(up∕rup)模型:
用例驱动,以架构为中心,迭代和增量。
□•敏捷开发方法:
是一组模型,一般做小型项目,快速。
12.信息系统开发方法:
结构化法:
缺点,流程固化,不容易变化。
原型法:
应对需求不明确,做个简单的界面效果。
而向对象方法:
而向服务方法。
13.内聚:
模块的内部功能紧密程度,越高越好;
耦合:
模块与模块之间的关联,越小越好;
14.软件工程是一种层次化的技术,从底向上分别为质量、过程、方法和工具
关键路径是指设计中从输入到输出经过的延时最长的逻辑路径。
关键路径上的活动均为关键活动。
敏捷方法
极限编程XP
是激发开发人员创造性.使得管理负担最小的一组技术.
水晶法CryStal
认为每一个不同的项目都需要一套不同的策略、约定和方法论。
并列争球法(SCram)
使用迭代的方法,英中把每30天一次的迭代称为个冲刺,并按需求的优先级来实现产品多个自组织和自治小组并行地递增实现产品,协调是通过简短的日常情况会议进行。
自适应软件开发
(ASD)
六个基本的原则:
1在自适应软件开发中,有一个使命作为指导,它设立了项目的目标,但不描述如何达到这个目标:
2特征被视为客户键值的关键,因此,项目是用绕着构造的构件来组织并实现特征:
3过程中的迭代是很重要的,因此重做与做同样重要,变化也包含英中;
4变化不视为是一种更正,而是对软件开发实际情况的调整;
5确定的交付时间迫使开发人员认真考虑每一个生产版本的关键需求;
6风险也包含其中,它使开发人员首先跟踪最艰难的问题。
17.软件配置管理SCM用于整个软件工程过程,其主要目标是标识变更、控制变更、确保变
更正确的实现,报告变更。
英主要内容包括版本笛理、配置支持、变更支持、过程支持、团队支持、变化报告和审计支持等。
18.软件评审的内容包括设计质量评审、程序质星评审和与运行环境接口的评审。
评审的主要目标是为了发现软件中的错误。
其中决策树和决策表适于用来表示加工中涉及多个逻辑条件的情况。
结构化设计:
槪要设计:
详细设计:
软件测试
测试原则:
测试类型:
动态测试:
黑盒测试:
等价类划分,边界值分析,错误推测,因果图。
白盒测试:
灰盒测试:
静态测试:
桌前检査:
代码走查:
代码审查:
测试用例设计:
13.环路复杂度公式:
V(G)=m-n+2;m代表弧数,线条。
n代表节点。
14.由于数据流图只反映系统必须完成的逻辑功能,所以它是一种功能模
型
15.CVS是一种版本控制软件工具。
CMM->CMMI:
能力成熟度模型,
17.Pert图汁算:
选择最长路径为关键路径,最晚开始时间用关键路径逆推得出最晚开始时间。
18.TCP三次握手:
I-SYNRECV,2-SYNRECV,3-ESTABLISHED
第6章网络信息安全与多媒体知识
1..ICMP:
Ping命令属于此
ARP:
ip换mac
DNS:
域名解析
DHCP:
动态地址分配J69.254XX和0.000是假地址。
SNMP:
简单网络管理协议。
TFTP:
跟FTP区别,FTP可靠的协议,TFTP不可靠的协议。
IP转MAC是ARP协议,MAC转IP是RARPO
中间件技术:
AJaVaRMlB.C0RBAC.DC0M
物理地址:
物理地址通常是指主机的网卡地址(MAC地址),每一网卡都有唯一的地址。
路由汇聚算法:
设有2条路由21.1.193.0/24和21.1.194.0.24
先吧两个网络地址转换成二进制,然后取完全相同的部分作为聚介路由的ip
如193:
OOOIOIOIOOOOOOOIIIOOOOOIOOOOOOOO
而194:
OOOIOIOIOOOOOOOIIIOOOOIOOOOOOOOO
完全相同的是OOOIOIOIOOOOOOOIIIOOOOXXXXXXXXXX
相同部分长度就是掩码长度
所以聚合后是21.1.192.0/22地址解析:
就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程路由器功能:
路由器工作于网络层,路由器的主要功能有:
1选择最佳的转发数据的路径,建立非常灵活的连接,均衡网络负载:
2利用通信协议本身的流疑控制功能来控制数据传输,有效地解决拥挤问题;
3具有判断需要转发的数据分组的功能,不仅可根据LAN网络地址和协议类型,而且可根据网
间地址、主机地址、数据类型(如文件传输、远程登陆或电子邮件)等,判断分组是否应该转发。
对于不该转发的信息(包括错误信息),都过滤掉,从而可避免广播风眾,比网桥外有更强的隔离
作用,提高安全保密性能;
4把一个大的网络划分为若干个子网。
表6・3七层的主要功能
层的名称
主耍功能
详细说明
应用层
处理网络应用
直接为端用尸服务•提供各类应用过程的接口和用尸接口。
例如HTrPXTelnet.FTP、SMTP.NFS等
表示层
数据表示
使应用层可以根摇其服务解释数摇的涵义。
通常包括数摇编码的约定、本地句法的转换。
例如JPEG、ASCIkGIFSDESHMPEG等
会话层
互连主机通信
负责管理远程用户或进程间的通信,通第包括通信控制、检查点设置、重建中断的传輸链路、名字查找和安全验证服务。
例如:
RPaSQL等
传輸层
端到靖连接
实现发送端和接收靖的端到端的数据分组传送,负责保证实现数据包无羞脉按顺序.无丢失和无冗余的传爺。
其服务访问点为端口。
代表性协议KTCP.UDP、SPX等
网络层
分组传報和路由选择
通过网络连接交换传输层实体发岀的数据,解决路由选择、网络拥塞.异构网烙互联的问题。
服务访问点为逻辑地址(网络地址)。
代表性协议有IP、IPX等
敛据链路层
传送以帧为单仗的信息
建立、维持和释放网络实体之间的数据链路,扌巴流量控制和差惜控制合并在一起。
为MAC(媒介访问层〉和LLC〈逻辑链路辰〉两个子辰。
服务访问,点为物理地址<MAC地址〉。
代袤性协议有【EEE802W2、HDLCXPPP、ATM等
物理层
二进制位传輸
通过一系列协议定义了通信设备的机械的、电气的、功能的、规程的特征。
代表性协议有RS232、V35、RJ∙45χFDDI等
表6・4有线传输介质比较
传愉介頂
类型
距离
速&
特点
同轴电缆
细缆RG58
185m
IOM
安装容易,成本低,抗干扰性较强
粗绩RGII
50Om
IOM
安装较难.成本低,抗干扰性强
粗缆RG-59
>10Ian
100〜150M
传输模拟信号(CAT也叫宽帝同轴电缆,常使用FDM(烦分多路复用)
屏蔽双绞銭
(STP)
3类/5类
IOOm
16/1OOM
相对UTP令牌环网借用・现在7类布銭系
统又开始使用
无屏筱双绞线(UTP)
3/4/5/超5/6
类
IOOm
16/20/100/
155/2OOM
价格便宜,安装容易,适用于结构化综合布线,得到了广泛应用,翅着网卡技术的发展,在短距离内甚至可以达到IGbPS
多模
2km
100〜IOOOM
电磁干扰小•期居速度高•误码率小.低延迟
单模
2^1Okm
l~10G
与多模光纤比,特点是高速度、长距离、高成本、细芯线,常使用WDM(破分复用>提高带竟
TCP的流量控制采用了可变大小的滑动窗口协议,由接收方指明接收缓冲区的大小(字节数),发送方发送了规定的字节数后等待接收方的下一次请求。
IP地址:
主机号全为O的地址为网络地址,不是主机地址。
全1为广播地址。
A类:
前8位为网络号,后而为主机号。
B类:
前16位为网络号,后16为主机号。
C类:
D类:
ip地址/位数表示前面多少位数转为网络号。
判断子网是否相同:
把两个ip地址化成十进制,看前而的位数是否相同。
信息安全
非对称加密:
甲(公钥),甲(私钥),乙(公钥),乙(私钥)。
使用乙的公钥给甲加密,乙用私钥解密。
数字签爼:
用谁的公钥打开的这个包,就是用谁的私钥加密,识别身份的作用。
防火墙:
网络级,只检查ip地址头。
应用级:
开箱检査。
1.主动攻击:
重放攻击、IP地址欺骗、拒绝服务攻击
2.被动攻击:
流量分析攻击是通过持续检测现有网络中的流量变化或者变化趋势,而得到相应信息的一种被动攻击方式。
6.终端设备与远程站点之间建立安全连接的协议是SSH
7.机房安全属于物理安全,入侵检测属于网络安全,漏洞补丁管理属于系统安全,而数据库安全则是应用安全。
多媒体技术
1•颜色深度:
如颜色深度为24位,则需要24个位来存储。
2.小写k代表1000,采样和传输用的小写k,存储用的大写K代表1000;常见多媒体标准
JPEG
JPEG-2000
MPEG-I
MPEG-2
MPEG-4
MPEG-7
MPEG-21
3.采样率:
彩色空间:
RGB,颜色叠加
YUV:
黑白电视和彩色电视兼容。
CMY:
颜色相减
小写k和大写K:
小写klOOO,大写K10240存储数据1024,传输数据1000;
压缩:
前提是必须有冗余。
第七章数据库技术基础
实体转换关系模式:
1:
1联系:
两边实体转成一个,把中间的联系可以转成单独的关系模式,也可以把联系记录到任意一个实体里而。
至少转两个。
1:
n联系:
两边实体分别转成一个,把联系放到任何一个实体记录下来,也可以单独记录下来。
一般记录到多的那一方。
m:
n联系:
至少转三个,两个实体和联系都要转。
并:
将两个集合合并在一起,重复的不显示。
交:
集合相交,只显示共同的。
差:
集合相减S1-S2,结果Sl有的但S2没有的。
笛卡尔积:
集合相乘的个数,Sl每个集合都要和S2的集合连在一起。
投影:
结果是遍历选个的字段的那几列。
SeIeCtidznamefromuser:
选择:
只选择符合条件的,如Sql语句后而加上Whereid=1:
选择和投影都可以用数字1,2来代表列名。
连接:
将两个表拥有的共同属性的行连接起来,如Whereuser.id=StUdent.uido
函数依赖:
由事件X可以确泄结果Y的,称为X->Y,X决泄Y,Y依赖于X。
女口(学号可以确宦姓轲,反过来,姓需也许会同名,不能确泄唯一的学号)。
部分函数依赖:
组键是两个属性的组合键,由组键中的部分属性可以确宦由事件{A,B)->C,但是因为A可以单独决定C,称为部分函数依赖。
传递函数依赖:
A->B,而B->C,则是函数传递依赖,前提是B不能确左A。
非规范化的关系模式,可能存在的问题包括:
数据冗余,更新异常,插入异常,删除异常。
数据冗余:
表中的数据存在多余的数据或者重复的数据。
更新异常:
当表中改名的时候,本想更改需要更改的信息,结果更改的时候只更改了一部分,其他的不能同步更改。
插入异常:
删除异常:
键:
范式:
丢失更新:
tl和12运行,12的结果会覆盖tl的结果。
不可重复度:
当tl进行第二次读取时,结果和第一次的结果不相同。
读脏数据:
不是在执行的真正数据,而是临时值,没有产生作用的值。
X锁是写锁,加上之后其他事务不能再加任何锁。
S是读锁,加上之后其他事务还可以加S锁,不能加X锁。
反规范化主要是提升查询速度,牺牲空间等。
第89章数据结构和算法分析
一维数组存储地址:
a[i]a+i*len;
二维数组按行存储:
a[i][j]a+(i∙n+j)*len;
二维数组按列存储:
a[i][j]a+(j*m+i)*Ien;
广义表:
长度,指元素个数。
深度,指有多少层括号。
表头,表的第一个元素。
表尾,除表头以外的所有元素。
时间复杂度:
关于所有常数集条数的命令都用O(I)来表示。
二分查找法:
必须要是有序的数列才行。
如(1,5,&12,15)≡查找出来的树取整。
散列表:
按内容存储。
希尔排序:
先将元素按元素距离和另一个元素变成一组进行对比,即一组元素可以分成多个组,对比完一轮之后,再将距离缩小比较,最后进行直接插入排序。
二叉树具有下列重要性质:
性质1在二叉树的第i层上至多有2
i-l>l)0
性质2深度为k的二叉树至多有2
k
个结点(Ql)。
性质3对任何一棵二叉树,如果其叶子结点数为nθ,度为2的结点数为n2,则nθ=n2+l.较高效率地解决背包问题一般用递归和贪心算法。
12.关键路径:
关键路径就是从源点到汇点权和最大的那条路径
13.排序二叉树越平衡,查找效率越高。
最优二叉树(哈弗曼树)
树的路径长度:
树的路径相加的长度,从根开始算起的单条路径。
权:
某个叶子节点有一个数值,代表某个数值岀现的频度。
带权路径长度:
路径长度*权值。
算法基础
算法左义及应用场景:
插入排序
若数据基本有序,插入排序应该是最佳选择,输入数据是否有序对归并和讣数排序算法并没有影响。
计数排序
若关键字取值范围较小,则讣数排序是最佳选择,因为在该情况下,该算法的时间复杂度为线性时间。
第十章面向对象分析
消息:
对象之间进行交互的时候所采用的机制,走的是异步的方式传输的。
而向对象分析的步骤:
笫一步.确定问題域.
第二步・确定对盘和类。
这里所说的对仪足对数据及其处理方式的捕猱•它反映了系统保存和处理现实世界中某些字物的信总的能力,类足多个对象的共同属性和方法集合的描述.它包括如何在一个类中建立一个新对歛的描述.
第三步•确定结构(StrUCtUre)。
结构足描问题域的复杂性和连接关系。
类成员结构反映了泛化-特化关系•整体-部分结构反映整体和局部之间的关系。
第四步.确定主题(SUbjeCt)。
主题是指事物的总体概貌和总体分析模空。
第五步・确定属性〈attribute〉.属件就足数据元素•诃用来描述对盘或分类结构的实例∙“J在图中给出・井在对象的存储中播定。
第六步.确定方法(method)。
方法绘在收到消恩后必须进行的一些处理方法.方法要在图中定义.并在对仪的存储中折定。
对于毎
个对◎和结构来说.那些用来增加、修改、删除和选择一个方法本身都是隐含的.而有些则足显示的,
而向对象分析阶段包含5个活动:
认泄对象、组织对象、描述对象间的相互作用、左义对象的操作、泄义对象的内部信息。
UML的五个系统视图:
(1)逻辑视图:
用来显示系统内部的功能是怎样设计的,它利用系统的静态结构和动态行为来
刻画系统功能。
静态结构描述类、对象和它们之间的关系等。
动态行为主要描述对象之间的动态协
作。
(2)进程视图(并发视图):
用来显示系统的并发工作状况。
并发视图将系统划分为进程和处
理机方式,通过划分引入并发机制,利用并发髙效地使用资源、并行执行和处理异步事件。
它是逻
借视图的一次执行实例。
(3)实现视图(组件视图):
用来显示代码组件的组织方式。
它描述了实现模块和它们之间的
依赖关系。
(4)部署视图:
用来显示系统的物理架构,即系统的物理展开。
比如,计算机和设备以及它们
之间的联接方式。
其中计算机和设备称为结点。
(5)用例视图:
最基本的需求分析模型,以外部参与者的角度来看待系统,他主要说明了谁要
使用系统以及他们使用了该系统可以做些什么
第12章面向对象设计数据流图
表「2数据流图基本成分及其图形表示
名称
符号
说明
加工
O
在圆中注明加工的名字与编号
数据流
►
在箭头边给岀数据涼的名称与編号,
注意不是控制涼
数据存储文件
或
文件名称为名询或名i≡Γ性疣语
数据漁点或终点
在方框中注明数据源点或终点的名称
采用数据流图的方式进行数据流程分析一般应遵循以下原则:
(1)明确系统边界。
一张数据流图表示某个子系统或某个系统的逻借模型。
(2)在总体上遵循自顶向下逐层分解的原则,即按照结构化方法的思想,采用分层的数据流图,把大问题、复杂的问题分解成若干个小问题,然后分别解决
(3)在局部上遵循由外向里的原则,即先确左每一层数据流图的边界或范用,
(4)分层的数据流图一般由顶层、中间层和底层组成。
表「3数据结构定义式可能出现的符号
符号
含义
举例说明
=
被定义为
*
x-a∙b>表示X由a和b组成
]或〔••1
或
x≡[a∙b]SKx≡[ab]>表示X由a或由b组成
{…}
畫复
K叫a}∙表示X由O个或赛个a俎成
(...)
可选
X=(ah表示2可在X中岀现,也可以不岀现
解题技巧:
1.找岀外部实体,数据流,存储实体等关键字。
2.O层图一般有数据存储关键字:
XX表,XX文件。
3.对于添加、删除、查找数据流的问题:
先仔细阅读分析每一条需求,接着在顶层数据流图或者O层数据流图一一对应数据流的数目和方向及内容是否一直。
分析顶层数据流图和O层数据流图的一致性。
题目:
1.数据流图是在系统分析与总体设讣阶段宏观地描述系统功能需求的重要图形化工具,程序流程图也是软件开发过程中比较常用的图形化工具。
简要说明程序流程图的适用场合与作用。
答: