




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机科学导论期末复习提纲
1(1).计算机历史;各阶段计算机的硬件特点;各代表性的计算
机名称;
ENIAC(埃尼亚克)
•ElectronicNumericalIntegrator
andCalculator
•Madein1946,18,000vacuum
tubes
•第一部全功能且电子化的计算机
•JohnMauchly和J.Presper
Eckert所发明
・开启时,所在地费城的灯光还会
微暗
第一代(19464958)
•电子技术,核心元件
电子管,几千次/秒,
用于军事与科学研究。
第二代(1959-1963)
•半导体技术,核心元
件晶体管,几十万次/
秒,用于科学计算、
数据和事务处理。
第三代(1964-1970)
・固体物理技术,核心
元件中小规模集成电
路,在几平方毫米单
晶硅片上集成十几个
至上百个电子元件;
几十万至几百万次/秒;
用于各个科学领域。
第四代(1971至今)
・核心元件大规模和超大规模集
成电路(如“奔腾4处理器”包
含4200万个晶体管);上千万
次至上亿次/秒;进入现代社
会各个领域。
•超大规模集成电路应用的直接
结果是微型计算机的诞生。
第二代计算机:晶体管数字计算机
第三代集成电路计算机
第四代大规模集成电路计算机
第五代电子计算机被称为“智能计算机
第一代计算机:50年代是计算机研制的第一个高潮时期,那时的计算机中的主要元器件都是
用电子管制成的,后人将用电子管制作的计算机称为第一代计算机。这个时期的计算机发展
有三个特点:即由军用扩展至民用,由实验室开发转入工业化生产,同时由科学计算扩展到
数据和事务处理。
第二代计算机:晶体管数字计算机,在20世纪50年代之前,计算机都采用电子管作元件。
电子管元件有许多明显的缺点。例如,在运行时产生的热量太多,可靠性较差,运算速度不
快,价格昂贵,体积庞大,这些都使计算机发展受到限制。于是,晶体管开始被用来作计算
机的元件。晶体管不仅能实现电子管的功能,又具有尺寸小、重量轻、寿命长、效率高、发
热少、功耗低等优点。使用了晶体管以后,电子线路的结构大大改观,制造高速电子计算机
的设想也就更容易实现了。注:第二代计算机的特点
①采用晶体管作为逻辑开关元件;
②使用磁芯作为主存储器(内存),辅储器(外存)采用磁盘和磁带;存储量增加,可
靠性提高;
③输出输入方式有了很大改进;
④开始使用操作系统,有了各种高级语言。
⑸体积减小、重量减轻、速度加快、可靠性增强
第三代集成电路计算机(1964-1971)
虽然晶体管比起电子管是一个明显的进步,但晶体管还是产生大量的热量,这会损害计算
机内部的敏感部分。1958年德州仪器的工程师JackKilby发明了集成电路IC,将三种电子元
件结合到一片小小的硅片上。科学家使更多的元件集成到单一的半导体芯片上。于是,计算
机变的更小,公耗更低,速度更快。这一时期的发展还包括使用了操作系统,使得计算机在
中心程序的控制协调下可以同时运行许多不同的程序。
第四代大规模集成电路计算机(1971-现在)
出现集成电路后,唯一的发展方向是扩大规模。大规模集成电路LSi,可以在一个芯片上容
纳几百个元件。到了80年代,超大规模集成电路VLSI在芯片上容纳了几十万个元件,后来
的ULSI将数字扩充到百万级。可以在硬币大小的芯片上容纳如此数量的元件使得计算机的
体积和价格不断下降,而功能和可靠性不断增强。
第五代电子计算机被称为“智能计算机”
第五代电子计算机是智能电子计算机,它是一种有知识,会学习,能推理的计算机,具有能
理解自然语言,声音,文字和图像的能力,并且具有说话的能力,使人机能够用自然语言直
接对话,它可以利用已有的和不断学习到的知识,进行思维,联想,推理,并得出结论,能
解决复杂问题,具有汇集,记忆,检索有关知识的能力。智能计算机突破了传统的诺伊曼式
机器的概念,舍弃了二进制结构,把许多处理机并联起来,并行处理信息,速度大大提高。
它的智能化人机接口使人们不必编写程序,只需发出命令或提出要求,电脑就会完成推理和
判断,并且给出解释。1988年,世界上召开了第五代电脑国际会议。1991年,美国加州理
工学院推出了一种大容量并行处理系统,用528台处理器并行进行工作,其运算速度可达到
每秒320亿次浮点运算。
2计算机硬件基本组成和各部分功能
Input(输入系统硬件)
Processingandmemory(数据处理和主存储系统硬
件)
Output(输出系统硬件)
Storage(辅助存储系统硬件)
Communications(通信系统硬件)
3冯•诺依曼体系结构
计算机的基本组成结构(冯.诺依曼体系)
四他主要部分
a)Memory(存储器)
4其功能有三项:存放将要处理的数据;存放数据处理用的程序指令;存放处理好的数据
(有用的信息)以供输出。
a)ArithmeticLogicUnit(ALU,算术/逻辑单元):进行信息加工、进行算术运算和逻辑
运算的场所,核心是算数逻辑单元
b)
c)ControlUnit(CU,控制单元)
5主要功能是取指令、解释和翻译指令代码,并产生各种控制信号,完成指令需要完成的
任务。
a)Input/Output(I/O,输入输出单元)Input/Output设备可以分成两大类:非存储设备,
存储设备
b)Nonstoragedevices非存储设备:使得CPU/memory可以与外界通信,但它不能
存储信息。
c)Storagedevices存储设备:尽管存储设备被分为输入输出设备,但它可以存储大量
的信息以备后用。有时称它们为SecondaryStorageHardware(辅助存储器)
d)分类为magnetic磁介质和optical光介质。
e)
4计算机工作原理
计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,
按指令的要求,从存贮器中取出数据进行指定的运算和逻辑操作等加工,
然后再按地址把结果送到内存中去。接下来,再取出第二条指令,在控
制器的指挥下完成规定操作。依此进行下去,直至遇到停止指令。
程序与数据一样存贮,按程序编排的顺序,一步一步地取出指令,
自动地完成指令规定的操作是计算机最基本的工作原理。这一原理最初
是由美籍匈牙利数学家冯・诺依曼于1945年提出来的,故称为冯.诺依曼
原理。
5不同类型内存器的概念(多个概念)、特点
1.Memory
冯.诺依曼原理的核心,用于存放程序和数据的
部件。
内存储器(主存)少快
外存储器(辅存)多慢
6根据内存的地址计算计算机的内存容量;根据内存容量计算需要多少条地址线
(1).内存容量以MB作为单位,可以简写为M。内存的容量一般都是
2的整次方倍,比如64MB、128MB、256MB等,一般而言,内存容量越大
越有利于系统的运行,系统对内存的识别是以Byte(字节)为单位,每个
字节由8位二进制数组成,即8bit(比特,也称"位")olByte=8bit;
lKB=1024Byte;1MB=1024KB;1GB=1O24MB;lTB=1024GBo
(2).在微机原理中,总线分为地址线、数据线和控制线,地址线是
用来传输地址信息用的
7Unicode/ASCII;字节、字、(计算机的)位的中文和英文含
义、会相关的计算
(1).Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它为每种
语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、
处理的要求。1990年开始研发,1994年正式公布。随着计算机工作能力的增强,Unicode
也在面世以来的十多年里得到普及。
(2).ASCII(AmericanStandardCodeforInformationInterchange,美国信息互换标
准代码)是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语和其他西欧语言。
它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC646o
(3).①.字节(Byte)是计算机信息技术用于计量存储容量和传输容量的一种计量单位,1个
字节等于8位二进制。
②.在计算机中,一串数码作为一个整体来处理或运算的,称为一个计算机字,简称字。
字通常分为若干个字节(每个字节一般是8位)。
③.数据存储的最小单位。在计算机中的二进制数系统中,位,简记为b,也称为比特,
每个0或1就是一个位(bit)。计算机中的CPU位数指的是CPU一次能处理的最大位数。
8计算机软件分类、功能
(l).SystemSoftware(系统软件)
系统软件是指控制和协调计算机及外部设备,支持应用软件开发和运行的系统,
是无需用户干预的各种程序的集合,主要功能是调度,监控和维护计算机系统;负责管
理计算机系统中各种独立的硬件,使得它们可以协调工作。系统软件使得计算机使用
者和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。
(2).ApplicationSoftware(应用软件)
应用软件是用户可以使用的各种程序设计语言,以及用各种程序设计
语言编制的应用程序的集合,分为应用软件包和用户程序.应用软件包是利
用计算机解决某类问题而设计的程序的集合,供多用户使用.
9操作系统的功能;了解主要的操作系统软件
(1).资源管理功能
■从资源管理的角度来看,操作系统的功能主要有以下4个方面。
①处理机管理
■操作系统的重要任务是控制程序的执行,它负责对系统中各个处理机及其
状态进行登记,管理各程序对处理机的要求,按照一定的策略将系统中的各个处理
机分配给申请的用户作业(进程)。目前计算机系统中所使用的大多数是“多任务”、
“多线程”的操作系统。
②.存储器管理
■操作系统按照一定的策略为用户作业分配存储空间,记录主存储器的使用
情况,并对主存储器中的信息提供保护,在该作业执行结束后将它占用的内存单元
收回以便其他程序使用。
③.输入输出设备管理
■由于输入输出设备的速度远远低于CPU,操作系统应对设备的输入输出性
能有很清晰的分类,以便当外部有输入输出要求时能及时地响应。操作系统记录系
统中各个输入输出设备的状态,按照各个设备的不同特点采取不同的策略分配和回
收外部设备以及控制外部设备按用户程序的要求进行操作。
④.文件管理
■操作系统的文件管理功能是对存放在计算机中的信息进行逻辑组织和物
理组织、维护文件目录的结构以及实现对文件的各种操作。有了文件管理,用
户可以按文件名存取数据而不必了解这些数据的确切物理位置。
(2)、人机交互功能
■主要靠可以进行输入输出的外部设备和相应的软件来完成。外部设备主要
有键盘、显示器、鼠标等。
■驱动这些设备进行工作的软件,就是操作系统提供用户进行人机交互功能
的“源泉”。软件的主要作用是控制有关的设备的运行,理解并执行通过人机交互界
面传来的各种命令和要求。
■目前,早期广泛使用并沿用至今的人机交互设备有键盘输入设备和显示器
等,近年来语音输入设备、文字读入设备、图形图象扫描输入设备等的使用也越来
越普遍,使得计算机系统人机交互的功能越来越强。
了解主要的操作系统软件
FTP工具软件图像浏览软件截图软件PDF文件阅读软件词典工具文件压缩软件
防病毒软件
10计算机中关于数据的各个概念
❖数据:描述客观事物的数、字符以及所有能输入到计算机并被计算机程序处理的符
号的集合,如数值、字符、图形、图像、声音等。
❖数据结构:带有结构的数据元素的集合,结构反映了数据元素相互之间存在的某种
联系。从学科的角度来看,数据结构是计算机科学技术的一个分支,它主要研究数
据的逻辑结构和物理结构以及它们之间的关系,并对这种结构定义相应的运算,设
计出实现这些运算的算法。
❖线性表:是n个数据元素的有限序列。
❖线性表的运算:设L为一个线性表
❖置空表SETNULL(L)
❖求表的长度LENGTH(L)
❖取表元素GET(L,i)
❖在表中查找特定元素LOCATE(L,x)
❖插入新元素INSERT(L,i,b)
❖删除表元素DELETE(L,i)
❖线性表的存储结构:
♦:♦顺序存储结构
❖链式存储结构
❖堆栈(stack):是一种受限的线性表,即只能在表的一端(表尾)进行插入和删除操
作。进栈和退栈操作按“后进先出"(LastInFirstOut,LIFO)的原则进行。
❖堆栈的运算:设S为一个堆栈
❖置空栈SETNULL(S)
❖进栈PUSH(S,X)
❖退栈POP(S)
❖取栈顶元素TOP(S)
❖判断堆栈是否为空EMPTY(S)
❖堆栈的存储结构:顺序存储结构
❖队列(queue):也是一种受限的线性表,只能在表的一端(队尾)进行插入,在表的
另一端(队首)进行删除操作。进、出队列操作按“先进先出"(FirstInFirstOut,FIFO)
的原则进行。
❖队列的运算:设Q为一个队列
>置空队列SETNULL(Q)
>进入队歹UADDQUEUE(Q,x)
A退出队列DELQUEUE(Q)
A取队首元素FRONTQUE(Q)
A判断队列是否为空EMPTY(Q)
❖队列的存储结构:链式存储结构,一个链队列需要设置队首指针和队尾指针。
11进制的概念、(二、十、八、十六)描述方法
进制也就是进位制,是人们规定的一种进位方法。对于任何一种进制一X进制,就表
示某一位置上的数运算时是逢X进一位。十进制是逢十进一,十六进制是逢十六进一,二
进制就是逢二进一,八进制就是逢八进一。
(二、十、八、十六)不同进制数之间的转换
1.二进制数、十六进制数转换为十进制数(按权求和)
二进制数、十六进制数转换为十进制数的规律是相同的。把二进制数
(或十六进制数)按位权形式展开多项式和的形式,求其最后的和,就是
其对应的十进制数一一简称“按权求和”.
例如:把(1001.01)2二进制计算。
解:(1001.01)2
=8*1+4*0+2*0+1*1+0*(1/2)+1*(1/4)
=8+0+0+1+0+0.25
=9.25
把(38A.11)16转换为十进制数
解:(38A.11)16
=3X16的2次方+8X16的1次方+10X16的0次方+1X16的T次方
+1X16的-2次方
=768+128+10+0.0625+0.0039
=906.0664
2.十进制数转换为二进制数,十六进制数(除2/16取余法)
整数转换.一个十进制整数转换为二进制整数通常采用除二取余法,即
用2连续除十进制数,直到商为0,逆序排列余数即可得到一一简称除二取余
法.
例:将25转换为二进制数
解:25+2=12余数1
124-2=6余数0
6+2=3余数0
34-2=1余数1
14-2=0余数1
所以25=(11001)2
同理,把十进制数转换为十六进制数时,将基数2转换成16就可以了.
例:将25转换为十六进制数
解:25・16=1余数9
14-16=0余数1
所以25=(19)16
3.二进制数与十六进制数之间的转换
由于4位二进制数恰好有16个组合状态,即1位十六进制数与4位二
进制数是一一对应的.所以,十六进制数与二进制数的转换是十分简单的.
(1)十六进制数转换成二进制数,只要将每一位十六进制数用对应的4
位二进制数替代即可一一简称位分四位.
例:将(4AF8B)16转换为二进制数.
解:4AF8B
01001010111110001011
所以所AF8B)16=(1001010111110001011)2
(2)二进制数转换为十六进制数,分别向左,向右每四位一组,依次写出
每组4位二进制数所对应的十六进制数一一简称四位合一位.
例:将二进制数(000111010110)2转换为十六进制数.
解:000111010110
1D6
所以所11010110)2=(1D6)16
转换时注意最后一组不足4位时必须加0补齐4位
13(二、十、八、十六)代数运算
二进制数的运算算术运算:力口、减、乘、除
逻辑运算:与、或、异或、异
一、二进制加法
规则为:(1)0+0=0
(2)1+0=0+1=1
(3)1+1=0,进位1
(4)1+1+1=1,进位1
如:1101
1011
11000
二进制减法
规则为:(1)0-0=0
(2)1-1=0
(3)1-0=1
(4)0-1=1,有借位
如:11000100
-00100101
10011111
二进制乘法
规则为:(1)0x0=0
(2)0x1=0
(3)1x0=0
(4)1x1=1
如I:1111
X1101
1111
0000
1111
1111
11000011
二进制除法:除法是乘法的逆运算
000111
101)100011
101
0111
101
101
101
0
二进制逻辑运算逻辑"与"的规则:0与0=0
0与1=0
1与1=1逻辑"或”的规则:1或0=1
1或1=1
0或0=0
逻辑"异或"的规则:0异或0=0
0异或1=1
1异或1=0
逻辑”异"的规则:0的异为1
1的异为0
带符号数的表示法一、机器数与真值
通常用最高位作为符号位,若字长为8位即D7为符号位,D6〜D0为数字位,
符号位用0表示正,用1表示负如X=(01011011)B=+91X=(11011011)B=-91
二、原码按上所述,正数的符号位用“0”表示,负数的符号位用“1”表示,这种表示法就称为原
码。
X=+105[X]原=01101001
X=-105[X]原=11101001
14(二、十、八、十六)逻辑运算
逻辑变量之间的运算称为逻辑运算。二进制数1和0在逻辑上可以代表“真”与
“假”、“是”与“否”、“有”与“无”。这种具有逻辑属性的变量就称为逻
辑变量。
计算机的逻辑运算的算术运算的主要区别是:逻辑运算是按位进行的,
位与位之间不像加减运算那样有进位或借位的联系。
逻辑运算主要包括三种基本运算:逻辑加法(又称“或”运算)、逻辑
乘法(又称“与”运算)和逻辑否定(又称“非”运算)。此外,“异或”运算
也很有用。
1、逻辑加法(“或”运算)
逻辑加法通常用符号“+”或“V”来表示。逻辑加法运算规则如下:
0+0=0,ovo=o
0+1=1,OV1=1
1+0=1,1VO=1
1+1=1,1V1=1
从上式可见,逻辑加法有“或”的意义。也就是说,在给定的逻辑变量
中,A或B只要有一个为1,其逻辑加的结果为1;两者都为1则逻辑加为1。
2、逻辑乘法(“与”运算)
逻辑乘法通常用符号“X”或"A”或“•”来表示。逻辑乘法运算规
则如下:
0X0=0,0A0=0,0•0=0
0X1=0,0Al=0,0-1=0
1X0=0,1AO=O,1•0=0
1X1=1,1A1=1,1•1=1
不难看出,逻辑乘法有“与”的意义。它表示只当参与运算的逻辑变量
都同时取值为1时,其逻辑乘积才等于1。
3、逻辑否定(非运算)
逻辑非运算又称逻辑否运算。其运算规则为:
0=1非0等于1
1=0非1等于0
4、异或逻辑运算(半加运算)
异或运算通常用符号"㊉”表示,其运算规则为:
0㊉0=00同0异或,结果为0
0㊉1=10同1异或,结果为1
1©0=11同0异或,结果为1
1㊉1=01同1异或,结果为0
即两个逻辑变量相异,输出才为1
15计算机网络相关的概念、网络结构、分类方法
概念:"广义的"计算机网络是指在协议控制下由一台或多台计算机、若干台终端设备、数据
传输设备,以及用于终端和计算机之间或者若干台计算机之间数据流动的通信控制处理机等
所组成的系统的集合。
结构:
豆近与&&由
4^>v_^Y-7^;
分类:
1、按地域
a)局域网(localareanetwork,LAN)
b)城域网(metropolitanareanetwork,MAN)
c)广域网(wideareanetwork,WAN)
16Internet相关的概念
Internet,中文标准翻译名称为“因特网"
也有人叫它"互联网"或"国际互联网"
从以下四个方面来理解Internet的概念:
1.硬件环境
2.软件环境
3.通信规则
4.信息内容
17软件工程产生的原因、目标
20世纪40年代的编程有以下特点:
❖软件规模相对较小,人们关心的是计算机硬件的发展。软件只是展现硬件性能的一
种手段而投入的少量资金。
❖编程仅作为一门技艺,
❖缺少有效方法与软件工具的支持。
❖由于重视个人技能,软件开发过程能见度低,许多管理人员不知道他们的软件技术
人员工作究竟做得如何。
❖由于人们重视个人技能,一旦需要做某些修改,就要原编程人员进行修改。使得软
件开发后的维护工作很难进行.
20世纪60年代,国外在开发一些大型软件系统时,遇到了许多困难:
❖有些系统最终彻底失败了
❖有些系统虽然完成了,但比原定计划推迟了好几年,
费用大大超过了预算;
❖有些系统未能圆满地符合用户当初的期望;
❖有些系统则无法进行修改维护。
18软件开发各种模型的定义、原理(可以用图形帮助描述)
软件开发模型(SoftwareDevelopmentModel)是指软件开发全部过程、活动和任务的
结构框架。软件开发包括需求、设计、编码和测试等阶段,有时也包括维护阶段。软件开
发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,用来作
为软件项目工作的基础。对于不同的软件系统,可以采用不同的开发方法、使用不同的程序
设计语言以及各种不同技能的人员参与工作、运用不同的管理方法和手段等,以及允许采用
不同的软件工具和不同的软件工程环境。
边做边改模型(Build-and-FixModel)
遗憾的是,许多产品都是使用"边做边改"模型来开发的。在这种模型中,既没有
规格说明,也没有经过设计,软住随着客户的需要一次又一次地不断被修改.
边做边改型
在这个模型中,开发人员拿到项目立即根据需求编写程序,调试通过后生成软件的第
一个版本。在提供给用户使用后,如果程序出现错误,或者用户提出新的要求,开发
人员重新修改代码,直到用户满意为止。
这是一种类似作坊的开发方式,对编写几百行的小程序来说还不错,但这种方法
对任何规模的开发来说都是不能令人满意的,其主要问题在于:
(1)缺少规划和设计环节,软件的结构随着不断的修改越来越糟,导致无法继
续修改;
(2)忽略需求环节,给软件开发带来很大的风险;
(3)没有考虑测试和程序的可维护性,也没有任何文档,软件的维护十分困难。
瀑布模型(WaterfallModel)
1970年WinstonRoyce提出了著名的“瀑布模型",直到80年代早期,它一直是唯
一被广泛采用的软件开发模型。
瀑布模型
瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测
试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如
同瀑布流水,逐级下落。
在瀑布模型中,软件开发的各项活动严格按照线性方式进行,当前活动接受上一
项活动的工作结果,实施完成所需的工作内容。当前活动的工作结果需要进行验证,
如果验证通过,则该结果作为下一项活动的输入,继续进行下一项活动,否则返回修
改。
瀑布模型强调文档的作用,并要求每个阶段都要仔细验证。但是,这种模型的线
性过程太理想化,已不再适合现代的软件开发模式,几乎被业界抛弃,其主要问题在
于:
(1)各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作
量;
(2)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,
从而增加了开发的风险;
(3)早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后
果。
我们应该认识到,"线性"是人们最容易掌握并能熟练应用的思想方法。当人们碰
到一个复杂的"非线性"问题时,总是千方百计地将其分解或转化为一系列简单的线性
问题,然后逐个解决。一个软件系统的整体可能是复杂的,而单个子程序总是简单的,
可以用线性的方式来实现,否则干活就太累了。线性是一种简洁,简洁就是美。当我
们领会了线性的精神,就不要再呆板地套用线性模型的外表,而应该用活它。例如增
量模型实质就是分段的线性模型,螺旋模型则是接连的弯曲了的线性模型,在其它模
型中也能够找到线性模型的影子。
快速原型模型(RapidPrototypeModel)
快速原型模型的第一步是建造一个快速原型,实现客户或未来的用户与系统的交
互,用户或客户对原型进行评价,进一步细化待开发软件的需求。
快速原型
通过逐步调整原型使其满足客户的要求,开发人员可以确定客户的真正需求是什么;
第二步则在第一步的基础上开发客户满意的软件产品。
显然,快速原型方法可以克服瀑布模型的缺点,减少由于软件需求不明确带来的
开发风险,具有显著的效果。
快速原型的关键在于尽可能快速地建造出软件原型,一旦确定了客户的真正需求,
所建造的原型将被丢弃。因此,原型系统的内部结构并不重要,重要的是必须迅速建
立原型,随之迅速修改原型,以反映客户的需求。
增量模型(IncrementalModel)
又称演化模型。与建造大厦相同,软件也是一步一步建造起来的。在增量模型中,
软件被作为一系列的增量构件来设计、实现、集成和测试,每一个构件是由多种相互
作用的模块所形成的提供特定功能的代码片段构成.
增量模型
增量模型在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个
子集的可运行产品。整个产品被分解成若干个构件,开发人员逐个构件地交付产品,
这样做的好处是软件开发可以较好地适应变化,客户可以不断地看到所开发的软件,
从而降低开发风险。但是,增量模型也存在以下缺陷:
(1)由于各个构件是逐渐并入是有的软件体系结构中的,所以加入构件必须不
破坏已构造好的系统部分,这需要软件具备开放式的体系结构。
(2)在开发过程中,需求的变化是不可避免的。增量模型的灵活性可以使其适
应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模
型,从而是软件过程的控制失去整体性。
在使用增量模型时,第一个增量往往是实现基本需求的核心产品。核心产品交付
用户使用后,经过评价形成下一个增量的开发计划,它包括对核心产品的修改和一些
新功能的发布。这个过程在每个增量发布后不断重复,直到产生最终的完善产品。
例如,使用增量模型开发字处理软件。可以考虑,第一个增量发布基本的文件管
理、编辑和文档生成功能,第二个增量发布更加完善的编辑和文档生成功能,第三个
增量实现拼写和文法检查功能,第四个增量完成高级的页面布局功能。
螺旋模型(SpiralModel)
1988年,BarryBoehm正式发表了软件系统开发的"螺旋模型",它将瀑布模型和
快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的
系统。
螺旋模型
螺旋模型沿着螺线进行若干次迭代,图中的四个象限代表了以下活动:
(1)制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件;
(2)风险分析:分析评估所选方案,考虑如何识别和消除风险;
(3)实施工程:实施软件开发和验证;
(4)客户评估:评价开发工作,提出修正建议,制定下一步计•戈h
螺旋模型由风险驱动,强调可选方案和约束条件从而支持软件的重用,有助于将
软件质量作为特殊目标融入产品开发之中。但是,螺旋模型也有一定的限制条件,具
体如下:
(1)螺旋模型强调风险分析,但要求许多客户接受和相信这种分析,并做出相
关反应是不容易的,因此,这种模型往往适应于内部的大规模软件开发。
(2)如果执行风险分析将大大影响项目的利润,那么进行风险分析毫无意义,
因此,螺旋模型只适合于大规模软件项目。
(3)软件开发人员应该擅长寻找可能的风险,准确地分析风险,否则将会带来
更大的风险
一个阶段首先是确定该阶段的目标,完成这些目标的选择方案及
其约束条件,然后从风险角度分析方案的开发策略,努力排除各种潜在的
风险,有时需要通过建造原型来完成。如果某些风险不能排除,该方案立
即终止,否则启动下一个开发步骤。最后,评价该阶段的结果,并设计下
一个阶段
喷泉模型(fountainmodel)
(也称面向对象的生存期模型,00模型)
喷泉模型
喷泉模型与传统的结构化生存期比较,具有更多的增量和迭代性质,生存期的各个阶
段可以相互重叠和多次反复,而且在项目的整个生存期中还可以嵌入子生存期。就像
水喷上去又可以落下来,可以落在中间,也可以落在最底部。
智能模型(四代技术(4GL))
智能模型
智能模型拥有一组工具(如数据查询、报表生成、数据处理、屏幕定义、代码生成、
高层图形功能及电子表格等),每个工具都能使开发人员在高层次上定义软件的某些
特性,并把开发人员定义的这些软件自动地生成为源代码。
这种方法需要四代语言(4GL)的支持。4GL不同于三代语言,其主要特征是用
户界面极端友好,即使没有受过训练的非专业程序员,也能用它编写程序;它是一种
声明式、交互式和非过程性编程语言。4GL还具有高效的程序代码、智能缺省假设、
完备的数据库和应用程序生成器。目前市场上流行的4GL(如Foxpro等)都不同程度
地具有上述特征。但4GL目前主要限于事务信息系统的中、小型应用程序的开发。
混合模型(hybridmodel)
过程开发模型又叫混合模型(hybridmodel),或元模型(meta-model),把几种不
同模型组合成一种混合模型,它允许一个项目能沿着最有效的路径发展,这就是过程
开发模型(或混合模型)。实际上,一些软件开发单位都是使用几种不同的开发方法
组成他们自己的混合模型。
各种模型的比较
每个软件开发组织应该选择适合于该组织的软件开发模型,并且应该随着当前正
在开发的特定产品特性而变化,以减小所选模型的缺点,充分利用其优点,下表列出
了几种常见模型的优缺点。
各种模型的优点和缺点
瀑布模型文档驱动系统可能不满足客户的需求
快速原型模型关注满足客户需求可能导致系统设计差、效率低,难于维护
增量模型开发早期反馈及时,易于维护需要开放式体系结构,可能会设计差、
效率低
螺旋模型风险驱动风险分析人员需要有经验且经过充分训练
19数据库相关的概念,能举例
数据库(DataBase,DB):是统一管理的相关数据的集合。
数据库管理系统(DataBaseManagementSystem,DBMS):是对数据库进行管理的软件,
它是数据库系统的核心。DB2/Oracle/SQLServer
例子:
IBM的DB2
作为关系数据库领域的开拓者和领航人,IBM在1977年完成了SystemR系统的
原型,1980年开始提供集成的数据库服务器一一System/38,随后是SQL/DSforVSE和
VM,其初始版本与SystemR研究原型密切相关。DB2forMVSVl在1983年推出。该
版本的目标是提供这一新方案所承诺的简单性,数据不相关性和用户生产率。1988
年DB2forMVS提供了强大的在线事务处理(OLTP)支持,1989年和1993年分别
以远程工作单元和分布式工作单元实现了分布式数据库支持。最近推出的DB2
UniversalDatabase6.1则是通用数据库的典范,是第一个具备网上功能的多媒体关系
数据库管理系统,支持包括Linux在内的一系列平台。
Oracle
Oracle前身叫SDL,由LarryEllison和另两个编程人员在1977创办,他们开发了
自己的拳头产品,在市场上大量销售,1979年,Oracle公司引入了第一个商用SQL关
系数据库管理系统。Oracle公司是最早开发关系数据库的厂商之一,其产品支持最广
泛的操作系统平台。目前。racle关系数据库产品的市场占有率名列前茅。
Informix
Informix在1980年成立,目的是为Unix等开放操作系统提供专业的关系型数据
库产品。公司的名称Informix便是取自Information和Unix的结合。Informix第一个
真正支持SQL语言的关系数据库产品是InformixSE(StandardEngine)。InformixSE是
在当时的微机Unix环境下主要的数据库产品。它也是第一个被移植到Linux上的商业
数据库产品。
Sybase
Sybase公司成立于1984年,公司名称"Sybase”取自"system"和"database”相结合
的含义。Sybase公司的创始人之一BobEpstein是Ingres大学版(与System/R同时
期的关系数据库模型产品)的主要设计人员。公司的第一个关系数据库产品是1987
年5月推出的SybaseSQLServer1.0。Sybase首先提出Client/server数据库体系结构的
思想,并率先在SybaseSQLServer中实现。
SQLServer
1987年,微软和IBM合作开发完成OS/2,IBM在其销售的OS/2ExtendedEdition
系统中绑定了OS/2DatabaseManager,而微软产品线中尚缺少数据库产品。为此,微
软将目光投向Sybase,同Sybase签订了合作协议,使用Sybase的技术开发基于OS/2
平台的关系型数据库。1989年,微软发布了SQLServer1.0版.
PostgreSQL
PostgreSQL是一种特性非常齐全的自由软件的对象一一关系性数据库管理系统
(ORDBMS),它的很多特性是当今许多商业数据库的前身。PostgreSQL最早开始于
BSD的Ingres项目。PostgreSQL的特性覆盖了SQL-2/SQL-92和SQL-3。首先,它包括
了可以说是目前世界上最丰富的数据类型的支持;其次,目前PostgreSQL是唯一支
持事务、子查询、多版本并行控制系统、数据完整性检查等特性的唯一的一种自由软
件的数据库管理系统.
mySQL
mySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。在2008
年1月16号被Sun公司收购。目前MySQL被广泛地应用在Internet上的中小型网站
中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小
型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
Access数据库
美国Microsoft公司于1994年推出的微机数据库管理系统。它具有界面友好、易
学易用、开发简单、接口灵活等特点,是典型的新一代桌面数据库管理系统。其主要
特点如下:
⑴完善地管理各种数据库对象,具有强大的数据组织、用户管理、安全检查等功
能。
(2)强大的数据处理功能,在一个工作组级别的网络环境中,使用Access开发的
多用户数据库管理系统具有传统的XBASE(DBASE.FoxBASE的统称)数据库系统所无法
实现的客户服务器(Cient/Server)结构和相应的数据阵安全机制,Access具备了许多先
进的大型数据库管理系统所具备的特征,如事务处理/出错回滚能力等。
(3)可以方便地生成各种数据对象,利用存储的数据建立窗体和报表,可视性好。
(4)作为Office套件的一部分,可以与Office集成,实现无缝连接。
(5)能够利用Web检索和发布数据,实现与Internet的连接。Access主要适用于
中小型应用系统,或作为客户机/服务器系统中的客户端数据库。
SQLite
SQLite是遵守皿立的关联式资料库管理系统,它包含在一个相对小的C库中。
它是D.RichardHipp建立的公有领域项目。不像常见的客户端/服务器结构范例,SQLite
引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所
以主要的通信协议是在编程语言内的直接ARL调用。这在消耗总量、延迟时间和整体
简单性上有积极的作用。整个数据库(定义、表、索引和数据本身)都在宿主主机上
存储在一个单一的文件中。它的简单的设计是通过在开始一个事务的时候锁定整个数
据文件而完成的。
FoxPro数据库
最初由美国Fox公司1988年推出,1992年Fox公司被Microsoft公司收购后,
相继推出了FoxPro2.5>2.6和VisualFoxPro等版本,其功能和性能有了较大的提高。
FoxPro2.5、2.6分为DOS和Windows两种版本,分别运行于DOS和Windows环境下。
FoxPro比FoxBASE在功能和性能上又有了很大的改进,主要是引入了窗口、按纽、列
表框和文本框等控件,进一步提高了系统的开发能力。
20数据结构概念、种类
A概念
数据:描述客观事物的数、字符以及所有能输入到计算机并被计算机程序处理的符号的集
合,如数值、字符、图形、图像、声音等。
数据结构:带有结构的数据元素的集合,结构反映了数据元素
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 行政管理学(本)试题及答案
- 2025农业高级工考试题及答案
- 2025年国开(中央电大)行管专科《公共行政学》期末考试试题及答案
- 课件对物理教学的影响
- 客家特色小吃教学课件
- 车辆设备基础知识培训课件
- 钢琴演奏技术教学课件
- 雅思教学课件软件
- 王莉比尾巴教学课件
- 车辆清洗课件
- 2022-2023部编新人教版小学6六年级数学上册(全册)教案
- “三重一大”决策 标准化流程图 20131017
- Cpk 计算标准模板
- 信息科技课程标准新课标学习心得分享
- 小学生元宵中秋猜谜语竞赛题目
- 环保与物业公司合作协议
- FZ/T 01057.2-2007纺织纤维鉴别试验方法 第2部分:燃烧法
- 面条制品-课件
- 四上科学第一单元《多样的动物》知识梳理
- 微观经济学-范里安varian中级
- 《印章移交登记表》
评论
0/150
提交评论