计算机网络教案第12章

2023-06-13

作为一无名无私奉献的教育工作者,可能需要进行教案编写工作,教案是教学蓝图,可以有效提高教学效率。那么什么样的教案才是好的呢?以下是小编收集整理的《计算机网络教案第12章》,供大家参考,更多范文可通过本站顶部搜索您需要的内容。

第一篇:计算机网络教案第12章

12姜丽12周客房第五章教案[精选]

学科: 客房服务与管理 授课人: 姜丽 授课班级:15海乘

客房服务与管理 (总第73—79课时)

【项目名称】:客房服务用语

课时安排:7课时 课型: 新授

备课日期:2016年11月4日周五

【项目目标】:

1.知识目标:

掌握客房服务的规范用语

2.能力目标: 熟悉客房常用英语

3.情感目标:

增强用正确规范的客房英语与客人进行交流的学习兴趣

【重点难点】

1.重点:客房常用英语

2.难点:客房常用英语点菜的情景对话

【教学方法】

讲授法,讨论分析法,图片演示法,模拟演练法

【教具】:PPT,课本 【教学过程】

『导入新课』:语言是人们表达意愿,交流思想感情的交际工具。各种不同职业的人员都有符合自己职业特点的特定语言。酒店客房服务也是一种职业,有其特点的语言,客房服务人员学好,用好这些语言,对于特高自己的职业素养,胜任服务工作具有十分重要的意义。

『相关知识点』:

学科: 客房服务与管理 授课人: 姜丽 授课班级:15海乘

(三)人体语言: 1.表情语言 2.动作语言 3.物饰语言

第74课时

(四)饭店基本服务礼貌用语: 1.直接称谓语: Gentleman 先生 Sir 先生

Mr. 某某先生 Lady 夫人、女士

Madam 太太 Mrs. 某某夫人、某某太太 Miss 某某小姐

2.间接称谓语:

The gentleman 那位先生 The lady 那位女士

第二篇:计算机网络第一章教案

《计算机网络》教案 第一章 计算机网络概论

1.1计算机网络的形成与发展过程

这部分内容非常重要,是因为我们可以了解到很多对计算机网络非常重要的技术是如何发展演变而来,这些技术至今都还在使用,比如分组交换技术,比如osi参考模型等等

计算机网络是计算机技术和通信技术高度发展.紧密结合的产物,简单的说计算机网络是什么?就是计算机之间互相通信,所以说计算机技术的发展和通信技术的发展很大程度上推动了计算机网络的发展

1.1.1计算机网络发展阶段的划分

计算机网络的发展一共分为四个阶段,50年代准备阶段,60年代形成阶段,,70年代标准化阶段和90年代应用和下一代网络研究阶段,每一个阶段都有代表性的计算机网络的出现,我们首先来看看50年代第一阶段出现的第一代计算机网络是什么样的?然后为什么是这样的? 1.1.2 计算机网络的形成 第一代计算机网络

我们知道1946年第一台电子数字计算机ENIAC在美国诞生,它的特点是什么?价格昂贵,体积庞大,只有美国军方,科研机构,大学,大型企业才有一两台计算机,不象今天人手一台计算机.那么大家都想使用计算机,那怎么办呢?就出现了多个终端共享一台计算机的第一代计算机网络

它是将分散在不同地理位置上的多个终端通过通信线路连接到一台中心计算机上,比如一抬终端在18,一台在11号楼,中心计算机在图书馆,用户在自己的终端上输入程序,通过通信线路传达到计算机上,计算机进行运算后将处理结果返回给终端,计算机是分时处理不同用户的任务所以叫多用户分时系统,是一个典型的计算机通信网络. 第一代计算机网络的主要特征就是整个网络都是以主机为中心

不足:一个人忙,太累了,就好像餐馆如果只有一个服务员,是不是很累,同样,只有一台主机要完成所有用户的任务,负载太重,如果主机出现故障,那怎么样?餐馆就要停业,系统就要瘫痪.

第二代计算机网络

到了60年代,出现了pc机即personal computer个人计算机,例如ibm,苹果,hp等等,虽然不向现在这么普及,但是不少用户拥有自己的计算机

一:为了克服第一代计算机网络的缺点,提高网络的可靠性和可用性

二:既然个人拥有计算机,那么大家希望能将彼此的计算机互连起来,目的是什么?共享资源

那么如何实现个人计算机的互连呢?所以产生了新型的技术叫分组交换技术 特点就是

分组 存储 转发

例如H1要给H5发送一组数据,那么首先将数据分成若干组,比如要发送“我今天又事不在家”这样一个数据,那么进行分组,我今天一组,有事不一组,在家一组,分成三组进行发送。

演示一下第一个分组如何发送的,首先H1将第一个分组发送到A节点交换机,进行暂时存储,然后又A 将它转发给C ,C 暂时存储,再转发给E,最后E 暂时存储,转发给计算机H5 那么由这些节点交换机和连接的通信线路组成的这样一个连接计算机进行信息交换的网络就叫做分组交换网。

69年,美国国防部高级研究计划局ARPA 提出将多个大学,公司,和研究机构的计算机互连产生ARPANET,它是一个典型的分组交换网。现代意义的计算机网络开始形成,是计算机网络技术发展的一个重要里程碑。

不足之处 首先是标准不统一,比如我们两个人要能进行交流,那么必须有共同的语言, 同样计算机要互相进行通信也是一样,但是实际情况是计算机都是不同厂家生产的,使用各自不同的操作系统,网络结构,他们必须要有一个共同的语言才能通信,这个语言是什么:网络协议。

1.1.3第三个阶段网络体系结构与协议标准化的研究

如何将不同公司的计算机互连,就必须有共同的网络协议

因此80年代ISO国际标准化组织制定了OSI开放系统互连参考模型,制定了一系列的协议标准

其中最为著名,也是现在INTERNET使用最多的TCP/IP网络协议,我们可以来看看本机使用的是什么网络协议,网卡属性中可以查看

有了共同的网络协议为各种不同类型计算机互连打下了基础,也为今天INTERNET形成打下了基础

1.1.4第四阶段INTERNET形成应用与高速网络技术发展 关于INTERNET的形成必须要提到两个计划NII和GII

NII是93年9月美国宣布国家信息基础设施建设计划,我们知道早期的ARPANET只是在美国将少数的研究机构,大学,大型企业的计算机进行互连达到资源共享,网络的范围比较小,这项计划建设起全美信息高速公路,让美国的个人计算机从各个城市,到州到全国都进行联网

GII是1995年2月,全球信息基础设施委员会成立,目的是推动与协调各国信息技术与信息服务的发展与应用

既然美国有了这样全国性的网络,那其他的国家有没有想法了,当然所以其他国家纷纷将本国的计算机联网,然试图将网络和美国,以及其他国家的网络连接,最后形成全球性的网络,这个网络就是今天的INERNET ,INTERNET 是什么?网络的集合

INTERNET的应用有哪些方面?不仅是最初的资源共享,电子商务,远程教育,视频点播等等。

那么大家平时上网抱怨最多的会是什么?网速太慢 所以未来网络的研究方向主要怎么提高速度

目前高速局网技术发展迅速,研究方向是在目前速度10MBPS的基础上提高1000倍,提高到10GBPS

如何提高速度?现在应该经常听到一句口号,光纤到户,将传统的传输媒介改为使用光纤。

1.1.5 宽带网络与全光网技术发展

所谓宽带网络就是相对于传统网络,具有较高数据传输速率和数据吞吐量的新一代网络 下面我们来看一下现代宽带网络的描述图

我们前面讲了INTERNET是将全世界各国的网络互联在一起,各国国内计算机又是如何互连的呢?

打个比方宽带网络和道路非常相似 比如在小区里,小区的道路连接小区的楼与楼,然后出了小区,城市的道路又连接城市中的各个小区,然后高速公路又连接这各个城

如图,在一个城市里有小区网络,企业网络,学校网络,这都是一些小的局域网,将这些小的网络联入整个城市总的这台交换机,形成一个城市的网络,将每个城市总的那台交换机进行互连,将各城市的网络连接在一起了,形成了一个国家的网络,然后将本国的网络和其他国家网络的集合也就是INTERNET连接到一起,就将本国的网络联入了INERNET

关键技术:骨干网和接入网技术

宽带骨干网指的就是城市之间,国家之间的这段网络,现在基本都才用的是光纤连接,实现最大范围的数据流传送。

接入网技术指的是宽带入户的这段实现技术,家里的电脑怎么联入小区网络的,分为有线接入和无线接入两种,有线技术分为铜缆接入和光纤接入,常用的技术有:数字用户环路XDSL(不对称数字用户线路,不对称指上行和下行速度不一致,宽带速度一般指下行速度,优点可以保留既有投资,只需要电话线,再加一个ADSL Modem增加频分负用功能即可),光纤同轴电缆混合HFC(使用改进后的有线电视网),光纤接入FTTX(X是光纤到户到楼层),无线接入和局域网接入技术等。

通过下图可以看到全光网的演变过程:

第一代交换机和交换机之间采用铜缆进行连接传输数据,并且交换机也是电交换机 第二代将交换机之间的铜缆全部还为光纤,大大的提高交换机之间数据传输速度,但交换机还是电的

第三代在整个交换机之间全部采用光纤,且交换机也换成光交换机,全光传送数据。

1.2计算机网络的定义

1.2.1 计算机网络定义的基本内容

资源共享观点的定义:以能够相互共享资源的方式互连起来的自治计算机系统的集合。 网络建立的主要目的是实现计算机资源的共享;

互连的计算机是分布在不同地理位置的多台独立的“自治计算机系统”;

连网计算机在通信过程中必须遵循相同的网络协

1.2.2 计算机网络与分布式计算机的区别

分布式计算机系统和计算机网络在物理结构上都是相同的,都是多台计算机的互连,他们的不同主要是在高层软件:操作系统

分布式计算机系统中存在一个能为用户自动管理资源的网络操作系统,由它调用完成用户任务所需的资源,整个网络像一个大的计算机系统一样对用户是透明的。 比如用户要执行一个程序,首先在自己的那台计算机上输入程序,操作系统会自动的在整个分布式系统中找到一台最合适的计算机来执行,然后操作系统决定将运算结果发往某一台计算机,这些工作对于用户来说都是看不到,用户看似在使用一台计算机,其实背后是很多台计算机的集合。

这就是分布式计算机系统,他是计算机网络发展的高级阶段。

1.2.3现代网络结构的特点 1。早期计算机网络结构

计算机网络要完成数据处理与数据通信两大功能,那么网络那些部分是完成数据处理的,那些是完成数据通信的呢? 我们来看下图:

用户直接使用的主机,终端,早期都是多台终端共享一台主机,还有终端控制器,联网外设比如打印机等,各种软件比如主机上的操作系统,应用软件与主机上信息资源,这些部分都是在完成数据处理的,所以我们将这部分划分成资源子网

资源子网负责全网的数据处理业务,向网络用户提供各种网络资源与网络服务

而我们前面在分组交换网中提过的用作数据存储转发的节点交换机,这里我们叫做通信控制处理机(communication control processor CPP),以及连接的通信线路,和其他的通信设备,这些部分都是在完成数据通信的,所以我们将这部分划分成通信子网 通信子网负责完成数据传输,转发等通信任务的

2.现代计算机网络结构

看图,早期和现代最大的区别:早期的计算机互连之间是没有标准的网络协议的,而现代网络都是由基于TCP/IP协议的路由器连接进行通信的。

INTERNET层次结构如图,在Internet中,用户计算机需要通过校园网、企业网或ISP联入地区主干网,地区主干网通过国家主干网联入国家间的高速主干网,这样就形成一种由路由器互联的大型、层次结构的互联网络。

1.3计算机网络拓扑结构

1.3.1 计算机网络拓扑的定义

计算机网络拓扑把计算机网络中的实体比如主机,路由器抽象成一个点,把他们之间的通信线路抽象成一根线,通过他们之间的几何关系来反映网络结构; 计算机网络拓扑主要是指通信子网的拓扑构型。

1.3.2 计算机网络拓扑的分类

网络拓扑方法:根据通信子网中通信信道类型分类,有广播信道与点-点线路; 广播信道通信子网的特点:

多个结点共享一个通信信道,一个结点广播信息,其他结点必须接受信息 广播信道通信子网的基本拓扑构型:

总线型

树型

环型

无线通信与卫星通信型 点-点线路的通信子网的特点:

一条物理线路只能连接一对结点,如果两个结点路之间没有线路直接连接,则他们只能通过中间结点转接

点-点线路的通信子网基本拓扑结构有:

星型:结点通过点对点通信线路与中心节点连接,任何两个节点的通信都要通过中心结点,结构简单,易于实现管理,中心节点故障可能造成全网瘫痪

环型:结点通过点对点的通信线路连接闭合环路,环中数据沿一个方向逐站传递,结构简单,传输延时确定,环中任何一个节点出现故障,导致全网瘫痪

树型:星型拓扑的扩展,结点按层次进行连接,信息交换在上下层节点之间进行,相邻及同层结点之间不进行或信息量小。

网状型:无规则型,结点之间的连接是任意的没有规律,拓扑结构复杂,必须采用路由选择算法与流量控制方法,但优点是系统可靠性高,广域网基本都是采用网状拓扑结构。

1.4计算机网络的分类 1.4.1 根据传输技术分类 通信信道的类型有两类:

广播通信信道

点-点通信信道

相应的计算机网络也可以分为两类: 广播式网络(Broadcast Networks):

网络中所有联网计算机共享一个公共通信信道,

当其中一台计算机发送数据分组时,每个分组中包含有控制信息(源地址和目的地址),其他的计算机也会收到分组,首先检查一下该分组的目的地址是否和本机的地址一样,是则接受,否则丢弃

广播网络中,目的地址三类:单结点,多结点,广播地址

点-点式网络(Point-to-Point Networks)

网络中每条物理线路连接一对计算机,假如两台计算机之间没有直接的线路连接,则他们之间的分组传输要通过中间结点转发,需要路由选择算法来决定分组从源结点到目的结点的路径

分组存储转发和路径选择机制是点-点式网络和广播式网络的重要区别之一

1.4.2根据网络覆盖范围分类

按覆盖的地理范围分类,计算机网络可以分为三类:

 局域网(LAN,Local Area Network)

覆盖有限的地理范围,它适用于公司、机关、校园、工厂等有限范围内的计算机、终端与各类信息处理设备连网的需求; 提供高数据传输速率(10Mbps~10Gbps)、低误码率的高质量数据传输环境; 一般属于一个单位所有,易于建立、维护与扩展; 从介质访问控制方法的角度,局域网可分为共享介质式局域网与交换式局域网两类。

 城域网(MAN,Metropolitan Area Network)

城域网是介于广域网与局域网之间的一种高速网络;

城域网设计的目标是要满足几十公里范围内的大量企业、机关、公司的多个局域网互连的需求;

实现大量用户之间的数据、语音、图形与视频等多种信息的传输功能; 城域网在技术上与局域网相似

 广域网(WAN,Wide Area Network)

广域网也称为远程网;

覆盖的地理范围从几十公里到几千公里;

覆盖一个国家、地区,或横跨几个洲,形成国际性的远程网络; 广域网通信子网主要使用分组交换技术;

它将分布在不同地区的计算机系统互连起来,达到资源共享的目的。14图

第三篇:C程序设计教案(第9章 实验 12次)

实验 12 位运算

一、

二、 实验学时:2课时 实验目标

1. 掌握按位运算的概念和方法,学会使用位运算符。 2. 学会通过位运算实现对某些位的操作。

三、 实验要求:

1. 在上实验课之前,每一个同学必须将实验的题目、程序编写完毕,做好充分的准备。

2. 所有实验环节均由每位同学独立完成,严禁抄袭他人实验结果,若发现有结果雷同者,按实验课考核办法处理。

四、 实验步骤和内容

【启动Visual C++】  【新建工程】

 选中【C++ Source File】项,【新建源程序文件】  编辑程序  执行程序

1、编写一程序,检查所用的计算机系统的C编译在执行右移时是按照逻辑右移的原则,还是按照算术右移的原则进行操作。如果是逻辑右移,请编一个函数实现算术右移;如果是算术右移,请编一个函数实现逻辑右移。输入如下代码:

#include "stdio.h"

short ljyy(short x)//逻辑右移 {

x=x>>1; x=x&(0x7fff);//最高位补零,其余保持不变

return x; }

void main() { short y; short x=-4; y=x; x=x>>1; if(x<0) {

printf("x=%d ",x);

printf("该编译系统为算术右移! "); } else {

printf("x=%d ",x);

printf("该编译系统为逻辑右移! "); } printf("逻辑右移的结果为:"); y=ljyy(y); printf("y=%d ",y); }

1)编译、连接、和运行程序。程序运行后,观查屏幕显示结果。

2、编一个函数getbits,从一个16位的单元中取出某几位(即该几位保留原值,其余位为0)。函数调用形式为:

getbits(value,n1,n2) value为该16位数的值,nl为欲取出的起始位,n2为欲取出的结束位。 如:

getbits(0101675,5,8)

表示对八进制数101675,取出其从左面起的第5位到第8位。要求把这几位数用八进制数打印出来。注意,应当将这几位数右移到最右端,然后用八进制形式输出。

【启动Visual C++】|【新建工程】|【新建源程序文件】:选中【C++ Source File】项 输入如下代码: #include "stdio.h"

short getbits(short value,int n1,int n2) { short result; short temp; int k; int i; k=16-n2; result=(0x0000); value=value>>k; for(i=0;i<=(n2-n1);i++) {

temp=value&(0x0001);

temp=temp<

result=result|temp;

value=value>>1;

} return result; } void main() { short x; short y; x=0101675; y=getbits(x,5,8); printf("y=0%o ",y); }

1)编译、连接、和运行程序。程序运行后,观查屏幕显示结果。

3、设计一个函数,使给出一个数的原码,能得到该数的补码。

要求用八进制形式输入和输出。

【启动Visual C++】|【新建工程】|【新建源程序文件】:选中【C++ Source File】项 输入如下代码: #include "stdio.h"

short buma(short x) { if(x>0)

return x; else {

x=-x;

x=~x+(0x0001);

x=x|(0x8000); } return x; }

void main() { short x; printf("请用八进制的形式输入变量x的值:"); scanf("%o",&x); printf("补码为:%o ",buma(x)); } 1)编译、连接、和运行程序。程序运行后,观查屏幕显示结果。

五、 思考题

1) 用程序实现原码,反码和补码的相互转化

六、

实验小结:

第四篇:第四课 第12章轴对称复习教案(补习班用)

好孩子辅导中心

第十二章复习 轴对称

知识网络图示

基本知识提炼整理

一、基本概念 1.轴对称图形

如果一个图形沿一条直线折叠,直线两旁的部分能够互相重合,这个图形就叫做轴对称图形,这条直线就叫做对称轴.折叠后重合的点是对应点,叫做对称点. 2.线段的垂直平分线

经过线段中点并且垂直于这条线段的直线,叫做这条线段的垂直平分线 3.轴对称变换

由一个平面图形得到它的轴对称图形叫做轴对称变换. 4.等腰三角形

有两条边相等的三角形,叫做等腰三角形.相等的两条边叫做腰,另一条边叫做底边,两腰所夹的角叫做顶角,底边与腰的夹角叫做底角. 5.等边三角形

三条边都相等的三角形叫做等边三角形.

二、主要性质

1.如果两个图形关于某条直线对称,那么对称轴是任何一对对应点所连线段的垂直平分线.或者说轴对称图形的对称轴,是任何一对对应点所连线段的垂直平分线. 2.线段垂直平分钱的性质

线段垂直平分线上的点与这条线段两个端点的距离相等. 3.(1)点P(x,y)关于x轴对称的点的坐标为P′(x,-y). (2)点P(x,y)关于y轴对称的点的坐标为P″(-x,y). 4.等腰三角形的性质

(1)等腰三角形的两个底角相等(简称“等边对等角”). 数学组

- 12

好孩子辅导中心

三、作辅助线解决问题

例5 如图所示,∠B=90°,AD=AB=BC,DE⊥AC.求证BE=DC.

例6 如图所示,在△ABC中,AB=AC,在AB上取一点E,在AC延长线上取一点F,使BE=CF,EF交BC于G.求证EG=FG.

例7 如图所示,在△ABC中,∠B=60°,AB=4,BC=2.求证△ABC是直角三角形.

数学组

第五篇:计算机专业英语教案第3章

博主目录 2009-06-18 22:58 阅读32 评论0

字号: 大 中 小

第3章 Software Knowledge 3.1 Data Structures 3.2 Operating System 3.3 Programming Languages 3.4 Software Engineering

3.5 Software Testing and Maintenance

3.2 Operating System ? The purpose of an operating system is to provide an environment in which a user may execute programs. ? Operating systems exist because they are a reasonable way to solve the problem of creating a usable computing system. ? The primary goal of an operating system is convenience for the user. ? A secondary goal is efficient operation of the computer system. Resource Management

? The operating system provides the means for the proper use of these resources in the operation of the computer system. ? We can view an operating system as a resource allocates. ? The operating system sets up the order in which programs are processed, and defines the sequence in which particular jobs are executed ? I/O Management ? To facilitate execution of I/O operations, most operating systems have a standard set of control instructions to handle the processing of all input and output instructions.

? These standard instructions, referred to as the input/output control system (IOCS), are an integral part of most operating systems. ? The controlling software calls on the IOCS software to actually complete the I/O operation. Classification of Operating Systems

? A single-user operating system expects to deal with one set of input devices—those that can be controlled by one user at a time. ? A multi-user operating system is designed to deal with input, output, and processing requests from many users-all at the same time. ? A network operating system provides communications and routing services that allow computers to share data, programs and peripheral devices. ? A multitasking operating system provides process and memory management services that allow two or more programs to run simultaneously. ? All modern operating systems are multitasking and can run several processes simultaneously. ? A desktop operating system is one that is designed for a personal computer—either a desktop or notebook computer. ?

3.3 Programming Languages ? A programming language or computer language is a standardized communication technique for expressing instructions to a computer. ? A language enables a programmer to precisely specify what data a computer will act upon, how these data will be stored/transmitted, and what actions to take under various circumstances of cases. ? Programming languages are important tools for helping software engineers write better programs faster. Procedural programming and Object-oriented programming ? Procedural programming involves using your knowledge of a programming language to create computer memory locations that can hold values and writing a series of steps or operations that manipulate those values. ? A single procedural program often contains hundreds of variable and thousands of procedure calls. ? Object-oriented programming is an extension of procedural programming in which you take a slightly different approach to writing computer programs. ? Writing object-oriented programs involves both creating objects and creating applications that use those objects. Machine Language

? An executable program is a sequence of extremely simple instructions known as machine code. ? Machine code instructions are binary—that is, sequences of bits (0s and 1s). ? Because these numbers are not understood easily by humans, computer instructions usually are not written in machine code. Assembly Language

? Assembly language uses commands that are easier for programmers to understand than are machine-language commands.

? Each machine language instruction has an equivalent command in assembly language. ? Assembly language is sometimes inserted into a high-level language program to carry out specific hardware tasks or to speed up a high-level program. High-Level Languages

? If the computer could translate convenient symbols into basic operations, why couldn’t it also perform other clerical coding functions? ? A high-level programming language is a means of writing down, in formal terms, the steps that must be performed to process a given set of data in a uniquely defined way. ? The high-level languages are often oriented toward a particular class of processing problems. Compiler and Interpreter ? A complier is a program that translates source code into object code. ? Every high-level programming language comes with a compiler.

? Because compilers translate source code into object code, which is unique for each type of computer, many compilers are available for the same language. ? An interpreter translates high-level instructions into an intermediate form, which it then executes. ? The advantage of an interpreter, however, is that it does not need to go through the compilation stage during which machine instructions are generated. ?

3.4 Software Engineering ? Software engineering is the application of tools, methods, and disciplines to produce and maintain an automated solution to a real-world problem. ? Software engineering first emerged as a popular term in the title of a 1968 NATO conference held in Garmisch, Germany. ? A large-scale software projects spans a considerable period of time. A number of distinct phases can be identified over this period of time. Together, these make up what is known as the “software life cycle”.

The software life cycle

? Requirements definition: The requirements of the software are established and specified. ? Design: A design is developed from an analysis of the requirements. ? Implementation: The design is coded in a particular programming language on a particular machine. ? Testing: The implemented system is tested to see that it meets the specified requirements. ? Operation and maintenance: The system is installed and used. Errors found must be repaired. Requirements definition ? The first phase, requirements definition, refers to the period during which the requirements of the system desired, that is, it’s functional characteristics and operational details, are specified.

? The input to this phase is the stated (often rather loosely stated) needs for the software.

? Typically, a “requirements document” is the output of this phase, a set of precisely stated properties or constraints that the final product must satisfy. ? As with any of the phases, it is important that errors not be allowed to move into subsequent phases.

Design ? The second phase, design, is predominantly creative, while some would argue that creativity is inherent and cannot be trained or improved, it can certainly be enhanced by the use of good procedures and tools.

? The input to this phase is a (debugged and validated) requirements document: the output is a design expressed in some appropriate form (for example, pseudo-code).

? Each requirement in the requirements document must have a corresponding design fragment to meet it. Implementation ? The third phase, implementation, is the actual coding of the design developed in the second phase.

? The lure of this phase is strong, and many a foolhardy programmer has been drawn to it before adequately laying the groundwork in the first two phases.

? As a result, requirements are incompletely understood and the design is flawed. ? The implementation proceeds blindly, and many problems arise as a result. Testing

? The fourth phase, testing, is concerned with demonstrating the correctness of the implemented program. Inevitably some testing is performed as part of the previous two phases as well.

? Any experienced programmer mentally tests each line as it is produced and mentally simulates the execution of any module prior to any formal testing stage. ? A “successful” test run means only that no errors were uncovered with the particular circumstances tested; it says nothing about other circumstances.

? In theory, the only way that testing can show that a program is correct is if all possible cases are tried (known as an exhaustive test), a situation technically impossible for even the simplest programs.

Program maintenance

? The fifth phase is program maintenance phase. Student programmers, unfortunately, rarely become involved in this phase.

? Its importance in the real world, however, cannot be overemphasized, since the cost of maintaining a widely used program can match or exceed the cost of developing it.

? Unlike hardware maintenance, software maintenance deals not with repair of deteriorated components, but with repair of design defects, which may include the provision of added functions to meet new needs.

上一篇:工业园区xx年工作总结下一篇:抗战胜利70周年阅兵式

本站热搜