1.敏捷开发
敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。
极限编程法
:一种轻量级的开发方法,它提出了四大价值观:沟通
,简单
,反馈
,勇气
。五大原则:快速反馈,简单性假设,逐步修改,提倡更改,优质工作。水晶法
:强调经常交付,认为每一种不同的项目都需要一套不同的策略,约定和方法论。并列争球法(Scrum)
:核心是迭代,增量交付,按照30天进行迭代开发交互可实际运行的软件自适应软件开发
:核心是三个非线性的,重迭的开发阶段,猜测,合作,学习。
2.CPU组成
CPU是计算机运算核心和控制核心,由运算器,控制器,寄存器及实现它们之间联系的数据,控制及状态的总线构成。
运算器:负责相关的逻辑,算术运算。
寄存器(临时存储单元):存放一些相关的数据。分为存放数据的寄存器,存放地址的寄存器,存放控制信息的寄存器,存放状态信息的寄存器和其他寄存器类型。
累加寄存器:是一个数据寄存器,在运算过程种暂时存放被操作数和中间运算结果,累加器不能用于长时间地保存一个数据。
程序状态寄存器:记录运算中产生的标志信息,典型的标志为有进位标志位,零标志位,符号标志为,溢出标志位,奇偶标志位等。
内部总线:负责各部件间信息的传递。
控制器:保证指令的正确执行,还要能够处理异常事件。
题目1:
在CPU中,(B)可用于传送和暂存用户数据,为ALU执行算术逻辑运算提供工作区。
A.程序计数器
B.累加寄存器
C.程序状态寄存器
D.地址寄存器
解析:
程序寄存器(PC)、累加寄存器(AC)、程序状态寄存器(PSW)和地址寄存器(AR)都是CPU中常用的寄存器,其功能分别如下。
PC——具有寄存信息和计数两种功能。在程序执行之前,将程序的起始地址送入PC,该地址在程序加载到内存时确定,因此PC的内容是程序第一条指令的地址;执行指令时,CPU将自动修改PC的内容,以便使其保持的总是将要执行的下一条指令的地址。
AC——一个通用的寄存器,其功能是当运算器的算术逻辑单元执行算术或逻辑运算时,为ALU提供一个工作区。由此答案显然是B。
PSW——保存由算术指令和逻辑指令运行或测试的结果建立的各种条码内容,主要分为状态标志和控制标志。通常,一个算术操作产生一个运算结果,一个逻辑操作则产生一个判决。
AR——保存当前CPU所访问的内存单元的地址。由于内存和CPU存在着操作速度上的差异,所以需要使用AR保持地址信息,直到内存的读/写操作完成为止。
题目2:
以下关于Cache与主存间地址映射的叙述中,正确的是(D)。
A.操作系统负责管理Cache与主存之间的地址映射
B.程序员需要通过编程来处理Cache与主存之间的地址映射
C.应用软件对Cache与主存之间的地址映射进行调度
D.由硬件自动完成Cache与主存之间的地址映射
解析:在程序的执行过程中,Cache与主存的地址映射是由硬件自动完成的。
3.RUP(Rational Unified Process)统一软件开发过程
RUP包括了角色,活动,制品和工作流4种重要的模型元素。
角色表述了谁做
,制品表述做什么
,活动表述怎么做
,工作流表述什么时候做
。
初启阶段
:产生一个构想文档,一个有关用例模型的调查,一个初始的业务用例,一个早期的风险评估和一个可以显示阶段和迭代的项目计划等制品。(里程碑:生命周期目标)。
精化阶段
:一个补充需求分析,一个软件架构
描叙和一个可执行的架构原型等制品。(里程碑:生命周期架构)。
构建阶段
:一个准备交到最终用户手中的产品,包括具有最初运作能力的在适当的平台上集成的软件产品,用户手册和对当前版本的描述。(里程碑:初始化运作功能)。
移交阶段
:移交给用户产品发布版本。(里程碑:产品发布)。
题目1:
统一过程(UP)定义了初启阶段、精化阶段、构建阶段、移交阶段和产生阶段,每个阶段以达到某个里程碑时结束,其中(B)的里程碑是生命周期架构。
A.初启阶段
B.精化阶段
C.构建阶段
D.移交阶段
解析:
本题考查软件开发过程的基础知识。 统一过程(UP)定义了初启阶段、精化阶段、构建阶段、移交阶段和产生阶段,每个阶段达到某个里程碑时结束。其中初启阶段的里程碑是生命周期目标,精化阶段的里程碑是生命周期架构,构建阶段的里程碑是初始运作功能,移交阶段的里程碑是产品发布。
4.软件系统设计
系统设计为系统指定蓝图,软件设计模型关注新系统总体结构
,代码设计
,处理过程
,数据结构
和界面模型
。
需求分析阶段
:解决系统做什么的问题,弄清除问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。
概要设计阶段
:把需求分析得到的结果转换为软件结构
和数据结构
,即将一个复杂系统按功能进行模块划分,建立模块的层次结构及调用关系,确定模块间的接口及人机界面,确定数据的结构特性,以及数据库的设计。(系统架构,模块划分,系统接口,数据设计)
详细设计
:在概要设计的基础上更细致的设计,它包括具体的业务对象设计,功能逻辑设计,界面设计等工作。详细设计是系统实现的依据,需要更多地考虑设计细节。(对模块进行详细的算法设计)
5.耦合
公共耦合
:通过一个公共数据环境相互作用的那些模块间的耦合。
控制耦合
:两个模块彼此间传递的信息中有控制信息。
数据耦合
:两个模块彼此间通过数据参数交互信息。
标记耦合
:一组模块通过参数表传递记录信息,这个记录是某一个数据结构的子结构
,而不是简单变量。传递的是这个数据结构的地址。
内容耦合
:一个模块需要涉及到另一个模块的内部信息。
通信耦合
:一个模块的所有成分都操作同一数据集或生成同一个数据集。
题目:1
模块A直接访问模块B的内部数据,则模块A和模块B的耦合类型为(D)。
A.数据耦合
B.标记耦合
C.公共耦合
D.内容耦合
解析:当一个模块直接修改或操作另一个模块的数据或直接转入另一个模块时,就发生了内容耦合。
题目2
模块A提供某个班级某门课程的成绩给模块B,模块B计算平均成绩、最高分和最低分,将计算结果返回给模块A,则模块B在软件结构图中属于 (C ) 模块。
A、传入
B、传出
C、变换
D、协调
解析:
传入模块:从下属模块取得数据,经处理再将其传送给上级模块
传出模块:从上级模块取得数据,经处理再将其传送给下属模块
变换模块:从上级模块取得数据,进行特定的处理,转换成其他形式,再传送给上级模块。
题目3:
某模块中有两个处理A和B,分别对数据结构X写数据和读数据,则该模块的内聚类型为(C)内聚。
A.逻辑
B.过程
C.通信
D.内容
解析:如果一个模块的所有成分都操作同一数据集或生成同一数据集,则称为通信内聚。本题为通信内聚。
逻辑内聚:模块内部的各个组成在逻辑上具有相似的处理动作,但功能用途上彼此无关。
过程内聚:模块内部各个组成部分所要完成的动作虽然没有关系,但必须按特定的次序执行。
内容耦合:一个模块需要涉及到另一个模块的内部信息。
题目4:
模块A 将学生信息,即学生姓名、学号、手机号等放到一个结构体中,传递给模块B。模块A 和B 之间的耦合类型为 (B) 耦合。
A.数据
B.标记
C.控制
D.内容
解析:
数据耦合:两个模块彼此间通过数据参数交互信息。
标记耦合:一组模块通过参数表传递记录信息,这个记录是某一个数据结构的子结构,而不是简单变量。
控制耦合:两个模块彼此间传递的信息中有控制信息
内容耦合:一个模块需要涉及到另一个模块的内部信息。
题目5
结构化开发方法中,(D)主要包含对数据结构和算法的设计。
A. 体系结构设计
B. 数据设计
C. 接口设计
D. 过程设计
解析:
数据结构跟算法是系统的基础,是过程设计确定的任务。
体系结构设计:定义软件系统各主要部件之间的关系。
数据设计:基于E-R图确定软件涉及的文件系统的结构及数据库的表结构
接口设计(人机界面设计):软件内部,软件和操作系统间以及软件和人之间如何通信。
过程设计:系统结构部件转换成软件的过程描述。确定软件各个组成部分内的算法及内部数据结构,并选定某种过程的表达形式来描述各种算法。
6.人机交互三原则
用户操纵控制,减少用户的记忆负担,保持界面的一致性。
用户操作控制:以不强迫用户进入不必要或不希望的动作的方式来定义交互模式;提供灵活的交互;允许中断和撤销用户交互;
减少用户的记忆负担:减少对短期记忆的要求,建立有意义的默认;定义直观的快捷方式;界面的视觉布局应该基于真实世界的象征;以不断进展的方式揭示信息。
保持界面一致:允许用户将当前任务放入到有意义的环境中;在应用系统家族中保持一致;如果过去的交互模型已经建立起了用户期望,除非有不得已的理由,否则不要改变它。
7.分级存储
分级存储是将数据采取不同的存储方式分别存储在不同性能的存储设备上
,减少非重要性数据在一级本地磁盘所占用的空间,还可加快整个系统的存储性能。
分级存储是根据数据的重要性、访问频率、保留时间、容量、性能等指标,将数据采取不同的存储方式分别存储在不同性能的存储设备上,通过分级存储管理实现数据客体在存储设备之间的自动迁移。数据分级存储的工作原理是基于数据访问的局部性
。通过将不经常访问的数据自动移到存储层次中较低的层次,释放出较高成本的存储空间给更频繁访问的数据,可以获得更好的性价比。这样,一方面可大大减少非重要性数据在一级本地磁盘所占用的空间,还可加快整个系统的存储性能
8.软件测试策略
两个小组独立地测试同一个程序,第一组发现25个错误,
第二组发现30个错误,
在两个小组发现的错误中有15个是共同的,
那么可以估计程序中的错误总是是()个。
解析:
对于第一小组:发现了第二组发现的错误的15/30=0.5=50%
对于第二小组:发现了第一组发现的错误的15/25=0.6=60%
根据第一组的发现的错误数和第一组的效率得到:25/50%=50。
根据第二组的发现的错误数和第二组的效率得到:30/60%=50。
由于两个小组是独立进行测试的,所以可以估计:程序中的错误总数为50个。
9.面向对象
对象的组成部分包括:对象名
,状态(属性)
,行为(操作)
。类是对象共有属性和行为的抽象。
10.浮点数运算规则
计算机在进行浮点数的相加(减)运算之前先进行对阶操作,若x的阶码大于y的阶码,则应将______。
A.x的阶码缩小至与y的阶码相同,且使x的尾数部分进行算术左移
B.x的阶码缩小至与y的阶码相同,且使x的尾数部分进行算术右移
C.y的阶码扩大至与x的阶码相同,且使y的尾数部分进行算术左移
D.y的阶码扩大至与x的阶码相同,且使y的尾数部分进行算术右移
解析:
在浮点数加减运算时,首先要进行对阶,根据对阶的规则,阶码和尾数将进行相应的操作。要对阶,
首先应求出两数阶码Ex和Ey之差,即ΔE=Ex-Ey,
若ΔE=0,表示两数阶码相等,即Ex=Ey;
若ΔE>0,表示Ex>Ey;
若ΔE<0,表示Ex<Ey。
当Ex≠Ey时,
要通过尾数的移位来改变Ex或Ey,使Ex=Ey。
对阶的规则是: `小阶向大阶看齐`。
即阶码小的数的尾数右移,每右移一位,阶码加1,直到两数的阶码相等为止。
如:Ex=Ey,无需对阶;
Ex>Ey,则My右移。每右移一位,Ey+1→Ey,直至Ex=Ey为止;
Ex<Ey,则Mx右移。每右移一位,Ex+1→Ex,直至Ex=Ey为止。
11.关键路径和松弛时间
关键路径
:从开始到结束得所有路径中,所花费时间最长的一条为关键路径。
松弛时间
:(最多延迟执行的时间)=关键路径的总时间-包含该任务的关键路径花的时间。
题目1:
某软件项目的活动图如下图所示,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的数字表示活动的持续时间(天),则完成该项目的最少时间为( )天。活动FG的松驰时间为( )天
解析:
关键路径:A->D->F->H->J =10+8+18+10=46
包含FG的关键路径:A->D->F->G->J=10+8+3+7=28
所以FG的松弛时间为:46-28=18
题目2:
某软件目的活动图如下图所示,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的数字表示活动的持续时间(天),则完成该项目的最少时间为(C)天。活动BD最多可以开始(A)天而不会影响整个项目的进度。
题目1:
A.15
B.21
C.22
D.24
题目2:
A.0
B.2
C.3
D.5
解析:
本题中,关键路径为ABDGIKL,其长度为22,所以最短工期22天。
BD是关键路径上的活动,其总时差为0,不能被耽误,有任何延误,都会影响总工期,所以BD最多延误0天不会影响总工期.
12.网络汇聚
看题:
要使4个连续的C类网络汇聚成一个超网,则子网掩码应该为()
解析:
我们知道C类地址的子网掩码为255.255.255.0,而四个子网需要2位来表示,
因此如果要将4个连续的C类网络汇聚成一个超网,
只需要将子网掩码第三个字节的最后两位变成0即可,因此超网的子网掩码是:
255.255.252.0
13.各个算法复杂度
题目1:
对n个基本有序的整数进行排序,若采用插入排序算法,则时间和空间复杂度分别为(D);若采用快速排序算法,则时间和空间复杂度为(C)
问题1:
A. O(n2)和O(n)
B. O(n)和O(n)
C. O(n2)和O(1)
D. O(n)和O(1)
问题2:
A. O(n2)和O(n)
B. O(nlogn)和O(n)
C. O(n2)和O(1)
D. O(nlogn)和O(1)
解析:
若数据基本有序,对插入排序算法而言,则可以在近似线性时间内完成排序,即O(n);而对于快速排序而言,则是其最坏情况,即O(n2)。两个算法在排序时仅需要一个额外的存储空间,即空间复杂度为常数O(1)。( 这里比较特殊,基本有序的情况下,快速排序因为不需要做交换处理,所以不需要存储额外数据,每一轮记录一次基准数值,空间复杂度只需要O(1) )
题目2:
在55个互异元素构成的有序表A[1..55]中进行折半查找(二分查找,向下取整)。若需要找的元素等于A[19],则在查找过程中参与比较的元素依次为(),A[19]。
A. A[28],A[30],A[15],A[20]
B. A[28],A[14],A[21],A[17]
C. A[28],A[15],A[22],A[18]
D. A[28],A[18],A[22],A[20]
解析:
注:key的值等于A[19]。
1.mid=[(1+55)/2]=28,把A[28]与key的值比较后,缩小查找范围为A[1]至A[27];
2.mid=[(1+27)/2]=14,把A[14]与key的值比较后,缩小查找范围为:A[15]至A[27];
3.mid=[(15+27)/2]=21,把A[21]与key的值比较后,缩小查找范围为:
A[15]至A[20];
4.mid=[(15+20)/2]=17,把A[17]与key的值比较后,缩小查找范围为:
A[18]至A[20];
5.mid=[(18+20)/2]=19,把A[19]与key的值比较后,发现值相等,找到目标.
题目3
对n个元素的有序表A[1…n]进行二分(折半)查找(除2取商时向下取整),查找元素Ai时,最多与A中的______个元素进行比较。
A.n
B.log2n-1
C.n/2
D.log2n+1
解析:
二分查找是一种效率较高的查找方法,在10个元素构成的有序表中进行二分查找的过程可用二分查找判定树表示,如下图所示:
其中,结点中的数字表示元素在表中的序号。以结点10为例,它所在的位置说明若要查找表中的第10个元素,则依次与第5个、第8个、第9个和第10个元素进行了比较。若有序表中有n个元素,则对其进行二分查找的判定树的高度为log2n+1(与具有n个结点的完全二叉树高度一样),因此,查找过程中最多与log2n+1个元素进行比较
题目4:
用插入排序和归并排序算法对数组<3,1,4,1,5,9,6,5>进行从小到大排序,则分别需要进行______次数组元素之间的比较。
A.12,14
B.10,14
C.12,16
D.10,16
解析:
以下是排序步骤:
1、【3】1,4,1,5,9,6,5
2、【1,3】,4,1,5,9,6,5 比较次数1次:3和1比较
3、【1,3,4】,1,5,9,6,5 比较次数1次:4和3比较 因为4比3大所以不和1比较
4、【1,1,3,4】,5,9,6,5 比较次数3次:1和4比较 1和3比较 1和1比较 因为1比4小故而需要和之前的数组比较直到大于等于之前的数字才停止
5、【1,1,3,4,5】,9,6,5 比较次数1次:5和4比较
6、【1,1,3,4,5,9】,6,5 比较次数1次:9和5比较
7、【1,1,3,4,5,6,9】,5 比较次数2次:6和9比较 6和5比较
8、【1,1,3,4,5,5,6,9】 比较次数3次:5和9比较 5和6比较 5和5比较
所以 比较的次数为 1+1+3+1+1+2+3=12次
归并操作(merge),也叫归并算法,指的是将两个顺序序列合并成一个顺序序列的方法。
以下是排序步骤:
所以比较次数为 4+6+4=14次
14.总线宽度
总线宽度为32bit,时钟频率为200MHz,若总线上每5个时钟周期传送一个32bit的字,则该总线的带宽为 ( ) MB/S。
A.40
B.80
C.160
D.200
解析:
总线的带宽指单位事件内传输的数据总量。在计算机中,时钟频率是其时钟周期的倒数,此题中,时钟周期为1/200。
总线宽度:总线的线数,即数据信号并行传输的能力。本题传送大小与总线宽度一致,不需要处理。
总线上每5个时钟周期传送一个32bit的字,我们将32bit单位转换成4byte
5个时钟周期即总时间为:1/200*5
所以总线的带宽是 数据总量/总时间=4/(5/200)=180MB/s
注:
“Mbps”,其全称为Million bits per second,意为每秒传输百万位(比特)数量的数据,
而这里的bit(比特,1比特等于1个位)是表示数字信号数据的最小单位。
而Mb/s中的Mb与Mbps中的Mb意义相同,均表示百万位(比特)数据数量,所以Mbps=Mb/s
。
1Byte(字节)=8bit(比特/位),在计算机中每8位为1字节,也就是1Byte=8bit,
当在用Bytes/s和bits/s来表示网速时,于是就有#1MB/s=8Mbps=8Mb/s
。
15.数据库相关
1.数据库事务
事务是数据库更新操作的基本单位,事务回滚是指将该事务已经完成的对数据库的更新操作撤销。事务对数据库的操作首先是在缓冲区中进行的,由DBMS来实现定期的缓冲区数据写入硬盘数据库的操作,也可以由显示的指令来完成,事务的撤销只涉及数据库,不会事务中的变量值
。
2.数据库模式
三级模式结构:
1.外模式对应视图
2.概念模式对应基本表
3.内模式对应存储文件(索引操作等)
第二层概念模式有的也被称为模式
两个映像(就好像是各个模块的粘合剂,使得可以独立设计各个模块,不知道比喻是否恰当)分别是
内模式/模式映像(唯一),保证了数据库的物理独立性
外模式/模式映像(不唯一),保证了数据库的逻辑独立性
3.数据库结构模型
不同的数据模型具有不同的数据结构形式。目前常见的数据结构模型有层次模型
,网状模型
,关系模型
和面向对象模型
。
层次模型和网状模型统称为非关系模型。
关系模型:指用二维表
的形式表示实体和实体间联系的数据模型。在实际的关系数据库中的关系称为表,一个关系数据库就是由若干个表组成。
关系模型的基本概念和术语:
(1)关系(Relation):一个关系对应着一个二维表,二维表就是关系名。
(2)元组(Tuple):在二维表中的一行,称为一个元组。
(3)属性(Attribute):在二维表中的列,称为属性。属性的个数称为关系的元或度。列的值称为属性值;
(4)(值)域(Domain):属性值的取值范围为值域。
(5)分量:每一行对应的列的属性值,即元组中的一个属性值。
(6)关系模式:在二维表中的行定义,即对关系的描述称为关系模式。一般表示为(属性1,属性2,......,属性n),如老师的关系模型可以表示为教师(教师号,姓名,性别,年龄,职称,所在系)。
(7)键(码):如果在一个关系中存在唯一标识一个实体的一个属性或属性集称为实体的键,即使得在该关系的任何一个关系状态中的两个元组,在该属性上的值的组合都不同。
(8)候选键(候选码):若关系中的某一属性的值能唯一标识一个元组如果在关系的一个键中不能移去任何一个属性,否则它就不是这个关系的键,则称这个被指定的候选键为该关系的候选键或者候选码。
题目1
若关系R、S如下图所示,则关系代数表达式π1,3,7(σ3<6(R×S))与(B)等价。
A.πA,C,E(σC<D(R×S))
B.πA,R.C,E(σR.C<S.D(R×S))
C.πA,S,C,S,E(σR.C<S.D(R×S))
D.πA,R.C,R.E(σR.C<S.D(R×S))
解析:
RxS的属性列名分别为:R.A, R.B, R.C, R.D, S.C, S.D, S.E。
σ3<6(R×S)表示从RxS的结果集中选取第 三个分量(R.C)小于第六个分量(S.D)的元组,故σ3<6(R×S)与σR.C<S.D(R×S)
等价。
π1,3,7(σ3<6(R×S))的含义是从σ3<6(R×S)结果集中选取第一列(R.A),第三列(R.C),第七列(S.E)。
题目2
解析:
关系R(A,B,C,D)和S(A,C,E,F)做自然连接时,会以两个关系公共字段做等值连接,然后将操作结果集中重复列去除
,所以运算后属性列有(4+4)-2=6个(A,C为重复列)。
求自然连接的笛卡尔积等价表达式,首先笛卡尔积需要选取同属性名则值相等的元组,本题A,C同属性名,因此需要满足R.A=S.A ^R.C=S.C, 转换为数字序号则为:1=5^3=6。对于选择条件R.B>S.E,转换为数字序号,则为2>7。
题目3. 数据库权限授予
数据库赋予用户权限语句:Grant 权限 on 数据库对象 To 用户 WITH GRANT OPTION
。
题目4. 锁
共享锁
:若事务T对数据A对象加了共享锁,其他事务只能对A加共享锁,不能加排他锁,直到事务T释放A上的共享锁。
排他锁
:若事务T对数据A加了排他锁,其他事务不能再对A加任何锁,直到T释放A上的锁。
题目5. 数据库安全措施
数据库安全措施主要权限有:权限机制
,视图机制
和数据加密
。
权限机制:通过权限机制,限定用户对数据的操作权限,把数据的操作限定在具有权限的用户范围内。
通过建立用户视图,用户或应用程序只能通过视图来操作数据,保证了视图之外的数据的安全性。
对数据库中的数据进行加密,可以防止数据在存储和传输过程中失密。
注:数据库的完整性是指数据的正确性和相容性。如学生的性别只能是男或女,百分制的成绩只能取0-100之间的整数值。为防止错误数据进入数据库,DBMS提供了完整性约束机制,通过对数据库表结构进行约束,当对数据进行修改时由系统对修改数据进行完整性检测,将错误数据拒绝于数据库之外。
题目6. 三类完整性约束
实体完整性
:规定基本关系的主属性不能取空值。
参照完整性
:实体间引用的完整性,本表中外码的值必须取空值或者在被引用表中存在相应的主码值。
实体完整性和参照完整性是所有数据库系统都要支持的完整性约束。
用户定义完整性
:针对某一具体应用所涉及的数据必须满足的语义要求。比如:仓库的地址不能为空,应该满足用户定义完整性约束。
题目7 分布式数据库
分布式数据库系统的“分片透明性”位于(C)。
A.全局模式与全局概念模式之间
B.分片模式与分配模式之间
C.全局概念模式与分片模式之间
D.分配模式与局部概念模式之间
[解析] 分布透明性有三个层次,从高到低依次为:分片透明性、位置透明性和局部数据模型透明性。
分片透明性
:分片透明性位于全局概念模式与分片模式之间,是指用户只需对全局关系进行操作,不必考虑数据的分片及存储场地,其应用程序的编写与集中式数据库相同。当分片模式改变时,只需改变全局概念模式到分片模式之间的映像,而不会影响到全局概念模式和应用程序。
位置透明性
:位置透明性位于分片模式与分配模式之间,是指用户不必知道数据的存储场地,即数据分配到哪个或哪些场地存储对用户是透明的。当存储场地发生变化时,只需改变分片模式到分配模式之间的映像,而不会影响分片模式、全局概念模式和应用程序。
局部数据模型透明性(逻辑透明)
:局部数据模型透明性也称局部映像透明性,位于分配模式与局部概念模式之间,是指用户不用考虑局部DBMS所支持的数据模型、使用哪种数据操纵语言,但要考虑数据如何分片、片段及其副本在各场地上的分配。
模式结构:
下图所示的分布式数据库系统模式结构,从整体上可以分为两大部分:下部是集中式数据库系统的模式结构,代表了各局部场地上局部数据库系统的基本结构,上部分是分布式数据库系统增加的模式级别,其中包括:
1)全局外模式
:是全局应用的用户视图,是全局概念模式概念的子集。
2)全局概念模式
:定义了分布式数据库系统的整体逻辑结构,使得数据如同没有分布一样。
3)分片模式
:定义片段以及全局关系与片段之间的映像。(一对多,一个全局关系对应多个片段)
4)分布模式
:片段是全局关系的逻辑部分,一个片段在物理上可以分配到网络的不同结点上,分布模式定义片段的存放结点,根据分部策略选择定义片段的存放场地。
5)局部概念模式
:定义了分布式数据库中局部数据的逻辑结构。
6)局部内模式
:定义了分布式数据库中局部数据的物理结构。
分布透明性
分布透明性是指用户不必关心数据的逻辑分片,不必关心数据物理位置分配的细节,也不必关心各个场地上数据库的数据模型。所以分布透明性包括3三个层次:
1)分片透明性:指用户或应用程序只对全局关系进行操作而不必考虑关系的分片,当分片模式改变了,由于有全局概念模式到分片模式的映像存在(映像2),全局模式不变,应用程序不必改写。
- 位置透明性:是指用户和应用程序不必知道片段的存储场地。当存储场地改变,由于分片模式到分布模式的映像存在(映像3),应用程序不必改写。
3)局部数据模型透明性:是指用户和应用程序不必了解局部场地上使用的是那种数据模型,模型的转换以及数据库语言的转换均由映像4完成。
题目8 数据字典
数据字典是结构化分析的一个重要输出。数据字典的条目不包括
(A)。
A.外部实体
B.数据流
C.数据项
D.基本加工
解析:
结构化分析的输出包括数据流图,数据字典和加工逻辑。其中数据字典用来描述DFD中的每个数据流,文件以及组成数据流或文件的数据项。
数据字典包括:数据项,数据结构,数据流,数据存储,基本加工等
题目9
银行系统采用分布式数据库系统,对本地储户的存储业务能够在本地正常进行,而不依赖于其他场地数据库,称为分布式数据库的(B)。
A.共享性
B.自治性
C.可用性
D.分布性
解析:
共享性是指各结点数据共享;
自治性指每结点对本地数据都能独立管理;
可用性是指当某一场地故障时,系统可以使用其他场地上的副本而不至于使整个系统瘫痪;
分布性是指数据在不同场地上的存储。
16.IIS多站点配置
在IIS下配置多站点时,可以采用虚拟主机
和虚拟目录
两种方式。
采用虚拟目录时:发布的站点没有独立域名,而是主域名下建立虚拟目录。
采用虚拟主机:
有三种方式,
使用不同IP地址
,不同端口号
和不同的主机头
。
使用不同的IP地址
时要求Web服务器配置多网卡;
使用不同端口号
时,要求在访问Web服务器虚拟主机时指名端口号,如http://www.b.com:8080
,
使用不同主机头
时,在IIS发布中要做主机头域名指定。
17.编译原理-四种文法的理解
- 文法的表示
文法是由非终结符
(大写字母)和终结符
(小写字母)以及"->"组成的。给出几个例子就容易理解了。
A—> a、B—>dba、S—> Ab、adB—>d
通过上面的几个例子可以看出:非终结符A,B,S,一般是写在左边,而终结符a,dba,b,一般是写在右边的。当然习惯的写法是非终结符用S(Start)表示,写在左边,自然而然的小写的就在右边了,这样也便于我们记忆文法的表示方式。
首先有一个前提:设有一个组合G=(Vn,Vt,P,S)。其中Vn是非终结符的集合,Vt是终结符的集合,P是推导式的一个集合,S是开始符。就上面的例子来说,A,B,S是Vn, a,dba,b是Vt,整个的集合为P。
0型文法
这是最简单的一个文法。它比较宽容,没那么多的限制条件。左边必须要包含这些元素或元素组中的至少一个非终结符,右边可以是这些元素的任意组合,这样就构成了0型文法。
如:
A->a
1型文法(上下文有关文法)
它是在0型文法的基础之上,只添加了一个要求:右边的长度>=左边的长度(终结符或非终结符的个数)。
A—> a、B—>dba 则是 1 型文法,而adB—>d不符合 1 型文法要求
注意这里有一个特殊的形式S—> ∑(∑表示空),也是一个 1 型文法
2型文法(上下文无关法)
它在1型文法的基础上,增加了一个要求,左边必须是非终结符(个数不限)
AB—>de属于2型文法,而 Aa—>DE则不是,因为Aa中含有a。
3型文法(正规文法)
它是在2型的基础上提出了要么一个非终结符推出一个终结符,要么一个非终结符推出一个终结符并且带一个非终结符。
A—>a | aB (右线性) 、 A—> a | Ba (左线性)
而上图中的左线性、右线性是相互独立的。如:A—>b、A—>bD 这是 3 型文法
但是A—>b、A—>bD、A—>Db则不是3型文法。从这里可以看出,对于 3 型文法,它不是左右线性的“组合”,要么都是右线性,要么都是左线性。
题目
给定文法G[S]及其非终结符A,FIRST(A)定义为:从A出发能推导出的终结符号的集合(S是文法的起始符号,为非终结符)。对于文法G[S]:
S→[L]|a
L→L,S|S
其中,G[S]包含的4个终结符号分别为:
a , [ ]
则FIRST(S)的成员包括()
18.计算机网络结构
计算机网络由计算机系统,通信链路和网络结点组成。从逻辑功能看,网络又分为资源子网和通信子网。通信子网按其传送数据的技术分为点-点通信和广播通信。
常见的网络结构:星型,环型,总线型,树形等
1、星形。星形拓扑结构存在一个中心结点,它是其它节点的唯一中继结点。这种构形结构简单,容易建网,便于管理,但由于通信线路长度较长,成本高,可靠性差。
2、环形。其各网络结点连成环状,数据信息沿一个方向传送,通过各中间结点存贮转发,最后到达目的结点。
3、树形。其各结点按层次进行连接,处于层次越高的结点,其可靠性要求越高。这种结构比较复杂,但总线路长度较短,成本较低容易扩展。
4、网状形。这是最一般化的网络构形,各节点通过物理信道连接成不规则的形状。
5、全连通形。其任两个结点之间均有物理信道。
广播信道通信子网
在广播信道子网中,所有结点共享一条通信信道,每个网络结点发送的信息,网络上所有结点都可收到,但只有目的地址是本站地址的信息才被结点接收下来。广播信道子网有如下图所示的三种结构:
点发送的信息,网上所有结点都可收到,但只有目的地址是本站地址的信息才被结点接收下来。广播信道子网有如图2所示的三种结构
1、总线形。网中各结点连在一条总线上,任一时刻,只允许一个结点占用总线,发送信息,其它结点只能接收信息。
2、卫星或无线广播。所有结点计算机共享通信信道,任一结点计算机发送的信息,通过广播可被其它结点接收到。
3、环形。这种环形和点-点子网中的环形一样,只是控制方式不同。
19.软件维护工具
软件维护工具主要有:1.版本控制工具,2.文档分析工具,3.开发信息库工具,4.逆向工程工具,5.再工程工具。
答案:B
解析:配置管理支持工具不属于软件维护工具。
20.归约分析
是自底向上方法中的典型,先分析词,即词法分析,再分析词的组合,即语法分析。
21,重载与重写
解析:覆盖:子类重写父类的方法
重载:一个类可以有多个同名而参数类型不同的方法。
22.刷新DNS命令
- ipconfig/renew:更新所有适配器的DHCP配置,该命令仅在具有配置为自动获取IP地址的适配器的计算机上可用
- ipconfig/flushdns:刷新并重设DNS解析器缓存
- netstat -r :用于显示核心路由表
- arp -a:查看ARP高速缓存中的内容
23.程序计数器与地址寄存器
程序计数器:用于存放下一条指令所在单元的地址。在程序执行前,必须将程序的起始地址,即程序的一条指令所在的内存单元地址送入程序计数器,当指令执行时,CPU将自动修改程序计数器的内容,即每执行一条指令程序计数器增加一个量,使其指向下一个待指向的指令。程序的转移等操作也是通过该寄存器来实现的。
地址寄存器:一般用来保存当前CPU所访问的内存单元的地址,以方便对内存的读写操作。
累加器:专门存放算术或逻辑运算的一个操作数和运算结果的寄存器
ALU:是CPU的执行单元,主要负责运算工作。
题目:
使用150DPI的扫描分辨率扫描一幅3×4英寸的彩色照片,得到原始的24位真彩色图像的数据量是多少Byte?
解析:DPI表示每英寸长度的采样、输出点数。Byte是字节,1字节是8位。
所以上述题目应该这样计算:150乘以长度得到照片的长度采样点数。
150乘以宽度得到宽度采样点数,两个采样点数相乘就是整张照片的采样点数。
因为每1个采样点数以24位表示,
所以还需要整张照片的采样点数乘以24,得到的数值换算成Byte需要除以8。
(150*3)*(150*4)*24/8=810000 单位Byte
24.默认端口号
使用TCP协议的:
1.FTP:21(控制口),20(数据口)。
2.Telnet:23 是Internet远程登录服务的标准协议和主要方式。
3.SMTP(Simple Mail Transfer Protocol):25。
SMTP协议属于TCP/IP协议族。
(SMTP是建立在FTP文件传输服务上的一种邮件服务,主要用于系统之间的邮件信息传递,并提供有关来信的通知。)SMTP传输的邮件报文采用的是ASCII编码。
4.POP3:110 本协议主要用于支持使用客户端远程管理在服务器上的电子邮件。提供了SSL加密的POP3协议被称为POP3S。采用TCP作为默认传输协议,C/S架构,离线访问模式。
5.HTTP:80端口
使用UDP协议的
1.DNS:
53端口。
域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。2.DHCP(Dynamic Host Configuration Protocol,动态主机配置协议):
67端口号
。
动态主机配置协议是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。3.TFTP(Trivial File Transfer Protocol,简单文件传输协议):
69端口
。4.SNMP(简单网络管理协议):
161端口
。简单网络管理协议SNMP是专门设计用于在 IP 网络管理网络节点,服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层
协议。
题目1:
以下关于DHCP服务的说法中正确的是(B)。
A.在一个子网内只能设置一台DHCP服务器,以防止冲突
B.在默认情况下,客户机采用最先到达的DHCP服务器分配的IP地址
C.使用DHCP服务,无法保证某台计算机使用固定IP地址
D.客户端在配置时必须指明DHCP服务器的IP地址,才能获得DHCP服务
解析:
DHCP(Dynamic Host Configuration Protocol,动态主机分配协议)分为两个部分:一个是服务器端,另一个是客户端。所有的IP网络设定数据都由DHCP服务器集中管理,并负责处理客户端的DHCP要求;而客户端则会使用从服务器分配下来的IP环境数据。
在DHCP中,需要IP地址的主机用它的MAC地址广播一个DHCP discover分组。DHCP服务器用一个DHCP offer 分组进行应答,应答分组中包括没被使用的IP,主机在得到的IP地址中选择一个,并用DHCP request 分组广播它的选择,被选定的服务器用DHCP ack进行确认。分配出的IP地址有生命期,必须定期刷新以保持它的有效性。当主机完成任务以后,发送一个DHCP release分组释放占用的IP地址,否则当超过生命期后,地址自动被释放。
从DHCP的原理可以看出子网内是可以有多个DHCP的,用户机以收到的第一个DHCP应答信号为准,进行IP获取。显然B描述是正确的。
25.系统总线
总线是在计算机中连接两个或多个功能部件的一组共享信息传输线,它的主要特征就是多个部件共享传输介质。它是构成计算机系统的骨架,是各个功能部件之间进行信息传输的公共通道,借助总线的连接,计算机各个部件之间可以传送地址,数据和各种控制信息。在计算机系统中采用总线结构,便于实现系统的积木化结构,同时可以有效减少信息传输线的数量。
题目:
在计算机系统中采用总线结构,便于实现系统的积木化构造,同时可以(C)。
A.提高数据传输速度
B.提高数据传输量
C.减少信息传输线的数量
D.减少指令系统的复杂性
解析:
总线是连接计算机有关部件的一组信号线,是计算机中用来传送信息代码的公共通道。计算机采用总线结构主要有以下优点:
(1)简化了系统结构,便于系统设计制造;
(2)大大减少了连线数目,便于布线,减小体积,提高系统的可靠性;
(3)便于接口设计,所有与总线连接的设备均采用类似的接口;
(4)便于系统的扩充、更新与灵活配置,易于实现系统的模块化;
(5)便于设备的软件设计,所有接口的软件就是对不同的口地址进行操作;
(6)便于故障诊断和维修,同时也降低了成本。
26.图像分辨率和显示分辨率
当图像分辨率为800x600,屏幕分辨率为640x480时,正确的是(A)。
A.屏幕上显示一幅图像的64%左右
B.图像正好占满屏幕
C.屏幕上显示一幅完整的图像
D.图像只占屏幕的一部分
解析:图像分辨率和显示分辨率时不同的概念。图像分辨率确定的是组成一幅图像像素的数目,而显示分辨率确定的是显示图像的区域大小。它们之间的关系是:
1).图像分辨率大于显示分辨率时,在屏幕上只能显示部分图像。例如:当图像分辨率为800x600,屏幕分辨率为640x480时,屏幕上只能显示一幅图像的60%左右。
2).图像分辨率小于屏幕分辨率时,图像只占屏幕的一部分。例如,当图像分辨率为320x240,屏幕分辨率为640x480时,图像只占屏幕 的1/4。
27.C语言结构体和联合体存储大小
题目:
给定C语言的数据结构
struct T
{
int w;
union Tchar c; int I; double d; )U;
};
假设char类型变量的存储区大小是1字节,int类型变量的存储区大小是4字节,
double类型变量的存储区大小是8字节,
则在不考虑字对齐方式的情况下,
为存储一个 struct T类型变量所需要的存储区域至少应为(C)字节。
A.4
B.8
C.12
D.17
解析:
在不考虑字节对齐的规则下,C语言中一个结构体变量的存储区大小是其所有成员所需存储区大小之和,一个联合体变量的存储区大小就是其各成员所需存储区大小中最大者。
union T定义T为一个共用体,它所占用的存储空间的大小是它所包含的元素中占用存储空间最多的那个,即d的存储空间8字节,int w要占用存储空间4字节,所以存储一个struct T类型变量所需要的存储区域至少应为4+8=12字节。
28.标准URL格式
协议://主机名.域名.域名后缀或IP地址(:端口号)/目录/文件名
题目:
某公司内部使用 wb.xyz.com.cn 作为访问某服务器的地址,其中 wb 是(A )。
A.主机名
B.协议名
C.目录名
D.文件名
29.单向循环链表
在单链表的基础上,人们设计了一种“循环性”单向链表,称之为“单向循环链表”。相比于单向链表,单向循环链表的最大特点是 尾结点指向头节点。
单向链表VS单向循环链表——优势
对单向链表中任一个节点的访问都需要从头结点开始;而对单向循环链表从任意节点出发都能遍历整个列表,极大的增强了其灵活性。
题目1:
若对一个链表最常用的操作是在末尾插入结点和删除尾结点,则采用仅设尾指针的单向循环链表(不含头结点)时,(C)。
A.插入和删除操作的时间复杂度都为O(1)
B.插入和删除操作的时间复杂度都为O(n)
C.插入操作的时间复杂度为O(1),删除操作的时间复杂度为O(n)
D.插入操作的时间复杂度为O(n),删除操作的时间复杂度为O(1)
解析:
设节点的指针域为next,新节点的指针为s,则在尾指针所指节点后插入节点的操作为:
s->next=t->next;t->next=s;t=s;
也就是插入操作的时间复杂度为O(1)。
要删除尾指针所指结点,必须通过遍历操作找到尾结点的前驱结点,其操作序列如下:
if (t->next==t) free(t);
else {
p=t->next;
while (p->next!=t)
p=p->next;
p->next=t->next;
free (t);
t=p;
}
也就是说,删除操作的时间复杂度为O(n)。
30.栈和队列
队列具有先进先出的特点,而栈具有后进先出的特点。因此我们可以知道入队序列与出队序列一定相同
,但入栈序列与出栈序列不一定相同。比如,a,b,c这样一个序列,那么按照a,b,c的顺序入队列,那么其出队列的次序一定是a,b,c。而按照a,b,c的顺序入栈,那么可能是a入栈后就出栈,然后b入栈又出栈,然后c入栈出栈。也可能是等a,b,c都入栈后再出栈,那么出栈序列就是c,b,a。
题目1:
解析:
若采用顺序表存储,则最好的情况是删除最后一个元素,此时不用移动任何元素,直接删除,最差的情况是删除第一个元素,此时需要移动n-1个元素,所以平均状态是移动(n-1)/2。
若采用链表存储,直接将需要删除元素的前驱next指针指向后继元素即可,不需要移动元素,所以移动元素个数为0.
题目2
某双端队列如下图所示,要求元素进出队列必须在同一端口,即从A端进入的元素必须从A端出、从B端进入的元素必须从B端出,则对于4个元素的序列el、 e2、e3、 e4,若要求前2个元素(el、 e2)从A端口按次序全部进入队列,后两个元素(e3、e4)从B端口按次序全部进入队列,则可能得到的出队序列是(D)。
A.el、 e2、 e3、 e4
B.e2、 e3、 e4、 el
C.e3、 e4、el、 e2
D.e4、 e3、 e2、 el
解析:
e1,e2从A端进入,e3,e4从B端进入,如下图所示:
根据题意:从A端进入的元素必须从A端出,从B端进入的元素必须从B端出;则出队顺序中e2在e1前面,e4在e3前面。只有答案D满足。
题目3
栈的特点是后进先出,若用单链表作为栈的存储结构,并用头指针作为栈顶指针,则(A )。
A. 入栈和出栈操作都不需要遍历链表
B. 入栈和出栈操作都需要遍历链表
C. 入栈操作需要遍历链表而出栈操作不需要
D. 入栈操作不需要遍历链表而出栈操作需要
解析:
本题用单链表作为栈的存储结构,因为栈的操作是先进后出,因此无论是入栈还是出栈,都只对栈顶元素操作,而在单链表中用头指针作为栈顶指针,此时无论是出栈还是入栈,都只需要对头指针指向的栈顶指针操作即可,不需要遍历链表。
31.系统开发计划文档
题目1:
系统开发计划用于系统开发人员与项目管理人员在项目期内进行沟通,它包括()和预算分配表等。
A.PERT图
B.总体规划
C.测试计划
D.开发合同
解析:
用于系统开发人员与项目管理人员在项目期内进行沟通的文档主要有系统开发计划,包括工作任务分解表、PERT图、甘特图和预算分配表等。总体规划和开发合同用于与系统分析人员在系统规划和系统分析阶段的沟通。测试计划用于系统测试人员与系统开发人员之间的沟通。
32.IPV4和IPV6过渡
IPV4和IPV6的过渡期间,主要采用三种基本技术。
- 1.双协议栈:主机同时运行IPV4和IPV6两套协议栈,同时两套协议。
- 2.隧道技术:这种机制用来在IPV4网络之上连接IPV6的站点,站点可以是一台主机,也可以是多个主机。隧道技术将IPV6的分组封装到IPV4分组中,封装后的IPV4分组将通过IPV4的路由体系传输,分组包头的协议域设置位41,指示这个分组的负载时一个IPV6的分组,以便在适当的地方恢复出被封装的IPV6分组并传送给目的站点。
- 3.NAT-PT(Network Address Translator - Protocol Translator):利用转换网关来在IPV4和IPV6之间转换IP包头的地址,同时根据协议不同对分组做相应的语义翻译,从而使纯IPV4和纯IPV6站点之间能够透明通信。
题目1:
IPv6站点通过IPv4网络通信需要使用隧道技术,常用的3种自动隧道技术是(B )。
A.VPN隧道、PPTP隧道和IPsec隧道
B.6to4隧道、6over4隧道和ISATAP隧道
C.VPN隧道、PPP隧道和ISATAP隧道
D.IPsec隧道、6over4隧道和PPTP隧道
33.平均失效间隔和平均无故障时间
MTBF为平均失效间隔时间,则可用性用MTBF/(1+MTBF)表示。可用性是指在给定的时间上,一个系统能够正确运行的概率。
MTTF为平均无故障时间,则可靠性可以用MTTF/(1+MTTF)表示。可靠性是指系统在给定的时间间隔内,给定条件下无失效运行的概率。
33.计算机病毒
计算机病毒的分类方法有许多种,按照最通用的区分方式,即根据其感染的途径以及采用的技术区分,计算机病毒可以分为文件型计算机病毒,引导型计算机病毒,宏病毒和目录型病毒。
文件型计算机病毒感染可以执行文件(包括EXE和COM文件)
引导型计算机病毒影响软盘或硬盘的引导扇出
目录型计算机病毒能够修改硬盘上存储的所有文件的地址。
宏病毒感染的对象式使用某些程序创建的文本文档,数据库,电子表格等文件,
34.网络可用性
网络的可用性=网络稳定不出故障的时间 / 用户总的使用时间
35.软件维护分类
在系统运行过程中,软件需要维护的原因是多样的,根据维护的原因不同,可用将软件维护分为以下四种:
- 1.改正性维护:为了识别和纠正软件错误,改正软件性能上的缺陷,排除实施中的误使用,应当进行的诊断和改正错误的过程就称为改正性维护。
- 2.适应性维护:在使用过程中,外部环境(新的硬,软件配置),数据环境(数据库,数据格式,数据输入/输出方式,数据存储介质)可能发生变化。为使软件适应这种变化,而修改软件的过程就称为适应性维护。
- 3.完善性维护:在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。为了满足这些要求,需要修改或再开发软件,以扩充软件功能,增强软件性能,改进加共效率,提高软件的可维护性。这中情况下进行的维护活动称为完善性维护。
- 4.预防性维护:这是指预先提高软件的可维护性,可靠性等。为以后进一步改进软件打下良好的基础。
题目:
某商场的销售系统所使用的信用卡公司信息系统的数据格式发生了更改,因此对该销售系统进行的修改属于(B )维护。
A.改正性
B.适应性
C.改善性
D.预防性