模块开发(共11篇)
模块开发 篇1
Digi International旗下的Rabbit品牌重点面向中国市场推出“Mini Core”系列网络连接模块。该“MiniCore”系列产品具有易于使用、体积紧凑、成本低廉和质量可靠等特点, 包括中文版的说明文件、一套用于Dynamic C开发软件的中文版图形用户界面 (GUI) 及本地技术支持。“Mini Core”系列产品具有可互相兼容的以太网与Wi-Fi无线网两个版本, 在开发之时就吸收了许多中国客户的需求意见, 因而可有针对性地帮助中国企业家和设计者将其开发的新产品快速推向市场。“Mini Core”系列产品体积还不到一张普通商务名片的二分之一, 但却为用户提供了灵活性, 可以随时随地将有线或无线网络连接装置接入到产品上。本次推出的RCM5700价格只有20美元, 可以降低笔记本网卡的成本, 后续的RCM5600W无线网卡模块的价格也不会高于50美元。
“Mini Core”系列产品是实时控制、通讯与网络连接应用程序的良好选择, 例如能源管理系统以及智能建筑物自动控制系统。它配置了32个通用输入输出端口、6个串行端口和一个Rabbit 5000微处理器。这些特点使其成为超小型产品中较具成本效益的网络连接解决方案, 既可用于网络连接也可用于控制。以太网版本的“MiniCore”家族的体积较小, 仅为31mm×51mm, 高度仅为3mm。它采用超小型PC IExpress接口, 为用户提供了丰富的嵌入式产品的功能。该家族的产品包括接口相互兼容并且可互相替换的有线RCM5700和Wi-Fi无线RCM5600W。此外, 支持ZigBee和USB且接口可相互兼容版的产品现在也在开发中。系统开发商可以对Mini Core家族的产品进行方便地替换, 以适应任何特定应用程序的连接需要。具有几百种开发模型的Dynamic C低成本的开发工具包现在已经投放市场, 其配备了所有必需的软件和工具, 并且价格较为合理。
模块开发 篇2
一、效果预览1.在‘商品’菜单栏中添加‘仓库’的菜单组:
2.仓库列表:3.添加/编辑仓库二、添加菜单及创建数据表1.思路1)因为后台的菜单是加密了,网上有通过用户自定义目录的方式来添加后台菜单,不过讲得不够详细,没试成功=.=
于是我直接修改后台菜单的php,文件路径为:coreinclude_v5adminSchema.php
使用 dezender工具将这个文件解密,这里顺带说一下解密,如图:
选择 “解密内核3”,经测试,其他两个都不能正常解密php文件。
解密后的 adminSchema.php 文件中,有一个 $menu[‘goods‘] 的数组,这个就是后台的‘商品’菜单组了。
然后我在’商品‘管理这一个菜单组后面添加’仓库管理‘,如下:
代码如下:array( “type” =>“group”, “label” =>__( “仓库管理” ),
“items” =>array(
array(
“type” =>“menu”, 、
“label” =>__( “仓库列表” ),
“link” =>“index.php?ctl=goods/warehouse&act=index” ),
array(
“type” =>“menu”,
“label” =>__( “添加仓库” ),
“link” =>“index.php?ctl=goods/warehouse&act=addNew”)
)
)
其中 type=“group”表示这是一个菜单组,items 就是里面的子菜单。type=“menu”就是一个可以点击的菜单,如果添加target=“_blank”属性,就会以新开窗口的形式打开菜单链接。
2.准备数据库
代码如下:DROP TABLE IF EXISTS `hx_warehouse`;
CREATE TABLE `hx_warehouse` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(200) NOT NULL,
`information` varchar(255) DEFAULT NULL,
`disabled` enum(‘true‘,‘false‘) CHARACTER SET utf8 DEFAULT ‘false‘,
`data0` varchar(255) DEFAULT NULL,
`data1` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=gbk;
这里并没有使用 shopex 里面的前缀。
三、添加Model层
shopex 也是使用MVC分层结构,其中模型层位于:core/model 和 core/model_v5 这两个文件夹,_v5 就是php的版本在5以上时使用。
这里的仓库模块隶属于商品,所以我在 core/model_v5/goods 下新建一个 mdl.warehouse.php,注意命名格式,不然无法被检索到这个model。
里面为 mdl_warehouse 类,继承于 shopObject。也可以继承于 modelFactory,因为shopObject 也是modelFactory的子类。
如果对于 模型层这里不是很了解,可以解密其他的 mdl 文件来看看他们的结构。
下面是仓库模型类:
代码如下:/*********************/
/* */
/* Dezend for PHP5 */
/* NWS */
/*Nulled.WS */
/* */
/*********************/
include_once( “shopObject.php” );
class mdl_warehouse extends shopObject
{
public $idColumn = “id”;
public $adminCtl = “goods/brand”;
public $textColumn = “name,information,data0”;
public $defaultCols = “id,name,information,data0”;
public $tableName = “hx_warehouse”;
public function getHouseById($nLvId){
$aTemp = array( );
$aTemp = $this->db->select( “SELECT id,name,information,data0 FROM hx_warehouse WHERE id=”.$nLvId);
return $aTemp;
}
public function deleteById($id){
$sql = “delete from hx_warehouse where id=”.$id;
return $this->db->exec( $sql );
}
public function insertHouse($data){
$aRs = $this->db->query( “SELECT * FROM hx_warehouse WHERE id=0” );
$sSql = $this->db->getInsertSql( $aRs, $data );
return !$sSql || $this->db->query( $sSql );
}
public function updateHouse($aData){
$id = $aData[‘id‘];
$sql =“update hx_warehouse set name=‘”.$aData[‘name‘].“‘ , information=‘”.$aData[‘information‘].“‘”;
$sql.=“ , data0=‘”.$aData[‘data0‘].“‘ where id=”.$id;
return $this->db->query( $sql );
}
}
?>
四、添加控制层
后台的controller位于:coreadmincontroller
同样地,我们在 goods 这个目录下新建 ctl.warehouse.php
类中有两个属性:
代码如下:var $workground = ‘goods‘;
var $object = ‘goods/warehouse‘;//模型定位
代码如下:
代码如下:include_once(‘objectPage.php‘);
class ctl_warehouse extends objectPage {
var $workground = ‘goods‘;
var $object = ‘goods/warehouse‘;
public function index{
$houses = &$this->system->loadModel(‘goods/warehouse‘);
$list = $houses->getList();
$this->pagedata[‘list‘]= &$list;
$this->pagedata[‘house_count‘]=$houses->count();
$this->page(‘product/warehouse/map.html‘);
}
public function addNew(){
$this->page(‘product/warehouse/info.html‘);
}
public function edit($id){
$houses = &$this->system->loadModel(‘goods/warehouse‘);
$house = $houses->getHouseById($id);
$this->pagedata[‘house‘] = $house[0];
$this->page(‘product/warehouse/info.html‘);
}
public function deleteDo($id){
$this->begin(‘index.php?ctl=goods/warehouse&act=index‘);
$houses = &$this->system->loadModel(‘goods/warehouse‘);
if($houses->deleteById($id)){
$this->end(true,__(‘仓库删除成功‘));
}else{
$this->end(false,__(‘仓库删除失败‘));
}
}
public function addDo(){
if(empty($_POST[‘name‘])){
$this->splash(‘failed‘,‘index.php?ctl=goods/warehouse&act=index‘,__(‘请输入仓库名称‘));
exit;
}
$houses = &$this->system->loadModel(‘goods/warehouse‘);
if(empty($_POST[‘id‘])){
$info = “添加”;
$r = $houses->insertHouse($_POST);
}else{
$info = “修改”;
$r = $houses->updateHouse($_POST);
}
if($r)
$this->splash(‘success‘,‘index.php?ctl=goods/warehouse&act=index‘,__($info.‘仓库成功‘));
else
$this->splash(‘failed‘,‘index.php?ctl=goods/warehouse&act=index‘,__($info.‘仓库失败‘));
}
/**
* 设置商品仓库
* @param unknown_type $id
*/
public function count($id,$goodsName){
$houses = &$this->system->loadModel(‘goods/warehouse‘);
$list = $houses->getLogList($id);
$this->pagedata[‘gid‘] = $id;
$this->pagedata[‘houses‘] = $list;
$this->pagedata[‘goodsName‘] = $goodsName;
$this->singlepage(‘product/warehouse/count.html‘);
}
public function countDo($gid){
$this->begin(‘index.php?ctl=goods/product&act=index‘);
$houses = &$this->system->loadModel(‘goods/warehouse‘);
$list = $houses->getList();
foreach ($list as $key =>$h){
if(empty($_POST[‘count_‘.$h[‘id‘]]))
$size = 0;
else
$size = $_POST[‘count_‘.$h[‘id‘]];
$list[$key][‘size‘] = $size;
}
if($houses->updateHouseCount($gid, $list)){
$this->end(true,__(‘仓库库存修改成功,请关闭此窗口‘));
}else{
$this->end(false,__(‘仓库库存修改失败,请关闭此窗口‘));
}
}
}
?>
view 层位于:
coreadminview
仓库列表的html文件:
代码如下:<{area inject=“.mainHead”}>
<{t}>添加仓库<{/t}>(共有<{$house_count}>个仓库)
<{t}>序号<{/t}>
<{t}>编辑<{/t}>
<{t}>删除<{/t}>
<{t}>仓库名称<{/t}>
<{t}>说明信息<{/t}>
<{t}>附件属性[可选]<{/t}>
<{/area}>
<{foreach from=$list item=item name=“item”}>
“ class=”clear_cat row“ cid=”<{$item.id}>“>
<{$item.id}>
‘)”>
<{img src=“images/bundle/editcate.gif” border=“0” alt=“编辑” }>
‘,event)“>
<{img src=”images/bundle/delecate.gif“ border=”0“ alt=”删除“}>
<{$item.name}>
<{if $item.information}><{$item.information}><{else}><{/if}>
<{$item.data0}>
<{/foreach}>
view 层 可以参考原有的,因为html文件是开源的哈,
五、总结
模块开发 篇3
一、传授传统工艺美术艺术内涵
教师要想教好工艺模块课程,前提是要让学生对工艺美术的相关内涵进行了解。
传统工艺美术作品凝结了先人的心血。学生通过对工艺美术作品的鉴赏,除了能够了解相关制作工艺与实际用途之外,还能对当时的文化背景有一定的理解,能够在最大程度上激发学生学习工艺美术的兴趣。现如今,我国多数高中都在使用人教版高中《美术》教材进行授课,人教版美术课程“工艺模块”:内容丰富,主要内容是古代宫廷工艺与民间工艺的相关内容。教师可以利用具体课题来设计相关课程,例如,教师在传授《年画》这节课的时候,可以对课文上的内容进行适当的扩充来进行实际教学。年画和人们的生活息息相关,是学生在日常生活中能够接触到的工艺美术作品类型。中华大地幅员辽阔,每个地方的年画都有着不同的特点。当地年画都具有强烈的地方性。不管是什么地方的年画,都有一个共同点,那就是内容丰富,都寓意着吉祥。例如:鲤鱼跳龙门等。随着时代的发展,年画内容与题材和以往相比有了较为明显的不同,传统的年画以太上老君、灶王爷等神仙题材为主,现代年画主题种类繁多,有领袖人物、山水鱼鸟、军事新闻等,内容的变化从侧面反映出了我国人民意识形态的变化。内容的丰富性能够对学生创作年画的欲望加以全面激发,进而从根本上提升了学生的审美眼光。学生在学习年画的同时,对我国传统文化又有了更深层次的见解。
二、就地取材,补充美术工艺课程原材料
中国幅员辽阔,根据地方特色,教师在教学中可选取当地独有的材料为学生传授工艺美术相关课程。通过这种方式能够令学生真切感受到艺术来源于生活。利用地方资源,教师在授课时将原有的教学内容加以适当调整,这样做的根本目的在于能够更好地实现教学目标。以中国潍坊为例,教师们可通过下述方式对学生展开系统性的教学:(见表1)
三、在根本上提高学生制作技术
以风筝制作教学为例,教师进行实际教学,可先对学生讲述风筝的起源历史,并将中国风筝的发源地山东潍坊的风筝制作工艺补充到实际教学中来。学生通过教材上的内容和教师扩充的知识,能够将风筝的制作工艺理解得更透彻。
学生要学会就地取材,利用课堂上教师传授的教学方法设计出精美的风筝作品。制作风筝的前提是了解风筝的整体结构。最简单的风筝制作方法是:用竹签做成一个框架,然后再取两个竹签作为支架,缠线,即可完成。值得注意的是,制作风筝的时候要选择不易破碎的材料进行制作,例如表面光滑的丝料或者韧性强的纸张等。在制作的过程中要保证风筝的完整性,一旦发生破损现象,风筝就不能飞起来。风筝的尾部要选择质量轻的材料来进行制作,在风筝下端粘上尾巴的目的在于保证风筝的整体平衡,使之在空中更好控制。
如果觉得风筝太过素气,教师可以鼓励学生们对自己制作的风筝进行装饰,比如在做好的风筝上画画等。教师要让学生明白一点,无论是制作何种形状的风筝,保持风筝的完整性是制作风筝的前提条件。
四、扩展学生视野,激发学生的创造能力
每一件优秀的工艺美术作品都蕴含着丰富的文化。教师在对高中工艺美术课程模块进行开发资源的时候,要对整个高中美术课堂体系做出深入性的探究,并在原有的基础上对课程设置做出适当的调整与创新。利用本地特有的资源来进行授课,能够将学生学习工艺美术的兴趣在最大程度上加以激发。例如,处于东南沿海地区的学生可以利用碱厂中的荆条作为原材料,制作出精美的藤编工艺品。荆条的柔韧度与可塑性极强,这从当地渔民以前利用藤条编制鱼篓来装鱼可知,既经济又耐用。教师在开展相关课程的教学中,可以向学生讲述草编艺术的实用性,并将草编艺术性能的相关改变对学生做出详细的说明。上文说到,荆条有着柔韧度强且易成型的相关特点,根据制作方法的不同,草编可以变换成各种各样的形状,如长方形、圆形等。教师在实际教学中可以激发学生的想象力,让学生根据自己的想法编制出各种各样的图案。
综上所述,高中美术工艺模块作为学生最喜欢的选修模块之一,教师在实际教学中不应拘泥于课堂教学。鼓励学生们从生活中发现艺术,让学生们了解民间艺人的制作技巧,让学生在真正意义上感受到工艺作品的独特魅力。◆(作者单位:江西省安远县第二中学)
GSM短信模块开发及其应用 篇4
近几年,随着国家信息化建设水平不断提高,各类信息系统越来越呈现出复杂化、网络化的特点。各种监控自动化系统得到广泛应用,由程序自动检测装备或通信状态,当系统出现故障时,监控系统可以通过声、光、电等方式及时提醒管理员,解决了人工检查实时性差、效率低的问题[1]。
但是,以声、光、电方式进行报警的监控系统仍然存在一定的不足,即要求管理员必须在位,从而能够及时发现系统的报警并进行处理。若管理员因故离开,报警信息则难以及时通知到管理员,因此存在错过抢修最佳时机的可能。在手机已经普及的今天,通过短信形式将报警信息通知管理员,无疑是解决上述问题的一种很好选择。很多企业内部系统常常不接入互联网,现有的基于Internet短信网关[2,3]的许多技术无法在监控系统中直接应用。因此,有必要对监控系统中的GSM短信通信技术进行进一步研究。
笔者基于德国SIEMENS(西门子)TC35I核心模块[4],研制了一种可用于非Internet环境下的GSM办公终端(硬件),并开发了动态链接库和数据库中间件两种二次开发接口,可以方便应用到如办公自动化、监控自动化等各种系统中。压力测试和在网管监控系统中的应用表明,上述GSM短信模块具备500-600条短信/小时的吞吐能力,基本能够满足各种自动化系统基于GSM进行通信的需求。
2. GSM办公终端
SIEMENS TC35I是德国西门子公司开发的手机核心模块。普通手机除了具备该模块外,还包括语音通话模块、屏幕显示模块、键盘控制模块等。考虑到GSM通信无需太多额外功能,因此仅选择SIEMENS TC35I模块进行组装,实现了一种仅能收发短信的GSM办公终端,设备外观如图1所示。
GSM办公终端由设备主体、天线和数据线三部分组成。设备主体内置SIEMENS TC35I模块,可以放入普通手机SIM卡;通过串口或USB口与普通电脑相连后,即可接入移动或联通无线网络。通过电脑控制该设备,可以完成GSM短信的收发。在移动联通无线网络看来,GSM办公终端就是一部仅能收发短信的简易手机,发送短信费用按照运营商具体标准收取,通常为0.1元/条。
3. 开发接口
电脑通过AT指令[5]控制GSM办公终端,可实现短信收发功能。AT指令集属于直接操纵硬件的语言,介于汇编语言和高级编程语言之间,操作较为复杂。为了降低基于GSM办公终端应用程序的开发难度,我们对AT指令进行封装,实现了动态链接库形式和数据库中间件两种二次开发接口。
3.1 动态链接库接口
动态链接库My SMS.dll提供了7个函数,分别完成设备连接初始化、发送短信、接收短信等功能。该动态链接库可被Delphi、VC、VB、Power Builder、ASP、PHP等几乎所有高级编程语言调用。动态链接库提供的函数名称及含义如表1所示。
Sms_Receive函数可以一次接收多条短信,短信与短信之间通过“|”字符分割;每条短信的元素之间用“#”分割。每条短信格式为“|短信序号#短信类别#发送方手机号码#短信内容#发送时间”。假如Sms_Receive函数返回的短信内容为“|1#04#13969036613#现已切换为UPS供电#2009-02-15 18:30:29|2#04#13969036613#服务器与192.168.0.1主机通信中断#2009-02-15 18:30:35”,则表示接收到2条短信,为13969036613手机号码在2009-02-15 18:30:29和2009-02-1518:30:35时间发送,短信内容分别为“现已切换为UPS供电”和“服务器与192.168.0.1主机通信中断”。
3.2 数据库中间件接口
基于动态链接库接口进行程序开发,仍需开发者具备较高的素质。为了进一步提高GSM办公终端的易用性,还开发了数据库中间件接口,结构如图2所示。
数据库中间件接口由4个共享数据表(待发送消息表、发送成功消息表、发送失败消息表、消息接收表)和1个后台服务组成。后台服务定期从待发送消息表中读取短信发送请求,完成短信发送操作;同时将最新收到的短信写入消息接收表。应用系统开发者只需要通过基本的数据库操作,将待发送的短信写入“待发送消息表”,并读取“消息接收表”,即可实现短信收发功能。目前数据库开发接口支持Access、My Sql、Sql Server、Oracle等常见数据库管理系统,并可根据用户需要定制开发支持其它类型的数据库。
以发送短信功能为例,“待发送消息表”包括Phone Num、SMS、Flag三个字段,分别表示目标手机号码、短信内容和发送优先级(整型,数值越大表示优先级越高)。用户仅需通过一条Insert语句即可将短信发送请求插入数据库,剩余工作将由后台服务自动进行,完成短信的发送功能。
4. GSM短信模块的测试及应用
在基本配置为CPU 2.2GHZ、512M内存的电脑上编写测试程序,循环发送短信进行测试,以获得GSM短信模块的吞吐能力。动态链接库和数据库两种开发接口的实验结果如图3所示。实验表明,数据库接口方式效率要低于动态链接库方式,这是因为前者的后台服务需要定时查询数据库获取短信发送请求,牺牲了一定时间。在信号正常的情况下,上述GSM短信模块能够达到400-600条短信/小时的吞吐量。
该GSM短信模块已经在我单位的通信监控子系统中得到了应用。该系统配备的监控程序能自动监控供电方式切换、通信链路状况等状态信息,并通过喇叭报警、图形显示等方式给值班员以提示。我们对监控程序进行了二次开发,将GSM短信模块应用到监控程序中,实现了以短信形式将系统当前运行状况反馈给值班人员的功能。实际应用表明,GSM短信模块能够实现正常的短信收发功能,有效减轻值班员劳动程度,达到了较好的效果。
5. 结束语
基于SIEMENS TC35I核心模块的GSM办公终端实现了基于GSM短信进行通信的功能,为各种应用系统群发通知、及时将相关信息通知到不在位管理员等应用提供了一种可选实现方式,具备一定的实用价值。
摘要:为了扩展监控系统报警方式,对基于GSM短信进行通信的技术进行了研究。基于SIEMENSTC35I核心模块,研制了一种GSM办公终端硬件,可通过电脑控制设备完成普通短信收发。对办公终端的控制方法进行封装,提供了动态链接库和数据库中间件两种二次开发接口。压力测试和实际应用表明,该GSM模块达到400-600条短信/小时的吞吐能力,具有一定的实际使用价值。
关键词:GSM,TC35I模块,开发接口
参考文献
[1]张月朋,田李等.基于CORBA的分布式数据库性能监控系统研究与实现[J].计算机研究与发展,2007(10):136-141.
[2]谢长生,兰岚.短信网关通信模块的设计与实现[J].计算机工程与设计,2004,25(6):24-27.
[3]郭黎明.短信网关管理系统研究与实现[D].武汉:华中科技大学,2006.
[4]西门子公司.TC35I核心模块介绍[EB/OL].http://www.siemens.com.cn.2009.
模块开发 篇5
本文所指的模块案例是指在教育教学实践活动中教师围绕一个教育主题设计与总结出来的系列性教学实例。“做中学”科学教育主题模块案例,是指教师根据学生的认知发展特点与科学知识起点水平等,结合“做中学”科学教育理念、教学模式,选取接近学生生活的科学教育主题,开发成的主题模块教学案例。
宝山区在2005年加入了上海市“做中学”科学教育项目试点与推广的行列。几年来,在“做中学”科学教育理念的引领与市科协的指导下,一直积极探索适合本区的“做中学”科学教育发展之路,虽积累了一定的实践成果但总觉上不了一定的高度。2009年,在深度反思与透析项目组运转情况后,我们发现“项目组教师学科出身多样化;科学知识结构、发展基础比较薄弱;缺乏教学内容开发、课堂生成性问题的合理解决及课题研究等教学创造力”是使宝山区 “做中学”科学教育发展缓慢的主要原因。
为此,我们希望以“做中学”科学教育模块案例开发为途径,丰富科学教育专业知识、夯实 “做中学”科教理念、激发教师教学创造力,同时也在区域内积累与共享教学资源。
1模块案例开发的目标
给教师搭建一个专业发展的推动平台,合作舞台、与学习梯台。即通过模块案例开发激发与培养教师 “发现与挖掘生活化教育主题、设计合理有序的教学环节、随机应变的课堂管理艺术与精深的课题研究”等教学创造力。
2模块案例开发的内容
依据国家制定的科学课程标准和科学教育要求,遴选幼儿园中、大班与小学低年级儿童生活中比较感兴趣的现象、物品等蕴涵科技因素值得深入探究的主题,结合“做中学”科学教育理念、教学模式开发成一个个能培养学生有关的科学知识、科学实验方法与科学思维的原创模块教学案例(内含主题介绍、教学活动内容、实验材料、学生前测卷、后测卷、学习任务单、实验记录单、形成性评价、相关课件等)。
3 模块案例开发的要求
3.1 教学内容方面
(1)一份模块案例应围绕一个明确的主题,且有相应的系列课时组成部分。
(2)模块案例的主题要符合相应年龄段学生的认知特点,接近学生生活。
3.2 教学活动设计方面
(1)引入科学探究过程时注重了解学生已有的想法,即前概念,搭建的“脚手架”能吸引学生主动的参与探究。
(2)安排足够的实验环节,观察和讨论的机会,以逐步加深学生对核心的科学概念的理解。
(3)注意引导学生分析数据、归纳结论和使用推理模型
(4)给学生提供合适的记录方式。
3.3 对教学过程的支持方面
(1)给教师提供明晰和足够的背景信息、相关课件及实验材料等。
(2)有明晰和足够的支持教学各个环节的指导内容,包括教师的关键问语。
(3)对有关的安全和卫生问题能提出预警。
3.4 课程的扩展方面
(1)为学生进一步扩展探究和阅读提供资源(书籍名单、参考资料、网站等)
(2)为学生提供和语文、数学、艺术等其他课程相联系的机会。
4模块案例开发的准备
4.1 开展教师培训
开展形式多样,内容丰富的“做中学”科学教育教师培训(走出去、请进来;案例学习、实验室参观、示范课录像观摩与评课等),一方面让老师们进一步加深对“做中学”的理解、感悟,熟悉“做中学”模块案例的基本结构;另一方面让教师们对自己已有的知识、经验重新评价,获得真实和灵感,在交流和分享中学习他人的长处,产生新的经验,达到新的认识,从而产生新的工作激情,实现自我提高。
4.2 给教师提供在开发过程中需思考和研究的内容
(1)案例主题:怎样发现适合孩子探究的科学教育主题?
(2)教学目的:希望孩子们从这个主题的科学体验中获得什么?
(3)科学活动:孩子们在学习时适合做哪些活动?
(4)科学概念:这次科学体验中的核心思想是什么?
(5)操作技巧:孩子们将应用哪些操作技巧?
(6)材料:将需要哪些材料来组织这个活动?
(7)建立联系:怎样将该活动同我们在课堂上的教学联系起来?怎样将它同孩子们的生活联系起来?
(8)教师作用:做些什么来辅导学生的这次科学经历?
(9)课堂总结:怎样帮助学生进行思考并把整节课贯穿在一起?
(10)课后评估:怎样知道学生学到了些什么?
5模块案例开发的步骤
5.1 讨论
探讨并确立计划开发的模块案例的主题及课时设置与内容安排,咨询相关学科专家关科学知识点的精准度。
5.2 设计
讨论每课时的教学目标,安排与分配编写任务。咨询相关专家主题模块的教学点与实验点,通过交流、讨论、修改、整合,完成第一稿的方案设计。
5.3 实践
配备实验材料,完成第一轮的试点教学,并组织组内教师共同评课,提出建设性修改意见。
5.4 修改
修改案例,进行第二、第三轮的试点教学,交流、讨论、再修改等。
5.5 分享
整理多次实践修改后的模块案例,与其他教师分享,并收集其他教师的教学反馈,为自己的课题研究及下阶段的课堂实践、模块案例开发提供支持。
6教师在模块案例开发中教学创造力的体现
6.1 能创造性地设计教学案例
通过实践,教师亲身体会开发出一个原创的经得起推敲的模块案例的基本环节和步骤:确定主题——预设活动方案——付诸实践——反思和调整——再实践(多次)——整理成案例;感受到用科学的态度和科学研究的方法创造性地开展“做中学”科学教育的趣味性与成就感。两年来经过大家的合作努力,开发出了《纸》、《水》、《走近叶子》、《万花筒》、《玩具车动起来》、《我们周围的材料》等六个“做中学”主题模块案例。
虽然这些主题模块教学案例还不够精细、不够完善,还需进一步实践、讨论、修改,但教师们已逐步进入了关注学生生活、创造性的引导学生开展系统探究活动的模块案例开发、推广、积累的良性轨道中。
6.2 能创造性地组织课堂教学
课是“做中学”活动实施的关键所在,也是模块案例的实践平台。在模块案例的开发与实践中,我们对案例开发者即上课教师要求:课要充分体现“做中学”教学模式与教学原则,改进提问方法、创新引导策略,为孩子们的探索发现铺路搭桥。对听课教师要求:听课时要深层思考;评课时要解剖到深处,消化优点,针对不足的地方要找出病因,开出药方。如好在哪个环节?不足在什么地方?如果是你会怎么组织?怎么引导?怎么提问?理由是什么?等等。
如虎林路小学陈颖老师执教的《水》模块案例《谁不见了?》一课中,通过上课与评课使老师们就 “做中学”课中如何真正做到以幼儿的能力培养为宗旨,给予幼儿充足的科学探索时间并及时根据幼儿的实际情况调整教学思路、提问方法等达成了一定的共识。
通过模块案例的教学实践与研讨不仅开发了执教教师的潜能,更汇聚出了所有参与设计、听课、评课教师们的智慧。我们从课的质量提升中看到了老师的创造与改变。
6.3 能创造性地实施课题研究
“做中学”模块案例设计与课堂实践这两个开发过程中我们要求教师归纳遇到的困难与问题,作为科研课题进行申报与系统有效地研究。2010年教师们申报了18个课题,有从解决“做中学”课中生成性问题方面进行研究的课题、也有如何把握学生前概念,提升“做中学”科学教育实效性的实践与探索等。在模块案例开发过程中教师们带着课题听课、积累教学实例;带着课题讨论,寻求解决方法;带着课题上课,验证实施效果;带着课题总结,提炼研究成果。在2009、2010年上海国际未成年人科学教育论坛中宝山区“做中学”项目组教师论文累计获市一等奖1名,二等奖3名、三等奖3名,成绩名列全市各试点区前列。
7实践后的反思
组织教师进行“做中学”模块案例的开发就如同教师组织学生开展“做中学”科学教育活动一样,期间会有很多生成性的问题出现。如提炼出了主题模块中的科学概念却设计不出适合学生探究的实验方案、设计中觉得很完美的一个教学环节到课堂教学中却实施不下去了、费了很多心思设计好的案例却遭到了组内教师的批判与质疑------所以想要通过模块案例的开发最大化地激发教师的教学创造力关键要保证教师参与模块案例开发的积极性,不要因失败因困难而气馁,要推动教师迎难而上,不断开拓与创新。
在以后的实践中我们需保持的是:
(1)一个模块案例的开发必须通过一个开发团队共同完成,既能迸发出集体的创造智慧,又在一定程度上保证案例的质量。
(2)在实践中给予教师必要的支持,如邀请相关学科专家诊断概念准确性,当大家意见分歧时请“做中学”科学教育专家进行必要的分析引导。
需改进的是:
(1)把模块案例开发设为一个项目,使教师有项目归属感与责任感。
(2)建立网络案例资源库,把教师的开发成果更大化的共享,也利于教师接收到更多的意见建议。
“为了孩子未来的幸福生活奠基、为了实现理想的教育,就要努力造就理想的教师”,而教师创造力的激发与培养不是一蹴而就,它是润物细无声,慢慢开花、慢慢结果的。通过宝山区“做中学”科学教育模块案例开发的实践,我们深切感受到模块案例开发是帮助教师更深的领悟科学教育的魅力,更好的提升教学创造力,促进教师专业发展的有效途径。
参考文献:
[1] [美] Gary R .Morrison 等. 严玉萍译.设计有效教学[M].北京:中国轻工业出版社,2007.
[2] [美] Robert A .Williams等. 朴玉译.小学科学课教学案例[M].长春:长春出版社,2008.
作者简介:
秦莉萍,上海市宝山区青少年科学技术指导站教师。
模块开发 篇6
科学计算可视化是近年来发展起来的一个十分活跃的技术领域,在各个学科得到了广泛的应用[1,2]。随着高性能计算机的发展、并行计算方法的改进与应用,尤其随着计算规模的增大和计算精度的提高,数值模拟中产生了大量的、复杂的数值模拟计算数据,而这些数据的可视化分析将大大加快研究的进程。在某数值模拟可视化平台研制中,需要将多种数值模拟程序的计算结果在统一的界面下进行多物理场的可视化分析[3,4]。为了加快开发进度,实现多种格式的结果文件可视化,选用开源的可视化组件进行二次开发。
目前美国Kit Ware公司开发的并行与分布可视化系统Para View,以及劳伦斯利佛莫尔国家实验室开发的并行可视化软件Vis It都是基于VTK来开发的。软件系统Gmsh基于FLTK和Open GL开发,它集成了CAD、网格划分、后处理和求解器等功能。经过比较,VisIt使用简便,可视化效果好,结构简单,因此选用Vis It进行后处理模块的开发。
1 VisIt的结构和功能
Vis It是一个开源型交互式并行可视化与图形分析工具,用于查看科学数据。利用Vis It,可以可视化二维几何模型以及三维空间结构化和非结构化网格中所定义的标量场和矢量场。在设计上,VisIt不仅旨在处理规模非常庞大,以太字节来计算的数据集,同时亦可用于处理千字节范围的小型数据集。VisIt可运行在Unix(Irix,Tru64,AIX,Linux,Solaris)及Windows平台上,用户可根据不同的平台下载相应的安装软件或源码。
Vis It由数据服务器、并行计算引擎、图形用户界面和可视化窗口四个组成部分,其结构如图1所示。四个部分的主要功能有:
(1)图形用户界面:文件打开,参数设置,画图命令。
(2)客户端可视化观察器:对数据进行可视化。
(3)基本数据服务器:尝试打开文件,载入读数据插件,将元数据(如一系列变量)传至图形用户界面及客户端可视化观察器。
(4)计算引擎:载入插件读数据,并将数据转换为Vis It能够处理的VTK对象,通过可视化管道将数据传至可视化观察器。
Vis It具有如下功能特色:
(1)对标量、矢量及张量场具有丰富的可视化功能,可进行多种形式的绘制和算子操作,还可进行动画显示;
(2)可读取多种流行的数据文件格式,并可通过插件的编制实现更多格式文件的读取;
(3)提供定性和定量的可视化和分析;
(4)支持多种网格类型;
(5)具有强大而丰富的图形用户界面(GUI)。
Vis It的用户界面通常运行在本地,计算部分可在远程并行机上进行。VisIt使用了分布和并行的结构来交互地处理大规模数据集。它的渲染和数据处理能力通过可视化观察器和分布式多处理器计算引擎两部分来完成。在Vis It视图窗口,可通过鼠标左右键及滚轮对图形进行旋转、缩放、平移等操作,可对图形进行各个角度的观察。
Vis It支持的文件类型有很多,我们常用的有Hdf5、txt、curve、cas,silo、visit、img、hdr、jpg、bmp等。
Vis It对二维及三维数据都可进行很好的处理,它还能根据数据制作动画,使用户可以观察数据的发展变化。VisIt的绘制和算子操作都有相应的属性可以根据需要进行修改,从而显示不同的可视化效果。Vis It支持C++、Python和Java编程接口来增加可视化支持。这一功能可用来创建复杂的动画,进行批处理,并可将可视化功能集成到用户自己的系统中。
Vis It是开放源码的,允许程序员读、重新分配和更改源码。这为我们对Vis It进行定制和开发提供了可能。
2 后处理模块的开发与定制
2.1 VisIt源码的下载与编译
Vis It是开放源码的可视化组件,选择下载了Vis It 1.9.1版本。Vis It是基于Qt和VS_NET_2003环境下开发的,因此首先安装Qt 3.3.8和VS_NET_2003,并进行环境变量的配置。Vis It源码包含5个部分,分别是:VisIt、Databases、Plots、Operators、Tools,要分别对其工程进行编译,编译过程中需要用到Qt的库,如qt-mt338.dll等。五个工程都编译通过后,即可执行编译好的Vis It.exe,生成可视化图形用户界面,读取文件进行结果数据的可视化。
2.2 后处理模块的定制
2.2.1 启动页面的改造
Vis It包含的内容较多,所以主界面启动时间较长,因此系统设置了启动页面,显示启动进度及版权信息等。为了使后处理模块更贴近本系统的使用,将启动页面的图片进行了设计和更换,图片为xpm格式,该格式使用两个代码代表每个像素点的色值。使用图像转换软件将所选启动页面图片转换为xpm格式,并添加至相应目录中,编译成功后即可得到新的启动页面,四幅图片在启动时随机出现。其中的一幅如图2所示。
2.2.2 界面的汉化
因为Vis It为英文版,所以采用Qt的国际化功能对其进行了本地化[5]。其中的一种方法是使用Qt Linguist图形用户界面,将源码中使用tr()函数封装起来的字符串进行翻译,再使用lupdate和lrelease两个命令,即可实现界面的汉化。本文采用的方法是:在需要汉化的字符串所在文件中添加#include
之后将英文字符串翻译为中文字符串,编译成功后即可实现界面的汉化。使用该种方法时,在源码中即可看到界面中的中文,较为直观,可读性好。
2.2.3 插件的编写
Vis It虽然支持高达60多种文件格式,但还是有些数据格式不能很好地支持。此时,可为VisIt编写数据插件,使Vis It支持该种文件格式的读取和可视化。VisIt通过动态加载插件而具有扩展性。VisIt的所有绘制、算子及读数据功能均通过插件实时从插件目录中加载。VisIt具有快速编写插件的可视化界面,根据结果文件的格式进行相应的设置,生成插件后添加至Vis It的Plug In目录中,重新启动后Vis It即可自动对该插件进行加载。
3 数值模拟程序结果的可视化应用
在该可视化平台中,需要对多个数值模拟程序的计算结果进行可视化,所以要研究各种结果数据的格式和特点,使其均可通过本后处理模块进行可视化。
3.1 文本文件的可视化
在可视化平台研制过程中,有的程序结果为文本文件。在进行程序编写时,可以通过程序控制输出文件的格式,使其成为Vis It支持的格式。对于需要进行二维曲线绘制的数据,将其写为两列数据的格式,一列为x值,一列为y值,可在文件头部添加变量名,如#curve,则在进行曲线绘制时即可在菜单中找到该curve变量。同一文件中,还可记录多条曲线的数据,但数据前都须加上代表该曲线的变量名,如#curve1,#curve2等。数据都写入文件后将其保存为txt、dat或curve格式,即可直接通过后处理模块用Curve2D形式读取该结果文件并进行可视化,可视化效果如图3所示。
有的结果文件中既有输出数据,又有输入数据和各种环境信息,此时可以采用关键字查询的方法对其进行数据提取,并写为Vis It支持的格式。使用的有关文件操作的函数有Read Text()、Open()、Read String()、Write String()、Seek To Begin()、Close()等,使用的有关字符串操作的函数有Find()、Right()、Left()、Get Length()、atof()等。在后处理模块中首先从输出文件中提取结果数据,之后将提取的数据写为两列数据的文本文件,使用Curve2D格式打开,即可直接进行曲线的可视化。
3.2 格式转换后结果文件的可视化
有些结果文件不能得到Vis It很好的支持,如Fluent结果文件,Vis It只支持其二维的结果文件,而不支持三维的结果数据。经研究发现,Fluent软件中自带有一个格式转换功能,可将cas&dat结果文件存储为其他格式。Vis It支持的数十种文件格式中,CGNS和Ensight两种格式文件可从Fluent软件中直接导出,因此采用从Fluent中将结果文件导出为CGNS或Ensight格式,从而实现在后处理模块中进行读取和可视化。Fluent结果文件格式转换后,其中的网格数据与多个变量叠加后的可视化效果如图4所示。
3.3 多个结果文件的可视化
有些结果数据包括多个文件,记录不同时间步的结果,如LS_Dyna程序的结果文件。其结果文件包含有d3plot、d3plot01、d3plot02……,则在打开结果文件时应将所有的结果文件放在同一个目录下,选择打开方式时只需选择“Guess from file name/extention”,当打开引文件d3plot时,其余的时间步状态也被同时读入,可进行各状态的可视化图形绘制。某时间步的结果体绘制可视化如图5所示,还可通过切片(Slice)算子对图形进行操作,查看模型内部的压力、温度等变量的可视化效果,切片图如图6所示。
对于可视化图形,还可通过各种设置对其进行定制,使其满足可视化要求。如通过“注释”对话框改变图形的横、纵坐标轴名称及单位,还可以通过改变绘制属性来调整可视化效果,如可通过增加采样点数来显示更多的结果数据等。
3.5 其他应用
Vis It支持较好的格式有Silo、HDF5[6]等文件格式,Silo是一个用于读写各种科学数据至二进制磁盘文件的API函数库。Silo库支持点网格、结构网格、非结构网格、块结构AMR网格、CSG网格及定义在这些网格上的标量、矢量数据场和材料数据,Silo格式文件对于处理种类繁多的海量数据有着独特的优势。HDF5也是一种适用于超级计算机的文件格式,它能够存储不同种类的科学数据,包括图像、多维数组、指针及文本数据等,并提供并行机制,非常适用于在超级计算机上进行的大规模数值计算中各种数据的存储、管理。对于数值模拟计算程序,HDF5数据格式能很好地体现其多维、多物理量、时空相关等数据特征,并能高效解决实际存在的数据交换和共享问题。
在应用超级计算机进行大规模科学计算中,可将网格进行分块,每块通过不同的处理器进行计算,最后将结果数据通过编程存储为一个Silo或HDF5文件格式,即可通过本后处理平台进行可视化。对于Fluent的流体粒子速度场的可视化[7,8,9,10],通过编程将结果数据写为Silo文件格式。其可视化效果如图7所示。
几万个粒子的电磁场数值模拟,如果在单机上进行计算,实现起来非常困难,不仅耗时,而且常常因为数据量过大而不能得到正确的计算结果。采用将网格数据存为HDF5文件格式,可存储大于2G的数据,并可进行多进程并行存储,通过在超级计算机上进行并行计算,不仅使计算效率大大提高,而且进一步扩大了计算规模。计算结果存储为HDF5文件格式,在本后处理系统中得到了较好的可视化效果。如图8所示。
通过SSH技术实现了Windows平台与远程超级计算机的文件互联;通过Vis It的远程主机配置,实现了通过Vis It对远程超级计算机上的结果数据进行远程可视化的功能。
4 结论
通过基于Vis It源码的后处理模块的开发,实现了不同文件格式结果文件的可视化,满足了系统需求。系统不仅功能强大,而且具有较强的扩展性,可编写相应的插件,以适应更多的结果文件格式的读取和可视化。
参考文献
[1]尤志祥.基于OpenGL的交互式有限元后处理可视化程序开发[D].南京:南京理工大学.2009.(in Chinese)
[2]YOU Z X.Development of Visualization Program for Interactive Finite Element Processing Based on OpenGL[D].Nanjing:Nanjing University of Science and Technology.2009.(in Chinese)
[3]徐平均,沈卫超,廖丽.JaVis系统中的多分辨数据组织与交互可视化[J].计算机研究与发展.2010,47(6):996-1004.(in Chinese)XU P J,SHEN W C,LIAO L.Multiresolution Data Organization and Interactive Visualization in JaVis[J].Journal of Computer Research and Development.2010,47(6):996-1004.(in Chinese)
[4]徐立婷.多维数据可视化分析方法研究与应用[D].哈尔滨工程大学.2010.XU L T.The Research and Application of Multi-dimensional Data Visualization Analysis Method[D].Haerbin:Haerbin Engineering University.2010.(in Chinese)
[5]张卓,宣蕾,郝树勇.可视化技术研究与比较[J].现代电子技术.2010,(17):133-138ZHANG Z,XUAN L,HAO Y.Study and Comparison on Visualization Technology[J].Modern Electronics Technique.2010,(17):133-138.(in Chinese)
[6]闫锋欣,曾泉人,张志强.C++GUI Qt4编程(第二版)[M].北京:电子工业出版社.2008:314-326.YAN F X,ZENG Q R,ZHANG Z Q.C++GUI Qt4Program(the second version)[M].Beijing:Publishing House of Electronics Industry.2008:314-326.(in Chinese)
[7]沈卫超,曹立强,夏芳,等.面向数值模拟数据的HDF5性能优化[J].计算机研究与发展.2012,49(Suppl.):314-318.SHEN W C,CAO L Q,XIA F,et al.HDF5Performance Optimization for Numerical Simulation Data[J].Journal of Computer Research and Development.2012,49(Suppl.):314-318.(in Chinese)
[8]葛成.三维矢量场可视化方法研究[D].南京:南京师范大学.2011:1-9GE C.Research on Three-dimensional Vector Field Visualization Methods[D].Nanjing:Nanjing Normal University.2011:1-9.(in Chinese)
[9]孔龙星,汤晓安,余莉.一种新的电磁场数据三维绘制算法[J].现代电子技术.2011,34(20):107-110KONG L X,TANG X A,YU L.A New3D Rendering Algorithm for Data of Electromagnetic Field[J].Modern Electronics Technique.2011,34(20):107-110.(in Chinese)
游戏开发人才模块化培养模式研究 篇7
计算机技术和网络通信技术的飞速发展,使以电子技术为载体的游戏产业也得到了飞速的发展,涌现出了一片以游戏开发为主要业务的著名公司。例如日本著名的电子游戏生产商任天堂,美国的电脑游戏及电视游戏软件公司暴雪娱乐等。并催生了大批专门开发游戏开发引擎的众多的公司,比如开发虚幻引擎(Unreal Engine)的Epic Games公司、开发Unity3D的Unity Technologies公司和致力于开发移动平台游戏引擎Cocos2d的触控科技。特别是随着移动通信技术的广泛应用,智能移动设备如平板电脑、智能手机的普及,以移动平台为终端的移动游戏产业迅速地发展起来,现在至少有几千家的移动游戏开发公司,每天都有数量众多的移动游戏被发布到各种推广平台上。
游戏常用的迅猛发展也造成了游戏开发人才的巨大的缺口。高等学校站在科学技术水平的制高点,还肩负着为社会培养大量急需人才的社会责任。为蓬勃发展的游戏产业培养行业急需的各种类型的人才责无旁贷。但是,游戏产业毕竟是一个新兴的朝阳产业,高校在培养相关人才时面临着诸多困难。高校教师本身大多数没有从事过游戏开发行业,对行业所需人才认识不足,没有相关产品开发经验,师资力量严重不足等等。并且,高校受传统教育模式的影响,学生的在校教育主要注重学生基础能力和综合素质的培养,而不是岗位技能的培训,不能满足社会和企业的要求。所以,和行业企业合作培养行业急需的人才是现在部分高校采用的方法。而培训机构里面的教师本身是游戏公司里面的人,培训是以技能培养为主,其实就是上岗前进行技术训练,而且这种培训只针对一个特定的岗位,在短时间帮助学生进行岗位技能的加强。以便学生毕业后可以直接走上工作岗位。所以从人才培养和提升学校就业率上来考虑,很多高等院校在游戏人才培养上都采用3+1的教学模式。
游戏专业是一个包含音乐、美术、文学、艺术、网络编程、程序设计、人工智能、人机交互等众多学科门类的一个复合型专业。因此,培养满足社会和企业需求的游戏人才,不是哪一个学院可以单独完成的,这需要相关专业的相互配合。但在目前的体制下,建立综合的游戏专业的条件在我校还不成熟。不过,以“项目引领,任务驱动”的方式,采用模块化教学是解决创新型游戏人才培养的有效途径。
1 模块设置
根据游戏开发人才的多学科性,加强不同学科的横向合作,采用“项目引领任务驱动”的方式进行模块化教学,培养社会和企业急需的人才是一种可行的途径。由于游戏开发是一个跨学科的复合型行业,从文学、艺术到技术、运营,都需要大量的人才。但是高校的游戏设计专业很难将整个游戏流程所包含的所有专业包含在内。因此,以“项目引领,任务驱动”为导向,将一个完整的游戏项目分为从游戏策划、美工、模型制作、音效、动画、程序设计、测试、管理运营等模块,采用模块教学,将游戏开发的各个环节分散到不同的专业,请相关的专业教师进行培养,在对学生进行培养时紧紧围绕着一个大的游戏课题某一个小模块进行教学。当所有模块教学完成时,也就完成了一个完整的游戏项目。游戏开发流程如图1所示。
游戏开发各模块的讲授选择一个已经完成的游戏项目为原型,各模块的教学过程中教师带领学生解决当前项目模块中遇到的问题,掌握游戏各模块开发的知识,锻炼游戏开发的能力。
2 各项目模块教学内容
游戏开发过程涉及众多专业和学科。让学生掌握游戏开发的各个流程是不现实的。立足各院系的特色和传统的学科优势,培养游戏行业企业所需要的各种游戏开发人才,是模块化教学的主要目标。学生可以将主要精力放在自己感兴趣的模块学习上,对其他相关模块虽然不要求完全灵活掌握,但也要掌握其基本功能,并对每个模块所需要完成的任务要有清楚的认识。毕竟游戏开发是一个系统工程,需要各个项目模块的充分沟通与合作,才有可能开发出一款合格的游戏作品。
游戏策划模块。游戏策划模块的主要工作是编写游戏故事背景和故事情节、游戏玩法、数据设置、关卡设置等内容,是一款游戏开发之前必须要考虑好的内容,并且要形成详细的游戏策划文档。一款游戏是否能成功,策划起到了决定性的作用。事实上,一名合格的游戏策划的要求非常高,它要求游戏策划必须要有对游戏市场敏锐的洞察能力,以确保当游戏产品开发出来以后有市场以便收回成本和盈利,还要求游戏策划对游戏开发所涉及的艺术和技术都要有相当的认识,并且有较强的语言文字表达能力,这样才能统筹游戏中个各种元素,并清楚地表达出来,以便于美工人员和程序人员了解游戏策划的思想,并按照游戏策划的思想完成相应的设计内容。这同时要求游戏策划拥有在各部门之间协调的能力和游戏开发常用软件的使用能力,以便于清楚地知道什么样的功能放在哪一个模块制作才能达到更好的效果并且节约成本。游戏策划其实就是游戏开发的主管,在该模块的教学中,主要是要让学生掌握一款游戏从构思到实现所要完成的各阶段工作,让学生对游戏开发有一个宏观的认识。并以一个成熟的游戏策划案例进行解析,为下一步的游戏开发打下基础。
游戏美工及模型制作模块。如果所游戏策划相当于游戏开发的概论,游戏美工则是在细节上对游戏的雕刻。一款粗制滥造的游戏绝对不会引起玩家的兴趣,而一款制作精美的游戏给玩家的就是一种在视觉和听觉上的享受。游戏美工及模型制作模块要完成的是游戏中所涉及的所有地形、建筑、植物、角色、动画、特效、UI等等内容。要求熟练掌握诸如Photoshop,3dsmax等图像处理软件和建模软件。在本模块的教学中,同样是要以之前的成熟案例为范例进行教学,带领学生完成之前游戏策划中涉及的所有图像、模型素材。为下一步的游戏开发打下基础。
游戏动画及音效模块。游戏音效要求学生掌握常用的音频编辑软件。游戏动画制作效果的好坏直接影响游戏效果。游戏动画涉及的内容非常广泛,包括游戏片头动画、广告动画、角色动画等等。现在,每天都有大量的游戏产品下线,制作精美的游戏广告动画才能吸引潜在玩家的注意,对游戏的推广是非常关键的。游戏动画涉及原画绘制、游戏材质、骨骼绑定、动画调节、动画渲染等内容。本模块教学同样以成熟案例为范例进行教学,带领学生完成之前游戏策划中涉及的所有音效、动画的制作。为下一步的游戏开发打下基础。
游戏程序设计。游戏程序开发需要熟悉计算机的语言和开发环境,如C、C++、C#、VC、Xcode等,还需要学习与游戏有关的数学、线性代数、离散数学,以及非数学类的数据结构、设计模式、计算机图形学等。无论网游、页游、手游都离不开游戏程序开发,在游戏公司里,按照岗位分工不同,游戏程序员可以分为引擎开发程序员和逻辑开发程序员。引擎开发程序员需要编程人员掌握坚实的数学知识、图形学知识和熟练的编程能力,一般作为研究生及以上层次的培养目标。本科阶段主要的培养目标是逻辑开发程序员。本模块教学同样以成熟案例为范例进行教学,带领学生完成之前游戏策划中涉及的所有代码编写的工作。并最终完成游戏的测试与发布。
3 模块化教学方法
游戏开发是一个系统工程,基于“项目引领,任务驱动”的游戏人才模块化培养模式强调以游戏软件项目的开发流程为参照,将游戏开发任务分解成若干个模块。每个教学模块即相互独立有互相联系。这里的模块化是对整个游戏开发流程而言,对每个模块的教学,教师可以采用灵活的方法,但必须完成整个游戏开发所必需的相应模块的工作,否则将影响下一个模块的教学工作以及最终是否能够完成整改游戏的开发。模块化教学之前,首先将学生按照5~6人进行分组,教学过程中以小组为单位进行任务布置和期末考核,成绩评定也以小组完成各模块的学习效果为依据,不以个人的学习效果评定,促进小组内成员之间相互督促学习,否则将影响整个小组的成绩。教师在教学过程中对对有困难的学生要给予必要的指导,使每个学生都能顺利完成任务。
利用网络平台提供多维内容表现。提供教学大纲、教学计划、教案、课件、网上论坛等资源。课程授课采用多媒体演示授课,教师现场演示,学生随后练习,给学生视觉、听觉、动手练习全方位的刺激。组织学生成立游戏开发工作室,由教师进行指导进行游戏的开发,让学生从实战中得到锻炼。
4 实施方案和方法
游戏开发是一个系统工程,游戏开发的各个模块教学的实施要按照指定的游戏案例有组织的实施教学,分模块、分阶段地完成游戏开发各阶段的任务。各模块的教学需要充分发挥各专业的特长,又要统筹兼顾,进行统一管理,以便最终形成一个完整的游戏项目。表1为采用模块化教学的实施方案设计。
5 总结
采用任务驱动式模块化教学以一个完整的游戏作品为主线,将游戏开发所涉及的各个环节以案例的方式重现,有利于学生对游戏开发行业有清楚的认识,并对自己今后的工作定位更加清楚,以便于将主要精力投入到相关的方向深入学习,为今后的工作方向打下坚实的基础。
参考文献
[1]张晶,姚则会.模块化本科人才培养方案的设计和实践——以安徽大学为例[J].高等理科教育,2010(2):34-38.
[2]朱滨,宋建文.欧美高校游戏专业建设与人才培养研究[EB/OL].游戏产业数据http://www.gamelook.com.cn/,2012.12.
游戏开发中的模块化软件设计 篇8
目前计算机的应用已经抛开了纯粹的计算机本身, 几乎被应用于目前生产、生活的所有领域。大型网络游戏的任何功能的实现都离不开软件的支持, 软件的发展从原来单一的程序设计经过程序系统阶段到最终的软件工程阶段, 其各种指标都发生了显著的变化。虽然现在的软件开发技术有了很大的进步, 但是仍未取得突破性的成果, 其设计价格较高没有完全摆脱软件的危机。下面首先对计算机软件设计进行一下概述。
计算机软件设计概述
计算机的软件设计最初阶段就是程序设计, 当时是以汇编语言及机器语言为主, 其开发主要依靠个人技术, 因此个人的技术水平决定着整个程序开发的优劣和成败;在程序系统阶段, 已经开始使用结构化的程序设计思路, 并且以小组开发作为主流;在目前的软件工程阶段, 软件设计所包含的范围已经大大扩展, 其团队的管理水平决定了软件设计的质量, 其技术手段也已经丰富, 出现了数据库, 有了标准的开发工具、开发环境和一定的行业规范, 软件的容量和规模也有了很大的拓展。
在计算机及游戏软件设计的过程中, 软件的针对人群和用户需求各不相同, 因此软件设计的第一原则就是要符合用户需求;同时软件的设计与实现是一个不断试错和重构的过程。在目前软件设计主要有三种方法:一是结构化程序设计。该种方法是一种模块结构, 其思路是有大到小, 由上到下, 首先依据用户的需求, 设计出整体的系统功能, 然后在对系统进行划分, 从功能出发, 而分割出若干相对独立的模块, 之后完善各模块的功能并留出相应的接口。二是面向对象的程序设计。它实际上是模块化软件设计的延伸, 它将具有固定功能的模块组成一个实体, 明确实体的属性、功能和特性, 在设计的过程中确定各对象类之间的结构层次, 从而形成一个软件系统。这种设计方法具有封装性、继承性和多态性。三是自顶向下设计法, 它能够很好的处理分层问题。其价值在于它能够指出复杂程度不同的处理层次, 并且各种设计要素之间具有较为清楚的关系。
模块化软件设计
1. 模块化设计概念的出现
模块化设计的概念是工业化生产的产物。为开发具有多种功能的不同产品, 不必对每种产品施以单独设计, 而是精心设计出多种模块, 将其经过不同方式的组合来构成不同产品, 以解决产品品种、规格与设计制造周期、成本之间的矛盾, 这就是模块化设计的含义。模块化设计与产品标准化设计、系列化设计密切相关, 即所谓的“三化”。“三化”互相影响、互相制约, 通常合在一起作为评定产品质量优劣的重要指标。模块化设计的概念起初源于机床设计, 到本世纪50年代, 欧美一些国家正式提出“模块化设计”概念, 把模块化设计提到理论高度来研究。模块化设计的思想已渗透到许多领域, 例如机床、减速器、家电、计算机等等。在每个领域, 模块及模块化设计都有其特定的含义。
2.模块化软件设计的出现
模块化设计, 简单地说就是程序的编写不是开始就逐条录入计算机语句和指令, 而是首先用主程序、子程序、子过程等框架把软件的主要结构和流程描述出来, 并定义和调试好各个框架之间的输入、输出链接关系。逐步求精的结果是得到一系列以功能块为单位的算法描述。以功能块为单位进行程序设计, 实现其求解算法的方法称为模块化。模块化的目的是为了降低程序复杂度, 使程序设计、调试和维护等操作简单化。
模块化软件设计是上述结构化软件设计的一种形态。它首先对软件产品进行功能分析, 将不同性能、不同规格的产品设计成功能模块, 然后通过不同模块的组合和选择来完成用户的不同需求, 最终组合成软件产品。模块化设计是一个自上而下的设计过程, 它首先需要进行软件框架和流程的描述, 同时界定好各框架之间的各种输入、输出、调用、依赖性等关系, 而后进行各模块的逐步完善。模块化设计的核心就是以功能块作为程序设计的单位, 其目的使得软件的设计、调试和维护更加简单易行。
模块化软件设计平衡模块的内聚度和耦合度之间的关系。内聚度即模块强度, 它表明了模块完成一项功能的能力, 模块聚合有多种思路, 可以是关系的叠加也可以是逻辑性的勾结, 同样可以通过时间、通讯、顺序性等等来进行模块聚合, 这需要根据整个系统要求来决定。模块的耦合度, 指的是模块之间的关联依赖度, 它也有着不同的耦合形式, 其耦合的松紧程度也不尽相同, 同样应该根据软件的要求来选择耦合方式和耦合度。
模块化设计的原则、关键技术及原理
模块化设计其主要目的是将模块做成一个通用的组件, 要确保其在系列软件之间能够进行调用。基于此基本的功能模块必须具备:一是相对的独立性, 这样就能够将模块进行独立的设计、开发、调试和维护, 有利于模块在不同专业实务间的定制;二是交互性, 即耦合度, 要使得模块的接口的结构及参数标准化, 这样就容易实现模块间的交互;三是通用性, 要实现跨企业、跨专业间的软件产品的模块公用。
在保持以上设计特征的基础上, 模块化设计的也要遵循自己的原则:一是简洁高效, 力求用尽可能少的模块来完成软件定制, 确保精度高、稳定性强、成本低廉;二是系列有序, 使得有限的模块来最大限度的满足用户的需求。
要实现模块化设计的关键技术是模块的标准化技术和模块的划分技术。模块的标准化技术主要是指模块结构的标准化, 重点是模块接口的标准化。比如说, 在工程领域中, 功能相同、性能不同的单元只有在安装基面和安装尺寸是一致时才能保证模块的有效组合。在模块的划分上, 我们要注意, 单一模块在整个系统中的作用和可替代性;各模块要在功能上保持独立性, 在机构上保持完整性;模块的划分不能妨碍系统的主要功能实现。
模块化软件设计的应用价值
1. 降低了软件的复杂性
软件系统的复杂程度取决于程序的复杂程度, 在用一个程序处理二个问题时我们既要考虑单独的功能实现, 也要实现问题间相互的关联问题, 但是当把问题分解成能够独立完成的子问题, 其系统的复杂程度就会大大降低。而模块化设计就是遵守这个思路, 将大的系统问题逐级的分成一个个独立的小问题, 因此该软件设计方法大大降低了其复杂性。
2. 软件设计的便捷性
在软件设计之初, 是个人的独立编程, 很难完成大规模、复杂的软件设计。在软件工程时期, 通过整体的管理分工结合模块化的软件结构, 对整体的功能进行了分割, 接口有标准规范作为参考, 因此工作就很容易进行分配。由不同人员来共同完成软件的设计, 其工作也具有的一定的平行性和独立性, 而非必须群体工作, 这就大大提高了软件设计的便捷性。
3. 软件的测试和维护的准确性
软件的测试是软件开发的重要环节, 整体系统测试很难发现具体的问题点, 在模块化设计中, 由于模块功能的独立性, 就可以通过单元测试、组装测试、有效性测试和系统测试等多个步骤来增加软件测试的准确性。软件的维护等同于测试, 模块化设计使得软件维护能够分层次进行, 精确的找到问题所在。
4. 模块化软件升级的优势
通过对于不同引用模块的分别升级, 可以最大程度上提成系统的可靠性, 同时可以根据实际情况的不同, 在系统设计之初就预留未来升级和添加新的模块的通道, 实现实时升级, 增加整个系统的使用寿命。
模块化软件设计的经济价值及实际应用中的成本控制
1.模块化软件设计的经济价值
对于企业来说, 模块化软件设计, 可以将原本复杂而又需要投入大量人力物力开发的项目, 通过模块化分割, 进行细化, 将不涉及自身企业核心竞争力的次要模块进行开发外包, 通过这种形式节约企业的开发成本, 同时还能在一定程度上保证企业核心竞争力的安全。
企业可以通过对于模块的分割, 组合, 使得自己的产品更新速度能够跟上市场、客户多变的需求, 实现游戏内容和功能的快速上线。通过不变的基础通用模块和不同的功能性模块的不同组合, 实现针对不同用户需求的产品梯度和差异化、个性化的产品系列, 为客户提供最具有个性化, 最高性价比的产品, 从而进一步提高市场份额, 为企业增加更大的利润空间。
2.模块化软件设计的成本控制
在实际企业运行过程中, 我们发现模块分割越细, 越小, 单个模块的开发成本越低, 但是在组合这些模块的过程中, 其集合成本, 根据模块数量的多少逐步上升。如何确定模块化分的最小成本区, 并保证模块的最佳性能、开发周期、实用性, 适用性, 是模块化软件合计活动中的主要任务之一。
结束语
模块开发 篇9
1 资料与方法
1.1 建立儿童预防接种信息管理系统
将儿童预防接种信息实时录入儿童预防接种信息系统(信息化系统),设立儿童预防接种信息管理数据库,通过基于云计算的服务平台实现全市儿童预防接种信息全程记录、全市信息共享,系统通过网页登陆,不需安装任何软件。
1.2 查验接种证模块的开发与实施
根据查验接种证工作需要,通过查询条件提取信息化系统中儿童个案接种信息,根据国家免疫规划中疫苗接种程序设置查验通过标准,基于录入的儿童接种信息生成查验结果,同时结合系统中接种数据进行统计分析,生成统计报表,统计信息可以直接导出Excel。为更好地检验网络查验接种证的实施效果,选取了信息化工作开展较好的5个县作为试点县,开展网络查验接种证的试点工作。
1.3 网络查验接种证模块的使用
由县级疾病预防控制机构为辖区内的园幼机构、学校的查验接种证工作人员分配账号和工作权限。工作人员通过账号和密码登陆系统,根据入园、入学儿童报名信息,通过“儿童简拼”“出生日期”“父亲简拼”“母亲简拼”“县(市、区)”“乡(镇、街道)”“接种点”“村”中1个或多个查询条件定位相应儿童信息,点击“查验”按钮,系统将自动根据系统中记录的儿童接种信息自动判断是否完成了全程免疫程序,弹出“您已完成国家免疫规划规定的免疫程序”或“您未完成国家免疫规划规定的免疫程序请您到所属接种点进行补种”对话框,同时接种完成情况相应变为“已完成”或“未完成”。查验后相应儿童补种疫苗信息录入系统后将自动计入补种剂次数统计。查验过程中市、县、乡级工作人员可通过系统中“报表汇总”中的“接种证查验统计表”实时查看辖区内“已查验儿童数”“已通过查验儿童数”及各疫苗漏种剂次数和补种剂次数。
1.4 应用效果检验
将2012年网络查验接种证结果与2011年查验接种证报表中的对应项目进行比较。
2 结 果
2.1 基本情况
2012年5个县共网络查验儿童60 559人,查验通过49 294人(通过率81.40%);共检出漏种38 122剂次(检出漏种比为62.95剂次/人),补种11 521剂次,补种率30.22%。2011年查验接种证报表显示,5个县共查验儿童57 567人,共查出漏种剂次7 919剂次(检出漏种比为13.76剂次/人);补种7 753人次,补种率97.90%。2012年检出漏种比是2011年的4.57倍,补种总剂次数为2011年的1.49倍。
2.2 各种疫苗漏种及补种剂次情况
各种疫苗[脑膜炎球菌多糖疫苗(meningococcal polysaccharde vaccine,MPV)、脊髓灰质炎疫苗(oral poliomyelitis attenuated vaccine,OPV)、白喉-破伤风联合疫苗(diphtheria and tetanus combined vaccine,DT)、流行性乙型脑炎疫苗(japanese encephalitis attenuated vaccine,JEV)、百日咳-白喉-破伤风联合疫苗(diphtheria,tetanus and pertusis combined vaccine,DTP)、含麻疹成分疫苗(measles-containing vaccine, MCV),乙型肝炎疫苗(hepatitis B Vaccine,HepB)、甲型肝炎疫苗(hepatitis A attenuated live vaccine,HepA)、卡介苗(bacillus calmette guerin,BCG)]漏种剂次数及补种剂次数见表1。
除HepA补种剂次数2012年低于2011年外,其余各疫苗的查出的漏种剂次数及补种剂次数均高于2011年。网络查验漏种剂次由高到低依次为MPS、OPV、DT、JEV、DTP、MCV、HepB、BCG。
注:MPV—脑膜炎球菌多糖疫菌;OPV—脊髓灰质炎疫苗;DT—白喉-破伤风联合疫苗;JEV—流行性乙型脑炎疫苗;DTP—百日咳-白喉-破伤风疫苗;MCV—含麻疹成份疫苗;HepB—乙型肝炎疫苗;HepA—甲型肝炎疫苗;BCG—卡介苗。
3 讨 论
国家对儿童实行预防接种证制度,我国《中华人民共和国传染病防治法》及《疫苗流通和预防接种管理条例》均规定儿童入园、入学时,托幼机构、学校应当查验预防接种证[1,2],以确保儿童得到及时有效的预防接种,从而达到控制乃至消灭相应传染病的目的。《关于做好入托、入学儿童预防接种证查验工作的通知》中明确了查验工作由托幼机构和学校专人负责,疾病预防控制机构负责培训和技术指导,接种单位负责补种工作,同时各相关单位要做好信息沟通[3]。接种证查验环节包括入托、入学儿童有无预防接种证及儿童是否完成了国家免疫规划疫苗免疫程序。这就要求托幼机构和学校工作人员掌握一定的预防接种知识,熟悉国家免疫规划预防接种程序。而在实际工作中查验人员查验儿童是否有接种证很容易,但即使经过了培训,非专业人员也很难准确地看出儿童是否漏种了疫苗,漏种了什么疫苗以及漏种剂次数。同时由于查验和补种工作分别由不同单位和人员负责,且分属卫生和教育2个部门管理,使得信息沟通很难实现。
采用网络查验接种证的方式,是查验接种证工作的一次变革。只需对查验人员进行简单的网页操作培训即可方便快捷准确地完成查验环节,同时避免了查验人员、接种点工作人员繁琐的收集信息、统计信息、通过部门协调沟通信息的过程。网络查验模块可以实时统计已查验儿童数、已通过查验儿童数以及各类疫苗的漏种及补种剂次数。教育部门和卫生部门可以随时查看工作进度,实时进行信息沟通,便于工作中的督导及数据的分析汇总。但由于儿童入学年龄不同,信息化系统无法选取当年应查验的人群,网络查验工作需要通过入学儿童名单确定应查验人员及人数。
从5个县2012年网络查验结果看,2012年检出漏种比为2011年的4.57倍多,补种总剂次数为2011年的1.49倍。可见网络查验接种证提高了漏种剂次的检出效率,提高了补种剂次数,起到了一定的效果。但2012年补种率仅为30.22%,又使得检出效率增高的作用未能完全体现。可能由于:①漏种剂次较多的孩子各剂次接种需要一定的时间间隔,因此补种工作尚未完成;②一些接种点接种二类疫苗的记录未录入信息化系统,因此使用二类疫苗替代一类进行补种的接种记录未显示。③一些儿童或其监护人未带孩子进行补种。
2012年查验出漏种剂次较多的疫苗为MPV、OPV、DT、JEV、DTP。其中,MPV、JEV为扩大国家免疫规划(扩免)新增疫苗,OPV和DTP为有加强剂次的疫苗,DT属于加强剂次。这几类疫苗漏种剂次较多与国家和一些省份扩免接种率调查的结果基本一致[4,5,6]。
为更好地发挥网络查验接种证的作用,在今后的工作中需要:①进一步完善信息化系统,将二类疫苗替代一类疫苗接种的接种信息纳入信息化考核标准;②强化督促补种工作,教育、卫生行政部门要加强对疫苗补种工作的监督和行政干预,对未按要求开展工作或工作不力的单位提出整改意见,限期整改。
参考文献
[1]全国人民代表大会常务委员会.中华人民共和国传染病防治法[S].2004.
[2]全国人民代表大会常务委员会.疫苗流通和预防接种管理条例[S].2005.
[3]卫生部,教育部.关于做好入托、入学儿童预防接种证查验工作的通知[Z].2005.
[4]曹雷,王华庆,郑景山,等.中国扩大国家免疫规划疫苗接种率调查分析[J].中国疫苗和免疫,2012,18(5):419-478.
[5]蔡碧,张迟,赵明江,等.湖北省扩大国家免疫规划疫苗接种率调查分析[J].预防医学情报杂志,2011,27(8):640-643.
模块开发 篇10
通过新课程改革经历的教学实践,我们发现提升学生自主学习能力难以解决。因此,要提升高中生物学的自学能力,打造高效课堂。教师必须首先转变教学理念,更新教学方法,对教材体系和知识体系要深入理解等,提升自己的教研水平,然后才能够指导好学生的学习,提高课堂教学效益。对于学生自主学习,我们主要是根据学生的学情,进行必要的指导和引导下,让学生自主学习、合作探究,从而实现高效课堂。
一、新课程背景下高中生物必修模块存在的疑难问题
由于学生人数连年递增,迫于高考压力等问题的出现,学生每天都忙于完成作业,并且有大部分比例学生,课堂自主学习时对许多问题不能独立解决,抓不住重点,对一些疑难问题无法理解,或者无法突破重点,课后也不能独立完成作业。如果老师找不到好的解决方法,只是以自己的实干、蛮干、苦干,用时间加汗水,其结果必然是所有学生都陷入题海战术,对知识的理解不到位,能力不能提升,学习效率低,容易产生厌学情绪;而老师常常忙于备课,忙于改作业,忙于讲课,忙于对学生进行补差,结果学生依然考不出好的成绩,老师和学生都花了很多的心血,结果却得不到好的收获。传统的教学模式与现代化的学生之间产生了新的矛盾,并且还很突出。这一系列问题必须要解决好,学生的自主学习才能更有效率。就专业知识方面来说,无论是新老师还是老老师都要认真地教研,研究教材知识内涵,研究知识体系,研究疑难问题等。我们通过统计,必修一、必修二、必修三中有较多的疑难问题知识点需要认真的研究分析,并在课堂上与学生共同解决,然后找出更好的解决疑难问题的方法。
二、对策研究
1.提升高中生生物自主学习的实效
自主学习是指学习主体有明确的学习目标和任务后,让学生大胆对新知进行学习和思考。在高中生物教学中培养学生自主学习能力,我们同样要求学生先进行知识的学习,通过自主学习,合作学习,发挥学生主体作用,也就是自己能学会的自学,学不好的与同伴合作学习,老师也可以把教学中的难度问题或学生解决不了的问题在进行引导和点拨,从而实现课堂上堂堂清,这样学生才学的扎实,有效,同时提升了学生学习生物的能力,培养了学生的生物素养。因此,在高中生物教学中进行了自主学习模式的实践,并注重学生在自学学习中方法引导,从而促进自主学习的实效。
(1)学会阅读 获取有用信息
阅读不仅仅是语文学科的主要学习途径,其实生物学科同样需要学生进行大量的阅读。在平时高中生物教学中,教师很少指导学生阅读。由于高中生物教材抽象,与有很多的实验和图标等,这些很难理解,不像语文课那样,对不懂的可以多读。生物教材中有很多,有模型图、坐标图、装置图、形态图、概念图等,可以说是多种多样的,要能读懂这些图,是需要方法的,我们可以按照顺序读,可以对比读、整体读,还可以抓住特征读等。对于方法的选择,我们可以根据图的不同进行,这样才能提升学习自主学习的效率。例如,染色体的变化特征,我们指导学生对比观察有丝分裂图与减数分裂图,然后归纳出其区别即为联会、四分体,肯定是减一;单点、无同源,肯定是二减。因此,在阅读的过程中,学生要掌握技巧,从而获取有用知识,从而提升阅读实效,促进了学生自主学习。
(2)巧设问题 启发积极思考
教学的开始在很多时候都是从问题开始。学生通过对问题的思考,从而获取知识和技能。同时问题也是每节知识点,通过问题从而汇聚起来。因此,在课堂中,问题的提升是非常重要,可以是教师提出的,也可以是学生提的,但最好的方法是教师能够激励学生提出问题,让学生学会思考,主动探究和质疑。例如,在对《生物膜的流动镶嵌模型》的教学时,可以设计这样的一些问题:①怎样证明膜的主要成分是脂质和蛋白质?怎样分布?②为什么膜的流动镶嵌模型为大多数学者所接受?它已经完美无缺了吗?对于这样的设问,学生根据对教材的阅读理解,产生了一些问题,他们反映的问题有,怎样证明脂质的流动性,有哪些模型,流动镶嵌模型还有哪些不足等,学生的思维被激活,并正向这一问题考虑。然后我们再设计这样的问题:膜的成分是什么?它的结构特点是什么?流动镶嵌模型的主要内容是什么?这样学生就能轻松解决问题。问题的设计关键是激活学生的思维点,符合学生的能力水平,这样学生的思维活动才能有效,学生的自主学习才能高效。
(3)倡导质疑 培养创新思维
教师与学生之间,学生与学生之间是多方向的交流,如果只有问和答,学生就缺乏了质疑本领,这样就不利于的学生发展,学生学习的主观能动性没有得到展示。在鼓励学生多提问的同时,还要对提问的技巧进行指导。让他们对自己的思绪进行整理,能够具体表达出疑问,并有根据的提出问题。质疑可以说对权威的挑战,特别是对老师的质疑,更需要学生有这些经验,只有不断的提问、质疑、才能够创新。例如,学习“细胞质遗传”时,学生就问,基因一定在染色体上吗?学习“RNA病毒”时,学生会问,有遗传效应的RNA片段是基因吗?学生问得好,说明了学生在积极思考这个问题,对正在学习的知识进行延伸思考,我们通常叫作概念外延法质疑,也就是从重点内容出发,从不同的角度质疑。当然质疑的方法也是多种多样的,我们要给学生多讲一讲。还有寻因究果法,异同关联法,实验联系法,联系实际法等,我们可以从学生对这些学习知识的具体表现,从而对质疑方法进行渗透的讲解,让学生明白这些质疑方法如何运用,那么学生就掌握了质疑的技巧,从而促进学生创新思维的培养。
(4)敢于放手 促进自主探究
探究学生是科学教学中最常用的一种教学方式,生物科学也是一样,我们倡导的是一种学生自主发展的教学方式,让学生经历探究过程,对知识和技能获取是靠自己动手实践而得来的,从而培养学生的动手能力和创新能力。探究学习也是新课标中要求在教学中实际的教学方法,在探究过程中,让学生自主学习、合作学习、从而发现问题、合作探究问题、展示成果。特别是生物实验教学中,我们常常会运用探究学习,大胆放手让学生大胆猜想、设计实验、实验操作等。让学生独立自主地开展探究实验,学会应用知识分析解决问题,从而增强思考力和创造力,培养创新精神和实践能力。例如:在学习“植物细胞渗透吸水”这些知识以后,教师可以引导学生自选实验材料,制定实验步骤来验证渗透作用,学生会提出很多方案,一种是学生利用萝卜做实验材料,把将萝卜切成长度相等的数条,分成两组并测量其长度;把将其中一组浸入盐溶液中,另一组放于蒸馏水中;通过一段时间观察有什么变化,从而验证植物的渗透作用。另一种是,学生应用红细胞作实验材料,把新鲜血液分别滴在蒸馏水和氯化钠溶液上,然后利用显微镜进行观察,最后发现氯化钠溶液中的红细胞因失水而收缩,在蒸馏水中却胀大,从而得出结论动物细胞也可以发生渗透作用。在探究学习中,让学生尽情的发挥,而老师只做必要的引导和指导,让学生真正的去设计实验、进行实验操作,交流合作等,从而提升学生的自主学习能力,促进学生的全面发展。endprint
2.提升高中生物教师的教科研水平
教师的教科研水平是教师的专业素养之一,我们把教学研究常态化,扎实开展下去,才能提升教科研的实效,才能提升课堂教学的效率。对于高中生物教学也是一样,我们只有把教研和科研搞好,教师才能在锻炼中提升自我,服务好课堂。
(1)研读新课标
生物新课标是我们开展教学活动的依据。特别是备课中,我们要把新课标的理念运用的教学中,服务课堂,提升课堂教学的实效。因此,我们开展教学之前,要研读生物新课标,吃透课标,才能进行运用。生物新课标中课程理念、课程目标、课堂教学、资源开发与利用、教学评价、教学研究、教师专业发展等方面为我们提供了教学理念,教学的依据和指导方法。我们研读生物课标一般情况有三种方式,一是聆听专家的对课标的讲解,我们从中吸取有用理论和知识,并结合自己在教学中实践,进行分析和反思,形成自己的知识和经验。另一种方式就是,自己进行研读,把课标,教参和教材结合起来,在教学设计之前,我们先对教材进行阅读,然后教材中涉及到课标方面的知识,我们刨根揭底,这样就可以从生物课标中,进一步寻找、分析、然后进行运用,把这些新理念融入的教学设计之中,并在课堂中真正去实施。最后,我们还有对研读后的新课标,写一下学习后的反思,对课标的理解,每个人程度是不同,因此,我们可以把自己的看法写下来,与同事们进行分享,并切磋经验,促进共同进步。对生物新课标的研读是我们进行教学第一步,既是我们教学的方向,又是目标,因此,我们把握课标,那么教学就成功了一半。
(2)进行集体备课
我们常言说,不打无准备之打战。教育教学也是一样,我们进行备课,大家一起对某一节的设计的诊断,这样便于集思广益,把大家智慧集中起来,从而形成巨大的能力。而集体备课就能发挥这样的作用,我们通过集体备课是校本教科研的重要形式之一,因此要提高集体备课的有效性。集体备课除了备课标、教材、教法外,我们还努力做到三备:一备学科建设的长远规划。积极探索、逐步构建并形成本校的学科教学特色,应当成为开展校本教研活动的目标。先把本校学科建设的长远规划,细化分解,再把与当前工作重点、教师专业成长、教学实际需求结合起来,使集体备课活动每一个阶段有研究探讨的重点,既扎实有效、务实具体,又抬头看路、始终瞄准努力的大方向。二备学生,备学生学习基础与已有经验,分析学生的学习心理与情感倾向,研究学生的学习过程特点,探讨教学过程设计与实施方案,只有这样,才能做到备课是基于学生的“学”,为了学生的“学”。三备反思,对上一次教学设计以及教学实践中出现的问题或困惑,与同行进行交流,找出应对措施,反思不足,分享成果,从而提升教师的教研能力。例如,在探究指导──实验“生物体维持pH稳定的机制”,我们通过教研组的集体讨论,任务可以制定这些策略:1.加强预习环节。实验指导具体明确,适合学生自学。加强预习环节有利于敦促学生转变学习观念,养成主动学习的习惯。2.重视组织教学。本实验的组织形式以小组活动为主,教师应对小组活动给予指导。进行实验操作时,小组成员应进行合理分工,以确保在规定的时间内完成实验。绘制pH变化曲线图适宜以个人为单位进行,这样能使每个同学都得到锻炼的机会。进行讨论时,应以小组为单位,以利于相互启发、集思广益。
(3)坚持撰写反思
撰写教育论文是利用教学反思的形式把教学中的问题以及课堂的精彩生成整理后以文字的形式展示出来。撰写论文是教师教科研的一种有效形式,是教师专业发展的有机组成部分。撰写论文,是教师从教育实践走向理论研究转变。我们一线教师搞好教科研是当前教师队伍建设中的紧急任务,我们要从研究者转变,更好服务课堂。对于生物教师也是一样,我们不仅要把课上好,还要进行教学的研究,这样才能提升自己的教科研水平,促进自己的专业发展。生物教师具有丰富知识和教学实践,因此,我们在撰写教育论文可以从育人和教书两个方面进行撰写。首先,我们可以写一写教育学生的经验型文章,如何培养学生自主学习能力,如何培养学生良好的行为习惯等,这些可以从我们教学实践中找到答案,因为我们对这些方面已经进行了多次实验,有些教师会有独到的见解,这也是我们必须思考的问题,我们把经验进行梳理和总结,引入实践中的例子,让文章更具有说服力。其次,可以写一写课改中重点问题,如何确立生物课堂以学生的学习中心的地位,让学生自主学习、互助学习等,还有就是如何打造生物学科高效课堂,创新自己的教学模式。这些都是需要我们作为一线教师思考的问题,我们只有在理论指导的基础上,进行教学实践,然后从中发现问题,然后到理论中需求答案,再进行实践,然后形成自己的经验,通过总结,利用文字形式呈现出来。再次,我们也可以写写教学随感,可以是学生之间,也可以是与领导、教师自己的琐事,可以是生活、可以是工作、也可以是其他。陶行知先生说教育即生活,我们教育生活是方方面面,如果有好的切入点,也能呈现出一篇篇的佳作。
3.进行高中生物疑难问题资源开发
在教学高中生物必修一中,经常会遇到一些疑难问题,主要是学生难以掌握的知识,我们要加强这方面的训练,同时要开发疑难题例研发,形成校本教材,供全校师生使用。疑难问题同时是学生难以理解,或者是听课能听懂,但是做题时却无从下手,根据高中生物教学存在问题的现状,我们根据课标、教学实际情况以及学生能力和高考的需要,特对高中生物必修一的疑难问题整理、并制定成册,供教学使用。我们具体做了如下几个方面的工作:
(1)搜集疑难问题
对高中生物疑难问题的收集,我们主要是通过三步进行的,首先是我校的一线生物教师从教经验上,提供疑难问题,供教研组成员参考和选择;其次是学生收集有关学习生物的疑难问题,通过调查问卷或学生主动提出问题等,然后进行收集、分析、筛选等;最后,就是上网搜集这些疑难问题,到网上筛选相关问题,以便全面完成题例整合。例如,我们在收集问题时,有位同学提交这样的一个问题,老师,我的生物成绩一直不好,请问在剩余的20天里,我该如何复习,如何提升生物成绩呢?通过教研组的讨论,我们认为这确实这个疑难问题,像这样的学生,学校也有一部分生物学困生,在最后的时刻也要给他们学习的指导,以便树立考试的信心,提升学习成绩。为此我们针对这一问题展开了研究。
(2)整理题例解析
当我们把这些疑难问题整理之后,就要对疑难问题进行分析和指导,我们要把解决问题的方法和答案整理出来。在具体的实践中,我们依然是三步走,第一步生物教研组集中起来研讨解题思路,每人都要发言,有专人把主要观点记录下来,然后打印出来每人一份;第二步,每位生物教师把具体的解题思路利用课余时间进行反思,筛选;第三步:各位生物教师再发表具体的意见,落实可以有哪些,记录下来,制定的具体负责人负责落实这一疑难问题的具体解题方案,并定稿。例如,对于生物学困生最后测试阶段如何学习,我们教研组制定的详细解决问题的方案:按照会考说明中对知识点的要求,看书上的相应内容。最好动动笔,把知识整理一下:可以把相似、相近、相反的知识要进行比较,如有丝分裂与减数分裂、同化与异化等等。另外,还要做会考说明上的习题,要真正把题目涉及的知识弄会,不要只记住答案。再把平时做错的题再好好看看,是不是会做了。(3)编订成为题例
具体的题例和解题方案设计以后,我们分组进行审定,每两人负责一块内容的审定,包括错别字、语句问题以及逻辑思维问题等方面的全面审定,最后确定没有问题后在装订成册,然后根据学校需要打印成书籍,作为校本教材使用。若在使用的过程中出现问题,再在下次进行印刷时进行修正。
模块开发 篇11
我国从2007年开始发放3G牌照, 手机多媒体终端的用户数量将会伴随着终端开发技术和3G网络技术的发展而逐渐庞大。对于运营商来说, 市场规模将明显增大, 而产品运营、业务扩展、市场营销将会是近3年移动流媒体市场的核心竞争力。
据艾瑞咨询主办的“2006手机网民看3G”的互联网调查中统计, 视听娱乐将成为3G应用普及后智能手机用户最期待的无线业务。手机视频的巨大市场前景是包括运营商在内的所有企业都不可小视的。
类似优酷、 土豆、爱 奇艺等国 内视频巨 头非常看 好手机视频 终端 , 因为i Phone手机非常 普及 , 用户群体 庞大 ,最重要的是手机能随时随地地拍照、录视频, 而且能随时随地把拍摄 的视频上 传到视频 网站上去 , 非常方便 ; 另外iPhone多媒体客户端的播放内容可以直接从电视台、影视公司等多媒体提供商那里获得, 资源极其丰富。对用 户而言 ,手机视频播放客户端将成为人们非常重要的娱乐方式。手机往视频方向发展也是势不可挡的, 而对手机视频的需求也是非常大的。
2体系结构及其特性
1、i Phone SDK架构
i Phone SDK是由苹果公司提供的i Phone应用开发包 , 整个SDK包括了界面开发工具、集成开发工具、框架工具、编译器、 分析工具 、开发样 本和多个i Phone、i Pad、i Pod模拟器。如图1所示。
(1) Core OS 层
很多人听说过IOS系统是基于UNIX的。而Core OS层就是用Free BSD与Mach所改写的Darwin, Core OS是开源、符合POSIX标准的一个Unix内核。这一层包含并且提供了整个iPhone OS的基础功 能 , 如 : 硬件驱动 、内存管 理、程序 管理、线程管理、文件系统、网络接口,以及标准输入输出等,所有这些功能都是通过C语言的API接口来提供。此外, 这一层是最具有UNIX色彩的, 如果你需要把UNIX上所开发的程序移植到i Phone上, 多半都会使用到Core OS的API接口。
(2) Core Services 层
Core Services层基于Core OS基础之上 , 它提供了更多更丰富的功能, 它包含了Foundation.Framework和Core Foundation.Framework两个部分 , 并且 , 它提供了一系列处理字串、排列、 组合、日 历、时间 等基本功 能 , 所以叫Foundation。Core Fundation是属于C语言的API接口 , 而Foundation是属于Objective-C的API接口。另外Core servieces还提供了其他的常用功能, 比如: Security、Core Location、SQLite、Address Book. 其中Security是用来处理认证 , 密码管理 , 按安全性管理的; Core Location是用来处理GPS定位和地理信息处理; SQLLite是小型的、轻量级的本地数据库; 而Address Boo是用来处理电话薄资料的。
(3) Media 层
Media层提供了图片、音乐、 影片等多媒体功能。与音乐对应的是Core Audio和Open AL, Media Player实现了影片的播放 ; 图像处理 方面分为2D图像和3D图像 , 2D图像由Quartz2D来支持 , 3D图像则是用Opengl ES来支持 ; 最后用Core Animation来对动画提供了强大支持。
(4) Cocoa Touch 层
Cocoa Touch是Objective-C的API接口 , 其中最核心的部分是UIKit.Framework,应用程序界面上的各种组件, 全是由它来提供呈现的, 除此之外它还负责处理屏幕上的多点触摸事件、文字的输出、图片网页的显示、相机或文件的存取、 以及加速感应的部分等。
2开发环境
(1) 软件环境
操作系统: Mac OS X 10.6.4;
IDE: Xcode 5.0;
SDK版本 : iphone SDK 7.1;
模拟器: iphone 5s、ipad air;
(2) 硬件环境
CPU: 至少双核CPU, 1.2GHz以上主频 ;
内存: 至少1GB;
硬盘: 至少60GB;
网络: 10M/100M网卡。
3需求分析
3.1可行性
3.1.1经济
本项目的开发全部采用苹果公司的产品, 包括操作系统、开发IDE、测试用模拟器、真实i Phone手机。这些软硬件设备虽然价格不菲但对于专业苹果应用开发人员来说都是必须有的, 并且, 这些软硬件都为一次性投入, 在以后开发苹果应用时也可以继续采用这一套软硬件, 不存在人力物力的过度浪费现象。所以开发一款基于i OS的音乐播放器在经济方面是可行的。
3.1.2技术
苹果公司的产品在多媒体应用方面下了极大的功夫, 因此也提供一整套非常强大的多媒体开发框架。在程序设计语言上采用Object-C足够, 在UI布局方面采用.xib或storyboard等布局文件就可以设计出使用比较友好的UI界面, 媒体流的获取采用HTTP或是UDP协议获取网络视频资源; 在媒体播放方面采 用Iphone SDK 7.1中Core Audio和Open AL, MediaPlayer实现了影片的播放。从而分析得出开发这款音乐播放器在技术方面是可行的。
所以, 基于i OS的音乐播放器的开发是可行的。
3.2功能
当用户进入播放列表, 在本地视频文件或网络在线视频文件列表中, 选择播放, 即可观看视频, 切入到横屏模式可进入全屏播放。
3.3性能需求
(1) 对i Phone支持MP4/3GP/AVC/AVI/MPEG-4等格式的
视频文件进行播放, 分别对来源于本地和网络的视频文件进行处理, 利用横竖屏的灵活切换, 实现全屏播放, 使播放效果更为显著。
(2) 支持MP3音频文件的播放 , 从本地和网络列表中读取音乐播放列表, 根据歌曲和歌手名称从3G网络上搜索歌词, 支持歌词同步; 放完一首歌可自动播放下一首, 支持循环播放。
(3) 支持网络MP3流媒体的广播格式 , 简朴大方的用户界面, 增加文字流动效果, 更具观赏性。如果当前电台流出现问题, 可使用向前和向后来对同一站点的不同端口频段进行调整。
(4) 对本地文件媒体文件进行管理 , 刷新功能重新搜索本机上所有的媒体文件, 删除功能删除不必的媒体文件, 选中文件后可根据不同的媒体格式选择播放器, 支持本地蓝牙传输。
(5) 在线音音频列表按照用户输入的关键字搜索歌曲 ,支持在线播放、音乐文件下载。
(6) 从网站shoutcast上获取网络电台 , 支持电台搜索功能, 用户点击可在线收听。
(7) 通过土豆网站、56视频网站获取相应的视频信息 ,对视频文件进行分类管理, 用户进入后只需点击即可轻松地观看和下载, 支持视频搜索, 根据用户输入的关键字, 搜索网站中的视频, 支持翻页功能;利用六间房网站对i Phone手机平台的友好支持界面, 采用手机Web打开网页, 支持在线观看、收藏、搜索和访问友请链接网站等多种功能。
(8) 提供媒体文件下截 , 支持断点续传、文件播放、 删除等功能。
(9) 更多设置模块包括蓝牙管理、用户手册、 背景设置、动画效果设置等后台管理功能。
(10) 网络环境 : 播放网络视频 , 要求网络带宽流畅 , 信号好。
3.4关键技术
(1) 播放视频用到的API主要使用的是Media Player框架中的MPMovie Player Controller类和MPVolume View类。
(2) 链接网络资源获得歌词 , 进行分割排序比较 , 使用NSTimer来监测播放的时间 , 实现歌词同步。
(3) 广播播放器采用Code Morphic公司的Co Mo Radio开源软件底层的部分功能实现广播流的播放, 该开源软件提供的Cm Audio Player用于管理和播放网络广播。
( 4) 结合NSURLRequest类和UIWeb View控件 , 实现手机网页浏览。
(5) 下载管理采用ASIHTTPRequest实现网络连接 , 加入到network Array下载队列实现多个网络资源同时下载。
(6) 创建GKPeer Picker Controller类的实例 对及相关 的接口, 把大的媒体文件分割成小的模块, 来实现蓝牙传输。
4视频播放器模块
4.1视频播放器模块描述
视频播放 器模块是 对i Phone支持MP4/3GP/AVC/AVIMPEG-4等格式的视频文件进行播放 , 分别对来源于本地和网络的视频文件进行处理, 利用重力感应技术, 实现横屏和竖屏的灵活切换, 使播放效果更为显著。
4.2算法实现
播放视频用到的API主要使用的是Media Player框架, 该框架包括 两个类 : MPMovie Player Controller类和MPVolume View。它们用于管理整个视频的播放, 只需要提供视频文件的URL, 并调用play方法播放视频即可。视频文件支持如下:
( 1) H.264视频 , 高达1.5Mbit/s, 640×480像素 , 每秒30帧 , Low-Complexity版本的H.264 Baseline Profile采用AAC-LC音频, 高达160Kbit/s, 480k Hz, 立体声音频为.m4v、 .mp4和.mov文件格式。
( 2) H.264视频 , 高达2.5Mbit/s, 640×480像素 , 每秒30帧 , Baseline Profile高达Level 3.0采用AAC-LC音频 , 高达160Kbit/s, 480k Hz, 立体声音频为.m4v、 .mp4和.mov文件格式。
(3) MPEG-4视频 , 高达2.5Mbit/s, 640×480像素 , 每秒30帧 , Low -Complexity采用AAC -LC音频 , 高达160Kbit/s,480k Hz, 立体声音频为.m4v、 .mp4和.mov文件格式。
程序代码如下:
(1) 在项目中加入Media Player框架 , 并引入Media Player/Media Player.h头文件 :
( 2) 在View Controller.h文件里创 建一个MPMovie PlayerController指针 :
(3) 获取视频文件存储路径。由于从播放列表View Controller中采用委托传递数据操作过于繁琐 , 在本项目中各个模块之间进行数据传递基本上都使用文件读取用为中介来实现数据传递;
(4) 初始化一个网络视频播放player
(5) 初始化一个本地视频播放player
(6) player操作方法 :
播放: [self.movie_Player play] ;
暂停: [self.movie_Player pause] ;
停止: [self.movie_Player stop] ;
(7) 通过消息中心NSNotification Center时刻监视视频的播放状态:
4.3逻辑流程
视频播放模块的流程图如图2所示。
5结语