便携式侦察机的总体设计与研究论文5篇

时间:2019-11-02 18:42:07下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《便携式侦察机的总体设计与研究论文》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《便携式侦察机的总体设计与研究论文》。

第一篇:便携式侦察机的总体设计与研究论文

无人机的发展,给军用和民用领域都带来了革命性的发展。小型无人机携带方便,适用于各种地形,弹射和操作简单,具有低空全地形侦查和攻击的功能,可广泛应用于需要侦察、监测、抗震救灾等领域。若装备高能炸药,还可实现侦查与攻击于一体,达到高效打击。本文从前期论证、中期研制和后期试飞优化介绍便携式背包携带侦察机的总体设计。前期论证

目前,小型无人机的应用处于起步阶段,因其独特的优势而倍受关注。微小型无人机具有应用性强,便于携带,操作简单,安全性好等优点,还可用于需要侦察、监测、抗震救灾等领域。在军事领域,更小型、更廉价和更易操作的系统会在将来的战场大有作为,甚至推出一种既能大量部署而且无需过多训练就能操作的一次性无人机作战系统。

本文的无人机是一种锂电池提供动力的小型杀伤性无人机,从弹射筒弹出,由展开锁定机构锁定机翼和垂尾,电池带动的可折叠桨叶提供动力,地面人员的操纵来保证稳定巡航。携带监视仪器,对移动目标实施跟踪监控。此外,该无人机配置一个小型弹头,一旦锁定目标,由地面人员控制俯冲,引爆后迅速消灭目标。中期的设计和研制

2.1 设计

基于前期可行性的验证,进行中期的设计和研制。该无人机是一种总质量为2kg 的便携式空地侦察飞行器,机身长度600m m,机身宽度60 m m,机身最高处60 m m,主机翼长度700 m m,后机翼长度600 m m,机翼弦长90 m m,机翼厚度10 m m,垂尾高度120m m,空机约为800g、电子设备600g、高爆炸药0.32kg~0.60kg,它折叠于弹射筒中,当从筒内弹射后,机翼展开保持稳定巡航。

该无人机的弹体结构气动特性优良。它采用光滑圆头、长方体机身设计,有前后两对弹翼,背部还有一对呈一定夹角的垂尾,为方便用筒式弹射器弹射,无人机的前后弹翼、垂尾以及螺旋桨均采用折叠式。弹射前,位于弹射筒内时为折叠状态,离开弹射筒后迅速展开,在空中快速达到巡飞状态。

对于螺旋桨和电子设备,也进行详细的设计。一个G F 系列电动尼龙桨(6030),一个朗宇无刷电机(2212kv 2450),一个好盈无刷电调(40A),四个银燕金属模拟舵机(每个约9g),一块格式锂电池(1000m ah25C)。

该无人机通过地面人员遥控控制,可在1000m 航程内自由飞行,续航时间15 分钟,飞行速度80~120km /h。该无人机具有可携带性、快速部署和高精确性,形象地说,是把空中力量放入背囊中以保护徒步作战的步兵,并使班组能够作为一种战略力量。

2.2 研制

在样机制作之前,进行C A TIA 三维建模和模型仿真,将仿真结构用3D 打印机打印出来模拟组装,再利用复合材料工艺进行制作。样机研制步骤介绍如下:

1)将C A TIA 三维建模的零部件用3D 打印机打印出来。

2)对打印零部件打磨光滑,并对机翼和机身的阳模进行喷漆处理。

3)将阳模置于基体中,在阳模露出的半表面依次涂抹脱膜蜡、喷涂光漆、胶衣、涂抹原子灰、铺设玻璃布、填入玻璃粘,再用玻璃纤维布覆盖。晾干后,将基体与玻璃粘层分离,将边界打磨光滑即可得到阴模。

4)在阴模表面依次涂抹脱膜蜡、喷涂脱膜剂、光漆、胶衣、铺设0.03m m 玻璃布、碳纤维预浸料、0.05m m 玻璃布、脱膜布,最后用真空袋包装并用密封胶密封。

5)用激光切割机切割并制作机翼和机身的内部框架,将整体框架置于阴模中并涂抹工业胶,进行合模,得到机翼、机身壳体。

6)对机翼、机身进行处理,安装舵面。最后进行整体组装。后期试飞与结构优化

样机的各种设计参数出自理论计算,为确保研制出的无人机的性能及实用性。在样机制成后,进行调试飞行。由于制作中设备与技术水平有限,制作出的样机质量分布不均,所以在试飞前需要对飞机进行配重,保证飞机起飞后具有良好的飞行性能。

在测试过程中,飞机表现不稳定,在弹射起飞后,易出现侧翻,给飞机的控制带来很大难度。针对这一问题,进行改进:其一提高工艺减轻飞机的总体重量;其二增大机翼面积,提供更多升力。在改善机翼的设计后,进行吹风实验。经验证,该飞行器的气动性能等方面满足前期的设计要求。在后期的试飞过程中,侧翻现象也有所改善,不再对飞行产生过大影响。至此,此无人机设计制作基本已经完成。结论

如今,无人机研发费用高,起飞条件严重受地形限制,并且需要专门的控制中心及庞大的后勤保证,使得无人机的使用和维护费用高昂,导致其不能普遍使用,中小灾害与普通领域难以受益。而本文的可折叠背包携带的小型无人机的出现,会使这些问题随之迎刃而解。它可以广泛应用于侦察、监测、抗震救灾等各个领域。

第二篇:五子棋游戏总体设计与实现

4.系统总体设计与实现

4.1 总体设计分析

总体设计是软件开发过程中的另一个重要阶段,在这一阶段中将根据需求分析中提出的逻辑模型,科学合理地进行物理模型的设计。这个阶段的主要目标是将反映用户信息需求的逻辑方案转换成物理方案,并为下一阶段提供必要的技术资料。

4.1.1 总体设计原则

(1)整体性:软件是作为统一整体而存在的。因此,在总体设计中要从整个软件的角度进行考虑。

(2)灵活性:为保持软件长久的生命力,要求该手机游戏软件具有很强的环境适应性。为此,游戏软件应具有较好的开放性和结构的可变性。

(3)可靠性:可靠性是指软件抵御外界干扰的能力及受外界干扰时的恢复能力。

(4)经济性:经济性是指在满足游戏软件需求的前提下,尽可能地减小游戏软件的开销。

4.1.2 软件模块总体设计

软件中各模块之间的关系通常利用层次图来表示。它是一种一系列多层次的用树形结构的矩形框描绘数据的层次结构框图。一个单独的矩形框作为树形结构的顶层,各个数据的子集由下面的各层矩形框代表,最底层的各个矩形框代表组成这个数据的实际数据元素(不能再分割的元素),它代表完整的数据结构。这模式非常适合于需求分析阶段的需要,层次方框图对数据结构描绘随着结构精细化也越来越详细。反复细化沿着图中每条路径,从对顶层信息的分类开始,直到确定了数据结构的全部细节为止。

开始游戏重新游戏游戏选项悔棋认输五子棋游戏背景音乐退出游戏先后手设置游戏设置棋盘底纹设置棋盘大小设置游戏帮助帮助关于 图4-1 游戏功能结构

本研究中将游戏软件分为三大模块,如图4-1所示,包括:游戏选项、游戏设置和帮助。按照在调研中搜集的资料对每个模块的功能进行编排制作。依据上述功能的分析,本研究中,将游戏软件在三大模块的基础上又对每一大模块又分为几个子模块:

游戏选项包括六个模块:开始游戏、重新游戏、悔棋、认输、背景音乐和退出游戏。

游戏设置包括三个模块:先后手设置、棋盘底纹颜色设置和棋盘大小设置。

帮助包括两个模块:游戏帮助和关于。

4.2 游戏设计

4.2.1 游戏前的准备

本游戏在开发之前需要做一些前期准备工作,尤其是对于精通五子棋游戏的Java 游戏开发者来说。通常情况下,一款运用起来比较熟练地 J2ME 开发工具

是必不可少的。本游戏使用的是J2ME的简化开发工具 Sun Java(TM)Wireless Toolkit 2.5.2 for CLDC,他需先将Java虚拟机安装调试好之后才能使用。WTK 2.5.2 不带有文本编辑功能,所以需要另寻搭配使用。本游戏采用 Ultra Edit 进行编辑。本游戏需要几张后缀名为.png格式的卡通图,除了一张用作五子棋游戏的 Logo 外,其余的都将在游戏中使用。4.2.2 游戏界面和事件驱动设计

游戏的界面设计采取传统游戏界面风格,如图4-2所示。游戏设计中采用传统界面游戏风格,首先启动游戏,然后进入游戏开始界面,界面中放置“设置”、“开局”、“帮助”、“关于”四个选项供玩家选择。其中“设置”选项主要是对游戏的相关功能进行设置,如游戏难度设置。另外还有“悔棋”、“重玩”等项目的设置。除此之外还包括查看游戏帮助、游戏介绍等。

图4-2 游戏界面设计

所谓事件驱动,简单地说就是你点什么按钮(即产生什么事件),电脑执行什么操作(即调用什么函数)。当然事件不仅限于用户的操作。我们知道,事件是事件驱动的核心自然是。从事件角度说,一个事件收集器、一个事件发送器和一个事

件处理器组成了事件驱动程序的基本结构。事件收集器专门负责收集包括来自硬件的(如时钟事件等)、来自用户的(如键盘、鼠标事件等)及来自软件的(如应用程序本身、操作系统等)的所有事件。将收集器收集到的事件分发到目标对象中则由事件发送器负责完成。具体的事件响应工作则由事件处理器完成,它需要运用虚函数机制(函数名取为类似于 Handle Msg 的一个名字),它往往要到实现阶段才完全确定。事件处理器对于框架的使用者来说是他们唯一能够看到的。棋类游戏通常具备两个重要特性,首先是对战双方轮流落子,其次是落子间隔通常是不确定的,尤其是对战后期,可能每一步棋都要经过深思熟虑,无论是人还是计算机,都无法对时间间隔有事先的预期。基于以上两个特性,本游戏摒弃了大多数游戏采用的线程或定时器驱动游戏的方法,而采用了事件驱动的方法,即玩家的键盘或触摸笔触发游戏的下一个动作。事件驱动大大减少了不必要的工作量,只有玩家发出消息时,计算机才启动运算,而在玩家思考期间,计算机不做任何运算和重绘操作。4.2.3 游戏的类设计

五子棋游戏属于二维棋类游戏,因此可以定义一个 Chesses 类来表示棋子,用一个 Chess 类型的二维数组来包含棋盘上的所有棋子,对于该棋子玩家的区分使用Chesses 的 boolean 型的变量 is Player1 来区分。可以考虑直接生成数组的每一个对象而不是在数组建立后,而是把每一个棋子对象(Chesses)放在游戏的进行中生成,这主要是考虑到移动设备的资源有限,尽可能减少系统资源占用。这样在游戏进行时,可以避免还没有下的棋子在一开始就占用了系统内存,玩家每下一步棋,在数组相应位置生成该棋子的对象。

对于游戏中的每一类的设计,首先就是一个 MIDlet 类,Gobang 类继承自MIDlet 类,通过方法 start App,pause App,destroy App 来通知游戏的开始,暂停和销毁结束,用于连接设备的应用程序管理器(Application Manager)。

本游戏共由7个类组成,它们各自的功能如下:

(1)Gobang MIDlet类

负责程序的启动和屏幕之间的切换;

(2)Gobang Canvas 类

玩家的对战平台,他继承于 Canvas 类;(3)Setting 类

用于创建游戏的各项设置参数表单;

(4)Gobang Logic 类

游戏的逻辑类,负责胜负判断和计算机落子;

(5)Dot 类

棋子类,包含了棋子的位置信息;(6)Help 类

游戏的帮助类,包含五子棋的一些常识信息和五子棋教学内容;(7)About类

游戏的关于类,包含游戏的版本、版权等信息。各个类之间的关系如图4-3所示:

图4-3游戏类设计

4.2.4 游戏的流程设计

对于棋盘界面的更新,游戏进行绘制棋子时是按照棋子的二维数组来完成的,玩家下棋后,设置is Player1 值,程序修改数组相应位置,然后重新绘制(repaint)。为了使游戏的操作尽可能的简便,本文设计上不在游戏进入时设计菜

单,玩家可以直接开始对战,而是在开始游戏的过程中设置重新开始和退出的按钮。即一键开始,运行即玩,重来或退出都使用一键操作。游戏流程的设计依据主要是游戏的界面设计和游戏的类的设计。游戏启动时,Gobang MIDlet 对象先显示游戏的主屏幕,在屏幕下方一侧是出软键(软键指描述抽象客户端设备如何显示),另一侧是用软件构成的菜单,菜单元素主要有“开局”、“游戏设置”、“游戏帮助”、“关于”选项。当玩家选择“游戏设置”软键时,则显示游戏参数设置表单;当玩家选择“开局”软键时,则显示游戏对战主界面;当玩家选择“游戏帮助”软键时,则显示游戏帮助表单;当玩家选择“关于”软键时,则显示游戏关于表单。玩家进入游戏参数设置表单,当玩家按下“确定”软键时,则确认当前游戏参数,返回游戏主屏幕;当玩家按下“取消”软键时,则放弃此次对游戏的修改,直接返回游戏主屏幕。玩家进入游戏对战画布,对战中画布有两个软键,当玩家按下“返回主菜单”软键时,则退出游戏到达游戏主菜单;当玩家按下“悔棋”软键时,则进行悔棋操作;当游戏结束时,“悔棋”软键被换成了“重玩”软键。玩家进入游戏介绍表单,当玩家按下“确定”软键时,返回游戏主屏幕。4.2.5 游戏算法的设计

1、五子棋的获胜组合

有哪些获胜组合是在一场五子棋的游戏中计算机必须要知道的,因此,获胜组合的总数必须要求得。在本文中我们假定当前的棋盘为15*15:

(1)每一列的获胜组合是11,共15列,计算水平方向的获胜组合数,所以水平方向的获胜组合数为:11*15=165。

(2)每一行的获胜组合是11,共15列,则可计算垂直方向的获胜组合总数,垂直方向的获胜组合数为:11*15=165。

(3)同理,可计算正对角线方向的获胜组合总数,正对角线上的获胜组合总数为11+(10+9+8+7+6+5+4+3+2+1)*2=121。

(4)计算反对角线上的获胜组合总数。计算反对角线方向的获胜组合总数可计算为11+(10+9+8+7+6+5+4+3+2+1)*2=121。这样可计算得所有的获胜组合数为:165+165+121+121=572。

2、设计获胜棋型

通过上面的计算,一个15*15的屋子棋盘在此已经计算出了会有572中获胜方式,因此,我们就可以利用数组建立一些常规棋型,棋型的主要作用是:

(1)判断是否有任何一方获胜;

(2)根据当前格局判断最可能的落子方式。

然而在现实中,高手留给我们的经验就是把握前奏,如“冲四”、“活三”,除了“连五”以外,这些也是同向胜利的捷径。

3、攻击与防守

获胜棋型的算法是中性的,不区分计算机和玩家,这就涉及到攻击和防守何者优先的问题。而许多高手都认为五子棋的根本是“防守”,“攻击”是灵魂。进攻是取胜的手段,是防守的延续和发展。许多经验和研究表明,一个棋手只要掌握了全面的、基本的防守原理和技巧,就能和比自己棋力高一个等级的进攻型选手对抗,起码能立于不败之地。对手进过越偏激,则防守的效果越好。没有进攻的防守就像只开花不结果,没有实际意义,顽强的防守是反攻的前奏,没有进攻的延续,防守也失去了价值。而这缺一不可。根据以上原理,计算机在接受最佳的攻击位置之前,还要计算当前玩家的最佳攻击位置。如果玩家存在最佳攻击位置,那么计算机就将下一步的棋子摆在玩家的最佳攻击位置上以阻止玩家的进攻,否则计算机便将棋子下在自己的最佳攻击位置上进行攻击。

4、用到的典型算法(1)坐标变换算法

游戏的实质其实是对所下棋子的位置进行操作和判断,因此将己方、对方以及棋盘上空点的位置坐标存储在相应的List中。我对所下棋子的坐标进行了处理,因为我所采用的棋盘为15*15,所以棋子横坐标为0到14的整数,纵坐标也为0到14的整数。因此,每次在棋盘上下子之后,计算机在存储该点的坐标时,便要对坐标进行加工。假设左上角点为firstPoint,它的实际坐标为(x1,y1),而我是将它作为(0,0)存储的,其它的坐标,其它点都是以该点为标准进行变换的,假设棋盘上每个格子的宽度为w,某实际点为(x2,y2),变换后的坐标为(x,y),x=(x2-x1)/w,y=(y2-y1)/w。

(2)胜负判断算法

胜负判断的规则很简单,就是判断游戏双方的棋子在同一条水平线、同一条竖线或是同一条斜线上谁先出现5个连续的棋子,谁先达到这样的目标,谁就获得胜利。在本设计中,是在每次下完一个子后进行判断,看己方是否达到了胜利的标准,若胜利游戏便结束;否则,游戏继续。

(3)人工智能算法

人工智能算法的主体思想分为以下三个步骤:

第一步:根据双方的当前的形势循环地假设性的分别给自己和对方下一子(在某个范围内下子),并判断此棋子能带来的形势上的变化,如能不能冲4,能不能形成我方或敌方双3等。

第二步:根据上一步结果,组合每一步棋子所带来的所有结果(如某一步棋子可能形成我方1个活3,1个冲4(我叫它半活4)等),包括敌方和我方的。

第三步:根据用户给的规则对上一步结果进行排序,并选子(有进攻形、防守形规则)。

5、典型类的具体设计(1)应用程序类

Gobang 类用于连接设备的应用程序管理器(Application Manager),Gobang类继承自 MIDlet 类,通过 Gobang 类的方法 start App,pause App,destroy App 来通知游戏的开始,暂停和销毁结束。源代码如下:

package com.occo.j2me.game.gobang;import javax.microedition.lcdui.Display;

import javax.microedition.midlet.MIDlet;public class Gobang extends MIDlet

//定义游戏界面的 Canvas 类 Gobang Canvas 的对象 Gobang public { Gobang Canvas gobang;Gobang(){

super();

gobang=new Gobang Canvas(this);//生成 Gobang Canvas 类的对象 gobang

} protected void start App(){

Display.get Display(this).set Current(gobang);

} protected void pause App(){

} protected void destroy App(boolean arg0){

}} //在屏幕上绘出游戏见面 gobang(2)游戏界面类

Gobang Canvas 类继承自 Canvas,游戏的核心类是 Gobang Canvas 类,此类将完成游戏的绘图、互动、控制、逻辑、等所有功能,此类的框架代码如下:

Package com.occo.j2me.game.gobang;import javax.microedition.lcdui.Displayable;import javax.microedition.lcdui.Command;import javax.microedition.lcdui.Canvas;

import javax.microedition.lcdui.Command Listener;public Gobang Canvas(Gobang gobang){

this.gobang=gobang;

}

protected void paint(Graphics g){

}

import javax.microedition.lcdui.Graphics;public class Gobang Canvas extends Canvas implements Command Listener{protected Gobang gobang;

public Gobang Canvas(){

}

}(3)棋子类

整个棋盘是一个 Chesses 类型的二维数组,棋盘上的每一个棋子都对应着一个Chesses 的对象,此类定义了一个棋子,源代码如下:

package com.occo.j2me.game.gobang;public Chesses(){

}

public class Chesses {boolean is Player1;

public Chesses(boolean is Player1){

this.is Player1=is Player1;

}}

4.3 游戏实现

4.3.1 主类的实现

YpkWuZiQiActivity类是五子棋游戏的主类,同时也是五子棋游戏的入口,它继承自Activity类。进入程序后,首先调用init()方法,init()方法通过调用setContentView(R.layout.welcomeview)显示登录该游戏的第一个界面。welcomeview.xml是一个布局文件,里面存储了界面信息。该界面中有四个Button,分别为welButton1、welButton12、welButton3、welButton4,点击每个Button都会触发一个事件,其中点击welButton1和welButton2还会给它的成员变量FIGHTINGMODE赋值,因为在人人对战和人机对战是写在同一个ChessBoard类中的,所以需要通过FIGHTINGMODE的值来区分是人人对战还是人机对战。

点击welButton1时,FIGHTINGMODE=1,然后会调用initTwo()方法,该方法通过调用setContentView(R.layout.chess)方法,来显示对战的界面。chess.xml文件存储了对战界面的信息。在chess.xml文件中调用了ChessBoard类,该类中主要定义了棋盘的信息,下文会对该类做具体的介绍的。在对战界面中也有四个Button,分别是b1、b2、b3、b4。

首先来介绍一下b2,该Button的功能是返回主页,调用init()方法就可以实现。b3的功能是重新开始,这个也只需要调用initTwo()方法。b3的功能是退出,调用了系统方法:System.exit(1)。下面重点介绍一下b1,该Button的功能是悔棋。该Button设定的点击事件详细内容如下:

b1.setOnClickListener(new OnClickListener(){ public void onClick(View v){ ChessBoard chess =(ChessBoard)findViewById(R.id.chess);Point temp = null;if(chess.whoRun == 1){

if(chess.firstPlayer.getMyPoints().size()>=1 &&chess.secondPlayer!=null){ temp=chess.secondPlayer.getMyPoints().get(chess.secondPlayer.getMyPoints().size()-1);

chess.secondPlayer.getMyPoints().remove(temp);chess.freePoints.add(temp);temp=chess.firstPlayer.getMyPoints().get(chess.firstPlayer.getMyPoints().size()-1);chess.firstPlayer.getMyPoints().remove(temp);chess.freePoints.add(temp);chess.freshCanvas();

}

} if(chess.whoRun == 2){ if(chess.firstPlayer.getMyPoints().size()>=1 && chess.secondPlayer!=null){ temp=chess.firstPlayer.getMyPoints().get(chess.firstPlayer.getMyPoints().size()-1);chess.firstPlayer.getMyPoints().remove(temp);chess.freePoints.add(temp);temp=chess.secondPlayer.getMyPoints().get(chess.secondPlayer.getMyPoints().size()-1);chess.secondPlayer.getMyPoints().remove(temp);chess.freePoints.add(temp);chess.freshCanvas();

} })首先获取ChessBoard对象,该对象继承自View,详细的定义了棋盘信息,主要负责显示棋盘的内容。接下来判断一下触发悔棋事件的是哪一个玩家,再判断是否符合悔棋的条件,这个条件很简单,就是棋盘上至少要有两个棋子。之后便进行悔棋操作,分别将两个玩家最后下的棋子取出,程序实现就是将两个ArrayList的最后一个元素remove出来,再分别放到记录棋盘中没有棋子的点的}

}

集合中,最后更新一下画布,主要是调用ChessBoard的invalidate()方法。通过以上步骤之后,呈现在我们面前的便是悔完棋的画面了。

点击welButton2时,FIGHTINGMODE=2,之后的步骤便会点击welButton1是相同的了,不同的是,由于对战模式的改变,从人人对战变成了人机对战。

点击welButton

3时,通

initThree()

用setContentView(R.layout.netchess)方法实现网络对战。详细的对战实现细节将会在下文一一介绍。在这个界面中只保留了两个Button:b2和b4。这两个Button所实现的功能和上面的b2和b4是相同的。

最后,welButton4比较简单。它所实现的功能为退出应用程序,调用System.exit(1)方法。4.3.2 游戏设置类的实现

游戏设置表单用来对游戏参数进行设置,包括棋盘大小、先手选择、智能级别。表单中使用了 Gauge 和 Choice Group 两种高级用户界面组件。

1、棋盘尺寸选择

标准的五子棋棋盘为 15*15,但为了满足不同玩家的需求,这里提供了大小为10*10 到 20*20 的棋盘,用户可以通过 Gauge 组件改变。棋盘的最小值为 10,而Gauge 组件的最小值为 0,所以当前的 Gauge 值需要角上 10 才是当前棋盘大小。创建 Gauge 组件的代码如下:

form = new Form(“ 游戏设置”);// 创建参数设置表单并添加标签 gauge Size = new Gauge(“棋盘规格: ” + board Size + “ X ” + board Size, true, 10, board Size-10);//棋盘规格

form.append(gauge Size);

图4-4 棋盘尺寸的设计

在Gauge交互模式下可以为Gauge对象所在的表单对象绑定一个Item State Listener 事件监听器,并在监听器上捕捉 Gauge 对象的事件,当 Gauge 的值发生变化时就会触发事件。这里将根据 Gauge 的当前值改变标签,显示当前的棋盘大小。其代码如下:

public void item State Changed(Item item){

if(item == gauge Size)//当 Gauge 组件发生变化时

{

int bs = gauge Size.get Value()+ 10;//获取当前的 Gauge 值并计算棋盘大小(加10)

gauge Size.set Label(“棋盘规格: ” + bs + “ X ” + bs);//改变 Gauge 组件的标签

}

}

2、难度选择

游戏的难易程度根据计算机的智能级别来控制,创建及添加选项的方法和复选框一样,所不同的是在创建 Choice Group 对象时,类型设置为 1(单选)。对于单选框,set Selected Index 只能用来指定某个选项被选中,因此,布尔值 selected 的值必然为 true,否则便没有意义。

游戏共有 3 个难度级别,分别是:拜师学艺、棋行天下、谁与争锋(此游戏中并未作出区分),初始情况下为拜师学艺,该选项的索引值为 0。创建难度选择单选框的代码如下:

level = 1;//默认情况下的难度级别

choicelevel = new Choice Group(“电脑智能级别:”, 1);//创建难度级别选项组 choicelevel.append(“拜师学艺”, null);//难度 1 choicelevel.append(“棋行天下”, null);//难度 2 choicelevel.append(“谁与争锋”, null);//难度 3

choicelevel.set Selected Index(level-1 , true);//设置默认情况为难度 1,索引值为0

form.append(choicelevel);//将选项组添加到主表单中

游戏设置选项表单还有两个 Command 对象,分别用于玩家却热和取消,所以表单需要监听软键事件和组件事件:

public class Setting implements Command Listener, Item State Listener

3、棋手选择

选择先手和难度等级用 Choice Group 组件来实现。Choice Group 组件用来构造选择框,其构造函数如下:

Choice Group(String label, int choice Type)选择先手的选项框为选择组件,属性为复选框,标签名为空。创建好选择组件后,逐条添加选项元素。添加选项的方法如下:

int append(String string Part, Image image Part)该方法追加一个选项元素到选择组中,追加的选项为选择组中的最后一个元素,选择组的大小加 1。

对于多选类型的 Choice Group,还可以设置个别选项的选择状态。设置初始选择状态的方法如下:

void set Selected Index(int element Num, Boolean selected)这里创建一个只有一个选项元素的多选框用于玩家设置是否计算机先行,在默认情况下为true,创建完成多选框后将其添加到主表单中,代码如下:

Computer First = true;//在默认情况下为计算机先行 choice First = new Choice Group(null, 2);//创建复选框 choice First.append(“电脑先手”, null);//添加选项元素

choice First.set Selected Index(0, Computer First);//设置多选框的默认状态 form.append(choice First);//将多选框添加到主表单中 4.3.3 棋子类的实现

1、棋子的行列位置

此五子棋游戏是一个二维棋类游戏,所以定了了一个 Dot 类来表示棋子。由于移动设备的局限性,所以程序不在下每一步棋时生成一个对象,而是在游戏进行时,玩家或者计算机没下一步棋,在数组相应位置生成该棋子的对象,而将已经下过的棋子保存到数组中随时检索,这样可以避免过多棋子对象占用系统内存。Dot 类的 UML 图如图 4-5 所示:

图4-5棋子行列设计

Dot 类主要有两个变量 row 和 col,分别表示行和列:

public int row;//行

public int col;//列

2、检查越位

棋子的位置并非是任意的,玩家和计算机每走一步棋之前都要线检查该位置的合法性,即棋子是否在棋盘上,否则判为无效落子。检查是否越界的代码如下:

public boolean is In Board(int board Size)//判断棋子是否越界(超出棋盘){ return row >= 0 && row < board Size && col >= 0 && col < board Size;}

3、修改棋子位置

在创建好 Dot 对象后,Dot 类提供了两种方法更改棋子位置,包括设置行列位置和从已有棋子中复制参数。

public void set Row Col(int r, int c)//设置棋子位置

{

row = r;col = c;

}

public void copy From(Dot d)//复制已有的棋子

{

row = d.row;

col = d.col;

} 4.3.4 对战逻辑类的实现

1、建立数据结构

本程序以数组保存当前盘面的情况,每个位置可能有三种状态:空、玩家的落子、计算机的落子,分别用 0、1、2 来表示。代码如下:

public static int PLAYER_NONE = 0;//该位置为空

public static int PLAYER_COMPUTER = 1;//该位置有电脑的落子

public static int PLAYER_HUMAN = 2;//该位置有玩家的落子

棋盘在初始情况下为空,即棋子上没有任何棋子,在Gobang Logic类的构造函数中对棋盘进行初始化:

table = new int[board Size][board Size];//创建棋盘数组 for(int r = 0;r < board Size;r++){

for(int c = 0;c < board Size;c++)

table[r][c] = 0;//初始化盘面为空 }

除了记录棋盘上每个位置的落子状态外,程序还将对每种状态的位置个数进行统计,以对算法进行简化。对三种状态的统计存储在整型数组中,该数组为全局变量。

private int player Counter[];

在 Gobang Logic 类的构造函数中对三种状态的计数进行初始化,即棋盘上都是空、计算机的落子或玩家的落子状态的个数为 0,在数据结构上,把空也当做某一特殊玩家。

初始化代码如下:

player Counter = new int[3];//落子状态计数器

player Counter[0] = board Size * board Size;//整个棋盘都是空的状态 player Counter[1] = 0;//电脑落子0 player Counter[2] = 0;//玩家落子0

2、落子和悔棋

这里使用了一个 Dot 类棋子对象来记录最后一步棋的位置,当玩家下了一步棋后需要将上一步重新绘制,以消除旗子上的引导框。另外,还是用了堆栈来存储最近的几步落子,以便玩家悔棋。

private Dot last Dot;//棋子对象,存储最后一步落子 private Stack steps;//棋子对象的堆栈

最后一步棋子和棋子堆栈在 Gobang Logic 类的构造函数中进行初始化;

last Dot = new Dot(board Size);//创建棋子对象用来存储最后一步棋,初始化

位置为棋盘中央steps = new Stack();//堆栈对象,用来存储最近的几部棋在棋盘上落子的代码如下:

private void go At(int row, int col, int player)//电脑或人在 row、col 位置上走

{

int last Row = last Dot.row;//记录上一步的行坐标

int last Col = last Dot.col;//记录上一步的列坐标

table[row][col] = player;//当前位置填充玩家代码

last Dot.set Row Col(row, col);//将这一部设置为“最后一步”

game Canvas.repaint At(last Row, last Col);//重新绘制上一步(将引导框去掉)

game Canvas.repaint At(row, col);//绘制当前这步

switch(player)//统计双方落子数量

{

case 1:

player Counter[1]++;//电脑的步数

break;

case 2:

player Counter[2]++;//玩家的步数

break;

}

player Counter[0]--;//空白的个数

if(steps.size()> 10)//堆栈数量超过上限(10)

steps.remove Element At(0);//清除栈底

steps.push(new Dot(row, col));//将当前这步棋子压入堆栈

}

Stack(堆栈类)从 Vector 集成而来,它使用 push()方法进入堆栈,需要时使用 pop()方法从堆栈的顶部将其取出。悔棋动作由玩家做出,从数据结构来看,是同时后退两步(将最后两步棋位置的落子状态设置为空)。

Stack 类的 peek()方法将获取栈顶对象,但不移。悔棋代码如下: :

public boolean undo()//悔棋

{

if(steps.size()>= 3)

{

Dot d = new Dot();//创建棋子对象

d.copy From((Dot)steps.pop());//从堆栈弹出的棋子中复制行列位置坐标

table[d.row][d.col] = 0;//将该位置设置为空

game Canvas.repaint At(d.row, d.col);//在棋盘上重新绘制该位置

d.copy From((Dot)steps.pop());//从堆栈弹出的棋子中复制行列位置坐标

table[d.row][d.col] = 0;//将该位置设置为空

game Canvas.repaint At(d.row, d.col);//在棋盘上重新绘制该位置

d.copy From((Dot)steps.peek());//获取栈顶对象,作为最后一步棋存储 last Dot.copy From(d);

game Canvas.repaint At(d.row, d.col);//重新绘制最后一步(添加引导框)return true;//悔棋成功

}

else

{

return false;

//悔棋失败

}

} 4.4 本章小结

本章主要内容是游戏的实现,包括主类的实现,如构造函数、事件处理等,游戏帮助和介绍表单类的实现,游戏设置类的实现,如棋盘、选手、难度等,旗子类的实现,如棋子行列位置、检查越界等,对战逻辑类的实现,如落子和悔棋、逻辑运算等的实现。

第三篇:【单片机原理与应用】课程教学总体设计

高等职业技术教育

《单片机原理与应用》课程教学总体设计

课程名称: 《单片机原理与应用》 课程编码: 051071 适用专业: 电气自动化技术 学时数:84 其中:理论教学学时:

54课内实训学时:30 制定人:

审核人:

一、课程基本信息

(一)考核方式及成绩评定标准

二、教学设计

(二)学习效果评价

(一)学习基础分析

四、其他

(二)学习目标

(一)参考教材、讲义、设备、网络等教学

(三)教学内容(含作业设计)资源

(四)教学方法

(二)其它需要说明事项

三、考核与评价

机电工程系 2008年8月18日

一、课程基本信息

1.课程名称:单片机原理与应用 2.课程类别:专业核心课 3.课程编码:051071

4.学时:84学时(理论教学54学时,课内实训30学时)

5.适应专业:电气自动化技术专业、电力系统设备及自动化方向专业

二、教学设计

(一)学习基础分析

高等数学、物理基础知识;

已经掌握电工技术、电子技术、低压电气设备、电机拖动技术、传感器技术、自动控制原理等相关内容与技能。

(二)学习目标

1.正确理解、学会使用MCS-51单片机。

2.理解并掌握MCS-51单片机的硬件结构和原理。3.熟练使用MCS-51单片机的指令。4.掌握MCS-51单片机的中断和定时系统。5.熟悉MCS-51单片机的系统扩展原理及方法。

6.能熟练的应用MCS-51单片机指令编写简单的单片机程序。7.能跟据控制要求设计单片机控制系统,进行系统软硬件调试。8.熟悉MCS-51单片机的开发环境。

(三)教学内容(含作业设计)

模块一:公共基础模块

教学内容

●微型计算机基础; ●单片机概述; ●计算机的数制与编码;

实训与作业设计

●微型计算机的组成; ●单片机的主要特点; ●数制及其转换;

●作业1:通过搜集各种资料简述你所了解的微型计算机的应用领域;

●作业2:与同学们讨论:同一般的微型计算机相比,单片机具有哪些主要特点?应用在哪里?

模块二:基本技能模块

教学内容

●MCS-51系列单片机的引脚及其功能; ●单片机内部结构和工作原理; ●单片机中央处理单元; ●单片机存储器配置; ●单片机输入/输出端口; ●单片机时钟电路与时序; ●单片机的工作方式;

●MCS-51系列单片机指令系统概述; ●数据传送指令; ●算术运算类指令; ●逻辑运算及移位指令; ●控制转移指令; ●位操作指令; ●汇编语言程序设计;

模块三:综合技能模块

教学内容

●MCS-51系列单片机的中断系统概述; ●中断控制方式; ●定时器及定时控制; ●单片机的系统扩展结构; ●程序存储器的扩展; ●数据存储器的扩展;

●程序存储器及数据存储器的扩展; ●并行I/O口的扩展; ●键盘输入接口; ●LED显示器及接口技术; ●A/D转换器接口及应用; ●D/A转换器接口及应用; ●同步通信与异步通信; ●串行口的结构和工作原理; ●串行口的工作方式和应用;

实训与作业设计

●单片机的引脚及功能用法; ●程序存储器(ROM)的功能及用法; ●数据存储器(RAM)的功能及用法; ●P0、P1、P2、P3各个端口的功能及用法; ●时钟电路及时钟信号的产生; ●基本时序特点; ●复位及复位电路;

●程序执行方式和掉电保护方式; ●MCS-51单片机的指令格式; ●单片机的几种基本寻址方式; ●单片机指令的种类; ●顺序程序设计; ●循环程序设计; ●子程序设计;

●作业1:编制乘法口诀表的查表程序。●作业2:编制延时1S的程序。

实训与作业设计

●MCS-51系列单片机中断源的中断标志; ●定时器的4种工作方式; ●MCS-51系列单片机的总线结构; ●典型扩展电路介绍; ●程序存储器扩展方法; ●数据存储器扩展方法; ●按键输入的抖动现象;

●LED显示器与单片机的接口技术; ●逐次逼近法A/D转换器的工作原理; ●D/A转换器的基本概念;

●作业1:扩展一片16KB程序存储器2764; ●作业2:扩展一片8KB数据存储器6264; ●作业3:利用单片机和LED接口进行动态显示;●作业4:利用单片机和键盘接口输入数据; ●作业5:进行A/D转换采集模拟量; ●作业6:进行D/A转换输出控制量;

模块四:基本技能训练模块

教学内容

●单片机应用系统的抗干扰; ●单片机应用系统的软硬件调试; ●单片机应用系统的日常维护与检查; ●单片机应用系统的常见故障及处理;

实训与作业设计

●熟悉单片机开发软件Keil的用法; ●熟悉单片机仿真软件Proteus的用法; ●作业1:在Proteus软件中设计简单流水灯电路,并仿真;

●作业2:调试几个复杂程序,记录调试过程; ●作业3:讨论单片机控制系统常见故障的原因;

模块五:工程设计应用模块

教学内容

●单片机应用系统开发的一般方法; ●单片机应用系统的开发环境安装方法; ●单片机应用系统的硬件设计; ●单片机应用系统的软件设计; ●单片机应用系统的低功耗设计; ●单片机应用系统的加密技术;

实训与作业设计

●了解单片机在工业控制领域中的应用案例 ●作业1:讨论如何进行系统需求分析

●作业2:讨论如何根据需求进行硬件选型完成硬件设计;

●作业3:讨论如何根据硬件下系统进行软件控制程序的设计;

(四)教学方法

1.专题研讨、课堂互动交流;

2.学生以任务为驱动进行自学,教师进行讲解点评; 3.在设备和生产现场进行现场教学、实际动手操作; 4.通过讲解各种实物、挂图、以及工程图纸加深理论认识; 5.采用形象生动的多媒体教学,帮助学生学习;

6.教师指导学生在实训室进行单片机系统的接线、安装、调试; 7.安排适当的参观实习,理论联系实际;

(五)教学进程 序号 2 3 4 5 公共基础模块 基本技能模块 综合技能模块 基本技能训练模块 工程设计应用模块

合计(84)

注:课时分配在具体实施时可做适当调整。内

学时(84)讲授 18 16 6 6 54

实训 18 6 2 2 30 3

三、考核与评价

(一)考核方式及成绩评定标准

序号 2 3 4 5 6平时成绩 考核项目

平时考勤 课堂活动表现 课外作业 课外小论文 实训室和现场表现 考试成绩(闭卷)合计

分值 15 15 15 15 30 100

赋分办法

缺课一次扣2分,上不封顶,可出现负分

分6等:15、12、9、6、3、0 分6等:15、12、9、6、3、0 分6等:15、12、9、6、3、0 分6等:15、12、9、6、3、0

卷面分

总成绩=平时成绩×0.7+考试成绩×0.3

(二)学习效果评价

评价具体内容包括:

1.平时考勤:强制要求学生遵守纪律、按时出勤、保证足够的学习时间,这是学习效果的基本要件。另外贯穿于课程始终的考勤也是对学生积极向上的人生态度培养,使学生潜移默化地形成遵守纪律、遵守规则的好习惯,否则将会为此付出代价,提高学生的社会生存力和竞争力。

2.课堂活动表现:包括课堂互动是否积极参与、发言、向老师提问,能否正确回答老师问题等。考核并培养学生积极参与、勤于思考、团结协作精神、解决问题能力。

3.课外作业:课外作业是检查和巩固学生学习效果的重要手段,老师在评价每次作业时不仅要进行对错考核,更要考核、检查、培养学生完成作业的认真态度。使学生能按照工程技术文件的标准完成一个图文并茂的技术文件(作业)。这个潜移默化作用使学生形成的良好习惯将会使学生受益终生。

4.实训室表现:在实训室面对实物时的表现最能培养和检验学生的运行、维护检修、安装调试等技能。表现包括两个方面:老师的讲解示范过程和学生自己实训操作过程。要求学生认真听讲、勤做纪录、积极参与、勇于动手、团结协作、吃苦耐劳。

5.考试成绩:考试成绩是对学生学习效果的总结性考核。由于试卷书面考核具有一定的局限性,需要对于该门课程的考试方式进行进一步的改革和创新,随着实训条件的改善相关政策的创新最终达到以操作取代考试。

四、其他

(一)参考教材、讲义、设备、网络等教学资源

1.参考书目

[1]任益芳.单片机应用[M].北京:高等教育出版社,2006.[2]江力.单片机原理与应用技术[M].北京:清华大学出版社,2006.[3]陈桂友.单片机应用技术[M].北京:机械工业出版社,2008.[4]刘守义.单片机应用技术[M].西安:西安电子科技大学出版社,2002.[5]吴金戍.8051单片机实践与应用.[M].北京:清华大学出版社,2002.[6]李群芳.单片机原理、接口及应用.[M].北京:清华大学出版社,2005.[7]李广第.单片机基础.[M].北京:北京航空航天大学出版社,2001.[8]胡汉才.单片机原理及系统设计[M].北京:清华大学出版社,2002.[9] 曹巧媛.单片机原理及应用[M].北京:电子工业出版社,1997.[10] Proteus软件使用手册 2.教学设备 ●多媒体教学设备 ●教学挂图 ●MCS-51单片机 ●万用表 3.网络

利用http://www.xiexiebang.com/网站,输入关键词“MCS-51单片机”即可搜索并进入到单片机的生产、经销公司网站,了解不同单片机产品和技术发展;用关键词“单片机控制系统”搜索可进入专业组建单片机控制系统的公司网站,可以了解最前沿的单片机应用技术。

(二)其它需要说明事项

1.通过这几年的教学研究和教学实践,不论在教学理念上、教学手段上还是教学所需的设备上,基本已具备了开展“项目教学”方式的条件。为保证取得预期的效果,还需解决以下问题:

(1)更新及完成本课程的其他相关教学设备。(2)尽量安排小班教学,每课程学生不超过30人。

(3)在教学过程中,应立足于加强学生实际操作能力的训练,切实采用项目教学,以工作任务引领提高学生学习兴趣,激发学生的成就动机。

(4)在教学过程中,教师示范和学生分组操作训练互动,学生提问与教师解答、指导有机结合,让学生在教、学、做的过程中,认识单片机与控制理论的结合,同时应该掌握相应的操作技能。

(5)在教学过程中,要应用教学录像、多媒体、投影等教学资源辅助教学,帮助学生形象的了解单片机控制系统对于整个自动化控制系统的控制作用。

5(6)在教学过程中,要重视本专业自动控制技术的发展趋势,贴近工作现场。为学生提供职业生涯发展的空间,努力培养学生参与社会实践的创新精神和职业能力。

2.编制依据

(1)单片机控制系统设计、开发的步骤及对单片机系统安装检修、维护工作岗位对知识、技能、态度的需求调研;

(2)《单片机原理与应用》课程标准。3.编制人员

执笔人: 审核人:

4.编制时间2008年7月20日

完成时间:2008年8月18日

第四篇:网络教学平台的体系结构与总体设计

网络教学平台的体系结构与总体设计

余胜泉、陈天、何克抗 ysq@elec.bnu.edu.cn

北京师范大学现代教育技术研究所(100875)

网上教学支持系统设计的基本出发点在于:我们认为网上教学不仅仅是将教学材料在网上发布,而更多的是学生与教师之间、学生与学生之间的充分沟通与交流,由于远程教学教师与学生之间在空间上的分离,这种沟通与交流就显得尤为重要,另外,传统教学过程中一些保证教学质量的关键环节,如作业、考试、图书馆、笔记记录等,都应该能够在网上得到很好的支持。所有的沟通与交流以及关键教学环节的支持,都需要一些专用的工具来支持,而现有Internet技术并没有提供这些工具,因此需要进行工具开发。此外网上交互式的程序设计,是一般非计算机专业教师所难以做到的,因此,我们开发了一套网上的教学支持平台,为教师在网上实施教学提供全面的工具支持,屏蔽了程序设计的复杂性,使得教师能够集中精力于教学,也使得网上教学从简单的教学信息发布变成一个充满交互与交流的虚拟学习社区。

一、设计的基本构想

1.一体化管理

网络教学支持系统应该与教学内容紧密集成,应该实施一体化管理,而不是相互分离的系统。目前,Internet上的一些现成工具,如电子邮件、WEB、新闻组等,都有一定的教学功能,还有一些大学也开发了一些教学支持工具,如用户注册系统、讨论组、聊天室等,但这些工具都是与教学内容相分离的,是一些相对独立的系统,对教学的紧密性要求支持不够,象某些系统,要学习几门课程,就需要登录几次,使用起来很不方便。一体化管理就是要使教学支持系统真正符合教学的要求,在一个统一的系统中可以完成教学(学习)过程中的各种活动,而不需要来回在几个系统之间切换,降低操作的复杂度及学习的难度。

2.完全开放

远程教学所涉及的行业范围大,学习者的数量多,教学内容的形态需求复杂,这就要求系统具有完全的开放性,能够容纳各种形态的网上教学内容,不能仅仅限于支持某些专用工具开发的教学内容,不能只是支持某些文件格式。本系统将采用开放的文件存储格式,支持所有能够在网上运行(包括需要插件的文件)的课程内容与文件格式,不对课程开发工具作限定要求,只要求该工具开发出的课程内容能够在网上运行即可。

3.简化交互式教学设计的复杂性

我们认为,网上教学不仅仅是将教学内容在网上发布,更为重要的是教师与学生、学生与学生、教师与教师之间的充分沟通与交互,从而打破了传统课堂的授课模式。由于师生在物理空间的分离,师生之间的交互显得更加重要,可以说,这种交互的广度与深度,是决定网上教学质量的关键性因素。网上教学包括一些基本的教学环节:教学内容的发布、作业、答疑、考试、讨论(同步/异步)、作笔记等等,而现有Internet工具并不能很好地支持这些活动,需要教师进行复杂的交互性程序设计,这对大部分教师来说,是无法完成的。教学支持平台就是要解决这些交互式工具支持问题,使得教师无需花费大量的精力去开发程序,就可以很方便获得很好的交互性支持,从而可以专注于教学内容与教学活动。教学支持平台的首要功能就是降低实施网上教学的技术难度,提供方便实用的教学工具,简化交互式教学设计的复杂性。

4.支持多种教学策略

网上教学完全打破了传统课堂授课的模式,改变了传统教学中教师与学生之间的关系,教 师从知识的传授者和教学的组织者转变为学习的帮助者和引导者,学习者已经成为学习过程的主体,加上教师与学生在地理空间上的分离,形成了一种全新的师生关系,在这种新的关系下,传统教学过程所采用的教学策略相当一部分已经不再适用,网上教学是一种新型的教学方式,在新的教学环境中,它不能完全沿袭传统的教学方式,而是要引进新的思想、新的教学方法。教学支持平台必须能够充分体现这些新思想与新方法,必须能够支持探索式学习、协作式学习、角色扮演式学习、辩论式学习等适合网络学习环境的新教学策略,应该提供实施这些教学策略的实用工具。

二、Vclass的体系结构与功能

一个完整地支持基于Web教学的支撑平台应该由四个系统组成:网上课程开发系统、网上教学支持系统、网上教务管理系统和网上教学资源管理系统四个子系统,其体系结构如下图所示。

网络教学管理系统网络教学系统注册认证学生学籍档案管理教师档案管理行政公文管理辅导答疑系统信息查询数据统计与分析作业评阅系统师生交流工具讨论组聊天室电子邮件邮件列表新闻组适应性学习系统学习管理个别辅导协作监控疑难解答成绩管理学习进度管理学生模型虚拟实验系统远程考试系统网络题库系统流媒体课件点播系统计费管理系统配置与管理网络课程开发工具专业管理网络课程开发模板库课程管理网 络 课 程学 科 教 学 资 源 库 管 理 系 统学科媒体素材库学科题库学科案例库音频、视频、动画、图形、文本学科课件库学科文档资料库CERNET、卫星电视教育网、Internet、Intranet网络支撑平台 图1 远程教学支撑系统结构示意图

远程教学支撑平台是建立在通用的Internet/Intranet基础之上的,专门为基于双向多媒体通信网络的远程教学而提供全面服务的软件系统,它包括资源管理、网络课程开发、网络教学、网络教务管理四个方面的服务,在丰富的学科资源的基础之上,学科教师根据教学要求与教学计划,并根据自己的教学特色,开发网络教学课程,借助于网络教学的一些支持工具,开展双向的远程教学,教学管理系统可以保障这种教学更加高效,也更加规范化。

2.1网络教学系统

网络教学系统是一整套提供远程教学服务的系统软件,它以网络课程为核心,在教学管理系统的支持下,合理有效地利用学科教学资源,为实施全方位的现代远程教学提供服务,它将网络课程与学校的远程教学服务进行了有机的集成。网络教学系统不仅是先进计算机科学和技术水平的体现,更重要的是要符合现代化教育的一般规律,能够为远程教育提供一个真正高效的现代化教育手段。其主要目的是:

(1)通过提供各种现代远程教育教学辅助手段,保证现代远程教育得以顺利实施;(2)并提供给各个学校或办学点一套切实可用的远程教育支撑软件工具,以支持远程教学活动的各个环节。

(3)通过各种先进的教育技术,最大限度地用计算机替代教师的劳动,并节约大量的教育投资;

(4)形成现代远程教育完整、统一的学习界面,减少因需要熟悉各种不同的学习系统而给学习者带来的不便;

(5)通过给学习者提供包括学习导航、答疑、查询、讨论、作业布置、自测等手段,提高远程教育学习者的学习效果;

(6)通过提供方便的网络课程构建工具,可以大大提高网络课程的建设效率,减少大量的重复劳动,提高网络课程的建设质量;

(7)通过提供标准化的题库与考试系统,保证远程教育的教学质量。

(8)提供多种最能体现网络特色的学习策略,打破传统单一的讲授式学习模式,每一种学习策略都提供多种教学设计模板,以便于教师进行教学设计。

网上教学支持系统的功能包括课程的网上发布,教学过程中对教师教的支持和对学生学的支持,以及对教学活动的管理。

1.在线发布网上课程

网上教学第一步要做的就是将教学内容在网上发布,一般一门课程都有很多文件,如何将这些文件内容很方便的发布到网上,并自动配置相关的教学支持工具,是个很重要的一个环节。系统应该提供多个文件一次性上载的功能,或者生成FTP帐号,供教师通过FTP上载。另外为了保护课程内容的版权,网上课程开发系统要用数据库管理所开发的课程,具体课程页面的显示根据向数据库提交的查询来确定,在这种情况下,课程访问速度、允许同时访问的人数将是网上教学支持系统性能的重要评判指标,一般要求是应允许至少200个学生同时使用同一课程。此外,能否提供高质量文本和图形、高质量的视频和音频也是基本的质量要求。

2.教学活动设计和管理

网上教学支持系统应该为教师提供一系列的实用工具,帮助教师进行教学活动设计和管理,(1)评估系统

网上教学支持系统所提供的评估系统包括测验试卷的生成工具、测试过程控制系统和测试结果分析工具。测验试卷的生成工具可以根据教师输入的一些组卷参数,自动生成所需的测验试卷,另外,还可以为每个学生产生不同的试卷,以防作弊。测试过程控制系统主要完成对网上测试过程的控制,如在需要时锁定系统,不允许学生进行与测试无关的浏览,控制测试时间,到时自动交卷等。测试结果分析工具一般是根据每道题中的知识点和学生的答题情况,对具体 学生给出诊断,对下一步学习提出建议。有些网上教学支持系统还可以根据考试测验的统计数据,运用教育评估理论分析题目的质量,如区分度、难度等。

对客观题测验还就提供自动批改和即时反馈功能,应根据学生的答案提供个性化的反馈内容。有些系统允许教员通过对一些问题加权,进一步控制测试环境。

(2)学生管理系统

网上教学支持系统应该支持教员根据教学需要,设定学生的行为权限,如可以做什么,不可以做什么,如是否可以查看成绩等。

由于网上教学非常适合于小组合作解决问题,分组学习、协同工作将是未来网上教学的重要组织形式。网上教学支持系统应该为老师给学生分组提供方便,比如老师只要设定分组条件(如按成绩),系统就自动将学生分组,同时自动产生相关的一系列设施设定,如小组的主页、小组讨论园地、邮件列表等。老师可以以小组为单位,为这组成员布置特别的教学任务。

(3)学习管理工具

对于教师来说,管理一个在线课程很花时间和精力,而网上教学又特别强调一个老师所教的学生数量,因此自动实现一些课程管理工作是十分必要的,使教师可以集中精力于学生的学习辅导。比如提供自动记分系统,在学生作完测验系统自动判分之后,自动将成绩登录,进一步系统还可以自动提供反馈信息,自动建议学生下一步的学习内容;再比如提供邮件分类系统,对发到教师课程邮箱的信件进行分类,自动区分哪些是学生递交的作业,记录学生递交的时间是否及时,再进一步提供智能系统,自动分析邮件内容,进行归类,或自动解答或提供给老师统一解答。

学生信息跟踪:在进行网上教学时,教师的角色已从讲课者变成学生学习的引导者和服务者,为此老师需要监控学生的学习情况,了解学生的学习进展,已取得的学习成就,及时地发现问题,加以引导。

通过学生信息跟踪,教师可以了解到某个学生何时进入课程,花了多长时间阅读某页内容,做了什么练习,对几题,错几题,是怎么做的,有些产品还可以向教员提供学生曾经访问过的站点的地址。总之,学生跟踪系统可以为教员提供详细的学生进展报告,利用这些数据不仅可以有针对性地因材施教,还可以改进和提高课程的质量。

学习管理:应提供个别辅导、协作监控、讨论组管理、疑难解答、试卷管理、作业管理、成绩管理、学习进度管理等。

3.学习和探索

网上教学支持平台通过为学生提供一系列辅助学习工具支持学生在网上的学习和探索。笔记本:在学习过程中,随时记录自己感兴趣的内容,通过记录学习内容,学生自己建构自己的知识体系。

书签:学生可以标记所感兴趣的内容,以后再看,有些系统是直接利用浏览器的书签功能,但是浏览器的书签功能在显示页面是多帧的情况下往往不能正确标记。

搜索工具:搜索工具也是很有用的学习工具,有的搜索工具只能搜索本课程内容,或者搜索本课程的讨论内容,但也有一些系统允许学生在他所选的所有课程内容中搜索。

学生学习记录:重视教学理论的网上教学支持系统都很在意对学生个性的尊重,对学生学习的激励,如支持学生在课程内容上加注,允许学生去查看自己的作业完成情况,了解自己和班上其他同学的差距等。有些系统为了鼓励学生多做练习,允许学生多次完成同一套作业,只在成绩单上记录最好成绩,不过学生每次作业完成情况都会记录下来,老师可以查阅,发现学生的问题,提供适当的帮助。

学生工作区:有些产品还支持学生自己建主页,用以张贴小组工作成果,或个人的项目介 4 绍,并提供对学生主页的统一管理。

4.讨论和协作

网络学习是一种地理空间分离分散式的学习,学习群体与教师的交流与协作至关重要,网上教学支持系统应该为师生提供方便实用的交流工具。

同步/异步讨论园地:网上教学支持系统大多都提供了若干种支持学生之间、师生之间交换信息和讨论的工具,如公告栏,聊天室等。许多教师发现异步多线程讨论或基于EMAIL的讨论更适合于专题研讨和课堂作业处理。有些产品提供聊天历史的记录功能。已经有一些网上教学支持系统开始提供实时视频或音频会议系统功能。另外一个很有用的讨论工具是电子白板,可以可视地表示公式及问题求解的过程,电子白板常与同步聊天系统、可视会议系统一起使用。课程电子邮箱:在网上上过课的教师都有这样的体验,邮箱很快就被学生的问题邮件填满,当同时讲授多门网上课程时,区分管理这些邮件是很烦琐的事情。所以现在一些网上教学支持系统就为师生按课程建立单独的邮箱帐户,这样可以将不同课程的信件和私人信件区分开来。协同工作:使用计算机协同工作是计算机会议系统的功能,还没有成为网上教学支持系统的标准功能,但有这样的发展趋势。协同工作的意思是,在不同地方的人可以用同一种软件对同一文件一起编辑修改,每个用户都可以看到文件被实时编辑的过程。网上协同机制使不同地方的学生可以象现在的同班同学一样合作完成某个作业,一起做项目。

2.2网络教务管理系统

远程教学的目标是培养合格的人才,完成既定的教学任务和实现国家规定的教学目标,远程教育机构要达到这些目标,教学管理居于一个至关重要的地位,它起着调配教学资源、组织教学活动、总结教学数据等重要作用。教学管理系统使得教学能够顺利实施,也可实现整个教学管理过程的现代化和管理的规范化,另外还能及时、准确地反映教学现状,分析教学效果。整个远程教学管理系统可划分为四个相对独立的模块:课程管理、教务管理、学习管理和系统管理,它为学生、教师、管理人员提供全面的服务。学生可以通过管理系统保存自己的个人档案,及时获取教学机构发布的最新信息,得到教师的帮助与辅导等;教师可通过管理系统设置课程与教学计划,查看学生的学习档案,提供有针对性的帮助;管理者可管理教师档案、学生档案、发布最新信息、对远程教学系统进行管理和维护等。网络教学管理系统的功能结构如下图所示:

网络教学管理系统课程管理教务管理系统管理专业设置管理课程设置管理课程内容发布教学计划发布选课管理注册认证学生学籍档案管理教师档案管理信息查询数据统计与分析行政公文管理教师评价管理学生学习评价管理系统配置与管理计费管理安全管理数据备份管理

图2 网络教学管理系统的功能结构

1.教务管理系统

注册认证:该系统接受用户的注册,保留学生的档案数据,包括学生每次测试的成绩,修得学分,已修课目等教学过程中动态生成的信息。注册系统还应提供授权认证功能,只有正式注册过的学生才能进入教学支持系统。

学生学籍档案管理:学生的学籍管理覆盖学生从入学申请到毕业的各个环节,如入学申请,选课、学习、考试、毕业等。学生、教师和相关的管理者能够对相应的信息进行修改和添加等操作,学籍管理以学生为单位。

教师档案管理:教师管理包括对教师的档案管理、教师的资格审查、教师的业绩考核以及对于教师任课的管理。

数据统计与分析:将各个教学环节中的数据收集起来,定期整理、统计,并在此基础上,进行一定的智能推理,并将结果通过报表、Email等形式反馈给学生、教师或相关人员,以帮助学生更好的学习、教师更好的改进教学、管理人员更加科学的决策。

信息查询:学生、教师、管理人员以及一般的浏览者均可通过Internet,在相应的权限范围内,浏览相应的信息,如学生对专业、课程情况的查询,学生对考试成绩的查询,教师对学生信息的查询等。

行政公文管理:为了更好地进行教学管理,需要进行教务信息的发布,以及相关部门间需要有大量的公文以及报表流通,因此,我们需要建立比较完善的行政公文管理系统。以实现各类信息、公文的发布、管理以及查询功能。

教师评价管理:对教师的教学情况作综合评价,它包括三个方面的评价:教师的自我评价:教师对自己的教学工作做出主观评价,以量化指标的形式体现;学生对教师的评价:通过在网上发布教师教学情况的评价表来收集学生对教师教学情况的评价信息,综合所有学生的意见后,以量化指标的形式体现;系统评价:教学系统自动记录教师通过远程教学平台来进行教学的过程信息,如布置作业、批改作业的数量,作针对性辅导的次数,上网的时间等等,这些数据最终也以量化指标的形式体现;最后的评价结果将以这些量化指标作加权评分。

学生学习评价管理:包括学生选择学习内容的深浅程度评价;学生的作业情况评价;学生的答疑情况评价;学生的讨论情况评价;学生的考试情况评价:试题难度、考试信度、考试成绩评价;学生参与的态度评价;最后通过加权评分作综合评价。

2.专业与课程管理

专业、课程的管理:包括专业的设置、管理,专业课程的设置、管理,培养计划的制定和调整。要求教师和相关管理人员均可在允许权限内进行访问、修改等操作。

课程管理:包括设立课程,指定课程相关人员(如开发人员、授课人员、助教人员和学生)的权限和口令,分配建立与课程相关的设施,如邮箱、讨论区、网址等。课程管理还可以提供灵活的数据库报表功能,为教员和管理人员提供有关课程的各种统计信息。

课程内容发布:将教师开发的课程内容,上载到相应的远程教学系统,在网上发布,实施网上教学。

教学计划发布:发布某门课程的教学计划,提供查询、修改、删除等功能。

选课管理:学生可以在已有的网络课程中,选择某些课程进行学习,选课系统自动为学生配置课程学习的资源,并记录本课程学习的过程。

3.系统管理

系统设置、维护功能:它负责系统的日常维护,参数设置、数据备份和恢复。系统的安全性和数据的完整性、一致性主要由本模块来保证。

网络计费管理:提供采集计费源数据的功能;计费功能可能分布在教学活动的各个环节,如学生在注册入学时应缴注册费,补考应缴补考费等,提供计费项目的管理功能包括:学习内容、学习时间、多媒体信息流量、传输的区间、使用的服务方式等项目;按时或实时自动更新用户费用;提供帐单的查询和统计功能(以报表形式或其它形式);提供计费的数据分析和数据挖掘功能。

权限控制:将系统用户划分为不同的角色,不同的角色指定不同的功能、不同的权限。对 6 于不同权限的用户,只提供他所能访问的功能界面,控制无关信息的显示。

数据备份:定期对系统关键数据进行备份,并对备份档案作详细记录,一旦出现意外,系统能够根据备份数据和备份记录数据进行恢复。

系统评估:跟踪记录用户行为数据,并以此为依据进行分析和统计,发现系统隐含的问题,对系统作出定量评估;通过问卷调查的方式,收集用户的反馈及评价意见,对系统作出非定量评估;根据评估意见,不断修订完善系统。

安全管理:提供权限控制、用户认证、恶意攻击监测等功能。

网络性能管理:收集影响网络性能的数据;提供对历史数据的分析、统计和挖掘功能;提供调整网络拓扑结构和配置的功能。

网络配置管理:硬件平台满足前述的规范要求;硬件平台的可扩充性要求;动态维护网络配置数据库。

2.3网络课程开发工具

通用的多媒体写作工具都是为商务用途而设计的,相对于教育领域的特殊需求针对性不够,特别是缺乏资源的支持,更增加了用户开发多媒体网络课件的难度。网络课程开发工具就是要让非计算机专业人员(普通教师)能够方便地构建网络课程和相关内容(备课、考试等),该工具可简化教师开发网络课程和备课的过程,降低课程开发对教师计算机技能的要求,使一般教师易于学习掌握。另外,该工具能够与远程教学系统进行紧密的配合,可直接将开发的网络课程发布到实施远程教学的因特网站点上。

网络课程工具可以针对不同性质学科的特点,将该学科的教学模式抽象为多个可以直接套用的模板,并给与相应资源库的支持,有了丰富的资源和使用简单的教学设计模板,就可方便地完成多媒体课件对交互性的要求。在课件编写过程中,从总体的教学设计到具体的教学方法,从版面设置到对象属性设置,由于每一步都有模板和提示支持,经过较短时间的学习,普通教师就可以轻松地完成课件的编写工作。教师不必再为缺乏素材而发愁,也不必再学习抽象繁琐的代码设计,可以大大减小制作多媒体课件的难度。

网络课程开发工具主要完成网上课程内容的表示,支持基本教学逻辑的设计,其基本特色是:(1)支持网络多媒体开发功能,能够进行多媒体素材的导入、抓取和制作,通过直观方便的拖动连接、简单易行的课程管理和动态调整等制作手段,能够快速高效地生成网络课程;(2)提供素材库与素材库管理软件,简化教师开发网络课程时的素材制作负担;(3)提供针对具体学科的网络课程模板和向导库,并提供一些模板化的网络课程,可方便和加速网上课程的开发。

1.教学内容的表示:多媒体集成工具

随着技术的发展,网上信息的内容和种类已基本不受技术条件的制约,课程内容的开发可以根据需要,选择合适的媒体形式,如文字、图形、图像、动画、音频、视频等。一般来说,这些基本媒体素材的制作创建都可以利用相关的专用软件,如文字图形可以用字处理软件产生,图像可以用图像处理软件加工,动画可以用动画制作工具生成。

作为网络课程开发工具,对教学内容表示的支持主要是提供对各种素材的集成功能,这与传统的教学软件开发平台的功能是一样的,与传统教学软件开发平台的差别是所产生的最终结果必须能够在网上浏览,如可以转换为HTML格式的文件。

因此,网上课程开发系统每一新版本的推出,都是体现再对哪些格式数据的集成提供支持,在现有带宽条件下如何提高了流媒体播放的效果,特别是在支持教学交互性方面又有了哪些进展等。

考虑到带宽条件的限制,开发系统在产生课程页面的时候还应自动提醒开发者设置出最简易环境下界面的布局,如不显示图形时,在该图形位置应该用什么文字表示要显示的内容;如果有可能的话,网络课程开发工具所开发的课程还考虑到有视力障碍的学生。2.教学逻辑的设计:课程内容结构图

教学逻辑体现了教学内容的层次和相互间的关联。网上教学和课堂教学的差别在于,在教室里,课程内容层次性的展现是由老师通过讲述一步一步完成的;在网上教学时,老师需要将这些关联通过内容的组织立体地揭示,引导学生自己去体会,同时还要注意不要影响学生对课程主干框架的认识,不能使学生感到内容混乱。

因此,网上课程开发工具要为开发课程的教师提供课程内容的建设框架,提供方便老师针对不同学生设计不同教学路径的功能。目前这一功能的实现有两种做法:一是提供内容的层次树,另一种是提供内容的关联图。具体课程内容的切换可以通过设置按钮、热区和超媒体链接方式实现,但要注意提供界面友好的逻辑性强的导航系统。

目录树生成与修改:由经验丰富的老师编写好课件脚本后,课件制作工具可以采用自动与人工相结合的方式,生成树型结构的课程章节目录。教师可以随便对这样的目录树进行调整。此外,有些系统还提供了自动索引工具和自动建词汇表的工具。索引和词汇表是学生学习很有用的信息检索工具。

3.课程的快速生成:模板和向导

网上课程的质量,不仅取决于教学内容的质量、教学内容的表现形式,还取决于教学方法的合理运用、教学策略的具体实施,因此开发网上课程需要综合运用教育学、心理学、计算机科学和各课程学科多方面的知识,这对于网上课程的开发者来说要求太高了,因此,网上课程开发系统就必须提供“低门槛”,在保证开发课程方便快捷的同时,保证所开发的课程具有合理界面布局,有助于学生的学习、记忆和掌握。具体的做法是提供模板或开发向导。

模板主要是某种类型页面设计的框架,向导可以引导教师完成教学模型或课程框架及页面的设计。使用模板和向导,教师只要按照要求填写有关的参数,系统就可以自动生成所需要的页面。

模板简化了设计一个好的WEB课程的过程,提供了一致的外观,保证满足某个界面设计标准。模板还可以产生一些教师可能没有考虑到,但对教学有用的功能设施,实现一些对于教师来说不知如何实现的教学功能,如讨论组等。在有些情况下,模板还可以为拨号用户减少服务器下载和访问时间。

4.素材的组织与生成

网络课程开发工具应能够充分利用教学单位或教师提供的现有各类素材来构建新的网络课程或新教学功能模块。教师可以通过该工具抓取素材库中的素材来构建网络课程或网络教学模块。通过该工具构建的网络课程,能直接在网络上运行。具体功能描述如下:

素材的搜集与利用:网上有大量丰富的教学素材,资源管理系统可将资源统一、规范地存放在数据库中以方便共享。教师能通过网络课程制作工具方便地访问这些资源,还可以进行分类查询。这样可以避免重复劳动,缩短研制开发周期。

素材的制作:教师一方面可以用其他的工具如Powerpoint等生成图片,幻灯片和声音等素材,然后通过制作工具载入利用,另一方面也可以利用制作工具提供的编辑功能,方便地生成自己需要的素材,然后保存到相应的素材库中以便再利用。

这里应特别提出的是,某些课程如物理化学都有其特殊的符号表示,给教师书写教案带来很大的不便。我们可以把特殊符号作为一种素材放在素材库中,通过制作工具提供的编辑功能可以让教师方便地添加一个符号并多次利用。

教学内容添加:将素材库中的素材拖动到目录树的叶节点中,在上下两个相邻的两个素材间可以方便地插入一些衔接性的文本和语音,以便承上启下。

连续播放和预览:提供连续播放和预览等功能,让教师随时看到课件的效果。

课件输出:最后将制作好的课件内容输出,自动生成网页形式的网上课程。5.网络化学习模式:多学习策略支持

网络课程开发不应只是能够开发传授式的课程内容,还应能够设计可充分体现网络特色的,充分发挥学生认知主体作用的学习策略与学习方式,如协作式学习、发现式学习、角色扮演学习、问题解决学习、基于资源的学习等等,并支持生成这些学习策略所需要的内容。

6.制作视频课件:流媒体教学内容的生成

提供教师一个有效的制作工具,用于将教师在课堂教学的实况录制下来,进行数字化后,编码成流媒体格式,在网上以课件的形式发布。对于有讲稿的教学录像,还可以将已经数字化的视频数据和他所使用的PowerPoint或HTML的讲稿利用Javascript语言关联起来,以便客户端点播时的同步播放。教师只需要提供资源的存放地址(可以是URL)地址,和同步播放关系(例如播放的前后次序等等),利用本工具可以自动生成对应的Javascript脚本,并上传到服务器的指定目录中。同时,在指定的HTML文件中自动生成一条点播链结。

网络课程开发工具基本的开发思想是:通过与资源库系统和题库系统集成,利用资源库和题库中已有的媒体素材和各种类型的题目,教师可根据需要在教学模板库中选择合适的教学模板,在学生模板库中选择合适的学习者模板,通过写作模块编制出教学微单元,存放在教学微单元库。在编制的过程中,基本的教学内容通过教师与写作工具的交互输入。在使用这些教学单元时,教师或学习者通过浏览器从教学微元库中点播。

2.4教学资源管理系统

远程教学的基础是教学资源,为了更好地发挥网络远程教育的优势,将优秀教学资源划分成各种素材,进行系统化、科学化的分类,并以多媒体化的电子信息形式存储于各种数据库中,构建成统一的教学资源库,形成数字化的电子图书馆,为学习者提供内容丰富的优秀教学资源,使远程教育建立在丰富的教育资源基础之上,减轻任课教师建立大量教育资源的负担,减少学校之间的重复开发。

教学资源包括媒体素材库、试题素材库、案例库、网络课件库、网络课程库、文献资料库等。所有上述资源都分别建有其索引信息,以便快速地查询、浏览和存取,另外,资源的收集、编辑、修订等都是资料库能否得到充分利用的关键因素,需要一个强大的资源管理系统对它进行管理和支持。

教学资源管理系统主要功能是对各种教学资源进行采集、管理、检索和利用。它需要收集与管理五种类型的教学资源:媒体素材(包括文本、图形、音频、视频、动画)、试题素材、案例素材、课件素材、文档资料素材。教学资源库首先是按照学科来组织,其次按照素材类型来组织,每种类型的素材都需要标记不同的属性,便于归类存储和检索。

管理员教师学生系统管理资源审核资源发布资源检索系统管理用户管理计费管理学科课程资源管理试题案例媒体素材课件文献资源管理统计与分析试题素材管理案例素材管理媒体素材管理网络课件管理文献资料管理用户信息访问记录试题库案例库媒体素材库音频、视频、动画图形、文本网络课件库文献资料库 图3 资源管理系统结构示意图

1、资源服务

用户在客户端通过浏览器访问系统资源,系统应为用户提供如下功能: 资源检索:输入查询条件,查询出所需资源,使用资源。资源发布:通过网络上载资源,将资源在网上在线发布。

资源审核:对用户所上载的资源作审核处理,保留合理内容,删除不合适的资源。系统管理:对资源的使用情况作跟踪记录,对资源的访问与使用情况作统计与分析,对收费内容自动计算收费记录。用户管理也是系统管理内容,由于共用教学管理系统中的用户模块,所以在上图中以虚线表示。

2.系统管理

系统既要实现对资源的管理,还要实现对用户的管理。其功能分别如下:

用户管理功能:具备用户注册、添加用户、删除用户、设置用户权限等多项功能,但共用教学管理系统中的用户模块,也就是说,Vclass系统中的注册用户能够自动使用本资源库。计费管理:计费管理系统可实现计费系统运行管理,以及系统和用户帐单的查询与统计,包括:支持多种计费源的数据处理以及计费功能,例如基于教学内容(网络课程、素材内容、考试等)的计费、基于学习时间的计费、基于多媒体流量的计费、针对电话拨号的计费、电子邮件系统的计费、Proxy系统的计费功能等;

计费系统关系重大,必须考虑系统可运行多个计费版本,系统配置灵活,支持对计费项目、折扣策略、计费源、计费时间段,传输区间等主要计费参数的定义和更改;设计分布式的各数据源自动数据获取、分析和预处理,并采用必要的系统备份;用户费用需要逐步做到实时自动更新和控制等。

统计与分析:用户的各种帐号、资源的使用情况以及计费信息均保存在数据库中,并提供多种数据报表,方便用户自我服务,同时也方便管理员进行各种评估、分析,如使用频率最高的资源、使用资源最多的用户等等。

3.资源管理

各种资源按照其物理形态分类存储,并进行不同的属性标注。按资源类型划分,可分为媒体素材、试题、网络课件、案例、文献资料等多个管理模块。资源管理系统的主界面如下图所示:

图4 资源管理系统主界面

尽管这些模块的具体数据形态与属性不尽相同,但基本功能与实现是相似,都具有如下功能:

(1)使用资源

浏览:信息呈现的方式是决定用户能否方便地浏览信息并迅速找到自己所需要信息的关键因素。由于资源库涉及到的资源种类很多,且每一种类又包括不同的学科类型,所以用户不可能同时浏览本系统中的所有信息资源,为了解决这个问题,我们采用了信息分级呈现的方式,即用户先选择所要浏览的信息类型(如网络课件、媒体素材),然后选择信息的子类型(如视频、动画等)。对本系统来说,浏览其实也是一种查询,对不想输入任何检索词的用户,选择浏览方式就可直接查询数据库的内容。

资源下载:用户可将自己需要的信息从资源库下载到本地计算机的硬盘上。使用跟踪:系统自动记录资源的使用情况,如浏览次数、下载次数等。(2)检索资源

单键查询:对于文本素材,也就是关键词的全文检索功能;对于其它类型的素材,则以布尔逻辑查询所有类型匹配的属性字段。

检索引擎:素材检索引擎功能还包括:布尔查询、关联查询的段落定位查询、精确查询、模糊查询并支持通配符。

多媒体检索:多媒体素材应集成多媒体音频影像查询技术,例如可采用“关键帧捕获”技术,根据多媒体资料中场景的变化自动选择出关键帧,用于预览或建立索引。

导航与预览:系统要具备良好的导航结构。检索出的资源,可以进行在线预览。(4)资源录入与发布

资源批量入库:一次将多个具有相同属性的资源加入资源库中。

资源单个入库:一次将一个经过审核的临时库中的资源加入正式资源库中。远程提交:用户可远程提交素材(用户可通过互联网络远程上载素材)。(5)资源的搜集与整理:

资源自动搜集:系统可根据管理员的信息检索要求,自动在Internet网上搜集信息。资源自动整理:系统可对收集到的信息进行自动文摘、自动提取关键词、自动建立索引。(6)资源审核

审核:查看用户上载的资源,并标记不合格的资源,确认合格的资源。删除和修改资源:允许管理员删除和修改资源库中不合格的记录。

三、用户功能与主控界面

本系统针对三类用户,一是学生,二是教师,三是系统管理人员,每类人员在本系统中所能使用的功能如下图所示:

注册认证学生浏览课程内容设自置适多应重学学习习内容1设置适应机制点播流媒体课程2接受视频广播制作流媒体课程设置广播对象远程组卷联机考试联机判卷联机自测布置作业提交作业批阅作业设添统置加计组试与卷题分策析略学习进度管理个别辅导协作监控疑难解答成绩管理课堂笔记本管理个人学习情况查询提出疑问检索问题答案解答问题管理问题资源345参与同步or异步讨论管理讨论话题做虚拟实验设计虚拟实验发布课程内容开发课程内容制作课程模板制作课程素材检索课程素材加入课程素材素材库管理6789教师专业设置管理课程设置管理课程内容发布教学计划发布选课管理学生学籍档案管理教师档案管理信息查询数据统计与分析行政公文管理教师评价管理学生学习评价管理系统配置与管理计费管理安全管理数据备份管理注释1.适应性学习系统2.流媒体授课系统3.测评系统4.学习管理系统5.自动答疑系统6.师生交互工具101112注释7.虚拟实验系统8.网络课程开发工具9.教学素材管理系统10.专业与课程管理11.教务管理12.系统管理管理员

图5 用户功能结构示意

学生登录进本系统后,其主控界面如下图所示:

图6 学生主控界面

学生点击课程名称,便可以进入课程学习主界面,左侧是教学系统提供的功能菜单,右侧是课程内容学习界面。

图7 课程学习主界面

图8 教师主控界面

教师登录到本系统后,其主控界面如图8所示。

网络教学支撑系统开发的首要要求是模块化开发,要具备很强的可伸缩性,既可以用于广域网内大范围的网上教学,也可以根据各级各类学校的需要,进行模块化组合,应用于校园网内;其次是开放性,该系统要能够支持不同课件开发环境,能够支持第三方的课件开发工具开发的网上课程。

第五篇:封装与部署研究论文

前言 :从Windows95到现在的Windows Vista,Windows优秀的图形界面和可操作性,赢得了目前广泛的使用人群。虽然Windows各方面性能,特别是稳定性方面,依然有所不及Unix、Linux这些高稳定性的系统,但是它仍然不可否认的成为当前使用范围最广的操作系统。

但是Windows发展了整整10于个年头,虽然Windows的性能在不断增强和完善,但是系统安装的速度依然是十分缓慢且让人头疼。虽然2006年底推出的Windows Vista凭借微软的新技术ImageX,可以在短短20分钟内安装10几G左右的文件,但是由于Windows Vista对计算机硬件要求较高,软件兼容性尚不理想,所以未得到最好的普及,目前使用最广泛的Windows操作系统,依然是Windows Xp。

Windows Xp 的安装时间在约20~30分钟左右,这还不算更新Windows安全补丁、系统优化以及软件安装的时间,平均来算,要完全安装一个可用的(包含常用补丁和软件,以及必要的系统优化)Windows Xp操作系统,至少需要1个小时左右的时间。

对于做硬件维护的人们来讲,系统的这个安装和调试时间无论如何都是不能被很好接受的事实。即使硬件维护人员可以勉强接受这个安装时间,很多情况下,要使用计算机来办公的人员更难接受这个漫长而浪费时间的过程。这的确和高效率的社会结构不符,和高节奏的社会工作生活更不相符。

一直在探寻一种方法,在于如何高效的进行系统的维护乃至重新安装,如何把原来近1小时才能完成的繁杂工作控制在15分钟以内完成。

为解决系统安装过于繁杂耗时的问题,我首先考虑到的是利用微软自己的所谓“封装部署工具”(Sysprep)。

所谓封装部署,是微软为大企业用户提供的一种结构化的部署操作系统的工具。可以在一台计算机上把已经做好各种调试的系统进行再封装,封装完毕的系统,可以部署到其他计算机中,部署时间相当的短,大概仅仅5~6分钟,极大的提高对计算机系统的维护效率。

但是封装部署是有条件的,即仅适用于封装的源计算机和用于部署的目标计算机必须具有相同硬件抽象层(HAL),即不相同硬件配置的机器不能互相部署对方机器上封装好的操作系统,这样就会对当今繁杂的计算机硬件配置中进行封装和部署造成极大的障碍。

通过对微软的操作系统Longhron各内测版本进行启动过程的跟踪,发现微软在Longhron启动参数中提供了/detecthal 接口,依靠这个接口,我们可以让计算机在启动时自动检测硬件抽象层(HAL),通过了这个检测,封装完的系统在部署到不同的计算机中时,就不会出现由于硬件抽象层(HAL)的不同而造成的系统在部署过程中由于对硬件的依赖而造成的种种非正常运行。

这个研究成功后,一个被调试好的系统(包括系统补丁追加、系统优化、常用软件安装)可以在进行封装后,高效的部署到任何硬件配置的其他计算机上,极大的缩短进行计算机维护的时间,极大的提高计算机维护的效率。

1.Base 基本封装与部署的实现

1.1系统的封装与部署

系统的封装与部署,这个概念出自Microsoft(微软)。在Microsoft的Windows系列系统光盘中,包含企业部署工具(Deploy.cab),Deploy中包括了几个可供管理员和 IT 专业人士用来将 Windows 部署到组织中多台计算机上的工具。

Deploy.cab包括:Setupmgr.exe、Sysprep.exe、Cvtarea.exe、Oformat.com。

Setupmgr.exe,中文译为:安装管理器,为预安装 Microsoft 操作系统和各种应用程序自动创建和修改分布共享的向导。简单来说,这个工具主要是用来自动创建安装Windows操作系统的自动应答文件,可以让系统的安装做到“无人职守”,即在系统的安装过程中,无需任何人为的干预。

Sysprep.exe,中文译为:系统准备,准备计算机硬盘,以便进行磁盘复制、审核并交付客户。在分发前必须运行 Sysprep 以重新封装计算机。Sysprep 包含下列组件:Sysprep.exe、Setupcl.exe、Factory.exe、Sysprep.inf 和 Winbom.ini。应用程序文件(Sysprep.exe、Setupcl.exe 和 Factory.exe)是必需的,而且它们互相依存。简单来说,这个工具用于重新封装已经在计算机上安装好的系统,封装完毕的映像可以通过介质复制到其他计算机上,当获取封装好的映像的计算机启动时,Sysprep.exe将调用%Windir%System32setup.exe在获取映像的计算机中重新部署系统。这种部署类似于直接安装系统,但是速度要比正常安装快许多倍。

Cvtarea.exe,一个用于在 FAT32 或 FAT 文件系统上创建文件并分析那些文件放置情况的灵活工具。使用 Cvtarea 工具,您可以创建连续的文件并将其放在磁盘上的特定位置。

Oformat.com,创建 FAT32 卷,该卷中的簇以某种优化方法取整,以便在以后将其转换为 NTFS 文件系统格式。

总体而言,随着技术的发展,可以替代Cvtarea.exe和Oformat.com的工具出现了许多,Setupmgr.exe用于生成无人职守安装应答文件,Sysprep.exe是用于系统封装的主要工具。

1.2 Setupmgr

获得封装好的系统映像的计算机,第一次启动时,将会自行进行系统部署,系统部署过程中,会提问用户有关产品密钥、时区、计算机名称、管理员密码等等,这个和普通的系统安装的步骤一样(当然,比普通安装快速的多),每次都去输入这些,无非会降低工作效率。

利用Setupmgr.exe,可以为系统部署创建一份自动应答文件,当系统部署时碰到各种需要用户来确认的信息时,直接去这份自动应答文件中寻找预先规定好的答案,而无需提示用户输入。

Setupmgr.ex的使用方法十分简单,安装提示一步步写下去即可。

写完后,即可单击“完成”,这样就可以完成所有有关无人职守安装模式的设定了。设定完成后,系统会自动生成Sysprep.inf文件,这个文件中记录了所有有关自动应答的答案。

部署时,sysprep.inf置于%systemdrive%Sysprep文件夹中,即可执行无人职守的部署安装。

1.3 Sysprep

1.3.1系统封装部署基本流程

一般流程为:

1>常规安装Windows到被设置为启动的硬盘的第一分区(一般为C盘);

2>对系统做应有的系统补丁添加、驱动安装、系统优化调整、常用软件安装等;

3>在C盘根目录下创建Sysprep文件夹,放入企业部署工具(Deploy.cab)中的相应各文件;

4>使用Setupmgr.exe创建自动应答文件;

5>运行Sysprep.exe来封装当前系统为系统映像;

6>关闭计算机,利用第三方软件复制下这个系统映像(C盘全部),一般使用GHOST;

7>利用网络或其他介质(光盘)复制该映像到其他计算机进行部署。

1.3.2 系统封装

做完上节中步骤的前4步,就可以进行对系统的封装了,运行C盘根目录下创建Sysprep文件夹中的Sysprep.exe,进入一下界面:

这是一个很简洁的界面,背后却包含着很高的技术含量。

“不重置激活的宽限期”,将以当前系统的激活剩余时间为主,做封装的系统是如果是免激活的Windows,这一项应选中。

“使用最小化安装”,在Xp以后的版本中,系统可以以“欢迎使用”方式安装,也可以使用经典的2000模式即“最小化安装”模式进行安装,一般选中“使用最小化安装”。

“不重新产生安全标识符”,即不重新产生SID,以当前系统的SID为准,这会一定程度的加快封装部署速度,但是会令部署后的系统产生不稳定,不建议选中。

“检测非即插即用硬件”,这会令系统强行检测非即插即用硬件,不建议选中。

“关机模式”,用来设定执行完封装以后要执行什么,有“关机”、“重新启动”和“退出”三种模式。

选择完毕后,单击“重新封装”,Sysprep将当前系统自动封装为系统映像。

系统映像封装完毕后,无论是自动还是手动,重启计算机后,直接用带GHOST工具的光盘由光盘直接启动计算机,使用GHOST备份当前C盘系统磁盘映像。

备份完毕后,我们就得到了可以用来部署在其他计算机上的系统映像了。使用光盘或者网络等介质,将这个磁盘映像再次使用GHOST恢复在其他计算机的C盘上,被恢复的计算机启动时会自动开始部署系统。

1.4 综述

本章主要陈述了关于Windows操作系统的基本封装与部署的实现,微软的企业部署工具的效率和自动化程度相当高,封装和部署过程都比较简单。

但现在有一个很重要的问题,按照微软企业部署工具中Deploy.chm中的简述,企业部署工具对于源计算机和目标计算机需要有相同HAL(硬件抽象层)。

所谓HAL,是由硬件制造商提供的一种薄层软件,为操作系统高层隐藏或抽象硬件差异。通过 HAL 提供的筛选器,不同类型的硬件看起来与操作系统其余的硬件很相似。这样允许操作系统从一个硬件平台移植到另一个硬件平台。HAL 还提供了允许单个设备驱动器在所有的平台上支持同样设备的例程。

封装好的系统在部署到硬件配置差异较大的计算机中时,特别是跨平台的计算机(Intel CpU Intel主板做的映像部署到AMD CpU nVIDIA主板上时),会由于HAL的差异而造成各种各样的不稳定乃至挡机,这就和要运用封装部署方式来快速安装系统的初衷不一致了。如果不能有良好的兼容性,即使能快速安装系统也完全是徒劳。

在随后的一章里,将完美解决这个问题,让对硬件平台有依赖的系统封装部署,变为只对硬件配置没有依赖的“万能的”封装部署。

2.Unlimited万能封装与部署的实现

2.1 突破硬件限制的三个问题

2.1.1计算机电源管理模式

不同计算机的电源管理是不一样的,共有Standard、ACpI Uniprocessor、ACpI Multiprocessor、MpS Uniprocessor、MpS Multiprocessor、Compaq Systempro、ACpI这7种,这7种电源管理模式分别适用于7种类型的计算机。

截止Windows Server 2003的企业部署工具,运用SYSpREp有一个限制,就是仅适用于用于封装的源计算机和进行部署的目标计算机必须具有相同硬件抽象层(HAL)。

没有相同的HAL,会造成电源管理模式不能正确判断。网络中提出了不用的HAL检测解决方案,如ACpI封包、死性不改的电源模式等等。但是这些都不能做到100%的电源判断正确,而且检测会需要额外的文件,并且可能多次重启计算机,耗费了时间。

问题1,怎么让Sysprep突破不能自动检测电源管理的限制?

2.1.2计算机硬盘

计算机硬盘的发展可谓迅速。容量的提升,个人计算机硬盘容量从97年以前的个位数容量,突破到2007年现在的三位数容量。硬盘接口也一直在改变,从IDE到SATA,再从SATA到SATAII,从前一直在服务器上使用的SCSI磁盘技术和RAID磁盘阵列技术也渐渐的被使用到个人计算机中。(IDE属于并口硬盘,SATA和SCSI都属于串口硬盘,RAID属于硬盘阵列技术)。

在部署过程中,由于磁盘类型不同,需要不同的硬盘驱动(一般都是关于串口磁盘和磁盘阵列的驱动)。如果部署过程中不能正确加载硬盘驱动,则会造成不能进入系统甚至不能启动。

问题2,如何突破S&R&S(SATA & RAID & SCSI)硬盘类型的限制?

2.1.3驱动残留

进行封装的源计算机如果和进行部署的目标计算机硬件差异很大,例如AMD CpU nVIDIA主板的源计算机做的系统映像部署到Intel CpU Intel主板的机器上,在源计算机上装载的驱动程序肯定是在目标计算机上用不到了。即使目标计算机和源计算机硬件差异不大,但硬件技术差异很大,例如Intel CpU Intel主板的源计算机做的系统映像部署到Intel CpU Intel主板的机器上,源计算机为Intel 865主板,而目标计算机为945主板,源计算机上的驱动也是铁定用不到的。

这些驱动的残留不仅仅是会留下系统垃圾的问题,如果源计算机上的驱动自动强行去识别目标计算机上的硬件,很有可能会造成系统的不稳定乃至蓝屏崩溃。

问题3,如何突破不同硬件驱动冲突的限制?

2.2 突破HAL限制

2.2.1 Longhorn的启示

Windows Server 2003之前,Sysprep受到“必须源计算机与目标计算机有着相同的HAL”的限制,在HAL不相同的时候,不能正确判断计算机电源管理模式。

从2003年Windows Server 2003发布到2006年底Windows Vista的发布中的3年中,微软在研发Vista的时候,发布了以内部研发编号命名的Windows Longhorn测试版。

Windows Longhorn与以往的Windows在启动时有着一定的区别。

第一,NTLDR 有一定区别,提供了“/detecthal” 接口;

第二,BOOT.INI也支持“/detecthal”参数,以实现与NTLDR的结合;

第三,INF文件夹中有了“dtecthal.inf”,提供各种HAL类型检测的参数说明。

有了这三个文件,可以让计算机在开机启动时即自动检测 HAL,从而可以自动判断电源管理选项。

2.2.2 移植Longhorn的HAL判断

现今大多数人还是以使用Windows 2000/Xp为主,所以,即使Longhorn的HAL判断再怎么强悍,不能移植到2000/Xp中,也就不能使用。

以下是在2000/Xp总移植并使用Longhorn的HAL判断的具体方法:

1>从系统中提取相应的HAL文件包:(WIN2000在Sp4.CAB、WINDOWS Xp Sp2在Sp2.CAB中)

halacpi.dll

halapic.dll

halmps.dll

halaacpi.dll

halmacpi.dll

hal.dll

ntkrnlmp.exe

ntkrnlpa.exe

ntkrpamp.exe

ntoskrnl.exe

提取完毕后将hal.dll更名为halstnd.dll,ntoskrnl.exe更名为ntkrnlup.exe;

2>将上述相应的HAL文件包拷贝到准备封装的系统的%Windir%SYSTEM32下;

3>将Longhorn的“dtecthal.inf”拷贝到准备封装的系统的%Windir%INF下;

4>修改C:BOOT.INI

在准备封装的系统后面加上 /DETECTHAL参数如:

[boot loader]

timeout=0

default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS

[operating systems]

multi(0)disk(0)rdisk(0)partition(1)WINDOWS=“Microsoft Windows Xp professional” /fastdetect /detecthal

5>将LONGHORN版本的NTLDR拷贝到从C:,覆盖原有的NTLDR;

6>删除准备封装的系统的HAL信息,删除注册表中以下键值,如果提示权限不足不能删除,则可用setacl.exe来修改权限再删除。

HKEY_LOCAL_MACHINESYSTEMControlSet001EnumACpI_HAL

HKEY_LOCAL_MACHINESYSTEMControlSet001EnumRootACpI_HAL

HKEY_LOCAL_MACHINESYSTEMControlSet002EnumACpI_HAL

HKEY_LOCAL_MACHINESYSTEMControlSet002EnumRootACpI_HAL

HKEY_LOCAL_MACHINESYSTEMControlSet003EnumACpI_HAL

HKEY_LOCAL_MACHINESYSTEMControlSet003EnumRootACpI_HAL

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetEnumACpI_HAL

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetEnumRootACpI_HAL

至此,突破了HAL限制的系统就已经准备完毕。由于这个技术本身就出自微软,所以对电源管理的判断几乎是100%。

突破HAL限制的系统可以部署在任何HAL环境的计算机上,不再有“源计算机和目标计算机需有相同的HAL”的限制。

2.1.1节中提出的问题完美解决

2.3 突破S&R&S 硬盘限制

确定目标计算机上可能用到的所有大量存储控制器,对于可能存在于目标计算机上的每个大量存储控制器,创建其硬件 ID 的列表。

2.3.1对于在 Windows 产品 CD 中提供的大量存储控制器

可以创建具有以下部分的 Sysprep.inf 文件:

[SysprepMassStorage]

hardware_id = path_to_device_inf

其中:

hardware_id

在设备的.inf 文件中指定的即插即用 ID。

path_to_device_inf

.inf 文件的路径,该文件中包含待安装控制器的即插即用 ID。

例如,要支持 Windows Xp 自带的不同 IDE 控制器(pCI 和 Intel),该部分如下所示:

[SysprepMassStorage]

pCIVEN_8086&DEV_1222 = “%WINDIR%infmshdc.inf”

pCIVEN_8086&DEV_1230 = “%WINDIR%infmshdc.inf”

pCIVEN_8086&DEV_7010 = “%WINDIR%infmshdc.inf”

pCIVEN_8086&DEV_7111 = “%WINDIR%infmshdc.inf”

pCIVEN_8086&DEV_2411 = “%WINDIR%infmshdc.inf”

pCIVEN_8086&DEV_2421 = “%WINDIR%infmshdc.inf”

pCIVEN_8086&DEV_7199 = “%WINDIR%infmshdc.inf”

2.3.2 对于 Windows 产品 CD 上没有提供的大量存储控制器

将目标计算机上的大量存储控制器的驱动程序文件复制到您计算机上的文件夹中 – 例如,复制到主计算机硬盘驱动器上的 %SYSTEMDRIVE%pnpdrvrsstorage 中。

按以下格式向 [SysprepMassStorage] 部分中添加几行内容:

hardware_id = path_to_device_inf, disk_directory, disk_description, disk_tag

其中:

hardware_id

在设备的.inf 文件中指定的即插即用 ID。

path_to_device_inf

.inf 文件的路径,该文件中包含待安装控制器的即插即用 ID。

disk_directory

第三方提供的软盘上的文件夹名称,该文件夹中包含大量存储驱动程序的副本。

disk_description

在第三方提供的 Txtsetup.oem 文件中指定的软盘说明。

disk_tag

在第三方提供的 Txtsetup.oem 文件中指定的软盘的磁盘标记。

将驱动程序文件放置到由 Sysprep.inf 中 [SysprepMassStorage] 部分指定的位置。例如,要支持新的 Qlogic 驱动程序,如果将文件复制到 C:DriversStorage 文件夹,则添加如下行:

[SysprepMassStorage]

pCIVEN_1077&DEV_1080 = “C:DriversStorageqlogicqlogic.inf”, “C:DriversStorageqlogic”, “Qlogic Software Disk”, “C:DriversStorageqlogicqlogic 2.3.3 突破S&R&S实例

1>收集需要的srs驱动,方便期间,直接下载DpS提供的massstorage 驱动:

http://www.xiexiebang.com

D:ES Sysprep Setupcl.exe

D:ES Sysprep Sysprep.exe

D:ES Sysprep Sysprep.inf

D:ES Sysprep SetACL.exe

D:ESSysprepAutoSysprep.cmd

D:ESSysprepcmdline.reg

D:ESWINDOWS inf dtecthal.inf

D:ESWINDOWS system

32D:ESWINDOWS system32 halaacpi.dll

D:ESWINDOWS system32 halacpi.dll

D:ESWINDOWS system32 halapic.dll

D:ESWINDOWS system32 halmacpi.dll

D:ESWINDOWS system32 halmps.dll

D:ESWINDOWS system32 halstnd.dll

D:ESWINDOWS system32 mscomctl.ocx

D:ESWINDOWS system32 ntkrnlmp.exe

D:ESWINDOWS system32 ntkrnlpa.exe

D:ESWINDOWS system32 ntkrnlup.exe

D:ESWINDOWS system32 ntkrpamp.exe

D:ESWINDOWS AllUsrRun.cmd

D:ES Drivers

D:ES bootL.ini

D:ES ntldrL

说明:

1>ES文件夹模拟C盘根目录,所有文件排布和此后要复制到C盘中的排布是一样的;

2>Sysprep中的所有文件在第一章中介绍过,Sysprep文件夹将在系统部署最小化安装时自动删除,SetACL.exe是提升权限以修改注册表的工具,AutoSysprep.cmd是自动进行封装所用的批处理,cmdline.reg将在3.2.3中详细说明;

3>inf和system32文件夹中的各文件在第二章中介绍过,用于Longhorn的自动HAL判断;

4>AllUsrRun的用处后面详细介绍;

5>bootL.ini是为HAL自动判断所写好的boot.ini文件,内容为:

[boot loader]

timeout=30

default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS

[operating systems]

multi(0)disk(0)rdisk(0)partition(1)WINDOWS=”Microsoft Windows Xp professional" /fastdetect /detecthal

6>ntldrL是Longhorn的系统引导文件,同样用于自动HAL判断。

7>Drivers中放置串口磁盘和磁盘阵列驱动

文件打包:

选择最常用的压缩工具WinRAR来进行打包ES文件夹中的所有文件,设定默认解压缩路径为C:并且设置解压模式为“隐藏启动对话框”和“覆盖所有文件”,这几个选项的设定可以保证文件不会复制到错误的位置。

3.2.2 自动封装的实现

AutoSysprep.cmd的内容如下(以封装Xp系统为例):

rem 自动封装,静默模式、最小化、不重置激活事件、清空事件查看器日志、不重启计算机

start /wait c:sysprepsysprep.exe-quiet-mini-activated-reseal-noreboot

rem 导入cmdline.reg键值(3.2.3中介绍)

start /wait regedit.exe /s c:Sysprepcmdline.reg

rem 取消Xp的ntldr权限,改名为ntldrXp,再恢复其权限

attrib c:ntldr-h-s-r

ren c:ntldr ntldrxp

attrib c:ntldrxp h s r

rem 取消Longhron的ntldrL的权限,改名为ntldr,再恢复其权限

attrib c:ntldr1-h-s-r

ren c:ntldr1 ntldr

attrib c:ntldr h s r

rem取消Xp的boot.ini权限,改名为bootXp.ini,再恢复其权限

attrib c:boot.ini-h-s-r

ren c:boot.ini bootxp.ini

attrib c:bootxp.ini h s r

rem 取消Longhron的bootL.ini的权限,改名为boot.ini,再恢复其权限

attrib c:boot1.ini-h-s-r

ren c:boot1.ini boot.ini

attrib c:boot.ini h s r

rem 进入Sysprep文件夹内

cd

cdsysprep

rem 使用SetACL来取消有关源计算机HAL的注册表信息的权限,以便随后的修改

setacl MACHINESYSTEMControlSet001EnumACpI_HAL /registry /grant everyone /full

setacl MACHINESYSTEMControlSet001EnumRootACpI_HAL /registry /grant everyone /full

setacl MACHINESYSTEMControlSet002EnumACpI_HAL /registry /grant everyone /full

setacl MACHINESYSTEMControlSet002EnumRootACpI_HAL /registry /grant everyone /full

setacl MACHINESYSTEMControlSet003EnumACpI_HAL /registry /grant everyone /full

setacl MACHINESYSTEMControlSet003EnumRootACpI_HAL /registry /grant everyone /full

setacl MACHINESYSTEMCurrentControlSetEnumACpI_HAL /registry /grant everyone /full

setacl MACHINESYSTEMCurrentControlSetEnumRootACpI_HAL /registry /grant everyone /full

rem 删除源计算机的HAL注册表信息

reg delete HKEY_LOCAL_MACHINESYSTEMControlSet001EnumACpI_HAL /f

reg delete HKEY_LOCAL_MACHINESYSTEMControlSet001EnumRootACpI_HAL /f

reg delete HKEY_LOCAL_MACHINESYSTEMControlSet002EnumACpI_HAL /f

reg delete HKEY_LOCAL_MACHINESYSTEMControlSet002EnumRootACpI_HAL /f

reg delete HKEY_LOCAL_MACHINESYSTEMControlSet003EnumACpI_HAL /f

reg delete HKEY_LOCAL_MACHINESYSTEMControlSet003EnumRootACpI_HAL /f

reg delete HKEY_LOCAL_MACHINESYSTEMCurrentControlSetEnumACpI_HAL /f

reg delete HKEY_LOCAL_MACHINESYSTEMCurrentControlSetEnumRootACpI_HAL /f

rem 以下用于Intel CpU Intel 主板的源计算机,Intel的这两组键值容易造成部署到非Intel硬件计算机中的蓝屏事故

rem使用SetACL来取消有关当前Intel 主板的注册表信息的权限,以便随后的修改

setacl MACHINESYSTEMControlSet001ServicesIntelIde /registry /grant everyone /full

setacl MACHINESYSTEMControlSet002ServicesIntelIde /registry /grant everyone /full

setacl MACHINESYSTEMControlSet003ServicesIntelIde /registry /grant everyone /full

setacl MACHINESYSTEMCurrentControlSetServicesIntelIde /registry /grant everyone /full

rem使用SetACL来取消有关当前Intel CpU的注册表信息的权限,以便随后的修改

setacl MACHINESYSTEMControlSet001Servicesintelppm /registry /grant everyone /full

setacl MACHINESYSTEMControlSet002Servicesintelppm /registry /grant everyone /full

setacl MACHINESYSTEMControlSet003Servicesintelppm /registry /grant everyone /full

setacl MACHINESYSTEMCurrentControlSetServicesintelppm /registry /grant everyone /full

rem 删除有关Intel主板的注册表信息

reg delete MACHINESYSTEMControlSet001ServicesIntelIde /f

reg delete MACHINESYSTEMControlSet002ServicesIntelIde /f

reg delete MACHINESYSTEMControlSet003ServicesIntelIde /f

reg delete MACHINESYSTEMCurrentControlSetServicesIntelIde /f

rem 删除有关Intel CpU的注册表信息

reg delete MACHINESYSTEMControlSet001Servicesintelppm /f

reg delete MACHINESYSTEMControlSet002Servicesintelppm /f

reg delete MACHINESYSTEMControlSet003Servicesintelppm /f

reg delete MACHINESYSTEMCurrentControlSetServicesintelppm /f

3.2.3 部署过程的调整

部署过程,其实就是系统映象恢复到目标计算机上,目标计算机启动,系统会自动运行%windir%system32Setup.exe来部署系统。

如果我们想在Setup.exe前或者后运行点什么,该怎么办?例如,我们要在Setup.exe运行后将原来系统的ntldr和boot.ini恢复回来,而不是使用Longhorn的,怎么办?

经过对比封装前和封装后的注册表,发现目标计算机启动后,将要进行部署时并非是一定要运行%windir%system32Setup.exe,而是运行系统注册表中“HKEY_LOCAL_MACHINESYSTEMSetup”分支下的“CmdLine”键值所指定的应用程序。在系统封装完成时,“HKEY_LOCAL_MACHINESYSTEMSetup”分支下“CmdLine”键值被修改为“setup.exe”,这就是为什么目标计算机启动后会运行setup.exe来部署系统的原因。

我们自己写一个批处理,批处理的内容包括运行setup.exe和恢复原有ntldr、boot.ini,把这个批处理的名字定名为“AllUsrRun.cmd”,并且把“HKEY_LOCAL_MACHINESYSTEMSetup”分支下“CmdLine”的键值由“setup.exe”修改为“AllUsrRun.cmd”。这样源计算机启动的时候并非运行setup.exe来部署系统,而是运行AllUsrRun.cmd。

AllUsrRun.cmd的内容如下:

rem 把我们修改的CmdLine键值重新置空

reg delete HKEY_LOCAL_MACHINESYSTEMsetup /v cmdline /f

rem 部署系统,全新安装、最小化执行

setup.exe-newsetup –mini

rem 修改Longhorn的ntldr权限,并删除

attrib c:ntldr-h-s-r

del c:ntldr

rem 修改先前备份的Xp的ntldrXp权限,改名回ntldr,恢复权限

attrib c:ntldrXp-h-s-r

ren c:ntldrXp ntldr

attrib c:ntldr h s r

rem 修改Longhorn的boot.ini权限,并删除

attrib c:boot.ini-h-s-r

del c:boot.ini

rem 修改先前备份的Xp的bootXp.ini权限,改名回boot.ini,恢复权限

attrib c:bootXp.ini-h-s-r

ren c:bootXp.ini boot.ini

attrib c:boot.ini h s r

rem修改多启动菜单等待时间为5秒

bootcfg /timeout

5这样部署过程就被我们调整的如我们所愿了。

3.3 综述

经过3.2节中的几步,自动封装和部署基本被我们实现。

3.1.2中[封装]段的步骤被简化为:

1>运行自动解压缩,把文件解压到相应位置;

2>卸载驱动,手动修改IDE控制器和计算机电源管理;

3>运行%systemdrive%Sysprep文件夹中的AutoSysprep.cmd封装系统;

4>重启计算机,使用GHOST备份系统映象。

3.1.2中[部署]段的步骤变为:

1>恢复系统映象到目标计算机;

2>目标计算机启动,自动运行AllUsrRun.cmd部署系统并还原系统原始的ntldr和boot.ini。

如此以来,系统封装将变的十分简单,不仅给多次测试封装系统带来很大的方便,还能让没有太多封装经验的人迅速封装系统。

系统自动化封装和部署完美实现。

结论

全文分3章讲述了封装部署方法快速安装和部署操作系统的方法。

从第一章的基本实现到第二章的万能实现,再到第三章自动实现,一步步实现了从最基本封装部署到全自动封装部署。

从覆盖面上讲,从最原始的微软所规定的“源计算机与目标计算机必须有相同的HAL”到最终的任意HAL源计算机部署到任意HAL目标计算机,覆盖面被有效的提高。理论上讲,部署方法,可以适用于任何计算机。

从易用性上讲,从最早的手工复制文件、手工修改注册表、手工修改各种配置文件,到最终的“Easy Sysprep”只需在图形界面设置好然后单击一下“开始封装”即可封装系统,不可说不是个比较大的进步和跨越。

经过本文中3章的研究工作,封装部署已经变的拥有更大的适用性并拥有更简单的可用性,系统封装部署这种可以有效的提高计算机维护人员工作效率的方法,必将得到最广泛的认可与应用 作者: roar 版权所有

下载便携式侦察机的总体设计与研究论文5篇word格式文档
下载便携式侦察机的总体设计与研究论文5篇.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    职业教育调查与职业教育研究论文

    当前,我国正在开展由“应试教育”向素质教育转变的教育改革。因此,素质教育成为全社会普遍关注的焦点,更是高职院校深入探讨的重要课题。但是当前一些素质教育的理论知识并......

    教育研究与论文简答(★)

    教育研究与论文简答与论述题。 1.学前教育研究的意义。 1开展学前教育科研,为深化学前教育改革提供科学依据。2探索学前教育规律,为学前教育实践提供理论指导。3丰富学前教育......

    中国特色社会主义理论与实践研究论文

    建设生态文明的重要性和必要性分析 (昆明理工大学环境科学与工程学院马贵鹏2013207037) 摘要:2012年11月,党的十八大从新的历史起点出发,做出“大力推进生态文明建设”的战略决策......

    职业教育调查与职业教育研究论文

    浅谈职业技术院校计算机应用技术专业职业教育改革论文关键词:职业教育改革 计算机应用技术专业 就业引导 论文摘要:根据我国职业技术院校的性质,职业技术院校计算机应用技术......

    海商法论文研究与分析

    海商法论文 试论海商法的调整对象 作者 倪学伟 提 要 我国是世界十大航运国之一,远洋运输在我国对外贸易中占居重要位置。1993年7月1日起生效的《中华人民共和国海商法》,是近......

    汽车保险与理赔论文汽车物流论文汽车发展论文:高职汽车保险与理赔课程教学的总体设计

    汽车保险与理赔论文汽车物流论文汽车发展论文: 高职汽车保险与理赔课程教学的总体设计 【摘要】将基于工作过程的课程开发理念与项目课程开发的思想有机结合,进行汽车保险与理......

    课题研究与论文研究的区别

    课题研究与论文研究的区别 科研行为的社会认可程度研究过程的可信程度研究成果的物化程度“乡镇中学数学研究性学习课程模式研究”阶段性成果:“高中数学研究性理论”论文、......

    教材研究与教育经验论文

    教材教法研究与教育经验总结 通辽市新世纪私立学校 梁毅轩 关键词:教材教法、教育经验总结 摘要:文章分为两个部分:教材教法与经验总结。其中,教材教法主要从备课和上课两个部分......