




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件工程导论复习纲要走进信息时代在科技高速发展的时代,了解软件工程,可以说是了解了整个时代前进的趋势,虽然这只是一个复习提纲,但是其中的内容绝不仅仅是为了拿到分数,而是给大家讲述一些必须知道的东西。编者:王达(小土刀、wdx)2010.1.3参考资料:百度百科、计算机科学导论机械工业出版社 目录A)Modern Computer Architecture1 Von Neumann Model and Turing Model1Von Nuemann Model(19441945)1Turing Model(1937)1 Four Subsystems(四个子系统)2 Storage Syste
2、m(存储系统)21、Second Storage(external storage外部存储器)22、Memory(internal storage内部存储器)2 Data bus, Control bus, Address bus31、数据总线(Data bus)32、控制总线(Control bus)33、地址总线 (Address Bus)3 Parallel Computer Categories(并行计算机类别)31、SISD(单指令流,单数据流)32、SIMD(单指令流,多数据流)33、MISD(多指令流,单数据流)34、MIMD(多指令流,多数据流)3B)Computer Netw
3、orks4ISO OSI(Open System Interconnection开放式系统互联)41、Physical Layer(物理层)42、Data Link Layer(数据链路层)43、Network Layer(网络层)44、Transport Control Layer(传输层)45、Session Layer(会话层)46、Presentation Layer(表示层)47、Application Layer(应用层)5OSI分层的优点5 The TCP/IP Model(TCP/IP模型)51、Physical Layer(物理层)52、Data Link Layer(数据链
4、路层)53、Networks Layer(网际层)54、Transport Layer(传输层)55、Application Layer(应用层)6 Network Categories(网络类别)6Three Geography Kinds:LAN/MAN/WAN6Three Topology Kinds of LAN6 The Difference Between “Internet” and “internet”6internet(小写i):互联网,多种网络连接到一起。6Internet(大写I):因特网,是最著名的互联网。6 Network Devices61、Repeater(中继器
5、)62、Bridge(网桥)73、Routers(路由器)74、Gateways(网关)7C)Data and Algorithms(数据与算法)8 Number Representation and Conversation(数字表示与会话(一种用户与交互式数据处理系统间的对话过程)81、位置化数字系统82、不同进制间的转换8 Operations on Bits81、Truth Tables(真值表)82、Arithmetic Operation on Integers(整数的算术运算)93、Logical Operations(逻辑运算)9 Data Structures and Alg
6、orithms(数据结构和算法)91、Linear Lists(线性表)92、Records(记录)114、Recursion and Recursive Solution(递归和递归解)11D)Software and Software Engineer11 Assemble Interpret Compile(汇编译)11 Software Developing Process Model(软件开发过程模型)111、Waterfall Model(瀑布模型)112、Increment Model(增量模型)123、Spiral Model(螺旋模型)134、Rapid Prototype
7、Model(快速原型模型)14 Software Testing Methods(软件测试方法)14White Box Testing(白盒测试)14Black Box Testing(黑盒测试)15 Operating System(操作系统)151、Resource Management System(资源管理系统)152、Process and Process Schedule(进程和进程调度)153、Process States Diagram(进程状态列表)16 Software Project Management(软件项目管理)161、The 4-restraints:Time、
8、Quality、Cost、Scope(四大限制条件:时间、质量、成本、规模)162、The 9 Management Bodies of Knowledge(九大知识体系)16E)KEY WORDS and STATEMENTS16 A) Modern Computer Architecture Von Neumann Model and Turing ModelVon Nuemann Model(19441945)4个子系统:存储器、算术逻辑单元(ALU)、控制单元、输入/输出单元关键思想:程序和数据以二进制代码形式不加区别地存放在存储器中,存放位置由地址确定。控制器根据存放在存储器中地指令
9、序列(程序)进行工作,并由一个程序计数器控制指令地执行。控制器具有判断能力,能根据计算结果选择不同的工作流程。Turing Model(1937)图灵的基本思想是用机器来模拟人们用纸笔进行数学运算的过程,他把这样的过程看作下列两种简单的动作:1、在纸上写上或擦除某个符号; 2、把注意力从纸的一个位置移动到另一个位置; 而在每个阶段,人要决定下一步的动作,依赖于 (a) 此人当前所关注的纸上某个位置的符号和(b) 此人当前思维的状态。为了模拟人的这种运算过程,图灵构造出一台假想的机器,该机器由以下几个部分组成:1.一条无限长的纸带 TAPE。纸带被划分为一个接一个的小格子,每个格子上包含一个来自
10、有限字母表的符号,字母表中有一个特殊的符号 表示空白。纸带上的格子从左到右依此被编号为 0, 1, 2, . ,纸带的右端可以无限伸展。 2.一个读写头 HEAD。该读写头可以在纸带上左右移动,它能读出当前所指的格子上的符号,并能改变当前格子上的符号。 3.一套控制规则 TABLE。它根据当前机器所处的状态以及当前读写头所指的格子上的符号来确定读写头下一步的动作,并改变状态寄存器的值,令机器进入一个新的状态。 4.一个状态寄存器。它用来保存图灵机当前所处的状态。图灵机的所有可能状态的数目是有限的,并且有一个特殊的状态,称为停机状态。参见停机问题。 注意这个机器的每一部分都是有限的,但它有一个潜
11、在的无限长的纸带,因此这种机器只是一个理想的设备。图灵认为这样的一台机器就能模拟人类所能进行的任何计算过程。 Four Subsystems(四个子系统)1、 存储器:在计算机的处理过程中用来存储数据和程序。2、 算术逻辑单元(ALU):用来进行计算和逻辑运算的地方。3、 控制单元:对存储器、算术逻辑单元、输入/输出等子系统进行控制操作的单元。4、 输入/输出:输入子系统负责从计算机外部接收输入数据和程序;输出子系统负责将计算机的处理结果输出到计算机外部。 Storage System(存储系统)1、 Second Storage(external storage外部存储器)软盘、硬盘、光盘、
12、U盘2、 Memory(internal storage内部存储器)内存3、Memory Caches(高速缓存)4、RAM and ROMRAM(随机存取存储器):可以使用存储单元地址来随机存取一个数据项,而不需要存取位于它前面的所有数据项。用户可以读写RAM,之后可以方便地通过覆盖来擦除原有信息。另一个特点是易失性,系统断电后信息将丢失。RAM技术又可以分为两大类:SARM(静态RAM,用传统的触发器门电路,速度快价格昂贵)和DRAM(动态RAM,用电容器,因电容器会漏电,需要周期性刷新,速度慢比较便宜)。ROM(只读存储器):用户能读不能写,优点是非易失性,切断电源数据也不会丢失。按照发
13、展历程,有三种:PROM(可编程只读存储器)、EPROM(可擦除的可编程只读存储器)、EEPROM(电可擦除的可编程制度存储器)。 Data bus, Control bus, Address bus1、 数据总线(Data bus)用于传送数据信息。数据总线是双向三态形式的总线,即他既可以把CPU的数据传送到存储器或IO接口等其它部件,也可以将其它部件的数据传送到CPU。数据总线的位数是微型计算机的一个重要指标,通常与微处理的字长相一致。2、 控制总线(Control bus)用来传送控制信号和时序信号。控制信号中,有的是微处理器送往存储器和IO接口电路的,如读写信号,片选信号、中断响应信号
14、等;也有是其它部件反馈给CPU的,比如:中断申请信号、复位信号、总线请求信号、限备就绪信号等。因此,控制总线的传送方向由具体控制信号而定,一般是双向的,控制总线的位数要根据系统的实际控制需要而定。实际上控制总线的具体情况主要取决于CPU。3、 地址总线 (Address Bus)属于一种电脑总线 (一部份),是由 CPU 或有 DMA 能力的单元,用来沟通这些单元想要存取(读取/写入)电脑内存元件/地方的实体位址。专门用来传送地址的,由于地址只能从CPU传向外部存储器或IO端口,所以地址总线总是单向三态的,这与数据总线不同。地址总线的位数决定了CPU可直接寻址的内存空间大小,比如8位微机的地址
15、总线为16位,则其最大可寻址空间为21664KB,16位微型机的地址总线为20位,其可寻址空间为2201MB。一般来说,若地址总线为n位,则可寻址空间为2n字节。地址总线的宽度,随可寻址的内存元件大小而变,决定有多少的内存可以被存取。 Parallel Computer Categories(并行计算机类别)1、 SISD(单指令流,单数据流)一个控制单元、一个算术逻辑单元和一个内存单元。指令被顺序执行,每条指令可以存取数据流中的一个或多个数据项。2、 SIMD(单指令流,多数据流) 一个控制单元、多个处理单元和一个内存单元。所有处理器单元从控制单元接受相同的指令,但在不同的数据项上操作。3、
16、 MISD(多指令流,单数据流) 属于多个指令流的多个指令作用于相同的数据项的体系结构。从未被实现。4、 MIMD(多指令流,多数据流)属于多个指令流的多个指令作用于多个数据流(每条指令作用于一个数据项)。在这种体系结构中,可以同时执行多个任务。这个体系结构可以使用单个的共享内存或多个内存区。B) Computer NetworksISO OSI(Open System Interconnection开放式系统互联)1、 Physical Layer(物理层)硬件层面,数据单位为比特(bit),为数据端提空传送数据的通路。主要设备:中继器、集线器。2、 Data Link Layer(数据链路
17、层) 在物理层提供比特流服务的基础上,建立相邻结点之间的数据链路,通过差错控制提供数据帧(Frame)在信道上无差错的传输,并进行各电路上的动作系列。这一层的数据单位为帧(frame)。主要功能是为网络层提供数据传送服务,应具备链路连接的建立、拆除、分离及顺序控制和差错检测恢复。主要设备:二层交换机、网桥。3、 Network Layer(网络层)在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。网络层的任务就是选择合适的网间路由和交换结点,确保数据及时传送。网络层将数据链路层提供的帧组成数据包,包中封装有网络层包头,其中含有逻辑地址信息(源站点和目的
18、站点的网络地址)这一层数据的单位称为数据包(packet)。协议包括:IP、IPX、RIP、OSPF等。主要功能是为建立网络连接和为上层提供服务,应具备以下主要功能:路由选择和中继、激活终止网络连接、在一条数据链路上复用多条网络连接(分时复用技术)、差错检测与恢复、排序及流量控制、服务选择、网络管理。主要设备:路由器。4、 Transport Control Layer(传输层)本层的数据单元也称作数据包(packets),但是会因为具体的协议不同而不同:TCP中的数据单元称为段(segments)而UDP协议的数据单元称为数据报(datagrams)。 传输层协议的代表有:TCP(较慢但可靠
19、:MSN使用此协议)、UDP(快速但不可靠:QQ使用此协议)、SPX等。5、 Session Layer(会话层)在会话层及以上(指第6、7层)的高层次中,数据传送的单位不再另外命名,统称为报文。会话层不参与具体的传输。6、 Presentation Layer(表示层) 主要解决用户信息的语法表示问题。它将欲交换的数据从适合于某一用户的抽象语法,转换为适合于OSI系统内部使用的传送语法。即提供格式化的表示和转换数据服务。数据的压缩和解压缩, 加密和解密等工作都由表示层负责。例如图像格式的显示,就是由位于表示层的协议来支持。7、 Application Layer(应用层)为操作系统或网络应用
20、程序提供访问网络服务的接口。应用层协议的代表有:Telnet、FTP、HTTP、SNMP等。OSI分层的优点1、人们可以很容易的讨论和学习协议的规范细节。2、层间的标准接口方便了工程模块化。3、创建了一个更好的互连环境。4、降低了复杂度,使程序更容易修改,产品开发的速度更快。5、每层利用紧邻的下层服务,更容易记住个层的功能。OSI是一个定义良好的协议规范集,并有许多可选部分完成类似的任务。它定义了开放系统的层次结构、层次之间的相互关系以及各层所包括的可能的任务。是作为一个框架来协调和组织各层所提供的服务。OSI参考模型并没有提供一个可以实现的方法,而是描述了一些概念,用来协调进程间通信标准的制
21、定。即OSI参考模型并不是一个标准,而是一个在制定标准时所使用的概念性框架。 The TCP/IP Model(TCP/IP模型)TCP/IP模型实际上是OSI模型的一个浓缩版本。一般认为分为四层:应用层(对应OSI的应用层、表示层、会话层)、运输层(对应OSI的传输层)、网际层(对应OSI的网络层)、网络接口层(对应OSI的数据链路层和物理层)。但在这里分为五层(以区别各层见数据单位的不同),因为这里的第1、2层可以合并为网络接口层。1、 Physical Layer(物理层)物理层完成在物理介质上传输二进制流所需要的功能。单位是比特(bit)。2、 Data Link Layer(数据链路
22、层) 在本层中单位是数据帧,数据链路层负责数据帧的结点到结点的发送。3、 Networks Layer(网际层)网络层负责单个数据包从源主机到目的主机的发送。几个关键词:网络层地址、路由选择、网络层协议(主协议:IP 辅助协议:IGMPARPTARP等)4、 Transport Layer(传输层) 单位是数据包。传输层负责客户和服务器进程间的消息的逻辑传输。几个关键词:传输层的地址(端口号)、多路复用和解多路复用(多数据同时传送,传送完可以分解)、拥塞控制、流量控制、传输层协议(UDPTCPSCTP)5、 Application Layer(应用层) 应用层负责向客户提供服务。几个关键词:客
23、户/服务器体系结构(有客户端和服务器端,进程到进程的通信)、应用层地址(客户通常使用统一资源定位符(URL)如)、域名服务器(DNS) Network Categories(网络类别)Three Geography Kinds:LAN/MAN/WANA) LAN(Local Area Network局域网)通常是私有的,连接单个办公室、大楼或校园里的设备。B) MAN(Maintenance Alert Network城域网)大小介于LAN和WAN之间,通常覆盖一个镇或者城市,用来为那些需要高速连接且终端点分布在一个城市或城市的一部分的客户服务。C) WAN(Wide Area Network
24、广域网)提供长距离的数据、图像、音频、和视频信息的传输,在地理上可能包含一个国家、一个大洲或者全球。Three Topology Kinds of LAN1、Bus(总线式)安装简单,但设备间不能传输2、Star(星式)高速局域网中最常使用3、Ring(环式)容易安装和重构 The Difference Between “Internet” and “internet”internet(小写i):互联网,多种网络连接到一起。Internet(大写I):因特网,是最著名的互联网。 Network Devices1、 Repeater(中继器)工作于OSI模型的物理层,是局域网上所有结点的中心,作
25、用是放大信号,补偿信号衰减,支持远距离的通信,适用于完全相同的两类网络的互连。优点:过滤通信量、扩大通信距离、增加结点的最大数目、各个网段可以使用不同的通信速率、提高了可靠性(网络出现故障时一般只影响个别网段)缺点:增加了延时、网络负担很重时容易溢出导致丢帧、中继器若出现故障相邻两个子网的工作都将受影响。2、 Bridge(网桥)工作于物理层和数据链路层。在网络互联中起到数据接收、地址过滤与数据转发的作用,用来实现多个网络系统之间的数据交换。网桥的基本特征:1) 网桥在数据链路层上实现局域网互连;2) 网桥能够互连两个采用不同数据链路层协议、不同传输介质与不同传输速率的网络;3) 网桥以接收、
26、存储、地址过滤与转发的方式实现互连的网络之间的通信;4) 网桥需要互连的网络在数据链路层上采用相同的协议;5) 网桥可以分隔两个网络之间的饿广播通信量,有利于改善互连网络的性能与安全性。3、 Routers(路由器) 工作在网络层。连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号的设备。与交换机之间的主要区别是交换机发生在OSI模型的第二层(即数据链路层),而路由发生在第三层(网络层),这个区别决定了路由和交换在移动信息的过程中需要使用不同的控制信息,所以两者实现各自功能的方式是不同的。4、 Gateways(网关)工作于OSI模型的所有
27、(7个)层中。又称网间连接器、协议转换器。网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和路由器类似,不同的是互连层。网关既可以用于广域网互连,也可以用于局域网互连。网关是一种充当转换重任的计算机系统或设备。在使用不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。同时,网关也可以提供过滤和安全功能。C) Data and Algorithms(数据与算法) Number Representation and Conversat
28、ion(数字表示与会话(一种用户与交互式数据处理系统间的对话过程)1、 位置化数字系统十进制系统(以10为底),二进制(以2为底),十六进制系统(以16为底),八进制系统(以8为底)2、 不同进制间的转换其他进制到十进制的转换:将数码乘以其在源系统中的未知量并求和便得到十进制中的数。若为二进制,则小数点左边第一个数码乘以20,第二个数码乘以21,第三个数码乘以22再把所有的乘积相加,对于小数来说,小数点右边第一位乘以2-1,第二位乘以2-2同样再对乘积求和即可。若为八进制、十六进制,则是乘以8n、16n(n为对应的位置量) 十进制到其他进制的转换: 对于整数部分,把这个十进制数做N的整除运算,
29、并将所得到的余数倒过来写(后得到的余数反而在高位)即可。(N为要转换成的进制,若转换成八进制,就除8,对于二进制或者十六进制亦如此)。 对于小数部分,使用连乘法,用原来十进制数的小数部分乘以N(N为要转换成的进制数,若转换成二进制,则N为2),得到的新的数字的整数部分即为小数点后第一位,然后新的数字的小数部分再乘以N,再得到更新的数字,再写下更新的整数,即为小数点后第二位,类推即可。(依次可以得到无穷位,根据要求的位数进行计算) 二进制与十六进制间的转换: 二进制中的4位恰好是十六进制中的1位,转换时先将二进制数排位4位一组的形式:100 1110 0010。若最左边不够四位也不要紧,补上0即
30、可,然后再对照进制转换表等量转换即可如0100对应4,1110对应E,0010对应2,所以就等于(4E2)16。 十六进制转换成二进制,则每个数码要转换成为4个数码,方法与上面类似。 二进制与八进制间的转换: 二进制中的3位恰好是八进制中的1位,转换时3个为一组,方法与十六进制与二进制之间的转换类似。 八进制与十六进制间的转换: 以二进制作为沟通的“桥梁”,先转换为二进制数再进行下一步的转换。 Operations on Bits1、 Truth Tables(真值表)表征逻辑事件输入和输出之间全部可能状态的表格,通常以1表示真,0表示假。2、 Arithmetic Operation on
31、Integers(整数的算术运算)整数通常是二进制补码形式存储的。二进制补码表示法的一个优点是加法和减法之间没有区别。A-B=A + B的补码(补码等于反码+1)。运算时即为正常的相加、进位、得结果。3、 Logical Operations(逻辑运算)非(NOT):一元运算符,只有一个输入。输出位是输入位的相反,如果输入是0,则输出1。其真值表只有两行。与(AND):二元运算符,有两个输入,如果输入都是1,则输为1,而在其他三种情况下,输出都是0,其真值表有4行。若输入位中有一位是0,则不需要检查其他输入的相应位即可得结果0。或(OR):二元运算符,有两个输入。如果输入都是0,则输出为0,而
32、在其他三种情况下输出都是1.其真值表也有4行。OR运算符有时被称为包含或运算符。若输入位中有一位是1,则不需要检查其他输入的相应的位即可得结果1。 异或(XOR): 二元运算符,当输入相同时,输出0;当输入不同时,输出1。 4种逻辑运算可以用于修改位模式 取反(NOT运算符的唯一应用)使指定的位复位(置0):这种情况下的第二个输入称为掩码,0为复位,1为保持不变,利用AND运算符。 对指定的位置位(置1):第二个输入同样是掩码,但0保持不变,1为置位,利用OR运算符。 使指定的位反转:同样利用掩码,0保持不变,1则输出与相应的位相反。利用XOR运算符。 Data Structures and
33、Algorithms(数据结构和算法)1、 Linear Lists(线性表)A) Arrays(数组):数组是元素的顺序集合,通常这些元素具有相同的数据类型。大多数计算机使用行主序存储,其中数组的一个整行在内存上存储在下一个行之前。但是也可以使用列主序存储。数组的操作常见的有:查找、插入、删除(较麻烦)、检索、遍历。当需要进行的插入和删除操作数目较少,而需要大量的查找和检索操作时,数组时合适的结构。B) Linked Lists(链表):链表是一个有序数据的集合,其中每个元素包含下一个元素的地址;即每个元素包含两个部分:数据和链。数据部分包含可用的信息,并被处理。链则将数据连在一起。它包含一
34、个指明列表中下一个元素的指针(地址)。另外,一个指针变量标识该列表中的第一个元素。列表的名字就是该指针变量的名字。链表的操作常见的有:搜索(只能是顺序的)、插入、删除、检索、遍历。如果需要大量的插入和删除,那么链表是合适的结构,但搜索一个链表比搜索一个数组要慢。链表是一种动态的数据结构,其中表从没有节点开始,然后当需要新节点时,它就逐渐增长。C) Stack(栈):栈是一种限制线性列表,该类列表的添加和删除操作只能在一端实现,称为栈顶。如果插入一系列数据到栈中,然后移走它们,那么数据的顺序将被倒转。这种倒转的属性也正是栈被称为后进先出(LIFO)数据结构的原因。栈的基本操作有四种:1)建栈:创
35、建一个空栈stackName是要创建栈的名字,返回一个空栈,格式为stack(stackName)2)入栈:在栈顶添加新的元素,stackName是栈的名字,dataItem是要插在栈顶的数据,入栈后,新的元素称为栈顶元素,返回一个dataItem插在顶端的新栈,格式为:push(stackName,dataItem) 3)出栈: 将栈顶元素移走,stackName是栈的名字,dataItem是从栈中移走的数据,在删除之前站定元素下面的项就成为栈顶元素,返回一个少一个元素的新栈,格式为: pop(stackName,dataItem) 4)空: 检查栈的状态,stackName是栈的名字。如果
36、栈为空,返回真;栈非空,返回假,格式为: empty(stackName)栈的应用:倒转数据、配对数据、数据延迟使用和回溯步骤。D) Queue(队列):队列是一种线性列表,该表中的数据只能在称为“尾部”的一端插入,并且只能在称为“头部”的一端删除。这些限制确保了数据在队列中只能按照他们存入的数据被处理。换言之,队列就是先进先出(FIFO)结构。队列的四个基本操作:1) 建队列:建立一个空队列,queueName是建立的队列的名字。并返回一个空队列,格式为 queue(queueName)2) 入列:在队列尾部插入一个数据项,queueName是队列的名字,dataItem是要在队列尾部插入的
37、数据。入列操作后,新数据项就成了队列的最后一项。返回一个dataItem插在队列尾部的新队列,格式为 enqueue(queueName,dataItem)3) 出列:删除队列前端的数据项,queueName是队列的名字,dataItem是从队列中删除的数据,返回一个少一个元素的新队列,格式为 dequeue(queueName,dataItem)4) 空:检查队列的状态,如果队列为空,则返回真,否则返回假,格式为empty(queueName) 队列的应用:在线电子商务应用程序,如处理客户需求、任务和指令。2、 Records(记录)记录是一组相关元素的集合(类似于结构体),它们可能是不同的
38、类型,但整个记录有一个名称。记录中的每个元素称为域。域是具有含义的最小命名数据。它有类型且存在于内存汇总。它能被赋值,反之也能够被选择和操纵。域不同于变量主要在于它是记录的一部分。在记录中的元素可以使相同类型或不同类型,但记录中的所有元素必须是关联的。3、Sorting and Searching(分类和查找)1) Smallest and Largest(最小和最大)2) Bubble Sort(冒泡排序法)3) Insertion Sort(插入排序)4) Sequential Search(顺序查找)5) Binary Search(折半查找):用first、mid、last来折半的查找
39、。4、 Recursion and Recursive Solution(递归和递归解)递归式算法自我调用的过程。算法定义中必须有其本身。D) Software and Software Engineer Assemble Interpret Compile(汇编译) 人类语言与机器语言沟通的桥梁。 Software Developing Process Model(软件开发过程模型)1、 Waterfall Model(瀑布模型)1970年温斯顿罗伊斯(Winston Royce)提出了著名的“瀑布模型”,直到80年代早期,它一直是唯一被广泛采用的软件开发模型。瀑布模型核心思想是按工序将问题
40、化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。从本质来讲,它是一个软件开发架构,开发过程是通过一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改,开发进程从一个阶段“流动”到下一个阶段,这也是瀑布开发名称的由来。瀑布模型是最早出现的软件开发模型,在软件工程中占有重要
41、的地位,它提供了软件开发的基本框架。其过程是从上一项活动接收该项活动的工作对象作为输入,利用这一输入实施该项活动应完成的内容给出该项活动的工作成果,并作为输出传给下一项活动。同时评审该项活动的实施,若确认,则继续下一项活动;否则返回前面,甚至更前面的活动。对于经常变化的项目而言,瀑布模型毫无价值。优点:为项目提供了按阶段划分的检查点;当前一阶段完成后,只需要关注后续阶段;可在迭代模型中应用瀑布模型。缺点:在各个项目之间极少有反馈;只有在项目生命周期的后期才能看到结果;通过过多的强制完成时期和里程碑来跟踪各个项目。2、 Increment Model(增量模型)增量模型融合了瀑布模型的基本成分(
42、重复应用)和原型实现的迭代特征,该模型采用随着日程时间的进展而交错的线性序列,每一个线性序列产生软件的一个可发布的“增量”。当使用增量模型时,第1个增量往往是核心的产品,即第1个增量实现了基本的需求,但很多补充的特征还没有发布。客户对每一个增量的使用和评估都作为下一个增量发布的新特征和功能,这个过程在每一个增量发布后不断重复,直到产生了最终的完善产品。增量模型强调每一个增量均发布一个可操作的产品。增量模型与原型实现模型和其他演化方法一样,本质上是迭代的,但与原型实现不一样的是其强调每一个增量均发布一个可操作产品。早期的增量是最终产品的“可拆卸”版本,但提供了为用户服务的功能,并且为用户提供了评
43、估的平台。增量模型的特点是引进了增量包的概念,无须等到所有需求都出来,只要某个需求的增量包出来即可进行开发。虽然某个增量包可能还需要进一步适应客户的需求并且更改,但只要这个增量包足够小,其影响对整个项目来说是可以承受的。这种模型将功能细化后分别开发的方法较适应于需求经常改变的软件开发过程。优点:人员分配灵活,刚开始不用投入大量人力资源;有计划地管理技术风险。缺点:如果增量包之间存在的相交的情况未能很好处理,则必须做全盘系统分析。3、 Spiral Model(螺旋模型)1988年,Barry Boehm正式发表了软件系统开发的螺旋模型,它将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的
44、风险分析,特别适合于大型复杂的系统。对于新近开发,需求不明确的情况下,适合用螺旋模型进行开发,便于风险控制和需求变更。螺旋模型由风险驱动,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。但是,螺旋模型也有一定的限制条件,具体如下:1)螺旋模型强调风险分析,但要求许多客户接受和相信这种分析,并做出相关反应是不容易的,因此,这种模型往往适应于内部的大规模软件开发。2)如果执行风险分析将大大影响项目的利润,那么进行风险分析毫无意义,因此,螺旋模型只适合于大规模软件项目。3)软件开发人员应该擅长寻找可能的风险,准确地分析风险,否则将会带来更大的风险缺点:很难让用
45、户确信这种演化方法的结果是可以控制的。建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求。4、 Rapid Prototype Model(快速原型模型)快速原型模型需要迅速建造一个可以运行的软件原型 ,以便理解和澄清问题,使开发人员与用户达成共识,最终在确定的客户需求基础上开发客户满意的软件产品。 快速原型模型允许在需求分析阶段对软件的需求进行初步而非完全的分析和定义,快速设计开发出软件系统的原型,该原型向用户展示待开发软件的全部或部分功能和性能;用户对该原型进行测试评定,给出具体改进意见以丰富细化软件需求;开发人员据此对软件进
46、行修改完善,直至用户满意认可之后,进行软件的完整实现及测试、维护。 优点:克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险。 缺点:所选用的开发技术和工具不一定符合主流的发展;快速建立起来的系统结构加上连续的修改可能会导致产品质量低下。 Software Testing Methods(软件测试方法)White Box Testing(白盒测试)也被称为“玻璃盒测试”,是基于知道软件内部结构的。测试的目标是检查软件所有的部分是否全部设计出来。白盒测试假定测试者知道有关软件的一切。在这种情况下,程序就像玻璃盒子,其中的每件事都是可见的。白盒测试由软件工程师或一个专门的团队来完成。使用软件
47、结构的白盒测试需要保证至少满足下面四条标准:1) 每个模块中的所有独立的路径至少被测试过一次。2) 所有的判断结构(两路的货多路的)每个分支都被测试。3) 每个循环被测试。4) 所有数据结构都被测试。Black Box Testing(黑盒测试)是指在不知道程序的内部也不知道程序是如何工作的情况下测试程序。黑盒测试按照软件应该完成的功能来测试软件,如它的输入和输出。以下是几种测试方法:1) 穷尽测试:输入所有可能的值,通常是不现实的。2) 随机测试:选择输入域的子集来测试,子集的选择方式是非常重要的。3) 边界值测试:当遇到边界值时,错误经常发生。 Operating System(操作系统)
48、1、 Resource Management System(资源管理系统)系统的设备资源和信息资源都是操作系统根据用户需求按一定的策略来进行分配和调度的。操作系统的存储管理就负责把内存单元分配给需要内存的程序以便让它执行,在程序执行结束后将它占用的内存单元收回以便再使用。对于提供虚拟存储的计算机系统,操作系统还要与硬件配合做好页面调度工作,根据执行程序的要求分配页面,在执行中将页面调入和调出内存以及回收页面等。处理器管理或称处理器调度,是操作系统资源管理功能的另一个重要内容。在一个允许多道程序同时执行的系统里,操作系统会根据一定的策略将处理器交替地分配给系统内等待运行的程序。一道等待运行的程序
49、只有在获得了处理器后才能运行。一道程序在运行中若遇到某个事件,例如启动外部设备而暂时不能继续运行下去,或一个外部事件的发生等等,操作系统就要来处理相应的事件,然后将处理器重新分配。操作系统的设备管理功能主要是分配和回收外部设备以及控制外部设备按用户程序的要求进行操作等。对于非存储型外部设备,如打印机、显示器等,它们可以直接作为一个设备分配给一个用户程序,在使用完毕后回收以便给另一个需求的用户使用。对于存储型的外部设备,如磁盘、磁带等,则是提供存储空间给用户,用来存放文件和数据。存储性外部设备的管理与信息管理是密切结合的。信息管理是操作系统的一个重要的功能,主要是向用户提供一个文件系统。一般说,
50、一个文件系统向用户提供创建文件,撤销文件,读写文件,打开和关闭文件等功能。有了文件系统后,用户可按文件名存取数据而无需知道这些数据存放在哪里。这种做法不仅便于用户使用而且还有利于用户共享公共数据。此外,由于文件建立时允许创建者规定使用权限,这就可以保证数据的安全性。2、 Process and Process Schedule(进程和进程调度)进程是一个执行中的程序。该程序开始执行但还未结束。换句话说,进程是一个在内存中运行的作业,它是从众多等待作业中选取出来并装入内存中的作业。进程调度: 无论是在批处理系统还是分时系统中,用户进程数一般都多于处理机数、这将导致它们互相争夺处理机。另外,系统进
51、程也同样需要使用处理机。这就要求进程调度程序按一定的策略,动态地把处理机分配给处于就绪队列中的某一个进程,以使之执行。3、 Process States Diagram(进程状态列表) Software Project Management(软件项目管理)1、 The 4-restraints:Time、Quality、Cost、Scope(四大限制条件:时间、质量、成本、规模)2、 The 9 Management Bodies of Knowledge(九大知识体系)a) Time(时间)b) Quality(质量)c) Cost(成本)d) Scope(规模)e) Human Resou
52、rces(人力资源)f) Communication(沟通交流)g) Risk(风险)h) Procurement(采购)i) Integration(整合)3、SPI and Reuse(进度绩效指数和重复利用)E) KEY WORDS and STATEMENTSalgorithm(算法)data processor(数据处理器)Arithmetic Logic Unit(算术逻辑单元)digital divide(数字化分裂)Integrated circuit(集成电路)von Neumann model(冯诺依曼模型)1、 阿兰图灵在1937年首次提出了一个通用计算机设备的设想。他设
53、想所有的计算都可能在一种特殊的机器上执行,这就是现在所说的图灵机。2、 基于冯诺依曼模型建造的计算机分为四个子系统:存储器、算术逻辑单元、控制单元和输入/输出单元。冯诺依曼模型指出程序必须存储在存储器中。3、 计算机由三大部分组成:计算机硬件、数据和计算机软件。4、 计算和计算机的历史可以分为三个阶段:机械计算机器阶段(1930年以前)、电子计算机阶段(19301950),以及包括5个现代计算机时代的阶段。5、 计算机科学引发了一些周遭的问题。其中最为普遍的可以归类为社会问题和道德问题。execute(执行) address space(地址空间)FireWire(火线) bus(总线)cac
54、he memory(高速缓冲存储器) central processing unit,CPU(中央处理单元)instruction register(指令寄存器)interrupt driven I/O(中断控制输入/输出)intersector gap(扇区内间隔) intertrack gap(磁道内间隔)isolated I/O(I/O独立寻址) land(纹间表面)decode(译码) memory-mapped I/O(I/O存储器映射寻址)optical storage device(光存储设备)register(寄存器)parallel processing(并行处理)pipel
55、ining(流水线)sector(扇区)seek time(寻道时间)pit(坑)polycarbonate resin(聚碳酸酯树脂)throughput(吞吐量)transfer time(传送时间)Universal Serial Bus,USB(通用串行总线)write once,read many,WORM(写一次,读多次)read-only memory,ROM(只读存储器)random access memory,RAM(随机存取存储器)digital versatile disk,DVD(数字多功能光盘)direct memory access,DMA(直接存储器存取)compact disk rewritable,CD-RW(可重写光盘)reduced instruction set computer,RISC(精简指令集计算机)complex instruction set computer,CISC(复杂指令集计算机)1、 计算机的组成分成三大类(或子系统):CPU、主存和输入
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国际商业设计师创意流派考核题及答案
- 快闪项目在广告设计中的应用探讨试题及答案
- 复习一览表的纺织工程师试题及答案
- 检验招聘笔试试题及答案
- 2024年纺织工程师证书考试高效学习试题及答案
- 2024年纺织品检验员证书考试形式试题及答案
- 2024年国际商业美术设计师考试品牌设计思考试题及答案
- 淮北中考英语试题及答案
- 广告设计的市场营销策略 试题及答案
- 洛阳一模语文试题及答案
- 大学生志愿服务西部计划考试复习题库(笔试、面试题)
- 《建筑制图与识图》课程标准
- 客货线铁路隧道锚杆施工作业指导书
- 箱涵工程监理实施细则
- 公路养护的高级工复习题
- 三人合伙经营协议书 doc 三人合伙经营协议书实用版(六篇)
- 葡萄酒品尝学第八章-2013
- JJF 1793-2020海水营养盐测量仪校准规范
- GB/T 20080-2017液压滤芯技术条件
- 超音速流动与燃烧的大涡模拟基础课件
- 归档文件目录
评论
0/150
提交评论