前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇平台设计论文范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
建设目标
1技术层面
围绕烟叶业务“一体化”闭环管理的设计思路,构建具有皖南烟叶特色的现代烟草农业信息化管理平台,做到“信息互通共享、资源高效整合、业务有效衔接”,满足国家局《数字烟草发展纲要》“四个统一”的要求。
2业务层面
在平台统一的前提下,以烟叶供应链思路为指导,结合皖南烟叶公司的业务管理现状,对行业信息系统进行应用功能拓展,确保单元系统有效落地,全面提升基层信息化应用水平。
系统架构设计
为实现企业信息化与行业信息化的有机融合,系统技术架构应遵循行业信息化标准与规范,故本系统与单元系统技术架构基本一致,如图1所示。系统构建基于J2EE、SOA等技术,采用分层提供服务支持的设计思想,将系统划分为基础层、数据层、平台层、应用层、展现层。系统从最底层开始,逐层向上提供服务,整个层次保持相对的稳定。随着业务需求的不断变化,各个层次、各个组件进行优化和完善,在不改变系统框架的前提下即可完成系统的改进。
1基础层设计
主要为系统应用提供底层的运行环境,包括PC终端、服务器、交换机等硬件设施,以及操作系统、数据库系统等软件环境,建设时将充分利用现有的资源,避免重复投资造成资源浪费。
2数据层设计
数据层就是常说的数据源所在的层次,数据层设计具有如下特点:1)可运行于DB2、ORACLE、SQLSERVER等主流数据库之上;2)使用联邦数据库技术;3)数据业务处理(交易)、数据查询、空间数据分离。
3平台层设计
平台层由界面集成、业务集成、服务集成、业务构件、数据集成、支撑平台等几部分内容组成。1)界面集成。界面集成从单点登录、组织管理、用户管理、权限管理、菜单管理、应用组装、Portal展现等七个功能点来做全面的界面集成。2)业务集成。通过应用开发技术和工作流引擎等工具实现应用系统之间的业务流程集成,实现系统松耦合、组件化和标准化,支撑烟叶系统之间信息共享、流程编排、业务交互。3)服务集成。通过企业服务总线建设,实现内部服务的通信与整合,构建服务注册及管理机制。4)数据集成。数据集成包括在各应用之间实现数据共享和数据交换,建立基础数据信息库。主要有:(1)数据及编码标准体系的建立。数据及编码标准体系是应用系统数据整合和业务整合的基础。建立行业数据及编码标准体系是建立基础数据信息库的基础。(2)基础数据信息库。以基础数据使用规范为标准建立基础数据信息库,用以实现信息共享,服务于应用系统的集成应用。(3)数据交换平台的建立。以数据交换管理规范为基础,建立应用系统之间交换数据的软件平台。
4应用层设计
业务应用覆盖烟叶生产经营的主要业务,包括客户关系管理、生产过程管理、收购管理提升、调拨仓储管理、烟用物资管理、电子结算、主题分析等七个模块。
5展现层设计
在展现层将统一用户权限,面向企业不同层次的业务角色,如:领导、管理人员、烟站微机操作员等用户,通过统一的门户,访问不同的应用模块,业务操作、数据查询、数据分析。
系统功能设计
结合业务部门的实际应用需求,现代烟草农业信息管理平台功能模块设计如下:
1客户关系管理
1)目标定位。以CRM管理理念的为指导,实现新型种植主体档案管理及等级评定,为差异化服务及散烟收购模式的推广奠定基础。同时增加客户回访及投诉等关联功能,提升客户服务水平。2)功能描述。(1)基础档案管理:实现各类种植主体基础档案管理,并可根据预先设定的类别归属条件(如种植面积),对烟农进行自动归类。(2)客户星级测评:建立评价方案,明确评价指标(如种植面积、合同履约率、烟叶交售等级结构、技术到位率),开展对种植主体的星级评定,实现对种植主体的分类测评,为差异化服务奠定基础。(3)客户投诉管理:记录烟农对服务人员及相关人员提出的投诉,并对投诉处理过程及结果进行跟踪。包括烟农投诉记录、投诉处理意见、处理结果跟踪。(4)客户回访管理:根据客户回访方案,对客户服务满意度情况进行调查,全面收集客户反馈的问题和建议,从而更好地为客户提供服务。同时从烟农中收集有关烟叶生产相关信息,对有价值的部分信息分析处理后分送到有关部门和领导。具体功能包括:回访方案制定、回访结果查询及分析。
2生产过程管理
1)目标定位。以生产报表自定义的形式,实现生产动态信息的高效采集、快速统计和及时传递。健全烟叶生产环节信息,为质量追溯奠定基础。2)功能描述。(1)生产报表定义:根据生产需求,对生产报表的格式进行定义后下发至烟站进行数据填报。烟站可结合本级管理需要对报表进行细化定义。(2)生产报表填报:根据上级下发的报表格式,进行生产过程相应数据的采集与填报。采集方法有两种:一种是手工录入数据,另一种是利用手持终端设备进行采集。(3)生产报表查询:实现烟站上报报表的多维度查询(按时间、按组织结构等)。
3收购管理提升
1)目标定位.在原有系统功能基础上,增加散烟收购的信息支撑,提高收购工作效率;同时根据收购业务管控需要,对烟叶收购的时间、比例、重量、票据等关键要素进行密切监督和预警,实现对收购全过程的实时控制。2)功能描述。(1)散烟收购应用收购类型设置:实现烟站各条收购线收购类型的设置(散烟/把烟),以区分烟叶收购类型。收购报表提升:结合烟叶收购的形态特征(把烟/散烟),对相关烟叶收购报表进行相应提升,实现收购报表数据的分类统计和查询。散烟补贴核算:包括补贴方案制定、散烟补贴核算、散烟补贴查询等。(2)收购业务监控单秤交售重量异常监控:对单笔烟叶交售的重量超出电子秤重量峰值或者超出合理值范围的数据进行监控,确保收购业务规范。交售等级结构异常监控:设置上、中、下等烟比例最大值,对超出或即将超出该值的收购等级比例数据进行监控预警。连号票据等级、重量相同监控:对连号票据等级、重量相同的数据进行过滤展现,有效分析数据异常原因。单据冲红监控:设置票据冲红的最大值,对超出该值的票据数据进行过滤展示。收购时间段异常监控:依据烟叶收购运行要求中的收购时间段为标准区间值,对超出该合理区间内的收购票据数据进行展示。检验是否有超时收购。
4调拨仓储管理
1)目标定位。实现烟叶物流进、销、存数据的信息化管理,提高数据采集时效性和准确性。2)功能描述。(1)调运计划管理:用于内部调运计划及销售调运计划的制定和分解。内部调运是指收购站点的烟叶调往中转仓库,调运不受购销合同控制,销售调运计划是中转仓库或烟站的烟叶销售调运到烟厂,要受购销合同控制。(2)烟叶入库管理:实现烟站烟叶的入库信息采集。(3)仓储作业管理:包括移库管理、库存盘点、变质烟管理、烟叶出库管理、仓储资源管理等。
5烟用物资管理
1)目标定位。整合现有物资管理系统,增加物资需求管理、验收管理、供应商管理等模块,实现对烟用物资的购、销、存精细化管理。2)功能描述。(1)物资需求管理:包括物资需求目录、物资需求摸底、物资需求制定等。(2)物资验收管理:实现两级物资验收的电子化操作。(3)采购分配:根据需求及合同进行分配,同时与购肥指导单等单据进行关联,保证分配的合理性。(4)供应商管理:建立物资供应商基础资料档案库,并结合供应商的服务、产品质量情况,对供应商等级进行划分,建立供应商首选名单及黑名单。
6电子结算
1)目标定位。采用电子结算的方式进行烟叶交售款、物资款的结转,提高结算效率,保障资金安全。2)功能描述。(1)账户管理:对所有涉及资金往来的帐户信息进行管理,包括帐户录入、在线开户、帐户销户等功能。(2)审核支付:接收收购系统提交的支付或扣款信息,由银行转账系统完成资金的支付和扣除操作。(3)对账查询:包括银行对帐、付款总帐查询、付款明细帐查询等功能。
关键词串口通信;手机短信;管理信息系统;JSP
1引言
随着移动通讯的发展,移动办公提供随时随地服务正成为当今信息技术发展的重要方向。以短信为基本服务平台的服务渠道正被越来越多商家所采用。手机短信的行业应用越来越广泛,它具有快捷、经济、针对性强、可移动等优点。很多行业的企业用户都希望能够利用Web系统提供的手机短信服务功能来企业信息。如:客户联络、新产品通知、会议通知、紧急通知、催费通知、发货通知、订单查询、节日问候等,从而达到提高办公效率、降低办公成本的目的。
2问题分析
目前在PC上实现手机短信收发技术主要有三种:
(1)直接接入运营商短信网关,这种方法的实现不需要附加新的硬件,但是需要到运营商申请网关,适合于大型通信开发,如向移动、电信等公司申请,使用起来比较方便,但费用较高。
(2)通过一些网站上提供的短信发送功能来实现,如腾迅、网易等都提供这方面的服务,这种方法实现起来比较简单,所需资源较少,但缺点是对网络的依赖性太强,不利于集成到企业的MIS系统中。
(3)用GSMMODEM技术实现PC对手机收发信息,这是目前比较适合于小项目开发的一种方法,只需要对AT指令和串口编程的知识运用熟练就可以实现,但需要硬件GSMMODEM的支持。
当前,一些公司提供了短信开发的设备和配套的短信群发软件,用它可以在软件中集成相应的群发功能,虽然实现了发送短信的功能,但由于是单机版的,不利于远程操作和多用户的同时使用;也有一些基于Web的短信系统开发出来了,实现了手机短信的发送,但在手机短信的接收方面仍存在不足:如很多系统都是通过不断刷新页面来判断是否收到有新的信息,这种方式使得系统效率下降,需要改进。另外,在目前已开发出的短信系统中尚缺乏定时发送短信功能,此功能的实现,可以为用户的日程安排提供短信提醒服务。
基于以上因素,可以设计并实现一种B/S模式的短信系统,此系统在一种能通过输入设备与服务器直接通信的MVC体系结构下构架,使用GSMMODEM以串口监听方式触发事件的方式接收短信以提高系统的性能,实现定时发送短信功能以满足更多用户的需求。
3系统体系结构
基于J2EE的Web式信息管理系统技术现已比较成熟,如Struts框架、ModelI体系结构、ModelII体系结构都可实现。本文体系结构是基于J2EE的MVC结构,实现一种能通过串口设备实现向系统进行输入输出的系统结构,如图1所示。
在传统的Web系统中,服务器的响应都是由客户端经HTTP协议传输的数据服务请求,实现对Web资源的使用。本文的系统体系结构构架Web系统,除了能响应基于HTTP的数据请求外,还可通过与该服务器连接的GSMMODEM实现服务的请求,使得系统的信息传递更快捷,实现可移动性特点。
采用该体系结构构架Web系统,用户可以通过HTTP协议向应用服务器请求数据处理,当服务器得到客户端的请求数据后,控制器(Servlet)进行事务处理,模型(JavaBen)执行操作,如信息的查询和保存等操作,最后通过视图页面传回给用户。
同时,用户也可以通过手机发送数据给服务器,实现数据的处理。用户发送信息向服务器请求服务,首先将信息给GSMMODEM,然后服务器通过与该设备连接的串口获取数据,实现事件的响应。实质上,GSMMODEM就是服务器的一个输入设备,相当于键盘,起数据输入的作用。信息的接收,就是设计程序让服务器自动检测这个输入设备是否“输入”了数据。
同理,对该体系结构应用的推广,所有输入设备与服务器作为一体构架网络服务器,实现Web服务,如应用于基于Web的工业控制系统、电压测试系统等。
4系统功能
短信系统的主要功能有写短信、发件箱、收件箱、电话簿、统计查询和常用语的插入等,其功能模块如图2所示。
写短信可以实现短信的单发和群发功能,无论是单发还是群发,发送对象都可以自由选择,当发送对象选定后,系统查找数据库中该号码多对应的记录信息自动生成称呼,然后将其要发送的内容一起发送给所选对象。
发件箱用来存储用户所发的所有短信信息,以便用户以后查看自己发送的短信,可实现对短信的管理,如转发、删除等。
收件箱用来存储用户所接收到的短信,该模块除了实现短信的管理,如对短信的删除、查询等功能外,还提供短信回复功能,实现系统自动回复,在服务器收到用户短信后对数据进行处理,然后自动回复给用户;另外是用户回复,通过系统身份验证后,用户可对收到的短信进行回复。
电话簿实现用户对联系人的管理,如新增联系人、实现联系人的分组等操作。
定时发送短信功能,可为用户的日程安排提供帮助,如通过短信提醒参加会议、为朋友发送生日祝福短信等。用户设定短信发送的具体时间,输入将发送的信息并保存,在到达这个时间时,服务器自动将信息发送出去。
查询统计是管理员实现查看指定用户发送信息的数量等操作。
常用语管理实现快捷的输入,用户可编辑常用的短信内容并保存,在发送时可直接调出。
5系统实现
JSP、Servlet技术和数据库技术在Web应用程序开发中的大量普及和应用,使得系统中写短信、查询统计、常用语等模块的实现变得非常容易。
5.1收发短信
当前,采用的收发短信方法主要是在服务器端使用定时刷新页面或通过定时器来实现。此方法是在每间隔一定时间,服务器扫描串口并读取串口中的数据,然后确认是否解收到新数据。这虽然实现了信息的接收,但增加了服务器的开销,无论是串口有无新数据,服务器都定时读取数据,这便增加系统的负担,从而将低了系统的性能。
基于串口监听的方法接收数据,即当串口有新数据接收时产生监事件,通过事件驱动来“通知”服务器,然后取得手机发送过来的信息,从而进行处理和响应事件。这种方式的实现,其优势主要体现在节省系统资源和数据接收的及时响应。
对串口监听,即当收到数据立即响应事件,这与JavaApplication程序中的动作监听(ActionListener)类似。在实现手机信息的接收过程中,可由类SerialPort中addEventListener(this)方法侦听,当收到数据时产生事件,主要代码如下:
publicvoidserialEvent(SerialPortEvente){
StringBufferinputBuffer=newStringBuffer();
intnewData=0;
switch(e.getEventType()){
//DATA_AVAILABLE-有数据到达,
caseSerialPortEvent.DATA_AVAILABLE:
//读取数据信息,使用JavaBean中的模型进行数据处理
while(newData!=-1){
try{
newData=this.inStream.read();
if(newData==-1){
break;}
if(''''\r''''==(char)newData){
inputBuffer.append(''''\n'''');}
else{
inputBuffer.append((char)newData);}
}catch(IOExceptionex){
System.err.println(ex);
return;}
}
operateMsg(newString(inputBuffer));//调用对数据进行处理的方法,
//newString(inputBuffer)为接收到的内容
break;
caseSerialPortEvent.BI://BI-通讯中断.
}
}
向手机发送信息,调用sendMsg()方法,在此方法的设计中,使用SerialPort类中的getOutputStream()初始化OutputStream类的对象outStream,该对象的write()方法将数据写入串口。
publicvoidsendMsg(Stringmsg,StringphoneNumber){
getSerialPort();//打开串口
setupSerialPort();//初始化串口
try{
outStream.write("ATE0\r");//测试modem
outStream.write("AT+CMGF=1\r");//将信息设置为text模式
outStream.write("AT+CSCS=\"GSM\"\r",);//将字符设置为UCS2模式
outStream.write("AT+CSMP=17,167,0,240\r");//设置短信发送的相关参数
if(!msg.equals("")&&!phoneNumber.equals("")){
outStream.write("AT+CMGS="+phoneNumber+"\r",);
outStream.write(messageString);
outStream.write((char)26);
}
}catch(IOExceptionioe){}
closeIOStream();
closeSerialPort();
setToNull();
}
以上两个函数分别实现了短信的收发功能,但在进行数据接收时,由于短信编码与字符编码不同,所以需要将编码进行转换。本文采用短信编码的TEXT模式[1]。
5.2定时功能的实现
收发短信的实现,虽然为信息管理系统增加了新的功能,但还不能满足其应用的需要,尚需要在系统中新增更多功能。以下实现的是在系统中定时发送短信功能,如定时为某用户发送信息。
当Web工程启动时,必须能让定时器宿主的存活期为整个Web工程生命期,在工程启动时能自动加载运行。结合这两点,确定使用Servlet上下文有关的侦听器实现定时功能,通过在工程的配置文件中加以合理配置,会在工程启动时自动运行,并在整个工程生命期中处于监听状态。
通过Servlet侦听器与Timer的结合,运用Servlet侦听器需要实现javax.servlet.ServletContextListener接口,同时实现它的contextInitialized(ServletContextEventevent)和contextDestroyed(ServletContextEventevent)两个接口函数。程序实现代码如下:
publicclassTimerListenerextendsHttpServletimplementsServletContextListener{
publicvoidcontextInitialized(ServletContextEventsce){
//开始监听,在此部分编写定时功能的程序
SmsManager[]sm=newSmsManager[10000];
for(i=1;i<10000;i++);
//初始化任务
Timert=newTimer();
i=0;
MyTaskmt=newMyTask(sm);//自定义任务类
//该类run()方法执行发送短信
t.schedule(mt,0,1000);//每秒钟检测一次
}
publicvoidcontextDestroyed(ServletContextEventsce){
//定时器的销毁
}
}
实现短信定时发送的具体方案中,将预发内容、时间、手机号码、用户等信息保存在数据库中,当预发时间与当前系统时间相同时,将内容自动发送到指定手机中。于是,在实现时,时刻都要取出数据库中的时间进行比较,这将大大地增加系统的开销。为了减少频繁的访问数据库,降低系统开销,本文是使用动态链表实现。
首先将预发的内容、时间等信息封装成类SmsManager,然后由该类创建对象数组,数组的长度可根据系统的用户量决定,并由数据库中未发标记的记录按时间对每个数组元素初始化。功能的实施,就是通过对数组元素依次访问,当数组每个元素全部访问,系统再重新自动初始化数组对象。若有在当天预发的情况,则可用插入算法,按照时间链插入在数组中。
6结语
本系统作为某高校学生成绩管理系统的一个子系统,实现了学生的短信查分、教学通知等服务,还为教职工的日程安排、会议通知等提供短信服务,这节省了学校的日常通讯费用,也提高了教务部门的工作效率。
参考文献
[1]潘旭兵,林中.短信收发系统[J].电脑编程技巧与维护.2007(5):44-49
[2]WilliamCrawford,JonathanKaplan著,刘绍华,毛天露译.J2EE设计模式[M].中国电力出版社,2005
[3]DeepakAlur,JohnCrupi,DanMalks著,刘天北,熊节等译.J2EE核心模式(第二版).机械工业出版社,2005
[4]郭文生,杜军平,尹怡欣,基于J2EE的旅游电子商务平台的设计研究[J].计算机应用与软件.2007(2):118-120
一般来说,嵌入式软件的开发环境需要在交叉编译的条件下完成,于此同时在开发过程中还需要利用PC机与目标机之间的通信管道。此外,代码优化器、连接器、代码编辑器等都是嵌入式软件开发环境中的必备品。目前,在我国国内嵌入式系统产品已经逐渐发展成为了较大的产业群,但是系统的设计方法相对还是比较滞后。具体表现在,产品相同,但软、硬件的使用却不同,这使得软件维护以及软件设计成本都有所增加。而嵌入式软件的设计在可预测性、上市时间、服务质量等方面都必须满足用户的需求,并且要进行非常严格的资源限制,例如,CORBA系统,EJB系统都比较复杂并且较为庞大,会带给平台较重的负担。以平台视野设计嵌入式软件时,其主要的设计思想就是复用,并将模块化、复用、分层、接口规范等方法作为基本设计方法。
2平台视野下嵌入式软件系统的层次结构
嵌入式软件系统是以系统的可配置性、移植性以及重用性作为目标的,这些目标可以有效的根据其性能、功能的需求对平台软件功能进行裁剪。其特点决定了其开发没有统一的标准和规范,这带给嵌入式软件非常巨大的困难。以平台视野作为基础是一种非常好的设计理念,在平台视野下设计嵌入式软件一般可以将软件划分成六个不同层次进行设计,分别是硬件抽象层HAL、BootLoader层、ROMMonitor交叉监控调试层、硬件驱动层、嵌入式实时操作系统层以及中间件和应用关于平台视野下嵌入式软件设计方法分析刘静湖南工程职业技术学院信息工程系湖南长沙410075软件层,每个层次都将发挥自身的功能并且为上一个层次提供支持,这种设计原理不仅提高了软件的开发效率,而且软件自身的重用性和移植性也得以有效的发挥。如图2所示:图2标准嵌入式软件系统的体系层次结构
3以T-Kernel平台为基础嵌入式软件设计与实现
3.1平台简介
以T-Kernel平台为基础嵌入式软件系统硬件平台是由稳定性能极强的手持扫描设备PDT构成的,一般情况下PDT部件主要由以太口、28键键盘、SC4510CPU、条码扫描设备以及LED屏等设备构成。其CPU的基础应用系统性价比非常高,其核心是以太网RISC微控制器,这种控制器是16/32位。如果系统对功耗有非常高的要求或者对价位有所控制,使用这种控制器是最为合适的。除此之外,这种处理器还拥有方便调试、方便开发、使用便携、适用功耗较高、支持多种操作系统等特点。
3.2以T-Kernel为基础的软件系统结构
以T-Kernel平台为基础对嵌入式软件进行设计时,将以层次化嵌入式软件设计和软件层次结构的设计方法得到实现。此软件系统是由上述嵌入式系统的六个层次构成的,其虽然声明、抽象并且定义了ROMMonitor层和BootLoader层的有关信息,但并未对HAL层进行单独的定义。软件系统的硬件可以通过Bootloader层得到初始化,并且此层能够加载引导OS,为OS运行的提供必要环境,同时能将陷阱、异常、中断情况都予以解决。软件中操作寄存器和储存器都是由H-Monitor层完成的,其目标就是通过反汇编、数据加载、I/O口操作、跟踪执行等步骤完成具体监控和调试。而T-Kernel软件系统则分别由T-Kernel/OS,T-Kernel/SM,T-Kernel/DS三个不同部分组成,其功能非常广泛,不仅能对OS基本功能进行实时控制,而且能进行任务管理和资源分配,为整个系统供应程序驱动接口,并且对总体系统进行管理并且调试。
3.3BootLoader与中断处理程序的实现
第一,BootLoader的设计与实现,一般情况下由S3C4510B作为开发板CPU的主要核心,在复位或者加电系统时第一条指令可以通过地址0x0获取,与此同时能够以CPU作为基础,对开发板进行基本构建,同时可以在预先安排的地址中映射FLASH。所以,系统加电后FLASH将首先执行CPU发出的BootLoader程序。S3C4510B的主要功能是将系统殊功能寄存器、片外存储器、片内存储器等进行统一编址,并通过64MB的地址空间映射出来,这样更加方便管理,用户只需通过设置尾指针和基指针就能达到映射存储器的目的。
第二,实现BootLoader层功能的流程,首先设置入口指针,在整套程序启动之前,要先将指针进行定义,对于这一整套程序而言入口指针仅有一个,而选择入口点时一般将程序编译链接中向量链接出现异常的部分,比如:0x0地址处作为整个程序的入口点。其次,设置异常中断向量表,在设置向量表时ARM处于中断情况,此时必须将向量表保持在0至8×4字节的空间内,在此区间内非中断向量为,数据存取错误、软件中断、IRQ、复位、FIQ、数据存取错误、未定义指令错误等。最后,初始化存储系统,此系统能够根据存储器的情况有针对的初始化寄存器,然后将某部分存储器的基指针设置为前一个存储器的尾指针地址,当控制并且设定寄存器时,需要注意即使各组之间出现禁用情况,相连的存储器空间地址也不能出现重叠的现象。一般情况下将基指针向左移动16位,也就是每组的起始物理地址,而将尾指针向左移动16位-1其数据就为每组末尾的物理地址。
4结束语
为了激发学生的兴趣,可以采用Funcode平台进行课程设计。Funcode平台是一款基于游戏设计和动画界面的C\C++\Java综合实验教学平台,该平台以游戏设计为“噱头”,吸引学生的学习兴趣,虽然如此,该平台通过精选大量的游戏案例,还是很好地将程序设计知识点和游戏设计紧密地结合起来,始终紧扣C语言知识点,为C语言课程设计教学提供了一个很好的工具。
1.1图形方式的游戏界面编辑Funcode平台采用图形界面方式的游戏编辑环境,直观、美观、简洁易用。图1所示为正在设计中的游戏,左侧矩形框中为最终运行时可见的游戏界面,可以从右侧中的“鱼”(Funcode中称为“精灵”,任何类似的图片都是精灵,不同的精灵以精灵名区分)中任意拖拽一条“鱼”到左侧矩形框中,即可在游戏界面中增加一条鱼。
1.2提供功能函数,屏蔽对图形的复杂处理Funcode平台提供了大量功能函数,屏蔽对图形对象的复杂处理,使学生能够专注于程序设计和游戏逻辑功能的实现。例如:功能函数voiddSetSpriteLinearVelocityX(constchar*szName,constfloatfVelX)可以使精灵以某一速度水平运动。让图1左侧中的鱼(假设该鱼命名为fish0)游动起来,学生只需用一条函数调用语句dSetSpriteLinearVeloctyX(“fish0”,30)即可实现;亦可通过调用功能函数dSetSpriteLinearVelocity(“fish0”,30,30)使鱼水平方向和垂直方向分速度均为30,即在屏幕上“斜向”游动;功能函数dSetSpriteFlipX(“fish0”,true)调用可以使鱼水平翻转,即实现“掉头”功能。
1.3整体逻辑框架简洁,功能强大Funcode平台整体逻辑框架由7个主要函数模块组成,分别是主函数模块、鼠标移动事件模块、鼠标单击事件模块、按键事件模块、按键弹起事件模块、对象碰撞事件模块、对象与边界碰撞事件模块。其主函数模块如以下程序代码所示,通过主函数模块控制整个游戏的运行和界面刷新。其他的6个函数模块几乎包含了游戏设计中需要处理的所有事件,并且向学生屏蔽了事件激发所需要的复杂判断过程,所有的鼠标事件、键盘事件、碰撞事件均为自动激发,这很大程度上降低了设计难度,使学生可以专注于游戏逻辑功能的实现。例如:要实现图1中的“鱼”游到右侧边界时掉头向左游逻辑功能,在Funcode平台下,当图1中的“鱼”游到右侧边界时,“对象与边界碰撞”模块将会自动激发,该模块的初始程序代码如下所示。此时,学生无需判断和处理“鱼”是否游到边界(这对大学一年级学生而言比较困难),只需要知道“鱼”游到边界后会自动调用“对象与边界碰撞”模块对应的dOnSpriteColWorldLimit函数即可。因此,学生只要能够根据游戏功能在该函数中正确地编写相应的代码就可以了,具体实现“掉头向左游”逻辑功能的完整程序代码如下所示。显然,这样就极大地简化了对图形对象和事件的处理,学生就可以把更多的精力投入到游戏逻辑功能的实现和代码的编写和调试中。
1.4开放式环境,极大地激发学生创新能力Funcode提供了开放式的开发环境,除了完成Funcode提供的课程设计案例以外,学生也可以按照自己的思路,添加素材,大胆创新,设计和开发真正属于自己的游戏,这样能极大地激发学生的程序设计热情。例如:一组学生开发的“大鱼吃小鱼”游戏,当大鱼吃小鱼得分达到一定的分值时,可以生出“鱼宝宝”,尾随大鱼游动,生动有趣。
2教学内容和方法的改革
基于Funcode平台,在教学内容和方法的改革上,以激发学生兴趣,调动学生学习主动性为主要目标,在此基础上,贯穿整个课程设计的各个阶段,采用多种教学方式和方法培养学生各方面的综合素质。
2.1选题阶段在选题内容上,典型游戏设计和自主创新相结合。改变原有的设计内容变为基于Funcode平台游戏设计。设计内容分为两类:一类是典型的可在Funcode平台上实现的游戏,比如坦克大战、打地鼠等;另一类是学生自选题目,要学生根据Funcode平台功能,发挥自己的想象力,创造自己的游戏。教师要通过讨论、引导等方式,鼓励学生自己设计游戏,培养其创新意识和创新能力。题目选定之后,要求学生将游戏整体功能用功能模块和流程图的方式清楚地表示出来,并且要能够准确地描述各模块之间的关系,锻炼学生的抽象思维和逻辑思维能力。在选题方式上,要坚持组内讨论和师生互动相结合。组内讨论有利于游戏功能的完善,有利于发挥所有同学的创新潜力,有利于调动学生参与的积极性。通过教师和学生的讨论交流,教师要控制游戏功能的实现复杂度,既要保证设计的工作量,又要保证控制在可实现的范围内。
2.2设计阶段在课程设计过程中,要避免“学生问,教师答”的教学模式,教师要积极地参与到所有学生的设计中,主动和学生交流讨论,掌握他们的设计情况;善于通过引导启发,培养学生各方面的综合素质。在设计中,要及时发现并指出存在的问题;对于学生提出的问题,要善于引导他们积极独立思考,尽量让其自主分析,找到原因,进而找到解决问题的方法,这一方面可以培养学生独立思考,分析问题和解决问题的能力,另一方面可以增强学生的成就感和自信心,有利于调动学生参与实践的热情。对于游戏功能的实现,要让学生画出流程图或实现步骤,体会程序设计中的抽象思维和逻辑思维。比如对于“打飞虫”游戏,当“拍子”拍中“飞虫”时,对应Funcode抽象概念为“拍子”对象和“飞虫”对象发生碰撞事件,由于碰撞事件自动激发,所以拍中“飞虫”后对应的游戏功能实现逻辑应该在碰撞事件中表达。对于该碰撞事件的处理,要求学生首先画出拍中“飞虫”后的处理逻辑,体会程序设计中的逻辑思维。比如:使“飞虫”图像从界面消失在“飞虫”链表中删除该飞虫显示拍效根据拍中的“飞虫”类型计分刷新游戏界面上显示的实时得分值。课程设计要求按组进行,设计中要求分工合理,任务明确,紧密协作,严格按照日程安排,完成设计任务。要求每2天一次,将每人独立设计的模块进行整合并测试,同时要求学生定期开展讨论,鼓励他们对设计中存在的问题,积极和同组同学交流沟通,要善于发挥集体的力量,解决问题。在协作设计中,培养学生的团队合作意识。此外,在游戏的设计过程中,必然会存在一些较难实现或者知识点超出课本内容的功能,从经验来看,大多数学生都会无奈地选择放弃该功能。此时,教师一定要向学生强调自主学习的重要意义,让他们认识到课堂教学中讲的内容大多是最基础的核心知识点,而实际的应用中要涉及的知识却远非如此,并积极鼓励和指导学生学习和掌握相关知识点。
2.3考评阶段为了进一步培养学生兴趣,调动其积极性,考核采用每组分别进行讲解和演示,交流心得体会,其他组同学和教师进行打分的形式。打分项分为游戏功能、工作量、流畅性、创新性、美观性等5个方面。演示中鼓励其他组的同学提问和试玩游戏,尽量找出游戏设计的缺陷,通过多种方式培养学生的展示能力和竞争意识。最后,教师再进行总结性点评,指出设计的优缺点。
3教学效果
从调动学生学习积极性方面来看,在整个课程设计过程中,学生始终保持着极高的热情。教师为课程设计建立了QQ群,提供全天答疑服务,从QQ群讨论情况来看,学生提问很多,讨论热烈,而且绝大多数在课外时间。此外,课程设计结束后,很多学生指出,Funcode平台美中不足的是:自己创造出的游戏最终生成的可执行程序离开Funcode平台不能运行,非常令人遗憾。这也可以从一个侧面反映了学生的热情和对自己劳动成果的珍惜。从课程设计内容来看,学生大多是按照自己的想法设计的,游戏功能可谓五花八门,创新能力得到了很好的培养和锻炼。更重要的一点是达到了课程设计的教学目的,学生对程序设计的理解更加深刻,巩固了C语言学习成果,能够将游戏功能的实现逻辑用计算机语言准确地表达出来。在程序设计中遇到的具体问题,学生能够提出自己的解决思路,并通过编写程序表达自己的思路,很好地将课堂上学到的理论知识应用于实际问题的解决,抽象思维和逻辑思维能力、程序设计实践动手能力均得到了很好的锻炼。例如:图2所示为学生设计的游戏初始界面。该游戏实现的功能有:游戏实时倒计时;游戏实时显示得分;通过键盘控制游戏的开始、暂停和游戏场景的切换;用鼠标控制“拍子”进行移动和拍打;打到大蚊子、小蚊子积分不同,打到坚果则减分,且打中目标有图片特效产生;蚊子的产生地点、时间、数量和产生时的飞行速度都是随机的,且飞行速度随着积分级别越来越快;游戏结束时显示得分最高的三条历史记录等。此游戏中,学生自己编写代码(不包括自动生成的代码)行数在800行以上,使用的C语言知识点涵盖了数组、链表、函数、变量作用域、多分支结构、循环结构等。
4结语
摘要:通过对科技基础条件平台的内涵、功能及所处的经济、社会环境等方面的分析,论证了国家作为科技基础条件平台建设主体的合理性,从经济角度分析了科技基础平台的使用收费问题,讨论了确定服务收费标准的论据及建立相应的资助补贴制度等问题,并就如何构建内生的平台建设运行的激励机制提出了对策性建议。
1.国家科技基础条件平台的经济属性分析
1)国家科技基础条件平台的内涵。
2005年4月国务院办公厅转发了科技部等四部委《2004-2010年国家科技基础条件平台建设纲要》,标志着国家科技基础条件平台建设工作全面启动。其指导思想是以全面提高国家科技能力和增强国家国际竞争力为目标,以改革为动力,以建立共享机制为核心,以资源系统整合为主线,坚持以人为本,充分运用现代信息技术和利用国际资源,搭建具有公益性、基础性、战略性的科技基础条件平台,改善科技创新环境,增强科技发展能力,为科技长远发展与重点突破提供强有力的支撑。我国科技基础条件平台建设的目标是:“充分运用信息、网络等现代技术,对科技基础条件资源进行战略重组和系统优化,以促进全社会科技资源高效配置和综合利用,提高科技创新能力。”国家科技基础条件平台建设包括下列三方面的内容:由大型科技基础设施及研究基地、自然科技资源、科技数据和文献资源、科技成果转化基地、网络科技环境等组成物质与信息保障系统;以共享为核心,支持、保障平台顺利运行的制度体系;以科技服务为目标的专业化的人才队伍和组织机构。国家科技基础条件平台具有公益性、基础性、战略性特点。根据上述建设目标,预期国家科技基础条件平台将在改善我国科技创新环境、增强科技发展能力、激励自主创新、促进实现重大科技突破方面,发挥重要作用。
当前,我国科技基础条件平台建设的重点内容包括:①研究实验基地和大型科学仪器、设备共享平台;②自然科技资源平台;③科学数据共享平台;④科技文献共享平台;⑤成果转化公共服务平台;⑥网络科技环境平台。从这些建设内容来看,国家科技基础条件平台将为科技发展服务,即国家科技基础条件平台要为全社会的科技创新活动提供有效、高质、公平的服务。服务对象为社会公众,包括个人、企业、科研机构、政府部门等。那么,这样一种服务具有什么样的经济属性?这种服务应由谁(市场、政府、或者第三部门)来有效提供?
2)国家科技基础条件平台的经济属性。
经济学通常依据一个产品或一项服务是否具有排他性及竞争性,或是否具有正外部性,将其划分为私人物品或公共物品。经济学理论告诉我们公共物品的有效提供通常需要政府行为,而私人物品则可以由市场有效提供。从技术层面看,一方面,国家科技基础条件平台所提供的服务(产品)可以“排他”,即从技术上可以实现对直接用户权限的有效识别和控制,比如,未经产品提供者授权的个人或组织,提供者可以识别并拒绝使用。另一方面,国家科技基础条件平台所提供的服务(产品)有一定的“竞争性”,而竞争性强弱取决于平台提供服务的能力及特点。这表明,从技术上讲,科技基础条件平台所提供的服务(产品)不是严格意义上的公共物品,其属性更接近于私人物品或自然垄断物品。于是,按照经济学理论,科技基础条件平台可以通过市场或有规律的市场来有效提供。但事实上,载止目前在我们国家并没有出现自发性科技基础条件平台服务的市场,造成这种现象的原因是什么?是没有需求?还是没有供给?还是没有有效的市场制度?
据国家科技部组织的多次调查,社会各界对科技基础条件平台服务具有很大的需求。以企业为例,一方面,由于技术创新具有高收益的特性,企业具有较强的寻求技术创新的动机,另一方面,技术创新具有高投入、高风险的特性,对单个或个别企业而言,需要风险规避途径。建设共享式科技基础条件平台,是化解企业在开发技术创新时所面临的高投入、高风险瓶颈的有效手段。
面对如此巨大的需求,为什么没有出现有效的市场供给?从经济学的角度来看,其原因可以归结为①尽管在技术上科技基础条件平台服务对其直接用户有“排他性”和部分竞争性,但由于这种服务对于整个社会而仍具有较强的间接“公益性”,即“正外部性”,从而导致提供这种服务的社会成本小于其生产成本,社会收益大于直接用户的收益:在缺乏对于这中外部性的有效补偿机制的条件下,必然导致市场供给失灵。②科技基础条件平台服务具有高风险特点。由于科技创新固有的难以准确预期的高风险(不确定性)特点,科技创新所需的基础条件平台服务相应的也就存在用户需求难以识别和界定、产品(服务)生产具有很大的不确定性等特点。化解这种风险的有效手段就是建立一套风险分担机制——联合生产,即由于多个市场主体联合提供,但在现实中,由于科技基础条件服务具有与科研创新类似的特点,易导致合作方之间产生信息不对称,加大了谈判和执行难度。这种高风险和信息不对称可导致市场供给失灵。③科技基础条件平台服务的提供既涉及到政府拥有的大量公共科技资源,又涉及到私人拥有的各类科技资源,在一些体制性因素和制度性因素制约下,独立的市场主体难以有效整合这些资源。特别是在政府各部门所拥有公共科技资源共享制度缺失的条件下,科技基础条件平台服务的市场供给难以实现。
综上所述,在当前条件下,我国科技基础条件平台建设只能由政府主导,发挥政府行政体系在整合政府所拥有的大量公共资源方面的重要作用,在此过程中,积累经验,进行科技资源利用方面的制度创新,并逐渐引入市场机制,以形成政府与市场互补、协调节器有效的科技条件平台服务体系。
2科技基础条件平台的服务分类及收费
1)收费的合理性。
在当前我国政府主导进行的科技基础条件平台建设中,一方面要充分发挥行政系统功能,整合国家所有的公共科技资源交向社会公众开放,这是建设我国科技基础条件平台的重要突破口;另一方面,要利用市场机制,为参与科技基础条件平台建设的各方提供合理、必要的经济激励。前者的难点在于如何突破我国长期形成的公共科技资源条块分割,特别是系统、部门专有、专用的垄断状况;后者的难点在于如何建立合理的共享式科技基础平台服务收费标准及收费制度。这里我们着重讨论后一问题。
共享式公共科技基础条件平台服务收费制度应该体现两个价值追求——效率和公平,可以说这是收费的原则。从效率的角度来看,收费制度应有利于经济福利的最大化。这就需要通过适当的途径对科技基础条件平台服务的用户进行分类,识别出最有利于增加社会经济福利的用户并优先为其提供服务,以实现资源配置经济上的最优化。通常在完善市场的条件下,可以通过“价高者得”的竞争性定价机制实现。当存在市场垄断、外部性、信息不对称等情况时,就需要政府等通过规制非市场方式进行干预。从公平的角度来看,收费制度应有利于社会公正与平等。免费或按能力付费的原则通常被认为有利于实现社会公平。同时,按照效率及公平的原则,共享式科技基础条件平台服务应该区分不同服务内容和服务目的,合理收费。
2)科技资源的分类计费原则。
参照《国家科学数据共享工程专题研究报告》中对科学数据的分级坐标体系的构建成思路,对科技资源可以进行如下分类。①从所有者的性质看,科技资源可分为以下三种:国有科技资源:指由国家投资,以财政拨款或国家项目经费形式形成的科技资源,所有权归属国家所有,是国有资产的一种重要形式,合有科技资源:企业事业单位在完成科研任务的经费构成中,以国家财政拨款为主,不足部分中集体积累或向私人筹资等方式解决而形成的科技资源;私有科技资源。②按照科技资源使用者的性质,可分为以下三种:公务使用:即政府机构为开展公务需要使用的科技资源:公益使用:社会公益性事业。如科学研究、教育、福利或慈善组织开展公益性活动需要作用科技资源以及公众在生产生活中需要使用科技资源:经营性使用:企业或赢利事业开展经营商业活动需要使用科技资源。
目前,我国科技资源的绝大部分均为国有科技资源,而私有科技资源在整个科技资源存量中所占额甚小,但随着社会主义市场经济的发展和社会信息化程度的提高,未来私有科技资源的比重将逐渐增大。参照国际惯用策略,特别强调国有科技资源的无偿共享,而对于私有科技资源,各国通常的作法是在鼓励分开、公用的前提下允许商业性有偿服务。一般而言,基于国有科技资源的公务使用,应无限制、免费提供无偿使用(有保密规定的例外),对于公益性使用,包括社会公益事业和公众,应无偿提供或以成本价提供,对于企业赢利性质的使用,应以商业有偿服务方式提供。
对于基于国有科技资源,面向盈利性机构或个人专用服务,应按照公平原则,收取相应的国有科技资源部分成本补偿费。对于基于非国有科技资源,面向政府及非盈利性机构或个人的非专用,政府从公共财政中给予成本补贴,或由用户通过适当付费来分担成本。对于基于非国有科技资源,面向盈利性机构或个人的专用,应按照“成本分担,收益共享”的原则,参照市场机制收取相应的费用。
3.收费标准的确定及政府资助补贴制度建设
鉴于由政府主导的共享科技基础条件平台服务具有准公共产品及自然垄断的我,在通过制度创新和行政干预的方式促进科技基础条件平台建设,增加(确保)服务供给的同时,构建合理的收费制度,确定适当的收费标准,以及制定公共财政对平台建设及运行的资助补贴制度,形成生的经济激励机制,是确保平台有效运行的重要条件。为确保收费标准的合理性,收费标准的确定通常还需要通过由政府有关主管部门官员主持,用户代表,平台资源供应者代表,独立身份的同行专家代表参加的价格听证。
制定平台服务收费标准的方法包括:
1)基于成本补偿的收费标准。在确定基于成本补偿的收费标准时,对服务成本的界定和估算是关健性环节。通常需要区分源于公共科技资源的成本与源于非公共资源(集体或个人)的成本;确定成本的方法可采用实际支出核算法、参与市场成本法、同行专家估算法等。
2)基于市场机制的收费标准,由于科技基础条件平台服务具有准公共物品或自然垄断的性质,在确定其收费标准时,可以参考市场机制(市场信息),实行有规制的市场定价。例如:参考市场信息确定服务的成本及投资收益率,确定有管制的(允许在一定范围内自由浮动的)由供求关系调节的收费标准。